pax_global_header00006660000000000000000000000064145473317230014523gustar00rootroot0000000000000052 comment=23738928bb88dab1891fe34a5ee68a6009951802 python-maxminddb-2.5.2/000077500000000000000000000000001454733172300150135ustar00rootroot00000000000000python-maxminddb-2.5.2/.clang-format000066400000000000000000000001521454733172300173640ustar00rootroot00000000000000BasedOnStyle: LLVM IndentWidth: 4 BinPackArguments: false BinPackParameters: false IndentCaseLabels: true python-maxminddb-2.5.2/.github/000077500000000000000000000000001454733172300163535ustar00rootroot00000000000000python-maxminddb-2.5.2/.github/dependabot.yml000066400000000000000000000003241454733172300212020ustar00rootroot00000000000000version: 2 updates: - package-ecosystem: pip directory: "/" schedule: interval: daily open-pull-requests-limit: 10 - package-ecosystem: "github-actions" directory: "/" schedule: interval: daily python-maxminddb-2.5.2/.github/workflows/000077500000000000000000000000001454733172300204105ustar00rootroot00000000000000python-maxminddb-2.5.2/.github/workflows/address-sanitizer.yml000066400000000000000000000023561454733172300245740ustar00rootroot00000000000000name: Run Address Sanitizer on: push: pull_request: schedule: - cron: '13 15 * * SUN' jobs: build: name: Address Sanitizer runs-on: ubuntu-latest env: ASAN_OPTIONS: strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:detect_invalid_pointer_pairs=2:detect_leaks=0 CC: clang CFLAGS: -fsanitize=address -Wall -Wextra -Wpedantic -Wformat=2 -Walloca -Wvla -Wimplicit-fallthrough -Wcast-qual -Wconversion -Wshadow -Wundef -Wstrict-prototypes -Wswitch-enum -fstack-protector -D_FORTIFY_SOURCE=2 -Werror LDFLAGS: -fsanitize=address steps: - name: Checkout uses: actions/checkout@v4 with: submodules: true - name: Set up Python uses: actions/setup-python@v5 with: python-version: 3.12 - name: Install dependencies run: | python -m pip install --upgrade pip pip install pytest setuptools wheel - name: Install run: pip install . env: CFLAGS: "-Werror -Wall -Wextra" MAXMINDDB_REQUIRE_EXTENSION: 1 - name: Test run: pytest env: LD_PRELOAD: libasan.so.6 MM_FORCE_EXT_TESTS: 1 python-maxminddb-2.5.2/.github/workflows/clang-analyzer.yml000066400000000000000000000017661454733172300240540ustar00rootroot00000000000000name: Clang Static Analysis on: push: pull_request: schedule: - cron: '3 15 * * SUN' jobs: clang-analyzer: name: Clang Static Analysis runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: submodules: true - name: Install clang-tools run: sudo apt install clang-tools - name: Set up Python uses: actions/setup-python@v5 with: python-version: 3.12 - name: Install dependencies run: | python -m pip install --upgrade pip pip install setuptools wheel - name: Build and run analyzer # We exclude extension/libmaxminddb/ as libmaxminddb has its own workflow # for this and we are not able to correct any issues with that code here. run: scan-build --exclude extension/libmaxminddb/ --status-bugs python setup.py build env: CFLAGS: "-Werror -Wall -Wextra" MAXMINDDB_REQUIRE_EXTENSION: 1 python-maxminddb-2.5.2/.github/workflows/codeql-analysis.yml000066400000000000000000000027741454733172300242350ustar00rootroot00000000000000name: "Code scanning - action" on: push: branches-ignore: - 'dependabot/**' pull_request: schedule: - cron: '0 18 * * 0' jobs: CodeQL-Build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. fetch-depth: 2 submodules: true # If this run was triggered by a pull request event, then checkout # the head of the pull request instead of the merge commit. - run: git checkout HEAD^2 if: ${{ github.event_name == 'pull_request' }} # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL uses: github/codeql-action/init@v3 # Override language selection by uncommenting this and choosing your languages with: languages: python, cpp # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines # and modify them (or add more) to build your code if your project # uses a compiled language - name: Install dependencies run: | python -m pip install --upgrade pip pip install setuptools wheel - run: python setup.py build env: MAXMINDDB_REQUIRE_EXTENSION: 1 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3 python-maxminddb-2.5.2/.github/workflows/release.yml000066400000000000000000000027151454733172300225600ustar00rootroot00000000000000name: Build and upload to PyPI on: workflow_dispatch: pull_request: push: branches: - main release: types: - published jobs: build_wheels: name: Build wheels on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] steps: - uses: actions/checkout@v4 with: submodules: true - name: Build wheels uses: pypa/cibuildwheel@v2.16.2 env: CIBW_BUILD_VERBOSITY: 1 MAXMINDDB_REQUIRE_EXTENSION: 1 - uses: actions/upload-artifact@v4 with: name: maxminddb-whl-${{ matrix.os }} path: ./wheelhouse/*.whl build_sdist: name: Build source distribution runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: true - name: Build sdist run: pipx run build --sdist - uses: actions/upload-artifact@v4 with: name: maxminddb-sdist path: dist/*.tar.gz upload_pypi: needs: [build_wheels, build_sdist] runs-on: ubuntu-latest environment: release permissions: id-token: write if: github.event_name == 'release' && github.event.action == 'published' steps: - uses: actions/download-artifact@v4 with: pattern: maxminddb-* path: dist merge-multiple: true - uses: pypa/gh-action-pypi-publish@release/v1 python-maxminddb-2.5.2/.github/workflows/test-libmaxminddb.yml000066400000000000000000000026741454733172300245530ustar00rootroot00000000000000name: Python tests (system libmaxminddb) on: push: pull_request: schedule: - cron: '3 15 * * SUN' jobs: build: strategy: matrix: # We don't test on Windows currently due to issues # build libmaxminddb there. platform: [macos-latest, ubuntu-latest] python-version: [3.8, 3.9, "3.10", 3.11, 3.12] name: Python ${{ matrix.python-version }} on ${{ matrix.platform }} runs-on: ${{ matrix.platform }} env: MAXMINDDB_REQUIRE_EXTENSION: 1 MAXMINDDB_USE_SYSTEM_LIBMAXMINDDB: 1 MM_FORCE_EXT_TESTS: 1 steps: - name: Checkout uses: actions/checkout@v4 with: submodules: true - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install setuptools tox tox-gh-actions wheel - name: Install libmaxminddb run: sudo apt install libmaxminddb-dev if: matrix.platform == 'ubuntu-latest' - name: Install libmaxminddb run: brew install libmaxminddb if: matrix.platform == 'macos-latest' - name: Build with Werror and Wall run: python setup.py build env: CFLAGS: "-Werror -Wall -Wextra" - name: Test with tox (system libmaxminddb) run: tox python-maxminddb-2.5.2/.github/workflows/test.yml000066400000000000000000000016511454733172300221150ustar00rootroot00000000000000name: Python tests on: push: pull_request: schedule: - cron: '3 15 * * SUN' jobs: build: strategy: matrix: platform: [macos-latest, ubuntu-latest, windows-latest] python-version: [3.8, 3.9, "3.10", 3.11, 3.12] name: Python ${{ matrix.python-version }} on ${{ matrix.platform }} runs-on: ${{ matrix.platform }} steps: - name: Checkout uses: actions/checkout@v4 with: submodules: true - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install tox tox-gh-actions - name: Test with tox (vendored libmaxminddb) run: tox env: MAXMINDDB_REQUIRE_EXTENSION: 1 MM_FORCE_EXT_TESTS: 1 python-maxminddb-2.5.2/.gitignore000066400000000000000000000003411454733172300170010ustar00rootroot00000000000000*.egg *.iml *.pyc *.so *.sw? *~ .coverage .eggs .idea .pyre .tox build compile_flags.txt core dist docs/_build docs/doctrees docs/html env/ MANIFEST maxminddb.egg-info/ pylint.txt valgrind-python.supp violations.pyflakes.txt python-maxminddb-2.5.2/.gitmodules000066400000000000000000000003141454733172300171660ustar00rootroot00000000000000[submodule "tests/data"] path = tests/data url = https://github.com/maxmind/MaxMind-DB [submodule "extension/libmaxminddb"] path = extension/libmaxminddb url = git@github.com:maxmind/libmaxminddb.git python-maxminddb-2.5.2/.pylintrc000066400000000000000000000001131454733172300166530ustar00rootroot00000000000000[BASIC] no-docstring-rgx=_.* extension-pkg-allow-list=maxminddb.extension python-maxminddb-2.5.2/.readthedocs.yaml000066400000000000000000000001021454733172300202330ustar00rootroot00000000000000version: 2 build: os: ubuntu-22.04 tools: python: "3.12" python-maxminddb-2.5.2/HISTORY.rst000066400000000000000000000243621454733172300167150ustar00rootroot00000000000000.. :changelog: History ------- 2.5.2 (2024-01-09) ++++++++++++++++++ * The vendored ``libmaxminddb`` version was updated to 1.9.0. This fixes an issue when reading databases with a search tree exceeding 2 GB. Reported by Sami Salonen. GitHub #146. 2.5.1 (2023-11-09) ++++++++++++++++++ * This is a re-release of 2.5.0 to address missing files from the sdist. Reported by Lumír 'Frenzy' Balhar. GitHub #132. 2.5.0 (2023-11-08) ++++++++++++++++++ * IMPORTANT: Python 3.8 or greater is required. If you are using an older version, please use an earlier release. * Windows is now supported by the C extension. * The ``Reader`` class now implements the ``__iter__`` method. This will return an iterator that iterates over all records in the database, excluding repeated aliased of the IPv4 network. Requested by Jean-Baptiste Braun and others. GitHub #23. * The multiprocessing test now explicitly uses ``fork``. This allows it to run successfully on macOS. Pull request by Theodore Ni. GitHub #116. * A vendored copy of ``libmaxminddb`` will now be used by default when building the extension. If you wish to continue using the system shared library, you may set the ``MAXMINDDB_USE_SYSTEM_LIBMAXMINDDB`` environment variable to a true value when building the extension. * The C extension now builds on Python 3.13. * The C extension will now be built for PyPy. 2.4.0 (2023-06-28) ++++++++++++++++++ * Package metadata was migrated from ``setup.py`` to ``setup.cfg``. GitHub #113. * The C extension now decrements the reference count on an object containing the database filename after its use in an error message rather than before. Pull request by Lumír 'Frenzy' Balhar. GitHub #114. 2.3.0 (2023-05-09) ++++++++++++++++++ * IMPORTANT: Python 3.7 or greater is required. If you are using an older version, please use an earlier release. * ``distutils`` is no longer used for building the C extension. * Missing ``Py_INCREF`` was added to module initialization for the C extension. Pull request by R. Christian McDonald. GitHub #106. 2.2.0 (2021-09-24) ++++++++++++++++++ * The return type for ``maxminddb.open_database()`` has been simplified to be just the ``Reader`` class as opposed to a union of that with the extension class. This is done by casting the extension to ``Reader``. The extension class has the same public API as the pure Python implementation. This simplifies type checking for users of this library. The ``Reader`` class is exposed as ``maxminddb.Reader``. Pull request by wouter bolsterlee. GitHub #88. * ``maxminddb.__all__`` is now set to define a public API. Pull request by wouter bolsterlee. GitHub #88. * Fix minor regression in ``repr`` output of ``maxminddb.reader.Metadata`` in 2.1.0. 2.1.0 (2021-09-18) ++++++++++++++++++ * The C extension now correctly supports objects that implement the ``os.PathLike`` interface. * When opening a database fails due to an access issue, the correct ``OSError`` subclass will now be thrown. * The ``Metadata`` class object is now available from the C extension module as ``maxminddb.extension.Metadata`` rather than ``maxminddb.extension.extension``. * Type stubs have been added for ``maxminddb.extension``. 2.0.3 (2020-10-16) ++++++++++++++++++ * The 2.0.0 release unintentionally required Python to be compiled with ``mmap`` support for the module to work. ``mmap`` is now optional again. Reported by john-heasman-cg. GitHub #76. 2.0.2 (2020-07-28) ++++++++++++++++++ * Added ``py.typed`` file per PEP 561. Reported by Árni Már Jónsson. 2.0.1 (2020-07-22) ++++++++++++++++++ * Fix minimum required python version in ``setup.py``. Pull request by Boros Gábor. GitHub #69 & #70. 2.0.0 (2020-07-21) ++++++++++++++++++ * IMPORTANT: Python 3.6 or greater is required. If you are using an older version, please use a 1.x.x release. * Type hints have been added. 1.5.4 (2020-05-05) ++++++++++++++++++ * 1.5.3 was missing a test database. This release adds the test file. There are no other changes. Reported by Lumír 'Frenzy' Balhar. GitHub #60. 1.5.3 (2020-05-04) ++++++++++++++++++ * Fix a segfault when decoding a database with a corrupt data section. Reported by Robert Scott. GitHub #58. 1.5.2 (2019-12-20) ++++++++++++++++++ * Minor performance improvements in the pure Python reader. 1.5.1 (2019-09-27) ++++++++++++++++++ * Fix a possible segfault due to not correctly incrementing the reference on a returned object. 1.5.0 (2019-09-27) ++++++++++++++++++ * Python 3.3 and 3.4 are no longer supported. * The extension source directory was moved to prevent an ``ImportWarning`` when importing the module on Python 2 with ``-Wdefault`` set. Reported by David Szotten and Craig de Stigter. GitHub #31. * The ``get`` method now accepts ``ipaddress.IPv4Address`` and ``ipaddress.IPv6Address`` objects in addition to strings. This works with both the pure Python implementation as well as the extension. Based on a pull request #48 by Eric Pruitt. GitHub #50. * A new method, ``get_with_prefix_len``, was added. This method returns a tuple containing the record and the prefix length. 1.4.1 (2018-06-22) ++++++++++++++++++ * Fix test failure on Python 3.7. Reported by Carl George. GitHub #35. 1.4.0 (2018-05-25) ++++++++++++++++++ * IMPORTANT: Previously, the pure Python reader would allow ``ipaddress.IPv4Address`` and ``ipaddress.IPv6Address`` objects when calling ``.get()``. This would fail with the C extension. The fact that these objects worked at all was an implementation detail and has varied with different releases. This release makes the pure Python implementation consistent with the extension. A ``TypeError`` will now be thrown if you attempt to use these types with either the pure Python implementation or the extension. The IP address passed to ``.get()`` should be a string type. * Fix issue where incorrect size was used when unpacking some types with the pure Python reader. Reported by Lee Symes. GitHub #30. * You may now pass in the database via a file descriptor rather than a file name when creating a new ``maxminddb.Reader`` object using ``MODE_FD``. This will read the database from the file descriptor into memory. Pull request by nkinkade. GitHub #33. 1.3.0 (2017-03-13) ++++++++++++++++++ * ``maxminddb.Reader`` and the C extension now support being used in a context manager. Pull request by Joakim Uddholm. GitHub #21 & #28. * Provide a more useful error message when ``MODE_MMAP_EXT`` is requested but the C extension is not available. 1.2.3 (2017-01-11) ++++++++++++++++++ * Improve compatibility with other Python 2 ``ipaddress`` backports. Although ``ipaddress`` is highly recommended, ``py2-ipaddress`` and ``backport_ipaddress`` should now work. Incompatibility reported by John Zadroga on ``geoip2`` GitHub issue #41. 1.2.2 (2016-11-21) ++++++++++++++++++ * Fix to the classifiers in ``setup.py``. No code changes. 1.2.1 (2016-06-10) ++++++++++++++++++ * This module now uses the ``ipaddress`` module for Python 2 rather than the ``ipaddr`` module. Users should notice no behavior change beyond the change in dependencies. * Removed ``requirements.txt`` from ``MANIFEST.in`` in order to stop warning during installation. * Added missing test data. 1.2.0 (2015-04-07) ++++++++++++++++++ * Previously if ``MODE_FILE`` was used and the database was loaded before forking, the parent and children would use the same file table entry without locking causing errors reading the database due to the offset being changed by other processes. In ``MODE_FILE``, the reader will now use ``os.pread`` when available and a lock when ``os.pread`` is not available (e.g., Python 2). If you are using ``MODE_FILE`` on a Python without ``os.pread``, it is recommended that you open the database after forking to reduce resource contention. * The ``Metadata`` class now overloads ``__repr__`` to provide a useful representation of the contents when debugging. * An ``InvalidDatabaseError`` will now be thrown if the data type read from the database is invalid. Previously a ``KeyError`` was thrown. 1.1.1 (2014-12-10) ++++++++++++++++++ * On Python 3 there was a potential issue where ``open_database`` with ``MODE_AUTO`` would try to use the C extension when it was not available. This could cause the function to fail rather than falling back to a pure Python mode. 1.1.0 (2014-12-09) ++++++++++++++++++ * The pure Python reader now supports an optional file and memory mode in addition to the existing memory-map mode. If your Python does not provide the ``mmap`` module, the file mode will be used by default. * The preferred method for opening a database is now the ``open_database`` function in ``maxminddb``. This function now takes an optional read ``mode``. * The C extension no longer creates its own ``InvalidDatabaseError`` class and instead uses the one defined in ``maxminddb.errors``. 1.0.0 (2014-09-22) ++++++++++++++++++ * First production release. * Two potential C extension issues discovered by Coverity were fixed: - There was a small resource leak that occurred when the system ran out of memory. - There was a theoretical null pointer issue that would occur only if libmaxminddb returned invalid data. 0.3.3 (2014-04-09) ++++++++++++++++++ * Corrected initialization of objects in C extension and made the objects behave more similarly to their pure Python counterparts. 0.3.2 (2014-03-28) ++++++++++++++++++ * Switched to Apache 2.0 license. * We now open the database file in read-only mode. * Minor code clean-up. 0.3.1 (2014-02-11) ++++++++++++++++++ * Fixed packaging problem that caused ``import`` to fail. 0.3.0 (2014-02-11) ++++++++++++++++++ * This release includes a pure Python implementation of the database reader. If ``libmaxminddb`` is not available or there are compilation issues, the module will fall-back to the pure Python implementation. * Minor changes were made to the exceptions of the C extension make them consistent with the pure Python implementation. 0.2.1 (2013-12-18) ++++++++++++++++++ * Removed -Werror compiler flag as it was causing problems for some OS X users. 0.2.0 (2013-10-15) ++++++++++++++++++ * Refactored code and fixed a memory leak when throwing an exception. 0.1.1 (2013-10-03) ++++++++++++++++++ * Added MANIFEST.in 0.1.0 (2013-10-02) ++++++++++++++++++ * Initial release python-maxminddb-2.5.2/LICENSE000066400000000000000000000261361454733172300160300ustar00rootroot00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. python-maxminddb-2.5.2/MANIFEST.in000066400000000000000000000004311454733172300165470ustar00rootroot00000000000000exclude .* .github/**/* dev-bin/* include HISTORY.rst README.rst LICENSE maxminddb/py.typed maxminddb/extension.pyi recursive-include extension/libmaxminddb/include *.h recursive-include extension/libmaxminddb/src *.c *.h recursive-include tests/ *.mmdb *.py *.raw graft docs/html python-maxminddb-2.5.2/README.rst000066400000000000000000000073441454733172300165120ustar00rootroot00000000000000======================== MaxMind DB Python Module ======================== Description ----------- This is a Python module for reading MaxMind DB files. The module includes both a pure Python reader and an optional C extension. MaxMind DB is a binary file format that stores data indexed by IP address subnets (IPv4 or IPv6). Installation ------------ To install maxminddb, type: .. code-block:: bash $ pip install maxminddb If you are not able to use pip, you may also use easy_install from the source directory: .. code-block:: bash $ easy_install . The installer will attempt to build the C extension. If this fails, the module will fall-back to the pure Python implementation. Usage ----- To use this module, you must first download or create a MaxMind DB file. We provide `free GeoLite2 databases `_. These files must be decompressed with ``gunzip``. After you have obtained a database and imported the module, call ``open_database`` with a path, or file descriptor (in the case of ``MODE_FD``), to the database as the first argument. Optionally, you may pass a mode as the second argument. The modes are exported from ``maxminddb``. Valid modes are: * ``MODE_MMAP_EXT`` - use the C extension with memory map. * ``MODE_MMAP`` - read from memory map. Pure Python. * ``MODE_FILE`` - read database as standard file. Pure Python. * ``MODE_MEMORY`` - load database into memory. Pure Python. * ``MODE_FD`` - load database into memory from a file descriptor. Pure Python. * ``MODE_AUTO`` - try ``MODE_MMAP_EXT``, ``MODE_MMAP``, ``MODE_FILE`` in that order. Default. **NOTE**: When using ``MODE_FD``, it is the *caller's* responsibility to be sure that the file descriptor gets closed properly. The caller may close the file descriptor immediately after the ``Reader`` object is created. The ``open_database`` function returns a ``Reader`` object. To look up an IP address, use the ``get`` method on this object. The method will return the corresponding values for the IP address from the database (e.g., a dictionary for GeoIP2/GeoLite2 databases). If the database does not contain a record for that IP address, the method will return ``None``. If you wish to also retrieve the prefix length for the record, use the ``get_with_prefix_len`` method. This returns a tuple containing the record followed by the network prefix length associated with the record. You may also iterate over the whole database. The ``Reader`` class implements the ``__iter__`` method that returns an iterator. This iterator yields a tuple containing the network and the record. Example ------- .. code-block:: pycon >>> import maxminddb >>> >>> with maxminddb.open_database('GeoLite2-City.mmdb') as reader: >>> >>> reader.get('152.216.7.110') {'country': ... } >>> >>> reader.get_with_prefix_len('152.216.7.110') ({'country': ... }, 24) >>> >>> for network, record in reader: >>> ... Exceptions ---------- The module will return an ``InvalidDatabaseError`` if the database is corrupt or otherwise invalid. A ``ValueError`` will be thrown if you look up an invalid IP address or an IPv6 address in an IPv4 database. Requirements ------------ This code requires Python 3.8+. Older versions are not supported. The C extension requires CPython. Versioning ---------- The MaxMind DB Python module uses `Semantic Versioning `_. Support ------- Please report all issues with this code using the `GitHub issue tracker `_ If you are having an issue with a MaxMind service that is not specific to this API, please contact `MaxMind support `_ for assistance. python-maxminddb-2.5.2/dev-bin/000077500000000000000000000000001454733172300163375ustar00rootroot00000000000000python-maxminddb-2.5.2/dev-bin/clang-format-all.sh000077500000000000000000000004661454733172300220240ustar00rootroot00000000000000#!/bin/sh format="clang-format -i -style=file" for dir in extension; do c_files=`find $dir -maxdepth 1 -name '*.c'` if [ "$c_files" != "" ]; then $format $dir/*.c; fi h_files=`find $dir -maxdepth 1 -name '*.h'` if [ "$h_files" != "" ]; then $format $dir/*.h; fi done python-maxminddb-2.5.2/dev-bin/release.sh000077500000000000000000000022341454733172300203170ustar00rootroot00000000000000#!/bin/bash set -eu -o pipefail changelog=$(cat HISTORY.rst) regex=' ([0-9]+\.[0-9]+\.[0-9]+) \(([0-9]{4}-[0-9]{2}-[0-9]{2})\) \+* ((.| )*) ' if [[ ! $changelog =~ $regex ]]; then echo "Could not find date line in change log!" exit 1 fi version="${BASH_REMATCH[1]}" date="${BASH_REMATCH[2]}" notes="$(echo "${BASH_REMATCH[3]}" | sed -n -e '/^[0-9]\+\.[0-9]\+\.[0-9]\+/,$!p')" if [[ "$date" != $(date +"%Y-%m-%d") ]]; then echo "$date is not today!" exit 1 fi tag="v$version" if [ -n "$(git status --porcelain)" ]; then echo ". is not clean." >&2 exit 1 fi perl -pi -e "s/(?<=__version__ = \").+?(?=\")/$version/gsm" maxminddb/__init__.py perl -pi -e "s/(?<=^version = \").+?(?=\")/$version/gsm" pyproject.toml echo $"Test results:" tox echo $'\nDiff:' git diff echo $'\nRelease notes:' echo "$notes" read -e -p "Commit changes and push to origin? " should_push if [ "$should_push" != "y" ]; then echo "Aborting" exit 1 fi if [ -n "$(git status --porcelain)" ]; then git commit -m "Update for $tag" -a fi git push gh release create --target "$(git branch --show-current)" -t "$version" -n "$notes" "$tag" git push --tags python-maxminddb-2.5.2/docs/000077500000000000000000000000001454733172300157435ustar00rootroot00000000000000python-maxminddb-2.5.2/docs/Makefile000066400000000000000000000127101454733172300174040ustar00rootroot00000000000000# Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = _build # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @echo " dirhtml to make HTML files named index.html in directories" @echo " singlehtml to make a single large HTML file" @echo " pickle to make pickle files" @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" @echo " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" @echo " text to make text files" @echo " man to make manual pages" @echo " texinfo to make Texinfo files" @echo " info to make Texinfo files and run them through makeinfo" @echo " gettext to make PO message catalogs" @echo " changes to make an overview of all changed/added/deprecated items" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" clean: -rm -rf $(BUILDDIR)/* html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle @echo @echo "Build finished; now you can process the pickle files." json: $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json @echo @echo "Build finished; now you can process the JSON files." htmlhelp: $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." qthelp: $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp @echo @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/maxminddb.qhcp" @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/maxminddb.qhc" devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @echo "To view the help file:" @echo "# mkdir -p $$HOME/.local/share/devhelp/maxminddb" @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/maxminddb" @echo "# devhelp" epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." latex: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." latexpdf: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." $(MAKE) -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." man: $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." texinfo: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." @echo "Run \`make' in that directory to run these through makeinfo" \ "(use \`make info' here to do that automatically)." info: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo "Running Texinfo files through makeinfo..." make -C $(BUILDDIR)/texinfo info @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." gettext: $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale @echo @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." changes: $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes @echo @echo "The overview file is in $(BUILDDIR)/changes." linkcheck: $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." python-maxminddb-2.5.2/docs/conf.py000066400000000000000000000200531454733172300172420ustar00rootroot00000000000000#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # maxminddb documentation build configuration file, created by # sphinx-quickstart on Tue Apr 9 13:34:57 2013. # # This file is execfile()d with the current directory set to its containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import sys import os sys.path.insert(0, os.path.abspath("..")) import maxminddb __version__ = maxminddb.__version__ # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.insert(0, os.path.abspath("..")) # -- General configuration ----------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = [ "sphinx.ext.autodoc", "sphinx.ext.doctest", "sphinx.ext.intersphinx", "sphinx.ext.coverage", ] # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # The suffix of source filenames. source_suffix = ".rst" # The encoding of source files. # source_encoding = 'utf-8-sig' # The master toctree document. master_doc = "index" # General information about the project. project = "maxminddb" copyright = "2013-2023, MaxMind, Inc." # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. version = __version__ # The full version, including alpha/beta/rc tags. release = __version__ # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: # today = '' # Else, today_fmt is used as the format for a strftime call. # today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = ["_build"] # The reST default role (used for this markup: `text`) to use for all documents. # default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. # add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). # add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. # show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = "sphinx" # A list of ignored prefixes for module index sorting. # modindex_common_prefix = [] # -- Options for HTML output --------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. html_theme = "sphinxdoc" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". # html_title = None # A shorter title for the navigation bar. Default is the same as html_title. # html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. # html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. # html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". # html_static_path = ["_static"] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. # html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # html_use_smartypants = True # Custom sidebar templates, maps document names to template names. # html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. # html_additional_pages = {} # If false, no module index is generated. # html_domain_indices = True # If false, no index is generated. # html_use_index = True # If true, the index is split into individual pages for each letter. # html_split_index = False # If true, links to the reST sources are added to the pages. # html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. # html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. # html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. # html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). # html_file_suffix = None # Output file base name for HTML help builder. htmlhelp_basename = "maxminddbdoc" # -- Options for LaTeX output -------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). #'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). #'pointsize': '10pt', # Additional stuff for the LaTeX preamble. #'preamble': '', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ ("index", "maxminddb.tex", "maxminddb Documentation", "Gregory Oschwald", "manual"), ] # The name of an image file (relative to this directory) to place at the top of # the title page. # latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. # latex_use_parts = False # If true, show page references after internal links. # latex_show_pagerefs = False # If true, show URL addresses after external links. # latex_show_urls = False # Documents to append as an appendix to all manuals. # latex_appendices = [] # If false, no module index is generated. # latex_domain_indices = True # -- Options for manual page output -------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [("index", "maxminddb", "maxminddb Documentation", ["Gregory Oschwald"], 1)] # If true, show URL addresses after external links. # man_show_urls = False # -- Options for Texinfo output ------------------------------------------ # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ( "index", "maxminddb", "maxminddb Documentation", "Gregory Oschwald", "maxminddb", "MaxMind DB Reader", "Miscellaneous", ), ] # Documents to append as an appendix to all manuals. # texinfo_appendices = [] # If false, no module index is generated. # texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. # texinfo_show_urls = 'footnote' # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = { "python": ("https://python.readthedocs.org/en/latest/", None), } python-maxminddb-2.5.2/docs/index.rst000066400000000000000000000013721454733172300176070ustar00rootroot00000000000000.. maxminddb documentation master file, created by sphinx-quickstart on Tue Apr 9 13:34:57 2013. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. .. toctree:: :maxdepth: 3 .. include:: ../README.rst ======= Modules ======= .. automodule:: maxminddb :members: :undoc-members: :show-inheritance: .. automodule:: maxminddb.errors :members: :undoc-members: :show-inheritance: .. automodule:: maxminddb.reader :members: :undoc-members: :show-inheritance: ================== Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` :copyright: (c) 2013-2023 by MaxMind, Inc. :license: Apache License, Version 2.0 python-maxminddb-2.5.2/examples/000077500000000000000000000000001454733172300166315ustar00rootroot00000000000000python-maxminddb-2.5.2/examples/benchmark.py000066400000000000000000000015551454733172300211430ustar00rootroot00000000000000#!/usr/bin/python # -*- coding: utf-8 -*- import argparse import maxminddb import random import socket import struct import timeit parser = argparse.ArgumentParser(description="Benchmark maxminddb.") parser.add_argument("--count", default=250000, type=int, help="number of lookups") parser.add_argument("--mode", default=0, type=int, help="reader mode to use") parser.add_argument("--file", default="GeoIP2-City.mmdb", help="path to mmdb file") args = parser.parse_args() random.seed(0) reader = maxminddb.open_database(args.file, args.mode) def lookup_ip_address(): ip = socket.inet_ntoa(struct.pack("!L", random.getrandbits(32))) record = reader.get(str(ip)) elapsed = timeit.timeit( "lookup_ip_address()", setup="from __main__ import lookup_ip_address", number=args.count, ) print("{:,}".format(int(args.count / elapsed)), "lookups per second") python-maxminddb-2.5.2/extension/000077500000000000000000000000001454733172300170275ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/000077500000000000000000000000001454733172300214615ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/maxminddb.c000066400000000000000000000760531454733172300211510ustar00rootroot00000000000000#define PY_SSIZE_T_CLEAN #include #ifdef MS_WINDOWS #include #include #else #include #include #include #include #endif #include #include #include #define __STDC_FORMAT_MACROS #include static PyTypeObject Reader_Type; static PyTypeObject ReaderIter_Type; static PyTypeObject Metadata_Type; static PyObject *MaxMindDB_error; static PyObject *ipaddress_ip_network; // clang-format off typedef struct { PyObject_HEAD /* no semicolon */ MMDB_s *mmdb; PyObject *closed; } Reader_obj; typedef struct record record; struct record{ char ip_packed[16]; int depth; uint64_t record; uint8_t type; MMDB_entry_s entry; struct record *next; }; typedef struct { PyObject_HEAD /* no semicolon */ Reader_obj *reader; struct record *next; } ReaderIter_obj; typedef struct { PyObject_HEAD /* no semicolon */ PyObject *binary_format_major_version; PyObject *binary_format_minor_version; PyObject *build_epoch; PyObject *database_type; PyObject *description; PyObject *ip_version; PyObject *languages; PyObject *node_count; PyObject *record_size; } Metadata_obj; // clang-format on static bool can_read(const char *path); static int get_record(PyObject *self, PyObject *args, PyObject **record); static bool format_sockaddr(struct sockaddr *addr, char *dst); static PyObject *from_entry_data_list(MMDB_entry_data_list_s **entry_data_list); static PyObject *from_map(MMDB_entry_data_list_s **entry_data_list); static PyObject *from_array(MMDB_entry_data_list_s **entry_data_list); static PyObject *from_uint128(const MMDB_entry_data_list_s *entry_data_list); static int ip_converter(PyObject *obj, struct sockaddr_storage *ip_address); #ifdef __GNUC__ #define UNUSED(x) UNUSED_##x __attribute__((__unused__)) #else #define UNUSED(x) UNUSED_##x #endif static int Reader_init(PyObject *self, PyObject *args, PyObject *kwds) { PyObject *filepath = NULL; int mode = 0; static char *kwlist[] = {"database", "mode", NULL}; if (!PyArg_ParseTupleAndKeywords(args, kwds, "O&|i", kwlist, PyUnicode_FSConverter, &filepath, &mode)) { return -1; } char *filename = PyBytes_AS_STRING(filepath); if (filename == NULL) { return -1; } if (mode != 0 && mode != 1) { Py_XDECREF(filepath); PyErr_Format( PyExc_ValueError, "Unsupported open mode (%i). Only " "MODE_AUTO and MODE_MMAP_EXT are supported by this extension.", mode); return -1; } if (!can_read(filename)) { PyErr_SetFromErrnoWithFilenameObject(PyExc_OSError, filepath); Py_XDECREF(filepath); return -1; } MMDB_s *mmdb = (MMDB_s *)malloc(sizeof(MMDB_s)); if (mmdb == NULL) { Py_XDECREF(filepath); PyErr_NoMemory(); return -1; } Reader_obj *mmdb_obj = (Reader_obj *)self; if (!mmdb_obj) { Py_XDECREF(filepath); free(mmdb); PyErr_NoMemory(); return -1; } int const status = MMDB_open(filename, MMDB_MODE_MMAP, mmdb); if (status != MMDB_SUCCESS) { free(mmdb); PyErr_Format(MaxMindDB_error, "Error opening database file (%s). Is this a valid " "MaxMind DB file?", filename); Py_XDECREF(filepath); return -1; } Py_XDECREF(filepath); mmdb_obj->mmdb = mmdb; mmdb_obj->closed = Py_False; return 0; } static PyObject *Reader_get(PyObject *self, PyObject *args) { PyObject *record = NULL; if (get_record(self, args, &record) == -1) { return NULL; } return record; } static PyObject *Reader_get_with_prefix_len(PyObject *self, PyObject *args) { PyObject *record = NULL; int prefix_len = get_record(self, args, &record); if (prefix_len == -1) { return NULL; } PyObject *tuple = Py_BuildValue("(Oi)", record, prefix_len); Py_DECREF(record); return tuple; } static int get_record(PyObject *self, PyObject *args, PyObject **record) { MMDB_s *mmdb = ((Reader_obj *)self)->mmdb; if (mmdb == NULL) { PyErr_SetString(PyExc_ValueError, "Attempt to read from a closed MaxMind DB."); return -1; } struct sockaddr_storage ip_address_ss = {0}; struct sockaddr *ip_address = (struct sockaddr *)&ip_address_ss; if (!PyArg_ParseTuple(args, "O&", ip_converter, &ip_address_ss)) { return -1; } if (!ip_address->sa_family) { PyErr_SetString(PyExc_ValueError, "Error parsing argument"); return -1; } int mmdb_error = MMDB_SUCCESS; MMDB_lookup_result_s result = MMDB_lookup_sockaddr(mmdb, ip_address, &mmdb_error); if (mmdb_error != MMDB_SUCCESS) { PyObject *exception; if (MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR == mmdb_error) { exception = PyExc_ValueError; } else { exception = MaxMindDB_error; } char ipstr[INET6_ADDRSTRLEN] = {0}; if (format_sockaddr(ip_address, ipstr)) { PyErr_Format(exception, "Error looking up %s. %s", ipstr, MMDB_strerror(mmdb_error)); } return -1; } int prefix_len = result.netmask; if (ip_address->sa_family == AF_INET && mmdb->metadata.ip_version == 6) { // We return the prefix length given the IPv4 address. If there is // no IPv4 subtree, we return a prefix length of 0. prefix_len = prefix_len >= 96 ? prefix_len - 96 : 0; } if (!result.found_entry) { Py_INCREF(Py_None); *record = Py_None; return prefix_len; } MMDB_entry_data_list_s *entry_data_list = NULL; int status = MMDB_get_entry_data_list(&result.entry, &entry_data_list); if (status != MMDB_SUCCESS) { char ipstr[INET6_ADDRSTRLEN] = {0}; if (format_sockaddr(ip_address, ipstr)) { PyErr_Format(MaxMindDB_error, "Error while looking up data for %s. %s", ipstr, MMDB_strerror(status)); } MMDB_free_entry_data_list(entry_data_list); return -1; } MMDB_entry_data_list_s *original_entry_data_list = entry_data_list; *record = from_entry_data_list(&entry_data_list); MMDB_free_entry_data_list(original_entry_data_list); // from_entry_data_list will return NULL on errors. if (*record == NULL) { return -1; } return prefix_len; } static int ip_converter(PyObject *obj, struct sockaddr_storage *ip_address) { if (PyUnicode_Check(obj)) { Py_ssize_t len; const char *ipstr = PyUnicode_AsUTF8AndSize(obj, &len); if (!ipstr) { PyErr_SetString(PyExc_TypeError, "argument 1 contains an invalid string"); return 0; } if (strlen(ipstr) != (size_t)len) { PyErr_SetString(PyExc_TypeError, "argument 1 contains an embedded null character"); return 0; } struct addrinfo hints = { .ai_family = AF_UNSPEC, .ai_flags = AI_NUMERICHOST, // We set ai_socktype so that we only get one result back .ai_socktype = SOCK_STREAM}; struct addrinfo *addresses = NULL; int gai_status = getaddrinfo(ipstr, NULL, &hints, &addresses); if (gai_status) { PyErr_Format(PyExc_ValueError, "'%s' does not appear to be an IPv4 or IPv6 address.", ipstr); return 0; } if (!addresses) { PyErr_SetString( PyExc_RuntimeError, "getaddrinfo was successful but failed to set the addrinfo"); return 0; } memcpy(ip_address, addresses->ai_addr, addresses->ai_addrlen); freeaddrinfo(addresses); return 1; } PyObject *packed = PyObject_GetAttrString(obj, "packed"); if (!packed) { PyErr_SetString(PyExc_TypeError, "argument 1 must be a string or ipaddress object"); return 0; } Py_ssize_t len; char *bytes; int status = PyBytes_AsStringAndSize(packed, &bytes, &len); if (status == -1) { PyErr_SetString(PyExc_TypeError, "argument 1 must be a string or ipaddress object"); Py_DECREF(packed); return 0; } switch (len) { case 16: { ip_address->ss_family = AF_INET6; struct sockaddr_in6 *sin = (struct sockaddr_in6 *)ip_address; memcpy(sin->sin6_addr.s6_addr, bytes, (size_t)len); Py_DECREF(packed); return 1; } case 4: { ip_address->ss_family = AF_INET; struct sockaddr_in *sin = (struct sockaddr_in *)ip_address; memcpy(&(sin->sin_addr.s_addr), bytes, (size_t)len); Py_DECREF(packed); return 1; } default: PyErr_SetString( PyExc_ValueError, "argument 1 returned an unexpected packed length for address"); Py_DECREF(packed); return 0; } } static bool format_sockaddr(struct sockaddr *sa, char *dst) { char *addr; if (sa->sa_family == AF_INET) { struct sockaddr_in *sin = (struct sockaddr_in *)sa; addr = (char *)&sin->sin_addr; } else { struct sockaddr_in6 *sin = (struct sockaddr_in6 *)sa; addr = (char *)&sin->sin6_addr; } if (inet_ntop(sa->sa_family, addr, dst, INET6_ADDRSTRLEN)) { return true; } PyErr_SetString(PyExc_RuntimeError, "unable to format IP address"); return false; } static PyObject *Reader_metadata(PyObject *self, PyObject *UNUSED(args)) { Reader_obj *mmdb_obj = (Reader_obj *)self; if (mmdb_obj->mmdb == NULL) { PyErr_SetString(PyExc_IOError, "Attempt to read from a closed MaxMind DB."); return NULL; } MMDB_entry_data_list_s *entry_data_list; MMDB_get_metadata_as_entry_data_list(mmdb_obj->mmdb, &entry_data_list); MMDB_entry_data_list_s *original_entry_data_list = entry_data_list; PyObject *metadata_dict = from_entry_data_list(&entry_data_list); MMDB_free_entry_data_list(original_entry_data_list); if (metadata_dict == NULL || !PyDict_Check(metadata_dict)) { PyErr_SetString(MaxMindDB_error, "Error decoding metadata."); return NULL; } PyObject *args = PyTuple_New(0); if (args == NULL) { Py_DECREF(metadata_dict); return NULL; } PyObject *metadata = PyObject_Call((PyObject *)&Metadata_Type, args, metadata_dict); Py_DECREF(metadata_dict); return metadata; } static PyObject *Reader_close(PyObject *self, PyObject *UNUSED(args)) { Reader_obj *mmdb_obj = (Reader_obj *)self; if (mmdb_obj->mmdb != NULL) { MMDB_close(mmdb_obj->mmdb); free(mmdb_obj->mmdb); mmdb_obj->mmdb = NULL; } mmdb_obj->closed = Py_True; Py_RETURN_NONE; } static PyObject *Reader__enter__(PyObject *self, PyObject *UNUSED(args)) { Reader_obj *mmdb_obj = (Reader_obj *)self; if (mmdb_obj->closed == Py_True) { PyErr_SetString(PyExc_ValueError, "Attempt to reopen a closed MaxMind DB."); return NULL; } Py_INCREF(self); return (PyObject *)self; } static PyObject *Reader__exit__(PyObject *self, PyObject *UNUSED(args)) { Reader_close(self, NULL); Py_RETURN_NONE; } static void Reader_dealloc(PyObject *self) { Reader_obj *obj = (Reader_obj *)self; if (obj->mmdb != NULL) { Reader_close(self, NULL); } PyObject_Del(self); } static PyObject *Reader_iter(PyObject *obj) { Reader_obj *reader = (Reader_obj *)obj; if (reader->closed == Py_True) { PyErr_SetString(PyExc_ValueError, "Attempt to iterate over a closed MaxMind DB."); return NULL; } ReaderIter_obj *ri = PyObject_New(ReaderIter_obj, &ReaderIter_Type); if (ri == NULL) { return NULL; } ri->reader = reader; Py_INCREF(reader); // Currently, we are always starting from the 0 node with the 0 IP ri->next = calloc(1, sizeof(record)); if (ri->next == NULL) { // ReaderIter_dealloc will decrement the reference count on reader Py_DECREF(ri); PyErr_NoMemory(); return NULL; } return (PyObject *)ri; } static bool is_ipv6(char ip[16]) { char z = 0; for (int i = 0; i < 12; i++) { z |= ip[i]; } return z; } static PyObject *ReaderIter_next(PyObject *self) { ReaderIter_obj *ri = (ReaderIter_obj *)self; if (ri->reader->closed == Py_True) { PyErr_SetString(PyExc_ValueError, "Attempt to iterate over a closed MaxMind DB."); return NULL; } while (ri->next != NULL) { record *cur = ri->next; ri->next = cur->next; switch (cur->type) { case MMDB_RECORD_TYPE_INVALID: PyErr_SetString(MaxMindDB_error, "Invalid record when reading node"); free(cur); return NULL; case MMDB_RECORD_TYPE_SEARCH_NODE: { if (cur->record == ri->reader->mmdb->ipv4_start_node.node_value && is_ipv6(cur->ip_packed)) { // These are aliased networks. Skip them. break; } MMDB_search_node_s node; int status = MMDB_read_node( ri->reader->mmdb, (uint32_t)cur->record, &node); if (status != MMDB_SUCCESS) { const char *error = MMDB_strerror(status); PyErr_Format( MaxMindDB_error, "Error reading node: %s", error); free(cur); return NULL; } struct record *left = calloc(1, sizeof(record)); if (left == NULL) { free(cur); PyErr_NoMemory(); return NULL; } memcpy( left->ip_packed, cur->ip_packed, sizeof(left->ip_packed)); left->depth = cur->depth + 1; left->record = node.left_record; left->type = node.left_record_type; left->entry = node.left_record_entry; struct record *right = left->next = calloc(1, sizeof(record)); if (right == NULL) { free(cur); free(left); PyErr_NoMemory(); return NULL; } memcpy( right->ip_packed, cur->ip_packed, sizeof(right->ip_packed)); right->ip_packed[cur->depth / 8] |= 1 << (7 - cur->depth % 8); right->depth = cur->depth + 1; right->record = node.right_record; right->type = node.right_record_type; right->entry = node.right_record_entry; right->next = ri->next; ri->next = left; break; } case MMDB_RECORD_TYPE_EMPTY: break; case MMDB_RECORD_TYPE_DATA: { MMDB_entry_data_list_s *entry_data_list = NULL; int status = MMDB_get_entry_data_list(&cur->entry, &entry_data_list); if (status != MMDB_SUCCESS) { PyErr_Format( MaxMindDB_error, "Error looking up data while iterating over tree: %s", MMDB_strerror(status)); MMDB_free_entry_data_list(entry_data_list); free(cur); return NULL; } MMDB_entry_data_list_s *original_entry_data_list = entry_data_list; PyObject *record = from_entry_data_list(&entry_data_list); MMDB_free_entry_data_list(original_entry_data_list); if (record == NULL) { free(cur); return NULL; } int ip_start = 0; int ip_length = 4; if (ri->reader->mmdb->depth == 128) { if (is_ipv6(cur->ip_packed)) { // IPv6 address ip_length = 16; } else { // IPv4 address in IPv6 tree ip_start = 12; } } PyObject *network_tuple = Py_BuildValue("(y#i)", &(cur->ip_packed[ip_start]), ip_length, cur->depth - ip_start * 8); if (network_tuple == NULL) { Py_DECREF(record); free(cur); return NULL; } PyObject *args = PyTuple_Pack(1, network_tuple); Py_DECREF(network_tuple); if (args == NULL) { Py_DECREF(record); free(cur); return NULL; } PyObject *network = PyObject_CallObject(ipaddress_ip_network, args); Py_DECREF(args); if (network == NULL) { Py_DECREF(record); free(cur); return NULL; } PyObject *rv = PyTuple_Pack(2, network, record); Py_DECREF(network); Py_DECREF(record); free(cur); return rv; } default: PyErr_Format( MaxMindDB_error, "Unknown record type: %u", cur->type); free(cur); return NULL; } free(cur); } return NULL; } static void ReaderIter_dealloc(PyObject *self) { ReaderIter_obj *ri = (ReaderIter_obj *)self; Py_DECREF(ri->reader); struct record *next = ri->next; while (next != NULL) { struct record *cur = next; next = cur->next; free(cur); } PyObject_Del(self); } static int Metadata_init(PyObject *self, PyObject *args, PyObject *kwds) { PyObject *binary_format_major_version, *binary_format_minor_version, *build_epoch, *database_type, *description, *ip_version, *languages, *node_count, *record_size; static char *kwlist[] = {"binary_format_major_version", "binary_format_minor_version", "build_epoch", "database_type", "description", "ip_version", "languages", "node_count", "record_size", NULL}; if (!PyArg_ParseTupleAndKeywords(args, kwds, "|OOOOOOOOO", kwlist, &binary_format_major_version, &binary_format_minor_version, &build_epoch, &database_type, &description, &ip_version, &languages, &node_count, &record_size)) { return -1; } Metadata_obj *obj = (Metadata_obj *)self; obj->binary_format_major_version = binary_format_major_version; obj->binary_format_minor_version = binary_format_minor_version; obj->build_epoch = build_epoch; obj->database_type = database_type; obj->description = description; obj->ip_version = ip_version; obj->languages = languages; obj->node_count = node_count; obj->record_size = record_size; Py_INCREF(obj->binary_format_major_version); Py_INCREF(obj->binary_format_minor_version); Py_INCREF(obj->build_epoch); Py_INCREF(obj->database_type); Py_INCREF(obj->description); Py_INCREF(obj->ip_version); Py_INCREF(obj->languages); Py_INCREF(obj->node_count); Py_INCREF(obj->record_size); return 0; } static void Metadata_dealloc(PyObject *self) { Metadata_obj *obj = (Metadata_obj *)self; Py_DECREF(obj->binary_format_major_version); Py_DECREF(obj->binary_format_minor_version); Py_DECREF(obj->build_epoch); Py_DECREF(obj->database_type); Py_DECREF(obj->description); Py_DECREF(obj->ip_version); Py_DECREF(obj->languages); Py_DECREF(obj->node_count); Py_DECREF(obj->record_size); PyObject_Del(self); } static PyObject * from_entry_data_list(MMDB_entry_data_list_s **entry_data_list) { if (entry_data_list == NULL || *entry_data_list == NULL) { PyErr_SetString(MaxMindDB_error, "Error while looking up data. Your database may be " "corrupt or you have found a bug in libmaxminddb."); return NULL; } switch ((*entry_data_list)->entry_data.type) { case MMDB_DATA_TYPE_MAP: return from_map(entry_data_list); case MMDB_DATA_TYPE_ARRAY: return from_array(entry_data_list); case MMDB_DATA_TYPE_UTF8_STRING: return PyUnicode_FromStringAndSize( (*entry_data_list)->entry_data.utf8_string, (*entry_data_list)->entry_data.data_size); case MMDB_DATA_TYPE_BYTES: return PyByteArray_FromStringAndSize( (const char *)(*entry_data_list)->entry_data.bytes, (Py_ssize_t)(*entry_data_list)->entry_data.data_size); case MMDB_DATA_TYPE_DOUBLE: return PyFloat_FromDouble( (*entry_data_list)->entry_data.double_value); case MMDB_DATA_TYPE_FLOAT: return PyFloat_FromDouble( (*entry_data_list)->entry_data.float_value); case MMDB_DATA_TYPE_UINT16: return PyLong_FromLong((*entry_data_list)->entry_data.uint16); case MMDB_DATA_TYPE_UINT32: return PyLong_FromLong((*entry_data_list)->entry_data.uint32); case MMDB_DATA_TYPE_BOOLEAN: return PyBool_FromLong((*entry_data_list)->entry_data.boolean); case MMDB_DATA_TYPE_UINT64: return PyLong_FromUnsignedLongLong( (*entry_data_list)->entry_data.uint64); case MMDB_DATA_TYPE_UINT128: return from_uint128(*entry_data_list); case MMDB_DATA_TYPE_INT32: return PyLong_FromLong((*entry_data_list)->entry_data.int32); default: PyErr_Format(MaxMindDB_error, "Invalid data type arguments: %d", (*entry_data_list)->entry_data.type); return NULL; } return NULL; } static PyObject *from_map(MMDB_entry_data_list_s **entry_data_list) { PyObject *py_obj = PyDict_New(); if (py_obj == NULL) { PyErr_NoMemory(); return NULL; } const uint32_t map_size = (*entry_data_list)->entry_data.data_size; uint32_t i; // entry_data_list cannot start out NULL (see from_entry_data_list). We // check it in the loop because it may become NULL. // coverity[check_after_deref] for (i = 0; i < map_size && entry_data_list; i++) { *entry_data_list = (*entry_data_list)->next; PyObject *key = PyUnicode_FromStringAndSize( (*entry_data_list)->entry_data.utf8_string, (*entry_data_list)->entry_data.data_size); if (!key) { // PyUnicode_FromStringAndSize will set an appropriate exception // in this case. return NULL; } *entry_data_list = (*entry_data_list)->next; PyObject *value = from_entry_data_list(entry_data_list); if (value == NULL) { Py_DECREF(key); Py_DECREF(py_obj); return NULL; } PyDict_SetItem(py_obj, key, value); Py_DECREF(value); Py_DECREF(key); } return py_obj; } static PyObject *from_array(MMDB_entry_data_list_s **entry_data_list) { const uint32_t size = (*entry_data_list)->entry_data.data_size; PyObject *py_obj = PyList_New(size); if (py_obj == NULL) { PyErr_NoMemory(); return NULL; } uint32_t i; // entry_data_list cannot start out NULL (see from_entry_data_list). We // check it in the loop because it may become NULL. // coverity[check_after_deref] for (i = 0; i < size && entry_data_list; i++) { *entry_data_list = (*entry_data_list)->next; PyObject *value = from_entry_data_list(entry_data_list); if (value == NULL) { Py_DECREF(py_obj); return NULL; } // PyList_SetItem 'steals' the reference PyList_SetItem(py_obj, i, value); } return py_obj; } static PyObject *from_uint128(const MMDB_entry_data_list_s *entry_data_list) { uint64_t high = 0; uint64_t low = 0; #if MMDB_UINT128_IS_BYTE_ARRAY int i; for (i = 0; i < 8; i++) { high = (high << 8) | entry_data_list->entry_data.uint128[i]; } for (i = 8; i < 16; i++) { low = (low << 8) | entry_data_list->entry_data.uint128[i]; } #else high = entry_data_list->entry_data.uint128 >> 64; low = (uint64_t)entry_data_list->entry_data.uint128; #endif char *num_str = malloc(33); if (num_str == NULL) { PyErr_NoMemory(); return NULL; } snprintf(num_str, 33, "%016" PRIX64 "%016" PRIX64, high, low); PyObject *py_obj = PyLong_FromString(num_str, NULL, 16); free(num_str); return py_obj; } static bool can_read(const char *path) { #ifdef MS_WINDOWS int rv = _access(path, 04); #else int rv = access(path, R_OK); #endif return rv == 0; } static PyMethodDef Reader_methods[] = { {"get", Reader_get, METH_VARARGS, "Return the record for the ip_address in the MaxMind DB"}, {"get_with_prefix_len", Reader_get_with_prefix_len, METH_VARARGS, "Return a tuple with the record and the associated prefix length"}, {"metadata", Reader_metadata, METH_NOARGS, "Return metadata object for database"}, {"close", Reader_close, METH_NOARGS, "Closes database"}, {"__exit__", Reader__exit__, METH_VARARGS, "Called when exiting a with-context. Calls close"}, {"__enter__", Reader__enter__, METH_NOARGS, "Called when entering a with-context."}, {NULL, NULL, 0, NULL}}; static PyMemberDef Reader_members[] = { {"closed", T_OBJECT, offsetof(Reader_obj, closed), READONLY, NULL}, {NULL, 0, 0, 0, NULL}}; // clang-format off static PyTypeObject Reader_Type = { PyVarObject_HEAD_INIT(NULL, 0) .tp_basicsize = sizeof(Reader_obj), .tp_dealloc = Reader_dealloc, .tp_doc = "Reader object", .tp_flags = Py_TPFLAGS_DEFAULT, .tp_iter = Reader_iter, .tp_methods = Reader_methods, .tp_members = Reader_members, .tp_name = "Reader", .tp_init = Reader_init, }; // clang-format on static PyMethodDef ReaderIter_methods[] = {{NULL, NULL, 0, NULL}}; // clang-format off static PyTypeObject ReaderIter_Type = { PyVarObject_HEAD_INIT(NULL, 0) .tp_basicsize = sizeof(ReaderIter_obj), .tp_dealloc = ReaderIter_dealloc, .tp_doc = "Iterator for Reader object", .tp_flags = Py_TPFLAGS_DEFAULT, .tp_iter = PyObject_SelfIter, .tp_iternext = ReaderIter_next, .tp_methods = ReaderIter_methods, .tp_name = "ReaderIter", }; // clang-format on static PyMethodDef Metadata_methods[] = {{NULL, NULL, 0, NULL}}; static PyMemberDef Metadata_members[] = { {"binary_format_major_version", T_OBJECT, offsetof(Metadata_obj, binary_format_major_version), READONLY, NULL}, {"binary_format_minor_version", T_OBJECT, offsetof(Metadata_obj, binary_format_minor_version), READONLY, NULL}, {"build_epoch", T_OBJECT, offsetof(Metadata_obj, build_epoch), READONLY, NULL}, {"database_type", T_OBJECT, offsetof(Metadata_obj, database_type), READONLY, NULL}, {"description", T_OBJECT, offsetof(Metadata_obj, description), READONLY, NULL}, {"ip_version", T_OBJECT, offsetof(Metadata_obj, ip_version), READONLY, NULL}, {"languages", T_OBJECT, offsetof(Metadata_obj, languages), READONLY, NULL}, {"node_count", T_OBJECT, offsetof(Metadata_obj, node_count), READONLY, NULL}, {"record_size", T_OBJECT, offsetof(Metadata_obj, record_size), READONLY, NULL}, {NULL, 0, 0, 0, NULL}}; // clang-format off static PyTypeObject Metadata_Type = { PyVarObject_HEAD_INIT(NULL, 0) .tp_basicsize = sizeof(Metadata_obj), .tp_dealloc = Metadata_dealloc, .tp_doc = "Metadata object", .tp_flags = Py_TPFLAGS_DEFAULT, .tp_members = Metadata_members, .tp_methods = Metadata_methods, .tp_name = "Metadata", .tp_init = Metadata_init}; // clang-format on static PyMethodDef MaxMindDB_methods[] = {{NULL, NULL, 0, NULL}}; static struct PyModuleDef MaxMindDB_module = { PyModuleDef_HEAD_INIT, .m_name = "extension", .m_doc = "This is a C extension to read MaxMind DB file format", .m_methods = MaxMindDB_methods, }; PyMODINIT_FUNC PyInit_extension(void) { PyObject *m; m = PyModule_Create(&MaxMindDB_module); if (!m) { return NULL; } Reader_Type.tp_new = PyType_GenericNew; if (PyType_Ready(&Reader_Type)) { return NULL; } Py_INCREF(&Reader_Type); PyModule_AddObject(m, "Reader", (PyObject *)&Reader_Type); Metadata_Type.tp_new = PyType_GenericNew; if (PyType_Ready(&Metadata_Type)) { return NULL; } Py_INCREF(&Metadata_Type); PyModule_AddObject(m, "Metadata", (PyObject *)&Metadata_Type); PyObject *error_mod = PyImport_ImportModule("maxminddb.errors"); if (error_mod == NULL) { return NULL; } MaxMindDB_error = PyObject_GetAttrString(error_mod, "InvalidDatabaseError"); Py_DECREF(error_mod); if (MaxMindDB_error == NULL) { return NULL; } Py_INCREF(MaxMindDB_error); PyObject *ipaddress_mod = PyImport_ImportModule("ipaddress"); if (ipaddress_mod == NULL) { return NULL; } ipaddress_ip_network = PyObject_GetAttrString(ipaddress_mod, "ip_network"); Py_DECREF(ipaddress_mod); if (ipaddress_ip_network == NULL) { return NULL; } Py_INCREF(ipaddress_ip_network); /* We primarily add it to the module for backwards compatibility */ PyModule_AddObject(m, "InvalidDatabaseError", MaxMindDB_error); return m; } python-maxminddb-2.5.2/extension/maxminddb_config.h000066400000000000000000000001071454733172300224660ustar00rootroot00000000000000/* This is just a placeholder. We configure everything in setup.py. */ python-maxminddb-2.5.2/maxminddb/000077500000000000000000000000001454733172300167565ustar00rootroot00000000000000python-maxminddb-2.5.2/maxminddb/__init__.py000066400000000000000000000047751454733172300211040ustar00rootroot00000000000000# pylint:disable=C0111 import os from typing import IO, AnyStr, Union, cast from .const import ( MODE_AUTO, MODE_FD, MODE_FILE, MODE_MEMORY, MODE_MMAP, MODE_MMAP_EXT, ) from .decoder import InvalidDatabaseError from .reader import Reader try: # pylint: disable=import-self from . import extension as _extension except ImportError: _extension = None # type: ignore[assignment] __all__ = [ "InvalidDatabaseError", "MODE_AUTO", "MODE_FD", "MODE_FILE", "MODE_MEMORY", "MODE_MMAP", "MODE_MMAP_EXT", "Reader", "open_database", ] def open_database( database: Union[AnyStr, int, os.PathLike, IO], mode: int = MODE_AUTO, ) -> Reader: """Open a MaxMind DB database Arguments: database -- A path to a valid MaxMind DB file such as a GeoIP2 database file, or a file descriptor in the case of MODE_FD. mode -- mode to open the database with. Valid mode are: * MODE_MMAP_EXT - use the C extension with memory map. * MODE_MMAP - read from memory map. Pure Python. * MODE_FILE - read database as standard file. Pure Python. * MODE_MEMORY - load database into memory. Pure Python. * MODE_FD - the param passed via database is a file descriptor, not a path. This mode implies MODE_MEMORY. * MODE_AUTO - tries MODE_MMAP_EXT, MODE_MMAP, MODE_FILE in that order. Default mode. """ if mode not in ( MODE_AUTO, MODE_FD, MODE_FILE, MODE_MEMORY, MODE_MMAP, MODE_MMAP_EXT, ): raise ValueError(f"Unsupported open mode: {mode}") has_extension = _extension and hasattr(_extension, "Reader") use_extension = has_extension if mode == MODE_AUTO else mode == MODE_MMAP_EXT if not use_extension: return Reader(database, mode) if not has_extension: raise ValueError( "MODE_MMAP_EXT requires the maxminddb.extension module to be available" ) # The C type exposes the same API as the Python Reader, so for type # checking purposes, pretend it is one. (Ideally this would be a subclass # of, or share a common parent class with, the Python Reader # implementation.) return cast(Reader, _extension.Reader(database, mode)) __title__ = "maxminddb" __version__ = "2.5.2" __author__ = "Gregory Oschwald" __license__ = "Apache License, Version 2.0" __copyright__ = "Copyright 2013-2023 MaxMind, Inc." python-maxminddb-2.5.2/maxminddb/const.py000066400000000000000000000001721454733172300204560ustar00rootroot00000000000000"""Constants used in the API""" MODE_AUTO = 0 MODE_MMAP_EXT = 1 MODE_MMAP = 2 MODE_FILE = 4 MODE_MEMORY = 8 MODE_FD = 16 python-maxminddb-2.5.2/maxminddb/decoder.py000066400000000000000000000155351454733172300207460ustar00rootroot00000000000000""" maxminddb.decoder ~~~~~~~~~~~~~~~~~ This package contains code for decoding the MaxMind DB data section. """ import struct from typing import cast, Dict, List, Tuple, Union try: # pylint: disable=unused-import import mmap except ImportError: # pylint: disable=invalid-name mmap = None # type: ignore from maxminddb.errors import InvalidDatabaseError from maxminddb.file import FileBuffer from maxminddb.types import Record class Decoder: # pylint: disable=too-few-public-methods """Decoder for the data section of the MaxMind DB""" def __init__( self, database_buffer: Union[FileBuffer, "mmap.mmap", bytes], pointer_base: int = 0, pointer_test: bool = False, ) -> None: """Created a Decoder for a MaxMind DB Arguments: database_buffer -- an mmap'd MaxMind DB file. pointer_base -- the base number to use when decoding a pointer pointer_test -- used for internal unit testing of pointer code """ self._pointer_test = pointer_test self._buffer = database_buffer self._pointer_base = pointer_base def _decode_array(self, size: int, offset: int) -> Tuple[List[Record], int]: array = [] for _ in range(size): (value, offset) = self.decode(offset) array.append(value) return array, offset def _decode_boolean(self, size: int, offset: int) -> Tuple[bool, int]: return size != 0, offset def _decode_bytes(self, size: int, offset: int) -> Tuple[bytes, int]: new_offset = offset + size return self._buffer[offset:new_offset], new_offset def _decode_double(self, size: int, offset: int) -> Tuple[float, int]: self._verify_size(size, 8) new_offset = offset + size packed_bytes = self._buffer[offset:new_offset] (value,) = struct.unpack(b"!d", packed_bytes) return value, new_offset def _decode_float(self, size: int, offset: int) -> Tuple[float, int]: self._verify_size(size, 4) new_offset = offset + size packed_bytes = self._buffer[offset:new_offset] (value,) = struct.unpack(b"!f", packed_bytes) return value, new_offset def _decode_int32(self, size: int, offset: int) -> Tuple[int, int]: if size == 0: return 0, offset new_offset = offset + size packed_bytes = self._buffer[offset:new_offset] if size != 4: packed_bytes = packed_bytes.rjust(4, b"\x00") (value,) = struct.unpack(b"!i", packed_bytes) return value, new_offset def _decode_map(self, size: int, offset: int) -> Tuple[Dict[str, Record], int]: container: Dict[str, Record] = {} for _ in range(size): (key, offset) = self.decode(offset) (value, offset) = self.decode(offset) container[cast(str, key)] = value return container, offset def _decode_pointer(self, size: int, offset: int) -> Tuple[Record, int]: pointer_size = (size >> 3) + 1 buf = self._buffer[offset : offset + pointer_size] new_offset = offset + pointer_size if pointer_size == 1: buf = bytes([size & 0x7]) + buf pointer = struct.unpack(b"!H", buf)[0] + self._pointer_base elif pointer_size == 2: buf = b"\x00" + bytes([size & 0x7]) + buf pointer = struct.unpack(b"!I", buf)[0] + 2048 + self._pointer_base elif pointer_size == 3: buf = bytes([size & 0x7]) + buf pointer = struct.unpack(b"!I", buf)[0] + 526336 + self._pointer_base else: pointer = struct.unpack(b"!I", buf)[0] + self._pointer_base if self._pointer_test: return pointer, new_offset (value, _) = self.decode(pointer) return value, new_offset def _decode_uint(self, size: int, offset: int) -> Tuple[int, int]: new_offset = offset + size uint_bytes = self._buffer[offset:new_offset] return int.from_bytes(uint_bytes, "big"), new_offset def _decode_utf8_string(self, size: int, offset: int) -> Tuple[str, int]: new_offset = offset + size return self._buffer[offset:new_offset].decode("utf-8"), new_offset _type_decoder = { 1: _decode_pointer, 2: _decode_utf8_string, 3: _decode_double, 4: _decode_bytes, 5: _decode_uint, # uint16 6: _decode_uint, # uint32 7: _decode_map, 8: _decode_int32, 9: _decode_uint, # uint64 10: _decode_uint, # uint128 11: _decode_array, 14: _decode_boolean, 15: _decode_float, } def decode(self, offset: int) -> Tuple[Record, int]: """Decode a section of the data section starting at offset Arguments: offset -- the location of the data structure to decode """ new_offset = offset + 1 ctrl_byte = self._buffer[offset] type_num = ctrl_byte >> 5 # Extended type if not type_num: (type_num, new_offset) = self._read_extended(new_offset) try: decoder = self._type_decoder[type_num] except KeyError as ex: raise InvalidDatabaseError( f"Unexpected type number ({type_num}) encountered" ) from ex (size, new_offset) = self._size_from_ctrl_byte(ctrl_byte, new_offset, type_num) return decoder(self, size, new_offset) def _read_extended(self, offset: int) -> Tuple[int, int]: next_byte = self._buffer[offset] type_num = next_byte + 7 if type_num < 7: raise InvalidDatabaseError( "Something went horribly wrong in the decoder. An " f"extended type resolved to a type number < 8 ({type_num})" ) return type_num, offset + 1 @staticmethod def _verify_size(expected: int, actual: int) -> None: if expected != actual: raise InvalidDatabaseError( "The MaxMind DB file's data section contains bad data " "(unknown data type or corrupt data)" ) def _size_from_ctrl_byte( self, ctrl_byte: int, offset: int, type_num: int ) -> Tuple[int, int]: size = ctrl_byte & 0x1F if type_num == 1 or size < 29: return size, offset if size == 29: size = 29 + self._buffer[offset] return size, offset + 1 # Using unpack rather than int_from_bytes as it is faster # here and below. if size == 30: new_offset = offset + 2 size_bytes = self._buffer[offset:new_offset] size = 285 + struct.unpack(b"!H", size_bytes)[0] return size, new_offset new_offset = offset + 3 size_bytes = self._buffer[offset:new_offset] size = struct.unpack(b"!I", b"\x00" + size_bytes)[0] + 65821 return size, new_offset python-maxminddb-2.5.2/maxminddb/errors.py000066400000000000000000000003421454733172300206430ustar00rootroot00000000000000""" maxminddb.errors ~~~~~~~~~~~~~~~~ This module contains custom errors for the MaxMind DB reader """ class InvalidDatabaseError(RuntimeError): """This error is thrown when unexpected data is found in the database.""" python-maxminddb-2.5.2/maxminddb/extension.pyi000066400000000000000000000026471454733172300215260ustar00rootroot00000000000000from ipaddress import IPv4Address, IPv6Address from os import PathLike from typing import Any, AnyStr, IO, Mapping, Optional, Sequence, Text, Tuple, Union from maxminddb import MODE_AUTO from maxminddb.errors import InvalidDatabaseError as InvalidDatabaseError from maxminddb.types import Record class Reader: closed: bool = ... def __init__( self, database: Union[AnyStr, int, PathLike, IO], mode: int = MODE_AUTO ) -> None: ... def close(self) -> None: ... def get( self, ip_address: Union[str, IPv6Address, IPv4Address] ) -> Optional[Record]: ... def get_with_prefix_len( self, ip_address: Union[str, IPv6Address, IPv4Address] ) -> Tuple[Optional[Record], int]: ... def metadata(self) -> "Metadata": ... def __enter__(self) -> "Reader": ... def __exit__(self, *args) -> None: ... class Metadata: @property def node_count(self) -> int: ... @property def record_size(self) -> int: ... @property def ip_version(self) -> int: ... @property def database_type(self) -> Text: ... @property def languages(self) -> Sequence[Text]: ... @property def binary_format_major_version(self) -> int: ... @property def binary_format_minor_version(self) -> int: ... @property def build_epoch(self) -> int: ... @property def description(self) -> Mapping[Text, Text]: ... def __init__(self, **kwargs: Any) -> None: ... python-maxminddb-2.5.2/maxminddb/file.py000066400000000000000000000041711454733172300202520ustar00rootroot00000000000000"""For internal use only. It provides a slice-like file reader.""" import os from typing import Union try: # pylint: disable=no-name-in-module from multiprocessing import Lock except ImportError: from threading import Lock # type: ignore class FileBuffer: """A slice-able file reader""" def __init__(self, database: str) -> None: # pylint: disable=consider-using-with self._handle = open(database, "rb") self._size = os.fstat(self._handle.fileno()).st_size if not hasattr(os, "pread"): self._lock = Lock() def __getitem__(self, key: Union[slice, int]): if isinstance(key, slice): return self._read(key.stop - key.start, key.start) if isinstance(key, int): return self._read(1, key)[0] raise TypeError("Invalid argument type.") def rfind(self, needle: bytes, start: int) -> int: """Reverse find needle from start""" pos = self._read(self._size - start - 1, start).rfind(needle) if pos == -1: return pos return start + pos def size(self) -> int: """Size of file""" return self._size def close(self) -> None: """Close file""" self._handle.close() if hasattr(os, "pread"): def _read(self, buffersize: int, offset: int) -> bytes: """read that uses pread""" # pylint: disable=no-member return os.pread(self._handle.fileno(), buffersize, offset) # type: ignore else: def _read(self, buffersize: int, offset: int) -> bytes: """read with a lock This lock is necessary as after a fork, the different processes will share the same file table entry, even if we dup the fd, and as such the same offsets. There does not appear to be a way to duplicate the file table entry and we cannot re-open based on the original path as that file may have replaced with another or unlinked. """ with self._lock: self._handle.seek(offset) return self._handle.read(buffersize) python-maxminddb-2.5.2/maxminddb/py.typed000066400000000000000000000000001454733172300204430ustar00rootroot00000000000000python-maxminddb-2.5.2/maxminddb/reader.py000066400000000000000000000276271454733172300206100ustar00rootroot00000000000000""" maxminddb.reader ~~~~~~~~~~~~~~~~ This module contains the pure Python database reader and related classes. """ try: import mmap except ImportError: # pylint: disable=invalid-name mmap = None # type: ignore import ipaddress import struct from ipaddress import IPv4Address, IPv6Address from os import PathLike from typing import Any, AnyStr, IO, Optional, Tuple, Union from maxminddb.const import MODE_AUTO, MODE_MMAP, MODE_FILE, MODE_MEMORY, MODE_FD from maxminddb.decoder import Decoder from maxminddb.errors import InvalidDatabaseError from maxminddb.file import FileBuffer from maxminddb.types import Record _IPV4_MAX_NUM = 2**32 class Reader: """ Instances of this class provide a reader for the MaxMind DB format. IP addresses can be looked up using the ``get`` method. """ _DATA_SECTION_SEPARATOR_SIZE = 16 _METADATA_START_MARKER = b"\xAB\xCD\xEFMaxMind.com" _buffer: Union[bytes, FileBuffer, "mmap.mmap"] _buffer_size: int closed: bool _decoder: Decoder _metadata: "Metadata" _ipv4_start: int def __init__( self, database: Union[AnyStr, int, PathLike, IO], mode: int = MODE_AUTO ) -> None: """Reader for the MaxMind DB file format Arguments: database -- A path to a valid MaxMind DB file such as a GeoIP2 database file, or a file descriptor in the case of MODE_FD. mode -- mode to open the database with. Valid mode are: * MODE_MMAP - read from memory map. * MODE_FILE - read database as standard file. * MODE_MEMORY - load database into memory. * MODE_AUTO - tries MODE_MMAP and then MODE_FILE. Default. * MODE_FD - the param passed via database is a file descriptor, not a path. This mode implies MODE_MEMORY. """ filename: Any if (mode == MODE_AUTO and mmap) or mode == MODE_MMAP: with open(database, "rb") as db_file: # type: ignore self._buffer = mmap.mmap(db_file.fileno(), 0, access=mmap.ACCESS_READ) self._buffer_size = self._buffer.size() filename = database elif mode in (MODE_AUTO, MODE_FILE): self._buffer = FileBuffer(database) # type: ignore self._buffer_size = self._buffer.size() filename = database elif mode == MODE_MEMORY: with open(database, "rb") as db_file: # type: ignore buf = db_file.read() self._buffer = buf self._buffer_size = len(buf) filename = database elif mode == MODE_FD: self._buffer = database.read() # type: ignore self._buffer_size = len(self._buffer) # type: ignore filename = database.name # type: ignore else: raise ValueError( f"Unsupported open mode ({mode}). Only MODE_AUTO, MODE_FILE, " "MODE_MEMORY and MODE_FD are supported by the pure Python " "Reader" ) metadata_start = self._buffer.rfind( self._METADATA_START_MARKER, max(0, self._buffer_size - 128 * 1024) ) if metadata_start == -1: self.close() raise InvalidDatabaseError( f"Error opening database file ({filename}). " "Is this a valid MaxMind DB file?" ) metadata_start += len(self._METADATA_START_MARKER) metadata_decoder = Decoder(self._buffer, metadata_start) (metadata, _) = metadata_decoder.decode(metadata_start) if not isinstance(metadata, dict): raise InvalidDatabaseError( f"Error reading metadata in database file ({filename})." ) self._metadata = Metadata(**metadata) # pylint: disable=bad-option-value self._decoder = Decoder( self._buffer, self._metadata.search_tree_size + self._DATA_SECTION_SEPARATOR_SIZE, ) self.closed = False ipv4_start = 0 if self._metadata.ip_version == 6: # We store the IPv4 starting node as an optimization for IPv4 lookups # in IPv6 trees. This allows us to skip over the first 96 nodes in # this case. node = 0 for _ in range(96): if node >= self._metadata.node_count: break node = self._read_node(node, 0) ipv4_start = node self._ipv4_start = ipv4_start def metadata(self) -> "Metadata": """Return the metadata associated with the MaxMind DB file""" return self._metadata def get(self, ip_address: Union[str, IPv6Address, IPv4Address]) -> Optional[Record]: """Return the record for the ip_address in the MaxMind DB Arguments: ip_address -- an IP address in the standard string notation """ (record, _) = self.get_with_prefix_len(ip_address) return record def get_with_prefix_len( self, ip_address: Union[str, IPv6Address, IPv4Address] ) -> Tuple[Optional[Record], int]: """Return a tuple with the record and the associated prefix length Arguments: ip_address -- an IP address in the standard string notation """ if isinstance(ip_address, str): address = ipaddress.ip_address(ip_address) else: address = ip_address try: packed_address = bytearray(address.packed) except AttributeError as ex: raise TypeError("argument 1 must be a string or ipaddress object") from ex if address.version == 6 and self._metadata.ip_version == 4: raise ValueError( f"Error looking up {ip_address}. You attempted to look up " "an IPv6 address in an IPv4-only database." ) (pointer, prefix_len) = self._find_address_in_tree(packed_address) if pointer: return self._resolve_data_pointer(pointer), prefix_len return None, prefix_len def __iter__(self): return self._generate_children(0, 0, 0) def _generate_children(self, node, depth, ip_acc): if ip_acc != 0 and node == self._ipv4_start: # Skip nodes aliased to IPv4 return node_count = self._metadata.node_count if node > node_count: bits = 128 if self._metadata.ip_version == 6 else 32 ip_acc <<= bits - depth if ip_acc <= _IPV4_MAX_NUM and bits == 128: depth -= 96 yield ipaddress.ip_network((ip_acc, depth)), self._resolve_data_pointer( node ) elif node < node_count: left = self._read_node(node, 0) ip_acc <<= 1 depth += 1 yield from self._generate_children(left, depth, ip_acc) right = self._read_node(node, 1) yield from self._generate_children(right, depth, ip_acc | 1) def _find_address_in_tree(self, packed: bytearray) -> Tuple[int, int]: bit_count = len(packed) * 8 node = self._start_node(bit_count) node_count = self._metadata.node_count i = 0 while i < bit_count and node < node_count: bit = 1 & (packed[i >> 3] >> 7 - (i % 8)) node = self._read_node(node, bit) i = i + 1 if node == node_count: # Record is empty return 0, i if node > node_count: return node, i raise InvalidDatabaseError("Invalid node in search tree") def _start_node(self, length: int) -> int: if self._metadata.ip_version == 6 and length == 32: return self._ipv4_start return 0 def _read_node(self, node_number: int, index: int) -> int: base_offset = node_number * self._metadata.node_byte_size record_size = self._metadata.record_size if record_size == 24: offset = base_offset + index * 3 node_bytes = b"\x00" + self._buffer[offset : offset + 3] elif record_size == 28: offset = base_offset + 3 * index node_bytes = bytearray(self._buffer[offset : offset + 4]) if index: node_bytes[0] = 0x0F & node_bytes[0] else: middle = (0xF0 & node_bytes.pop()) >> 4 node_bytes.insert(0, middle) elif record_size == 32: offset = base_offset + index * 4 node_bytes = self._buffer[offset : offset + 4] else: raise InvalidDatabaseError(f"Unknown record size: {record_size}") return struct.unpack(b"!I", node_bytes)[0] def _resolve_data_pointer(self, pointer: int) -> Record: resolved = pointer - self._metadata.node_count + self._metadata.search_tree_size if resolved >= self._buffer_size: raise InvalidDatabaseError("The MaxMind DB file's search tree is corrupt") (data, _) = self._decoder.decode(resolved) return data def close(self) -> None: """Closes the MaxMind DB file and returns the resources to the system""" try: self._buffer.close() # type: ignore except AttributeError: pass self.closed = True def __exit__(self, *args) -> None: self.close() def __enter__(self) -> "Reader": if self.closed: raise ValueError("Attempt to reopen a closed MaxMind DB") return self class Metadata: """Metadata for the MaxMind DB reader .. attribute:: binary_format_major_version The major version number of the binary format used when creating the database. :type: int .. attribute:: binary_format_minor_version The minor version number of the binary format used when creating the database. :type: int .. attribute:: build_epoch The Unix epoch for the build time of the database. :type: int .. attribute:: database_type A string identifying the database type, e.g., "GeoIP2-City". :type: str .. attribute:: description A map from locales to text descriptions of the database. :type: dict(str, str) .. attribute:: ip_version The IP version of the data in a database. A value of "4" means the database only supports IPv4. A database with a value of "6" may support both IPv4 and IPv6 lookups. :type: int .. attribute:: languages A list of locale codes supported by the databse. :type: list(str) .. attribute:: node_count The number of nodes in the database. :type: int .. attribute:: record_size The bit size of a record in the search tree. :type: int """ # pylint: disable=too-many-instance-attributes def __init__(self, **kwargs) -> None: """Creates new Metadata object. kwargs are key/value pairs from spec""" # Although I could just update __dict__, that is less obvious and it # doesn't work well with static analysis tools and some IDEs self.node_count = kwargs["node_count"] self.record_size = kwargs["record_size"] self.ip_version = kwargs["ip_version"] self.database_type = kwargs["database_type"] self.languages = kwargs["languages"] self.binary_format_major_version = kwargs["binary_format_major_version"] self.binary_format_minor_version = kwargs["binary_format_minor_version"] self.build_epoch = kwargs["build_epoch"] self.description = kwargs["description"] @property def node_byte_size(self) -> int: """The size of a node in bytes :type: int """ return self.record_size // 4 @property def search_tree_size(self) -> int: """The size of the search tree :type: int """ return self.node_count * self.node_byte_size def __repr__(self): args = ", ".join(f"{k}={v!r}" for k, v in self.__dict__.items()) return f"{self.__module__}.{self.__class__.__name__}({args})" python-maxminddb-2.5.2/maxminddb/types.py000066400000000000000000000010561454733172300204760ustar00rootroot00000000000000""" maxminddb.types ~~~~~~~~~~~~~~~ This module provides a Record type that represents a database record. """ from typing import AnyStr, Dict, List, Union Primitive = Union[AnyStr, bool, float, int] Record = Union[Primitive, "RecordList", "RecordDict"] class RecordList(List[Record]): # pylint: disable=too-few-public-methods """ RecordList is a type for lists in a database record. """ class RecordDict(Dict[str, Record]): # pylint: disable=too-few-public-methods """ RecordDict is a type for dicts in a database record. """ python-maxminddb-2.5.2/pyproject.toml000066400000000000000000000027201454733172300177300ustar00rootroot00000000000000[build-system] requires = ["setuptools", "setuptools-scm", "wheel"] build-backend = "setuptools.build_meta" [project] name = "maxminddb" version = "2.5.2" description = "Reader for the MaxMind DB format" authors = [ {name = "Gregory Oschwald", email = "goschwald@maxmind.com"}, ] dependencies = [ "setuptools>=68.2.2", ] requires-python = ">=3.8" readme = "README.rst" license = {text = "Apache License, Version 2.0"} classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Internet", "Topic :: Internet :: Proxy Servers", ] [project.urls] Homepage = "https://www.maxmind.com/" Documentation = "https://maxminddb.readthedocs.org/" "Source Code" = "https://github.com/maxmind/MaxMind-DB-Reader-python" "Issue Tracker" = "https://github.com/maxmind/MaxMind-DB-Reader-python/issues" [tool.setuptools.package-data] maxminddb = ["py.typed"] [tool.black] # src is showing up in our GitHub linting builds. It seems to # contain deps. extend-exclude = '^/src/' python-maxminddb-2.5.2/setup.cfg000066400000000000000000000015311454733172300166340ustar00rootroot00000000000000[flake8] extend-ignore = E203 # black uses 88 : ¯\_(ツ)_/¯ max-line-length = 88 [options] package_dir = maxminddb = maxminddb packages = maxminddb install_requires = include_package_data = True python_requires = >=3.8 [options.package_data] maxminddb = extension.pyi; py.typed [tox:tox] envlist = {py38,py39,py310,py311,py312}-test,py312-{black,lint,flake8,mypy} [gh-actions] python = 3.8: py38 3.9: py39 3.10: py310 3.11: py311 3.12: py312,black,lint,flake8,mypy [testenv:{py38,py39,py310,py311,py312}-test] deps = pytest commands = pytest tests passenv = * [testenv:py312-black] deps = black commands = black --check --diff . [testenv:py312-lint] deps = pylint commands = pylint maxminddb [testenv:py312-flake8] deps = flake8 commands = flake8 maxminddb [testenv:py312-mypy] deps = mypy commands = mypy maxminddb tests python-maxminddb-2.5.2/setup.py000066400000000000000000000117161454733172300165330ustar00rootroot00000000000000import os import re import sys from setuptools import setup, Extension from setuptools.command.build_ext import build_ext from wheel.bdist_wheel import bdist_wheel # These were only added to setuptools in 59.0.1. try: from setuptools.errors import CCompilerError from setuptools.errors import DistutilsExecError from setuptools.errors import DistutilsPlatformError except ImportError: from distutils.errors import CCompilerError from distutils.errors import DistutilsExecError from distutils.errors import DistutilsPlatformError cmdclass = {} PYPY = hasattr(sys, "pypy_version_info") JYTHON = sys.platform.startswith("java") if os.name == "nt": # Disable unknown pragma warning compile_args = ["-wd4068"] libraries = ["Ws2_32"] else: compile_args = ["-Wall", "-Wextra", "-Wno-unknown-pragmas"] libraries = [] if os.getenv("MAXMINDDB_USE_SYSTEM_LIBMAXMINDDB"): ext_module = [ Extension( "maxminddb.extension", libraries=["maxminddb"] + libraries, sources=["extension/maxminddb.c"], extra_compile_args=compile_args, ) ] else: ext_module = [ Extension( "maxminddb.extension", libraries=libraries, sources=[ "extension/maxminddb.c", "extension/libmaxminddb/src/data-pool.c", "extension/libmaxminddb/src/maxminddb.c", ], define_macros=[ ("HAVE_CONFIG_H", 0), ("MMDB_LITTLE_ENDIAN", 1 if sys.byteorder == "little" else 0), # We define these for maximum compatibility. The extension # itself supports all variations currently, but probing to # see what the compiler supports is a bit annoying to do # here, and we aren't using uint128 for much. ("MMDB_UINT128_USING_MODE", 0), ("MMDB_UINT128_IS_BYTE_ARRAY", 1), ("PACKAGE_VERSION", '"maxminddb-python"'), ], include_dirs=[ "extension", "extension/libmaxminddb/include", "extension/libmaxminddb/src", ], extra_compile_args=compile_args, ) ] # Cargo cult code for installing extension with pure Python fallback. # Taken from SQLAlchemy, but this same basic code exists in many modules. ext_errors = (CCompilerError, DistutilsExecError, DistutilsPlatformError) class BuildFailed(Exception): def __init__(self): self.cause = sys.exc_info()[1] class ve_build_ext(build_ext): # This class allows C extension building to fail. def run(self): try: build_ext.run(self) except DistutilsPlatformError: raise BuildFailed() def build_extension(self, ext): try: build_ext.build_extension(self, ext) except ext_errors: raise BuildFailed() except ValueError: # this can happen on Windows 64 bit, see Python issue 7511 if "'path'" in str(sys.exc_info()[1]): raise BuildFailed() raise cmdclass["build_ext"] = ve_build_ext # ROOT = os.path.dirname(__file__) with open(os.path.join(ROOT, "README.rst"), "rb") as fd: README = fd.read().decode("utf8") with open(os.path.join(ROOT, "maxminddb", "__init__.py"), "rb") as fd: maxminddb_text = fd.read().decode("utf8") VERSION = ( re.compile(r".*__version__ = \"(.*?)\"", re.S).match(maxminddb_text).group(1) ) def status_msgs(*msgs): print("*" * 75) for msg in msgs: print(msg) print("*" * 75) def find_packages(location): packages = [] for pkg in ["maxminddb"]: for _dir, subdirectories, files in os.walk(os.path.join(location, pkg)): if "__init__.py" in files: tokens = _dir.split(os.sep)[len(location.split(os.sep)) :] packages.append(".".join(tokens)) return packages def run_setup(with_cext): kwargs = {} loc_cmdclass = cmdclass.copy() if with_cext: kwargs["ext_modules"] = ext_module loc_cmdclass["bdist_wheel"] = bdist_wheel setup(version=VERSION, cmdclass=loc_cmdclass, **kwargs) if JYTHON: run_setup(False) status_msgs( "WARNING: Disabling C extension due to Python platform.", "Plain-Python build succeeded.", ) else: try: run_setup(True) except BuildFailed as exc: if os.getenv("MAXMINDDB_REQUIRE_EXTENSION"): raise exc status_msgs( exc.cause, "WARNING: The C extension could not be compiled, " + "speedups are not enabled.", "Failure information, if any, is above.", "Retrying the build without the C extension now.", ) run_setup(False) status_msgs( "WARNING: The C extension could not be compiled, " + "speedups are not enabled.", "Plain-Python build succeeded.", ) python-maxminddb-2.5.2/tests/000077500000000000000000000000001454733172300161555ustar00rootroot00000000000000python-maxminddb-2.5.2/tests/data/000077500000000000000000000000001454733172300170665ustar00rootroot00000000000000python-maxminddb-2.5.2/tests/decoder_test.py000066400000000000000000000172131454733172300211770ustar00rootroot00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- import mmap from maxminddb.decoder import Decoder import unittest class TestDecoder(unittest.TestCase): def test_arrays(self): arrays = { b"\x00\x04": [], b"\x01\x04\x43\x46\x6f\x6f": ["Foo"], b"\x02\x04\x43\x46\x6f\x6f\x43\xe4\xba\xba": ["Foo", "人"], } self.validate_type_decoding("arrays", arrays) def test_boolean(self): booleans = { b"\x00\x07": False, b"\x01\x07": True, } self.validate_type_decoding("booleans", booleans) def test_double(self): doubles = { b"\x68\x00\x00\x00\x00\x00\x00\x00\x00": 0.0, b"\x68\x3F\xE0\x00\x00\x00\x00\x00\x00": 0.5, b"\x68\x40\x09\x21\xFB\x54\x44\x2E\xEA": 3.14159265359, b"\x68\x40\x5E\xC0\x00\x00\x00\x00\x00": 123.0, b"\x68\x41\xD0\x00\x00\x00\x07\xF8\xF4": 1073741824.12457, b"\x68\xBF\xE0\x00\x00\x00\x00\x00\x00": -0.5, b"\x68\xC0\x09\x21\xFB\x54\x44\x2E\xEA": -3.14159265359, b"\x68\xC1\xD0\x00\x00\x00\x07\xF8\xF4": -1073741824.12457, } self.validate_type_decoding("double", doubles) def test_float(self): floats = { b"\x04\x08\x00\x00\x00\x00": 0.0, b"\x04\x08\x3F\x80\x00\x00": 1.0, b"\x04\x08\x3F\x8C\xCC\xCD": 1.1, b"\x04\x08\x40\x48\xF5\xC3": 3.14, b"\x04\x08\x46\x1C\x3F\xF6": 9999.99, b"\x04\x08\xBF\x80\x00\x00": -1.0, b"\x04\x08\xBF\x8C\xCC\xCD": -1.1, b"\x04\x08\xC0\x48\xF5\xC3": -3.14, b"\x04\x08\xC6\x1C\x3F\xF6": -9999.99, } self.validate_type_decoding("float", floats) def test_int32(self): int32 = { b"\x00\x01": 0, b"\x04\x01\xff\xff\xff\xff": -1, b"\x01\x01\xff": 255, b"\x04\x01\xff\xff\xff\x01": -255, b"\x02\x01\x01\xf4": 500, b"\x04\x01\xff\xff\xfe\x0c": -500, b"\x02\x01\xff\xff": 65535, b"\x04\x01\xff\xff\x00\x01": -65535, b"\x03\x01\xff\xff\xff": 16777215, b"\x04\x01\xff\x00\x00\x01": -16777215, b"\x04\x01\x7f\xff\xff\xff": 2147483647, b"\x04\x01\x80\x00\x00\x01": -2147483647, } self.validate_type_decoding("int32", int32) def test_map(self): maps = { b"\xe0": {}, b"\xe1\x42\x65\x6e\x43\x46\x6f\x6f": {"en": "Foo"}, b"\xe2\x42\x65\x6e\x43\x46\x6f\x6f\x42\x7a\x68\x43\xe4\xba\xba": { "en": "Foo", "zh": "人", }, ( b"\xe1\x44\x6e\x61\x6d\x65\xe2\x42\x65\x6e" b"\x43\x46\x6f\x6f\x42\x7a\x68\x43\xe4\xba\xba" ): {"name": {"en": "Foo", "zh": "人"}}, ( b"\xe1\x49\x6c\x61\x6e\x67\x75\x61\x67\x65\x73" b"\x02\x04\x42\x65\x6e\x42\x7a\x68" ): {"languages": ["en", "zh"]}, } self.validate_type_decoding("maps", maps) def test_pointer(self): pointers = { b"\x20\x00": 0, b"\x20\x05": 5, b"\x20\x0a": 10, b"\x23\xff": 1023, b"\x28\x03\xc9": 3017, b"\x2f\xf7\xfb": 524283, b"\x2f\xff\xff": 526335, b"\x37\xf7\xf7\xfe": 134217726, b"\x37\xff\xff\xff": 134744063, b"\x38\x7f\xff\xff\xff": 2147483647, b"\x38\xff\xff\xff\xff": 4294967295, } self.validate_type_decoding("pointers", pointers) strings = { b"\x40": "", b"\x41\x31": "1", b"\x43\xE4\xBA\xBA": "人", ( b"\x5b\x31\x32\x33\x34" b"\x35\x36\x37\x38\x39\x30\x31\x32\x33\x34\x35" b"\x36\x37\x38\x39\x30\x31\x32\x33\x34\x35\x36\x37" ): "123456789012345678901234567", ( b"\x5c\x31\x32\x33\x34" b"\x35\x36\x37\x38\x39\x30\x31\x32\x33\x34\x35" b"\x36\x37\x38\x39\x30\x31\x32\x33\x34\x35\x36" b"\x37\x38" ): "1234567890123456789012345678", ( b"\x5d\x00\x31\x32\x33" b"\x34\x35\x36\x37\x38\x39\x30\x31\x32\x33\x34" b"\x35\x36\x37\x38\x39\x30\x31\x32\x33\x34\x35" b"\x36\x37\x38\x39" ): "12345678901234567890123456789", ( b"\x5d\x01\x31\x32\x33" b"\x34\x35\x36\x37\x38\x39\x30\x31\x32\x33\x34" b"\x35\x36\x37\x38\x39\x30\x31\x32\x33\x34\x35" b"\x36\x37\x38\x39\x30" ): "123456789012345678901234567890", b"\x5e\x00\xd7" + 500 * b"\x78": "x" * 500, b"\x5e\x06\xb3" + 2000 * b"\x78": "x" * 2000, b"\x5f\x00\x10\x53" + 70000 * b"\x78": "x" * 70000, } def test_string(self): self.validate_type_decoding("string", self.strings) def test_byte(self): b = { bytes([0xC0 ^ k[0]]) + k[1:]: v.encode("utf-8") for k, v in self.strings.items() } self.validate_type_decoding("byte", b) def test_uint16(self): uint16 = { b"\xa0": 0, b"\xa1\xff": 255, b"\xa2\x01\xf4": 500, b"\xa2\x2a\x78": 10872, b"\xa2\xff\xff": 65535, } self.validate_type_decoding("uint16", uint16) def test_uint32(self): uint32 = { b"\xc0": 0, b"\xc1\xff": 255, b"\xc2\x01\xf4": 500, b"\xc2\x2a\x78": 10872, b"\xc2\xff\xff": 65535, b"\xc3\xff\xff\xff": 16777215, b"\xc4\xff\xff\xff\xff": 4294967295, } self.validate_type_decoding("uint32", uint32) def generate_large_uint(self, bits): ctrl_byte = b"\x02" if bits == 64 else b"\x03" uints = { b"\x00" + ctrl_byte: 0, b"\x02" + ctrl_byte + b"\x01\xf4": 500, b"\x02" + ctrl_byte + b"\x2a\x78": 10872, } for power in range(bits // 8 + 1): expected = 2 ** (8 * power) - 1 input = bytes([power]) + ctrl_byte + (b"\xff" * power) uints[input] = expected return uints def test_uint64(self): self.validate_type_decoding("uint64", self.generate_large_uint(64)) def test_uint128(self): self.validate_type_decoding("uint128", self.generate_large_uint(128)) def validate_type_decoding(self, type, tests): for input, expected in tests.items(): self.check_decoding(type, input, expected) def check_decoding(self, type, input, expected, name=None): name = name or expected db = mmap.mmap(-1, len(input)) db.write(input) decoder = Decoder(db, pointer_test=True) ( actual, _, ) = decoder.decode(0) if type in ("float", "double"): self.assertAlmostEqual(expected, actual, places=3, msg=type) else: self.assertEqual(expected, actual, type) def test_real_pointers(self): with open("tests/data/test-data/maps-with-pointers.raw", "r+b") as db_file: mm = mmap.mmap(db_file.fileno(), 0) decoder = Decoder(mm, 0) self.assertEqual(({"long_key": "long_value1"}, 22), decoder.decode(0)) self.assertEqual(({"long_key": "long_value2"}, 37), decoder.decode(22)) self.assertEqual(({"long_key2": "long_value1"}, 50), decoder.decode(37)) self.assertEqual(({"long_key2": "long_value2"}, 55), decoder.decode(50)) self.assertEqual(({"long_key": "long_value1"}, 57), decoder.decode(55)) self.assertEqual(({"long_key2": "long_value2"}, 59), decoder.decode(57)) mm.close() python-maxminddb-2.5.2/tests/reader_test.py000066400000000000000000000557021454733172300210410ustar00rootroot00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- import ipaddress import multiprocessing import os import pathlib import threading import unittest import unittest.mock as mock from multiprocessing import Process, Pipe from typing import Union, Type import maxminddb try: import maxminddb.extension except ImportError: maxminddb.extension = None # type: ignore from maxminddb import open_database, InvalidDatabaseError from maxminddb.const import ( MODE_AUTO, MODE_MMAP_EXT, MODE_MMAP, MODE_FILE, MODE_MEMORY, MODE_FD, ) def get_reader_from_file_descriptor(filepath, mode): """Patches open_database() for class TestFDReader().""" if mode == MODE_FD: with open(filepath, "rb") as mmdb_fh: return maxminddb.open_database(mmdb_fh, mode) else: # There are a few cases where mode is statically defined in # BaseTestReader(). In those cases just call an unpatched # open_database() with a string path. return maxminddb.open_database(filepath, mode) class BaseTestReader(object): readerClass: Union[ Type["maxminddb.extension.Reader"], Type["maxminddb.reader.Reader"] ] use_ip_objects = False # fork doesn't work on Windows and spawn would involve pickling the reader, # which isn't possible. if os.name != "nt": mp = multiprocessing.get_context("fork") def ipf(self, ip): if self.use_ip_objects: return ipaddress.ip_address(ip) return ip def test_reader(self): for record_size in [24, 28, 32]: for ip_version in [4, 6]: file_name = ( "tests/data/test-data/MaxMind-DB-test-ipv" + str(ip_version) + "-" + str(record_size) + ".mmdb" ) reader = open_database(file_name, self.mode) self._check_metadata(reader, ip_version, record_size) if ip_version == 4: self._check_ip_v4(reader, file_name) else: self._check_ip_v6(reader, file_name) reader.close() def test_get_with_prefix_len(self): decoder_record = { "array": [1, 2, 3], "boolean": True, "bytes": b"\x00\x00\x00*", "double": 42.123456, "float": 1.100000023841858, "int32": -268435456, "map": { "mapX": { "arrayX": [7, 8, 9], "utf8_stringX": "hello", }, }, "uint128": 1329227995784915872903807060280344576, "uint16": 0x64, "uint32": 0x10000000, "uint64": 0x1000000000000000, "utf8_string": "unicode! ☯ - ♫", } tests = [ { "ip": "1.1.1.1", "file_name": "MaxMind-DB-test-ipv6-32.mmdb", "expected_prefix_len": 8, "expected_record": None, }, { "ip": "::1:ffff:ffff", "file_name": "MaxMind-DB-test-ipv6-24.mmdb", "expected_prefix_len": 128, "expected_record": {"ip": "::1:ffff:ffff"}, }, { "ip": "::2:0:1", "file_name": "MaxMind-DB-test-ipv6-24.mmdb", "expected_prefix_len": 122, "expected_record": {"ip": "::2:0:0"}, }, { "ip": "1.1.1.1", "file_name": "MaxMind-DB-test-ipv4-24.mmdb", "expected_prefix_len": 32, "expected_record": {"ip": "1.1.1.1"}, }, { "ip": "1.1.1.3", "file_name": "MaxMind-DB-test-ipv4-24.mmdb", "expected_prefix_len": 31, "expected_record": {"ip": "1.1.1.2"}, }, { "ip": "1.1.1.3", "file_name": "MaxMind-DB-test-decoder.mmdb", "expected_prefix_len": 24, "expected_record": decoder_record, }, { "ip": "::ffff:1.1.1.128", "file_name": "MaxMind-DB-test-decoder.mmdb", "expected_prefix_len": 120, "expected_record": decoder_record, }, { "ip": "::1.1.1.128", "file_name": "MaxMind-DB-test-decoder.mmdb", "expected_prefix_len": 120, "expected_record": decoder_record, }, { "ip": "200.0.2.1", "file_name": "MaxMind-DB-no-ipv4-search-tree.mmdb", "expected_prefix_len": 0, "expected_record": "::0/64", }, { "ip": "::200.0.2.1", "file_name": "MaxMind-DB-no-ipv4-search-tree.mmdb", "expected_prefix_len": 64, "expected_record": "::0/64", }, { "ip": "0:0:0:0:ffff:ffff:ffff:ffff", "file_name": "MaxMind-DB-no-ipv4-search-tree.mmdb", "expected_prefix_len": 64, "expected_record": "::0/64", }, { "ip": "ef00::", "file_name": "MaxMind-DB-no-ipv4-search-tree.mmdb", "expected_prefix_len": 1, "expected_record": None, }, ] for test in tests: with open_database( "tests/data/test-data/" + test["file_name"], self.mode ) as reader: (record, prefix_len) = reader.get_with_prefix_len(test["ip"]) self.assertEqual( prefix_len, test["expected_prefix_len"], f"expected prefix_len of {test['expected_prefix_len']} for {test['ip']}" + f" in {test['file_name']} but got {prefix_len}", ) self.assertEqual( record, test["expected_record"], "expected_record for " + test["ip"] + " in " + test["file_name"], ) def test_iterator(self): tests = ( { "database": "ipv4", "expected": [ "1.1.1.1/32", "1.1.1.2/31", "1.1.1.4/30", "1.1.1.8/29", "1.1.1.16/28", "1.1.1.32/32", ], }, { "database": "ipv6", "expected": [ "::1:ffff:ffff/128", "::2:0:0/122", "::2:0:40/124", "::2:0:50/125", "::2:0:58/127", ], }, { "database": "mixed", "expected": [ "1.1.1.1/32", "1.1.1.2/31", "1.1.1.4/30", "1.1.1.8/29", "1.1.1.16/28", "1.1.1.32/32", "::1:ffff:ffff/128", "::2:0:0/122", "::2:0:40/124", "::2:0:50/125", "::2:0:58/127", ], }, ) for record_size in [24, 28, 32]: for test in tests: f = f'tests/data/test-data/MaxMind-DB-test-{test["database"]}-{record_size}.mmdb' reader = open_database(f, self.mode) networks = [str(n) for (n, _) in reader] self.assertEqual(networks, test["expected"], f) def test_decoder(self): reader = open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", self.mode ) record = reader.get(self.ipf("::1.1.1.0")) self.assertEqual(record["array"], [1, 2, 3]) self.assertEqual(record["boolean"], True) self.assertEqual(record["bytes"], bytearray(b"\x00\x00\x00*")) self.assertEqual(record["double"], 42.123456) self.assertAlmostEqual(record["float"], 1.1) self.assertEqual(record["int32"], -268435456) self.assertEqual( { "mapX": {"arrayX": [7, 8, 9], "utf8_stringX": "hello"}, }, record["map"], ) self.assertEqual(record["uint16"], 100) self.assertEqual(record["uint32"], 268435456) self.assertEqual(record["uint64"], 1152921504606846976) self.assertEqual(record["utf8_string"], "unicode! ☯ - ♫") self.assertEqual(1329227995784915872903807060280344576, record["uint128"]) reader.close() def test_metadata_pointers(self): with open_database( "tests/data/test-data/MaxMind-DB-test-metadata-pointers.mmdb", self.mode ) as reader: self.assertEqual( "Lots of pointers in metadata", reader.metadata().database_type, ) def test_no_ipv4_search_tree(self): reader = open_database( "tests/data/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb", self.mode ) self.assertEqual(reader.get(self.ipf("1.1.1.1")), "::0/64") self.assertEqual(reader.get(self.ipf("192.1.1.1")), "::0/64") reader.close() def test_ipv6_address_in_ipv4_database(self): reader = open_database( "tests/data/test-data/MaxMind-DB-test-ipv4-24.mmdb", self.mode ) with self.assertRaisesRegex( ValueError, "Error looking up 2001::. " "You attempted to look up an IPv6 address " "in an IPv4-only database", ): reader.get(self.ipf("2001::")) reader.close() def test_opening_path(self): with open_database( pathlib.Path("tests/data/test-data/MaxMind-DB-test-decoder.mmdb"), self.mode ) as reader: self.assertEqual(reader.metadata().database_type, "MaxMind DB Decoder Test") def test_no_extension_exception(self): real_extension = maxminddb._extension maxminddb._extension = None with self.assertRaisesRegex( ValueError, "MODE_MMAP_EXT requires the maxminddb.extension module to be available", ): open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", MODE_MMAP_EXT ) maxminddb._extension = real_extension def test_broken_database(self): reader = open_database( "tests/data/test-data/" "GeoIP2-City-Test-Broken-Double-Format.mmdb", self.mode, ) with self.assertRaisesRegex( InvalidDatabaseError, r"The MaxMind DB file's data " r"section contains bad data \(unknown data " r"type or corrupt data\)", ): reader.get(self.ipf("2001:220::")) reader.close() def test_ip_validation(self): reader = open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", self.mode ) with self.assertRaisesRegex( ValueError, "'not_ip' does not appear to be an IPv4 or " "IPv6 address" ): reader.get("not_ip") reader.close() def test_missing_database(self): with self.assertRaisesRegex(FileNotFoundError, "No such file or directory"): open_database("file-does-not-exist.mmdb", self.mode) def test_nondatabase(self): with self.assertRaisesRegex( InvalidDatabaseError, r"Error opening database file \(README.rst\). " r"Is this a valid MaxMind DB file\?", ): open_database("README.rst", self.mode) # This is from https://github.com/maxmind/MaxMind-DB-Reader-python/issues/58 def test_database_with_invalid_utf8_key(self): reader = open_database( "tests/data/bad-data/maxminddb-python/bad-unicode-in-map-key.mmdb", self.mode, ) with self.assertRaises(UnicodeDecodeError): reader.get_with_prefix_len("163.254.149.39") def test_too_many_constructor_args(self): with self.assertRaises(TypeError): self.readerClass("README.md", self.mode, 1) def test_bad_constructor_mode(self): with self.assertRaisesRegex(ValueError, r"Unsupported open mode \(100\)"): self.readerClass("README.md", mode=100) def test_no_constructor_args(self): with self.assertRaisesRegex( TypeError, r" 1 required positional argument|" r"\(pos 1\) not found|" r"takes at least 2 arguments|" r"function missing required argument \'database\' \(pos 1\)", ): self.readerClass() def test_too_many_get_args(self): reader = open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", self.mode ) with self.assertRaises(TypeError): reader.get(self.ipf("1.1.1.1"), "blah") reader.close() def test_no_get_args(self): reader = open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", self.mode ) with self.assertRaises(TypeError): reader.get() reader.close() def test_incorrect_get_arg_type(self): reader = open_database("tests/data/test-data/GeoIP2-City-Test.mmdb", self.mode) with self.assertRaisesRegex( TypeError, "argument 1 must be a string or ipaddress object" ): reader.get(1) reader.close() def test_metadata_args(self): reader = open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", self.mode ) with self.assertRaises(TypeError): reader.metadata("blah") reader.close() def test_metadata_unknown_attribute(self): reader = open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", self.mode ) metadata = reader.metadata() with self.assertRaisesRegex( AttributeError, "'Metadata' object has no " "attribute 'blah'" ): metadata.blah reader.close() def test_close(self): reader = open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", self.mode ) reader.close() def test_double_close(self): reader = open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", self.mode ) reader.close() self.assertIsNone(reader.close(), "Double close does not throw an exception") def test_closed_get(self): if self.mode in [MODE_MEMORY, MODE_FD]: return reader = open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", self.mode ) reader.close() with self.assertRaisesRegex( ValueError, "Attempt to read from a closed MaxMind DB.|closed" ): reader.get(self.ipf("1.1.1.1")) def test_with_statement(self): filename = "tests/data/test-data/MaxMind-DB-test-ipv4-24.mmdb" with open_database(filename, self.mode) as reader: self._check_ip_v4(reader, filename) self.assertEqual(reader.closed, True) def test_with_statement_close(self): filename = "tests/data/test-data/MaxMind-DB-test-ipv4-24.mmdb" reader = open_database(filename, self.mode) reader.close() with self.assertRaisesRegex( ValueError, "Attempt to reopen a closed MaxMind DB" ): with reader: pass def test_closed(self): reader = open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", self.mode ) self.assertEqual(reader.closed, False) reader.close() self.assertEqual(reader.closed, True) # XXX - Figure out whether we want to have the same behavior on both the # extension and the pure Python reader. If we do, the pure Python # reader will need to throw an exception or the extension will need # to keep the metadata in memory. def test_closed_metadata(self): reader = open_database( "tests/data/test-data/MaxMind-DB-test-decoder.mmdb", self.mode ) reader.close() # The primary purpose of this is to ensure the extension doesn't # segfault try: metadata = reader.metadata() except IOError as ex: self.assertEqual( "Attempt to read from a closed MaxMind DB.", str(ex), "extension throws exception", ) else: self.assertIsNotNone(metadata, "pure Python implementation returns value") if os.name != "nt": def test_multiprocessing(self): self._check_concurrency(self.mp.Process) def test_threading(self): self._check_concurrency(threading.Thread) def _check_concurrency(self, worker_class): reader = open_database( "tests/data/test-data/GeoIP2-Domain-Test.mmdb", self.mode ) def lookup(pipe): try: for i in range(32): reader.get(self.ipf(f"65.115.240.{i}")) pipe.send(1) except: pipe.send(0) finally: if worker_class is self.mp.Process: reader.close() pipe.close() pipes = [self.mp.Pipe() for _ in range(32)] procs = [worker_class(target=lookup, args=(c,)) for (p, c) in pipes] for proc in procs: proc.start() for proc in procs: proc.join() reader.close() count = sum([p.recv() for (p, c) in pipes]) self.assertEqual(count, 32, "expected number of successful lookups") def _check_metadata(self, reader, ip_version, record_size): metadata = reader.metadata() self.assertEqual(2, metadata.binary_format_major_version, "major version") self.assertEqual(metadata.binary_format_minor_version, 0) self.assertGreater(metadata.build_epoch, 1373571901) self.assertEqual(metadata.database_type, "Test") self.assertEqual( {"en": "Test Database", "zh": "Test Database Chinese"}, metadata.description ) self.assertEqual(metadata.ip_version, ip_version) self.assertEqual(metadata.languages, ["en", "zh"]) self.assertGreater(metadata.node_count, 36) self.assertEqual(metadata.record_size, record_size) def _check_ip_v4(self, reader, file_name): for i in range(6): address = "1.1.1." + str(pow(2, i)) self.assertEqual( {"ip": address}, reader.get(self.ipf(address)), "found expected data record for " + address + " in " + file_name, ) pairs = { "1.1.1.3": "1.1.1.2", "1.1.1.5": "1.1.1.4", "1.1.1.7": "1.1.1.4", "1.1.1.9": "1.1.1.8", "1.1.1.15": "1.1.1.8", "1.1.1.17": "1.1.1.16", "1.1.1.31": "1.1.1.16", } for key_address, value_address in pairs.items(): data = {"ip": value_address} self.assertEqual( data, reader.get(self.ipf(key_address)), "found expected data record for " + key_address + " in " + file_name, ) for ip in ["1.1.1.33", "255.254.253.123"]: self.assertIsNone(reader.get(self.ipf(ip))) def _check_ip_v6(self, reader, file_name): subnets = ["::1:ffff:ffff", "::2:0:0", "::2:0:40", "::2:0:50", "::2:0:58"] for address in subnets: self.assertEqual( {"ip": address}, reader.get(self.ipf(address)), "found expected data record for " + address + " in " + file_name, ) pairs = { "::2:0:1": "::2:0:0", "::2:0:33": "::2:0:0", "::2:0:39": "::2:0:0", "::2:0:41": "::2:0:40", "::2:0:49": "::2:0:40", "::2:0:52": "::2:0:50", "::2:0:57": "::2:0:50", "::2:0:59": "::2:0:58", } for key_address, value_address in pairs.items(): self.assertEqual( {"ip": value_address}, reader.get(self.ipf(key_address)), "found expected data record for " + key_address + " in " + file_name, ) for ip in ["1.1.1.33", "255.254.253.123", "89fa::"]: self.assertIsNone(reader.get(self.ipf(ip))) def has_maxminddb_extension(): return maxminddb.extension and hasattr(maxminddb.extension, "Reader") @unittest.skipIf( not has_maxminddb_extension() and not os.environ.get("MM_FORCE_EXT_TESTS"), "No C extension module found. Skipping tests", ) class TestExtensionReader(BaseTestReader, unittest.TestCase): mode = MODE_MMAP_EXT if has_maxminddb_extension(): readerClass = maxminddb.extension.Reader @unittest.skipIf( not has_maxminddb_extension() and not os.environ.get("MM_FORCE_EXT_TESTS"), "No C extension module found. Skipping tests", ) class TestExtensionReaderWithIPObjects(BaseTestReader, unittest.TestCase): mode = MODE_MMAP_EXT use_ip_objects = True if has_maxminddb_extension(): readerClass = maxminddb.extension.Reader class TestAutoReader(BaseTestReader, unittest.TestCase): mode = MODE_AUTO readerClass: Union[ Type["maxminddb.extension.Reader"], Type["maxminddb.reader.Reader"] ] if has_maxminddb_extension(): readerClass = maxminddb.extension.Reader else: readerClass = maxminddb.reader.Reader class TestMMAPReader(BaseTestReader, unittest.TestCase): mode = MODE_MMAP readerClass = maxminddb.reader.Reader # We want one pure Python test to use IP objects, it doesn't # really matter which one. class TestMMAPReaderWithIPObjects(BaseTestReader, unittest.TestCase): mode = MODE_MMAP use_ip_objects = True readerClass = maxminddb.reader.Reader class TestFileReader(BaseTestReader, unittest.TestCase): mode = MODE_FILE readerClass = maxminddb.reader.Reader class TestMemoryReader(BaseTestReader, unittest.TestCase): mode = MODE_MEMORY readerClass = maxminddb.reader.Reader class TestFDReader(BaseTestReader, unittest.TestCase): def setUp(self): self.open_database_patcher = mock.patch(__name__ + ".open_database") self.addCleanup(self.open_database_patcher.stop) self.open_database = self.open_database_patcher.start() self.open_database.side_effect = get_reader_from_file_descriptor mode = MODE_FD readerClass = maxminddb.reader.Reader class TestOldReader(unittest.TestCase): def test_old_reader(self): reader = maxminddb.Reader("tests/data/test-data/MaxMind-DB-test-decoder.mmdb") record = reader.get("::1.1.1.0") self.assertEqual(record["array"], [1, 2, 3]) reader.close() pax_global_header00006660000000000000000000000064145473205600014520gustar00rootroot0000000000000052 comment=c796899e8faae25d561904cf44f1d4d3118a55e5 python-maxminddb-2.5.2/extension/libmaxminddb/000077500000000000000000000000001454732056000214565ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/.clang-format000066400000000000000000000001521454732056000240270ustar00rootroot00000000000000BasedOnStyle: LLVM IndentWidth: 4 BinPackArguments: false BinPackParameters: false IndentCaseLabels: true python-maxminddb-2.5.2/extension/libmaxminddb/.github/000077500000000000000000000000001454732056000230165ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/.github/dependabot.yml000066400000000000000000000001531454732056000256450ustar00rootroot00000000000000version: 2 updates: - package-ecosystem: "github-actions" directory: "/" schedule: interval: daily python-maxminddb-2.5.2/extension/libmaxminddb/.github/workflows/000077500000000000000000000000001454732056000250535ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/.github/workflows/clang-addresssanitizer.yml000066400000000000000000000016131454732056000322370ustar00rootroot00000000000000name: Run Clang AddressSanitizer on: push: pull_request: schedule: - cron: '13 20 * * SUN' jobs: addresssanitizer: name: Clang AddressSanitizer runs-on: ubuntu-latest env: ASAN_OPTIONS: strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:detect_invalid_pointer_pairs=2 CC: clang CXX: clang++ CFLAGS: -fsanitize=address -Wall -Wextra -Wpedantic -Wformat=2 -Walloca -Wvla -Wimplicit-fallthrough -Wcast-qual -Wconversion -Wshadow -Wundef -Wstrict-prototypes -Wswitch-enum -fstack-protector -D_FORTIFY_SOURCE=2 CXXFLAGS: -fsanitize=address LDFLAGS: -fsanitize=address steps: - uses: actions/checkout@v4 with: submodules: true - run: sudo apt install clang libipc-run3-perl - run: ./bootstrap - run: ./configure - run: make - run: make check python-maxminddb-2.5.2/extension/libmaxminddb/.github/workflows/clang-analyzer.yml000066400000000000000000000010701454732056000305030ustar00rootroot00000000000000name: Run Clang Static Analysis on: push: pull_request: schedule: - cron: '3 20 * * SUN' jobs: clang-analyzer: name: Clang static analysis runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: sudo apt install clang-tools libipc-run3-perl - run: ./bootstrap - run: scan-build ./configure env: CFLAGS: -std=c99 -Wall -Wextra -Werror -Wno-unused-function -Wno-unused-parameter - run: cd src; scan-build --status-bugs make; cd .. - run: cd bin; scan-build --status-bugs make; cd .. python-maxminddb-2.5.2/extension/libmaxminddb/.github/workflows/codeql-analysis.yml000066400000000000000000000021151454732056000306650ustar00rootroot00000000000000name: "Code scanning - action" on: push: branches-ignore: - 'dependabot/**' pull_request: schedule: - cron: '0 7 * * 2' jobs: CodeQL-Build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. fetch-depth: 2 submodules: true # If this run was triggered by a pull request event, then checkout # the head of the pull request instead of the merge commit. - run: git checkout HEAD^2 if: ${{ github.event_name == 'pull_request' }} # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL uses: github/codeql-action/init@v3 - run: sudo apt install libipc-run3-perl libipc-system-simple-perl libfile-slurp-perl libfile-which-perl pandoc - run: | ./bootstrap ./configure make make safedist - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3 python-maxminddb-2.5.2/extension/libmaxminddb/.github/workflows/test.yml000066400000000000000000000023661454732056000265640ustar00rootroot00000000000000name: Run tests on: push: pull_request: schedule: - cron: '3 20 * * SUN' jobs: test-autoconf: strategy: matrix: os: [ubuntu-latest, macos-latest] cc: [gcc, clang] posix: ['', -D_POSIX_C_SOURCE=200112L] name: Autotools build on ${{matrix.os}} using ${{matrix.cc}} ${{matrix.posix}} runs-on: ${{ matrix.os }} env: CC: ${{ matrix.cc }} VERBOSE: 1 steps: - uses: actions/checkout@v4 with: submodules: true - run: sudo apt install libipc-run3-perl if: ${{ matrix.os == 'ubuntu-latest' }} - run: brew install autoconf automake libtool if: ${{ matrix.os == 'macos-latest' }} - run: ./bootstrap - run: ./configure env: CFLAGS: -std=c99 -Wall -Wextra -Werror -Wno-unused-function -Wno-unused-parameter ${{ matrix.posix }} - run: make - run: make check test-cmake: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] name: CMake build on ${{matrix.os}} runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 with: submodules: true - run: cmake -DBUILD_TESTING=ON . - run: cmake --build . - run: ctest -V . -C Debug python-maxminddb-2.5.2/extension/libmaxminddb/.gitignore000066400000000000000000000007611454732056000234520ustar00rootroot00000000000000*.a *.la *.lo *.o *.so *.swp */.deps */.libs *~ .\#* .gh-pages /INSTALL /autom4te.cache /bin/country_lookup /bin/mmdbdump /bin/mmdblookup /compile /config.* /configure /depcomp /include/maxminddb_config.h /install-sh /libmaxminddb-* /libtool /ltmain.sh /man /missing /src/libmaxminddb.pc /src/test-data-pool /t/*.log /t/*.trs /t/*_t /t/*-t /test-driver \#*\# aclocal.m4 stamp-h* CMakeCache.txt CMakeFiles/ CTestTestfile.cmake cmake_install.cmake Makefile Makefile.in Testing/ install_manifest.txt python-maxminddb-2.5.2/extension/libmaxminddb/.gitmodules000066400000000000000000000004231454732056000236320ustar00rootroot00000000000000[submodule "maxmind-db"] path = maxmind-db url = https://github.com/maxmind/MaxMind-DB.git [submodule "t/libtap"] path = t/libtap url = https://github.com/zorgnax/libtap.git [submodule "t/maxmind-db"] path = t/maxmind-db url = https://github.com/maxmind/MaxMind-DB.git python-maxminddb-2.5.2/extension/libmaxminddb/.perltidyrc000066400000000000000000000003251454732056000236400ustar00rootroot00000000000000--blank-lines-before-packages=0 --iterations=2 --no-outdent-long-comments -bar -boc -ci=4 -i=4 -l=78 -nolq -se -wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x=" python-maxminddb-2.5.2/extension/libmaxminddb/AUTHORS000066400000000000000000000000001454732056000225140ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/CMakeLists.txt000066400000000000000000000071551454732056000242260ustar00rootroot00000000000000cmake_minimum_required (VERSION 3.9) project(maxminddb LANGUAGES C VERSION 1.9.0 ) set(MAXMINDDB_SOVERSION 0.0.7) set(CMAKE_C_STANDARD 99) set(CMAKE_C_EXTENSIONS OFF) if (WIN32) option(MSVC_STATIC_RUNTIME "When ON the library will be built by using MT/MTd run-time libraries" OFF) endif() option(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" OFF) option(BUILD_TESTING "Build test programs" ON) include(GNUInstallDirs) include(CheckTypeSize) check_type_size("unsigned __int128" UINT128) check_type_size("unsigned int __attribute__((mode(TI)))" UINT128_USING_MODE) if(HAVE_UINT128) set(MMDB_UINT128_USING_MODE 0) set(MMDB_UINT128_IS_BYTE_ARRAY 0) elseif(HAVE_UINT128_USING_MODE) set(MMDB_UINT128_USING_MODE 1) set(MMDB_UINT128_IS_BYTE_ARRAY 0) else() set(MMDB_UINT128_USING_MODE 0) set(MMDB_UINT128_IS_BYTE_ARRAY 1) endif() include (TestBigEndian) TEST_BIG_ENDIAN(IS_BIG_ENDIAN) if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() configure_file(${PROJECT_SOURCE_DIR}/include/maxminddb_config.h.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/generated/maxminddb_config.h) add_library(maxminddb src/maxminddb.c src/data-pool.c ) add_library(maxminddb::maxminddb ALIAS maxminddb) set_target_properties(maxminddb PROPERTIES VERSION ${MAXMINDDB_SOVERSION}) target_compile_definitions(maxminddb PRIVATE PACKAGE_VERSION="${PROJECT_VERSION}") if(NOT IS_BIG_ENDIAN) target_compile_definitions(maxminddb PRIVATE MMDB_LITTLE_ENDIAN=1) endif() if(MSVC) target_compile_definitions(maxminddb PRIVATE _CRT_SECURE_NO_WARNINGS) endif() if(WIN32) target_link_libraries(maxminddb ws2_32) if(BUILD_SHARED_LIBS) set_target_properties(maxminddb PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() if(MSVC_STATIC_RUNTIME) # On MSVC, when MSVC_STATIC_RUNTIME is ON, MT (Release) and MTd (Debug) # run-time libraries will be used instead of MD/MDd. The default is OFF so # MD/MDd are used when nothing related is passed. # # Adapted from https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#make-override-files set(CMAKE_USER_MAKE_RULES_OVERRIDE ${CMAKE_CURRENT_SOURCE_DIR}/c_flag_overrides.cmake) set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX ${CMAKE_CURRENT_SOURCE_DIR}/cxx_flag_overrides.cmake) endif() endif() target_include_directories(maxminddb PUBLIC $ $ $ $ $ ) set(MAXMINDB_HEADERS include/maxminddb.h ${CMAKE_CURRENT_BINARY_DIR}/generated/maxminddb_config.h ) set_target_properties(maxminddb PROPERTIES PUBLIC_HEADER "${MAXMINDB_HEADERS}") install(TARGETS maxminddb EXPORT maxminddb) # This is required to work with FetchContent install(EXPORT maxminddb FILE maxminddb-config.cmake NAMESPACE maxminddb:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/maxminddb) # We always want to build mmdblookup add_subdirectory(bin) if (BUILD_TESTING) enable_testing() add_subdirectory(t) endif() # Generate libmaxminddb.pc file for pkg-config # Set the required variables as same with autotools set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix \${prefix}) set(libdir \${exec_prefix}/lib) set(includedir \${prefix}/include) set(PACKAGE_VERSION ${maxminddb_VERSION}) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/libmaxminddb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/src/libmaxminddb.pc @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/src/libmaxminddb.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) python-maxminddb-2.5.2/extension/libmaxminddb/Changes.md000066400000000000000000000425231454732056000233560ustar00rootroot00000000000000## 1.9.0 - 2024-01-09 * On very large databases, the calculation to determine the search tree size could overflow. This was fixed and several additional guards against overflows were added. Reported by Sami Salonen. GitHub #335. * Removed `sa_family_t` typedef from the public header on Windows. Pull request by Noah Treuhaft. GitHub #334. * The CMake build was adjusted to allow running builds in parallel. Pull request by Vladyslav Miachkov. GitHub #332. ## 1.8.0 - 2023-11-07 * `PACKAGE_VERSION` is now a private compile definition when building with CMake. Pull request by bsergean. GitHub #308. * `PACKAGE_VERSION` is no longer defined in `maxminddb.h` on Windows. * The feature test macro `_POSIX_C_SOURCE` is no longer set by `maxminddb.h`. As discussed in GitHub #318, this should be set by applications rather than by libraries. * `assert()` is no longer used outside test code. * The deprecated Visual Studio 12 project files in the `projects/` directory have been removed. CMake should be used when building on Windows. ## 1.7.1 - 2022-09-30 * The external symbols test now only runs on Linux. It assumes a Linux environment. Reported by Carlo Cabrera. GitHub #304. ## 1.7.0 - 2022-09-28 * `FD_CLOEXEC` is now set on platforms that do not support `O_CLOEXEC`. Reported by rittneje. GitHub #273. * When building with Visual Studio, you may now build a static runtime with CMake by setting `MSVC_STATIC_RUNTIME` to `ON`. Pull request by Rafael Santiago. GitHub #269. * The CMake build now works on iOS. Pull request by SpaceIm. GitHub #271. * The CMake build now uses the correct library directory on Linux systems using alternate directory structures. Pull request by Satadru Pramanik. GitHub #284. * File size check now correctly compares the size to `SSIZE_MAX`. Reported by marakew. GitHub #301. ## 1.6.0 - 2021-04-29 * This release includes several improvements to the CMake build. In particular: * C99 support is now properly enabled, fixing builds on older `gcc` versions. Pull request by Jan Včelák. GitHub #257. * `CMAKE_SHARED_LIBRARY_PREFIX` and `CMAKE_STATIC_LIBRARY_PREFIX` are no longer explicitly set and now use the default values for the platform. Pull request by Jan Včelák. GitHub #258. * `target_include_directories` now works as expected. Pull request by Jan Včelák. GitHub #259. * DLLs are now installed on Windows when `libmaxminddb` is built as a shared library. Pull request by Jan Včelák. GitHub #261. * When built as a dynamic library on Windows, all symbols are now exported. Pull request by Jan Včelák. GitHub #262. ## 1.5.2 - 2021-02-18 * With `libmaxminddb` on Windows and `mmdblookup` generally, there were instances where the return value of `calloc` was not checked, which could lead to issues in low memory situations or when resource limits had been set. Reported by cve-reporting. GitHub #252. ## 1.5.1 - 2021-02-18 * The formatting of the manpages has been improved and the script that generates them now supports `lowdown` in addition to `pandoc`. Pull request by Faidon Liambotis. GitHub #248. ## 1.5.0 - 2021-01-05 * A CMake build script has been added for Windows builds. The Visual Studio project files in `projects` are now considered deprecated and will be removed in a future release. ## 1.4.3 - 2020-08-06 * On Windows, always call `CreateFileW` instead of `CreateFile`. `CreateFile` could be mapped to `CreateFileA` and not work as expected. Pull request by Sandu Liviu Catalin. GitHub #228. * Fixed use of uninitialized memory in `dump_entry_data_list()` that could cause a heap buffer overflow in `mmdblookup`. As part of this fix, most uses of `malloc` were replaced with `calloc`. Reported by azhou. GitHub #236. ## 1.4.2 - 2019-11-02 * The 1.4.0 release introduced a change that increased the size of `MMDB_s`, unintentionally causing an ABI break. This release reverts the relevant commit. ## 1.4.1 - 2019-11-01 * The man page links for function calls were not generated correctly in 1.4.0. This has been corrected. ## 1.4.0 - 2019-11-01 * A negative array index may now be used with `MMDB_get_value`, `MMDB_vget_value`, and `MMDB_aget_value`. This specifies the element from the end of the array. For instance, `-1` would refer to the last element of the array. PR by Kyle Box. GitHub #205. * On Windows, the file name passed to `MMDB_open` is now expected to be UTF-8 encoded. This allows Unicode characters to be used in file names. As part of this change, `mmdblookup` on Windows now converts its arguments to UTF-8. PR by Gerald Combs. GitHub #189 & #191. * Fix a memory leak that occurred when freeing an `MMDB_s` where the database had no languages defined in the metadata. If you are using an official MaxMind database, this leak does not affect you. Pull request by Kókai Péter. GitHub #180. * Add `--disable-binaries` option to `configure`. Pull request by Fabrice Fontaine. GitHub #166. * Previous releases incorrectly included `*.Po` files in the `t` directory. This has been corrected. Reported by Daniel Macks. GitHub #168. * The internal use of the `MMDB_s` now has the `const` modifier. Public functions that accepted an `MMDB_s` as an argument now also declare it as `const`. Pull request by Kurt Johnson. GitHub #199. * `mmdblookup` now displays the prefix length for the record when using the verbose flag. GitHub #172. ## 1.3.2 - 2018-01-17 * Allocate memory for `MMDB_entry_data_list_s` structs in separate chunks rather than one large chunk. This simplifies accessing memory in `MMDB_get_entry_data_list()` and increases performance. It builds on the changes in 1.3.0 and 1.3.1. * We no longer export `data_pool_*` symbols. These are internal functions but we were previously exporting them. Pull request by Faidon Liambotis. GitHub #162. * Build with POSIX.1-2008 by default if the system supports it. This allows use of `open()` with `O_CLOEXEC`. We retain support for systems that provide only POSIX.1-2001. * Open the database with the `O_CLOEXEC` flag if the system provides it. This avoids cases where we could leak fds when called in multi-threaded programs that `fork()` and `exec()`. Original report and PR by Brandon L Black. * Added a test to ensure we export only intended symbols (e.g. MMDB_*). ## 1.3.1 - 2017-11-24 * Fix build problems related to `rpl_malloc()`. Pull request by Rainer Gerhards. GitHub #152. * Fix a race to set and read data in a field on the `MMDB_s` struct (`ipv4_start_node`). GitHub #153. * Fix cases of invalid memory access when using `MMDB_get_entry_data_list()`. This was introduced in 1.3.0 and occurred when performing large lookups. GitHub #153. ## 1.3.0 - 2017-11-10 * Perform fewer memory allocations in `MMDB_get_entry_data_list()`. This significantly improves its performance. GitHub #147. * Fix `mmdblookup`'s build epoch reporting on some systems. Big endian systems with a 32-bit `time_t` no longer show a database build date of 1970-01-01 00:00:00. Pull request by Rainer Jung. GitHub #143. ## 1.2.1 - 2017-05-15 * Use autoconf to check the system's endianness rather than trying to do this with compiler-defined macros like `__BYTE_ORDER__`. Apparently this didn't work properly on a Sparc system. GitHub #120. * Several compiler warnings on Visual C++ were fixed. Pull request by Marcel Raad. GitHub #130. * Fix segmentation faults found in `MMDB_open()` using afl-fuzz. This occurred on corrupt databases that had a data pointer large enough to cause an integer overflow when doing bound checking. Reported by Ryan Whitworth. GitHub #140. * Add --disable-tests option to `configure`. Pull request by Fabrice Fontaine. GitHub #136. ## 1.2.0 - 2016-03-23 * Four additional fields were added to the end of the `MMDB_search_node_s` struct returned by `MMDB_read_node`. These fields allow the user to iterate through the search tree without making undocumented assumptions about how this library works internally and without knowing the specific details of the database format. GitHub #110. ## 1.1.5 - 2016-03-20 * Previously, reading a database with a pointer in the metadata would cause an `MMDB_INVALID_METADATA_ERROR` to be returned. This was due to an invalid offset being used when calculating the pointer. The `data_section` and `metadata_section` fields now both point to the beginning of the data section. Previously, `data_section` pointed to the beginning of the data separator. This will not affect anyone using only documented fields from `MMDB_s`. * `MMDB_lookup_sockaddr` will set `mmdb_error` to `MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR` if an IPv6 `sockaddr` is looked up in an IPv4-only database. Previously only `MMDB_lookup_string` would set this error code. * When resolving an address, this library now relies on `getaddrinfo` to determine the address family rather than trying to guess it itself. ## 1.1.4 - 2016-01-06 * Packaging fixes. The 1.1.3 tarball release contained a lot of extra junk in the t/ directory. ## 1.1.3 - 2016-01-05 * Added several additional checks to make sure that we don't attempt to read past the end of the databases's data section. Implemented by Tobias Stoeckmann. GitHub #103. * When searching for the database metadata, there was a bug that caused the code to think it had found valid metadata when none existed. In addition, this could lead to an attempt to read past the end of the database entirely. Finally, if there are multiple metadata markers in the database, we treat the final one as the start of the metdata, instead of the first. Implemented by Tobias Stoeckmann. GitHub #102. * Don't attempt to mmap a file that is too large to be mmapped on the system. Implemented by Tobias Stoeckmann. GitHub #101. * Added a missing out of memory check when reading a file's metadata. Implemented by Tobias Stoeckmann. GitHub #101. * Added several additional checks to make sure that we never attempt to `malloc` more than `SIZE_MAX` memory, which would lead to integer overflow. This could only happen with pathological databases. Implemented by Tobias Stoeckmann. GitHub #101. ## 1.1.2 - 2015-11-16 * IMPORTANT: This release includes a number of important security fixes. Among these fixes is improved validation of the database metadata. Unfortunately, MaxMind GeoIP2 and GeoLite2 databases created earlier than January 28, 2014 had an invalid data type for the `record_size` in the metadata. Previously these databases worked on little endian machines with libmaxminddb but did not work on big endian machines. Due to increased safety checks when reading the file, these databases will no longer work on any platform. If you are using one of these databases, we recommend that you upgrade to the latest GeoLite2 or GeoIP2 database * Added pkg-config support. If your system supports it, then running `make install` now installs a `libmaxminddb.pc` file for pkgconfig. Implemented by Jan Vcelak. * Several segmentation faults found with afl-fuzz were fixed. These were caused by missing bounds checking and missing data type verification checks. * `MMDB_get_entry_data_list` will now fail on data structures with a depth greater than 512 and data structures that are cyclic. This should not affect any known MaxMind DB in production. All databases produced by MaxMind have a depth of less than five. ## 1.1.1 - 2015-07-22 * Added `maxminddb-compat-util.h` as a source file to dist. ## 1.1.0 - 2015-07-21 * Previously, when there was an error in `MMDB_open()`, `errno` would generally be overwritten during cleanup, preventing a useful value from being returned to the caller. This was changed so that the `errno` value from the function call that caused the error is restored before returning to the caller. In particular, this is important for `MMDB_IO_ERROR` errors as checking `errno` is often the only way to determine what actually failed. * If `mmap()` fails due to running out of memory space, an `MMDB_OUT_OF_MEMORY_ERROR` is now returned from `MMDB_open` rather than an `MMDB_IO_ERROR`. * On Windows, the `CreateFileMappingA()` handle was not properly closed if opening the database succeeded. Fixed by Bly Hostetler. GitHub #75 & #76. * On Windows, we were not checking the return value of `CreateFileMappingA()` properly for errors. Fixed by Bly Hotetler. GitHub #78. * Several warnings from Clang's scan-build were fixed. GitHub #86. * All headers are now installed in `$(includedir)`. GitHub #89. * We no longer install `maxminddb-compat-util.h`. This header was intended for internal use only. ## 1.0.4 - 2015-01-02 * If you used a non-integer string as an array index when doing a lookup with `MMDB_get_value()`, `MMDB_vget_value()`, or `MMDB_aget_value()`, the first element of the array would be returned rather than an error. A `MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR` error will now be returned. GitHub #61. * If a number larger than `LONG_MAX` was used in the same functions, `LONG_MAX` would have been used in the lookup. Now a `MMDB_INVALID_LOOKUP_PATH_ERROR` error will be returned. * Visual Studio build files were added for unit tests and some compatibility issues with the tests were fixed. * Visual Studio project was updated to use property pages. Patch by Andre. GitHub #69. * A test failure in `t/compile_c++_t.pl` on new installs was fixed. ## 1.0.3 - 2014-12-02 * A memory and file handle leak on Win32 was fixed when getting the database size fails. Patch by Federico G. Schwindt. GitHub PR #49. * Documentation fix. Federico G. Schwindt. GitHub PR #50. * Added Visual Studio build files and fixed incorrect CreateFileMappingA usage. Patch by Andre. GitHub #52. * The includes for the Windows header files were made lowercase in order to match the actual file names on case-sensitive file systems. GitHub PR #57. * Removed `realloc()` calls that caused warnings on Windows and generally cleaned up memory allocation in `MMDB_vget_value()`. See relevant discussion in GitHub #52. * Added an `extern "C" { ... }` wrapper to maxminddb.h when compiling with a C++ compiler. GitHub #55. ## 1.0.2 - 2014-09-22 * Fixed a number of small issues found by Coverity. * When freeing the MMDB struct in `MMDB_close()` we make sure to set the pointers to NULL after freeing the memory they point to. This makes it safe to call `MMDB_close` more than once on the same `MMDB_s` struct pointer. Before this change, calling this function twice on the same pointer could cause the code to free memory that belonged to something else in the process. Patch by Shuxin Yang. GitHub PR #41. ## 1.0.1 - 2014-09-03 * Added missing LICENSE and NOTICE files to distribution. No code changes. ## 1.0.0 - 2014-09-02 * Bumped version to 1.0.0. No code changes. ## 0.5.6 - 2014-07-21 * There was a leak in the `MMDB_open()` sub when it was called against a file which did not contain any MMDB metadata. Reported by Federico G. Schwindt. GitHub issue #36. * Fixed an error that occurred when passing AI_V4MAPPED to `getaddrinfo()` on FreeBSD. Apparently this macro is defined but doesn't work the way we expected it to on that platform. * Made sure to call `freeaddrinfo()` when a call to `getaddrinfo()` fails but still allocated memory. * Fixed a segfault in the tests that occurred on FreeBSD if we passed a NULL value to `freeaddrinfo()`. * Added a missing step to the README.md file for installing from our GitHub repository. Patch by Yasith Fernando. * Added instructions for installing via Homebrew. Patch by Yasith Fernando. ## 0.5.5 - 2014-03-11 * The previous tarball failed to compile because it was missing the src/maxminddb-compat-util.h file. Reported by Günter Grodotzki. GitHub issue #18. ## 0.5.4 - 2014-03-03 * Added support for compiling in the MinGW environment. Patch by Michael Eisendle. * Added const declarations to many spots in the public API. None of these should require changes to existing code. * Various documentation improvements. * Changed the license to the Apache 2.0 license. ## 0.5.3 - 2013-12-23 * The internal value_for_key_as_uint16 method was returning a uint32_t instead of a uint16_t. Reported by Robert Wells. GitHub issue #11. * The ip_version member of the MMDB_metadata_s struct was a uint8_t, even though the docs and spec said it should be a uint16_t. Reported by Robert Wells. GitHub issue #11. * The mmdblookup_t.pl test now reports that it needs IPC::Run3 to run (which it always did, but it didn't tell you this). Patch by Elan Ruusamäe. GitHub issue #10. ## 0.5.2 - 2013-11-20 * Running `make` from the tarball failed. This is now fixed. ## 0.5.1 - 2013-11-20 * Renamed MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA define to MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR for consistency. Fixes github issue #5. Reported by Albert Strasheim. * Updated README.md to show git clone with --recursive flag so you get the needed submodules. Fixes github issue #4. Reported by Ryan Peck. * Fixed some bugs with the MMDB_get_*value functions when navigating a data structure that included pointers. Fixes github issue #3. Reported by bagadon. * Fixed compilation problems on OSX and OpenBSD. We have tested this on OSX and OpenBSD 5.4. Fixes github issue #6. * Removed some unneeded memory allocations and added const to many variable declarations. Based on patches by Timo Teräs. Github issue #8. * Added a test that uses threads to check for thread safety issue in the library. * Distro tarball now includes man pages, tests, and test data python-maxminddb-2.5.2/extension/libmaxminddb/LICENSE000066400000000000000000000261361454732056000224730ustar00rootroot00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. python-maxminddb-2.5.2/extension/libmaxminddb/Makefile.am000066400000000000000000000017641454732056000235220ustar00rootroot00000000000000 include_HEADERS = include/maxminddb.h nodist_include_HEADERS = include/maxminddb_config.h SUBDIRS = \ src if BINARIES SUBDIRS += \ bin endif if TESTS SUBDIRS += \ t endif EXTRA_DIST = doc Changes.md LICENSE NOTICE README.md \ CMakeLists.txt t/CMakeLists.txt bin/CMakeLists.txt \ include/maxminddb_config.h.cmake.in dist-hook: dev-bin/make-man-pages.pl $(distdir) find $(distdir) -name '.git*' | xargs rm -fr safedist: clean dist tmpdir="$${TMPDIR-/tmp}/safedist-$$$$" \ && mkdir "$$tmpdir" \ && tar -xvf $(distdir).tar.gz --directory "$$tmpdir" \ && $(am__cd) "$$tmpdir/$(distdir)" \ && ./configure \ && make -j 4 check man1_MANS = man/man1/*.1 man3_MANS = man/man3/*.3 man/man1/*.1: if [ ! -f man/man1/mmdblookup.1 ]; then mkdir -p man/man1 && touch man/man1/mmdblookup.1; fi man/man3/*.3: if [ ! -f man/man3/libmaxminddb.3 ]; then mkdir -p man/man3 && touch man/man3/libmaxminddb.3; fi release: dev-bin/make-release.sh .PHONY: man/man1/*.1 man/man3/*.3 release python-maxminddb-2.5.2/extension/libmaxminddb/NOTICE000066400000000000000000000010571454732056000223650ustar00rootroot00000000000000Copyright 2013-2023 MaxMind, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. python-maxminddb-2.5.2/extension/libmaxminddb/README.dev.md000066400000000000000000000066551454732056000235260ustar00rootroot00000000000000# Releasing this library We release by uploading the tarball to GitHub and uploading Ubuntu PPAs. ## Creating the release tarball You may want to refer to the section about prerequisites. * Check whether there are any open issues to fix while you're doing this. * Update `Changes.md` to include specify the new version, today's date, and list relevant changes. Commit this. * Create a new branch off of the latest `main` for the release. * Run `./dev-bin/release.sh` to update various files in the distro, our GitHub pages, and creates a GitHub release with the tarball. * Check the release looks good on both GitHub and launchpad.net. * Make a pull request against `main` with the changes from the release script. ## PPA In order to upload a PPA, you have to create a launchpad.net account and register a GPG key with that account. You also need to be added to the MaxMind team. Ask in the dev channel for someone to add you. See https://help.launchpad.net/Packaging/PPA for more details. The PPA release script is at `dev-bin/ppa-release.sh`. Running it should guide you though the release, although it may require some changes to run on configurations different than Greg's machine. Check whether any new Ubuntu versions need to be listed in this script before running it. You should run it from `main`. ## Homebrew (optional) Releasing to Homebrew is no longer required as the formulas are easily updated by the end-user using a built-in feature in the tool. These directions remain in case there is a more significant change to the build process that may require a non-trivial update to the formula or in the case where we want the Homebrew version updated promptly for some reason. * Go to https://github.com/Homebrew/homebrew-core/edit/master/Formula/libmaxminddb.rb * Edit the file to update the url and sha256. You can get the sha256 for the tarball with the `sha256sum` command line utility. * Make a commit with the summary `libmaxminddb ` * Submit a PR with the changes you just made. # Prerequisites for releasing * Required packages (Ubuntu Artful): vim git-core dput build-essential autoconf automake libtool git-buildpackage libfile-slurp-perl pandoc dirmngr libfile-slurp-tiny-perl libdatetime-perl debhelper dh-autoreconf libipc-run3-perl libtest-output-perl devscripts * Install [gh](https://github.com/cli/cli/releases). * GitHub ssh key (e.g. in `~/.ssh/id_rsa`) * Git config (e.g. `~/.gitconfig`) * Import your GPG secret key (or create one if you don't have a suitable one) * `gpg --import /path/to/key` * `gpg --edit-key KEYID` and trust it ultimately * Ensure it shows with `gpg --list-secret-keys` * You need to be invited to the launchpad.net MaxMind organization on your launchpad.net account. * You need your GPG key listed on your launchpad.net account * You can add it in the web interface. It wants the output of `gpg --fingerprint`. * Part of the instructions involve having your key published on the Ubuntu keyserver: `gpg --keyserver keyserver.ubuntu.com --send-keys KEYID` * You'll get an email with an encrypted payload that you need to decrypt and follow the link to confirm it. * Ensure `dch` knows your name and email. Refer to its man page for how to tell it this. One way is to set the `DEBFULLNAME` and `DEBEMAIL` environment variables. These should match your GPG key's name and email exactly. This is what gets used in the Debian changelog as well as defines what GPG key to use. python-maxminddb-2.5.2/extension/libmaxminddb/README.md000066400000000000000000000113261454732056000227400ustar00rootroot00000000000000# About The libmaxminddb library provides a C library for reading MaxMind DB files, including the GeoIP2 databases from MaxMind. This is a custom binary format designed to facilitate fast lookups of IP addresses while allowing for great flexibility in the type of data associated with an address. The MaxMind DB format is an open format. The spec is available at https://maxmind.github.io/MaxMind-DB/. This spec is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. See https://dev.maxmind.com/ for more details about MaxMind's GeoIP2 products. # License This library is licensed under the Apache License, Version 2. # Installation ## From a Named Release Tarball **NOTE:** These instructions are for installation from the _named_ `.tar.gz` tarballs on the [Releases](https://github.com/maxmind/libmaxminddb/releases) page (e.g. `libmaxminddb-*.tar.gz`). This code is known to work with GCC 4.4+ and clang 3.2+. It should also work on other compilers that supports C99, POSIX.1-2001, and the `-fms-extensions flag` (or equivalent). The latter is needed to allow an anonymous union in a structure. To install this code, run the following commands: $ ./configure $ make $ make check $ sudo make install $ sudo ldconfig You can skip the `make check` step but it's always good to know that tests are passing on your platform. The `configure` script takes the standard options to set where files are installed such as `--prefix`, etc. See `./configure --help` for details. If after installing, you receive an error that `libmaxminddb.so.0` is missing you may need to add the `lib` directory in your `prefix` to your library path. On most Linux distributions when using the default prefix (`/usr/local`), you can do this by running the following commands: $ sudo sh -c "echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf" $ ldconfig ## From a GitHub "Source Code" Archive / Git Repo Clone (Achtung!) **NOTE:** These instructions are for installation from the GitHub "Source Code" archives also available on the [Releases](https://github.com/maxmind/libmaxminddb/releases) page (e.g. `X.Y.Z.zip` or `X.Y.Z.tar.gz`), as well as installation directly from a clone of the [Git repo](https://github.com/maxmind/libmaxminddb). Installation from these sources are possible but will present challenges to users not comfortable with manual dependency resolution. You will need `automake`, `autoconf`, and `libtool` installed in addition to `make` and a compiler. You can clone this repository and build it by running: $ git clone --recursive https://github.com/maxmind/libmaxminddb After cloning, run `./bootstrap` from the `libmaxminddb` directory and then follow the instructions for installing from a named release tarball as described above. ## Using CMake We provide a CMake build script. This is primarily targeted at Windows users, but it can be used in other circumstances where the Autotools script does not work. $ mkdir build && cd build $ cmake .. $ cmake --build . $ ctest -V . $ cmake --build . --target install When building with Visual Studio, you may build a multithreaded (MT/MTd) runtime library, using the `MSVC_STATIC_RUNTIME` setting: $ cmake -DMSVC_STATIC_RUNTIME=ON -DBUILD_SHARED_LIBS=OFF .. ## On Ubuntu via PPA MaxMind provides a PPA for recent version of Ubuntu. To add the PPA to your APT sources, run: $ sudo add-apt-repository ppa:maxmind/ppa Then install the packages by running: $ sudo apt update $ sudo apt install libmaxminddb0 libmaxminddb-dev mmdb-bin ## On macOS via Homebrew or MacPorts You can install libmaxminddb on macOS using [Homebrew](https://brew.sh): $ brew install libmaxminddb Or with [MacPorts](https://ports.macports.org/port/libmaxminddb): $ sudo port install libmaxminddb # Requirements libmaxminddb requires a minimum of POSIX.1-2001 support. If not specified at compilation time, it defaults to requesting POSIX.1-2008 support. # Bug Reports Please report bugs by filing an issue with our GitHub issue tracker at https://github.com/maxmind/libmaxminddb/issues # Creating a Release Tarball Use `make safedist` to check the resulting tarball. # Copyright and License Copyright 2013-2023 MaxMind, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. python-maxminddb-2.5.2/extension/libmaxminddb/bin/000077500000000000000000000000001454732056000222265ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/bin/CMakeLists.txt000066400000000000000000000010611454732056000247640ustar00rootroot00000000000000# getopt is required by mmdblookup which is not available by default on Windows # but available in mingw-64 toolchain by-default. if(NOT MSVC) add_executable(mmdblookup mmdblookup.c ) # Otherwise 'undefined reference to WinMain' linker error happen due to wmain() if(MINGW) target_link_options(mmdblookup PRIVATE "-municode") endif() target_compile_definitions(mmdblookup PRIVATE PACKAGE_VERSION="${PROJECT_VERSION}") target_link_libraries(mmdblookup maxminddb pthread) install( TARGETS mmdblookup DESTINATION bin ) endif() python-maxminddb-2.5.2/extension/libmaxminddb/bin/Makefile.am000066400000000000000000000003311454732056000242570ustar00rootroot00000000000000include $(top_srcdir)/common.mk AM_LDFLAGS = $(top_builddir)/src/libmaxminddb.la bin_PROGRAMS = mmdblookup if WINDOWS AM_LDFLAGS += -municode endif if !WINDOWS AM_CPPFLAGS += -pthread AM_LDFLAGS += -pthread endif python-maxminddb-2.5.2/extension/libmaxminddb/bin/mmdblookup.c000066400000000000000000000563441454732056000245570ustar00rootroot00000000000000#ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809L #endif #ifdef HAVE_CONFIG_H #include #endif #include "maxminddb.h" #include #include #ifndef _WIN32 #include #endif #include #include #include #include #include #include #ifdef _WIN32 #ifndef UNICODE #define UNICODE #endif #include #else #include #include #endif static void usage(char *program, int exit_code, const char *error); static const char **get_options(int argc, char **argv, char **mmdb_file, char **ip_address, int *verbose, int *iterations, int *lookup_path_length, int *const thread_count, char **const ip_file); static MMDB_s open_or_die(const char *fname); static void dump_meta(MMDB_s *mmdb); static bool lookup_from_file(MMDB_s *const mmdb, char const *const ip_file, bool const dump); static int lookup_and_print(MMDB_s *mmdb, const char *ip_address, const char **lookup_path, int lookup_path_length, bool verbose); static int benchmark(MMDB_s *mmdb, int iterations); static MMDB_lookup_result_s lookup_or_die(MMDB_s *mmdb, const char *ipstr); static void random_ipv4(char *ip); #ifndef _WIN32 // These aren't with the automatically generated prototypes as we'd lose the // enclosing macros. static bool start_threaded_benchmark(MMDB_s *const mmdb, int const thread_count, int const iterations); static long double get_time(void); static void *thread(void *arg); #endif #ifdef _WIN32 int wmain(int argc, wchar_t **wargv) { // Convert our argument list from UTF-16 to UTF-8. char **argv = (char **)calloc(argc, sizeof(char *)); if (!argv) { fprintf(stderr, "calloc(): %s\n", strerror(errno)); exit(1); } for (int i = 0; i < argc; i++) { int utf8_width; char *utf8_string; utf8_width = WideCharToMultiByte(CP_UTF8, 0, wargv[i], -1, NULL, 0, NULL, NULL); if (utf8_width < 1) { fprintf( stderr, "WideCharToMultiByte() failed: %d\n", GetLastError()); exit(1); } utf8_string = calloc(utf8_width, sizeof(char)); if (!utf8_string) { fprintf(stderr, "calloc(): %s\n", strerror(errno)); exit(1); } if (WideCharToMultiByte( CP_UTF8, 0, wargv[i], -1, utf8_string, utf8_width, NULL, NULL) < 1) { fprintf( stderr, "WideCharToMultiByte() failed: %d\n", GetLastError()); exit(1); } argv[i] = utf8_string; } #else // _WIN32 int main(int argc, char **argv) { #endif // _WIN32 char *mmdb_file = NULL; char *ip_address = NULL; int verbose = 0; int iterations = 0; int lookup_path_length = 0; int thread_count = 0; char *ip_file = NULL; const char **lookup_path = get_options(argc, argv, &mmdb_file, &ip_address, &verbose, &iterations, &lookup_path_length, &thread_count, &ip_file); MMDB_s mmdb = open_or_die(mmdb_file); if (verbose) { dump_meta(&mmdb); } // The benchmarking and lookup from file modes are hidden features mainly // intended for development right now. This means there are several flags // that exist but are intentionally not mentioned in the usage or man page. // The lookup from file mode may be useful to expose publicly in the usage, // but we should have it respect the lookup_path functionality if we do so. if (ip_file) { free((void *)lookup_path); if (!lookup_from_file(&mmdb, ip_file, verbose == 1)) { MMDB_close(&mmdb); return 1; } MMDB_close(&mmdb); return 0; } if (0 == iterations) { exit(lookup_and_print( &mmdb, ip_address, lookup_path, lookup_path_length, verbose)); } free((void *)lookup_path); srand((unsigned int)time(NULL)); #ifndef _WIN32 if (thread_count > 0) { if (!start_threaded_benchmark(&mmdb, thread_count, iterations)) { MMDB_close(&mmdb); exit(1); } MMDB_close(&mmdb); exit(0); } #endif exit(benchmark(&mmdb, iterations)); } static void usage(char *program, int exit_code, const char *error) { if (NULL != error) { fprintf(stderr, "\n *ERROR: %s\n", error); } char *usage = "\n" " %s --file /path/to/file.mmdb --ip 1.2.3.4 [path to lookup]\n" "\n" " This application accepts the following options:\n" "\n" " --file (-f) The path to the MMDB file. Required.\n" "\n" " --ip (-i) The IP address to look up. Required.\n" "\n" " --verbose (-v) Turns on verbose output. Specifically, this " "causes this\n" " application to output the database metadata.\n" "\n" " --version Print the program's version number and exit.\n" "\n" " --help (-h -?) Show usage information.\n" "\n" " If an IP's data entry resolves to a map or array, you can provide\n" " a lookup path to only show part of that data.\n" "\n" " For example, given a JSON structure like this:\n" "\n" " {\n" " \"names\": {\n" " \"en\": \"Germany\",\n" " \"de\": \"Deutschland\"\n" " },\n" " \"cities\": [ \"Berlin\", \"Frankfurt\" ]\n" " }\n" "\n" " You could look up just the English name by calling mmdblookup with " "a lookup path of:\n" "\n" " mmdblookup --file ... --ip ... names en\n" "\n" " Or you could look up the second city in the list with:\n" "\n" " mmdblookup --file ... --ip ... cities 1\n" "\n" " Array numbering begins with zero (0).\n" "\n" " If you do not provide a path to lookup, all of the information for " "a given IP\n" " will be shown.\n" "\n"; fprintf(stdout, usage, program); exit(exit_code); } static const char **get_options(int argc, char **argv, char **mmdb_file, char **ip_address, int *verbose, int *iterations, int *lookup_path_length, int *const thread_count, char **const ip_file) { static int help = 0; static int version = 0; #ifdef _WIN32 char *program = alloca(strlen(argv[0])); _splitpath(argv[0], NULL, NULL, program, NULL); _splitpath(argv[0], NULL, NULL, NULL, program + strlen(program)); #else char *program = basename(argv[0]); #endif while (1) { static struct option options[] = { {"file", required_argument, 0, 'f'}, {"ip", required_argument, 0, 'i'}, {"verbose", no_argument, 0, 'v'}, {"version", no_argument, 0, 'n'}, {"benchmark", required_argument, 0, 'b'}, #ifndef _WIN32 {"threads", required_argument, 0, 't'}, #endif {"ip-file", required_argument, 0, 'I'}, {"help", no_argument, 0, 'h'}, {"?", no_argument, 0, 1}, {0, 0, 0, 0}}; int opt_index; #ifdef _WIN32 char const *const optstring = "f:i:b:I:vnh?"; #else char const *const optstring = "f:i:b:t:I:vnh?"; #endif int opt_char = getopt_long(argc, argv, optstring, options, &opt_index); if (-1 == opt_char) { break; } if ('f' == opt_char) { *mmdb_file = optarg; } else if ('i' == opt_char) { *ip_address = optarg; } else if ('v' == opt_char) { *verbose = 1; } else if ('n' == opt_char) { version = 1; } else if ('b' == opt_char) { long const i = strtol(optarg, NULL, 10); if (i > INT_MAX) { usage(program, 1, "iterations exceeds maximum value"); } *iterations = (int)i; } else if ('h' == opt_char || '?' == opt_char) { help = 1; } else if (opt_char == 't') { long const i = strtol(optarg, NULL, 10); if (i > INT_MAX) { usage(program, 1, "thread count exceeds maximum value"); } *thread_count = (int)i; } else if (opt_char == 'I') { *ip_file = optarg; } } if (help) { usage(program, 0, NULL); } if (version) { fprintf(stdout, "\n %s version %s\n\n", program, PACKAGE_VERSION); exit(0); } if (NULL == *mmdb_file) { usage(program, 1, "You must provide a filename with --file"); } if (*ip_address == NULL && *iterations == 0 && !*ip_file) { usage(program, 1, "You must provide an IP address with --ip"); } const char **lookup_path = calloc((size_t)(argc - optind) + 1, sizeof(const char *)); if (!lookup_path) { fprintf(stderr, "calloc(): %s\n", strerror(errno)); exit(1); } int i; for (i = 0; i < argc - optind; i++) { lookup_path[i] = argv[i + optind]; (*lookup_path_length)++; } lookup_path[i] = NULL; return lookup_path; } static MMDB_s open_or_die(const char *fname) { MMDB_s mmdb; int status = MMDB_open(fname, MMDB_MODE_MMAP, &mmdb); if (MMDB_SUCCESS != status) { fprintf( stderr, "\n Can't open %s - %s\n", fname, MMDB_strerror(status)); if (MMDB_IO_ERROR == status) { fprintf(stderr, " IO error: %s\n", strerror(errno)); } fprintf(stderr, "\n"); exit(2); } return mmdb; } static void dump_meta(MMDB_s *mmdb) { const char *meta_dump = "\n" " Database metadata\n" " Node count: %i\n" " Record size: %i bits\n" " IP version: IPv%i\n" " Binary format: %i.%i\n" " Build epoch: %llu (%s)\n" " Type: %s\n" " Languages: "; char date[40]; const time_t epoch = (const time_t)mmdb->metadata.build_epoch; strftime(date, 40, "%F %T UTC", gmtime(&epoch)); fprintf(stdout, meta_dump, mmdb->metadata.node_count, mmdb->metadata.record_size, mmdb->metadata.ip_version, mmdb->metadata.binary_format_major_version, mmdb->metadata.binary_format_minor_version, mmdb->metadata.build_epoch, date, mmdb->metadata.database_type); for (size_t i = 0; i < mmdb->metadata.languages.count; i++) { fprintf(stdout, "%s", mmdb->metadata.languages.names[i]); if (i < mmdb->metadata.languages.count - 1) { fprintf(stdout, " "); } } fprintf(stdout, "\n"); fprintf(stdout, " Description:\n"); for (size_t i = 0; i < mmdb->metadata.description.count; i++) { fprintf(stdout, " %s: %s\n", mmdb->metadata.description.descriptions[i]->language, mmdb->metadata.description.descriptions[i]->description); } fprintf(stdout, "\n"); } // The input file should have one IP per line. // // We look up each IP. // // If dump is true, we dump the data for each IP to stderr. This is useful for // comparison in that you can dump out the data for the IPs before and after // making changes. It goes to stderr rather than stdout so that the report does // not get included in what you will compare (since it will almost always be // different). // // In addition to being useful for comparisons, this function provides a way to // have a more deterministic set of lookups for benchmarking. static bool lookup_from_file(MMDB_s *const mmdb, char const *const ip_file, bool const dump) { FILE *const fh = fopen(ip_file, "r"); if (!fh) { fprintf(stderr, "fopen(): %s: %s\n", ip_file, strerror(errno)); return false; } clock_t const clock_start = clock(); char buf[1024] = {0}; // I'd normally use uint64_t, but support for it is optional in C99. unsigned long long i = 0; while (1) { if (fgets(buf, sizeof(buf), fh) == NULL) { if (!feof(fh)) { fprintf(stderr, "fgets(): %s\n", strerror(errno)); fclose(fh); return false; } if (fclose(fh) != 0) { fprintf(stderr, "fclose(): %s\n", strerror(errno)); return false; } break; } char *ptr = buf; while (*ptr != '\0') { if (*ptr == '\n') { *ptr = '\0'; break; } ptr++; } if (strlen(buf) == 0) { continue; } i++; MMDB_lookup_result_s result = lookup_or_die(mmdb, buf); if (!result.found_entry) { continue; } MMDB_entry_data_list_s *entry_data_list = NULL; int const status = MMDB_get_entry_data_list(&result.entry, &entry_data_list); if (status != MMDB_SUCCESS) { fprintf(stderr, "MMDB_get_entry_data_list(): %s\n", MMDB_strerror(status)); fclose(fh); MMDB_free_entry_data_list(entry_data_list); return false; } if (!entry_data_list) { fprintf(stderr, "entry_data_list is NULL\n"); fclose(fh); return false; } if (dump) { fprintf(stdout, "%s:\n", buf); int const status2 = MMDB_dump_entry_data_list(stderr, entry_data_list, 0); if (status2 != MMDB_SUCCESS) { fprintf(stderr, "MMDB_dump_entry_data_list(): %s\n", MMDB_strerror(status2)); fclose(fh); MMDB_free_entry_data_list(entry_data_list); return false; } } MMDB_free_entry_data_list(entry_data_list); } clock_t const clock_diff = clock() - clock_start; double const seconds = (double)clock_diff / CLOCKS_PER_SEC; fprintf( stdout, "Looked up %llu addresses in %.2f seconds. %.2Lf lookups per second.\n", i, seconds, (long double)i / seconds); return true; } static int lookup_and_print(MMDB_s *mmdb, const char *ip_address, const char **lookup_path, int lookup_path_length, bool verbose) { MMDB_lookup_result_s result = lookup_or_die(mmdb, ip_address); MMDB_entry_data_list_s *entry_data_list = NULL; int exit_code = 0; if (verbose) { fprintf(stdout, "\n Record prefix length: %d\n", result.netmask); } if (result.found_entry) { int status; if (lookup_path_length) { MMDB_entry_data_s entry_data; status = MMDB_aget_value(&result.entry, &entry_data, lookup_path); if (MMDB_SUCCESS == status) { if (entry_data.offset) { MMDB_entry_s entry = {.mmdb = mmdb, .offset = entry_data.offset}; status = MMDB_get_entry_data_list(&entry, &entry_data_list); } else { fprintf(stdout, "\n No data was found at the lookup path you " "provided\n\n"); } } } else { status = MMDB_get_entry_data_list(&result.entry, &entry_data_list); } if (MMDB_SUCCESS != status) { fprintf(stderr, "Got an error looking up the entry data - %s\n", MMDB_strerror(status)); exit_code = 5; goto end; } if (NULL != entry_data_list) { fprintf(stdout, "\n"); MMDB_dump_entry_data_list(stdout, entry_data_list, 2); fprintf(stdout, "\n"); } } else { fprintf(stderr, "\n Could not find an entry for this IP address (%s)\n\n", ip_address); exit_code = 6; } end: MMDB_free_entry_data_list(entry_data_list); MMDB_close(mmdb); free((void *)lookup_path); return exit_code; } static int benchmark(MMDB_s *mmdb, int iterations) { char ip_address[16]; int exit_code = 0; clock_t time = clock(); for (int i = 0; i < iterations; i++) { random_ipv4(ip_address); MMDB_lookup_result_s result = lookup_or_die(mmdb, ip_address); MMDB_entry_data_list_s *entry_data_list = NULL; if (result.found_entry) { int status = MMDB_get_entry_data_list(&result.entry, &entry_data_list); if (MMDB_SUCCESS != status) { fprintf(stderr, "Got an error looking up the entry data - %s\n", MMDB_strerror(status)); exit_code = 5; MMDB_free_entry_data_list(entry_data_list); goto end; } } MMDB_free_entry_data_list(entry_data_list); } time = clock() - time; double seconds = ((double)time / CLOCKS_PER_SEC); fprintf(stdout, "\n Looked up %i addresses in %.2f seconds. %.2f lookups per " "second.\n\n", iterations, seconds, iterations / seconds); end: MMDB_close(mmdb); return exit_code; } static MMDB_lookup_result_s lookup_or_die(MMDB_s *mmdb, const char *ipstr) { int gai_error, mmdb_error; MMDB_lookup_result_s result = MMDB_lookup_string(mmdb, ipstr, &gai_error, &mmdb_error); if (0 != gai_error) { #ifdef _WIN32 char const *const strerr = gai_strerrorA(gai_error); #else char const *const strerr = gai_strerror(gai_error); #endif fprintf(stderr, "\n Error from call to getaddrinfo for %s - %s\n\n", ipstr, strerr); exit(3); } if (MMDB_SUCCESS != mmdb_error) { fprintf(stderr, "\n Got an error from the maxminddb library: %s\n\n", MMDB_strerror(mmdb_error)); exit(4); } return result; } static void random_ipv4(char *ip) { // rand() is perfectly fine for this use case // coverity[dont_call] int ip_int = rand(); uint8_t *bytes = (uint8_t *)&ip_int; snprintf(ip, 16, "%u.%u.%u.%u", *bytes, *(bytes + 1), *(bytes + 2), *(bytes + 3)); } #ifndef _WIN32 struct thread_info { pthread_t id; int num; MMDB_s *mmdb; int iterations; }; static bool start_threaded_benchmark(MMDB_s *const mmdb, int const thread_count, int const iterations) { struct thread_info *const tinfo = calloc((size_t)thread_count, sizeof(struct thread_info)); if (!tinfo) { fprintf(stderr, "calloc(): %s\n", strerror(errno)); return false; } // Using clock() isn't appropriate for multiple threads. It's CPU time, not // wall time. long double const start_time = get_time(); if (start_time == -1) { free(tinfo); return false; } for (int i = 0; i < thread_count; i++) { tinfo[i].num = i; tinfo[i].mmdb = mmdb; tinfo[i].iterations = iterations; if (pthread_create(&tinfo[i].id, NULL, &thread, &tinfo[i]) != 0) { fprintf(stderr, "pthread_create() failed\n"); free(tinfo); return false; } } for (int i = 0; i < thread_count; i++) { if (pthread_join(tinfo[i].id, NULL) != 0) { fprintf(stderr, "pthread_join() failed\n"); free(tinfo); return false; } } free(tinfo); long double const end_time = get_time(); if (end_time == -1) { return false; } long double const elapsed = end_time - start_time; unsigned long long const total_ips = (unsigned long long)(iterations * thread_count); long double rate = total_ips; if (elapsed != 0) { rate = total_ips / elapsed; } fprintf(stdout, "Looked up %llu addresses using %d threads in %.2Lf seconds. %.2Lf " "lookups per second.\n", total_ips, thread_count, elapsed, rate); return true; } static long double get_time(void) { // clock_gettime() is not present on OSX until 10.12. #ifdef HAVE_CLOCK_GETTIME struct timespec tp = { .tv_sec = 0, .tv_nsec = 0, }; clockid_t clk_id = CLOCK_REALTIME; #ifdef _POSIX_MONOTONIC_CLOCK clk_id = CLOCK_MONOTONIC; #endif if (clock_gettime(clk_id, &tp) != 0) { fprintf(stderr, "clock_gettime(): %s\n", strerror(errno)); return -1; } return (long double)tp.tv_sec + ((float)tp.tv_nsec / 1e9); #else time_t t = time(NULL); if (t == (time_t)-1) { fprintf(stderr, "time(): %s\n", strerror(errno)); return -1; } return (long double)t; #endif } static void *thread(void *arg) { const struct thread_info *const tinfo = arg; if (!tinfo) { fprintf(stderr, "thread(): %s\n", strerror(EINVAL)); return NULL; } char ip_address[16] = {0}; for (int i = 0; i < tinfo->iterations; i++) { memset(ip_address, 0, 16); random_ipv4(ip_address); MMDB_lookup_result_s result = lookup_or_die(tinfo->mmdb, ip_address); if (!result.found_entry) { continue; } MMDB_entry_data_list_s *entry_data_list = NULL; int const status = MMDB_get_entry_data_list(&result.entry, &entry_data_list); if (status != MMDB_SUCCESS) { fprintf(stderr, "MMDB_get_entry_data_list(): %s\n", MMDB_strerror(status)); MMDB_free_entry_data_list(entry_data_list); return NULL; } if (!entry_data_list) { fprintf(stderr, "entry_data_list is NULL\n"); return NULL; } MMDB_free_entry_data_list(entry_data_list); } return NULL; } #endif python-maxminddb-2.5.2/extension/libmaxminddb/bootstrap000077500000000000000000000007131454732056000234220ustar00rootroot00000000000000#! /bin/sh # make sure to use the installed libtool if [ -f ltmain.sh ]; then rm ltmain.sh fi autoreconf -fiv ################################################### # the steps below may help with outdated toolsets # disable dependency trackeing for OS X with multiply arch option's # automake -i --gnu --add-missing #aclocal \ #&& automake -i --gnu --add-missing \ #&& autoconf #LIBTOOLIZE=$( which libtoolize glibtoolize | head -1 ) #$LIBTOOLIZE -f python-maxminddb-2.5.2/extension/libmaxminddb/c_flag_overrides.cmake000066400000000000000000000004371454732056000257610ustar00rootroot00000000000000if(MSVC) set(CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1") set(CMAKE_C_FLAGS_MINSIZEREL_INIT "/MT /O1 /Ob1 /D NDEBUG") set(CMAKE_C_FLAGS_RELEASE_INIT "/MT /O2 /Ob2 /D NDEBUG") set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/MT /Zi /O2 /Ob1 /D NDEBUG") endif() python-maxminddb-2.5.2/extension/libmaxminddb/common.mk000066400000000000000000000001531454732056000232760ustar00rootroot00000000000000if DEBUG AM_CFLAGS=-O0 -g -Wall -Wextra else AM_CFLAGS=-O2 -g endif AM_CPPFLAGS = -I$(top_srcdir)/include python-maxminddb-2.5.2/extension/libmaxminddb/configure.ac000066400000000000000000000111501454732056000237420ustar00rootroot00000000000000# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.63]) AC_INIT([libmaxminddb], [1.9.0], [support@maxmind.com]) AC_CONFIG_SRCDIR([include/maxminddb.h]) AC_CONFIG_HEADERS([config.h include/maxminddb_config.h]) PKG_PROG_PKG_CONFIG m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], [AC_SUBST([pkgconfigdir], [${libdir}/pkgconfig])]) AC_CONFIG_FILES([src/libmaxminddb.pc]) LT_INIT AM_INIT_AUTOMAKE(foreign m4_esyscmd([case `automake --version | head -n 1` in *1.14*) echo subdir-objects;; *1.11*);; *) echo serial-tests;; esac])) AC_PROG_LIBTOOL # Checks for programs. AC_PROG_CC_C99 # Copied from http://stackoverflow.com/a/10682813/9832 and tweaked for C (as # opposed to C++) # # AX_CHECK_CFLAGS(ADDITIONAL-CFLAGS, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) # # checks whether the $(CC) compiler accepts the ADDITIONAL-CFLAGS # if so, they are added to the CXXFLAGS AC_DEFUN([AX_CHECK_CFLAGS], [ AC_MSG_CHECKING([whether compiler accepts "$1"]) cat > conftest.c << EOF int main(){ return 0; } EOF if $CC $CFLAGS -o conftest.o conftest.c [$1] > /dev/null 2>&1 then AC_MSG_RESULT([yes]) CFLAGS="${CFLAGS} [$1]" [$2] else AC_MSG_RESULT([no]) [$3] fi ])dnl AX_CHECK_CFLAGS AX_CHECK_CFLAGS([-fms-extensions]) # We will add this back for non-debug builds in the common.mk file CFLAGS=`echo ${CFLAGS} | sed 's/-O2//'` CXXFLAGS=`echo ${CXXFLAGS} | sed 's/-O2//'` # autoconf insists on giving us gnu99 if it's available CC=`echo ${CC} | sed 's/-std=gnu99/-std=c99/'` AC_C_RESTRICT AC_CHECK_HEADERS([arpa/inet.h assert.h fcntl.h inttypes.h libgen.h math.h netdb.h netinet/in.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h string.h sys/mman.h sys/socket.h sys/stat.h sys/time.h sys/types.h unistd.h]) # configure generates an invalid config for MinGW because of the type checks # so we only run them on non MinGW-Systems. For MinGW we also need to link # against ws2_32. AC_CANONICAL_HOST is_windows=false case $host_os in mingw*) LDFLAGS="-lws2_32" is_windows=true ;; *) AC_TYPE_OFF_T AC_TYPE_SIZE_T AC_TYPE_SSIZE_T AC_TYPE_UINT8_T AC_TYPE_UINT32_T AC_TYPE_UINT64_T ;; esac AM_CONDITIONAL([WINDOWS], [test x$is_windows = xtrue]) # This check is backwards in order to make life easier for people writing # extensions in other languages that link to this library. If they want to # simply assume that they are using a newish compiler, they don't need to # check for this type nor do they need to define anything on the CLI. They'll # just get code that assumes this type exists. AC_CHECK_TYPE( [unsigned __int128], [AC_DEFINE([MMDB_UINT128_IS_BYTE_ARRAY], [0], [Missing the unsigned __int128 type])], [AC_CHECK_TYPE( [unsigned int __attribute__((mode(TI)))], [AC_DEFINE([MMDB_UINT128_IS_BYTE_ARRAY], [0], [Missing the unsigned __int128 type]) AC_DEFINE([MMDB_UINT128_USING_MODE], [1], [int128 types are available with __attribute__((mode(TI)))])], [AC_DEFINE([MMDB_UINT128_IS_BYTE_ARRAY], [1], [Missing the unsigned __int128 type])])]) AC_CHECK_TYPES([boolean]) AC_CHECK_FUNCS([clock_gettime open_memstream]) AC_C_BIGENDIAN( [AC_DEFINE([MMDB_LITTLE_ENDIAN], [0], [System is big-endian])], [AC_DEFINE([MMDB_LITTLE_ENDIAN], [1], [System is little-endian])]) AC_FUNC_MMAP AC_SEARCH_LIBS([fabs], [m]) AC_SEARCH_LIBS([fabsf], [m]) AC_SEARCH_LIBS([getaddrinfo], [socket]) AC_ARG_ENABLE( [debug], [ --enable-debug Turn on debugging], [case "${enableval}" in yes) debug=true ;; no) debug=false ;; *) AC_MSG_ERROR([bad value ${enableval} for --enable-debug]) ;; esac],[debug=false]) AM_CONDITIONAL([DEBUG], [test x$debug = xtrue]) AC_ARG_ENABLE([binaries], AS_HELP_STRING([--enable-binaries], [Compilation of binaries code]), [enable_binaries=${enableval}], [enable_binaries=yes]) AM_CONDITIONAL([BINARIES], [test "${enable_binaries}" = "yes"]) AC_ARG_ENABLE([tests], AS_HELP_STRING([--enable-tests], [Compilation of tests code]), [enable_tests=${enableval}], [enable_tests=yes]) AM_CONDITIONAL([TESTS], [test "${enable_tests}" = "yes"]) AC_CONFIG_FILES([Makefile src/Makefile bin/Makefile t/Makefile]) AC_OUTPUT python-maxminddb-2.5.2/extension/libmaxminddb/cxx_flag_overrides.cmake000066400000000000000000000004461454732056000263410ustar00rootroot00000000000000if(MSVC) set(CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1") set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "/MT /O1 /Ob1 /D NDEBUG") set(CMAKE_CXX_FLAGS_RELEASE_INIT "/MT /O2 /Ob2 /D NDEBUG") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/MT /Zi /O2 /Ob1 /D NDEBUG") endif() python-maxminddb-2.5.2/extension/libmaxminddb/dev-bin/000077500000000000000000000000001454732056000230025ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/dev-bin/clang-format-all.sh000077500000000000000000000004761454732056000264700ustar00rootroot00000000000000#!/bin/sh format="clang-format -i -style=file" for dir in bin include src t; do c_files=`find $dir -maxdepth 1 -name '*.c'` if [ "$c_files" != "" ]; then $format $dir/*.c; fi h_files=`find $dir -maxdepth 1 -name '*.h'` if [ "$h_files" != "" ]; then $format $dir/*.h; fi done python-maxminddb-2.5.2/extension/libmaxminddb/dev-bin/make-man-pages.pl000077500000000000000000000044301454732056000261260ustar00rootroot00000000000000#!/usr/bin/env perl use strict; use warnings; use autodie qw( :all ); use FindBin qw( $Bin ); use File::Path qw( mkpath ); use File::Slurp qw( edit_file read_file ); use File::Which qw( which ); sub main { my $target = shift || "$Bin/.."; my @translators = qw ( lowdown pandoc ); my $translator; foreach my $p (@translators) { if ( defined which($p) ) { $translator = $p; last; } } unless ( defined $translator ) { die "\n You must install one of " . join( ', ', @translators ) . " in order to generate the man pages.\n\n"; } _make_man( $translator, $target, 'libmaxminddb', 3 ); _make_lib_man_links($target); _make_man( $translator, $target, 'mmdblookup', 1 ); } sub _make_man { my $translator = shift; my $target = shift; my $name = shift; my $section = shift; my $input = "$Bin/../doc/$name.md"; my $man_dir = "$target/man/man$section"; mkpath($man_dir); my $output = "$man_dir/$name.$section"; if ( $translator eq 'pandoc' ) { system( 'pandoc', '-s', '-f', 'markdown_mmd+backtick_code_blocks', '-t', 'man', '-M', "title:$name", '-M', "section:$section", $input, '-o', $output, ); _pandoc_postprocess($output); } elsif ( $translator eq 'lowdown' ) { system( 'lowdown', '-s', '--out-no-smarty', '-Tman', '-M', "title:$name", '-M', "section:$section", $input, '-o', $output, ); } } sub _make_lib_man_links { my $target = shift; my $header = read_file("$Bin/../include/maxminddb.h"); for my $proto ( $header =~ /^ *extern.+?(MMDB_\w+)\(/gsm ) { open my $fh, '>', "$target/man/man3/$proto.3"; print {$fh} ".so man3/libmaxminddb.3\n"; close $fh; } } # AFAICT there's no way to control the indentation depth for code blocks with # Pandoc. sub _pandoc_postprocess { my $file = shift; edit_file( sub { s/^\.IP\n\.nf/.IP "" 4\n.nf/gm; s/(Automatically generated by Pandoc)(.+)$/$1/m; }, $file ); } main(shift); python-maxminddb-2.5.2/extension/libmaxminddb/dev-bin/ppa-release.sh000077500000000000000000000022331454732056000255370ustar00rootroot00000000000000#!/bin/bash set -e set -x set -u DISTS=( groovy focal bionic xenial trusty ) VERSION=$(perl -MFile::Slurp::Tiny=read_file -MDateTime <now->ymd eq \$2; say \$1; EOF ) RESULTS=/tmp/build-libmaxminddb-results/ SRCDIR="$RESULTS/libmaxminddb" mkdir -p "$SRCDIR" # gbp does weird things without a pristine checkout git clone git@github.com:maxmind/libmaxminddb.git -b ubuntu-ppa $SRCDIR pushd "$SRCDIR" git merge "$VERSION" for dist in "${DISTS[@]}"; do dch -v "$VERSION-0+maxmind1~$dist" -D "$dist" -u low "New upstream release." gbp buildpackage -S --git-ignore-new git clean -xfd git reset HEAD --hard done read -e -p "Release to PPA? (y/n)" SHOULD_RELEASE if [ "$SHOULD_RELEASE" != "y" ]; then echo "Aborting" exit 1 fi # Upload to launchpad dput ppa:maxmind/ppa ../*source.changes # Make the changelog up to date in git dch -v "$VERSION-0+maxmind1" -D "${DISTS[0]}" -u low "New upstream release." git add debian/changelog git commit -m "Update debian/changelog for $VERSION" git push python-maxminddb-2.5.2/extension/libmaxminddb/dev-bin/release.sh000077500000000000000000000044071454732056000247660ustar00rootroot00000000000000#!/bin/bash set -eu -o pipefail changelog=$(cat Changes.md) regex='## ([0-9]+\.[0-9]+\.[0-9]+) - ([0-9]{4}-[0-9]{2}-[0-9]{2}) ((.| )*) ' if [[ ! $changelog =~ $regex ]]; then echo "Could not find date line in change log!" exit 1 fi version="${BASH_REMATCH[1]}" date="${BASH_REMATCH[2]}" notes="$(echo "${BASH_REMATCH[3]}" | sed -n -e '/^## [0-9]\+\.[0-9]\+\.[0-9]\+/,$!p')" dist="libmaxminddb-$version.tar.gz" if [[ "$date" != $(date +"%Y-%m-%d") ]]; then echo "$date is not today!" exit 1 fi if [ -n "$(git status --porcelain)" ]; then echo ". is not clean." >&2 exit 1 fi old_version=$(perl -MFile::Slurp=read_file <&2 exit 1 fi index=index.md cat < $index --- layout: default title: libmaxminddb - a library for working with MaxMind DB files version: $version --- EOF cat ../doc/libmaxminddb.md >> $index mmdblookup=mmdblookup.md cat < $mmdblookup --- layout: default title: mmdblookup - a utility to look up an IP address in a MaxMind DB file version: $version --- EOF cat ../doc/mmdblookup.md >> $mmdblookup git commit -m "Updated for $version" -a read -p "Push to origin? (y/n) " should_push if [ "$should_push" != "y" ]; then echo "Aborting" exit 1 fi git push popd git push gh release create --target "$(git branch --show-current)" -t "$version" -n "$notes" "$version" "$dist" python-maxminddb-2.5.2/extension/libmaxminddb/dev-bin/valgrind-all.pl000077500000000000000000000022741454732056000257230ustar00rootroot00000000000000#!/usr/bin/env perl # Note to run this you will probably want to build with ./configure # --disable-shared. You don't want to valgrind the libtool script. # # Also make sure you compile the tests first (`make check'). use strict; use warnings; use File::Basename qw( basename ); use FindBin qw( $Bin ); use IPC::Run3; my $top_dir = "$Bin/.."; my $output; my @tests; push @tests, glob "$top_dir/t/*_t"; push @tests, glob "$top_dir/t/*-t"; my @mmdblookup = ( "$top_dir/bin/mmdblookup", '--file', "$top_dir/t/maxmind-db/test-data/MaxMind-DB-test-decoder.mmdb", '--ip', ); # We want IPv4 and IPv6 addresses - one of each that exists in the db and one # that doesn't my @ips = ( '1.1.1.1', '10.0.0.0', 'abcd::', '0900::' ); my @cmds = ( ( map { [ @mmdblookup, $_ ] } @ips ), ( map { [$_] } @tests ), ); for my $cmd (@cmds) { my $output; run3( [ qw( valgrind -v --leak-check=full --show-leak-kinds=all -- ), @{$cmd} ], \undef, \$output, \$output, ); $output =~ s/^(?!=).*\n//mg; my $marker = '-' x 60; print $marker, "\n", ( join q{ }, basename( shift @{$cmd} ), @{$cmd} ), "\n", $marker, "\n", $output, "\n\n"; } python-maxminddb-2.5.2/extension/libmaxminddb/doc/000077500000000000000000000000001454732056000222235ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/doc/libmaxminddb.md000066400000000000000000000701131454732056000252010ustar00rootroot00000000000000# NAME libmaxminddb - a library for working with MaxMind DB files # SYNOPSIS ```c #include int MMDB_open( const char *const filename, uint32_t flags, MMDB_s *const mmdb); void MMDB_close(MMDB_s *const mmdb); MMDB_lookup_result_s MMDB_lookup_string( MMDB_s *const mmdb, const char *const ipstr, int *const gai_error, int *const mmdb_error); MMDB_lookup_result_s MMDB_lookup_sockaddr( MMDB_s *const mmdb, const struct sockaddr *const sockaddr, int *const mmdb_error); int MMDB_get_value( MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, ...); int MMDB_vget_value( MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, va_list va_path); int MMDB_aget_value( MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, const char *const *const path); int MMDB_get_entry_data_list( MMDB_entry_s *start, MMDB_entry_data_list_s **const entry_data_list); void MMDB_free_entry_data_list( MMDB_entry_data_list_s *const entry_data_list); int MMDB_get_metadata_as_entry_data_list( MMDB_s *const mmdb, MMDB_entry_data_list_s **const entry_data_list); int MMDB_dump_entry_data_list( FILE *const stream, MMDB_entry_data_list_s *const entry_data_list, int indent); int MMDB_read_node( MMDB_s *const mmdb, uint32_t node_number, MMDB_search_node_s *const node); const char *MMDB_lib_version(void); const char *MMDB_strerror(int error_code); typedef struct MMDB_lookup_result_s { bool found_entry; MMDB_entry_s entry; uint16_t netmask; } MMDB_lookup_result_s; typedef struct MMDB_entry_data_s { bool has_data; union { uint32_t pointer; const char *utf8_string; double double_value; const uint8_t *bytes; uint16_t uint16; uint32_t uint32; int32_t int32; uint64_t uint64; {mmdb_uint128_t or uint8_t[16]} uint128; bool boolean; float float_value; }; ... uint32_t data_size; uint32_t type; } MMDB_entry_data_s; typedef struct MMDB_entry_data_list_s { MMDB_entry_data_s entry_data; struct MMDB_entry_data_list_s *next; } MMDB_entry_data_list_s; ``` # DESCRIPTION The libmaxminddb library provides functions for working MaxMind DB files. See https://maxmind.github.io/MaxMind-DB/ for the MaxMind DB format specification. The database and results are all represented by different data structures. Databases are opened by calling `MMDB_open()`. You can look up IP addresses as a string with `MMDB_lookup_string()` or as a pointer to a `sockaddr` structure with `MMDB_lookup_sockaddr()`. If the lookup finds the IP address in the database, it returns a `MMDB_lookup_result_s` structure. If that structure indicates that the database has data for the IP, there are a number of functions that can be used to fetch that data. These include `MMDB_get_value()` and `MMDB_get_entry_data_list()`. See the function documentation below for more details. When you are done with the database handle you should call `MMDB_close()`. All publicly visible functions, structures, and macros begin with "MMDB_". # DATA STRUCTURES All data structures exported by this library's `maxminddb.h` header are typedef'd in the form `typedef struct foo_s { ... } foo_s` so you can refer to them without the `struct` prefix. This library provides the following data structures: ## `MMDB_s` This is the handle for a MaxMind DB file. We only document some of this structure's fields intended for public use. All other fields are subject to change and are intended only for internal use. ```c typedef struct MMDB_s { uint32_t flags; const char *filename; ... MMDB_metadata_s metadata; } MMDB_s; ``` * `uint32_t flags` - the flags this database was opened with. See the `MMDB_open()` documentation for more details. * `const char *filename` - the name of the file which was opened, as passed to `MMDB_open()`. * `MMDB_metadata_s metadata` - the metadata for the database. ## `MMDB_metadata_s` and `MMDB_description_s` This structure can be retrieved from the `MMDB_s` structure. It contains the metadata read from the database file. Note that you may find it more convenient to access this metadata by calling `MMDB_get_metadata_as_entry_data_list()` instead. ```c typedef struct MMDB_metadata_s { uint32_t node_count; uint16_t record_size; uint16_t ip_version; const char *database_type; struct { size_t count; const char **names; } languages; uint16_t binary_format_major_version; uint16_t binary_format_minor_version; uint64_t build_epoch; struct { size_t count; MMDB_description_s **descriptions; } description; } MMDB_metadata_s; typedef struct MMDB_description_s { const char *language; const char *description; } MMDB_description_s; ``` These structures should be mostly self-explanatory. The `ip_version` member should always be `4` or `6`. The `binary_format_major_version` should always be `2`. There is no requirement that the database metadata include languages or descriptions, so the `count` for these parts of the metadata can be zero. All of the other `MMDB_metadata_s` fields should be populated. ## `MMDB_lookup_result_s` This structure is returned as the result of looking up an IP address. ```c typedef struct MMDB_lookup_result_s { bool found_entry; MMDB_entry_s entry; uint16_t netmask; } MMDB_lookup_result_s; ``` If the `found_entry` member is false then the other members of this structure do not contain meaningful values. Always check that `found_entry` is true first. The `entry` member is used to look up the data associated with the IP address. The `netmask` member tells you what subnet the IP address belongs to in this database. For example, if you look up the address `1.1.1.1` in an IPv4 database and the returned `netmask` is 16, then the address is part of the `1.1.0.0/16` subnet. If the database is an IPv6 database, the returned netmask is always an IPv6 prefix length (from 0-128), even if that database *also* contains IPv4 networks. If you look up an IPv4 address and would like to turn the netmask into an IPv4 netmask value, you can simply subtract `96` from the value. ## `MMDB_result_s` You don't really need to dig around in this structure. You'll get this from a `MMDB_lookup_result_s` structure and pass it to various functions. ## `MMDB_entry_data_s` This structure is used to return a single data section entry for an IP. These entries can in turn point to other entries, as is the case for things like maps and arrays. Some members of this structure are not documented as they are only for internal use. ```c typedef struct MMDB_entry_data_s { bool has_data; union { uint32_t pointer; const char *utf8_string; double double_value; const uint8_t *bytes; uint16_t uint16; uint32_t uint32; int32_t int32; uint64_t uint64; {mmdb_uint128_t or uint8_t[16]} uint128; bool boolean; float float_value; }; ... uint32_t data_size; uint32_t type; } MMDB_entry_data_s; ``` The `has_data` member is true if data was found for a given lookup. See `MMDB_get_value()` for more details. If this member is false then none of the other values in the structure are meaningful. The union at the beginning of the structure defines the actual data. To determine which union member is populated you should look at the `type` member. The `pointer` member of the union should never be populated in any data returned by the API. Pointers should always be resolved internally. The `data_size` member is only relevant for `utf8_string` and `bytes` data. `utf8_string` is not null terminated and `data_size` _must_ be used to determine its length. The `type` member can be compared to one of the `MMDB_DATA_TYPE_*` macros. ### 128-bit Integers The handling of `uint128` data depends on how your platform supports 128-bit integers, if it does so at all. With GCC 4.4 and 4.5 we can write `unsigned int __attribute__ ((__mode__ (TI)))`. With newer versions of GCC (4.6+) and clang (3.2+) we can simply write "unsigned __int128". In order to work around these differences, this library defines an `mmdb_uint128_t` type. This type is defined in the `maxminddb.h` header so you can use it in your own code. With older compilers, we can't use an integer so we instead use a 16 byte array of `uint8_t` values. This is the raw data from the database. This library provides a public macro `MMDB_UINT128_IS_BYTE_ARRAY` macro. If this is true (1), then `uint128` values are returned as a byte array, if it is false then they are returned as a `mmdb_uint128_t` integer. ### Data Type Macros This library provides a macro for every data type defined by the MaxMind DB spec. * `MMDB_DATA_TYPE_UTF8_STRING` * `MMDB_DATA_TYPE_DOUBLE` * `MMDB_DATA_TYPE_BYTES` * `MMDB_DATA_TYPE_UINT16` * `MMDB_DATA_TYPE_UINT32` * `MMDB_DATA_TYPE_MAP` * `MMDB_DATA_TYPE_INT32` * `MMDB_DATA_TYPE_UINT64` * `MMDB_DATA_TYPE_UINT128` * `MMDB_DATA_TYPE_ARRAY` * `MMDB_DATA_TYPE_BOOLEAN` * `MMDB_DATA_TYPE_FLOAT` There are also a few types that are for internal use only: * `MMDB_DATA_TYPE_EXTENDED` * `MMDB_DATA_TYPE_POINTER` * `MMDB_DATA_TYPE_CONTAINER` * `MMDB_DATA_TYPE_END_MARKER` If you see one of these in returned data then something has gone very wrong. The database is damaged or was generated incorrectly or there is a bug in the libmaxminddb code. ### Pointer Values and `MMDB_close()` The `utf8_string`, `bytes`, and (maybe) the `uint128` members of this structure are all pointers directly into the database's data section. This can either be a `calloc`'d or `mmap`'d block of memory. In either case, these pointers will become invalid after `MMDB_close()` is called. If you need to refer to this data after that time you should copy the data with an appropriate function (`strdup`, `memcpy`, etc.). ## `MMDB_entry_data_list_s` This structure encapsulates a linked list of `MMDB_entry_data_s` structures. ```c typedef struct MMDB_entry_data_list_s { MMDB_entry_data_s entry_data; struct MMDB_entry_data_list_s *next; } MMDB_entry_data_list_s; ``` This structure lets you look at entire map or array data entry by iterating over the linked list. ## `MMDB_search_node_s` This structure encapsulates the two records in a search node. This is really only useful if you want to write code that iterates over the entire search tree as opposed to looking up a specific IP address. ```c typedef struct MMDB_search_node_s { uint64_t left_record; uint64_t right_record; uint8_t left_record_type; uint8_t right_record_type; MMDB_entry_s left_record_entry; MMDB_entry_s right_record_entry; } MMDB_search_node_s; ``` The two record types will take one of the following values: * `MMDB_RECORD_TYPE_SEARCH_NODE` - The record points to the next search node. * `MMDB_RECORD_TYPE_EMPTY` - The record is a placeholder that indicates there is no data for the IP address. The search should end here. * `MMDB_RECORD_TYPE_DATA` - The record is for data in the data section of the database. Use the entry for the record when looking up the data for the record. * `MMDB_RECORD_TYPE_INVALID` - The record is invalid. Either an invalid node was looked up or the database is corrupt. The `MMDB_entry_s` for the record is only valid if the type is `MMDB_RECORD_TYPE_DATA`. Attempts to use an entry for other record types will result in an error or invalid data. # STATUS CODES This library returns (or populates) status codes for many functions. These status codes are: * `MMDB_SUCCESS` - everything worked * `MMDB_FILE_OPEN_ERROR` - there was an error trying to open the MaxMind DB file. * `MMDB_IO_ERROR` - an IO operation failed. Check `errno` for more details. * `MMDB_CORRUPT_SEARCH_TREE_ERROR` - looking up an IP address in the search tree gave us an impossible result. The database is damaged or was generated incorrectly or there is a bug in the libmaxminddb code. * `MMDB_INVALID_METADATA_ERROR` - something in the database is wrong. This includes missing metadata keys as well as impossible values (like an `ip_version` of 7). * `MMDB_UNKNOWN_DATABASE_FORMAT_ERROR` - The database metadata indicates that it's major version is not 2. This library can only handle major version 2. * `MMDB_OUT_OF_MEMORY_ERROR` - a memory allocation call (`malloc`, etc.) failed. * `MMDB_INVALID_DATA_ERROR` - an entry in the data section contains invalid data. For example, a `uint16` field is claiming to be more than 2 bytes long. The database is probably damaged or was generated incorrectly. * `MMDB_INVALID_LOOKUP_PATH_ERROR` - The lookup path passed to `MMDB_get_value`, `MMDB_vget_value`, or `MMDB_aget_value` contains an array offset that is larger than LONG_MAX or smaller than LONG_MIN. * `MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR` - The lookup path passed to `MMDB_get_value`,`MMDB_vget_value`, or `MMDB_aget_value` does not match the data structure for the entry. There are number of reasons this can happen. The lookup path could include a key not in a map. The lookup path could include an array index larger than an array or smaller than the minimum offset from the end of an array. It can also happen when the path expects to find a map or array where none exist. All status codes should be treated as `int` values. ## `MMDB_strerror()` ```c const char *MMDB_strerror(int error_code) ``` This function takes a status code and returns an English string explaining the status. # FUNCTIONS This library provides the following exported functions: ## `MMDB_open()` ```c int MMDB_open( const char *const filename, uint32_t flags, MMDB_s *const mmdb); ``` This function opens a handle to a MaxMind DB file. Its return value is a status code as defined above. Always check this call's return value. ```c MMDB_s mmdb; int status = MMDB_open("/path/to/file.mmdb", MMDB_MODE_MMAP, &mmdb); if (MMDB_SUCCESS != status) { ... } ... MMDB_close(&mmdb); ``` `filename` must be encoded as UTF-8 on Windows. The `MMDB_s` structure you pass in can be on the stack or allocated from the heap. However, if the open is successful it will contain heap-allocated data, so you need to close it with `MMDB_close()`. If the status returned is not `MMDB_SUCCESS` then this library makes sure that all allocated memory is freed before returning. The flags currently provided are: * `MMDB_MODE_MMAP` - open the database with `mmap()`. Passing in other values for `flags` may yield unpredictable results. In the future we may add additional flags that you can bitwise-or together with the mode, as well as additional modes. You can also pass `0` as the `flags` value in which case the database will be opened with the default flags. However, these defaults may change in future releases. The current default is `MMDB_MODE_MMAP`. ## `MMDB_close()` ```c void MMDB_close(MMDB_s *const mmdb); ``` This frees any allocated or mmap'd memory that is held from the `MMDB_s` structure. *It does not free the memory allocated for the structure itself!* If you allocated the structure from the heap then you are responsible for freeing it. ## `MMDB_lookup_string()` ```c MMDB_lookup_result_s MMDB_lookup_string( MMDB_s *const mmdb, const char *const ipstr, int *const gai_error, int *const mmdb_error); ``` This function looks up an IP address that is passed in as a null-terminated string. Internally it calls `getaddrinfo()` to resolve the address into a binary form. It then calls `MMDB_lookup_sockaddr()` to look the address up in the database. If you have already resolved an address you can call `MMDB_lookup_sockaddr()` directly, rather than resolving the address twice. ```c int gai_error, mmdb_error; MMDB_lookup_result_s result = MMDB_lookup_string(&mmdb, "1.2.3.4", &gai_error, &mmdb_error); if (0 != gai_error) { ... } if (MMDB_SUCCESS != mmdb_error) { ... } if (result.found_entry) { ... } ``` This function always returns an `MMDB_lookup_result_s` structure, but you should also check the `gai_error` and `mmdb_error` parameters. If either of these indicates an error then the returned structure is meaningless. If no error occurred you still need to make sure that the `found_entry` member in the returned result is true. If it's not, this means that the IP address does not have an entry in the database. This function will work with IPv4 addresses even when the database contains data for both IPv4 and IPv6 addresses. The IPv4 address will be looked up as '::xxx.xxx.xxx.xxx' rather than being remapped to the `::ffff:xxx.xxx.xxx.xxx` block allocated for IPv4-mapped IPv6 addresses. If you pass an IPv6 address to a database with only IPv4 data then the `found_entry` member will be false, but the `mmdb_error` status will still be `MMDB_SUCCESS`. ## `MMDB_lookup_sockaddr()` ```c MMDB_lookup_result_s MMDB_lookup_sockaddr( MMDB_s *const mmdb, const struct sockaddr *const sockaddr, int *const mmdb_error); ``` This function looks up an IP address that has already been resolved by `getaddrinfo()`. Other than not calling `getaddrinfo()` itself, this function is identical to the `MMDB_lookup_string()` function. ```c int mmdb_error; MMDB_lookup_result_s result = MMDB_lookup_sockaddr(&mmdb, address->ai_addr, &mmdb_error); if (MMDB_SUCCESS != mmdb_error) { ... } if (result.found_entry) { ... } ``` ## Data Lookup Functions There are three functions for looking up data associated with an IP address. ```c int MMDB_get_value( MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, ...); int MMDB_vget_value( MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, va_list va_path); int MMDB_aget_value( MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, const char *const *const path); ``` The three functions allow three slightly different calling styles, but they all do the same thing. The first parameter is an `MMDB_entry_s` value. In most cases this will come from the `MMDB_lookup_result_s` value returned by `MMDB_lookup_string()` or `MMDB_lookup_sockaddr()`. The second parameter is a reference to an `MMDB_entry_data_s` structure. This will be populated with the data that is being looked up, if any is found. If nothing is found, then the `has_data` member of this structure will be false. If `has_data` is true then you can look at the `data_type` member. The final parameter is a lookup path. The path consists of a set of strings representing either map keys (e.g, "city") or array indexes (e.g., "0", "1", "-1") to use in the lookup. Negative array indexes will be treated as an offset from the end of the array. For instance, "-1" refers to the last element of the array. The lookup path allows you to navigate a complex data structure. For example, given this data: ```js { "names": { "en": "Germany", "de": "Deutschland" }, "cities": [ "Berlin", "Frankfurt" ] } ``` We could look up the English name with this code: ```c MMDB_lookup_result_s result = MMDB_lookup_sockaddr(&mmdb, address->ai_addr, &mmdb_error); MMDB_entry_data_s entry_data; int status = MMDB_get_value(&result.entry, &entry_data, "names", "en", NULL); if (MMDB_SUCCESS != status) { ... } if (entry_data.has_data) { ... } ``` If we wanted to find the first city the lookup path would be `"cities", "0"`. If you don't provide a lookup path at all, you'll get the entry which corresponds to the top level map. The lookup path must always end with `NULL`, regardless of which function you call. The `MMDB_get_value` function takes a variable number of arguments. All of the arguments after the `MMDB_entry_data_s *` structure pointer are the lookup path. The last argument must be `NULL`. The `MMDB_vget_value` function accepts a `va_list` as the lookup path. The last element retrieved by `va_arg()` must be `NULL`. Finally, the `MMDB_aget_value` accepts an array of strings as the lookup path. The last member of this array must be `NULL`. If you want to get all of the entry data at once you can call `MMDB_get_entry_data_list()` instead. For each of the three functions, the return value is a status code as defined above. ## `MMDB_get_entry_data_list()` ```c int MMDB_get_entry_data_list( MMDB_entry_s *start, MMDB_entry_data_list_s **const entry_data_list); ``` This function allows you to get all of the data for a complex data structure at once, rather than looking up each piece using repeated calls to `MMDB_get_value()`. ```c MMDB_lookup_result_s result = MMDB_lookup_sockaddr(&mmdb, address->ai_addr, &mmdb_error); MMDB_entry_data_list_s *entry_data_list, *first; int status = MMDB_get_entry_data_list(&result.entry, &entry_data_list); if (MMDB_SUCCESS != status) { ... } // save this so we can free this data later first = entry_data_list; while (1) { MMDB_entry_data_list_s *next = entry_data_list = entry_data_list->next; if (NULL == next) { break; } switch (next->entry_data.type) { case MMDB_DATA_TYPE_MAP: { ... } case MMDB_DATA_TYPE_UTF8_STRING: { ... } ... } } MMDB_free_entry_data_list(first); ``` It's up to you to interpret the `entry_data_list` data structure. The list is linked in a depth-first traversal. Let's use this structure as an example: ```js { "names": { "en": "Germany", "de": "Deutschland" }, "cities": [ "Berlin", "Frankfurt" ] } ``` The list will consist of the following items: 1. MAP - top level map 2. UTF8_STRING - "names" key 3. MAP - map for "names" key 4. UTF8_STRING - "en" key 5. UTF8_STRING - value for "en" key 6. UTF8_STRING - "de" key 7. UTF8_STRING - value for "de" key 8. UTF8_STRING - "cities" key 9. ARRAY - value for "cities" key 10. UTF8_STRING - array[0] 11. UTF8_STRING - array[1] The return value of the function is a status code as defined above. ## `MMDB_free_entry_data_list()` ```c void MMDB_free_entry_data_list( MMDB_entry_data_list_s *const entry_data_list); ``` The `MMDB_get_entry_data_list()` and `MMDB_get_metadata_as_entry_data_list()` functions will allocate the linked list structure from the heap. Call this function to free the `MMDB_entry_data_list_s` structure. ## `MMDB_get_metadata_as_entry_data_list()` ```c int MMDB_get_metadata_as_entry_data_list( MMDB_s *const mmdb, MMDB_entry_data_list_s **const entry_data_list); ``` This function allows you to retrieve the database metadata as a linked list of `MMDB_entry_data_list_s` structures. This can be a more convenient way to deal with the metadata than using the metadata structure directly. ```c MMDB_entry_data_list_s *entry_data_list, *first; int status = MMDB_get_metadata_as_entry_data_list(&mmdb, &entry_data_list); if (MMDB_SUCCESS != status) { ... } first = entry_data_list; ... // do something with the data MMDB_free_entry_data_list(first); ``` The return value of the function is a status code as defined above. ## `MMDB_dump_entry_data_list()` ```c int MMDB_dump_entry_data_list( FILE *const stream, MMDB_entry_data_list_s *const entry_data_list, int indent); ``` This function takes a linked list of `MMDB_entry_data_list_s` structures and stringifies it to the given `stream`. The `indent` parameter is the starting indent level for the generated output. It is incremented for nested data structures (maps, array, etc.). The `stream` must be a file handle (`stdout`, etc). If your platform provides something like the GNU `open_memstream()` you can use that to capture the output as a string. The output is formatted in a JSON-ish fashion, but values are marked with their data type (except for maps and arrays which are shown with "{}" and "[]" respectively). The specific output format may change in future releases, so you should not rely on the specific formatting produced by this function. It is intended to be used to show data to users in a readable way and for debugging purposes. The return value of the function is a status code as defined above. ## `MMDB_read_node()` ```c int MMDB_read_node( MMDB_s *const mmdb, uint32_t node_number, MMDB_search_node_s *const node); ``` This reads a specific node in the search tree. The third argument is a reference to an `MMDB_search_node_s` structure that will be populated by this function. The return value is a status code. If you pass a `node_number` that is greater than the number of nodes in the database, this function will return `MMDB_INVALID_NODE_NUMBER_ERROR`, otherwise it will return `MMDB_SUCCESS`. The first node in the search tree is always node 0. If you wanted to iterate over the whole search tree, you would start by reading node 0 and then following the the records that make up this node, based on the type of each record. If the type is `MMDB_RECORD_TYPE_SEARCH_NODE` then the record contains an integer for the next node to look up. ## `MMDB_lib_version()` ```c const char *MMDB_lib_version(void) ``` This function returns the library version as a string, something like "2.0.0". # EXAMPLE ```c #include #include #include #include int main(int argc, char **argv) { char *filename = argv[1]; char *ip_address = argv[2]; MMDB_s mmdb; int status = MMDB_open(filename, MMDB_MODE_MMAP, &mmdb); if (MMDB_SUCCESS != status) { fprintf(stderr, "\n Can't open %s - %s\n", filename, MMDB_strerror(status)); if (MMDB_IO_ERROR == status) { fprintf(stderr, " IO error: %s\n", strerror(errno)); } exit(1); } int gai_error, mmdb_error; MMDB_lookup_result_s result = MMDB_lookup_string(&mmdb, ip_address, &gai_error, &mmdb_error); if (0 != gai_error) { fprintf(stderr, "\n Error from getaddrinfo for %s - %s\n\n", ip_address, gai_strerror(gai_error)); exit(2); } if (MMDB_SUCCESS != mmdb_error) { fprintf(stderr, "\n Got an error from libmaxminddb: %s\n\n", MMDB_strerror(mmdb_error)); exit(3); } MMDB_entry_data_list_s *entry_data_list = NULL; int exit_code = 0; if (result.found_entry) { int status = MMDB_get_entry_data_list(&result.entry, &entry_data_list); if (MMDB_SUCCESS != status) { fprintf( stderr, "Got an error looking up the entry data - %s\n", MMDB_strerror(status)); exit_code = 4; goto end; } if (NULL != entry_data_list) { MMDB_dump_entry_data_list(stdout, entry_data_list, 2); } } else { fprintf( stderr, "\n No entry for this IP address (%s) was found\n\n", ip_address); exit_code = 5; } end: MMDB_free_entry_data_list(entry_data_list); MMDB_close(&mmdb); exit(exit_code); } ``` # REQUIREMENTS libmaxminddb requires a minimum of POSIX.1-2001 support. If not specified at compilation time, it defaults to requesting POSIX.1-2008 support. # THREAD SAFETY This library is thread safe when compiled and linked with a thread-safe `malloc` and `free` implementation. # INSTALLATION AND SOURCE You can download the latest release of libmaxminddb [from GitHub](https://github.com/maxmind/libmaxminddb/releases). [Our GitHub repo](https://github.com/maxmind/libmaxminddb) is publicly available. Please fork it! # BUG REPORTS AND PULL REQUESTS Please report all issues to [our GitHub issue tracker](https://github.com/maxmind/libmaxminddb/issues). We welcome bug reports and pull requests. Please note that pull requests are greatly preferred over patches. # AUTHORS This library was written by Boris Zentner (bzentner@maxmind.com) and Dave Rolsky (drolsky@maxmind.com). # COPYRIGHT AND LICENSE Copyright 2013-2023 MaxMind, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. # SEE ALSO mmdblookup(1) python-maxminddb-2.5.2/extension/libmaxminddb/doc/mmdblookup.md000066400000000000000000000045141454732056000247220ustar00rootroot00000000000000# NAME mmdblookup - a utility to look up an IP address in a MaxMind DB file # SYNOPSIS mmdblookup --file [FILE PATH] --ip [IP ADDRESS] [DATA PATH] # DESCRIPTION `mmdblookup` looks up an IP address in the specified MaxMind DB file. The record for the IP address is displayed in a JSON-like structure with type annotations. If an IP's data entry resolves to a map or array, you can provide a lookup path to only show part of that data. For example, given a JSON structure like this: ```js { "names": { "en": "Germany", "de": "Deutschland" }, "cities": [ "Berlin", "Frankfurt" ] } ``` You could look up just the English name by calling mmdblookup with a lookup path of: ```bash mmdblookup --file ... --ip ... names en ``` Or you could look up the second city in the list with: ```bash mmdblookup --file ... --ip ... cities 1 ``` Array numbering begins with zero (0). If you do not provide a path to lookup, all of the information for a given IP will be shown. # OPTIONS This application accepts the following options: -f, --file : The path to the MMDB file. Required. -i, --ip : The IP address to look up. Required. -v, --verbose : Turns on verbose output. Specifically, this causes this application to output the database metadata. --version : Print the program's version number and exit. -h, -?, --help : Show usage information. # BUG REPORTS AND PULL REQUESTS Please report all issues to [our GitHub issue tracker](https://github.com/maxmind/libmaxminddb/issues). We welcome bug reports and pull requests. Please note that pull requests are greatly preferred over patches. # AUTHORS This utility was written by Boris Zentner (bzentner@maxmind.com) and Dave Rolsky (drolsky@maxmind.com). # COPYRIGHT AND LICENSE Copyright 2013-2023 MaxMind, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. # SEE ALSO libmaxminddb(3) python-maxminddb-2.5.2/extension/libmaxminddb/include/000077500000000000000000000000001454732056000231015ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/include/maxminddb.h000066400000000000000000000172511454732056000252230ustar00rootroot00000000000000#ifdef __cplusplus extern "C" { #endif #ifndef MAXMINDDB_H #define MAXMINDDB_H #include "maxminddb_config.h" #include #include #include #include #include #ifdef _WIN32 #include #include /* libmaxminddb package version from configure */ #if defined(_MSC_VER) /* MSVC doesn't define signed size_t, copy it from configure */ #define ssize_t SSIZE_T /* MSVC doesn't support restricted pointers */ #define restrict #endif #else #include #include #include #endif #define MMDB_DATA_TYPE_EXTENDED (0) #define MMDB_DATA_TYPE_POINTER (1) #define MMDB_DATA_TYPE_UTF8_STRING (2) #define MMDB_DATA_TYPE_DOUBLE (3) #define MMDB_DATA_TYPE_BYTES (4) #define MMDB_DATA_TYPE_UINT16 (5) #define MMDB_DATA_TYPE_UINT32 (6) #define MMDB_DATA_TYPE_MAP (7) #define MMDB_DATA_TYPE_INT32 (8) #define MMDB_DATA_TYPE_UINT64 (9) #define MMDB_DATA_TYPE_UINT128 (10) #define MMDB_DATA_TYPE_ARRAY (11) #define MMDB_DATA_TYPE_CONTAINER (12) #define MMDB_DATA_TYPE_END_MARKER (13) #define MMDB_DATA_TYPE_BOOLEAN (14) #define MMDB_DATA_TYPE_FLOAT (15) #define MMDB_RECORD_TYPE_SEARCH_NODE (0) #define MMDB_RECORD_TYPE_EMPTY (1) #define MMDB_RECORD_TYPE_DATA (2) #define MMDB_RECORD_TYPE_INVALID (3) /* flags for open */ #define MMDB_MODE_MMAP (1) #define MMDB_MODE_MASK (7) /* error codes */ #define MMDB_SUCCESS (0) #define MMDB_FILE_OPEN_ERROR (1) #define MMDB_CORRUPT_SEARCH_TREE_ERROR (2) #define MMDB_INVALID_METADATA_ERROR (3) #define MMDB_IO_ERROR (4) #define MMDB_OUT_OF_MEMORY_ERROR (5) #define MMDB_UNKNOWN_DATABASE_FORMAT_ERROR (6) #define MMDB_INVALID_DATA_ERROR (7) #define MMDB_INVALID_LOOKUP_PATH_ERROR (8) #define MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR (9) #define MMDB_INVALID_NODE_NUMBER_ERROR (10) #define MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR (11) #if !(MMDB_UINT128_IS_BYTE_ARRAY) #if MMDB_UINT128_USING_MODE typedef unsigned int mmdb_uint128_t __attribute__((__mode__(TI))); #else typedef unsigned __int128 mmdb_uint128_t; #endif #endif /* This is a pointer into the data section for a given IP address lookup */ typedef struct MMDB_entry_s { const struct MMDB_s *mmdb; uint32_t offset; } MMDB_entry_s; typedef struct MMDB_lookup_result_s { bool found_entry; MMDB_entry_s entry; uint16_t netmask; } MMDB_lookup_result_s; typedef struct MMDB_entry_data_s { bool has_data; union { uint32_t pointer; const char *utf8_string; double double_value; const uint8_t *bytes; uint16_t uint16; uint32_t uint32; int32_t int32; uint64_t uint64; #if MMDB_UINT128_IS_BYTE_ARRAY uint8_t uint128[16]; #else mmdb_uint128_t uint128; #endif bool boolean; float float_value; }; /* This is a 0 if a given entry cannot be found. This can only happen * when a call to MMDB_(v)get_value() asks for hash keys or array * indices that don't exist. */ uint32_t offset; /* This is the next entry in the data section, but it's really only * relevant for entries that part of a larger map or array * struct. There's no good reason for an end user to look at this * directly. */ uint32_t offset_to_next; /* This is only valid for strings, utf8_strings or binary data */ uint32_t data_size; /* This is an MMDB_DATA_TYPE_* constant */ uint32_t type; } MMDB_entry_data_s; /* This is the return type when someone asks for all the entry data in a map or * array */ typedef struct MMDB_entry_data_list_s { MMDB_entry_data_s entry_data; struct MMDB_entry_data_list_s *next; void *pool; } MMDB_entry_data_list_s; typedef struct MMDB_description_s { const char *language; const char *description; } MMDB_description_s; /* WARNING: do not add new fields to this struct without bumping the SONAME. * The struct is allocated by the users of this library and increasing the * size will cause existing users to allocate too little space when the shared * library is upgraded */ typedef struct MMDB_metadata_s { uint32_t node_count; uint16_t record_size; uint16_t ip_version; const char *database_type; struct { size_t count; const char **names; } languages; uint16_t binary_format_major_version; uint16_t binary_format_minor_version; uint64_t build_epoch; struct { size_t count; MMDB_description_s **descriptions; } description; /* See above warning before adding fields */ } MMDB_metadata_s; /* WARNING: do not add new fields to this struct without bumping the SONAME. * The struct is allocated by the users of this library and increasing the * size will cause existing users to allocate too little space when the shared * library is upgraded */ typedef struct MMDB_ipv4_start_node_s { uint16_t netmask; uint32_t node_value; /* See above warning before adding fields */ } MMDB_ipv4_start_node_s; /* WARNING: do not add new fields to this struct without bumping the SONAME. * The struct is allocated by the users of this library and increasing the * size will cause existing users to allocate too little space when the shared * library is upgraded */ typedef struct MMDB_s { uint32_t flags; const char *filename; ssize_t file_size; const uint8_t *file_content; const uint8_t *data_section; uint32_t data_section_size; const uint8_t *metadata_section; uint32_t metadata_section_size; uint16_t full_record_byte_size; uint16_t depth; MMDB_ipv4_start_node_s ipv4_start_node; MMDB_metadata_s metadata; /* See above warning before adding fields */ } MMDB_s; typedef struct MMDB_search_node_s { uint64_t left_record; uint64_t right_record; uint8_t left_record_type; uint8_t right_record_type; MMDB_entry_s left_record_entry; MMDB_entry_s right_record_entry; } MMDB_search_node_s; extern int MMDB_open(const char *const filename, uint32_t flags, MMDB_s *const mmdb); extern MMDB_lookup_result_s MMDB_lookup_string(const MMDB_s *const mmdb, const char *const ipstr, int *const gai_error, int *const mmdb_error); extern MMDB_lookup_result_s MMDB_lookup_sockaddr(const MMDB_s *const mmdb, const struct sockaddr *const sockaddr, int *const mmdb_error); extern int MMDB_read_node(const MMDB_s *const mmdb, uint32_t node_number, MMDB_search_node_s *const node); extern int MMDB_get_value(MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, ...); extern int MMDB_vget_value(MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, va_list va_path); extern int MMDB_aget_value(MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, const char *const *const path); extern int MMDB_get_metadata_as_entry_data_list( const MMDB_s *const mmdb, MMDB_entry_data_list_s **const entry_data_list); extern int MMDB_get_entry_data_list(MMDB_entry_s *start, MMDB_entry_data_list_s **const entry_data_list); extern void MMDB_free_entry_data_list(MMDB_entry_data_list_s *const entry_data_list); extern void MMDB_close(MMDB_s *const mmdb); extern const char *MMDB_lib_version(void); extern int MMDB_dump_entry_data_list(FILE *const stream, MMDB_entry_data_list_s *const entry_data_list, int indent); extern const char *MMDB_strerror(int error_code); #endif /* MAXMINDDB_H */ #ifdef __cplusplus } #endif python-maxminddb-2.5.2/extension/libmaxminddb/include/maxminddb_config.h.cmake.in000066400000000000000000000007361454732056000302340ustar00rootroot00000000000000#ifndef MAXMINDDB_CONFIG_H #define MAXMINDDB_CONFIG_H #ifndef MMDB_UINT128_USING_MODE /* Define as 1 if we use unsigned int __atribute__ ((__mode__(TI))) for uint128 values */ #cmakedefine MMDB_UINT128_USING_MODE @MMDB_UINT128_USING_MODE@ #endif #ifndef MMDB_UINT128_IS_BYTE_ARRAY /* Define as 1 if we don't have an unsigned __int128 type */ #cmakedefine MMDB_UINT128_IS_BYTE_ARRAY @MMDB_UINT128_IS_BYTE_ARRAY@ #endif #endif /* MAXMINDDB_CONFIG_H */ python-maxminddb-2.5.2/extension/libmaxminddb/include/maxminddb_config.h.in000066400000000000000000000006361454732056000271540ustar00rootroot00000000000000#ifndef MAXMINDDB_CONFIG_H #define MAXMINDDB_CONFIG_H #ifndef MMDB_UINT128_USING_MODE /* Define as 1 if we use unsigned int __atribute__ ((__mode__(TI))) for uint128 values */ #define MMDB_UINT128_USING_MODE 0 #endif #ifndef MMDB_UINT128_IS_BYTE_ARRAY /* Define as 1 if we don't have an unsigned __int128 type */ #undef MMDB_UINT128_IS_BYTE_ARRAY #endif #endif /* MAXMINDDB_CONFIG_H */ python-maxminddb-2.5.2/extension/libmaxminddb/src/000077500000000000000000000000001454732056000222455ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/src/Makefile.am000066400000000000000000000014471454732056000243070ustar00rootroot00000000000000include $(top_srcdir)/common.mk lib_LTLIBRARIES = libmaxminddb.la libmaxminddb_la_SOURCES = maxminddb.c maxminddb-compat-util.h \ data-pool.c data-pool.h libmaxminddb_la_LDFLAGS = -version-info 0:7:0 -export-symbols-regex '^MMDB_.*' if WINDOWS libmaxminddb_la_LDFLAGS += -no-undefined endif include_HEADERS = $(top_srcdir)/include/maxminddb.h pkgconfig_DATA = libmaxminddb.pc TESTS = test-data-pool check_PROGRAMS = test-data-pool test_data_pool_SOURCES = data-pool.c data-pool.h test_data_pool_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/t -DTEST_DATA_POOL test_data_pool_LDADD = $(top_srcdir)/t/libmmdbtest.la \ $(top_srcdir)/t/libtap/libtap.a $(top_srcdir)/t/libmmdbtest.la: $(MAKE) -C $(top_srcdir)/t libmmdbtest.la $(top_srcdir)/t/libtap/libtap.a: $(MAKE) -C $(top_srcdir)/t/libtap libtap.a python-maxminddb-2.5.2/extension/libmaxminddb/src/data-pool.c000066400000000000000000000101641454732056000242730ustar00rootroot00000000000000#ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809L #endif #include "data-pool.h" #include "maxminddb.h" #include #include #include // Allocate an MMDB_data_pool_s. It initially has space for size // MMDB_entry_data_list_s structs. MMDB_data_pool_s *data_pool_new(size_t const size) { MMDB_data_pool_s *const pool = calloc(1, sizeof(MMDB_data_pool_s)); if (!pool) { return NULL; } if (size == 0 || !can_multiply(SIZE_MAX, size, sizeof(MMDB_entry_data_list_s))) { data_pool_destroy(pool); return NULL; } pool->size = size; pool->blocks[0] = calloc(pool->size, sizeof(MMDB_entry_data_list_s)); if (!pool->blocks[0]) { data_pool_destroy(pool); return NULL; } pool->blocks[0]->pool = pool; pool->sizes[0] = size; pool->block = pool->blocks[0]; return pool; } // Determine if we can multiply m*n. We can do this if the result will be below // the given max. max will typically be SIZE_MAX. // // We want to know if we'll wrap around. bool can_multiply(size_t const max, size_t const m, size_t const n) { if (m == 0) { return false; } return n <= max / m; } // Clean up the data pool. void data_pool_destroy(MMDB_data_pool_s *const pool) { if (!pool) { return; } for (size_t i = 0; i <= pool->index; i++) { free(pool->blocks[i]); } free(pool); } // Claim a new struct from the pool. Doing this may cause the pool's size to // grow. MMDB_entry_data_list_s *data_pool_alloc(MMDB_data_pool_s *const pool) { if (!pool) { return NULL; } if (pool->used < pool->size) { MMDB_entry_data_list_s *const element = pool->block + pool->used; pool->used++; return element; } // Take it from a new block of memory. size_t const new_index = pool->index + 1; if (new_index == DATA_POOL_NUM_BLOCKS) { // See the comment about not growing this on DATA_POOL_NUM_BLOCKS. return NULL; } if (!can_multiply(SIZE_MAX, pool->size, 2)) { return NULL; } size_t const new_size = pool->size * 2; if (!can_multiply(SIZE_MAX, new_size, sizeof(MMDB_entry_data_list_s))) { return NULL; } pool->blocks[new_index] = calloc(new_size, sizeof(MMDB_entry_data_list_s)); if (!pool->blocks[new_index]) { return NULL; } // We don't need to set this, but it's useful for introspection in tests. pool->blocks[new_index]->pool = pool; pool->index = new_index; pool->block = pool->blocks[pool->index]; pool->size = new_size; pool->sizes[pool->index] = pool->size; MMDB_entry_data_list_s *const element = pool->block; pool->used = 1; return element; } // Turn the structs in the array-like pool into a linked list. // // Before calling this function, the list isn't linked up. MMDB_entry_data_list_s *data_pool_to_list(MMDB_data_pool_s *const pool) { if (!pool) { return NULL; } if (pool->index == 0 && pool->used == 0) { return NULL; } for (size_t i = 0; i <= pool->index; i++) { MMDB_entry_data_list_s *const block = pool->blocks[i]; size_t size = pool->sizes[i]; if (i == pool->index) { size = pool->used; } for (size_t j = 0; j < size - 1; j++) { MMDB_entry_data_list_s *const cur = block + j; cur->next = block + j + 1; } if (i < pool->index) { MMDB_entry_data_list_s *const last = block + size - 1; last->next = pool->blocks[i + 1]; } } return pool->blocks[0]; } #ifdef TEST_DATA_POOL #include #include static void test_can_multiply(void); int main(void) { plan(NO_PLAN); test_can_multiply(); done_testing(); } static void test_can_multiply(void) { { ok(can_multiply(SIZE_MAX, 1, SIZE_MAX), "1*SIZE_MAX is ok"); } { ok(!can_multiply(SIZE_MAX, 2, SIZE_MAX), "2*SIZE_MAX is not ok"); } { ok(can_multiply(SIZE_MAX, 10240, sizeof(MMDB_entry_data_list_s)), "1024 entry_data_list_s's are okay"); } } #endif python-maxminddb-2.5.2/extension/libmaxminddb/src/data-pool.h000066400000000000000000000034711454732056000243030ustar00rootroot00000000000000#ifndef DATA_POOL_H #define DATA_POOL_H #include "maxminddb.h" #include #include // This should be large enough that we never need to grow the array of pointers // to blocks. 32 is enough. Even starting out of with size 1 (1 struct), the // 32nd element alone will provide 2**32 structs as we exponentially increase // the number in each block. Being confident that we do not have to grow the // array lets us avoid writing code to do that. That code would be risky as it // would rarely be hit and likely not be well tested. #define DATA_POOL_NUM_BLOCKS 32 // A pool of memory for MMDB_entry_data_list_s structs. This is so we can // allocate multiple up front rather than one at a time for performance // reasons. // // The order you add elements to it (by calling data_pool_alloc()) ends up as // the order of the list. // // The memory only grows. There is no support for releasing an element you take // back to the pool. typedef struct MMDB_data_pool_s { // Index of the current block we're allocating out of. size_t index; // The size of the current block, counting by structs. size_t size; // How many used in the current block, counting by structs. size_t used; // The current block we're allocating out of. MMDB_entry_data_list_s *block; // The size of each block. size_t sizes[DATA_POOL_NUM_BLOCKS]; // An array of pointers to blocks of memory holding space for list // elements. MMDB_entry_data_list_s *blocks[DATA_POOL_NUM_BLOCKS]; } MMDB_data_pool_s; bool can_multiply(size_t const, size_t const, size_t const); MMDB_data_pool_s *data_pool_new(size_t const); void data_pool_destroy(MMDB_data_pool_s *const); MMDB_entry_data_list_s *data_pool_alloc(MMDB_data_pool_s *const); MMDB_entry_data_list_s *data_pool_to_list(MMDB_data_pool_s *const); #endif python-maxminddb-2.5.2/extension/libmaxminddb/src/libmaxminddb.pc.in000066400000000000000000000004251454732056000256310ustar00rootroot00000000000000prefix=@prefix@ exec_prefix=@prefix@ libdir=@libdir@ includedir=@includedir@ Name: libmaxminddb Description: C library for the MaxMind DB file format URL: https://maxmind.github.io/libmaxminddb/ Version: @PACKAGE_VERSION@ Libs: -L${libdir} -lmaxminddb Cflags: -I${includedir} python-maxminddb-2.5.2/extension/libmaxminddb/src/maxminddb-compat-util.h000066400000000000000000000146441454732056000266260ustar00rootroot00000000000000#include #include /* *INDENT-OFF* */ /* The memmem, strdup, and strndup functions were all copied from the * FreeBSD source, along with the relevant copyright notice. * * It'd be nicer to simply use the functions available on the system if they * exist, but there doesn't seem to be a good way to detect them without also * defining things like _GNU_SOURCE, which we want to avoid, because then we * end up _accidentally_ using GNU features without noticing, which then * breaks on systems like OSX. * * C is fun! */ /* Applies to memmem implementation */ /*- * Copyright (c) 2005 Pascal Gloor * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ static const void * mmdb_memmem(const void *l, size_t l_len, const void *s, size_t s_len) { const char *cur, *last; const char *cl = (const char *)l; const char *cs = (const char *)s; /* we need something to compare */ if (l_len == 0 || s_len == 0) return NULL; /* "s" must be smaller or equal to "l" */ if (l_len < s_len) return NULL; /* special case where s_len == 1 */ if (s_len == 1) return memchr(l, (int)*cs, l_len); /* the last position where its possible to find "s" in "l" */ last = cl + l_len - s_len; for (cur = cl; cur <= last; cur++) if (cur[0] == cs[0] && memcmp(cur, cs, s_len) == 0) return cur; return NULL; } /* Applies to strnlen implementation */ /*- * Copyright (c) 2009 David Schultz * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ static size_t mmdb_strnlen(const char *s, size_t maxlen) { size_t len; for (len = 0; len < maxlen; len++, s++) { if (!*s) break; } return (len); } /* Applies to strdup and strndup implementation */ /* * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ static char *mmdb_strdup(const char *str) { size_t len; char *copy; len = strlen(str) + 1; if ((copy = malloc(len)) == NULL) return (NULL); memcpy(copy, str, len); return (copy); } static char *mmdb_strndup(const char *str, size_t n) { size_t len; char *copy; len = mmdb_strnlen(str, n); if ((copy = malloc(len + 1)) == NULL) return (NULL); memcpy(copy, str, len); copy[len] = '\0'; return (copy); } /* *INDENT-ON* */ python-maxminddb-2.5.2/extension/libmaxminddb/src/maxminddb.c000066400000000000000000002225451454732056000243660ustar00rootroot00000000000000#ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809L #endif #if HAVE_CONFIG_H #include #endif #include "data-pool.h" #include "maxminddb-compat-util.h" #include "maxminddb.h" #include #include #include #include #include #include #include #include #ifdef _WIN32 #ifndef UNICODE #define UNICODE #endif #include #include #define SSIZE_MAX INTPTR_MAX typedef ADDRESS_FAMILY sa_family_t; #else #include #include #include #endif #define MMDB_DATA_SECTION_SEPARATOR (16) #define MAXIMUM_DATA_STRUCTURE_DEPTH (512) #ifdef MMDB_DEBUG #define DEBUG_MSG(msg) fprintf(stderr, msg "\n") #define DEBUG_MSGF(fmt, ...) fprintf(stderr, fmt "\n", __VA_ARGS__) #define DEBUG_BINARY(fmt, byte) \ do { \ char *binary = byte_to_binary(byte); \ if (NULL == binary) { \ fprintf(stderr, "Calloc failed in DEBUG_BINARY\n"); \ abort(); \ } \ fprintf(stderr, fmt "\n", binary); \ free(binary); \ } while (0) #define DEBUG_NL fprintf(stderr, "\n") #else #define DEBUG_MSG(...) #define DEBUG_MSGF(...) #define DEBUG_BINARY(...) #define DEBUG_NL #endif #ifdef MMDB_DEBUG char *byte_to_binary(uint8_t byte) { char *bits = calloc(9, sizeof(char)); if (NULL == bits) { return bits; } for (uint8_t i = 0; i < 8; i++) { bits[i] = byte & (128 >> i) ? '1' : '0'; } bits[8] = '\0'; return bits; } char *type_num_to_name(uint8_t num) { switch (num) { case 0: return "extended"; case 1: return "pointer"; case 2: return "utf8_string"; case 3: return "double"; case 4: return "bytes"; case 5: return "uint16"; case 6: return "uint32"; case 7: return "map"; case 8: return "int32"; case 9: return "uint64"; case 10: return "uint128"; case 11: return "array"; case 12: return "container"; case 13: return "end_marker"; case 14: return "boolean"; case 15: return "float"; default: return "unknown type"; } } #endif /* None of the values we check on the lhs are bigger than uint32_t, so on * platforms where SIZE_MAX is a 64-bit integer, this would be a no-op, and it * makes the compiler complain if we do the check anyway. */ #if SIZE_MAX == UINT32_MAX #define MAYBE_CHECK_SIZE_OVERFLOW(lhs, rhs, error) \ if ((lhs) > (rhs)) { \ return error; \ } #else #define MAYBE_CHECK_SIZE_OVERFLOW(...) #endif typedef struct record_info_s { uint16_t record_length; uint32_t (*left_record_getter)(const uint8_t *); uint32_t (*right_record_getter)(const uint8_t *); uint8_t right_record_offset; } record_info_s; #define METADATA_MARKER "\xab\xcd\xefMaxMind.com" /* This is 128kb */ #define METADATA_BLOCK_MAX_SIZE 131072 // 64 leads us to allocating 4 KiB on a 64bit system. #define MMDB_POOL_INIT_SIZE 64 static int map_file(MMDB_s *const mmdb); static const uint8_t *find_metadata(const uint8_t *file_content, ssize_t file_size, uint32_t *metadata_size); static int read_metadata(MMDB_s *mmdb); static MMDB_s make_fake_metadata_db(const MMDB_s *const mmdb); static int value_for_key_as_uint16(MMDB_entry_s *start, char *key, uint16_t *value); static int value_for_key_as_uint32(MMDB_entry_s *start, char *key, uint32_t *value); static int value_for_key_as_uint64(MMDB_entry_s *start, char *key, uint64_t *value); static int value_for_key_as_string(MMDB_entry_s *start, char *key, char const **value); static int populate_languages_metadata(MMDB_s *mmdb, MMDB_s *metadata_db, MMDB_entry_s *metadata_start); static int populate_description_metadata(MMDB_s *mmdb, MMDB_s *metadata_db, MMDB_entry_s *metadata_start); static int resolve_any_address(const char *ipstr, struct addrinfo **addresses); static int find_address_in_search_tree(const MMDB_s *const mmdb, uint8_t const *address, sa_family_t address_family, MMDB_lookup_result_s *result); static record_info_s record_info_for_database(const MMDB_s *const mmdb); static int find_ipv4_start_node(MMDB_s *const mmdb); static uint8_t record_type(const MMDB_s *const mmdb, uint64_t record); static uint32_t get_left_28_bit_record(const uint8_t *record); static uint32_t get_right_28_bit_record(const uint8_t *record); static uint32_t data_section_offset_for_record(const MMDB_s *const mmdb, uint64_t record); static size_t path_length(va_list va_path); static int lookup_path_in_array(const char *path_elem, const MMDB_s *const mmdb, MMDB_entry_data_s *entry_data); static int lookup_path_in_map(const char *path_elem, const MMDB_s *const mmdb, MMDB_entry_data_s *entry_data); static int skip_map_or_array(const MMDB_s *const mmdb, MMDB_entry_data_s *entry_data); static int decode_one_follow(const MMDB_s *const mmdb, uint32_t offset, MMDB_entry_data_s *entry_data); static int decode_one(const MMDB_s *const mmdb, uint32_t offset, MMDB_entry_data_s *entry_data); static int get_ext_type(int raw_ext_type); static uint32_t get_ptr_from(uint8_t ctrl, uint8_t const *const ptr, int ptr_size); static int get_entry_data_list(const MMDB_s *const mmdb, uint32_t offset, MMDB_entry_data_list_s *const entry_data_list, MMDB_data_pool_s *const pool, int depth); static float get_ieee754_float(const uint8_t *restrict p); static double get_ieee754_double(const uint8_t *restrict p); static uint32_t get_uint32(const uint8_t *p); static uint32_t get_uint24(const uint8_t *p); static uint32_t get_uint16(const uint8_t *p); static uint64_t get_uintX(const uint8_t *p, int length); static int32_t get_sintX(const uint8_t *p, int length); static void free_mmdb_struct(MMDB_s *const mmdb); static void free_languages_metadata(MMDB_s *mmdb); static void free_descriptions_metadata(MMDB_s *mmdb); static MMDB_entry_data_list_s * dump_entry_data_list(FILE *stream, MMDB_entry_data_list_s *entry_data_list, int indent, int *status); static void print_indentation(FILE *stream, int i); static char *bytes_to_hex(uint8_t const *bytes, uint32_t size); #define CHECKED_DECODE_ONE(mmdb, offset, entry_data) \ do { \ int status = decode_one(mmdb, offset, entry_data); \ if (MMDB_SUCCESS != status) { \ DEBUG_MSGF("CHECKED_DECODE_ONE failed." \ " status = %d (%s)", \ status, \ MMDB_strerror(status)); \ return status; \ } \ } while (0) #define CHECKED_DECODE_ONE_FOLLOW(mmdb, offset, entry_data) \ do { \ int status = decode_one_follow(mmdb, offset, entry_data); \ if (MMDB_SUCCESS != status) { \ DEBUG_MSGF("CHECKED_DECODE_ONE_FOLLOW failed." \ " status = %d (%s)", \ status, \ MMDB_strerror(status)); \ return status; \ } \ } while (0) #define FREE_AND_SET_NULL(p) \ { \ free((void *)(p)); \ (p) = NULL; \ } int MMDB_open(const char *const filename, uint32_t flags, MMDB_s *const mmdb) { int status = MMDB_SUCCESS; mmdb->file_content = NULL; mmdb->data_section = NULL; mmdb->metadata.database_type = NULL; mmdb->metadata.languages.count = 0; mmdb->metadata.languages.names = NULL; mmdb->metadata.description.count = 0; mmdb->filename = mmdb_strdup(filename); if (NULL == mmdb->filename) { status = MMDB_OUT_OF_MEMORY_ERROR; goto cleanup; } if ((flags & MMDB_MODE_MASK) == 0) { flags |= MMDB_MODE_MMAP; } mmdb->flags = flags; if (MMDB_SUCCESS != (status = map_file(mmdb))) { goto cleanup; } #ifdef _WIN32 WSADATA wsa; WSAStartup(MAKEWORD(2, 2), &wsa); #endif uint32_t metadata_size = 0; const uint8_t *metadata = find_metadata(mmdb->file_content, mmdb->file_size, &metadata_size); if (NULL == metadata) { status = MMDB_INVALID_METADATA_ERROR; goto cleanup; } mmdb->metadata_section = metadata; mmdb->metadata_section_size = metadata_size; status = read_metadata(mmdb); if (MMDB_SUCCESS != status) { goto cleanup; } if (mmdb->metadata.binary_format_major_version != 2) { status = MMDB_UNKNOWN_DATABASE_FORMAT_ERROR; goto cleanup; } if (!can_multiply(SSIZE_MAX, mmdb->metadata.node_count, mmdb->full_record_byte_size)) { status = MMDB_INVALID_METADATA_ERROR; goto cleanup; } ssize_t search_tree_size = (ssize_t)mmdb->metadata.node_count * (ssize_t)mmdb->full_record_byte_size; mmdb->data_section = mmdb->file_content + search_tree_size + MMDB_DATA_SECTION_SEPARATOR; if (mmdb->file_size < MMDB_DATA_SECTION_SEPARATOR || search_tree_size > mmdb->file_size - MMDB_DATA_SECTION_SEPARATOR) { status = MMDB_INVALID_METADATA_ERROR; goto cleanup; } ssize_t data_section_size = mmdb->file_size - search_tree_size - MMDB_DATA_SECTION_SEPARATOR; if (data_section_size > UINT32_MAX || data_section_size <= 0) { status = MMDB_INVALID_METADATA_ERROR; goto cleanup; } mmdb->data_section_size = (uint32_t)data_section_size; // Although it is likely not possible to construct a database with valid // valid metadata, as parsed above, and a data_section_size less than 3, // we do this check as later we assume it is at least three when doing // bound checks. if (mmdb->data_section_size < 3) { status = MMDB_INVALID_DATA_ERROR; goto cleanup; } mmdb->metadata_section = metadata; mmdb->ipv4_start_node.node_value = 0; mmdb->ipv4_start_node.netmask = 0; // We do this immediately as otherwise there is a race to set // ipv4_start_node.node_value and ipv4_start_node.netmask. if (mmdb->metadata.ip_version == 6) { status = find_ipv4_start_node(mmdb); if (status != MMDB_SUCCESS) { goto cleanup; } } cleanup: if (MMDB_SUCCESS != status) { int saved_errno = errno; free_mmdb_struct(mmdb); errno = saved_errno; } return status; } #ifdef _WIN32 static LPWSTR utf8_to_utf16(const char *utf8_str) { int wide_chars = MultiByteToWideChar(CP_UTF8, 0, utf8_str, -1, NULL, 0); wchar_t *utf16_str = (wchar_t *)calloc(wide_chars, sizeof(wchar_t)); if (!utf16_str) { return NULL; } if (MultiByteToWideChar(CP_UTF8, 0, utf8_str, -1, utf16_str, wide_chars) < 1) { free(utf16_str); return NULL; } return utf16_str; } static int map_file(MMDB_s *const mmdb) { DWORD size; int status = MMDB_SUCCESS; HANDLE mmh = NULL; HANDLE fd = INVALID_HANDLE_VALUE; LPWSTR utf16_filename = utf8_to_utf16(mmdb->filename); if (!utf16_filename) { status = MMDB_FILE_OPEN_ERROR; goto cleanup; } fd = CreateFileW(utf16_filename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (fd == INVALID_HANDLE_VALUE) { status = MMDB_FILE_OPEN_ERROR; goto cleanup; } size = GetFileSize(fd, NULL); if (size == INVALID_FILE_SIZE) { status = MMDB_FILE_OPEN_ERROR; goto cleanup; } mmh = CreateFileMapping(fd, NULL, PAGE_READONLY, 0, size, NULL); /* Microsoft documentation for CreateFileMapping indicates this returns NULL not INVALID_HANDLE_VALUE on error */ if (NULL == mmh) { status = MMDB_IO_ERROR; goto cleanup; } uint8_t *file_content = (uint8_t *)MapViewOfFile(mmh, FILE_MAP_READ, 0, 0, 0); if (file_content == NULL) { status = MMDB_IO_ERROR; goto cleanup; } mmdb->file_size = size; mmdb->file_content = file_content; cleanup:; int saved_errno = errno; if (INVALID_HANDLE_VALUE != fd) { CloseHandle(fd); } if (NULL != mmh) { CloseHandle(mmh); } errno = saved_errno; free(utf16_filename); return status; } #else // _WIN32 static int map_file(MMDB_s *const mmdb) { int status = MMDB_SUCCESS; int o_flags = O_RDONLY; #ifdef O_CLOEXEC o_flags |= O_CLOEXEC; #endif int fd = open(mmdb->filename, o_flags); if (fd < 0) { status = MMDB_FILE_OPEN_ERROR; goto cleanup; } #if defined(FD_CLOEXEC) && !defined(O_CLOEXEC) int fd_flags = fcntl(fd, F_GETFD); if (fd_flags >= 0) { fcntl(fd, F_SETFD, fd_flags | FD_CLOEXEC); } #endif struct stat s; if (fstat(fd, &s)) { status = MMDB_FILE_OPEN_ERROR; goto cleanup; } off_t size = s.st_size; if (size < 0 || size > SSIZE_MAX) { status = MMDB_OUT_OF_MEMORY_ERROR; goto cleanup; } uint8_t *file_content = (uint8_t *)mmap(NULL, (size_t)size, PROT_READ, MAP_SHARED, fd, 0); if (MAP_FAILED == file_content) { if (ENOMEM == errno) { status = MMDB_OUT_OF_MEMORY_ERROR; } else { status = MMDB_IO_ERROR; } goto cleanup; } mmdb->file_size = (ssize_t)size; mmdb->file_content = file_content; cleanup:; int saved_errno = errno; if (fd >= 0) { close(fd); } errno = saved_errno; return status; } #endif // _WIN32 static const uint8_t *find_metadata(const uint8_t *file_content, ssize_t file_size, uint32_t *metadata_size) { const ssize_t marker_len = sizeof(METADATA_MARKER) - 1; ssize_t max_size = file_size > METADATA_BLOCK_MAX_SIZE ? METADATA_BLOCK_MAX_SIZE : file_size; if (max_size < 0) { return NULL; } uint8_t const *search_area = (file_content + (file_size - max_size)); uint8_t const *start = search_area; uint8_t const *tmp; do { tmp = mmdb_memmem( search_area, (size_t)max_size, METADATA_MARKER, marker_len); if (NULL != tmp) { max_size -= tmp - search_area; search_area = tmp; /* Continue searching just after the marker we just read, in case * there are multiple markers in the same file. This would be odd * but is certainly not impossible. */ max_size -= marker_len; search_area += marker_len; } } while (NULL != tmp); if (search_area == start) { return NULL; } *metadata_size = (uint32_t)max_size; return search_area; } static int read_metadata(MMDB_s *mmdb) { /* We need to create a fake MMDB_s struct in order to decode values from the metadata. The metadata is basically just like the data section, so we want to use the same functions we use for the data section to get metadata values. */ MMDB_s metadata_db = make_fake_metadata_db(mmdb); MMDB_entry_s metadata_start = {.mmdb = &metadata_db, .offset = 0}; int status = value_for_key_as_uint32( &metadata_start, "node_count", &mmdb->metadata.node_count); if (MMDB_SUCCESS != status) { return status; } if (!mmdb->metadata.node_count) { DEBUG_MSG("could not find node_count value in metadata"); return MMDB_INVALID_METADATA_ERROR; } status = value_for_key_as_uint16( &metadata_start, "record_size", &mmdb->metadata.record_size); if (MMDB_SUCCESS != status) { return status; } if (!mmdb->metadata.record_size) { DEBUG_MSG("could not find record_size value in metadata"); return MMDB_INVALID_METADATA_ERROR; } if (mmdb->metadata.record_size != 24 && mmdb->metadata.record_size != 28 && mmdb->metadata.record_size != 32) { DEBUG_MSGF("bad record size in metadata: %i", mmdb->metadata.record_size); return MMDB_UNKNOWN_DATABASE_FORMAT_ERROR; } status = value_for_key_as_uint16( &metadata_start, "ip_version", &mmdb->metadata.ip_version); if (MMDB_SUCCESS != status) { return status; } if (!mmdb->metadata.ip_version) { DEBUG_MSG("could not find ip_version value in metadata"); return MMDB_INVALID_METADATA_ERROR; } if (!(mmdb->metadata.ip_version == 4 || mmdb->metadata.ip_version == 6)) { DEBUG_MSGF("ip_version value in metadata is not 4 or 6 - it was %i", mmdb->metadata.ip_version); return MMDB_INVALID_METADATA_ERROR; } status = value_for_key_as_string( &metadata_start, "database_type", &mmdb->metadata.database_type); if (MMDB_SUCCESS != status) { DEBUG_MSG("error finding database_type value in metadata"); return status; } status = populate_languages_metadata(mmdb, &metadata_db, &metadata_start); if (MMDB_SUCCESS != status) { DEBUG_MSG("could not populate languages from metadata"); return status; } status = value_for_key_as_uint16(&metadata_start, "binary_format_major_version", &mmdb->metadata.binary_format_major_version); if (MMDB_SUCCESS != status) { return status; } if (!mmdb->metadata.binary_format_major_version) { DEBUG_MSG( "could not find binary_format_major_version value in metadata"); return MMDB_INVALID_METADATA_ERROR; } status = value_for_key_as_uint16(&metadata_start, "binary_format_minor_version", &mmdb->metadata.binary_format_minor_version); if (MMDB_SUCCESS != status) { return status; } status = value_for_key_as_uint64( &metadata_start, "build_epoch", &mmdb->metadata.build_epoch); if (MMDB_SUCCESS != status) { return status; } if (!mmdb->metadata.build_epoch) { DEBUG_MSG("could not find build_epoch value in metadata"); return MMDB_INVALID_METADATA_ERROR; } status = populate_description_metadata(mmdb, &metadata_db, &metadata_start); if (MMDB_SUCCESS != status) { DEBUG_MSG("could not populate description from metadata"); return status; } mmdb->full_record_byte_size = mmdb->metadata.record_size * 2 / 8U; mmdb->depth = mmdb->metadata.ip_version == 4 ? 32 : 128; return MMDB_SUCCESS; } static MMDB_s make_fake_metadata_db(const MMDB_s *const mmdb) { MMDB_s fake_metadata_db = {.data_section = mmdb->metadata_section, .data_section_size = mmdb->metadata_section_size}; return fake_metadata_db; } static int value_for_key_as_uint16(MMDB_entry_s *start, char *key, uint16_t *value) { MMDB_entry_data_s entry_data; const char *path[] = {key, NULL}; int status = MMDB_aget_value(start, &entry_data, path); if (MMDB_SUCCESS != status) { return status; } if (MMDB_DATA_TYPE_UINT16 != entry_data.type) { DEBUG_MSGF("expect uint16 for %s but received %s", key, type_num_to_name(entry_data.type)); return MMDB_INVALID_METADATA_ERROR; } *value = entry_data.uint16; return MMDB_SUCCESS; } static int value_for_key_as_uint32(MMDB_entry_s *start, char *key, uint32_t *value) { MMDB_entry_data_s entry_data; const char *path[] = {key, NULL}; int status = MMDB_aget_value(start, &entry_data, path); if (MMDB_SUCCESS != status) { return status; } if (MMDB_DATA_TYPE_UINT32 != entry_data.type) { DEBUG_MSGF("expect uint32 for %s but received %s", key, type_num_to_name(entry_data.type)); return MMDB_INVALID_METADATA_ERROR; } *value = entry_data.uint32; return MMDB_SUCCESS; } static int value_for_key_as_uint64(MMDB_entry_s *start, char *key, uint64_t *value) { MMDB_entry_data_s entry_data; const char *path[] = {key, NULL}; int status = MMDB_aget_value(start, &entry_data, path); if (MMDB_SUCCESS != status) { return status; } if (MMDB_DATA_TYPE_UINT64 != entry_data.type) { DEBUG_MSGF("expect uint64 for %s but received %s", key, type_num_to_name(entry_data.type)); return MMDB_INVALID_METADATA_ERROR; } *value = entry_data.uint64; return MMDB_SUCCESS; } static int value_for_key_as_string(MMDB_entry_s *start, char *key, char const **value) { MMDB_entry_data_s entry_data; const char *path[] = {key, NULL}; int status = MMDB_aget_value(start, &entry_data, path); if (MMDB_SUCCESS != status) { return status; } if (MMDB_DATA_TYPE_UTF8_STRING != entry_data.type) { DEBUG_MSGF("expect string for %s but received %s", key, type_num_to_name(entry_data.type)); return MMDB_INVALID_METADATA_ERROR; } *value = mmdb_strndup(entry_data.utf8_string, entry_data.data_size); if (NULL == *value) { return MMDB_OUT_OF_MEMORY_ERROR; } return MMDB_SUCCESS; } static int populate_languages_metadata(MMDB_s *mmdb, MMDB_s *metadata_db, MMDB_entry_s *metadata_start) { MMDB_entry_data_s entry_data; const char *path[] = {"languages", NULL}; int status = MMDB_aget_value(metadata_start, &entry_data, path); if (MMDB_SUCCESS != status) { return status; } if (MMDB_DATA_TYPE_ARRAY != entry_data.type) { return MMDB_INVALID_METADATA_ERROR; } MMDB_entry_s array_start = {.mmdb = metadata_db, .offset = entry_data.offset}; MMDB_entry_data_list_s *member; status = MMDB_get_entry_data_list(&array_start, &member); if (MMDB_SUCCESS != status) { return status; } MMDB_entry_data_list_s *first_member = member; uint32_t array_size = member->entry_data.data_size; MAYBE_CHECK_SIZE_OVERFLOW( array_size, SIZE_MAX / sizeof(char *), MMDB_INVALID_METADATA_ERROR); mmdb->metadata.languages.count = 0; mmdb->metadata.languages.names = calloc(array_size, sizeof(char *)); if (NULL == mmdb->metadata.languages.names) { return MMDB_OUT_OF_MEMORY_ERROR; } for (uint32_t i = 0; i < array_size; i++) { member = member->next; if (MMDB_DATA_TYPE_UTF8_STRING != member->entry_data.type) { return MMDB_INVALID_METADATA_ERROR; } mmdb->metadata.languages.names[i] = mmdb_strndup( member->entry_data.utf8_string, member->entry_data.data_size); if (NULL == mmdb->metadata.languages.names[i]) { return MMDB_OUT_OF_MEMORY_ERROR; } // We assign this as we go so that if we fail a calloc and need to // free it, the count is right. mmdb->metadata.languages.count = i + 1; } MMDB_free_entry_data_list(first_member); return MMDB_SUCCESS; } static int populate_description_metadata(MMDB_s *mmdb, MMDB_s *metadata_db, MMDB_entry_s *metadata_start) { MMDB_entry_data_s entry_data; const char *path[] = {"description", NULL}; int status = MMDB_aget_value(metadata_start, &entry_data, path); if (MMDB_SUCCESS != status) { return status; } if (MMDB_DATA_TYPE_MAP != entry_data.type) { DEBUG_MSGF("Unexpected entry_data type: %d", entry_data.type); return MMDB_INVALID_METADATA_ERROR; } MMDB_entry_s map_start = {.mmdb = metadata_db, .offset = entry_data.offset}; MMDB_entry_data_list_s *member; status = MMDB_get_entry_data_list(&map_start, &member); if (MMDB_SUCCESS != status) { DEBUG_MSGF( "MMDB_get_entry_data_list failed while populating description." " status = %d (%s)", status, MMDB_strerror(status)); return status; } MMDB_entry_data_list_s *first_member = member; uint32_t map_size = member->entry_data.data_size; mmdb->metadata.description.count = 0; if (0 == map_size) { mmdb->metadata.description.descriptions = NULL; goto cleanup; } MAYBE_CHECK_SIZE_OVERFLOW(map_size, SIZE_MAX / sizeof(MMDB_description_s *), MMDB_INVALID_METADATA_ERROR); mmdb->metadata.description.descriptions = calloc(map_size, sizeof(MMDB_description_s *)); if (NULL == mmdb->metadata.description.descriptions) { status = MMDB_OUT_OF_MEMORY_ERROR; goto cleanup; } for (uint32_t i = 0; i < map_size; i++) { mmdb->metadata.description.descriptions[i] = calloc(1, sizeof(MMDB_description_s)); if (NULL == mmdb->metadata.description.descriptions[i]) { status = MMDB_OUT_OF_MEMORY_ERROR; goto cleanup; } mmdb->metadata.description.count = i + 1; mmdb->metadata.description.descriptions[i]->language = NULL; mmdb->metadata.description.descriptions[i]->description = NULL; member = member->next; if (MMDB_DATA_TYPE_UTF8_STRING != member->entry_data.type) { status = MMDB_INVALID_METADATA_ERROR; goto cleanup; } mmdb->metadata.description.descriptions[i]->language = mmdb_strndup( member->entry_data.utf8_string, member->entry_data.data_size); if (NULL == mmdb->metadata.description.descriptions[i]->language) { status = MMDB_OUT_OF_MEMORY_ERROR; goto cleanup; } member = member->next; if (MMDB_DATA_TYPE_UTF8_STRING != member->entry_data.type) { status = MMDB_INVALID_METADATA_ERROR; goto cleanup; } mmdb->metadata.description.descriptions[i]->description = mmdb_strndup( member->entry_data.utf8_string, member->entry_data.data_size); if (NULL == mmdb->metadata.description.descriptions[i]->description) { status = MMDB_OUT_OF_MEMORY_ERROR; goto cleanup; } } cleanup: MMDB_free_entry_data_list(first_member); return status; } MMDB_lookup_result_s MMDB_lookup_string(const MMDB_s *const mmdb, const char *const ipstr, int *const gai_error, int *const mmdb_error) { MMDB_lookup_result_s result = {.found_entry = false, .netmask = 0, .entry = {.mmdb = mmdb, .offset = 0}}; struct addrinfo *addresses = NULL; *gai_error = resolve_any_address(ipstr, &addresses); if (!*gai_error) { result = MMDB_lookup_sockaddr(mmdb, addresses->ai_addr, mmdb_error); } if (NULL != addresses) { freeaddrinfo(addresses); } return result; } static int resolve_any_address(const char *ipstr, struct addrinfo **addresses) { struct addrinfo hints = { .ai_family = AF_UNSPEC, .ai_flags = AI_NUMERICHOST, // We set ai_socktype so that we only get one result back .ai_socktype = SOCK_STREAM}; int gai_status = getaddrinfo(ipstr, NULL, &hints, addresses); if (gai_status) { return gai_status; } return 0; } MMDB_lookup_result_s MMDB_lookup_sockaddr(const MMDB_s *const mmdb, const struct sockaddr *const sockaddr, int *const mmdb_error) { MMDB_lookup_result_s result = {.found_entry = false, .netmask = 0, .entry = {.mmdb = mmdb, .offset = 0}}; uint8_t mapped_address[16]; uint8_t const *address; if (mmdb->metadata.ip_version == 4) { if (sockaddr->sa_family == AF_INET6) { *mmdb_error = MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR; return result; } address = (uint8_t const *)&((struct sockaddr_in const *)sockaddr) ->sin_addr.s_addr; } else { if (sockaddr->sa_family == AF_INET6) { address = (uint8_t const *)&((struct sockaddr_in6 const *)sockaddr) ->sin6_addr.s6_addr; } else { address = mapped_address; memset(mapped_address, 0, 12); memcpy(mapped_address + 12, &((struct sockaddr_in const *)sockaddr)->sin_addr.s_addr, 4); } } *mmdb_error = find_address_in_search_tree( mmdb, address, sockaddr->sa_family, &result); return result; } static int find_address_in_search_tree(const MMDB_s *const mmdb, uint8_t const *address, sa_family_t address_family, MMDB_lookup_result_s *result) { record_info_s record_info = record_info_for_database(mmdb); if (record_info.right_record_offset == 0) { return MMDB_UNKNOWN_DATABASE_FORMAT_ERROR; } uint32_t value = 0; uint16_t current_bit = 0; if (mmdb->metadata.ip_version == 6 && address_family == AF_INET) { value = mmdb->ipv4_start_node.node_value; current_bit = mmdb->ipv4_start_node.netmask; } uint32_t node_count = mmdb->metadata.node_count; const uint8_t *search_tree = mmdb->file_content; const uint8_t *record_pointer; for (; current_bit < mmdb->depth && value < node_count; current_bit++) { uint8_t bit = 1U & (address[current_bit >> 3] >> (7 - (current_bit % 8))); record_pointer = &search_tree[value * record_info.record_length]; if (record_pointer + record_info.record_length > mmdb->data_section) { return MMDB_CORRUPT_SEARCH_TREE_ERROR; } if (bit) { record_pointer += record_info.right_record_offset; value = record_info.right_record_getter(record_pointer); } else { value = record_info.left_record_getter(record_pointer); } } result->netmask = current_bit; if (value >= node_count + mmdb->data_section_size) { // The pointer points off the end of the database. return MMDB_CORRUPT_SEARCH_TREE_ERROR; } if (value == node_count) { // record is empty result->found_entry = false; return MMDB_SUCCESS; } result->found_entry = true; result->entry.offset = data_section_offset_for_record(mmdb, value); return MMDB_SUCCESS; } static record_info_s record_info_for_database(const MMDB_s *const mmdb) { record_info_s record_info = {.record_length = mmdb->full_record_byte_size, .right_record_offset = 0}; if (record_info.record_length == 6) { record_info.left_record_getter = &get_uint24; record_info.right_record_getter = &get_uint24; record_info.right_record_offset = 3; } else if (record_info.record_length == 7) { record_info.left_record_getter = &get_left_28_bit_record; record_info.right_record_getter = &get_right_28_bit_record; record_info.right_record_offset = 3; } else if (record_info.record_length == 8) { record_info.left_record_getter = &get_uint32; record_info.right_record_getter = &get_uint32; record_info.right_record_offset = 4; } // Callers must check that right_record_offset is non-zero in case none of // the above conditions matched. return record_info; } static int find_ipv4_start_node(MMDB_s *const mmdb) { /* In a pathological case of a database with a single node search tree, * this check will be true even after we've found the IPv4 start node, but * that doesn't seem worth trying to fix. */ if (mmdb->ipv4_start_node.node_value != 0) { return MMDB_SUCCESS; } record_info_s record_info = record_info_for_database(mmdb); if (record_info.right_record_offset == 0) { return MMDB_UNKNOWN_DATABASE_FORMAT_ERROR; } const uint8_t *search_tree = mmdb->file_content; uint32_t node_value = 0; const uint8_t *record_pointer; uint16_t netmask; uint32_t node_count = mmdb->metadata.node_count; for (netmask = 0; netmask < 96 && node_value < node_count; netmask++) { record_pointer = &search_tree[node_value * record_info.record_length]; if (record_pointer + record_info.record_length > mmdb->data_section) { return MMDB_CORRUPT_SEARCH_TREE_ERROR; } node_value = record_info.left_record_getter(record_pointer); } mmdb->ipv4_start_node.node_value = node_value; mmdb->ipv4_start_node.netmask = netmask; return MMDB_SUCCESS; } static uint8_t record_type(const MMDB_s *const mmdb, uint64_t record) { uint32_t node_count = mmdb->metadata.node_count; /* Ideally we'd check to make sure that a record never points to a * previously seen value, but that's more complicated. For now, we can * at least check that we don't end up at the top of the tree again. */ if (record == 0) { DEBUG_MSG("record has a value of 0"); return MMDB_RECORD_TYPE_INVALID; } if (record < node_count) { return MMDB_RECORD_TYPE_SEARCH_NODE; } if (record == node_count) { return MMDB_RECORD_TYPE_EMPTY; } if (record - node_count < mmdb->data_section_size) { return MMDB_RECORD_TYPE_DATA; } DEBUG_MSG("record has a value that points outside of the database"); return MMDB_RECORD_TYPE_INVALID; } static uint32_t get_left_28_bit_record(const uint8_t *record) { return record[0] * 65536 + record[1] * 256 + record[2] + (uint32_t)((record[3] & 0xf0) << 20); } static uint32_t get_right_28_bit_record(const uint8_t *record) { uint32_t value = get_uint32(record); return value & 0xfffffff; } int MMDB_read_node(const MMDB_s *const mmdb, uint32_t node_number, MMDB_search_node_s *const node) { record_info_s record_info = record_info_for_database(mmdb); if (record_info.right_record_offset == 0) { return MMDB_UNKNOWN_DATABASE_FORMAT_ERROR; } if (node_number > mmdb->metadata.node_count) { return MMDB_INVALID_NODE_NUMBER_ERROR; } const uint8_t *search_tree = mmdb->file_content; const uint8_t *record_pointer = &search_tree[node_number * record_info.record_length]; node->left_record = record_info.left_record_getter(record_pointer); record_pointer += record_info.right_record_offset; node->right_record = record_info.right_record_getter(record_pointer); node->left_record_type = record_type(mmdb, node->left_record); node->right_record_type = record_type(mmdb, node->right_record); // Note that offset will be invalid if the record type is not // MMDB_RECORD_TYPE_DATA, but that's ok. Any use of the record entry // for other data types is a programming error. node->left_record_entry = (struct MMDB_entry_s){ .mmdb = mmdb, .offset = data_section_offset_for_record(mmdb, node->left_record), }; node->right_record_entry = (struct MMDB_entry_s){ .mmdb = mmdb, .offset = data_section_offset_for_record(mmdb, node->right_record), }; return MMDB_SUCCESS; } static uint32_t data_section_offset_for_record(const MMDB_s *const mmdb, uint64_t record) { return (uint32_t)record - mmdb->metadata.node_count - MMDB_DATA_SECTION_SEPARATOR; } int MMDB_get_value(MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, ...) { va_list path; va_start(path, entry_data); int status = MMDB_vget_value(start, entry_data, path); va_end(path); return status; } int MMDB_vget_value(MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, va_list va_path) { size_t length = path_length(va_path); const char *path_elem; int i = 0; if (length == SIZE_MAX) { return MMDB_INVALID_METADATA_ERROR; } const char **path = calloc(length + 1, sizeof(const char *)); if (NULL == path) { return MMDB_OUT_OF_MEMORY_ERROR; } while (NULL != (path_elem = va_arg(va_path, char *))) { path[i] = path_elem; i++; } path[i] = NULL; int status = MMDB_aget_value(start, entry_data, path); free(path); return status; } static size_t path_length(va_list va_path) { size_t i = 0; va_list path_copy; va_copy(path_copy, va_path); while (NULL != va_arg(path_copy, char *)) { i++; } va_end(path_copy); return i; } int MMDB_aget_value(MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, const char *const *const path) { const MMDB_s *const mmdb = start->mmdb; uint32_t offset = start->offset; memset(entry_data, 0, sizeof(MMDB_entry_data_s)); DEBUG_NL; DEBUG_MSG("looking up value by path"); CHECKED_DECODE_ONE_FOLLOW(mmdb, offset, entry_data); DEBUG_NL; DEBUG_MSGF("top level element is a %s", type_num_to_name(entry_data->type)); /* Can this happen? It'd probably represent a pathological case under * normal use, but there's nothing preventing someone from passing an * invalid MMDB_entry_s struct to this function */ if (!entry_data->has_data) { return MMDB_INVALID_LOOKUP_PATH_ERROR; } const char *path_elem; int i = 0; while (NULL != (path_elem = path[i++])) { DEBUG_NL; DEBUG_MSGF("path elem = %s", path_elem); /* XXX - it'd be good to find a quicker way to skip through these entries that doesn't involve decoding them completely. Basically we need to just use the size from the control byte to advance our pointer rather than calling decode_one(). */ if (entry_data->type == MMDB_DATA_TYPE_ARRAY) { int status = lookup_path_in_array(path_elem, mmdb, entry_data); if (MMDB_SUCCESS != status) { memset(entry_data, 0, sizeof(MMDB_entry_data_s)); return status; } } else if (entry_data->type == MMDB_DATA_TYPE_MAP) { int status = lookup_path_in_map(path_elem, mmdb, entry_data); if (MMDB_SUCCESS != status) { memset(entry_data, 0, sizeof(MMDB_entry_data_s)); return status; } } else { /* Once we make the code traverse maps & arrays without calling * decode_one() we can get rid of this. */ memset(entry_data, 0, sizeof(MMDB_entry_data_s)); return MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR; } } return MMDB_SUCCESS; } static int lookup_path_in_array(const char *path_elem, const MMDB_s *const mmdb, MMDB_entry_data_s *entry_data) { uint32_t size = entry_data->data_size; char *first_invalid; int saved_errno = errno; errno = 0; long array_index = strtol(path_elem, &first_invalid, 10); if (ERANGE == errno) { errno = saved_errno; return MMDB_INVALID_LOOKUP_PATH_ERROR; } errno = saved_errno; if (array_index < 0) { array_index += size; if (array_index < 0) { return MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR; } } if (*first_invalid || (unsigned long)array_index >= size) { return MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR; } for (long i = 0; i < array_index; i++) { /* We don't want to follow a pointer here. If the next element is a * pointer we simply skip it and keep going */ CHECKED_DECODE_ONE(mmdb, entry_data->offset_to_next, entry_data); int status = skip_map_or_array(mmdb, entry_data); if (MMDB_SUCCESS != status) { return status; } } MMDB_entry_data_s value; CHECKED_DECODE_ONE_FOLLOW(mmdb, entry_data->offset_to_next, &value); memcpy(entry_data, &value, sizeof(MMDB_entry_data_s)); return MMDB_SUCCESS; } static int lookup_path_in_map(const char *path_elem, const MMDB_s *const mmdb, MMDB_entry_data_s *entry_data) { uint32_t size = entry_data->data_size; uint32_t offset = entry_data->offset_to_next; size_t path_elem_len = strlen(path_elem); while (size-- > 0) { MMDB_entry_data_s key, value; CHECKED_DECODE_ONE_FOLLOW(mmdb, offset, &key); uint32_t offset_to_value = key.offset_to_next; if (MMDB_DATA_TYPE_UTF8_STRING != key.type) { return MMDB_INVALID_DATA_ERROR; } if (key.data_size == path_elem_len && !memcmp(path_elem, key.utf8_string, path_elem_len)) { DEBUG_MSG("found key matching path elem"); CHECKED_DECODE_ONE_FOLLOW(mmdb, offset_to_value, &value); memcpy(entry_data, &value, sizeof(MMDB_entry_data_s)); return MMDB_SUCCESS; } else { /* We don't want to follow a pointer here. If the next element is * a pointer we simply skip it and keep going */ CHECKED_DECODE_ONE(mmdb, offset_to_value, &value); int status = skip_map_or_array(mmdb, &value); if (MMDB_SUCCESS != status) { return status; } offset = value.offset_to_next; } } memset(entry_data, 0, sizeof(MMDB_entry_data_s)); return MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR; } static int skip_map_or_array(const MMDB_s *const mmdb, MMDB_entry_data_s *entry_data) { if (entry_data->type == MMDB_DATA_TYPE_MAP) { uint32_t size = entry_data->data_size; while (size-- > 0) { CHECKED_DECODE_ONE( mmdb, entry_data->offset_to_next, entry_data); // key CHECKED_DECODE_ONE( mmdb, entry_data->offset_to_next, entry_data); // value int status = skip_map_or_array(mmdb, entry_data); if (MMDB_SUCCESS != status) { return status; } } } else if (entry_data->type == MMDB_DATA_TYPE_ARRAY) { uint32_t size = entry_data->data_size; while (size-- > 0) { CHECKED_DECODE_ONE( mmdb, entry_data->offset_to_next, entry_data); // value int status = skip_map_or_array(mmdb, entry_data); if (MMDB_SUCCESS != status) { return status; } } } return MMDB_SUCCESS; } static int decode_one_follow(const MMDB_s *const mmdb, uint32_t offset, MMDB_entry_data_s *entry_data) { CHECKED_DECODE_ONE(mmdb, offset, entry_data); if (entry_data->type == MMDB_DATA_TYPE_POINTER) { uint32_t next = entry_data->offset_to_next; CHECKED_DECODE_ONE(mmdb, entry_data->pointer, entry_data); /* Pointers to pointers are illegal under the spec */ if (entry_data->type == MMDB_DATA_TYPE_POINTER) { DEBUG_MSG("pointer points to another pointer"); return MMDB_INVALID_DATA_ERROR; } /* The pointer could point to any part of the data section but the * next entry for this particular offset may be the one after the * pointer, not the one after whatever the pointer points to. This * depends on whether the pointer points to something that is a simple * value or a compound value. For a compound value, the next one is * the one after the pointer result, not the one after the pointer. */ if (entry_data->type != MMDB_DATA_TYPE_MAP && entry_data->type != MMDB_DATA_TYPE_ARRAY) { entry_data->offset_to_next = next; } } return MMDB_SUCCESS; } #if !MMDB_UINT128_IS_BYTE_ARRAY static mmdb_uint128_t get_uint128(const uint8_t *p, int length) { mmdb_uint128_t value = 0; while (length-- > 0) { value <<= 8; value += *p++; } return value; } #endif static int decode_one(const MMDB_s *const mmdb, uint32_t offset, MMDB_entry_data_s *entry_data) { const uint8_t *mem = mmdb->data_section; // We subtract rather than add as it possible that offset + 1 // could overflow for a corrupt database while an underflow // from data_section_size - 1 should not be possible. if (offset > mmdb->data_section_size - 1) { DEBUG_MSGF("Offset (%d) past data section (%d)", offset, mmdb->data_section_size); return MMDB_INVALID_DATA_ERROR; } entry_data->offset = offset; entry_data->has_data = true; DEBUG_NL; DEBUG_MSGF("Offset: %i", offset); uint8_t ctrl = mem[offset++]; DEBUG_BINARY("Control byte: %s", ctrl); int type = (ctrl >> 5) & 7; DEBUG_MSGF("Type: %i (%s)", type, type_num_to_name(type)); if (type == MMDB_DATA_TYPE_EXTENDED) { // Subtracting 1 to avoid possible overflow on offset + 1 if (offset > mmdb->data_section_size - 1) { DEBUG_MSGF("Extended type offset (%d) past data section (%d)", offset, mmdb->data_section_size); return MMDB_INVALID_DATA_ERROR; } type = get_ext_type(mem[offset++]); DEBUG_MSGF("Extended type: %i (%s)", type, type_num_to_name(type)); } entry_data->type = (uint32_t)type; if (type == MMDB_DATA_TYPE_POINTER) { uint8_t psize = ((ctrl >> 3) & 3) + 1; DEBUG_MSGF("Pointer size: %i", psize); // We check that the offset does not extend past the end of the // database and that the subtraction of psize did not underflow. if (offset > mmdb->data_section_size - psize || mmdb->data_section_size < psize) { DEBUG_MSGF("Pointer offset (%d) past data section (%d)", offset + psize, mmdb->data_section_size); return MMDB_INVALID_DATA_ERROR; } entry_data->pointer = get_ptr_from(ctrl, &mem[offset], psize); DEBUG_MSGF("Pointer to: %i", entry_data->pointer); entry_data->data_size = psize; entry_data->offset_to_next = offset + psize; return MMDB_SUCCESS; } uint32_t size = ctrl & 31; switch (size) { case 29: // We subtract when checking offset to avoid possible overflow if (offset > mmdb->data_section_size - 1) { DEBUG_MSGF("String end (%d, case 29) past data section (%d)", offset, mmdb->data_section_size); return MMDB_INVALID_DATA_ERROR; } size = 29 + mem[offset++]; break; case 30: // We subtract when checking offset to avoid possible overflow if (offset > mmdb->data_section_size - 2) { DEBUG_MSGF("String end (%d, case 30) past data section (%d)", offset, mmdb->data_section_size); return MMDB_INVALID_DATA_ERROR; } size = 285 + get_uint16(&mem[offset]); offset += 2; break; case 31: // We subtract when checking offset to avoid possible overflow if (offset > mmdb->data_section_size - 3) { DEBUG_MSGF("String end (%d, case 31) past data section (%d)", offset, mmdb->data_section_size); return MMDB_INVALID_DATA_ERROR; } size = 65821 + get_uint24(&mem[offset]); offset += 3; break; default: break; } DEBUG_MSGF("Size: %i", size); if (type == MMDB_DATA_TYPE_MAP || type == MMDB_DATA_TYPE_ARRAY) { entry_data->data_size = size; entry_data->offset_to_next = offset; return MMDB_SUCCESS; } if (type == MMDB_DATA_TYPE_BOOLEAN) { entry_data->boolean = size ? true : false; entry_data->data_size = 0; entry_data->offset_to_next = offset; DEBUG_MSGF("boolean value: %s", entry_data->boolean ? "true" : "false"); return MMDB_SUCCESS; } // Check that the data doesn't extend past the end of the memory // buffer and that the calculation in doing this did not underflow. if (offset > mmdb->data_section_size - size || mmdb->data_section_size < size) { DEBUG_MSGF("Data end (%d) past data section (%d)", offset + size, mmdb->data_section_size); return MMDB_INVALID_DATA_ERROR; } if (type == MMDB_DATA_TYPE_UINT16) { if (size > 2) { DEBUG_MSGF("uint16 of size %d", size); return MMDB_INVALID_DATA_ERROR; } entry_data->uint16 = (uint16_t)get_uintX(&mem[offset], (int)size); DEBUG_MSGF("uint16 value: %u", entry_data->uint16); } else if (type == MMDB_DATA_TYPE_UINT32) { if (size > 4) { DEBUG_MSGF("uint32 of size %d", size); return MMDB_INVALID_DATA_ERROR; } entry_data->uint32 = (uint32_t)get_uintX(&mem[offset], (int)size); DEBUG_MSGF("uint32 value: %u", entry_data->uint32); } else if (type == MMDB_DATA_TYPE_INT32) { if (size > 4) { DEBUG_MSGF("int32 of size %d", size); return MMDB_INVALID_DATA_ERROR; } entry_data->int32 = get_sintX(&mem[offset], (int)size); DEBUG_MSGF("int32 value: %i", entry_data->int32); } else if (type == MMDB_DATA_TYPE_UINT64) { if (size > 8) { DEBUG_MSGF("uint64 of size %d", size); return MMDB_INVALID_DATA_ERROR; } entry_data->uint64 = get_uintX(&mem[offset], (int)size); DEBUG_MSGF("uint64 value: %" PRIu64, entry_data->uint64); } else if (type == MMDB_DATA_TYPE_UINT128) { if (size > 16) { DEBUG_MSGF("uint128 of size %d", size); return MMDB_INVALID_DATA_ERROR; } #if MMDB_UINT128_IS_BYTE_ARRAY memset(entry_data->uint128, 0, 16); if (size > 0) { memcpy(entry_data->uint128 + 16 - size, &mem[offset], size); } #else entry_data->uint128 = get_uint128(&mem[offset], (int)size); #endif } else if (type == MMDB_DATA_TYPE_FLOAT) { if (size != 4) { DEBUG_MSGF("float of size %d", size); return MMDB_INVALID_DATA_ERROR; } size = 4; entry_data->float_value = get_ieee754_float(&mem[offset]); DEBUG_MSGF("float value: %f", entry_data->float_value); } else if (type == MMDB_DATA_TYPE_DOUBLE) { if (size != 8) { DEBUG_MSGF("double of size %d", size); return MMDB_INVALID_DATA_ERROR; } size = 8; entry_data->double_value = get_ieee754_double(&mem[offset]); DEBUG_MSGF("double value: %f", entry_data->double_value); } else if (type == MMDB_DATA_TYPE_UTF8_STRING) { entry_data->utf8_string = size == 0 ? "" : (char const *)&mem[offset]; entry_data->data_size = size; #ifdef MMDB_DEBUG char *string = mmdb_strndup(entry_data->utf8_string, size > 50 ? 50 : size); if (NULL == string) { abort(); } DEBUG_MSGF("string value: %s", string); free(string); #endif } else if (type == MMDB_DATA_TYPE_BYTES) { entry_data->bytes = &mem[offset]; entry_data->data_size = size; } entry_data->offset_to_next = offset + size; return MMDB_SUCCESS; } static int get_ext_type(int raw_ext_type) { return 7 + raw_ext_type; } static uint32_t get_ptr_from(uint8_t ctrl, uint8_t const *const ptr, int ptr_size) { uint32_t new_offset; switch (ptr_size) { case 1: new_offset = (uint32_t)((ctrl & 7) << 8) + ptr[0]; break; case 2: new_offset = 2048 + (uint32_t)((ctrl & 7) << 16) + (uint32_t)(ptr[0] << 8) + ptr[1]; break; case 3: new_offset = 2048 + 524288 + (uint32_t)((ctrl & 7) << 24) + get_uint24(ptr); break; case 4: default: new_offset = get_uint32(ptr); break; } return new_offset; } int MMDB_get_metadata_as_entry_data_list( const MMDB_s *const mmdb, MMDB_entry_data_list_s **const entry_data_list) { MMDB_s metadata_db = make_fake_metadata_db(mmdb); MMDB_entry_s metadata_start = {.mmdb = &metadata_db, .offset = 0}; return MMDB_get_entry_data_list(&metadata_start, entry_data_list); } int MMDB_get_entry_data_list(MMDB_entry_s *start, MMDB_entry_data_list_s **const entry_data_list) { MMDB_data_pool_s *const pool = data_pool_new(MMDB_POOL_INIT_SIZE); if (!pool) { return MMDB_OUT_OF_MEMORY_ERROR; } MMDB_entry_data_list_s *const list = data_pool_alloc(pool); if (!list) { data_pool_destroy(pool); return MMDB_OUT_OF_MEMORY_ERROR; } int const status = get_entry_data_list(start->mmdb, start->offset, list, pool, 0); *entry_data_list = data_pool_to_list(pool); if (!*entry_data_list) { data_pool_destroy(pool); return MMDB_OUT_OF_MEMORY_ERROR; } return status; } static int get_entry_data_list(const MMDB_s *const mmdb, uint32_t offset, MMDB_entry_data_list_s *const entry_data_list, MMDB_data_pool_s *const pool, int depth) { if (depth >= MAXIMUM_DATA_STRUCTURE_DEPTH) { DEBUG_MSG("reached the maximum data structure depth"); return MMDB_INVALID_DATA_ERROR; } depth++; CHECKED_DECODE_ONE(mmdb, offset, &entry_data_list->entry_data); switch (entry_data_list->entry_data.type) { case MMDB_DATA_TYPE_POINTER: { uint32_t next_offset = entry_data_list->entry_data.offset_to_next; uint32_t last_offset; CHECKED_DECODE_ONE(mmdb, last_offset = entry_data_list->entry_data.pointer, &entry_data_list->entry_data); /* Pointers to pointers are illegal under the spec */ if (entry_data_list->entry_data.type == MMDB_DATA_TYPE_POINTER) { DEBUG_MSG("pointer points to another pointer"); return MMDB_INVALID_DATA_ERROR; } if (entry_data_list->entry_data.type == MMDB_DATA_TYPE_ARRAY || entry_data_list->entry_data.type == MMDB_DATA_TYPE_MAP) { int status = get_entry_data_list( mmdb, last_offset, entry_data_list, pool, depth); if (MMDB_SUCCESS != status) { DEBUG_MSG("get_entry_data_list on pointer failed."); return status; } } entry_data_list->entry_data.offset_to_next = next_offset; } break; case MMDB_DATA_TYPE_ARRAY: { uint32_t array_size = entry_data_list->entry_data.data_size; uint32_t array_offset = entry_data_list->entry_data.offset_to_next; while (array_size-- > 0) { MMDB_entry_data_list_s *entry_data_list_to = data_pool_alloc(pool); if (!entry_data_list_to) { return MMDB_OUT_OF_MEMORY_ERROR; } int status = get_entry_data_list( mmdb, array_offset, entry_data_list_to, pool, depth); if (MMDB_SUCCESS != status) { DEBUG_MSG("get_entry_data_list on array element failed."); return status; } array_offset = entry_data_list_to->entry_data.offset_to_next; } entry_data_list->entry_data.offset_to_next = array_offset; } break; case MMDB_DATA_TYPE_MAP: { uint32_t size = entry_data_list->entry_data.data_size; offset = entry_data_list->entry_data.offset_to_next; while (size-- > 0) { MMDB_entry_data_list_s *list_key = data_pool_alloc(pool); if (!list_key) { return MMDB_OUT_OF_MEMORY_ERROR; } int status = get_entry_data_list(mmdb, offset, list_key, pool, depth); if (MMDB_SUCCESS != status) { DEBUG_MSG("get_entry_data_list on map key failed."); return status; } offset = list_key->entry_data.offset_to_next; MMDB_entry_data_list_s *list_value = data_pool_alloc(pool); if (!list_value) { return MMDB_OUT_OF_MEMORY_ERROR; } status = get_entry_data_list(mmdb, offset, list_value, pool, depth); if (MMDB_SUCCESS != status) { DEBUG_MSG("get_entry_data_list on map element failed."); return status; } offset = list_value->entry_data.offset_to_next; } entry_data_list->entry_data.offset_to_next = offset; } break; default: break; } return MMDB_SUCCESS; } static float get_ieee754_float(const uint8_t *restrict p) { volatile float f; volatile uint8_t *q = (volatile void *)&f; /* Windows builds don't use autoconf but we can assume they're all * little-endian. */ #if MMDB_LITTLE_ENDIAN || _WIN32 q[3] = p[0]; q[2] = p[1]; q[1] = p[2]; q[0] = p[3]; #else memcpy(q, p, 4); #endif return f; } static double get_ieee754_double(const uint8_t *restrict p) { volatile double d; volatile uint8_t *q = (volatile void *)&d; #if MMDB_LITTLE_ENDIAN || _WIN32 q[7] = p[0]; q[6] = p[1]; q[5] = p[2]; q[4] = p[3]; q[3] = p[4]; q[2] = p[5]; q[1] = p[6]; q[0] = p[7]; #else memcpy(q, p, 8); #endif return d; } static uint32_t get_uint32(const uint8_t *p) { return p[0] * 16777216U + p[1] * 65536 + p[2] * 256 + p[3]; } static uint32_t get_uint24(const uint8_t *p) { return p[0] * 65536U + p[1] * 256 + p[2]; } static uint32_t get_uint16(const uint8_t *p) { return p[0] * 256U + p[1]; } static uint64_t get_uintX(const uint8_t *p, int length) { uint64_t value = 0; while (length-- > 0) { value <<= 8; value += *p++; } return value; } static int32_t get_sintX(const uint8_t *p, int length) { return (int32_t)get_uintX(p, length); } void MMDB_free_entry_data_list(MMDB_entry_data_list_s *const entry_data_list) { if (entry_data_list == NULL) { return; } data_pool_destroy(entry_data_list->pool); } void MMDB_close(MMDB_s *const mmdb) { free_mmdb_struct(mmdb); } static void free_mmdb_struct(MMDB_s *const mmdb) { if (!mmdb) { return; } if (NULL != mmdb->filename) { #if defined(__clang__) // This is a const char * that we need to free, which isn't valid. However it // would mean changing the public API to fix this. #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wcast-qual" #endif FREE_AND_SET_NULL(mmdb->filename); #if defined(__clang__) #pragma clang diagnostic pop #endif } if (NULL != mmdb->file_content) { #ifdef _WIN32 UnmapViewOfFile(mmdb->file_content); /* Winsock is only initialized if open was successful so we only have * to cleanup then. */ WSACleanup(); #else #if defined(__clang__) // This is a const char * that we need to free, which isn't valid. However it // would mean changing the public API to fix this. #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wcast-qual" #endif munmap((void *)mmdb->file_content, (size_t)mmdb->file_size); #if defined(__clang__) #pragma clang diagnostic pop #endif #endif } if (NULL != mmdb->metadata.database_type) { #if defined(__clang__) // This is a const char * that we need to free, which isn't valid. However it // would mean changing the public API to fix this. #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wcast-qual" #endif FREE_AND_SET_NULL(mmdb->metadata.database_type); #if defined(__clang__) #pragma clang diagnostic pop #endif } free_languages_metadata(mmdb); free_descriptions_metadata(mmdb); } static void free_languages_metadata(MMDB_s *mmdb) { if (!mmdb->metadata.languages.names) { return; } for (size_t i = 0; i < mmdb->metadata.languages.count; i++) { #if defined(__clang__) // This is a const char * that we need to free, which isn't valid. However it // would mean changing the public API to fix this. #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wcast-qual" #endif FREE_AND_SET_NULL(mmdb->metadata.languages.names[i]); #if defined(__clang__) #pragma clang diagnostic pop #endif } FREE_AND_SET_NULL(mmdb->metadata.languages.names); } static void free_descriptions_metadata(MMDB_s *mmdb) { if (!mmdb->metadata.description.count) { return; } for (size_t i = 0; i < mmdb->metadata.description.count; i++) { if (NULL != mmdb->metadata.description.descriptions[i]) { if (NULL != mmdb->metadata.description.descriptions[i]->language) { #if defined(__clang__) // This is a const char * that we need to free, which isn't valid. However it // would mean changing the public API to fix this. #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wcast-qual" #endif FREE_AND_SET_NULL( mmdb->metadata.description.descriptions[i]->language); #if defined(__clang__) #pragma clang diagnostic pop #endif } if (NULL != mmdb->metadata.description.descriptions[i]->description) { #if defined(__clang__) // This is a const char * that we need to free, which isn't valid. However it // would mean changing the public API to fix this. #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wcast-qual" #endif FREE_AND_SET_NULL( mmdb->metadata.description.descriptions[i]->description); #if defined(__clang__) #pragma clang diagnostic pop #endif } FREE_AND_SET_NULL(mmdb->metadata.description.descriptions[i]); } } FREE_AND_SET_NULL(mmdb->metadata.description.descriptions); } const char *MMDB_lib_version(void) { return PACKAGE_VERSION; } int MMDB_dump_entry_data_list(FILE *const stream, MMDB_entry_data_list_s *const entry_data_list, int indent) { int status; dump_entry_data_list(stream, entry_data_list, indent, &status); return status; } static MMDB_entry_data_list_s * dump_entry_data_list(FILE *stream, MMDB_entry_data_list_s *entry_data_list, int indent, int *status) { switch (entry_data_list->entry_data.type) { case MMDB_DATA_TYPE_MAP: { uint32_t size = entry_data_list->entry_data.data_size; print_indentation(stream, indent); fprintf(stream, "{\n"); indent += 2; for (entry_data_list = entry_data_list->next; size && entry_data_list; size--) { if (MMDB_DATA_TYPE_UTF8_STRING != entry_data_list->entry_data.type) { *status = MMDB_INVALID_DATA_ERROR; return NULL; } char *key = mmdb_strndup(entry_data_list->entry_data.utf8_string, entry_data_list->entry_data.data_size); if (NULL == key) { *status = MMDB_OUT_OF_MEMORY_ERROR; return NULL; } print_indentation(stream, indent); fprintf(stream, "\"%s\": \n", key); free(key); entry_data_list = entry_data_list->next; entry_data_list = dump_entry_data_list( stream, entry_data_list, indent + 2, status); if (MMDB_SUCCESS != *status) { return NULL; } } indent -= 2; print_indentation(stream, indent); fprintf(stream, "}\n"); } break; case MMDB_DATA_TYPE_ARRAY: { uint32_t size = entry_data_list->entry_data.data_size; print_indentation(stream, indent); fprintf(stream, "[\n"); indent += 2; for (entry_data_list = entry_data_list->next; size && entry_data_list; size--) { entry_data_list = dump_entry_data_list( stream, entry_data_list, indent, status); if (MMDB_SUCCESS != *status) { return NULL; } } indent -= 2; print_indentation(stream, indent); fprintf(stream, "]\n"); } break; case MMDB_DATA_TYPE_UTF8_STRING: { char *string = mmdb_strndup(entry_data_list->entry_data.utf8_string, entry_data_list->entry_data.data_size); if (NULL == string) { *status = MMDB_OUT_OF_MEMORY_ERROR; return NULL; } print_indentation(stream, indent); fprintf(stream, "\"%s\" \n", string); free(string); entry_data_list = entry_data_list->next; } break; case MMDB_DATA_TYPE_BYTES: { char *hex_string = bytes_to_hex(entry_data_list->entry_data.bytes, entry_data_list->entry_data.data_size); if (NULL == hex_string) { *status = MMDB_OUT_OF_MEMORY_ERROR; return NULL; } print_indentation(stream, indent); fprintf(stream, "%s \n", hex_string); free(hex_string); entry_data_list = entry_data_list->next; } break; case MMDB_DATA_TYPE_DOUBLE: print_indentation(stream, indent); fprintf(stream, "%f \n", entry_data_list->entry_data.double_value); entry_data_list = entry_data_list->next; break; case MMDB_DATA_TYPE_FLOAT: print_indentation(stream, indent); fprintf(stream, "%f \n", entry_data_list->entry_data.float_value); entry_data_list = entry_data_list->next; break; case MMDB_DATA_TYPE_UINT16: print_indentation(stream, indent); fprintf( stream, "%u \n", entry_data_list->entry_data.uint16); entry_data_list = entry_data_list->next; break; case MMDB_DATA_TYPE_UINT32: print_indentation(stream, indent); fprintf( stream, "%u \n", entry_data_list->entry_data.uint32); entry_data_list = entry_data_list->next; break; case MMDB_DATA_TYPE_BOOLEAN: print_indentation(stream, indent); fprintf(stream, "%s \n", entry_data_list->entry_data.boolean ? "true" : "false"); entry_data_list = entry_data_list->next; break; case MMDB_DATA_TYPE_UINT64: print_indentation(stream, indent); fprintf(stream, "%" PRIu64 " \n", entry_data_list->entry_data.uint64); entry_data_list = entry_data_list->next; break; case MMDB_DATA_TYPE_UINT128: print_indentation(stream, indent); #if MMDB_UINT128_IS_BYTE_ARRAY char *hex_string = bytes_to_hex( (uint8_t *)entry_data_list->entry_data.uint128, 16); if (NULL == hex_string) { *status = MMDB_OUT_OF_MEMORY_ERROR; return NULL; } fprintf(stream, "0x%s \n", hex_string); free(hex_string); #else uint64_t high = entry_data_list->entry_data.uint128 >> 64; uint64_t low = (uint64_t)entry_data_list->entry_data.uint128; fprintf(stream, "0x%016" PRIX64 "%016" PRIX64 " \n", high, low); #endif entry_data_list = entry_data_list->next; break; case MMDB_DATA_TYPE_INT32: print_indentation(stream, indent); fprintf(stream, "%d \n", entry_data_list->entry_data.int32); entry_data_list = entry_data_list->next; break; default: *status = MMDB_INVALID_DATA_ERROR; return NULL; } *status = MMDB_SUCCESS; return entry_data_list; } static void print_indentation(FILE *stream, int i) { char buffer[1024]; int size = i >= 1024 ? 1023 : i; memset(buffer, 32, (size_t)size); buffer[size] = '\0'; fputs(buffer, stream); } static char *bytes_to_hex(uint8_t const *bytes, uint32_t size) { char *hex_string; MAYBE_CHECK_SIZE_OVERFLOW(size, SIZE_MAX / 2 - 1, NULL); hex_string = calloc((size * 2) + 1, sizeof(char)); if (NULL == hex_string) { return NULL; } for (uint32_t i = 0; i < size; i++) { sprintf(hex_string + (2 * i), "%02X", bytes[i]); } return hex_string; } const char *MMDB_strerror(int error_code) { switch (error_code) { case MMDB_SUCCESS: return "Success (not an error)"; case MMDB_FILE_OPEN_ERROR: return "Error opening the specified MaxMind DB file"; case MMDB_CORRUPT_SEARCH_TREE_ERROR: return "The MaxMind DB file's search tree is corrupt"; case MMDB_INVALID_METADATA_ERROR: return "The MaxMind DB file contains invalid metadata"; case MMDB_IO_ERROR: return "An attempt to read data from the MaxMind DB file failed"; case MMDB_OUT_OF_MEMORY_ERROR: return "A memory allocation call failed"; case MMDB_UNKNOWN_DATABASE_FORMAT_ERROR: return "The MaxMind DB file is in a format this library can't " "handle (unknown record size or binary format version)"; case MMDB_INVALID_DATA_ERROR: return "The MaxMind DB file's data section contains bad data " "(unknown data type or corrupt data)"; case MMDB_INVALID_LOOKUP_PATH_ERROR: return "The lookup path contained an invalid value (like a " "negative integer for an array index)"; case MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR: return "The lookup path does not match the data (key that doesn't " "exist, array index bigger than the array, expected array " "or map where none exists)"; case MMDB_INVALID_NODE_NUMBER_ERROR: return "The MMDB_read_node function was called with a node number " "that does not exist in the search tree"; case MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR: return "You attempted to look up an IPv6 address in an IPv4-only " "database"; default: return "Unknown error code"; } } python-maxminddb-2.5.2/extension/libmaxminddb/t/000077500000000000000000000000001454732056000217215ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/CMakeLists.txt000066400000000000000000000024711454732056000244650ustar00rootroot00000000000000add_library(tap libtap/tap.c ) # test programs set(TEST_TARGET_NAMES bad_pointers_t basic_lookup_t data_entry_list_t data-pool-t data_types_t dump_t get_value_pointer_bug_t get_value_t ipv4_start_cache_t ipv6_lookup_in_ipv4_t metadata_pointers_t metadata_t no_map_get_value_t read_node_t version_t ) if(UNIX) # or if (NOT WIN32) list(APPEND TEST_TARGET_NAMES bad_databases_t threads_t ) find_package(Threads) endif() if(WIN32) # 4244, 4267 - libtap causes a significant number of conversion warning in # our tests on Windows. # 4996 - vsprintf used by libtap is unsafe. add_definitions("/wd4244 /wd4267 /wd4996") endif(WIN32) foreach(TEST_TARGET_NAME ${TEST_TARGET_NAMES}) add_executable(${TEST_TARGET_NAME} ${TEST_TARGET_NAME}.c maxminddb_test_helper.c) target_include_directories(${TEST_TARGET_NAME} PRIVATE ../src) target_link_libraries(${TEST_TARGET_NAME} maxminddb tap) target_compile_definitions(${TEST_TARGET_NAME} PRIVATE PACKAGE_VERSION="${PROJECT_VERSION}") if(UNIX) target_link_libraries(${TEST_TARGET_NAME} m) endif() if (UNIX) target_link_libraries(${TEST_TARGET_NAME} ${CMAKE_THREAD_LIBS_INIT}) endif() add_test( NAME ${TEST_TARGET_NAME} COMMAND ${TEST_TARGET_NAME} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/t) endforeach() python-maxminddb-2.5.2/extension/libmaxminddb/t/Makefile.am000066400000000000000000000020521454732056000237540ustar00rootroot00000000000000include $(top_srcdir)/common.mk all-local: cd libtap && $(MAKE) $(AM_MAKEFLAGS) all clean-local: cd libtap && $(MAKE) $(AM_MAKEFLAGS) clean AM_LDFLAGS = $(top_builddir)/src/libmaxminddb.la CFLAGS += -I$(top_srcdir)/src noinst_LTLIBRARIES = libmmdbtest.la libmmdbtest_la_SOURCES = maxminddb_test_helper.c maxminddb_test_helper.h EXTRA_DIST = compile_c++_t.pl external_symbols_t.pl mmdblookup_t.pl \ libtap/COPYING libtap/INSTALL libtap/Makefile libtap/README.md \ libtap/tap.c libtap/tap.h maxmind-db check_PROGRAMS = \ bad_pointers_t bad_databases_t basic_lookup_t data_entry_list_t \ data-pool-t data_types_t dump_t get_value_t get_value_pointer_bug_t \ ipv4_start_cache_t ipv6_lookup_in_ipv4_t metadata_t metadata_pointers_t \ no_map_get_value_t read_node_t threads_t version_t data_pool_t_LDFLAGS = $(AM_LDFLAGS) -lm data_pool_t_SOURCES = data-pool-t.c ../src/data-pool.c threads_t_CFLAGS = $(CFLAGS) -pthread TESTS = $(check_PROGRAMS) compile_c++_t.pl external_symbols_t.pl mmdblookup_t.pl LDADD = libmmdbtest.la libtap/libtap.a python-maxminddb-2.5.2/extension/libmaxminddb/t/bad_databases_t.c000066400000000000000000000030531454732056000251460ustar00rootroot00000000000000// This test currently does not work on Windows as nftw is // not available. #define _XOPEN_SOURCE 500 #include #include #include #include "maxminddb_test_helper.h" int test_read(const char *path, const struct stat *UNUSED(sbuf), int flags, struct FTW *UNUSED(ftw)) { // Check if path is a regular file) if (flags != FTW_F) { return 0; } MMDB_s *mmdb = (MMDB_s *)calloc(1, sizeof(MMDB_s)); if (NULL == mmdb) { BAIL_OUT("could not allocate memory for our MMDB_s struct"); } int status = MMDB_open(path, MMDB_MODE_MMAP, mmdb); if (status != MMDB_SUCCESS) { ok(1, "received error when opening %s", path); free(mmdb); return 0; } int gai_error, mmdb_error; MMDB_lookup_string(mmdb, "1.1.1.1", &gai_error, &mmdb_error); if (gai_error != 0) { BAIL_OUT("could not parse IP address"); } cmp_ok( mmdb_error, "!=", MMDB_SUCCESS, "opening %s returned an error", path); MMDB_close(mmdb); free(mmdb); return 0; } int main(void) { char *test_db_dir; #ifdef _WIN32 test_db_dir = "../t/maxmind-db/bad-data"; #else char cwd[500]; char *UNUSED(tmp) = getcwd(cwd, 500); if (strcmp(basename(cwd), "t") == 0) { test_db_dir = "./maxmind-db/bad-data"; } else { test_db_dir = "./t/maxmind-db/bad-data"; } #endif plan(NO_PLAN); if (nftw(test_db_dir, test_read, 10, FTW_PHYS) != 0) { BAIL_OUT("nftw failed"); } done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/bad_pointers_t.c000066400000000000000000000032161454732056000250630ustar00rootroot00000000000000#include "maxminddb_test_helper.h" void run_tests(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-test-broken-pointers-24.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); { const char *ip = "1.1.1.16"; MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); MMDB_entry_data_s entry_data; int status = MMDB_get_value(&result.entry, &entry_data, NULL); cmp_ok(status, "==", MMDB_INVALID_DATA_ERROR, "MMDB_get_value returns MMDB_INVALID_DATA_ERROR for bad pointer " "in data section"); MMDB_entry_data_list_s *entry_data_list; status = MMDB_get_entry_data_list(&result.entry, &entry_data_list); cmp_ok(status, "==", MMDB_INVALID_DATA_ERROR, "MMDB_get_entry_data_list returns MMDB_INVALID_DATA_ERROR for " "bad pointer in data section"); MMDB_free_entry_data_list(entry_data_list); } { const char *ip = "1.1.1.32"; int gai_error, mmdb_error; MMDB_lookup_string(mmdb, ip, &gai_error, &mmdb_error); cmp_ok(mmdb_error, "==", MMDB_CORRUPT_SEARCH_TREE_ERROR, "MMDB_lookup_string sets mmdb_error to " "MMDB_CORRUPT_SEARCH_TREE_ERROR when a search tree record " "points outside the data section"); } MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/basic_lookup_t.c000066400000000000000000000150671454732056000250730ustar00rootroot00000000000000#include "maxminddb_test_helper.h" static void test_big_lookup(void); /* These globals are gross but it's the easiest way to mix calling * for_all_modes() and for_all_record_sizes() */ static int Current_Mode; static const char *Current_Mode_Description; void test_one_result(MMDB_s *mmdb, MMDB_lookup_result_s result, const char *ip, const char *expect, const char *function, const char *filename, const char *mode_desc) { int is_ok = ok(result.found_entry, "got a result for an IP in the database - %s - %s - %s - %s", function, ip, filename, mode_desc); if (!is_ok) { return; } MMDB_entry_data_s data = data_ok(&result, MMDB_DATA_TYPE_UTF8_STRING, "result{ip}", "ip", NULL); char *string = mmdb_strndup(data.utf8_string, data.data_size); char *real_expect; if (mmdb->metadata.ip_version == 4 || strncmp(expect, "::", 2) == 0) { real_expect = mmdb_strndup(expect, strlen(expect)); } else { // When looking up IPv4 addresses in a mixed DB the result will be // something like "::1.2.3.4", not just "1.2.3.4". size_t maxlen = strlen(expect) + 3; real_expect = malloc(maxlen); if (!real_expect) { BAIL_OUT("could not allocate memory"); } snprintf(real_expect, maxlen, "::%s", expect); } is(string, real_expect, "found expected result for ip key - %s - %s - %s - %s", function, ip, filename, mode_desc); free(real_expect); free(string); } void test_one_ip(MMDB_s *mmdb, const char *ip, const char *expect, const char *filename, const char *mode_desc) { MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); test_one_result( mmdb, result, ip, expect, "MMDB_lookup_string", filename, mode_desc); result = lookup_sockaddr_ok(mmdb, ip, filename, mode_desc); test_one_result( mmdb, result, ip, expect, "MMDB_lookup_addrinfo", filename, mode_desc); } void run_ipX_tests(const char *filename, const char **missing_ips, int missing_ips_length, const char *pairs[][2], int pairs_rows) { char *path = test_database_path(filename); int mode = Current_Mode; const char *mode_desc = Current_Mode_Description; MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); char desc_suffix[500]; snprintf(desc_suffix, 500, "%s - %s", filename, mode_desc); for (int i = 0; i < missing_ips_length; i++) { const char *ip = missing_ips[i]; MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); ok(!result.found_entry, "no result entry struct returned for IP address not in the database " "(string lookup) - %s - %s - %s", ip, filename, mode_desc); result = lookup_sockaddr_ok(mmdb, ip, filename, mode_desc); ok(!result.found_entry, "no result entry struct returned for IP address not in the database " "(ipv4 lookup) - %s - %s - %s", ip, filename, mode_desc); } for (int i = 0; i < pairs_rows; i += 1) { const char *ip_to_lookup = pairs[i][0]; const char *expect = pairs[i][1]; test_one_ip(mmdb, ip_to_lookup, expect, filename, mode_desc); } MMDB_close(mmdb); free(mmdb); } void run_ipv4_tests(int UNUSED(record_size), const char *filename, const char *UNUSED(ignored)) { const char *pairs[9][2] = { {"1.1.1.1", "1.1.1.1"}, {"1.1.1.2", "1.1.1.2"}, {"1.1.1.3", "1.1.1.2"}, {"1.1.1.7", "1.1.1.4"}, {"1.1.1.9", "1.1.1.8"}, {"1.1.1.15", "1.1.1.8"}, {"1.1.1.17", "1.1.1.16"}, {"1.1.1.31", "1.1.1.16"}, {"1.1.1.32", "1.1.1.32"}, }; const char *missing[1] = {"2.3.4.5"}; run_ipX_tests(filename, missing, 1, pairs, 9); } void run_ipv6_tests(int UNUSED(record_size), const char *filename, const char *UNUSED(ignored)) { const char *pairs[9][2] = { {"::1:ffff:ffff", "::1:ffff:ffff"}, {"::2:0:0", "::2:0:0"}, {"::2:0:1a", "::2:0:0"}, {"::2:0:40", "::2:0:40"}, {"::2:0:4f", "::2:0:40"}, {"::2:0:50", "::2:0:50"}, {"::2:0:52", "::2:0:50"}, {"::2:0:58", "::2:0:58"}, {"::2:0:59", "::2:0:58"}, }; const char *missing[2] = {"2.3.4.5", "::abcd"}; run_ipX_tests(filename, missing, 2, pairs, 9); } void all_record_sizes(int mode, const char *description) { const char *ipv4_filename_fmts[] = {"MaxMind-DB-test-ipv4-%i.mmdb", "MaxMind-DB-test-mixed-%i.mmdb"}; Current_Mode = mode; Current_Mode_Description = description; for (int i = 0; i < 2; i++) { for_all_record_sizes(ipv4_filename_fmts[i], &run_ipv4_tests); } const char *ipv6_filename_fmts[] = {"MaxMind-DB-test-ipv6-%i.mmdb", "MaxMind-DB-test-mixed-%i.mmdb"}; for (int i = 0; i < 2; i++) { for_all_record_sizes(ipv6_filename_fmts[i], &run_ipv6_tests); } } static void test_big_lookup(void) { const char *const db_filename = "GeoIP2-Precision-Enterprise-Test.mmdb"; char *db_path = test_database_path(db_filename); ok(db_path != NULL, "got database path"); MMDB_s *const mmdb = open_ok(db_path, MMDB_MODE_MMAP, "mmap mode"); ok(mmdb != NULL, "opened MMDB"); free(db_path); int gai_err = 0, mmdb_err = 0; const char *const ip_address = "81.2.69.160"; MMDB_lookup_result_s result = MMDB_lookup_string(mmdb, ip_address, &gai_err, &mmdb_err); ok(gai_err == 0, "no getaddrinfo error"); ok(mmdb_err == MMDB_SUCCESS, "no error from maxminddb library"); ok(result.found_entry, "found IP"); MMDB_entry_data_list_s *entry_data_list = NULL; ok(MMDB_get_entry_data_list(&result.entry, &entry_data_list) == MMDB_SUCCESS, "successfully looked up entry data list"); ok(entry_data_list != NULL, "got an entry_data_list"); MMDB_free_entry_data_list(entry_data_list); MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&all_record_sizes); test_big_lookup(); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/compile_c++_t.pl000077500000000000000000000045201454732056000246650ustar00rootroot00000000000000#!/usr/bin/env perl use strict; use warnings; use Cwd qw( abs_path ); use FindBin qw( $Bin ); eval <<'EOF'; use Test::More 0.88; use File::Temp qw( tempdir ); use IPC::Run3 qw( run3 ); EOF if ($@) { print "1..0 # skip all tests skipped - these tests need the Test::More 0.88, File::Temp, and IPC::Run3 modules:\n"; print "$@"; exit 0; } my $test_db = "$Bin/maxmind-db/test-data/GeoIP2-City-Test.mmdb"; my $cpp_code = <<"EOF"; #include int main(int argc, char *argv[]) { const char *fname = "$test_db"; MMDB_s mmdb; if (MMDB_open(fname, MMDB_MODE_MMAP, &mmdb) != MMDB_SUCCESS) { return 1; } MMDB_close(&mmdb); return 0; } EOF my $tempdir = tempdir(CLEANUP => 1 ); my $file = "$tempdir/open.cpp"; open my $fh, '>', $file or die $!; print {$fh} $cpp_code or die $!; close $fh or die $!; my $exe = "$tempdir/open"; my $include_dir = abs_path("$Bin/../include"); my $lib_dir = abs_path("$Bin/../src/.libs"); my $cxx = $ENV{CXX} || 'c++'; my @cxxflags = $ENV{CXXFLAGS} ? ( split ' ', $ENV{CXXFLAGS} ) : (); _test_cmd( [ $cxx, $file, @cxxflags, "-I$include_dir", "-L$lib_dir", "-lmaxminddb", "-o$exe", ], qr/^$/, q{}, 0, 'compile C++ program which links against libmaxminddb', ); # DYLD_LIBRARY_PATH is for Mac OS X $ENV{LD_LIBRARY_PATH} = $ENV{DYLD_LIBRARY_PATH} = $lib_dir; _test_cmd( [$exe], qr/^$/, q{}, 0, 'compiled C++ program executes without errors' ); done_testing(); sub _test_cmd { my $cmd = shift; my $expect_stdout = shift; my $expect_stderr = shift; my $expect_status = shift; my $desc = shift; my $stdout; my $stderr; run3( $cmd, \undef, \$stdout, \$stderr, ); my $exit_status = $? >> 8; # We don't need to retest that the help output shows up for all errors if ( defined $expect_stdout ) { like( $stdout, $expect_stdout, "stdout for @{$cmd}" ); } if ( ref $expect_stderr ) { like( $stderr, $expect_stderr, "stderr for @{$cmd}" ); } else { is( $stderr, $expect_stderr, "stderr for @{$cmd}" ); } is( $exit_status, $expect_status, "exit status was $expect_status for @{$cmd}" ); } python-maxminddb-2.5.2/extension/libmaxminddb/t/data-pool-t.c000066400000000000000000000261551454732056000242170ustar00rootroot00000000000000#include "libtap/tap.h" #include "maxminddb_test_helper.h" #include #include #include #include static void test_data_pool_new(void); static void test_data_pool_destroy(void); static void test_data_pool_alloc(void); static void test_data_pool_to_list(void); static bool create_and_check_list(size_t const, size_t const); static void check_block_count(MMDB_entry_data_list_s const *const, size_t const); int main(void) { plan(NO_PLAN); test_data_pool_new(); test_data_pool_destroy(); test_data_pool_alloc(); test_data_pool_to_list(); done_testing(); } static void test_data_pool_new(void) { { MMDB_data_pool_s *const pool = data_pool_new(0); ok(!pool, "size 0 is not valid"); } { MMDB_data_pool_s *const pool = data_pool_new(SIZE_MAX - 10); ok(!pool, "very large size is not valid"); } { MMDB_data_pool_s *const pool = data_pool_new(512); ok(pool != NULL, "size 512 is valid"); cmp_ok(pool->size, "==", 512, "size is 512"); cmp_ok(pool->used, "==", 0, "used size is 0"); data_pool_destroy(pool); } } static void test_data_pool_destroy(void) { { data_pool_destroy(NULL); } { MMDB_data_pool_s *const pool = data_pool_new(512); ok(pool != NULL, "created pool"); data_pool_destroy(pool); } } static void test_data_pool_alloc(void) { { MMDB_data_pool_s *const pool = data_pool_new(1); ok(pool != NULL, "created pool"); cmp_ok(pool->used, "==", 0, "used size starts at 0"); MMDB_entry_data_list_s *const entry1 = data_pool_alloc(pool); ok(entry1 != NULL, "allocated first entry"); // Arbitrary so that we can recognize it. entry1->entry_data.offset = (uint32_t)123; cmp_ok(pool->size, "==", 1, "size is still 1"); cmp_ok(pool->used, "==", 1, "used size is 1 after taking one"); MMDB_entry_data_list_s *const entry2 = data_pool_alloc(pool); ok(entry2 != NULL, "got another entry"); ok(entry1 != entry2, "second entry is different from first entry"); cmp_ok(pool->size, "==", 2, "size is 2 (new block)"); cmp_ok(pool->used, "==", 1, "used size is 1 in current block"); ok(entry1->entry_data.offset == 123, "accessing the original entry's memory is ok"); data_pool_destroy(pool); } { size_t const initial_size = 10; MMDB_data_pool_s *const pool = data_pool_new(initial_size); ok(pool != NULL, "created pool"); MMDB_entry_data_list_s *entry1 = NULL; for (size_t i = 0; i < initial_size; i++) { MMDB_entry_data_list_s *const entry = data_pool_alloc(pool); ok(entry != NULL, "got an entry"); // Give each a unique number so we can check it. entry->entry_data.offset = (uint32_t)i; if (i == 0) { entry1 = entry; } } cmp_ok(pool->size, "==", initial_size, "size is the initial size"); cmp_ok(pool->used, "==", initial_size, "used size is as expected"); MMDB_entry_data_list_s *const entry = data_pool_alloc(pool); ok(entry != NULL, "got an entry"); entry->entry_data.offset = (uint32_t)initial_size; cmp_ok( pool->size, "==", initial_size * 2, "size is the initial size*2"); cmp_ok(pool->used, "==", 1, "used size is as expected"); MMDB_entry_data_list_s *const list = data_pool_to_list(pool); MMDB_entry_data_list_s *element = list; for (size_t i = 0; i < initial_size + 1; i++) { ok(element->entry_data.offset == (uint32_t)i, "found offset %" PRIu32 ", should have %zu", element->entry_data.offset, i); element = element->next; } ok(entry1->entry_data.offset == (uint32_t)0, "accessing entry1's original memory is ok after growing the pool"); data_pool_destroy(pool); } } static void test_data_pool_to_list(void) { { size_t const initial_size = 16; MMDB_data_pool_s *const pool = data_pool_new(initial_size); ok(pool != NULL, "created pool"); MMDB_entry_data_list_s *const entry1 = data_pool_alloc(pool); ok(entry1 != NULL, "got an entry"); MMDB_entry_data_list_s *const list_one_element = data_pool_to_list(pool); ok(list_one_element != NULL, "got a list"); ok(list_one_element == entry1, "list's first element is the first we retrieved"); ok(list_one_element->next == NULL, "list is one element in size"); MMDB_entry_data_list_s *const entry2 = data_pool_alloc(pool); ok(entry2 != NULL, "got another entry"); MMDB_entry_data_list_s *const list_two_elements = data_pool_to_list(pool); ok(list_two_elements != NULL, "got a list"); ok(list_two_elements == entry1, "list's first element is the first we retrieved"); ok(list_two_elements->next != NULL, "list has a second element"); MMDB_entry_data_list_s *const second_element = list_two_elements->next; ok(second_element == entry2, "second item in list is second we retrieved"); ok(second_element->next == NULL, "list ends with the second element"); data_pool_destroy(pool); } { size_t const initial_size = 1; MMDB_data_pool_s *const pool = data_pool_new(initial_size); ok(pool != NULL, "created pool"); MMDB_entry_data_list_s *const entry1 = data_pool_alloc(pool); ok(entry1 != NULL, "got an entry"); MMDB_entry_data_list_s *const list_one_element = data_pool_to_list(pool); ok(list_one_element != NULL, "got a list"); ok(list_one_element == entry1, "list's first element is the first we retrieved"); ok(list_one_element->next == NULL, "list ends with this element"); data_pool_destroy(pool); } { size_t const initial_size = 2; MMDB_data_pool_s *const pool = data_pool_new(initial_size); ok(pool != NULL, "created pool"); MMDB_entry_data_list_s *const entry1 = data_pool_alloc(pool); ok(entry1 != NULL, "got an entry"); MMDB_entry_data_list_s *const entry2 = data_pool_alloc(pool); ok(entry2 != NULL, "got an entry"); ok(entry1 != entry2, "second entry is different from the first"); MMDB_entry_data_list_s *const list_element1 = data_pool_to_list(pool); ok(list_element1 != NULL, "got a list"); ok(list_element1 == entry1, "list's first element is the first we retrieved"); MMDB_entry_data_list_s *const list_element2 = list_element1->next; ok(list_element2 == entry2, "second element is the second we retrieved"); ok(list_element2->next == NULL, "list ends with this element"); data_pool_destroy(pool); } { diag("starting test: fill one block save for one spot"); ok(create_and_check_list(3, 2), "fill one block save for one spot"); } { diag("starting test: fill one block"); ok(create_and_check_list(3, 3), "fill one block"); } { diag( "starting test: fill one block and use one spot in the next block"); ok(create_and_check_list(3, 3 + 1), "fill one block and use one spot in the next block"); } { diag("starting test: fill two blocks save for one spot"); ok(create_and_check_list(3, 3 + 3 * 2 - 1), "fill two blocks save for one spot"); } { diag("starting test: fill two blocks"); ok(create_and_check_list(3, 3 + 3 * 2), "fill two blocks"); } { diag("starting test: fill two blocks and use one spot in the next"); ok(create_and_check_list(3, 3 + 3 * 2 + 1), "fill two blocks and use one spot in the next"); } { diag("starting test: fill three blocks save for one spot"); ok(create_and_check_list(3, 3 + 3 * 2 + 3 * 2 * 2 - 1), "fill three blocks save for one spot"); } { diag("starting test: fill three blocks"); ok(create_and_check_list(3, 3 + 3 * 2 + 3 * 2 * 2), "fill three blocks"); } // It would be nice to have a larger number of these, but it's expensive to // run many. We currently hardcode what this will be anyway, so varying // this is not very interesting. size_t const initial_sizes[] = {1, 2, 32, 64, 128, 256}; size_t const max_element_count = 4096; for (size_t i = 0; i < sizeof(initial_sizes) / sizeof(initial_sizes[0]); i++) { size_t const initial_size = initial_sizes[i]; for (size_t element_count = 0; element_count < max_element_count; element_count++) { assert(create_and_check_list(initial_size, element_count)); } } } // Use assert() rather than libtap as libtap is significantly slower and we run // this frequently. static bool create_and_check_list(size_t const initial_size, size_t const element_count) { MMDB_data_pool_s *const pool = data_pool_new(initial_size); assert(pool != NULL); assert(pool->used == 0); // Hold on to the pointers as we initially see them so that we can check // they are still valid after building the list. MMDB_entry_data_list_s **const entry_array = calloc(element_count, sizeof(MMDB_entry_data_list_s *)); assert(entry_array != NULL); for (size_t i = 0; i < element_count; i++) { MMDB_entry_data_list_s *const entry = data_pool_alloc(pool); assert(entry != NULL); entry->entry_data.offset = (uint32_t)i; entry_array[i] = entry; } MMDB_entry_data_list_s *const list = data_pool_to_list(pool); if (element_count == 0) { assert(list == NULL); data_pool_destroy(pool); free(entry_array); return true; } assert(list != NULL); MMDB_entry_data_list_s *element = list; for (size_t i = 0; i < element_count; i++) { assert(element->entry_data.offset == (uint32_t)i); assert(element == entry_array[i]); element = element->next; } assert(element == NULL); check_block_count(list, initial_size); data_pool_destroy(pool); free(entry_array); return true; } // Use assert() rather than libtap as libtap is significantly slower and we run // this frequently. static void check_block_count(MMDB_entry_data_list_s const *const list, size_t const initial_size) { size_t got_block_count = 0; size_t got_element_count = 0; MMDB_entry_data_list_s const *element = list; while (element) { got_element_count++; if (element->pool) { got_block_count++; } element = element->next; } // Because = * 2^(number of blocks) double const a = ceil((double)got_element_count / (double)initial_size); double const b = log2(a); size_t const expected_block_count = ((size_t)b) + 1; assert(got_block_count == expected_block_count); } python-maxminddb-2.5.2/extension/libmaxminddb/t/data_entry_list_t.c000066400000000000000000000336211454732056000256020ustar00rootroot00000000000000#include "maxminddb_test_helper.h" MMDB_entry_data_list_s * test_array_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *array = entry_data_list = entry_data_list->next; cmp_ok(array->entry_data.type, "==", MMDB_DATA_TYPE_ARRAY, "'array' key's value is an array"); cmp_ok(array->entry_data.data_size, "==", 3, "'array' key's value has 3 elements"); MMDB_entry_data_list_s *idx0 = entry_data_list = entry_data_list->next; cmp_ok(idx0->entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "first array entry is a UINT32"); cmp_ok(idx0->entry_data.uint32, "==", 1, "first array entry value is 1"); MMDB_entry_data_list_s *idx1 = entry_data_list = entry_data_list->next; cmp_ok(idx1->entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "second array entry is a UINT32"); cmp_ok(idx1->entry_data.uint32, "==", 2, "second array entry value is 2"); MMDB_entry_data_list_s *idx2 = entry_data_list = entry_data_list->next; cmp_ok(idx2->entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "third array entry is a UINT32"); cmp_ok(idx2->entry_data.uint32, "==", 3, "third array entry value is 3"); return entry_data_list; } MMDB_entry_data_list_s * test_boolean_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.type, "==", MMDB_DATA_TYPE_BOOLEAN, "'boolean' key's value is a boolean"); ok(value->entry_data.boolean, "'boolean' key's value is true"); return entry_data_list; } MMDB_entry_data_list_s * test_bytes_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.type, "==", MMDB_DATA_TYPE_BYTES, "'bytes' key's value is bytes"); uint8_t *bytes = malloc(value->entry_data.data_size); if (NULL == bytes) { BAIL_OUT("malloc failed"); } memcpy(bytes, value->entry_data.bytes, value->entry_data.data_size); uint8_t expect[] = {0x00, 0x00, 0x00, 0x2a}; ok(memcmp(bytes, expect, 4) == 0, "got expected value for bytes key"); free((void *)bytes); return entry_data_list; } MMDB_entry_data_list_s * test_double_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.type, "==", MMDB_DATA_TYPE_DOUBLE, "'double' key's value is a double"); compare_double(value->entry_data.double_value, 42.123456); return entry_data_list; } MMDB_entry_data_list_s * test_float_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.type, "==", MMDB_DATA_TYPE_FLOAT, "'float' key's value is a float"); compare_float(value->entry_data.float_value, 1.1F); return entry_data_list; } MMDB_entry_data_list_s * test_int32_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.type, "==", MMDB_DATA_TYPE_INT32, "'int32' key's value is an int32"); int32_t expect = 1 << 28; expect *= -1; cmp_ok(value->entry_data.int32, "==", expect, "got expected value for int32 key"); return entry_data_list; } MMDB_entry_data_list_s * test_arrayX_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *arrayX = entry_data_list = entry_data_list->next; cmp_ok(arrayX->entry_data.type, "==", MMDB_DATA_TYPE_ARRAY, "'map{mapX}{arrayX}' key's value is an array"); cmp_ok(arrayX->entry_data.data_size, "==", 3, "'map{mapX}{arrayX}' key's value has 3 elements"); MMDB_entry_data_list_s *idx0 = entry_data_list = entry_data_list->next; cmp_ok(idx0->entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "first array entry is a UINT32"); cmp_ok(idx0->entry_data.uint32, "==", 7, "first array entry value is 7"); MMDB_entry_data_list_s *idx1 = entry_data_list = entry_data_list->next; cmp_ok(idx1->entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "second array entry is a UINT32"); cmp_ok(idx1->entry_data.uint32, "==", 8, "second array entry value is 8"); MMDB_entry_data_list_s *idx2 = entry_data_list = entry_data_list->next; cmp_ok(idx2->entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "third array entry is a UINT32"); cmp_ok(idx2->entry_data.uint32, "==", 9, "third array entry value is 9"); return entry_data_list; } MMDB_entry_data_list_s * test_mapX_key_value_pair(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *mapX_key = entry_data_list = entry_data_list->next; cmp_ok(mapX_key->entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "found a map key in 'map{mapX}'"); char *mapX_key_name = dup_entry_string_or_bail(mapX_key->entry_data); if (strcmp(mapX_key_name, "utf8_stringX") == 0) { MMDB_entry_data_list_s *mapX_value = entry_data_list = entry_data_list->next; cmp_ok(mapX_value->entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "'map{mapX}{utf8_stringX}' type is utf8_string"); char *utf8_stringX_value = dup_entry_string_or_bail(mapX_value->entry_data); ok(strcmp(utf8_stringX_value, "hello") == 0, "map{mapX}{utf8_stringX} value is 'hello'"); free(utf8_stringX_value); } else if (strcmp(mapX_key_name, "arrayX") == 0) { entry_data_list = test_arrayX_value(entry_data_list); } else { ok(0, "unknown key found in map{mapX} - %s", mapX_key_name); } free(mapX_key_name); return entry_data_list; } MMDB_entry_data_list_s * test_map_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *map = entry_data_list = entry_data_list->next; cmp_ok(map->entry_data.type, "==", MMDB_DATA_TYPE_MAP, "'map' key's value is a map"); cmp_ok(map->entry_data.data_size, "==", 1, "'map' key's value has 1 key/value pair"); MMDB_entry_data_list_s *map_key_1 = entry_data_list = entry_data_list->next; cmp_ok(map_key_1->entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "found a map key in 'map'"); char *map_key_1_name = dup_entry_string_or_bail(map_key_1->entry_data); ok(strcmp(map_key_1_name, "mapX") == 0, "key name is mapX"); free(map_key_1_name); MMDB_entry_data_list_s *mapX = entry_data_list = entry_data_list->next; cmp_ok(mapX->entry_data.type, "==", MMDB_DATA_TYPE_MAP, "'map{mapX}' key's value is a map"); cmp_ok(mapX->entry_data.data_size, "==", 2, "'map' key's value has 2 key/value pairs"); entry_data_list = test_mapX_key_value_pair(entry_data_list); entry_data_list = test_mapX_key_value_pair(entry_data_list); return entry_data_list; } MMDB_entry_data_list_s * test_uint128_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.type, "==", MMDB_DATA_TYPE_UINT128, "'uint128' key's value is an uint128"); #if MMDB_UINT128_IS_BYTE_ARRAY uint8_t expect[16] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; ok(memcmp(value->entry_data.uint128, expect, 16) == 0, "uint128 field is 2**120"); #else mmdb_uint128_t expect = 1; expect <<= 120; cmp_ok(value->entry_data.uint128, "==", expect, "uint128 field is 2**120"); #endif return entry_data_list; } MMDB_entry_data_list_s * test_uint16_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.type, "==", MMDB_DATA_TYPE_UINT16, "'uint16' key's value is an uint16"); uint16_t expect = 100; ok(value->entry_data.uint16 == expect, "uint16 field is 100"); return entry_data_list; } MMDB_entry_data_list_s * test_uint32_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "'uint32' key's value is an uint32"); uint32_t expect = 1 << 28; cmp_ok(value->entry_data.uint32, "==", expect, "uint32 field is 100"); return entry_data_list; } MMDB_entry_data_list_s * test_uint64_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.type, "==", MMDB_DATA_TYPE_UINT64, "'uint64' key's value is an uint64"); uint64_t expect = 1; expect <<= 60; cmp_ok(value->entry_data.uint64, "==", expect, "uint64 field is 2**60"); return entry_data_list; } MMDB_entry_data_list_s * test_utf8_string_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "'utf8_string' key's value is a string"); char *utf8_string = dup_entry_string_or_bail(value->entry_data); // This is hex for "unicode! ☯ - ♫" as bytes char expect[19] = {0x75, 0x6e, 0x69, 0x63, 0x6f, 0x64, 0x65, 0x21, 0x20, (char)0xe2, (char)0x98, (char)0xaf, 0x20, 0x2d, 0x20, (char)0xe2, (char)0x99, (char)0xab, 0x00}; is(utf8_string, expect, "got expected value for utf8_string key"); free(utf8_string); return entry_data_list; } void run_tests(int mode, const char *description) { const char *filename = "MaxMind-DB-test-decoder.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, description); free(path); char *ip = "1.1.1.1"; MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, description); MMDB_entry_data_list_s *entry_data_list, *first; int status = MMDB_get_entry_data_list(&result.entry, &entry_data_list); if (MMDB_SUCCESS != status) { BAIL_OUT("MMDB_get_entry_data_list failed with %s", MMDB_strerror(status)); } else { cmp_ok( status, "==", MMDB_SUCCESS, "MMDB_get_entry_data_list succeeded"); } first = entry_data_list; cmp_ok(entry_data_list->entry_data.type, "==", MMDB_DATA_TYPE_MAP, "first entry in entry data list is a map"); cmp_ok(entry_data_list->entry_data.data_size, "==", 12, "first map in entry data list has 12 k/v pairs"); while (1) { MMDB_entry_data_list_s *key = entry_data_list = entry_data_list->next; if (!key) { break; } cmp_ok(key->entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "found a map key"); char *key_name = dup_entry_string_or_bail(key->entry_data); if (strcmp(key_name, "array") == 0) { entry_data_list = test_array_value(entry_data_list); } else if (strcmp(key_name, "boolean") == 0) { entry_data_list = test_boolean_value(entry_data_list); } else if (strcmp(key_name, "bytes") == 0) { entry_data_list = test_bytes_value(entry_data_list); } else if (strcmp(key_name, "double") == 0) { entry_data_list = test_double_value(entry_data_list); } else if (strcmp(key_name, "float") == 0) { entry_data_list = test_float_value(entry_data_list); } else if (strcmp(key_name, "int32") == 0) { entry_data_list = test_int32_value(entry_data_list); } else if (strcmp(key_name, "map") == 0) { entry_data_list = test_map_value(entry_data_list); } else if (strcmp(key_name, "uint128") == 0) { entry_data_list = test_uint128_value(entry_data_list); } else if (strcmp(key_name, "uint16") == 0) { entry_data_list = test_uint16_value(entry_data_list); } else if (strcmp(key_name, "uint32") == 0) { entry_data_list = test_uint32_value(entry_data_list); } else if (strcmp(key_name, "uint64") == 0) { entry_data_list = test_uint64_value(entry_data_list); } else if (strcmp(key_name, "utf8_string") == 0) { entry_data_list = test_utf8_string_value(entry_data_list); } else { ok(0, "unknown key found in map - %s", key_name); } free(key_name); } MMDB_free_entry_data_list(first); MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/data_types_t.c000066400000000000000000000416471454732056000245610ustar00rootroot00000000000000#include "maxminddb_test_helper.h" void test_all_data_types(MMDB_lookup_result_s *result, const char *ip, const char *UNUSED(filename), const char *mode_desc) { { char description[500]; snprintf( description, 500, "utf8_string field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_UTF8_STRING, description, "utf8_string", NULL); char *string = mmdb_strndup(data.utf8_string, data.data_size); // This is hex for "unicode! ☯ - ♫" as bytes char expect[19] = {0x75, 0x6e, 0x69, 0x63, 0x6f, 0x64, 0x65, 0x21, 0x20, (char)0xe2, (char)0x98, (char)0xaf, 0x20, 0x2d, 0x20, (char)0xe2, (char)0x99, (char)0xab, 0x00}; is(string, expect, "got expected utf8_string value"); free(string); } { char description[500]; snprintf(description, 500, "double field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_DOUBLE, description, "double", NULL); compare_double(data.double_value, 42.123456); } { char description[500]; snprintf(description, 500, "float field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_FLOAT, description, "float", NULL); compare_float(data.float_value, 1.1F); } { char description[500]; snprintf(description, 500, "bytes field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_BYTES, description, "bytes", NULL); uint8_t expect[] = {0x00, 0x00, 0x00, 0x2a}; ok(memcmp(data.bytes, expect, 4) == 0, "bytes field has expected value"); } { char description[500]; snprintf(description, 500, "uint16 field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_UINT16, description, "uint16", NULL); uint16_t expect = 100; ok(data.uint16 == expect, "uint16 field is 100"); } { char description[500]; snprintf(description, 500, "uint32 field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_UINT32, description, "uint32", NULL); uint32_t expect = 1 << 28; cmp_ok(data.uint32, "==", expect, "uint32 field is 2**28"); } { char description[500]; snprintf(description, 500, "int32 field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_INT32, description, "int32", NULL); int32_t expect = 1 << 28; expect *= -1; cmp_ok(data.int32, "==", expect, "int32 field is -(2**28)"); } { char description[500]; snprintf(description, 500, "uint64 field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_UINT64, description, "uint64", NULL); uint64_t expect = 1; expect <<= 60; cmp_ok(data.uint64, "==", expect, "uint64 field is 2**60"); } { char description[500]; snprintf(description, 500, "uint128 field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok( result, MMDB_DATA_TYPE_UINT128, description, "uint128", NULL); #if MMDB_UINT128_IS_BYTE_ARRAY uint8_t expect[16] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; ok(memcmp(data.uint128, expect, 16) == 0, "uint128 field is 2**120"); #else mmdb_uint128_t expect = 1; expect <<= 120; cmp_ok(data.uint128, "==", expect, "uint128 field is 2**120"); #endif } { char description[500]; snprintf(description, 500, "boolean field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok( result, MMDB_DATA_TYPE_BOOLEAN, description, "boolean", NULL); cmp_ok(data.boolean, "==", true, "boolean field is true"); } { char description[500]; snprintf(description, 500, "array field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_ARRAY, description, "array", NULL); ok(data.data_size == 3, "array field has 3 elements"); snprintf(description, 500, "array[0] for %s - %s", ip, mode_desc); data = data_ok( result, MMDB_DATA_TYPE_UINT32, description, "array", "0", NULL); ok(data.uint32 == 1, "array[0] is 1"); snprintf(description, 500, "array[1] for %s - %s", ip, mode_desc); data = data_ok( result, MMDB_DATA_TYPE_UINT32, description, "array", "1", NULL); ok(data.uint32 == 2, "array[1] is 1"); snprintf(description, 500, "array[2] for %s - %s", ip, mode_desc); data = data_ok( result, MMDB_DATA_TYPE_UINT32, description, "array", "2", NULL); ok(data.uint32 == 3, "array[2] is 1"); } { char description[500]; snprintf(description, 500, "map field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_MAP, description, "map", NULL); ok(data.data_size == 1, "map field has 1 element"); snprintf(description, 500, "map{mapX} for %s - %s", ip, mode_desc); data = data_ok( result, MMDB_DATA_TYPE_MAP, description, "map", "mapX", NULL); ok(data.data_size == 2, "map{mapX} field has 2 elements"); snprintf(description, 500, "map{mapX}{utf8_stringX} for %s - %s", ip, mode_desc); data = data_ok(result, MMDB_DATA_TYPE_UTF8_STRING, description, "map", "mapX", "utf8_stringX", NULL); char *string = mmdb_strndup(data.utf8_string, data.data_size); is(string, "hello", "map{mapX}{utf8_stringX} is 'hello'"); free(string); snprintf( description, 500, "map{mapX}{arrayX} for %s - %s", ip, mode_desc); data = data_ok(result, MMDB_DATA_TYPE_ARRAY, description, "map", "mapX", "arrayX", NULL); ok(data.data_size == 3, "map{mapX}{arrayX} field has 3 elements"); snprintf(description, 500, "map{mapX}{arrayX}[0] for %s - %s", ip, mode_desc); data = data_ok(result, MMDB_DATA_TYPE_UINT32, description, "map", "mapX", "arrayX", "0", NULL); ok(data.uint32 == 7, "map{mapX}{arrayX}[0] is 7"); snprintf(description, 500, "map{mapX}{arrayX}[1] for %s - %s", ip, mode_desc); data = data_ok(result, MMDB_DATA_TYPE_UINT32, description, "map", "mapX", "arrayX", "1", NULL); ok(data.uint32 == 8, "map{mapX}{arrayX}[1] is 8"); snprintf(description, 500, "map{mapX}{arrayX}[2] for %s - %s", ip, mode_desc); data = data_ok(result, MMDB_DATA_TYPE_UINT32, description, "map", "mapX", "arrayX", "2", NULL); ok(data.uint32 == 9, "map{mapX}{arrayX}[2] is 9"); } } void test_all_data_types_as_zero(MMDB_lookup_result_s *result, const char *ip, const char *UNUSED(filename), const char *mode_desc) { { char description[500]; snprintf( description, 500, "utf8_string field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_UTF8_STRING, description, "utf8_string", NULL); is(data.utf8_string, "", "got expected utf8_string value (NULL)"); } { char description[500]; snprintf(description, 500, "double field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_DOUBLE, description, "double", NULL); compare_double(data.double_value, 0.0); } { char description[500]; snprintf(description, 500, "float field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_FLOAT, description, "float", NULL); compare_float(data.float_value, 0.0F); } { char description[500]; snprintf(description, 500, "bytes field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_BYTES, description, "bytes", NULL); ok(data.data_size == 0, "bytes field data_size is 0"); /* In C does it makes sense to write something like this? uint8_t expect[0] = {}; ok(memcmp(data.bytes, expect, 0) == 0, "got expected bytes value (NULL)"); */ } { char description[500]; snprintf(description, 500, "uint16 field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_UINT16, description, "uint16", NULL); uint16_t expect = 0; ok(data.uint16 == expect, "uint16 field is 0"); } { char description[500]; snprintf(description, 500, "uint32 field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_UINT32, description, "uint32", NULL); uint32_t expect = 0; cmp_ok(data.uint32, "==", expect, "uint32 field is 0"); } { char description[500]; snprintf(description, 500, "int32 field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_INT32, description, "int32", NULL); int32_t expect = 0; expect *= -1; cmp_ok(data.int32, "==", expect, "int32 field is 0"); } { char description[500]; snprintf(description, 500, "uint64 field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_UINT64, description, "uint64", NULL); uint64_t expect = 0; cmp_ok(data.uint64, "==", expect, "uint64 field is 0"); } { char description[500]; snprintf(description, 500, "uint128 field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok( result, MMDB_DATA_TYPE_UINT128, description, "uint128", NULL); #if MMDB_UINT128_IS_BYTE_ARRAY uint8_t expect[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; ok(memcmp(data.uint128, expect, 16) == 0, "uint128 field is 0"); #else mmdb_uint128_t expect = 0; cmp_ok(data.uint128, "==", expect, "uint128 field is 0"); #endif } { char description[500]; snprintf(description, 500, "boolean field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok( result, MMDB_DATA_TYPE_BOOLEAN, description, "boolean", NULL); cmp_ok(data.boolean, "==", false, "boolean field is false"); } { char description[500]; snprintf(description, 500, "array field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_ARRAY, description, "array", NULL); ok(data.data_size == 0, "array field has 0 elements"); } { char description[500]; snprintf(description, 500, "map field for %s - %s", ip, mode_desc); MMDB_entry_data_s data = data_ok(result, MMDB_DATA_TYPE_MAP, description, "map", NULL); ok(data.data_size == 0, "map field has 0 elements"); } } void run_tests(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-test-decoder.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); // All of the remaining tests require an open mmdb if (NULL == mmdb) { diag("could not open %s - skipping remaining tests", path); return; } free(path); { const char *ip = "not an ip"; int gai_error, mmdb_error; MMDB_lookup_result_s result = MMDB_lookup_string(mmdb, ip, &gai_error, &mmdb_error); cmp_ok(gai_error, "==", EAI_NONAME, "MMDB_lookup populates getaddrinfo error properly - %s", ip); ok(!result.found_entry, "no result entry struct returned for invalid IP address '%s'", ip); } { const char *ip = "e900::"; MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); ok(!result.found_entry, "no result entry struct returned for IP address not in the database " "- %s - %s - %s", ip, filename, mode_desc); } { const char *ip = "::1.1.1.1"; MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); ok(result.found_entry, "got a result entry struct for IP address in the database - %s - %s " "- %s", ip, filename, mode_desc); cmp_ok(result.entry.offset, ">", 0, "result.entry.offset > 0 for address in the database - %s - %s " "- %s", ip, filename, mode_desc); test_all_data_types(&result, ip, filename, mode_desc); } { const char *ip = "::4.5.6.7"; MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); ok(result.found_entry, "got a result entry struct for IP address in the database - %s - %s " "- %s", ip, filename, mode_desc); cmp_ok(result.entry.offset, ">", 0, "result.entry.offset > 0 for address in the database - %s - %s " "- %s", ip, filename, mode_desc); test_all_data_types(&result, ip, filename, mode_desc); } { const char *ip = "::0.0.0.0"; MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); ok(result.found_entry, "got a result entry struct for IP address in the database - %s - %s " "- %s", ip, filename, mode_desc); test_all_data_types_as_zero(&result, ip, filename, mode_desc); } MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/dump_t.c000066400000000000000000000063771454732056000233720ustar00rootroot00000000000000#define _XOPEN_SOURCE 700 #include "maxminddb_test_helper.h" #ifdef HAVE_OPEN_MEMSTREAM void run_tests(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-test-decoder.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); const char *ip = "1.1.1.1"; MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); MMDB_entry_data_list_s *entry_data_list; int status = MMDB_get_entry_data_list(&result.entry, &entry_data_list); ok(MMDB_SUCCESS == status, "MMDB_get_entry_data_list is successful"); char *dump_output; size_t dump_size; FILE *stream = open_memstream(&dump_output, &dump_size); status = MMDB_dump_entry_data_list(stream, entry_data_list, 0); fclose(stream); MMDB_free_entry_data_list(entry_data_list); ok(MMDB_SUCCESS == status, "MMDB_dump_entry_data_list is successful - %s", mode_desc); cmp_ok(dump_size, ">", 0, "MMDB_dump produced output - %s", mode_desc); char *expect[] = {"{", " \"array\": ", " [", " 1 ", " 2 ", " 3 ", " ]", " \"boolean\": ", " true ", " \"bytes\": ", " 0000002A ", " \"double\": ", " 42.123456 ", " \"float\": ", " 1.100000 ", " \"int32\": ", " -268435456 ", " \"map\": ", " {", " \"mapX\": ", " {", " \"arrayX\": ", " [", " 7 ", " 8 ", " 9 ", " ]", " \"utf8_stringX\": ", " \"hello\" ", " }", " }", " \"uint128\": ", " 0x01000000000000000000000000000000 ", " \"uint16\": ", " 100 ", " \"uint32\": ", " 268435456 ", " \"uint64\": ", " 1152921504606846976 ", " \"utf8_string\": ", " \"unicode! ☯ - ♫\" ", "}"}; for (int i = 0; i < 42; i++) { ok((strstr(dump_output, expect[i]) != NULL), "dump output contains expected line (%s) - %s", expect[i], mode_desc); } free(dump_output); MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } #else int main(void) { plan(SKIP_ALL, "This test requires the open_memstream() function"); } #endif python-maxminddb-2.5.2/extension/libmaxminddb/t/external_symbols_t.pl000077500000000000000000000046101454732056000261770ustar00rootroot00000000000000#!/usr/bin/env perl use strict; use warnings; use FindBin qw( $Bin ); _skip_tests_if_not_linux(); _skip_tests_if_required_modules_are_not_present(); _skip_tests_if_nm_is_not_present(); _test_libs_external_symbols(); done_testing(); sub _skip_tests_if_not_linux { return if $^O eq 'linux'; print "1..0 # skip all tests skipped - this test requires Linux.\n"; exit 0; } sub _skip_tests_if_required_modules_are_not_present { eval <<'EOF'; use Test::More 0.88; use IPC::Run3 qw( run3 ); EOF if ($@) { print "1..0 # skip all tests skipped - these tests need the Test::More 0.88, IPC::Run3 modules:\n"; print "$@"; exit 0; } } sub _skip_tests_if_nm_is_not_present { run3( [ 'nm', '-V' ], \undef, \undef, \undef, ); my $exit_status = $? >> 8; if ($exit_status) { print "1..0 # skipp all tests skipped - this test requires the command line utility `nm`.\n"; exit 0; } } sub _test_libs_external_symbols { my @libs = _libs_to_test(); if (@libs) { for my $lib (@libs) { _test_lib_external_symbols($lib); } } else { fail('No libs were found to test'); } } sub _libs_to_test { my $lib_dir = "$Bin/../src/.libs"; opendir my $dh, $lib_dir or die "Failed to open the lib dir at $lib_dir for reading: $!\n"; my @libs = map { $lib_dir . q{/} . $_ } grep { $_ =~ m/\.so$/ } readdir $dh; closedir $dh; return @libs; } sub _test_lib_external_symbols { my $lib = shift; my $stdout; my $stderr; run3( [ 'nm', '-g', '--defined-only', $lib ], \undef, \$stdout, \$stderr, ); my $exit_status = $? >> 8; ok( !$exit_status, 'nm returned a non-error status' ) or diag($stderr); my @external_symbols = _extract_external_symbols($stdout); is_deeply( [ grep { $_ !~ m/^MMDB_/ } @external_symbols ], [], "$lib exports only MMDB_ symbols" ); } sub _extract_external_symbols { my $nm_output = shift; my @lines = split /\r\n|\r|\n/, $nm_output; my @external_symbols; for my $line (@lines) { my @fields = split /\s+/, $line; die "Unexpected nm output for line $line\n" if @fields != 3; push @external_symbols, $fields[2]; } return @external_symbols; } python-maxminddb-2.5.2/extension/libmaxminddb/t/get_value_pointer_bug_t.c000066400000000000000000000051371454732056000267660ustar00rootroot00000000000000#include "maxminddb_test_helper.h" /* This test exercises a bug found in MMDB_get_value for certain types of * nested data structures which contain pointers. See * https://github.com/maxmind/libmaxminddb/issues/2 and * https://github.com/maxmind/libmaxminddb/issues/3. * * There is also the potential for a similar bug when looking up a value by * path in an array. This is not tested (yet) as we don't have the right test * data for it. * * These tests are somewhat fragile since they depend on a specific data * layout in the database. Ideally the test would check that this layout * exists before checking to see if the lookups are correct. */ void test_one_ip(MMDB_s *mmdb, const char *filename, const char *mode_desc, char *ip, char *country_code) { MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); MMDB_entry_data_s entry_data = data_ok(&result, MMDB_DATA_TYPE_UTF8_STRING, "country{iso_code}", "country", "iso_code", NULL); if (ok(entry_data.has_data, "found data for country{iso_code}")) { char *string = mmdb_strndup(entry_data.utf8_string, entry_data.data_size); if (!string) { ok(0, "mmdb_strndup() call failed"); exit(1); } if (!ok(strcmp(string, country_code) == 0, "iso_code is %s", country_code)) { diag(" value is %s", string); } free(string); } } void run_tests(int mode, const char *mode_desc) { const char *filename = "GeoIP2-City-Test.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); /* This exercises a bug where the entire top-level value is a pointer to * another part of the data section. */ test_one_ip(mmdb, filename, mode_desc, "2001:218::", "JP"); /* This exercises a bug where one subnet's data shares part of the data * with another subnet - in this case it is the "country" key (and others) * in the top level map. We are testing that the "country" key's value is * handled correctly. The value _should_ be a pointer to another map. */ test_one_ip(mmdb, filename, mode_desc, "81.2.69.160", "GB"); MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/get_value_t.c000066400000000000000000000340331454732056000243660ustar00rootroot00000000000000#include "maxminddb_test_helper.h" void test_array_0_result(int status, MMDB_entry_data_s entry_data, char *function) { cmp_ok(status, "==", MMDB_SUCCESS, "status for %s() is MMDB_SUCCESS - array[0]", function); ok(entry_data.has_data, "found a value for array[0]"); cmp_ok(entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "returned entry type is uint32 - array[0]"); cmp_ok(entry_data.uint32, "==", 1, "entry value is 1 - array[0]"); } void test_array_2_result(int status, MMDB_entry_data_s entry_data, char *function) { cmp_ok(status, "==", MMDB_SUCCESS, "status for %s() is MMDB_SUCCESS - array[2]", function); ok(entry_data.has_data, "found a value for array[2]"); cmp_ok(entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "returned entry type is uint32 - array[2]"); cmp_ok(entry_data.uint32, "==", 3, "entry value is 3 - array[2]"); } void test_array_minus_3_result(int status, MMDB_entry_data_s entry_data, char *function) { cmp_ok(status, "==", MMDB_SUCCESS, "status for %s() is MMDB_SUCCESS - array[-3]", function); ok(entry_data.has_data, "found a value for array[-3]"); cmp_ok(entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "returned entry type is uint32 - array[-3]"); cmp_ok(entry_data.uint32, "==", 1, "entry value is 1 - array[-3]"); } void test_array_minus_1_result(int status, MMDB_entry_data_s entry_data, char *function) { cmp_ok(status, "==", MMDB_SUCCESS, "status for %s() is MMDB_SUCCESS - array[-1]", function); ok(entry_data.has_data, "found a value for array[-1]"); cmp_ok(entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "returned entry type is uint32 - array[-1]"); cmp_ok(entry_data.uint32, "==", 3, "entry value is 3 - array[-1]"); } int call_vget_value(MMDB_entry_s *entry, MMDB_entry_data_s *entry_data, ...) { va_list keys; va_start(keys, entry_data); int status = MMDB_vget_value(entry, entry_data, keys); va_end(keys); return status; } void test_simple_structure(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-test-decoder.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); const char *ip = "1.1.1.1"; MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); { MMDB_entry_data_s entry_data; const char *lookup_path[] = {"array", "0", NULL}; int status = MMDB_aget_value(&result.entry, &entry_data, lookup_path); test_array_0_result(status, entry_data, "MMDB_aget_value"); status = MMDB_get_value(&result.entry, &entry_data, "array", "0", NULL); test_array_0_result(status, entry_data, "MMDB_get_value"); status = call_vget_value(&result.entry, &entry_data, "array", "0", NULL); test_array_0_result(status, entry_data, "MMDB_vget_value"); } { MMDB_entry_data_s entry_data; const char *lookup_path[] = {"array", "2", NULL}; int status = MMDB_aget_value(&result.entry, &entry_data, lookup_path); test_array_2_result(status, entry_data, "MMDB_aget_value"); status = MMDB_get_value(&result.entry, &entry_data, "array", "2", NULL); test_array_2_result(status, entry_data, "MMDB_get_value"); status = call_vget_value(&result.entry, &entry_data, "array", "2", NULL); test_array_2_result(status, entry_data, "MMDB_vget_value"); } { MMDB_entry_data_s entry_data; int status = MMDB_get_value(&result.entry, &entry_data, "array", "zero", NULL); cmp_ok(status, "==", MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR, "MMDB_get_value() returns error on non-integer array index"); } { MMDB_entry_data_s entry_data; const char *lookup_path[] = {"array", "-1", NULL}; int status = MMDB_aget_value(&result.entry, &entry_data, lookup_path); test_array_minus_1_result(status, entry_data, "MMDB_aget_value"); status = MMDB_get_value(&result.entry, &entry_data, "array", "-1", NULL); test_array_minus_1_result(status, entry_data, "MMDB_get_value"); status = call_vget_value(&result.entry, &entry_data, "array", "-1", NULL); test_array_minus_1_result(status, entry_data, "MMDB_vget_value"); } { MMDB_entry_data_s entry_data; const char *lookup_path[] = {"array", "-3", NULL}; int status = MMDB_aget_value(&result.entry, &entry_data, lookup_path); test_array_minus_3_result(status, entry_data, "MMDB_aget_value"); status = MMDB_get_value(&result.entry, &entry_data, "array", "-3", NULL); test_array_minus_3_result(status, entry_data, "MMDB_get_value"); status = call_vget_value(&result.entry, &entry_data, "array", "-3", NULL); test_array_minus_3_result(status, entry_data, "MMDB_vget_value"); } { MMDB_entry_data_s entry_data; int status = MMDB_get_value(&result.entry, &entry_data, "array", "-4", NULL); cmp_ok(status, "==", MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR, "MMDB_get_value() returns error on too large negative integer"); } { MMDB_entry_data_s entry_data; int status = MMDB_get_value( &result.entry, &entry_data, "array", "-18446744073709551616", NULL); cmp_ok( status, "==", MMDB_INVALID_LOOKUP_PATH_ERROR, "MMDB_get_value() returns error on integer smaller than LONG_MIN"); } { MMDB_entry_data_s entry_data; int status = MMDB_get_value( &result.entry, &entry_data, "array", "18446744073709551616", NULL); cmp_ok( status, "==", MMDB_INVALID_LOOKUP_PATH_ERROR, "MMDB_get_value() returns error on integer larger than LONG_MAX"); } MMDB_close(mmdb); free(mmdb); } void test_complex_map_a_result(int status, MMDB_entry_data_s entry_data, char *function) { cmp_ok(status, "==", MMDB_SUCCESS, "status for %s() is MMDB_SUCCESS - map1{map2}{array}[0]{map3}{a}", function); ok(entry_data.has_data, "found a value for map1{map2}{array}[0]{map3}{a}"); cmp_ok(entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "returned entry type is uint32 - map1{map2}{array}[0]{map3}{a}"); cmp_ok(entry_data.uint32, "==", 1, "entry value is 1 - map1{map2}{array}[0]{map3}{a}"); } void test_complex_map_c_result(int status, MMDB_entry_data_s entry_data, char *function) { cmp_ok(status, "==", MMDB_SUCCESS, "status for %s() is MMDB_SUCCESS - map1{map2}{array}[0]{map3}{c}", function); ok(entry_data.has_data, "found a value for map1{map2}{array}[0]{map3}{c}"); cmp_ok(entry_data.type, "==", MMDB_DATA_TYPE_UINT32, "returned entry type is uint32 - map1{map2}{array}[0]{map3}{c}"); cmp_ok(entry_data.uint32, "==", 3, "entry value is 3 - map1{map2}{array}[0]{map3}{c}"); } void test_no_result(int status, MMDB_entry_data_s entry_data, char *function, char *path_description) { cmp_ok(status, "==", MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR, "status for %s() is MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR - %s", function, path_description); ok(!entry_data.has_data, "did not find a value for %s", path_description); } void test_nested_structure(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-test-nested.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); const char *ip = "1.1.1.1"; MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); { MMDB_entry_data_s entry_data; const char *lookup_path[] = { "map1", "map2", "array", "0", "map3", "a", NULL}; int status = MMDB_aget_value(&result.entry, &entry_data, lookup_path); test_complex_map_a_result(status, entry_data, "MMDB_aget_value"); status = MMDB_get_value(&result.entry, &entry_data, "map1", "map2", "array", "0", "map3", "a", NULL); test_complex_map_a_result(status, entry_data, "MMDB_get_value"); status = call_vget_value(&result.entry, &entry_data, "map1", "map2", "array", "0", "map3", "a", NULL); test_complex_map_a_result(status, entry_data, "MMDB_vget_value"); } { MMDB_entry_data_s entry_data; const char *lookup_path[] = { "map1", "map2", "array", "0", "map3", "c", NULL}; int status = MMDB_aget_value(&result.entry, &entry_data, lookup_path); test_complex_map_c_result(status, entry_data, "MMDB_aget_value"); status = MMDB_get_value(&result.entry, &entry_data, "map1", "map2", "array", "0", "map3", "c", NULL); test_complex_map_c_result(status, entry_data, "MMDB_get_value"); status = call_vget_value(&result.entry, &entry_data, "map1", "map2", "array", "0", "map3", "c", NULL); test_complex_map_c_result(status, entry_data, "MMDB_vget_value"); } { MMDB_entry_data_s entry_data; const char *lookup_path[] = { "map1", "map42", "array", "0", "map3", "c", NULL}; int status = MMDB_aget_value(&result.entry, &entry_data, lookup_path); test_no_result(status, entry_data, "MMDB_aget_value", "map1{map42}{array}[0]{map3}{c}"); status = MMDB_get_value(&result.entry, &entry_data, "map1", "map42", "array", "0", "map3", "c", NULL); test_no_result(status, entry_data, "MMDB_get_value", "map1{map42}{array}[0]{map3}{c}"); status = call_vget_value(&result.entry, &entry_data, "map1", "map42", "array", "0", "map3", "c", NULL); test_no_result(status, entry_data, "MMDB_vget_value", "map1{map42}{array}[0]{map3}{c}"); } { MMDB_entry_data_s entry_data; const char *lookup_path[] = { "map1", "map2", "array", "9", "map3", "c", NULL}; int status = MMDB_aget_value(&result.entry, &entry_data, lookup_path); test_no_result(status, entry_data, "MMDB_aget_value", "map1{map42}{array}[9]{map3}{c}"); status = MMDB_get_value(&result.entry, &entry_data, "map1", "map2", "array", "9", "map3", "c", NULL); test_no_result(status, entry_data, "MMDB_get_value", "map1{map42}{array}[9]{map3}{c}"); status = call_vget_value(&result.entry, &entry_data, "map1", "map2", "array", "9", "map3", "c", NULL); test_no_result(status, entry_data, "MMDB_vget_value", "map1{map42}{array}[9]{map3}{c}"); } MMDB_close(mmdb); free(mmdb); } void run_tests(int mode, const char *mode_desc) { test_simple_structure(mode, mode_desc); test_nested_structure(mode, mode_desc); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/ipv4_start_cache_t.c000066400000000000000000000017421454732056000256360ustar00rootroot00000000000000#include "maxminddb_test_helper.h" void test_one_ip(MMDB_s *mmdb, const char *ip, const char *filename, const char *mode_desc) { MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); ok(result.found_entry, "got a result for an IPv4 address included in a larger-than-IPv4 subnet " "- %s - %s", ip, mode_desc); data_ok(&result, MMDB_DATA_TYPE_UTF8_STRING, "string value for IP", NULL); } void run_tests(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-no-ipv4-search-tree.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); test_one_ip(mmdb, "1.1.1.1", filename, mode_desc); test_one_ip(mmdb, "255.255.255.255", filename, mode_desc); MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/ipv6_lookup_in_ipv4_t.c000066400000000000000000000027271454732056000263250ustar00rootroot00000000000000#include "maxminddb_test_helper.h" void run_tests(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-test-ipv4-28.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); const char *ip = "::abcd"; int gai_error, mmdb_error; MMDB_lookup_string(mmdb, ip, &gai_error, &mmdb_error); cmp_ok(mmdb_error, "==", MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR, "MMDB_lookup_string sets mmdb_error to " "MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR when we try to look up an " "IPv6 address in an IPv4-only database"); struct addrinfo hints = {.ai_family = AF_INET6, .ai_flags = AI_NUMERICHOST}; struct addrinfo *addresses; gai_error = getaddrinfo( "2001:db8:85a3:0:0:8a2e:370:7334", NULL, &hints, &addresses); if (gai_error) { BAIL_OUT("getaddrinfo failed: %s", gai_strerror(gai_error)); } mmdb_error = 0; MMDB_lookup_sockaddr(mmdb, addresses->ai_addr, &mmdb_error); cmp_ok(mmdb_error, "==", MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR, "MMDB_lookup_sockaddr sets mmdb_error to " "MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR when we try to look up an " "IPv6 address in an IPv4-only database"); freeaddrinfo(addresses); MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/000077500000000000000000000000001454732056000231745ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/000077500000000000000000000000001454732056000237415ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxminddb_test_helper.c000066400000000000000000000155561454732056000264420ustar00rootroot00000000000000#include "maxminddb_test_helper.h" #if HAVE_CONFIG_H #include #endif #include #include #include #include "maxminddb.h" #ifdef _WIN32 #include #else #include #include #endif void for_all_record_sizes(const char *filename_fmt, void (*tests)(int record_size, const char *filename, const char *description)) { int sizes[] = {24, 28, 32}; for (int i = 0; i < 3; i++) { int size = sizes[i]; char filename[500]; #if defined(__clang__) // This warning seems ok to ignore here in the tests. #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wformat-nonliteral" #endif snprintf(filename, 500, filename_fmt, size); #if defined(__clang__) #pragma clang diagnostic pop #endif char description[14]; snprintf(description, 14, "%i bit record", size); tests(size, filename, description); } } void for_all_modes(void (*tests)(int mode, const char *description)) { tests(MMDB_MODE_MMAP, "mmap mode"); } char *test_database_path(const char *filename) { char *test_db_dir; #ifdef _WIN32 test_db_dir = "../t/maxmind-db/test-data"; #else char cwd[500]; char *UNUSED(tmp) = getcwd(cwd, 500); if (strcmp(basename(cwd), "t") == 0) { test_db_dir = "./maxmind-db/test-data"; } else { test_db_dir = "./t/maxmind-db/test-data"; } #endif char *path = malloc(500); assert(NULL != path); snprintf(path, 500, "%s/%s", test_db_dir, filename); return path; } char *dup_entry_string_or_bail(MMDB_entry_data_s entry_data) { char *string = mmdb_strndup(entry_data.utf8_string, entry_data.data_size); if (NULL == string) { BAIL_OUT("mmdb_strndup failed"); } return string; } MMDB_s *open_ok(const char *db_file, int mode, const char *mode_desc) { #ifdef _WIN32 int access_rv = _access(db_file, 04); #else int access_rv = access(db_file, R_OK); #endif if (access_rv != 0) { BAIL_OUT("could not read the specified file - %s\nIf you are in a git " "checkout try running 'git submodule update --init'", db_file); } MMDB_s *mmdb = (MMDB_s *)calloc(1, sizeof(MMDB_s)); if (NULL == mmdb) { BAIL_OUT("could not allocate memory for our MMDB_s struct"); } int status = MMDB_open(db_file, (uint32_t)mode, mmdb); int is_ok = ok(MMDB_SUCCESS == status, "open %s status is success - %s", db_file, mode_desc); if (!is_ok) { diag("open status code = %d (%s)", status, MMDB_strerror(status)); free(mmdb); return NULL; } is_ok = ok(mmdb->file_size > 0, "mmdb struct has been set for %s - %s", db_file, mode_desc); if (!is_ok) { free(mmdb); return NULL; } return mmdb; } MMDB_lookup_result_s lookup_string_ok(MMDB_s *mmdb, const char *ip, const char *file, const char *mode_desc) { int gai_error, mmdb_error; MMDB_lookup_result_s result = MMDB_lookup_string(mmdb, ip, &gai_error, &mmdb_error); test_lookup_errors( gai_error, mmdb_error, "MMDB_lookup_string", ip, file, mode_desc); return result; } MMDB_lookup_result_s lookup_sockaddr_ok(MMDB_s *mmdb, const char *ip, const char *file, const char *mode_desc) { int ai_flags = AI_NUMERICHOST; struct addrinfo hints = {.ai_socktype = SOCK_STREAM}; struct addrinfo *addresses = NULL; if (ip[0] == ':') { hints.ai_flags = ai_flags; #if defined AI_V4MAPPED && !defined __FreeBSD__ hints.ai_flags |= AI_V4MAPPED; #endif hints.ai_family = AF_INET6; } else { hints.ai_flags = ai_flags; hints.ai_family = AF_INET; } int gai_error = getaddrinfo(ip, NULL, &hints, &addresses); int mmdb_error = 0; MMDB_lookup_result_s result = {.found_entry = false}; if (gai_error == 0) { result = MMDB_lookup_sockaddr(mmdb, addresses->ai_addr, &mmdb_error); } if (NULL != addresses) { freeaddrinfo(addresses); } test_lookup_errors( gai_error, mmdb_error, "MMDB_lookup_sockaddr", ip, file, mode_desc); return result; } void test_lookup_errors(int gai_error, int mmdb_error, const char *function, const char *ip, const char *file, const char *mode_desc) { int is_ok = ok(0 == gai_error, "no getaddrinfo error in call to %s for %s - %s - %s", function, ip, file, mode_desc); if (!is_ok) { diag("error from call to getaddrinfo for %s - %s", ip, gai_strerror(gai_error)); } is_ok = ok(0 == mmdb_error, "no MMDB error in call to %s for %s - %s - %s", function, ip, file, mode_desc); if (!is_ok) { diag("MMDB error - %s", MMDB_strerror(mmdb_error)); } } MMDB_entry_data_s data_ok(MMDB_lookup_result_s *result, uint32_t expect_type, const char *description, ...) { va_list keys; va_start(keys, description); MMDB_entry_data_s data; int status = MMDB_vget_value(&result->entry, &data, keys); va_end(keys); if (cmp_ok(status, "==", MMDB_SUCCESS, "no error from call to MMDB_vget_value - %s", description)) { if (!cmp_ok((int)data.type, "==", (int)expect_type, "got the expected data type - %s", description)) { diag(" data type value is %i but expected %i", data.type, expect_type); } } else { diag(" error from MMDB_vget_value - %s", MMDB_strerror(status)); } return data; } void compare_double(double got, double expect) { double diff = fabs(got - expect); int is_ok = ok(diff < 0.01, "double value was approximately %2.6f", expect); if (!is_ok) { diag( " got %2.6f but expected %2.6f (diff = %2.6f)", got, expect, diff); } } void compare_float(float got, float expect) { float diff = fabsf(got - expect); int is_ok = ok(diff < 0.01, "float value was approximately %2.1f", expect); if (!is_ok) { diag( " got %2.4f but expected %2.1f (diff = %2.1f)", got, expect, diff); } } python-maxminddb-2.5.2/extension/libmaxminddb/t/maxminddb_test_helper.h000066400000000000000000000050641454732056000264400ustar00rootroot00000000000000// The spec says this should be set prior to including any headers, but since // this is test code, it should be fine to set it here. Setting it here avoids // setting it in every test program. #ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809L #endif #if HAVE_CONFIG_H #include #endif #include "libtap/tap.h" #include "maxminddb-compat-util.h" #include "maxminddb.h" #include #include #include #ifdef _WIN32 #include #include #define R_OK 4 #else #include #endif #if defined _MSC_VER && _MSC_VER < 1900 /* _snprintf has security issues, but I don't think it is worth worrying about for the unit tests. */ #define snprintf _snprintf #endif #ifndef MMDB_TEST_HELPER_C #define MMDB_TEST_HELPER_C (1) #ifdef __GNUC__ #define UNUSED(x) UNUSED_##x __attribute__((__unused__)) #else #define UNUSED #endif #define MAX_DESCRIPTION_LENGTH 500 extern void for_all_record_sizes(const char *filename_fmt, void (*tests)(int record_size, const char *filename, const char *description)); extern void for_all_modes(void (*tests)(int mode, const char *description)); extern char *test_database_path(const char *filename); extern char *dup_entry_string_or_bail(MMDB_entry_data_s entry_data); extern MMDB_s *open_ok(const char *db_file, int mode, const char *mode_desc); extern MMDB_lookup_result_s lookup_string_ok(MMDB_s *mmdb, const char *ip, const char *file, const char *mode_desc); extern MMDB_lookup_result_s lookup_sockaddr_ok(MMDB_s *mmdb, const char *ip, const char *file, const char *mode_desc); extern void test_lookup_errors(int gai_error, int mmdb_error, const char *function, const char *ip, const char *file, const char *mode_desc); extern MMDB_entry_data_s data_ok(MMDB_lookup_result_s *result, uint32_t expect_type, const char *description, ...); extern void compare_double(double got, double expect); extern void compare_float(float got, float expect); #endif python-maxminddb-2.5.2/extension/libmaxminddb/t/metadata_pointers_t.c000066400000000000000000000016171454732056000261200ustar00rootroot00000000000000#include "maxminddb_test_helper.h" void run_tests(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-test-metadata-pointers.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); char *repeated_string = "Lots of pointers in metadata"; is(mmdb->metadata.database_type, repeated_string, "decoded pointer database_type"); for (uint16_t i = 0; i < mmdb->metadata.description.count; i++) { const char *language = mmdb->metadata.description.descriptions[i]->language; const char *description = mmdb->metadata.description.descriptions[i]->description; is(description, repeated_string, "%s description", language); } MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/metadata_t.c000066400000000000000000000217311454732056000241740ustar00rootroot00000000000000#include "maxminddb_test_helper.h" void test_metadata(MMDB_s *mmdb, const char *mode_desc) { cmp_ok(mmdb->metadata.node_count, "==", 37, "node_count is 37 - %s", mode_desc); cmp_ok(mmdb->metadata.record_size, "==", 24, "record_size is 24 - %s", mode_desc); cmp_ok( mmdb->metadata.ip_version, "==", 4, "ip_version is 4 - %s", mode_desc); is(mmdb->metadata.database_type, "Test", "database_type is Test - %s", mode_desc); // 2013-07-01T00:00:00Z uint64_t expect_epoch = 1372636800; int is_ok = cmp_ok(mmdb->metadata.build_epoch, ">=", expect_epoch, "build_epoch > %lli", expect_epoch); if (!is_ok) { diag(" epoch is %lli", mmdb->metadata.build_epoch); } cmp_ok(mmdb->metadata.binary_format_major_version, "==", 2, "binary_format_major_version is 2 - %s", mode_desc); cmp_ok(mmdb->metadata.binary_format_minor_version, "==", 0, "binary_format_minor_version is 0 - %s", mode_desc); cmp_ok(mmdb->metadata.languages.count, "==", 2, "found 2 languages - %s", mode_desc); is(mmdb->metadata.languages.names[0], "en", "first language is en - %s", mode_desc); is(mmdb->metadata.languages.names[1], "zh", "second language is zh - %s", mode_desc); cmp_ok(mmdb->metadata.description.count, "==", 2, "found 2 descriptions - %s", mode_desc); for (uint16_t i = 0; i < mmdb->metadata.description.count; i++) { const char *language = mmdb->metadata.description.descriptions[i]->language; const char *description = mmdb->metadata.description.descriptions[i]->description; if (strncmp(language, "en", 2) == 0) { ok(1, "found en description"); is(description, "Test Database", "en description"); } else if (strncmp(language, "zh", 2) == 0) { ok(1, "found zh description"); is(description, "Test Database Chinese", "zh description"); } else { ok(0, "found unknown description in unexpected language - %s", language); } } cmp_ok(mmdb->full_record_byte_size, "==", 6, "full_record_byte_size is 6 - %s", mode_desc); } MMDB_entry_data_list_s * test_languages_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *languages = entry_data_list = entry_data_list->next; cmp_ok(languages->entry_data.type, "==", MMDB_DATA_TYPE_ARRAY, "'languages' key's value is an array"); cmp_ok(languages->entry_data.data_size, "==", 2, "'languages' key's value has 2 elements"); MMDB_entry_data_list_s *idx0 = entry_data_list = entry_data_list->next; cmp_ok(idx0->entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "first array entry is a UTF8_STRING"); char *lang0 = dup_entry_string_or_bail(idx0->entry_data); is(lang0, "en", "first language is en"); free(lang0); MMDB_entry_data_list_s *idx1 = entry_data_list = entry_data_list->next; cmp_ok(idx1->entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "second array entry is a UTF8_STRING"); char *lang1 = dup_entry_string_or_bail(idx1->entry_data); is(lang1, "zh", "second language is zh"); free(lang1); return entry_data_list; } MMDB_entry_data_list_s * test_description_value(MMDB_entry_data_list_s *entry_data_list) { MMDB_entry_data_list_s *description = entry_data_list = entry_data_list->next; cmp_ok(description->entry_data.type, "==", MMDB_DATA_TYPE_MAP, "'description' key's value is a map"); cmp_ok(description->entry_data.data_size, "==", 2, "'description' key's value has 2 key/value pairs"); for (int i = 0; i < 2; i++) { MMDB_entry_data_list_s *key = entry_data_list = entry_data_list->next; cmp_ok(key->entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "found a map key in 'map'"); char *key_name = dup_entry_string_or_bail(key->entry_data); MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "map value is a UTF8_STRING"); char *description = dup_entry_string_or_bail(value->entry_data); if (strcmp(key_name, "en") == 0) { is(description, "Test Database", "en description == 'Test Database'"); } else if (strcmp(key_name, "zh") == 0) { is(description, "Test Database Chinese", "zh description == 'Test Database Chinese'"); } else { ok(0, "unknown key found in description map - %s", key_name); } free(key_name); free(description); } return entry_data_list; } void test_metadata_as_data_entry_list(MMDB_s *mmdb, const char *mode_desc) { MMDB_entry_data_list_s *entry_data_list, *first; int status = MMDB_get_metadata_as_entry_data_list(mmdb, &entry_data_list); first = entry_data_list; cmp_ok(status, "==", MMDB_SUCCESS, "get metadata as data_entry_list - %s", mode_desc); cmp_ok(first->entry_data.data_size, "==", 9, "metadata map has 9 key/value pairs"); while (1) { MMDB_entry_data_list_s *key = entry_data_list = entry_data_list->next; if (!key) { break; } cmp_ok(key->entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "found a map key"); char *key_name = dup_entry_string_or_bail(key->entry_data); if (strcmp(key_name, "node_count") == 0) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.uint32, "==", 37, "node_count == 37"); } else if (strcmp(key_name, "record_size") == 0) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.uint16, "==", 24, "record_size == 24"); } else if (strcmp(key_name, "ip_version") == 0) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.uint16, "==", 4, "ip_version == 4"); } else if (strcmp(key_name, "binary_format_major_version") == 0) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.uint16, "==", 2, "binary_format_major_version == 2"); } else if (strcmp(key_name, "binary_format_minor_version") == 0) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; cmp_ok(value->entry_data.uint16, "==", 0, "binary_format_minor_version == 0"); } else if (strcmp(key_name, "build_epoch") == 0) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; ok(value->entry_data.uint64 > 1373571901, "build_epoch > 1373571901"); } else if (strcmp(key_name, "database_type") == 0) { MMDB_entry_data_list_s *value = entry_data_list = entry_data_list->next; char *type = dup_entry_string_or_bail(value->entry_data); is(type, "Test", "type == Test"); free(type); } else if (strcmp(key_name, "languages") == 0) { entry_data_list = test_languages_value(entry_data_list); } else if (strcmp(key_name, "description") == 0) { entry_data_list = test_description_value(entry_data_list); } else { ok(0, "unknown key found in metadata map - %s", key_name); } free(key_name); } MMDB_free_entry_data_list(first); } void run_tests(int mode, const char *mode_desc) { const char *file = "MaxMind-DB-test-ipv4-24.mmdb"; char *path = test_database_path(file); MMDB_s *mmdb = open_ok(path, mode, mode_desc); // All of the remaining tests require an open mmdb if (NULL == mmdb) { diag("could not open %s - skipping remaining tests", path); return; } free(path); test_metadata(mmdb, mode_desc); test_metadata_as_data_entry_list(mmdb, mode_desc); MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/mmdblookup_t.pl000077500000000000000000000071261454732056000247630ustar00rootroot00000000000000#!/usr/bin/env perl use strict; use warnings; use FindBin qw( $Bin ); eval <<'EOF'; use Test::More 0.88; use IPC::Run3 qw( run3 ); EOF if ($@) { print "1..0 # skip all tests skipped - these tests need the Test::More 0.88, IPC::Run3 and Test::Output modules:\n"; print "$@"; exit 0; } my $mmdblookup = "$Bin/../bin/mmdblookup"; my $test_data_dir = "$Bin/maxmind-db/test-data"; { ok( -x $mmdblookup, 'mmdblookup script is executable' ); } for my $arg (qw( -h -? --help )) { _test_stdout( [$arg], qr{mmdblookup --file.+This application accepts the following options:}s, 0, "help output from $arg" ); } _test_both( [], qr{mmdblookup --file.+This application accepts the following options:}s, qr{ERROR: You must provide a filename with --file}, 1, "help output with no CLI options" ); _test_stderr( [qw( --file foo )], qr{ERROR: You must provide an IP address with --ip}, 1, 'error when no --ip is given' ); _test_stdout( [qw( --version )], qr/mmdblookup version \d+\.\d+\.\d+/, 0, 'output for --version' ); _test_stdout( ['--file', "$test_data_dir/GeoIP2-City-Test.mmdb", '--ip', '2.125.160.216'], qr/"en"\s*:\s*"Boxford"/, 0, 'output for 2.125.160.216' ); _test_stdout( ['--file', "$test_data_dir/GeoIP2-City-Test.mmdb", '--ip', '2.125.160.216', '--verbose'], qr/Database metadata.+"en"\s*:\s*"Boxford"/s, 0, 'verbose output for 2.125.160.216' ); _test_stdout( ['--file', "$test_data_dir/GeoIP2-City-Test.mmdb", '--ip', '2.125.160.216', qw( location latitude )], qr/^\s*51\.750000 \s*$/s, 0, 'output for 2.125.160.216 with lookup path' ); _test_stderr( [ qw( --file this/path/better/not/exist.mmdb --ip 1.2.3.4 ) ], qr{Can't open this/path/better/not/exist.mmdb}s, 2, 'error for file that does not exist' ); _test_stderr( ['--file', "$test_data_dir/GeoIP2-City-Test.mmdb", '--ip', 'not-an-ip-address' ], qr{Error from call to getaddrinfo for not-an-ip-address}s, 3, 'error for bad IP address' ); _test_stderr( ['--file', "$test_data_dir/GeoIP2-City-Test.mmdb", '--ip', '10.2.3.4' ], qr{\QCould not find an entry for this IP address (10.2.3.4)}s, 6, 'error for bad PI address' ); done_testing(); sub _test_stdout { my $args = shift; my $expect_stdout = shift; my $expect_status = shift; my $desc = shift; _test_both( $args, $expect_stdout, q{}, $expect_status, $desc ); } sub _test_stderr { my $args = shift; my $expect_stderr = shift; my $expect_status = shift; my $desc = shift; _test_both( $args, undef, $expect_stderr, $expect_status, $desc ); } sub _test_both { my $args = shift; my $expect_stdout = shift; my $expect_stderr = shift; my $expect_status = shift; my $desc = shift; my $stdout; my $stderr; run3( [ $mmdblookup, @{$args} ], \undef, \$stdout, \$stderr, ); my $exit_status = $? >> 8; # We don't need to retest that the help output shows up for all errors if ( defined $expect_stdout ) { like( $stdout, $expect_stdout, "stdout for mmdblookup @{$args}" ); } if ( ref $expect_stderr ) { like( $stderr, $expect_stderr, "stderr for mmdblookup @{$args}" ); } else { is( $stderr, $expect_stderr, "stderr for mmdblookup @{$args}" ); } is( $exit_status, $expect_status, "exit status was $expect_status for mmdblookup @{$args}" ); } python-maxminddb-2.5.2/extension/libmaxminddb/t/no_map_get_value_t.c000066400000000000000000000016741454732056000257240ustar00rootroot00000000000000#include "maxminddb_test_helper.h" void run_tests(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-string-value-entries.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); const char *ip = "1.1.1.1"; MMDB_lookup_result_s result = lookup_string_ok(mmdb, ip, filename, mode_desc); MMDB_entry_data_s entry_data; int status = MMDB_get_value(&result.entry, &entry_data, NULL); cmp_ok(status, "==", MMDB_SUCCESS, "status for MMDB_get_value() is MMDB_SUCCESS"); ok(entry_data.has_data, "found a value when varargs list is just NULL"); cmp_ok(entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "returned entry type is utf8_string"); MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/read_node_t.c000066400000000000000000000151241454732056000243330ustar00rootroot00000000000000#include "maxminddb_test_helper.h" void test_entry_data(MMDB_s *mmdb, MMDB_entry_s *entry, uint32_t node_number, char *node_record) { MMDB_entry_data_s entry_data; int status = MMDB_get_value(entry, &entry_data, "ip", NULL); cmp_ok(status, "==", MMDB_SUCCESS, "successful data lookup for node"); cmp_ok(entry_data.type, "==", MMDB_DATA_TYPE_UTF8_STRING, "returned entry type is UTF8_STRING for %s record of node %i", node_record, node_number); } void run_read_node_tests(MMDB_s *mmdb, const uint32_t tests[][5], int test_count, uint8_t record_size) { for (int i = 0; i < test_count; i++) { uint32_t node_number = tests[i][0]; MMDB_search_node_s node; int status = MMDB_read_node(mmdb, node_number, &node); if (MMDB_SUCCESS == status) { cmp_ok(node.left_record, "==", tests[i][1], "left record for node %i is %i - %i bit DB", node_number, tests[i][1], record_size); cmp_ok(node.left_record_type, "==", tests[i][2], "left record type for node %i is %i", node_number, tests[i][2]); if (node.left_record_type == MMDB_RECORD_TYPE_DATA) { test_entry_data( mmdb, &node.left_record_entry, node_number, "left"); } cmp_ok(node.right_record, "==", tests[i][3], "right record for node %i is %i - %i bit DB", node_number, tests[i][3], record_size); cmp_ok(node.right_record_type, "==", tests[i][4], "right record type for node %i is %i", node_number, tests[i][4]); if (node.right_record_type == MMDB_RECORD_TYPE_DATA) { test_entry_data( mmdb, &node.right_record_entry, node_number, "right"); } } else { diag("call to MMDB_read_node for node %i failed - %i bit DB", node_number, record_size); } } } void run_24_bit_record_tests(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-test-mixed-24.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); const uint32_t tests[7][5] = { {0, 1, MMDB_RECORD_TYPE_SEARCH_NODE, 242, MMDB_RECORD_TYPE_EMPTY}, { 80, 81, MMDB_RECORD_TYPE_SEARCH_NODE, 197, MMDB_RECORD_TYPE_SEARCH_NODE, }, { 96, 97, MMDB_RECORD_TYPE_SEARCH_NODE, 242, MMDB_RECORD_TYPE_EMPTY, }, { 103, 242, MMDB_RECORD_TYPE_EMPTY, 104, MMDB_RECORD_TYPE_SEARCH_NODE, }, { 127, 242, MMDB_RECORD_TYPE_EMPTY, 315, MMDB_RECORD_TYPE_DATA, }, { 132, 329, MMDB_RECORD_TYPE_DATA, 242, MMDB_RECORD_TYPE_EMPTY, }, { 241, 96, MMDB_RECORD_TYPE_SEARCH_NODE, 242, MMDB_RECORD_TYPE_EMPTY, }}; run_read_node_tests(mmdb, tests, 7, 24); MMDB_close(mmdb); free(mmdb); } void run_28_bit_record_tests(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-test-mixed-28.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); const uint32_t tests[7][5] = { {0, 1, MMDB_RECORD_TYPE_SEARCH_NODE, 242, MMDB_RECORD_TYPE_EMPTY}, { 80, 81, MMDB_RECORD_TYPE_SEARCH_NODE, 197, MMDB_RECORD_TYPE_SEARCH_NODE, }, { 96, 97, MMDB_RECORD_TYPE_SEARCH_NODE, 242, MMDB_RECORD_TYPE_EMPTY, }, { 103, 242, MMDB_RECORD_TYPE_EMPTY, 104, MMDB_RECORD_TYPE_SEARCH_NODE, }, { 127, 242, MMDB_RECORD_TYPE_EMPTY, 315, MMDB_RECORD_TYPE_DATA, }, { 132, 329, MMDB_RECORD_TYPE_DATA, 242, MMDB_RECORD_TYPE_EMPTY, }, { 241, 96, MMDB_RECORD_TYPE_SEARCH_NODE, 242, MMDB_RECORD_TYPE_EMPTY, }}; run_read_node_tests(mmdb, tests, 7, 28); MMDB_close(mmdb); free(mmdb); } void run_32_bit_record_tests(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-test-mixed-32.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); const uint32_t tests[7][5] = { {0, 1, MMDB_RECORD_TYPE_SEARCH_NODE, 242, MMDB_RECORD_TYPE_EMPTY}, { 80, 81, MMDB_RECORD_TYPE_SEARCH_NODE, 197, MMDB_RECORD_TYPE_SEARCH_NODE, }, { 96, 97, MMDB_RECORD_TYPE_SEARCH_NODE, 242, MMDB_RECORD_TYPE_EMPTY, }, { 103, 242, MMDB_RECORD_TYPE_EMPTY, 104, MMDB_RECORD_TYPE_SEARCH_NODE, }, { 127, 242, MMDB_RECORD_TYPE_EMPTY, 315, MMDB_RECORD_TYPE_DATA, }, { 132, 329, MMDB_RECORD_TYPE_DATA, 242, MMDB_RECORD_TYPE_EMPTY, }, { 241, 96, MMDB_RECORD_TYPE_SEARCH_NODE, 242, MMDB_RECORD_TYPE_EMPTY, }}; run_read_node_tests(mmdb, tests, 7, 32); MMDB_close(mmdb); free(mmdb); } void run_tests(int mode, const char *mode_desc) { run_24_bit_record_tests(mode, mode_desc); run_28_bit_record_tests(mode, mode_desc); run_32_bit_record_tests(mode, mode_desc); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/threads_t.c000066400000000000000000000125141454732056000240450ustar00rootroot00000000000000#include "maxminddb_test_helper.h" #include typedef struct thread_arg { int thread_id; MMDB_s *mmdb; const char *ip_to_lookup; } thread_arg_s; typedef struct test_result { const char *ip_looked_up; int lookup_string_gai_error; int lookup_string_mmdb_error; int found_entry; int get_value_status; int data_type_ok; char *data_value; } test_result_s; void test_one_ip(MMDB_s *mmdb, const char *ip, test_result_s *test_result) { test_result->ip_looked_up = ip; int gai_error = 0; int mmdb_error = 0; MMDB_lookup_result_s result = MMDB_lookup_string(mmdb, ip, &gai_error, &mmdb_error); test_result->lookup_string_gai_error = gai_error; if (gai_error) { return; } test_result->lookup_string_mmdb_error = mmdb_error; if (mmdb_error) { return; } test_result->found_entry = result.found_entry; if (!result.found_entry) { return; } MMDB_entry_data_s data; int status = MMDB_get_value(&result.entry, &data, "ip", NULL); test_result->get_value_status = status; if (status) { return; } test_result->data_type_ok = data.type == MMDB_DATA_TYPE_UTF8_STRING; if (!test_result->data_type_ok) { return; } test_result->data_value = mmdb_strndup(data.utf8_string, data.data_size); return; } void *run_one_thread(void *arg) { thread_arg_s *thread_arg = (thread_arg_s *)arg; MMDB_s *mmdb = thread_arg->mmdb; const char *ip = thread_arg->ip_to_lookup; test_result_s *result = malloc(sizeof(test_result_s)); if (!result) { BAIL_OUT("could not allocate memory"); } test_one_ip(mmdb, ip, result); pthread_exit((void *)result); } void process_result(test_result_s *result, const char *expect, const char *mode_desc) { int is_ok; is_ok = ok(!result->lookup_string_gai_error, "no getaddrinfo error for %s - %s", result->ip_looked_up, mode_desc); if (!is_ok) { return; } is_ok = ok(!result->lookup_string_mmdb_error, "no mmdb error for %s - %s", result->ip_looked_up, mode_desc); if (!is_ok) { return; } is_ok = ok(result->found_entry, "got a result for %s in the database - %s", result->ip_looked_up, mode_desc); if (!is_ok) { return; } is_ok = ok(!result->get_value_status, "no error from MMDB_get_value for %s - %s", result->ip_looked_up, mode_desc); if (!is_ok) { return; } is_ok = ok(result->data_type_ok, "MMDB_get_value found a utf8_string at 'ip' key for %s - %s", result->ip_looked_up, mode_desc); if (!is_ok) { return; } is(result->data_value, expect, "found expected result for 'ip' key for %s - %s", result->ip_looked_up, mode_desc); } void run_ipX_tests(MMDB_s *mmdb, const char *pairs[][2], int pairs_rows, const char *mode_desc) { pthread_t *threads = malloc((unsigned long)pairs_rows * sizeof(pthread_t)); struct thread_arg *thread_args = malloc((unsigned long)pairs_rows * sizeof(struct thread_arg)); for (int i = 0; i < pairs_rows; i += 1) { thread_args[i].thread_id = i; thread_args[i].mmdb = mmdb; thread_args[i].ip_to_lookup = pairs[i][0]; int error = pthread_create(&threads[i], NULL, run_one_thread, &thread_args[i]); if (error) { BAIL_OUT("pthread_create failed"); } } for (int i = 0; i < pairs_rows; i += 1) { void *thread_return; int error = pthread_join(threads[i], &thread_return); if (error) { BAIL_OUT("pthread_join failed"); } test_result_s *test_result = (test_result_s *)thread_return; if (NULL != test_result) { process_result(test_result, pairs[i][1], mode_desc); if (test_result->data_type_ok) { free(test_result->data_value); } free(test_result); } } free(threads); free(thread_args); } void run_tests(int mode, const char *mode_desc) { const char *filename = "MaxMind-DB-test-mixed-32.mmdb"; char *path = test_database_path(filename); MMDB_s *mmdb = open_ok(path, mode, mode_desc); free(path); const char *pairs[18][2] = { {"1.1.1.1", "::1.1.1.1"}, {"1.1.1.2", "::1.1.1.2"}, {"1.1.1.3", "::1.1.1.2"}, {"1.1.1.7", "::1.1.1.4"}, {"1.1.1.9", "::1.1.1.8"}, {"1.1.1.15", "::1.1.1.8"}, {"1.1.1.17", "::1.1.1.16"}, {"1.1.1.31", "::1.1.1.16"}, {"1.1.1.32", "::1.1.1.32"}, {"::1:ffff:ffff", "::1:ffff:ffff"}, {"::2:0:0", "::2:0:0"}, {"::2:0:1a", "::2:0:0"}, {"::2:0:40", "::2:0:40"}, {"::2:0:4f", "::2:0:40"}, {"::2:0:50", "::2:0:50"}, {"::2:0:52", "::2:0:50"}, {"::2:0:58", "::2:0:58"}, {"::2:0:59", "::2:0:58"}, }; run_ipX_tests(mmdb, pairs, 18, mode_desc); MMDB_close(mmdb); free(mmdb); } int main(void) { plan(NO_PLAN); for_all_modes(&run_tests); done_testing(); pthread_exit(NULL); } python-maxminddb-2.5.2/extension/libmaxminddb/t/version_t.c000066400000000000000000000004001454732056000240670ustar00rootroot00000000000000#include "maxminddb_test_helper.h" int main(void) { const char *version = MMDB_lib_version(); if (ok((version != NULL), "MMDB_lib_version exists")) { is(version, PACKAGE_VERSION, "version is " PACKAGE_VERSION); } done_testing(); } pax_global_header00006660000000000000000000000064145257617360014532gustar00rootroot0000000000000052 comment=b53e4ef5257f80e881762b6143834d8aae29da1a python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/000077500000000000000000000000001452576173600232065ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/.gitignore000066400000000000000000000001231452576173600251720ustar00rootroot00000000000000/t/* !/t/*.* /t/*.exe /t/*.got *.a *.lo *.o *.so *.pc usr/ *.sw? /.deps /.dirstamp python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/.travis.yml000066400000000000000000000003011452576173600253110ustar00rootroot00000000000000language: c compiler: - gcc - clang before_install: sudo apt-get install -y libtest-differences-perl install: make CC=$CC install script: make CC=$CC test after_script: make uninstall python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/COPYING000066400000000000000000000167431452576173600242540ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/INSTALL000066400000000000000000000017741452576173600242500ustar00rootroot00000000000000To install libtap on a Unix-like system: $ make $ make check $ make install To compile with gcc -ansi, run: $ ANSI=1 make To install to a different directory than /usr/local, supply the PREFIX variable to make: $ PREFIX=/usr make install On Windows, the library can be created by first setting up the correct development environment variables. Usually this is done by running vcvars32.bat included in the Visual Studio distribution. You should also install gnu make which can be found at http://gnuwin32.sourceforge.net/packages/make.htm. Once this is done, you should be able to run the following: > make -f Makefile.win If you want to use it directly in another project, you can copy tap.c and tap.h there and it shouldn't have a problem compiling. $ ls tap.c tap.h test.c $ cat test.c #include "tap.h" int main () { plan(1); ok(50 + 5, "foo %s", "bar"); done_testing(); } $ gcc test.c tap.c $ a.out 1..1 ok 1 - foo bar python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/Makefile000066400000000000000000000033751452576173600246560ustar00rootroot00000000000000CC ?= gcc CFLAGS += -Wall -I. -fPIC PREFIX ?= $(DESTDIR)/usr/local TESTS = $(patsubst %.c, %, $(wildcard t/*.c)) ifdef ANSI # -D_BSD_SOURCE for MAP_ANONYMOUS CFLAGS += -ansi -D_BSD_SOURCE LDLIBS += -lbsd-compat endif %: $(CC) $(LDFLAGS) $(TARGET_ARCH) $(filter %.o %.a %.so, $^) $(LDLIBS) -o $@ %.o: $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $(filter %.c, $^) $(LDLIBS) -o $@ %.a: $(AR) rcs $@ $(filter %.o, $^) %.so: $(CC) -shared $(LDFLAGS) $(TARGET_ARCH) $(filter %.o, $^) $(LDLIBS) -o $@ all: libtap.a libtap.so tap.pc tests tap.pc: @echo generating tap.pc @echo 'prefix='$(PREFIX) > tap.pc @echo 'exec_prefix=$${prefix}' >> tap.pc @echo 'libdir=$${prefix}/lib' >> tap.pc @echo 'includedir=$${prefix}/include' >> tap.pc @echo '' >> tap.pc @echo 'Name: libtap' >> tap.pc @echo 'Description: Write tests in C' >> tap.pc @echo 'Version: 0.1.0' >> tap.pc @echo 'URL: https://github.com/zorgnax/libtap' >> tap.pc @echo 'Libs: -L$${libdir} -ltap' >> tap.pc @echo 'Cflags: -I$${includedir}' >> tap.pc libtap.a: tap.o libtap.so: tap.o tap.o: tap.c tap.h tests: $(TESTS) $(TESTS): %: %.o libtap.a $(patsubst %, %.o, $(TESTS)): %.o: %.c tap.h $(CC) $(CFLAGS) -O0 $(CPPFLAGS) $(TARGET_ARCH) -c $(filter %.c, $^) $(LDLIBS) -o $@ clean: rm -rf *.o t/*.o tap.pc libtap.a libtap.so $(TESTS) install: libtap.a tap.h libtap.so tap.pc mkdir -p $(PREFIX)/lib $(PREFIX)/include $(PREFIX)/lib/pkgconfig install -c libtap.a $(PREFIX)/lib install -c libtap.so $(PREFIX)/lib install -c tap.pc $(PREFIX)/lib/pkgconfig install -c tap.h $(PREFIX)/include uninstall: rm $(PREFIX)/lib/libtap.a $(PREFIX)/lib/libtap.so $(PREFIX)/include/tap.h dist: rm libtap.zip zip -r libtap * check test: all ./t/test .PHONY: all clean install uninstall dist check test tests python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/Makefile.win000066400000000000000000000012431452576173600254420ustar00rootroot00000000000000CFLAGS = /Zi /Wall /wd4255 /wd4996 /wd4127 /wd4820 /wd4100 /wd4619 \ /wd4514 /wd4668 /I. CC = cl /nologo TESTS = $(patsubst %.c, %.exe, $(wildcard t/*.c)) %.exe: $(CC) $(LDFLAGS) $(filter %.obj %.lib %.dll, $^) $(LDLIBS) /Fe $@ %.o: $(CC) $(CFLAGS) $(CPPFLAGS) /c $(filter %.c, $^) $(LDLIBS) /Fo $@ %.lib: lib /nologo /out:$@ $(filter %.obj, $^) %.dll: lib /nologo /out:$@ $(filter %.obj, $^) all: tap.lib tests tap.lib: tap.obj tap.obj: tap.c tap.h tests: $(TESTS) $(TESTS): %.exe: %.obj tap.lib $(patsubst %.exe, %.obj, $(TESTS)): %.obj: %.c tap.h clean: rm -rf *.obj t/*.obj tap.lib $(TESTS) check test: all prove .PHONY: all clean check test tests python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/README.md000066400000000000000000000153471452576173600244770ustar00rootroot00000000000000NAME ==== libtap - Write tests in C SYNOPSIS ======== #include int main () { plan(5); int bronze = 1, silver = 2, gold = 3; ok(bronze < silver, "bronze is less than silver"); ok(bronze > silver, "not quite"); is("gold", "gold", "gold is gold"); cmp_ok(silver, "<", gold, "%d <= %d", silver, gold); like("platinum", ".*inum", "platinum matches .*inum"); done_testing(); } results in: 1..5 ok 1 - bronze is less than silver not ok 2 - not quite # Failed test 'not quite' # at t/synopsis.c line 7. ok 3 - gold is gold ok 4 - 2 <= 3 ok 5 - platinum matches .*inum # Looks like you failed 1 test of 5 run. DESCRIPTION =========== tap is an easy to read and easy to write way of creating tests for your software. This library creates functions that can be used to generate it for your C programs. It is implemented using macros that include file and line info automatically, and makes it so that the format message of each test is optional. It is mostly based on the Test::More Perl module. INSTALL ======= On **Unix** systems: $ make $ make install For more detailed installation instructions (eg, for **Windows**), see `INSTALL`. FUNCTIONS ========= - plan(tests) - plan(NO_PLAN) - plan(SKIP_ALL); - plan(SKIP_ALL, fmt, ...) Use this to start a series of tests. When you know how many tests there will be, you can put a number as a number of tests you expect to run. If you do not know how many tests there will be, you can use plan(NO_PLAN) or not call this function. When you pass it a number of tests to run, a message similar to the following will appear in the output: 1..5 If you pass it SKIP_ALL, the whole test will be skipped. - ok(test) - ok(test, fmt, ...) Specify a test. the test can be any statement returning a true or false value. You may optionally pass a format string describing the test. ok(r = reader_new("Of Mice and Men"), "create a new reader"); ok(reader_go_to_page(r, 55), "can turn the page"); ok(r->page == 55, "page turned to the right one"); Should print out: ok 1 - create a new reader ok 2 - can turn the page ok 3 - page turned to the right one On failure, a diagnostic message will be printed out. not ok 3 - page turned to the right one # Failed test 'page turned to the right one' # at reader.c line 13. - is(got, expected) - is(got, expected, fmt, ...) - isnt(got, unexpected) - isnt(got, unexpected, fmt, ...) Tests that the string you got is what you expected. with isnt, it is the reverse. is("this", "that", "this is that"); prints: not ok 1 - this is that # Failed test 'this is that' # at is.c line 6. # got: 'this' # expected: 'that' - cmp_ok(a, op, b) - cmp_ok(a, op, b, fmt, ...) Compares two ints with any binary operator that doesn't require an lvalue. This is nice to use since it provides a better error message than an equivalent ok. cmp_ok(420, ">", 666); prints: not ok 1 # Failed test at cmpok.c line 5. # 420 # > # 666 - cmp_mem(got, expected, n) - cmp_mem(got, expected, n, fmt, ...) Tests that the first n bytes of the memory you got is what you expected. NULL pointers for got and expected are handled (if either is NULL, the test fails), but you need to ensure n is not too large. char *a = "foo"; char *b = "bar"; cmp_mem(a, b, 3) prints not ok 1 # Failed test at t/cmp_mem.c line 9. # Difference starts at offset 0 # got: 0x66 # expected: 0x62 - like(got, expected) - like(got, expected, fmt, ...) - unlike(got, unexpected) - unlike(got, unexpected, fmt, ...) Tests that the string you got matches the expected extended POSIX regex. unlike is the reverse. These macros are the equivalent of a skip on Windows. like("stranger", "^s.(r).*\\1$", "matches the regex"); prints: ok 1 - matches the regex - pass() - pass(fmt, ...) - fail() - fail(fmt, ...) Speciy that a test succeeded or failed. Use these when the statement is longer than you can fit into the argument given to an ok() test. - dies_ok(code) - dies_ok(code, fmt, ...) - lives_ok(code) - lives_ok(code, fmt, ...) Tests whether the given code causes your program to exit. The code gets passed to a macro that will test it in a forked process. If the code succeeds it will be executed in the parent process. You can test things like passing a function a null pointer and make sure it doesnt dereference it and crash. dies_ok({abort();}, "abort does close your program"); dies_ok({int x = 0/0;}, "divide by zero crash"); lives_ok({pow(3.0, 5.0);}, "nothing wrong with taking 3**5"); On Windows, these macros are the equivalent of a skip. - done_testing() Summarizes the tests that occurred and exits the main function. If there was no plan, it will print out the number of tests as. 1..5 It will also print a diagnostic message about how many failures there were. # Looks like you failed 2 tests of 3 run. If all planned tests were successful, it will return 0. If any test fails, it will return 1. If they all passed, but there were missing tests, it will return 2. - diag(fmt, ...) print out a message to the tap output on stdout. Each line is preceeded by a "# " so that you know its a diagnostic message. diag("This is\na diag\nto describe\nsomething."); prints: # This is # a diag # to describe # something ok() and this function return an int so you can use it like: ok(0) || diag("doh!"); - skip(test, n) - skip(test, n, fmt, ...) - end_skip Skip a series of n tests if test is true. You may give a reason why you are skipping them or not. The (possibly) skipped tests must occur between the skip and end_skip macros. skip(TRUE, 2); ok(1); ok(0); end_skip; prints: ok 1 # skip ok 2 # skip - todo() - todo(fmt, ...) - end_todo Specifies a series of tests that you expect to fail because they are not yet implemented. todo() ok(0); end_todo; prints: not ok 1 # TODO # Failed (TODO) test at todo.c line 7 - BAIL_OUT() - BAIL_OUT(fmt, ...) Immediately stops all testing. BAIL_OUT("Can't go no further"); prints Bail out! Can't go no further and exits with 255. python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/000077500000000000000000000000001452576173600234515ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/cmp_mem.c000066400000000000000000000013351452576173600252340ustar00rootroot00000000000000#include "tap.h" int main () { unsigned char all_0[] = {0, 0, 0, 0}; unsigned char all_255[] = {255, 255, 255, 255}; unsigned char half[] = {0, 0, 255, 255}; unsigned char half_2[] = {0, 0, 255, 255}; plan(8); cmp_mem(half, half_2, 4, "Same array different address"); cmp_mem(all_0, all_0, 4, "Array must be equal to itself"); cmp_mem(all_0, all_255, 4, "Arrays with different contents"); cmp_mem(all_0, half, 4, "Arrays differ, but start the same"); cmp_mem(all_0, all_255, 0, "Comparing 0 bytes of different arrays"); cmp_mem(NULL, all_0, 4, "got == NULL"); cmp_mem(all_0, NULL, 4, "expected == NULL"); cmp_mem(NULL, NULL, 4, "got == expected == NULL"); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/cmp_mem.expected000066400000000000000000000015341452576173600266140ustar00rootroot000000000000001..8 ok 1 - Same array different address ok 2 - Array must be equal to itself not ok 3 - Arrays with different contents # Failed test 'Arrays with different contents' # at t/cmp_mem.c line 12. # Difference starts at offset 0 # got: 0x00 # expected: 0xff not ok 4 - Arrays differ, but start the same # Failed test 'Arrays differ, but start the same' # at t/cmp_mem.c line 13. # Difference starts at offset 2 # got: 0x00 # expected: 0xff ok 5 - Comparing 0 bytes of different arrays not ok 6 - got == NULL # Failed test 'got == NULL' # at t/cmp_mem.c line 15. # got: NULL # expected: not NULL not ok 7 - expected == NULL # Failed test 'expected == NULL' # at t/cmp_mem.c line 16. # got: not NULL # expected: NULL ok 8 - got == expected == NULL # Looks like you failed 4 tests of 8 run. python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/cmpok.c000066400000000000000000000005171452576173600247310ustar00rootroot00000000000000#include "tap.h" int main () { plan(9); cmp_ok(420, ">", 666); cmp_ok(23, "==", 55, "the number 23 is definitely 55"); cmp_ok(23, "==", 55); cmp_ok(23, "!=", 55); cmp_ok(23, "frob", 55); cmp_ok(23, "<=", 55); cmp_ok(55, "+", -55); cmp_ok(23, "%", 5); cmp_ok(55, "%", 5); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/cmpok.expected000066400000000000000000000011641452576173600263070ustar00rootroot000000000000001..9 not ok 1 # Failed test at t/cmpok.c line 5. # 420 # > # 666 not ok 2 - the number 23 is definitely 55 # Failed test 'the number 23 is definitely 55' # at t/cmpok.c line 6. # 23 # == # 55 not ok 3 # Failed test at t/cmpok.c line 7. # 23 # == # 55 ok 4 # unrecognized operator 'frob' not ok 5 # Failed test at t/cmpok.c line 9. # 23 # frob # 55 ok 6 not ok 7 # Failed test at t/cmpok.c line 11. # 55 # + # -55 ok 8 not ok 9 # Failed test at t/cmpok.c line 13. # 55 # % # 5 # Looks like you failed 6 tests of 9 run. python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/diag.c000066400000000000000000000002121452576173600245140ustar00rootroot00000000000000#include "tap.h" int main () { diag("diag no new line"); diag("diag new line\n"); diag(""); diag(NULL); return 1; } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/diag.expected000066400000000000000000000000431452576173600260750ustar00rootroot00000000000000# diag no new line # diag new line python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/diesok.c000066400000000000000000000006011452576173600250700ustar00rootroot00000000000000#include "tap.h" int main () { plan(5); ok(1, "sanity"); dies_ok({int x = 0; x = 1/x;}, "can't divide by zero"); lives_ok({int x = 3; x = x/7;}, "this is a perfectly fine statement"); dies_ok({abort();}, "abort kills the program"); dies_ok( {printf("stdout\n"); fprintf(stderr, "stderr\n"); abort();}, "supress output"); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/diesok.expected000066400000000000000000000002161452576173600264510ustar00rootroot000000000000001..5 ok 1 - sanity ok 2 - can't divide by zero ok 3 - this is a perfectly fine statement ok 4 - abort kills the program ok 5 - supress output python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/is.c000066400000000000000000000015131452576173600242300ustar00rootroot00000000000000#include "tap.h" int main () { plan(18); is("this", "that", "this is that"); /* bang */ is("this", "this", "this is this"); is("this", "that"); /* bang */ is("this", "this"); is(NULL, NULL, "null is null"); is(NULL, "this", "null is this"); /* bang */ is("this", NULL, "this is null"); /* bang */ is("foo\nfoo\nfoo", "bar\nbar\nbar"); /* bang */ is("foo\nfoo\nfoo", "foo\nfoo\nfoo"); isnt("this", "that", "this isnt that"); isnt("this", "this", "this isnt this"); /* bang */ isnt("this", "that"); isnt("this", "this"); /* bang */ isnt(NULL, NULL, "null isnt null"); /* bang */ isnt(NULL, "this", "null isnt this"); isnt("this", NULL, "this isnt null"); isnt("foo\nfoo\nfoo", "bar\nbar\nbar"); isnt("foo\nfoo\nfoo", "foo\nfoo\nfoo"); /* bang */ done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/is.expected000066400000000000000000000023251452576173600256110ustar00rootroot000000000000001..18 not ok 1 - this is that # Failed test 'this is that' # at t/is.c line 5. # got: 'this' # expected: 'that' ok 2 - this is this not ok 3 # Failed test at t/is.c line 7. # got: 'this' # expected: 'that' ok 4 ok 5 - null is null not ok 6 - null is this # Failed test 'null is this' # at t/is.c line 10. # got: '(null)' # expected: 'this' not ok 7 - this is null # Failed test 'this is null' # at t/is.c line 11. # got: 'this' # expected: '(null)' not ok 8 # Failed test at t/is.c line 12. # got: 'foo # foo # foo' # expected: 'bar # bar # bar' ok 9 ok 10 - this isnt that not ok 11 - this isnt this # Failed test 'this isnt this' # at t/is.c line 15. # got: 'this' # expected: anything else ok 12 not ok 13 # Failed test at t/is.c line 17. # got: 'this' # expected: anything else not ok 14 - null isnt null # Failed test 'null isnt null' # at t/is.c line 18. # got: '(null)' # expected: anything else ok 15 - null isnt this ok 16 - this isnt null ok 17 not ok 18 # Failed test at t/is.c line 22. # got: 'foo # foo # foo' # expected: anything else # Looks like you failed 9 tests of 18 run. python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/like.c000066400000000000000000000003471452576173600245450ustar00rootroot00000000000000#include "tap.h" int main () { plan(3); like("strange", "range", "strange ~~ /range/"); unlike("strange", "anger", "strange !~~ /anger/"); like("stranger", "^s.(r).*$", "matches the regex"); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/like.expected000066400000000000000000000001231452576173600261140ustar00rootroot000000000000001..3 ok 1 - strange ~~ /range/ ok 2 - strange !~~ /anger/ ok 3 - matches the regex python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/simple.c000066400000000000000000000007501452576173600251100ustar00rootroot00000000000000#include "tap.h" int main () { plan(24); ok(1); ok(1); ok(1); ok(0); ok(1, "foo"); ok(1, "bar"); ok(1, "baz"); ok(1, "quux"); ok(1, "thud"); ok(1, "wombat"); ok(1, "blurgle"); ok(1, "frob"); ok(0, "frobnicate"); ok(1, "eek"); ok(1, "ook"); ok(1, "frodo"); ok(1, "bilbo"); ok(1, "wubble"); ok(1, "flarp"); ok(1, "fnord"); pass(); fail(); pass("good"); fail("bad"); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/simple.expected000066400000000000000000000010071452576173600264630ustar00rootroot000000000000001..24 ok 1 ok 2 ok 3 not ok 4 # Failed test at t/simple.c line 8. ok 5 - foo ok 6 - bar ok 7 - baz ok 8 - quux ok 9 - thud ok 10 - wombat ok 11 - blurgle ok 12 - frob not ok 13 - frobnicate # Failed test 'frobnicate' # at t/simple.c line 17. ok 14 - eek ok 15 - ook ok 16 - frodo ok 17 - bilbo ok 18 - wubble ok 19 - flarp ok 20 - fnord ok 21 not ok 22 # Failed test at t/simple.c line 26. ok 23 - good not ok 24 - bad # Failed test 'bad' # at t/simple.c line 28. # Looks like you failed 4 tests of 24 run. python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/skip.c000066400000000000000000000006241452576173600245650ustar00rootroot00000000000000#include "tap.h" int main () { plan(8); skip(0, 3, "%s cannot fork", "windows"); ok(1, "quux"); ok(1, "thud"); ok(1, "wombat"); end_skip; skip(1, 1, "need to be on windows"); ok(0, "blurgle"); end_skip; skip(0, 3); ok(1, "quux"); ok(1, "thud"); ok(1, "wombat"); end_skip; skip(1, 1); ok(0, "blurgle"); end_skip; done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/skip.expected000066400000000000000000000002001452576173600261320ustar00rootroot000000000000001..8 ok 1 - quux ok 2 - thud ok 3 - wombat ok 4 # skip need to be on windows ok 5 - quux ok 6 - thud ok 7 - wombat ok 8 # skip python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/synopsis.c000066400000000000000000000005471452576173600255120ustar00rootroot00000000000000#include "tap.h" int main () { plan(5); int bronze = 1, silver = 2, gold = 3; ok(bronze < silver, "bronze is less than silver"); ok(bronze > silver, "not quite"); is("gold", "gold", "gold is gold"); cmp_ok(silver, "<", gold, "%d <= %d", silver, gold); like("platinum", ".*inum", "platinum matches .*inum"); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/synopsis.expected000066400000000000000000000003361452576173600270650ustar00rootroot000000000000001..5 ok 1 - bronze is less than silver not ok 2 - not quite # Failed test 'not quite' # at t/synopsis.c line 7. ok 3 - gold is gold ok 4 - 2 <= 3 ok 5 - platinum matches .*inum # Looks like you failed 1 test of 5 run. python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/test.c000066400000000000000000000012651452576173600246000ustar00rootroot00000000000000#include "tap.h" #include #include #include #include int main () { DIR *dp = opendir("t"); if (!dp) { perror("opendir"); exit(1); } struct dirent *ep; while ((ep = readdir(dp))) { char *name = ep->d_name; if (strchr(name, '.') || !strcmp(name, "test")) continue; char command[1024]; snprintf(command, 1024, "./t/%s >t/%s.got 2>&1", name, name); system(command); snprintf(command, 1024, "diff -up t/%s.expected t/%s.got", name, name); int retval = system(command); ok(!(retval >> 8), name); } closedir(dp); done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/todo.c000066400000000000000000000003671452576173600245700ustar00rootroot00000000000000#include "tap.h" int main () { plan(6); todo(); ok(0, "foo"); ok(1, "bar"); ok(1, "baz"); end_todo; todo("im not ready"); ok(0, "quux"); ok(1, "thud"); ok(1, "wombat"); end_todo; done_testing(); } python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/t/todo.expected000066400000000000000000000004211452576173600261360ustar00rootroot000000000000001..6 not ok 1 - foo # TODO # Failed (TODO) test 'foo' # at t/todo.c line 6. ok 2 - bar # TODO ok 3 - baz # TODO not ok 4 - quux # TODO im not ready # Failed (TODO) test 'quux' # at t/todo.c line 11. ok 5 - thud # TODO im not ready ok 6 - wombat # TODO im not ready python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/tap.c000066400000000000000000000207331452576173600241430ustar00rootroot00000000000000/* libtap - Write tests in C Copyright 2012 Jake Gelbman This file is licensed under the LGPL */ #define _DEFAULT_SOURCE 1 #include #include #include #include #include "tap.h" #ifndef _WIN32 #include #include #include #include #ifndef MAP_ANONYMOUS #ifdef MAP_ANON #define MAP_ANONYMOUS MAP_ANON #else #error "System does not support mapping anonymous pages" #endif #endif #endif static int expected_tests = NO_PLAN; static int failed_tests; static int current_test; static char *todo_mesg; static char * vstrdupf (const char *fmt, va_list args) { char *str; int size; va_list args2; va_copy(args2, args); if (!fmt) fmt = ""; size = vsnprintf(NULL, 0, fmt, args2) + 2; str = malloc(size); if (!str) { perror("malloc error"); exit(1); } vsprintf(str, fmt, args); va_end(args2); return str; } void tap_plan (int tests, const char *fmt, ...) { expected_tests = tests; if (tests == SKIP_ALL) { char *why; va_list args; va_start(args, fmt); why = vstrdupf(fmt, args); va_end(args); printf("1..0 "); diag("SKIP %s\n", why); exit(0); } if (tests != NO_PLAN) { printf("1..%d\n", tests); } } int vok_at_loc (const char *file, int line, int test, const char *fmt, va_list args) { char *name = vstrdupf(fmt, args); if (!test) { printf("not "); } printf("ok %d", ++current_test); if (*name) printf(" - %s", name); if (todo_mesg) { printf(" # TODO"); if (*todo_mesg) printf(" %s", todo_mesg); } printf("\n"); if (!test) { printf("# Failed "); if (todo_mesg) printf("(TODO) "); printf("test "); if (*name) printf("'%s'\n# ", name); printf("at %s line %d.\n", file, line); if (!todo_mesg) failed_tests++; } free(name); return test; } int ok_at_loc (const char *file, int line, int test, const char *fmt, ...) { va_list args; va_start(args, fmt); vok_at_loc(file, line, test, fmt, args); va_end(args); return test; } static int mystrcmp (const char *a, const char *b) { return a == b ? 0 : !a ? -1 : !b ? 1 : strcmp(a, b); } #define eq(a, b) (!mystrcmp(a, b)) #define ne(a, b) (mystrcmp(a, b)) int is_at_loc (const char *file, int line, const char *got, const char *expected, const char *fmt, ...) { int test = eq(got, expected); va_list args; va_start(args, fmt); vok_at_loc(file, line, test, fmt, args); va_end(args); if (!test) { diag(" got: '%s'", got); diag(" expected: '%s'", expected); } return test; } int isnt_at_loc (const char *file, int line, const char *got, const char *expected, const char *fmt, ...) { int test = ne(got, expected); va_list args; va_start(args, fmt); vok_at_loc(file, line, test, fmt, args); va_end(args); if (!test) { diag(" got: '%s'", got); diag(" expected: anything else"); } return test; } int cmp_ok_at_loc (const char *file, int line, int a, const char *op, int b, const char *fmt, ...) { int test = eq(op, "||") ? a || b : eq(op, "&&") ? a && b : eq(op, "|") ? a | b : eq(op, "^") ? a ^ b : eq(op, "&") ? a & b : eq(op, "==") ? a == b : eq(op, "!=") ? a != b : eq(op, "<") ? a < b : eq(op, ">") ? a > b : eq(op, "<=") ? a <= b : eq(op, ">=") ? a >= b : eq(op, "<<") ? a << b : eq(op, ">>") ? a >> b : eq(op, "+") ? a + b : eq(op, "-") ? a - b : eq(op, "*") ? a * b : eq(op, "/") ? a / b : eq(op, "%") ? a % b : diag("unrecognized operator '%s'", op); va_list args; va_start(args, fmt); vok_at_loc(file, line, test, fmt, args); va_end(args); if (!test) { diag(" %d", a); diag(" %s", op); diag(" %d", b); } return test; } static int find_mem_diff (const char *a, const char *b, size_t n, size_t *offset) { size_t i; if (a == b) return 0; if (!a || !b) return 2; for (i = 0; i < n; i++) { if (a[i] != b[i]) { *offset = i; return 1; } } return 0; } int cmp_mem_at_loc (const char *file, int line, const void *got, const void *expected, size_t n, const char *fmt, ...) { size_t offset; int diff = find_mem_diff(got, expected, n, &offset); va_list args; va_start(args, fmt); vok_at_loc(file, line, !diff, fmt, args); va_end(args); if (diff == 1) { diag(" Difference starts at offset %d", offset); diag(" got: 0x%02x", ((const unsigned char *)got)[offset]); diag(" expected: 0x%02x", ((const unsigned char *)expected)[offset]); } else if (diff == 2) { diag(" got: %s", got ? "not NULL" : "NULL"); diag(" expected: %s", expected ? "not NULL" : "NULL"); } return !diff; } int diag (const char *fmt, ...) { va_list args; char *mesg, *line; int i; va_start(args, fmt); if (!fmt) { va_end(args); return 0; } mesg = vstrdupf(fmt, args); line = mesg; for (i = 0; *line; i++) { char c = mesg[i]; if (!c || c == '\n') { mesg[i] = '\0'; printf("# %s\n", line); if (!c) break; mesg[i] = c; line = mesg + i + 1; } } free(mesg); va_end(args); return 0; } int exit_status () { int retval = 0; if (expected_tests == NO_PLAN) { printf("1..%d\n", current_test); } else if (current_test != expected_tests) { diag("Looks like you planned %d test%s but ran %d.", expected_tests, expected_tests > 1 ? "s" : "", current_test); retval = 2; } if (failed_tests) { diag("Looks like you failed %d test%s of %d run.", failed_tests, failed_tests > 1 ? "s" : "", current_test); retval = 1; } return retval; } int bail_out (int ignore, const char *fmt, ...) { va_list args; (void) ignore; va_start(args, fmt); printf("Bail out! "); vprintf(fmt, args); printf("\n"); va_end(args); exit(255); return 0; } void tap_skip (int n, const char *fmt, ...) { char *why; va_list args; va_start(args, fmt); why = vstrdupf(fmt, args); va_end(args); while (n --> 0) { printf("ok %d ", ++current_test); diag("skip %s\n", why); } free(why); } void tap_todo (int ignore, const char *fmt, ...) { va_list args; (void) ignore; va_start(args, fmt); todo_mesg = vstrdupf(fmt, args); va_end(args); } void tap_end_todo () { free(todo_mesg); todo_mesg = NULL; } #ifndef _WIN32 /* Create a shared memory int to keep track of whether a piece of code executed dies. to be used in the dies_ok and lives_ok macros. */ int tap_test_died (int status) { static int *test_died = NULL; int prev; if (!test_died) { test_died = mmap(0, sizeof (int), PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, -1, 0); *test_died = 0; } prev = *test_died; *test_died = status; return prev; } int like_at_loc (int for_match, const char *file, int line, const char *got, const char *expected, const char *fmt, ...) { int test; regex_t re; va_list args; int err = regcomp(&re, expected, REG_EXTENDED); if (err) { char errbuf[256]; regerror(err, &re, errbuf, sizeof errbuf); fprintf(stderr, "Unable to compile regex '%s': %s at %s line %d\n", expected, errbuf, file, line); exit(255); } err = regexec(&re, got, 0, NULL, 0); regfree(&re); test = for_match ? !err : err; va_start(args, fmt); vok_at_loc(file, line, test, fmt, args); va_end(args); if (!test) { if (for_match) { diag(" '%s'", got); diag(" doesn't match: '%s'", expected); } else { diag(" '%s'", got); diag(" matches: '%s'", expected); } } return test; } #endif python-maxminddb-2.5.2/extension/libmaxminddb/t/libtap/tap.h000066400000000000000000000113711452576173600241460ustar00rootroot00000000000000/* libtap - Write tests in C Copyright 2012 Jake Gelbman This file is licensed under the LGPL */ #ifndef __TAP_H__ #define __TAP_H__ #ifdef __cplusplus extern "C" { #endif #ifndef va_copy #ifdef __va_copy #define va_copy __va_copy #else #define va_copy(d, s) ((d) = (s)) #endif #endif #include #include #include int vok_at_loc (const char *file, int line, int test, const char *fmt, va_list args); int ok_at_loc (const char *file, int line, int test, const char *fmt, ...); int is_at_loc (const char *file, int line, const char *got, const char *expected, const char *fmt, ...); int isnt_at_loc (const char *file, int line, const char *got, const char *expected, const char *fmt, ...); int cmp_ok_at_loc (const char *file, int line, int a, const char *op, int b, const char *fmt, ...); int cmp_mem_at_loc (const char *file, int line, const void *got, const void *expected, size_t n, const char *fmt, ...); int bail_out (int ignore, const char *fmt, ...); void tap_plan (int tests, const char *fmt, ...); int diag (const char *fmt, ...); int exit_status (void); void tap_skip (int n, const char *fmt, ...); void tap_todo (int ignore, const char *fmt, ...); void tap_end_todo (void); #define NO_PLAN -1 #define SKIP_ALL -2 #define ok(...) ok_at_loc(__FILE__, __LINE__, __VA_ARGS__, NULL) #define is(...) is_at_loc(__FILE__, __LINE__, __VA_ARGS__, NULL) #define isnt(...) isnt_at_loc(__FILE__, __LINE__, __VA_ARGS__, NULL) #define cmp_ok(...) cmp_ok_at_loc(__FILE__, __LINE__, __VA_ARGS__, NULL) #define cmp_mem(...) cmp_mem_at_loc(__FILE__, __LINE__, __VA_ARGS__, NULL) #define plan(...) tap_plan(__VA_ARGS__, NULL) #define done_testing() return exit_status() #define BAIL_OUT(...) bail_out(0, "" __VA_ARGS__, NULL) #define pass(...) ok(1, "" __VA_ARGS__) #define fail(...) ok(0, "" __VA_ARGS__) #define skip(test, ...) do {if (test) {tap_skip(__VA_ARGS__, NULL); break;} #define end_skip } while (0) #define todo(...) tap_todo(0, "" __VA_ARGS__, NULL) #define end_todo tap_end_todo() #define dies_ok(...) dies_ok_common(1, __VA_ARGS__) #define lives_ok(...) dies_ok_common(0, __VA_ARGS__) #ifdef _WIN32 #define like(...) tap_skip(1, "like is not implemented on Windows") #define unlike(...) tap_skip(1, "unlike is not implemented on Windows") #define dies_ok_common(...) \ tap_skip(1, "Death detection is not supported on Windows") #else #define like(...) like_at_loc(1, __FILE__, __LINE__, __VA_ARGS__, NULL) #define unlike(...) like_at_loc(0, __FILE__, __LINE__, __VA_ARGS__, NULL) int like_at_loc (int for_match, const char *file, int line, const char *got, const char *expected, const char *fmt, ...); #include #include #include int tap_test_died (int status); #define dies_ok_common(for_death, code, ...) \ do { \ int cpid; \ int it_died; \ tap_test_died(1); \ cpid = fork(); \ switch (cpid) { \ case -1: \ perror("fork error"); \ exit(1); \ case 0: \ close(1); \ close(2); \ code \ tap_test_died(0); \ exit(0); \ } \ if (waitpid(cpid, NULL, 0) < 0) { \ perror("waitpid error"); \ exit(1); \ } \ it_died = tap_test_died(0); \ if (!it_died) \ {code} \ ok(for_death ? it_died : !it_died, "" __VA_ARGS__); \ } while (0) #endif #ifdef __cplusplus } #endif #endif pax_global_header00006660000000000000000000000064131054416150014512gustar00rootroot0000000000000052 comment=31a33b3c09ac53028216e82f3d8a6d33749a8df5 python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/000077500000000000000000000000001310544161500237335ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/.gitattributes000066400000000000000000000000211310544161500266170ustar00rootroot00000000000000*.mmdb diff=mmdb python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/.gitconfig000066400000000000000000000000501310544161500257000ustar00rootroot00000000000000[diff "mmdb"] textconv = hexdump -v -C python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/.gitignore000066400000000000000000000000221310544161500257150ustar00rootroot00000000000000/_site .tidyall.d python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/.perltidyallrc000066400000000000000000000003251310544161500266060ustar00rootroot00000000000000--blank-lines-before-packages=0 --iterations=2 --no-outdent-long-comments -bar -boc -ci=4 -i=4 -l=78 -nolq -se -wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x=" python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/.tidyallrc000066400000000000000000000001741310544161500257250ustar00rootroot00000000000000[PerlTidy] select = **/*.{pl,pm,t,psgi} ignore = blib/**/* argv = --profile=$ROOT/.perltidyallrc [JSON] select = **/*.json python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/LICENSE000066400000000000000000000004361310544161500247430ustar00rootroot00000000000000This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/MaxMind-DB-spec.md000066400000000000000000000501251310544161500270300ustar00rootroot00000000000000--- layout: default title: MaxMind DB File Format Specification version: v2.0 --- # MaxMind DB File Format Specification ## Description The MaxMind DB file format is a database format that maps IPv4 and IPv6 addresses to data records using an efficient binary search tree. ## Version This spec documents **version 2.0** of the MaxMind DB binary format. The version number consists of separate major and minor version numbers. It should not be considered a decimal number. In other words, version 2.10 comes after version 2.9. Code which is capable of reading a given major version of the format should not be broken by minor version changes to the format. ## Overview The binary database is split into three parts: 1. The binary search tree. Each level of the tree corresponds to a single bit in the 128 bit representation of an IPv6 address. 2. The data section. These are the values returned to the client for a specific IP address, e.g. "US", "New York", or a more complex map type made up of multiple fields. 3. Database metadata. Information about the database itself. ## Database Metadata This portion of the database is stored at the end of the file. It is documented first because understanding some of the metadata is key to understanding how the other sections work. This section can be found by looking for a binary sequence matching "\xab\xcd\xefMaxMind.com". The *last* occurrence of this string in the file marks the end of the data section and the beginning of the metadata. Since we allow for arbitrary binary data in the data section, some other piece of data could contain these values. This is why you need to find the last occurrence of this sequence. The maximum allowable size for the metadata section, including the marker that starts the metadata, is 128kb. The metadata is stored as a map data structure. This structure is described later in the spec. Changing a key's data type or removing a key would consistute a major version change for this spec. Except where otherwise specified, each key listed is required for the database to be considered valid. Adding a key constitutes a minor version change. Removing a key or changing its type constitutes a major version change. The list of known keys for the current version of the format is as follows: ### node\_count This is an unsigned 32-bit integer indicating the number of nodes in the search tree. ### record\_size This is an unsigned 16-bit integer. It indicates the number of bits in a record in the search tree. Note that each node consists of *two* records. ### ip\_version This is an unsigned 16-bit integer which is always 4 or 6. It indicates whether the database contains IPv4 or IPv6 address data. ### database\_type This is a string that indicates the structure of each data record associated with an IP address. The actual definition of these structures is left up to the database creator. Names starting with "GeoIP" are reserved for use by MaxMind (and "GeoIP" is a trademark anyway). ### languages An array of strings, each of which is a locale code. A given record may contain data items that have been localized to some or all of these locales. Records should not contain localized data for locales not included in this array. This is an optional key, as this may not be relevant for all types of data. ### binary\_format\_major\_version This is an unsigned 16-bit integer indicating the major version number for the database's binary format. ### binary\_format\_minor\_version This is an unsigned 16-bit integer indicating the minor version number for the database's binary format. ### build\_epoch This is an unsigned 64-bit integer that contains the database build timestamp as a Unix epoch value. ### description This key will always point to a map. The keys of that map will be language codes, and the values will be a description in that language as a UTF-8 string. The codes may include additional information such as script or country identifiers, like "zh-TW" or "mn-Cyrl-MN". The additional identifiers will be separated by a dash character ("-"). This key is optional. However, creators of databases are strongly encouraged to include a description in at least one language. ### Calculating the Search Tree Section Size The formula for calculating the search tree section size *in bytes* is as follows: ( ( $record_size * 2 ) / 8 ) * $number_of_nodes The end of the search tree marks the beginning of the data section. ## Binary Search Tree Section The database file starts with a binary search tree. The number of nodes in the tree is dependent on how many unique netblocks are needed for the particular database. For example, the city database needs many more small netblocks than the country database. The top most node is always located at the beginning of the search tree section's address space. The top node is node 0. Each node consists of two records, each of which is a pointer to an address in the file. The pointers can point to one of three things. First, it may point to another node in the search tree address space. These pointers are followed as part of the IP address search algorithm, described below. The pointer can point to a value equal to `$number_of_nodes`. If this is the case, it means that the IP address we are searching for is not in the database. Finally, it may point to an address in the data section. This is the data relevant to the given netblock. ### Node Layout Each node in the search tree consists of two records, each of which is a pointer. The record size varies by database, but inside a single database node records are always the same size. A record may be anywhere from 24 to 128 bits long, dependending on the number of nodes in the tree. These pointers are stored in big-endian format (most significant byte first). Here are some examples of how the records are laid out in a node for 24, 28, and 32 bit records. Larger record sizes follow this same pattern. #### 24 bits (small database), one node is 6 bytes | <------------- node --------------->| | 23 .. 0 | 23 .. 0 | #### 28 bits (medium database), one node is 7 bytes | <------------- node --------------->| | 23 .. 0 | 27..24 | 27..24 | 23 .. 0 | Note, the last 4 bits of each pointer are combined into the middle byte. #### 32 bits (large database), one node is 8 bytes | <------------- node --------------->| | 31 .. 0 | 31 .. 0 | ### Search Lookup Algorithm The first step is to convert the IP address to its big-endian binary representation. For an IPv4 address, this becomes 32 bits. For IPv6 you get 128 bits. The leftmost bit corresponds to the first node in the search tree. For each bit, a value of 0 means we choose the left record in a node, and a value of 1 means we choose the right record. The record value is always interpreted as an unsigned integer. The maximum size of the integer is dependent on the number of bits in a record (24, 28, or 32). If the record value is a number that is less than the *number of nodes* (not in bytes, but the actual node count) in the search tree (this is stored in the database metadata), then the value is a node number. In this case, we find that node in the search tree and repeat the lookup algorithm from there. If the record value is equal to the number of nodes, that means that we do not have any data for the IP address, and the search ends here. If the record value is *greater* than the number of nodes in the search tree, then it is an actual pointer value pointing into the data section. The value of the pointer is calculated from the start of the data section, *not* from the start of the file. In order to determine where in the data section we should start looking, we use the following formula: $data_section_offset = ( $record_value - $node_count ) - 16 The `16` is the size of the data section separator (see below for details). The reason that we subtract the `$node_count` is best demonstrated by an example. Let's assume we have a 24-bit tree with 1,000 nodes. Each node contains 48 bits, or 6 bytes. The size of the tree is 6,000 bytes. When a record in the tree contains a number that is < 1,000, this is a *node number*, and we look up that node. If a record contains a value >= 1,016, we know that it is a data section value. We subtract the node count (1,000) and then subtract 16 for the data section separator, giving us the number 0, the first byte of the data section. If a record contained the value 6,000, this formula would give us an offset of 4,984 into the data section. In order to determine where in the file this offset really points to, we also need to know where the data section starts. This can be calculated by determining the size of the search tree in bytes and then adding an additional 16 bytes for the data section separator. So the final formula to determine the offset in the file is: $offset_in_file = ( $record_value - $node_count ) + $search_tree_size_in_bytes ### IPv4 addresses in an IPv6 tree When storing IPv4 addresses in an IPv6 tree, they are stored as-is, so they occupy the first 32-bits of the address space (from 0 to 2**32 - 1). Creators of databases should decide on a strategy for handling the various mappings between IPv4 and IPv6. The strategy that MaxMind uses for its GeoIP databases is to include a pointer from the `::ffff:0:0/96` subnet to the root node of the IPv4 address space in the tree. This accounts for the [IPv4-mapped IPv6 address](http://en.wikipedia.org/wiki/IPv6#IPv4-mapped_IPv6_addresses). MaxMind also includes a pointer from the `2002::/16` subnet to the root node of the IPv4 address space in the tree. This accounts for the [6to4 mapping](http://en.wikipedia.org/wiki/6to4) subnet. Database creators are encouraged to document whether they are doing something similar for their databases. The Teredo subnet cannot be accounted for in the tree. Instead, code that searches the tree can offer to decode the IPv4 portion of a Teredo address and look that up. ## Data Section Separator There are 16 bytes of NULLs in between the search tree and the data section. This separator exists in order to make it possible for a verification tool to distinguish between the two sections. This separator is not considered part of the data section itself. In other words, the data section starts at `$size\_of\_search_tree + 16" bytes in the file. ## Output Data Section Each output data field has an associated type, and that type is encoded as a number that begins the data field. Some types are variable length. In those cases, the type indicator is also followed by a length. The data payload always comes at the end of the field. All binary data is stored in big-endian format. Note that the *interpretation* of a given data type's meaning is decided by higher-level APIs, not by the binary format itself. ### pointer - 1 A pointer to another part of the data section's address space. The pointer will point to the beginning of a field. It is illegal for a pointer to point to another pointer. Pointer values start from the beginning of the data section, *not* the beginning of the file. ### UTF-8 string - 2 A variable length byte sequence that contains valid utf8. If the length is zero then this is an empty string. ### double - 3 This is stored as an IEEE-754 double (binary64) in big-endian format. The length of a double is always 8 bytes. ### bytes - 4 A variable length byte sequence containing any sort of binary data. If the length is zero then this a zero-length byte sequence. This is not currently used but may be used in the future to embed non-text data (images, etc.). ### integer formats Integers are stored in variable length binary fields. We support 16-bit, 32-bit, 64-bit, and 128-bit unsigned integers. We also support 32-bit signed integers. A 128-bit integer can use up to 16 bytes, but may use fewer. Similarly, a 32-bit integer may use from 0-4 bytes. The number of bytes used is determined by the length specifier in the control byte. See below for details. A length of zero always indicates the number 0. When storing a signed integer, the left-most bit is the sign. A 1 is negative and a 0 is positive. The type numbers for our integer types are: * unsigned 16-bit int - 5 * unsigned 32-bit int - 6 * signed 32-bit int - 8 * unsigned 64-bit int - 9 * unsigned 128-bit int - 10 The unsigned 32-bit and 128-bit types may be used to store IPv4 and IPv6 addresses, respectively. The signed 32-bit integers are stored using the 2's complement representation. ### map - 7 A map data type contains a set of key/value pairs. Unlike other data types, the length information for maps indicates how many key/value pairs it contains, not its length in bytes. This size can be zero. See below for the algorithm used to determine the number of pairs in the hash. This algorithm is also used to determine the length of a field's payload. ### array - 11 An array type contains a set of ordered values. The length information for arrays indicates how many values it contains, not its length in bytes. This size can be zero. This type uses the same algorithm as maps for determining the length of a field's payload. ### data cache container - 12 This is a special data type that marks a container used to cache repeated data. For example, instead of repeating the string "United States" over and over in the database, we store it in the cache container and use pointers *into* this container instead. Nothing in the database will ever contain a pointer to the this field itself. Instead, various fields will point into the container. The primary reason for making this a separate data type versus simply inlining the cached data is so that a database dumper tool can skip this cache when dumping the data section. The cache contents will end up being dumped as pointers into it are followed. ### end marker - 13 The end marker marks the end of the data section. It is not strictly necessary, but including this marker allows a data section deserializer to process a stream of input, rather than having to find the end of the section before beginning the deserialization. This data type is not followed by a payload, and its size is always zero. ### boolean - 14 A true or false value. The length information for a boolean type will always be 0 or 1, indicating the value. There is no payload for this field. ### float - 15 This is stored as an IEEE-754 float (binary32) in big-endian format. The length of a float is always 4 bytes. This type is provided primarily for completeness. Because of the way floating point numbers are stored, this type can easily lose precision when serialized and then deserialized. If this is an issue for you, consider using a double instead. ### Data Field Format Each field starts with a control byte. This control byte provides information about the field's data type and payload size. The first three bits of the control byte tell you what type the field is. If these bits are all 0, then this is an "extended" type, which means that the *next* byte contains the actual type. Otherwise, the first three bits will contain a number from 1 to 7, the actual type for the field. We've tried to assign the most commonly used types as numbers 1-7 as an optimization. With an extended type, the type number in the second byte is the number minus 7. In other words, an array (type 11) will be stored with a 0 for the type in the first byte and a 4 in the second. Here is an example of how the control byte may combine with the next byte to tell us the type: 001XXXXX pointer 010XXXXX UTF-8 string 010XXXXX unsigned 32-bit int (ASCII) 000XXXXX 00000011 unsigned 128-bit int (binary) 000XXXXX 00000100 array 000XXXXX 00000110 end marker #### Payload Size The next five bits in the control byte tell you how long the data field's payload is, except for maps and pointers. Maps and pointers use this size information a bit differently. See below. If the five bits are smaller than 29, then those bits are the payload size in bytes. For example: 01000010 UTF-8 string - 2 bytes long 01011100 UTF-8 string - 28 bytes long 11000001 unsigned 32-bit int - 1 byte long 00000011 00000011 unsigned 128-bit int - 3 bytes long If the five bits are equal to 29, 30, or 31, then use the following algorithm to calculate the payload size. If the value is 29, then the size is 29 + *the next byte after the type specifying bytes as an unsigned integer*. If the value is 30, then the size is 285 + *the next two bytes after the type specifying bytes as a single unsigned integer*. If the value is 31, then the size is 65,821 + *the next three bytes after the type specifying bytes as a single unsigned integer*. Some examples: 01011101 00110011 UTF-8 string - 80 bytes long In this case, the last five bits of the control byte equal 29. We treat the next byte as an unsigned integer. The next byte is 51, so the total size is (29 + 51) = 80. 01011110 00110011 00110011 UTF-8 string - 13,392 bytes long The last five bits of the control byte equal 30. We treat the next two bytes as a single unsigned integer. The next two bytes equal 13,107, so the total size is (285 + 13,107) = 13,392. 01011111 00110011 00110011 00110011 UTF-8 string - 3,421,264 bytes long The last five bits of the control byte equal 31. We treat the next three bytes as a single unsigned integer. The next three bytes equal 3,355,443, so the total size is (65,821 + 3,355,443) = 3,421,264. This means that the maximum payload size for a single field is 16,843,036 bytes. The binary number types always have a known size, but for consistency's sake, the control byte will always specify the correct size for these types. #### Maps Maps use the size in the control byte (and any following bytes) to indicate the number of key/value pairs in the map, not the size of the payload in bytes. This means that the maximum number of pairs for a single map is 16,843,036. Maps are laid out with each key followed by its value, followed by the next pair, etc. The keys are **always** UTF-8 strings. The values may be any data type, including maps or pointers. Once we know the number of pairs, we can look at each pair in turn to determine the size of the key and the key name, as well as the value's type and payload. #### Pointers Pointers use the last five bits in the control byte to calculate the pointer value. To calculate the pointer value, we start by subdiving the five bits into two groups. The first two bits indicate the size, and the next three bits are part of the value, so we end up with a control byte breaking down like this: 001SSVVV. The size can be 0, 1, 2, or 3. If the size is 0, the pointer is built by appending the next byte to the last three bits to produce an 11-bit value. If the size is 1, the pointer is built by appending the next two bytes to the last three bits to produce a 19-bit value + 2048. If the size is 2, the pointer is built by appending the next three bytes to the last three bits to produce a 27-bit value + 526336. Finally, if the size is 3, the pointer's value is contained in the next four bytes as a 32-bit value. In this case, the last three bits of the control byte are ignored. This means that we are limited to 4GB of address space for pointers, so the data section size for the database is limited to 4GB. ## Reference Implementations ### Writer * [Perl](https://github.com/maxmind/MaxMind-DB-Writer-perl) ### Reader * [C](https://github.com/maxmind/libmaxminddb) * [C#](https://github.com/maxmind/MaxMind-DB-Reader-dotnet) * [Java](https://github.com/maxmind/MaxMind-DB-Reader-java) * [Perl](https://github.com/maxmind/MaxMind-DB-Reader-perl) * [PHP](https://github.com/maxmind/MaxMind-DB-Reader-php) * [Python](https://github.com/maxmind/MaxMind-DB-Reader-python) ## Authors This specification was created by the following authors: * Greg Oschwald \ * Dave Rolsky \ * Boris Zentner \ ## License This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit [http://creativecommons.org/licenses/by-sa/3.0/](http://creativecommons.org/licenses/by-sa/3.0/) or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/README.md000066400000000000000000000002261310544161500252120ustar00rootroot00000000000000MaxMind DB is a binary file format that stores data indexed by IP address subnets (IPv4 or IPv6). This repository contains the spec for that format. python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/000077500000000000000000000000001310544161500253705ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/README.md000066400000000000000000000006041310544161500266470ustar00rootroot00000000000000These are corrupt databases that have been know to cause problems such as segfaults or unhandled errors on one or more MaxMind DB reader implementations. Implementations _should_ return an appropriate error or raise an exception on these databases. If you find a corrupt test-sized database that crashes a MMDB reader library, please feel free to add it here by creating a pull request. python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/libmaxminddb/000077500000000000000000000000001310544161500300225ustar00rootroot00000000000000libmaxminddb-offset-integer-overflow.mmdb000066400000000000000000000006341310544161500400210ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/libmaxminddb%%%%%% 59EQ%]!%"%#%$% %0:@BipG1.1.1.8 ipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_versio88888888888888n[binary_format_minor_versionKbuild_epochVdMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_counpython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/maxminddb-golang/000077500000000000000000000000001310544161500306005ustar00rootroot00000000000000cyclic-data-structure.mmdb000066400000000000000000000052531310544161500356020ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/maxminddb-golang4sssss s s s s sssssssssssssssssss s!s"s#s$s%s&s's(s)s*s+s,s-s.s/s0s1s2s3s4s5s6s7s8s9s:s;s<s=s>s?s@sAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfgxshisjskslsmsnsosspqsrssstsusvswssyzs{s|s}s~sssssssssssssssssssssssssssssssssssssssssssss`ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ss  s ss ssssssssssssssssss s!s"3s#$s%s&s's(s)s*s+s,s-s.s/ss1s2s`s`s5ss67ss89ss:s;s<s=>s?ss@sABssCDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfsgshsisjskslsmsnsospsqsrssEarrayGbooleanEbytes*Fdoubleh@Eg?[Efloat?Eint32CmapDmapXFarrayX Lutf8_stringXEhelloGuint128?Fuint16dFuint32Fuint64Kutf8_stringRunicode! ☯ - ♫MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochX2|Mdatabase_typeWMaxMind DB Decoder TestKdescriptionBen])MaxMind DB Decoder Test database - contains every MaxMind DB data typeJip_versionIlanguagesBenJnode_countsKrecord_sizeinvalid-bytes-length.mmdb000066400000000000000000000000401310544161500354050ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/maxminddb-golangMaxMind.comKdescriptionBeninvalid-data-record-offset.mmdb000066400000000000000000000005071310544161500364610ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/maxminddb-golangMaxMind.com[binarybcdefghijkmnopqstuwxyz{|};Iinvalid-map-key-length.mmdb000066400000000000000000000052531310544161500356350ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/maxminddb-golang4sssss s s s s sssssssssssssssssss s!s"s#s$s%s&s's(s)s*s+s,s-s.s/s0s1s2s3s4s5s6s7s8s9s:s;s<s=s>s?s@sAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfgxshisjskslsmsnsosspqsrssstsusvswssyzs{s|s}s~sssssssssssssssssssssssssssssssssssssssssssss`sssssssssssssssssssssssssssssssssssssssssssssbroken pipesssssssssssssssssssssssssssssssssssssssssssssss ss  s ss ssssssssssssssssss s!s"3s#$s%s&s's(s)s*s+s,s-s.s/ss1s2s`s`s5ss67ss89ss:s;s<s=>s?ss@sABssCDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfsgshsisjskslsmsnsospsqsrssEarrayGbooleanEbytes*Fdoubleh@Eg?[Efloat?Eint32_mapDmapXFarrayX  Lutf8_stringXEhelloGuint128Fuint16dFuint32Fuint64Kutf8_stringRunicode! ☯ - ♫MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochX2|Mdatabase_typeWMaxMind DB Decoder TestKdescriptionBen])MaxMind DB Decoder Test database - contains every MaxMind DB data typeJip_versionIlanguagesBenJnode_countsKrecord_sizeinvalid-string-length.mmdb000066400000000000000000000002731310544161500355750ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/maxminddb-golangDmap2EarrayDmap3AaAbAcMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochX2|Mdatabase_type]MaxMind DB Nested Data StructuresKdescription metadata-is-an-uint128.mmdb000066400000000000000000000000201310544161500353470ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/maxminddb-golangMaxMind.comunexpected-bytes.mmdb000066400000000000000000000044351310544161500346600ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/bad-data/maxminddb-golangs's(s)s*s+s,s-s.s/s0s1s2s3s4s5s6s7s8s9s:s;s<s=s>s?s@sAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfgxshisjskslsmsnsosspqsrssstsusvswssyzs{s|s}s~sssssssssssssssssssssssssssssssssssssssssssss`ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ss  s ss ssssssssssssssssss s!s"3s#$s%s&s's(s)s*s+s,s-s.s/s0s1s2s`s`s5ss67ss89ss:s;s<s=>s?ss@sABssCDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfsgshsisjskslsmsnsospsqsrssDmap1Dmap2EarrayDmap3AaAbAcMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochX2|Mdatabase_type]MaxMind DB Nested Data StructuresKdescriptionBen]@MaxMind DB Nested Data Structures Test database - contains deeply nested map/array structuresJip_versionIlanguagespython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/perltidyrc000066400000000000000000000003301310544161500260330ustar00rootroot00000000000000--blank-lines-before-packages=0 --iterations=2 --no-outdent-long-comments -b -bar -boc -ci=4 -i=4 -l=78 -nolq -se -wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x=" python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data/000077500000000000000000000000001310544161500261425ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data/GeoIP2-Anonymous-IP-Test.json000066400000000000000000000011011310544161500332640ustar00rootroot00000000000000[ { "::1.2.0.0/112" : { "is_anonymous" : true, "is_anonymous_vpn" : true } }, { "::71.160.223.0/120" : { "is_anonymous" : true, "is_hosting_provider" : true } }, { "::186.30.236.0/120" : { "is_anonymous" : true, "is_public_proxy" : true } }, { "::65.0.0.0/109" : { "is_anonymous" : true, "is_tor_exit_node" : true } }, { "abcd:1000::/112" : { "is_anonymous" : true, "is_public_proxy" : true } } ] python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data/GeoIP2-City-Test.json000066400000000000000000013222121310544161500317100ustar00rootroot00000000000000[ { "2001:218::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:220::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "37", "longitude" : "127.5", "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:230::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "37", "longitude" : "127.5", "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:238::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "location" : { "accuracy_radius" : 100, "latitude" : "24", "longitude" : "121", "time_zone" : "Asia/Taipei" }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:240::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:250::/31" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35", "longitude" : "105" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:252::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35", "longitude" : "105" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:254::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35", "longitude" : "105" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:256::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35", "longitude" : "105" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:258::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:260::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:268::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:270::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "37", "longitude" : "127.5", "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:278::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:280::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "37", "longitude" : "127.5", "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:288::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "location" : { "accuracy_radius" : 100, "latitude" : "24", "longitude" : "121", "time_zone" : "Asia/Taipei" }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:290::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "37", "longitude" : "127.5", "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:298::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2b0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "37", "longitude" : "127.5", "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2b8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "37", "longitude" : "127.5", "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2c0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2c8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2d8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "37", "longitude" : "127.5", "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2e0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } }, "location" : { "accuracy_radius" : 100, "latitude" : "22.25", "longitude" : "114.16667", "time_zone" : "Asia/Hong_Kong" }, "registered_country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } } } }, { "2001:2e8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2a02:cf40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "10", "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:cf80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "location" : { "accuracy_radius" : 100, "latitude" : "31.5", "longitude" : "34.75", "time_zone" : "Asia/Jerusalem" }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:cfc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : "47.00016", "longitude" : "8.01427", "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "15", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "location" : { "accuracy_radius" : 100, "latitude" : "26", "longitude" : "50.5", "time_zone" : "Asia/Bahrain" }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:d0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52", "longitude" : "20", "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:d140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "10", "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "42.83333", "longitude" : "12.83333", "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:d200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "64", "longitude" : "26", "time_zone" : "Europe/Helsinki" }, "registered_country" : { "geoname_id" : 660013, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "53", "longitude" : "28", "time_zone" : "Europe/Minsk" }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:d280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "49.75", "longitude" : "15", "time_zone" : "Europe/Prague" }, "registered_country" : { "geoname_id" : 3077311, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:d2c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "32", "longitude" : "53", "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "49", "longitude" : "32" }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:d340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d380::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "32", "longitude" : "53", "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "47", "longitude" : "20", "time_zone" : "Europe/Budapest" }, "registered_country" : { "geoname_id" : 719819, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:d440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "15", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d4c0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "64", "longitude" : "26", "time_zone" : "Europe/Helsinki" }, "registered_country" : { "geoname_id" : 660013, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d4e0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "location" : { "accuracy_radius" : 100, "latitude" : "48.69096", "longitude" : "9.14062", "time_zone" : "Europe/Vaduz" } } }, { "2a02:d540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "location" : { "accuracy_radius" : 100, "latitude" : "40", "longitude" : "-4" }, "registered_country" : { "geoname_id" : 2510769, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:d600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d680::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d6a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 732800, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : "43", "longitude" : "25", "time_zone" : "Europe/Sofia" }, "registered_country" : { "geoname_id" : 732800, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } } } }, { "2a02:d700::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : "47.00016", "longitude" : "8.01427", "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "32", "longitude" : "53", "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "25", "time_zone" : "Europe/Bucharest" }, "registered_country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:d840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "10", "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "15", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2802361, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } }, "location" : { "accuracy_radius" : 100, "latitude" : "50.83333", "longitude" : "4", "time_zone" : "Europe/Brussels" }, "registered_country" : { "geoname_id" : 2802361, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } } } }, { "2a02:d980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : "39.05901", "longitude" : "34.91155", "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:d9c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : "39.05901", "longitude" : "34.91155", "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:da00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:da40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:da80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "47.33333", "longitude" : "13.33333", "time_zone" : "Europe/Vienna" }, "registered_country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:dac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:db00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:db40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "25", "time_zone" : "Europe/Bucharest" }, "registered_country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:db80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : "39.05901", "longitude" : "34.91155", "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:dc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "49", "longitude" : "32" }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:dd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : "41", "longitude" : "20", "time_zone" : "Europe/Tirane" }, "registered_country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } } } }, { "2a02:dd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "15", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ddc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "location" : { "accuracy_radius" : 100, "latitude" : "31.5", "longitude" : "34.75", "time_zone" : "Asia/Jerusalem" }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:de80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dec0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "location" : { "accuracy_radius" : 100, "latitude" : "33.83333", "longitude" : "35.83333", "time_zone" : "Asia/Beirut" }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:df00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "32", "longitude" : "53", "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:df40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : "39.05901", "longitude" : "34.91155", "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:df80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dfc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "32", "longitude" : "53", "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:e000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52.5", "longitude" : "5.75", "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } }, "location" : { "accuracy_radius" : 100, "latitude" : "29.5", "longitude" : "47.75", "time_zone" : "Asia/Kuwait" }, "registered_country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } } } }, { "2a02:e0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : "47.00016", "longitude" : "8.01427", "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:e100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52", "longitude" : "20", "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52.5", "longitude" : "5.75", "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e200::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "47.33333", "longitude" : "13.33333", "time_zone" : "Europe/Vienna" }, "registered_country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:e220::/30" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "25", "longitude" : "45", "time_zone" : "Asia/Riyadh" }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:e240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "42.83333", "longitude" : "12.83333", "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "53", "longitude" : "28", "time_zone" : "Europe/Minsk" }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:e340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "10", "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "42.83333", "longitude" : "12.83333", "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "15", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:e440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52.5", "longitude" : "5.75", "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : "44.81892", "longitude" : "20.45998", "time_zone" : "Europe/Belgrade" }, "registered_country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } } } }, { "2a02:e580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "10", "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e600::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e620::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e680::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "location" : { "accuracy_radius" : 100, "latitude" : "31", "longitude" : "36", "time_zone" : "Asia/Amman" }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:e6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e700::/29" : { "continent" : { "code" : "AF", "geoname_id" : 6255146, "names" : { "de" : "Afrika", "en" : "Africa", "es" : "África", "fr" : "Afrique", "ja" : "アフリカ", "pt-BR" : "África", "ru" : "Африка", "zh-CN" : "非洲" } }, "country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "28", "longitude" : "17", "time_zone" : "Africa/Tripoli" }, "registered_country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } } } }, { "2a02:e740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : "39.05901", "longitude" : "34.91155", "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:e7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52", "longitude" : "20", "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2963597, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "53", "longitude" : "-8", "time_zone" : "Europe/Dublin" }, "registered_country" : { "geoname_id" : 2963597, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } } } }, { "2a02:e940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "25", "time_zone" : "Europe/Bucharest" }, "registered_country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:e980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "location" : { "accuracy_radius" : 100, "latitude" : "31.5", "longitude" : "34.75", "time_zone" : "Asia/Jerusalem" }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:e9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "15", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ea00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : "47.00016", "longitude" : "8.01427", "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:ea40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ea80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52", "longitude" : "20", "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52", "longitude" : "20", "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:eb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:eb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ebc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ec80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "location" : { "accuracy_radius" : 100, "latitude" : "48.69096", "longitude" : "9.14062", "time_zone" : "Europe/Vaduz" } } }, { "2a02:ecc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } }, "location" : { "accuracy_radius" : 100, "latitude" : "40.5", "longitude" : "47.5", "time_zone" : "Asia/Baku" }, "registered_country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } } } }, { "2a02:ed00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "10", "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:ed40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : "39.05901", "longitude" : "34.91155", "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:ed80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:edc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "25", "longitude" : "45", "time_zone" : "Asia/Riyadh" }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:ee00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "49", "longitude" : "32" }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:ee40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ee80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52.5", "longitude" : "5.75", "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:eec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "15", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ef00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : "39.05901", "longitude" : "34.91155", "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:efc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "49.75", "longitude" : "15", "time_zone" : "Europe/Prague" }, "registered_country" : { "geoname_id" : 3077311, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:f040::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "location" : { "accuracy_radius" : 100, "latitude" : "26", "longitude" : "50.5", "time_zone" : "Asia/Bahrain" }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:f080::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "49", "longitude" : "32" }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f0a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f0c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "location" : { "accuracy_radius" : 100, "latitude" : "31", "longitude" : "36", "time_zone" : "Asia/Amman" }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:f100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "49", "longitude" : "32" }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f240::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "32", "longitude" : "53", "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "46", "longitude" : "2", "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "10", "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52", "longitude" : "20", "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f400::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "24", "longitude" : "54", "time_zone" : "Asia/Dubai" }, "registered_country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } } } }, { "2a02:f440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "10", "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "location" : { "accuracy_radius" : 100, "latitude" : "40", "longitude" : "-4" }, "registered_country" : { "geoname_id" : 2510769, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:f500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f540::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f560::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f580::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : "40", "longitude" : "45", "time_zone" : "Asia/Yerevan" }, "registered_country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } } } }, { "2a02:f5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52.5", "longitude" : "5.75", "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52.5", "longitude" : "5.75", "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52.5", "longitude" : "5.75", "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f680::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f700::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "location" : { "accuracy_radius" : 100, "latitude" : "33.83333", "longitude" : "35.83333", "time_zone" : "Asia/Beirut" }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:f740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52", "longitude" : "20", "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f780::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "15", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:f7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52", "longitude" : "20", "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "60", "longitude" : "100" }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52.5", "longitude" : "5.75", "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52", "longitude" : "20", "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f900::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "32", "longitude" : "53", "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "47", "longitude" : "20", "time_zone" : "Europe/Budapest" }, "registered_country" : { "geoname_id" : 719819, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:f980::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fa00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "location" : { "accuracy_radius" : 100, "latitude" : "25", "longitude" : "45", "time_zone" : "Asia/Riyadh" }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:fa40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : "39.05901", "longitude" : "34.91155", "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:fa80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52", "longitude" : "20", "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "42.83333", "longitude" : "12.83333", "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52", "longitude" : "20", "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "15", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:fc40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "location" : { "accuracy_radius" : 100, "latitude" : "56", "longitude" : "10", "time_zone" : "Europe/Copenhagen" }, "registered_country" : { "geoname_id" : 2623032, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : "62", "longitude" : "10", "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:fcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "42.83333", "longitude" : "12.83333", "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "location" : { "accuracy_radius" : 100, "latitude" : "56", "longitude" : "10", "time_zone" : "Europe/Copenhagen" }, "registered_country" : { "geoname_id" : 2623032, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fdc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "47.33333", "longitude" : "13.33333", "time_zone" : "Europe/Vienna" }, "registered_country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:fe00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : "52.5", "longitude" : "5.75", "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:fe40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fe80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "42.83333", "longitude" : "12.83333", "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.75844", "longitude" : "-2.69531", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ff00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : "42.83333", "longitude" : "12.83333", "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:ff40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } }, "location" : { "accuracy_radius" : 100, "latitude" : "54.25", "longitude" : "-4.5", "time_zone" : "Europe/Isle_of_Man" }, "registered_country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } } } }, { "2a02:ff80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5", "longitude" : "10.5", "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:ffc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } }, "location" : { "accuracy_radius" : 100, "latitude" : "36.13333", "longitude" : "-5.35", "time_zone" : "Europe/Gibraltar" }, "registered_country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } } } }, { "::2.125.160.216/125" : { "city" : { "geoname_id" : "2655045", "names" : { "en" : "Boxford" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.7500", "longitude" : "-1.2500", "time_zone" : "Europe/London" }, "postal" : { "code" : "OX1" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } }, { "geoname_id" : 3333217, "iso_code" : "WBK", "names" : { "en" : "West Berkshire", "ru" : "Западный Беркшир", "zh-CN" : "西伯克郡" } } ] } }, { "::81.2.69.142/127" : { "city" : { "geoname_id" : "2643743", "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 10, "latitude" : "51.5142", "longitude" : "-0.0931", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "::81.2.69.144/124" : { "city" : { "geoname_id" : "2643743", "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 3, "latitude" : "51.5142", "longitude" : "-0.0931", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "::81.2.69.160/123" : { "city" : { "geoname_id" : "2643743", "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5142", "longitude" : "-0.0931", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "::81.2.69.192/124" : { "city" : { "geoname_id" : "2643743", "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5142", "longitude" : "-0.0931", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "::216.160.83.56/125" : { "city" : { "geoname_id" : "5803556", "names" : { "en" : "Milton", "ru" : "Мильтон" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 22, "latitude" : "47.2513", "longitude" : "-122.3149", "metro_code" : "819", "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "98354" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "subdivisions" : [ { "geoname_id" : 5815135, "iso_code" : "WA", "names" : { "en" : "Washington", "es" : "Washington", "fr" : "État de Washington", "ja" : "ワシントン州", "ru" : "Вашингтон", "zh-CN" : "华盛顿州" } } ] } }, { "::89.160.20.112/124" : { "city" : { "geoname_id" : "2694762", "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : "58.4167", "longitude" : "15.6167", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ] } }, { "::89.160.20.128/121" : { "city" : { "geoname_id" : "2694762", "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : "58.4167", "longitude" : "15.6167", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ] } }, { "::67.43.156.0/120" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1252634, "iso_code" : "BT", "names" : { "de" : "Bhutan", "en" : "Bhutan", "es" : "Bután", "fr" : "Bhutan", "ja" : "ブータン王国", "pt-BR" : "Butão", "ru" : "Бутан", "zh-CN" : "不丹" } }, "location" : { "accuracy_radius" : 534, "latitude" : "27.5000", "longitude" : "90.5000", "time_zone" : "Asia/Thimphu" }, "registered_country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "is_anonymous_proxy" : 1 } } }, { "::202.196.224.0/116" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "location" : { "accuracy_radius" : 121, "latitude" : "13", "longitude" : "122", "time_zone" : "Asia/Manila" }, "postal" : { "code" : "34021" }, "registered_country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "represented_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" }, "type" : "military" } } }, { "::175.16.199.0/120" : { "city" : { "geoname_id" : 2038180, "names" : { "de" : "Chángchūn", "en" : "Changchun", "fr" : "Changchun", "ja" : "長春市", "ru" : "Чанчунь", "zh-CN" : "长春" } }, "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 43.88, "longitude" : 125.3228, "time_zone" : "Asia/Harbin" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "subdivisions" : [ { "geoname_id" : 2036500, "iso_code" : "22", "names" : { "en" : "Jilin Sheng", "zh-CN" : "吉林" } } ] } } ] GeoIP2-Connection-Type-Test.json000066400000000000000000000033011310544161500337310ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data[ { "::1.0.0.0/120" : { "connection_type" : "Dialup" } }, { "::1.0.1.0/120" : { "connection_type" : "Cable/DSL" } }, { "::1.0.2.0/119" : { "connection_type" : "Dialup" } }, { "::1.0.4.0/118" : { "connection_type" : "Dialup" } }, { "::1.0.8.0/117" : { "connection_type" : "Dialup" } }, { "::1.0.16.0/116" : { "connection_type" : "Dialup" } }, { "::1.0.32.0/115" : { "connection_type" : "Dialup" } }, { "::1.0.64.0/114" : { "connection_type" : "Dialup" } }, { "::1.0.128.0/113" : { "connection_type" : "Dialup" } }, { "::80.214.0.0/116" : { "connection_type" : "Cellular" } }, { "::96.1.0.0/112" : { "connection_type" : "Cable/DSL" } }, { "::96.10.0.0/111" : { "connection_type" : "Cable/DSL" } }, { "::96.69.0.0/112" : { "connection_type" : "Cable/DSL" } }, { "::96.94.0.0/111" : { "connection_type" : "Cable/DSL" } }, { "::108.96.0.0/107" : { "connection_type" : "Cellular" } }, { "::175.16.199.0/120" : { "connection_type" : "Dialup" } }, { "::187.156.138.0/120" : { "connection_type" : "Cable/DSL" } }, { "::201.243.200.0/120" : { "connection_type" : "Corporate" } }, { "::207.179.48.0/116" : { "connection_type" : "Cellular" } }, { "2003::/24" : { "connection_type" : "Cable/DSL" } } ] python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data/GeoIP2-Country-Test.json000066400000000000000000011626071310544161500324550ustar00rootroot00000000000000[ { "2001:218::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:220::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:230::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:238::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:240::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:250::/31" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:252::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:254::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:256::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:258::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:260::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:268::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:270::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:278::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:280::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:288::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:290::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:298::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2b0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2b8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2c0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2c8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2d8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2e0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } }, "registered_country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } } } }, { "2001:2e8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2a02:cf40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:cf80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:cfc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:d0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:d140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:d200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "registered_country" : { "geoname_id" : 660013, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:d280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "registered_country" : { "geoname_id" : 3077311, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:d2c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:d340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d380::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "registered_country" : { "geoname_id" : 719819, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:d440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d4c0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "registered_country" : { "geoname_id" : 660013, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d4e0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "location" : { "latitude" : "48.69096", "longitude" : "9.14062", "time_zone" : "Europe/Vaduz" } } }, { "2a02:d540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "registered_country" : { "geoname_id" : 2510769, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:d600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d680::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d6a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 732800, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } }, "registered_country" : { "geoname_id" : 732800, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } } } }, { "2a02:d700::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "registered_country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:d840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2802361, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } }, "registered_country" : { "geoname_id" : 2802361, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } } } }, { "2a02:d980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:d9c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:da00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:da40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:da80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "registered_country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:dac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:db00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:db40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "registered_country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:db80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:dc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:dd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } }, "registered_country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } } } }, { "2a02:dd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ddc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:de80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dec0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:df00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:df40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:df80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dfc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:e000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } }, "registered_country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } } } }, { "2a02:e0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:e100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e200::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "registered_country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:e220::/30" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:e240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:e340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:e440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } }, "registered_country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } } } }, { "2a02:e580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e600::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e620::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e680::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:e6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e700::/29" : { "continent" : { "code" : "AF", "geoname_id" : 6255146, "names" : { "de" : "Afrika", "en" : "Africa", "es" : "África", "fr" : "Afrique", "ja" : "アフリカ", "pt-BR" : "África", "ru" : "Африка", "zh-CN" : "非洲" } }, "country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } }, "registered_country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } } } }, { "2a02:e740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:e7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2963597, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } }, "registered_country" : { "geoname_id" : 2963597, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } } } }, { "2a02:e940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "registered_country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:e980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:e9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ea00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:ea40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ea80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:eb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:eb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ebc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ec80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "location" : { "latitude" : "48.69096", "longitude" : "9.14062", "time_zone" : "Europe/Vaduz" } } }, { "2a02:ecc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } }, "registered_country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } } } }, { "2a02:ed00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:ed40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:ed80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:edc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:ee00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:ee40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ee80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:eec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ef00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:efc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "registered_country" : { "geoname_id" : 3077311, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:f040::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:f080::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f0a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f0c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:f100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f240::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f400::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } }, "registered_country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } } } }, { "2a02:f440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "registered_country" : { "geoname_id" : 2510769, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:f500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f540::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f560::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f580::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } }, "registered_country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } } } }, { "2a02:f5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f680::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f700::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:f740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f780::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:f7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f900::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "registered_country" : { "geoname_id" : 719819, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:f980::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fa00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:fa40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:fa80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:fc40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "registered_country" : { "geoname_id" : 2623032, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:fcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "registered_country" : { "geoname_id" : 2623032, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fdc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "registered_country" : { "geoname_id" : 2782113, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:fe00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:fe40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fe80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ff00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:ff40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } }, "registered_country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } } } }, { "2a02:ff80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:ffc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } }, "registered_country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } } } }, { "::2.125.160.216/125" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "postal" : { "code" : "OX1" }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "::81.2.69.142/127" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "::81.2.69.144/124" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "::81.2.69.160/123" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "::81.2.69.192/124" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "::216.160.83.56/125" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "postal" : { "code" : "98354" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "::89.160.20.112/124" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "::89.160.20.128/121" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "::67.43.156.0/120" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1252634, "iso_code" : "BT", "names" : { "de" : "Bhutan", "en" : "Bhutan", "es" : "Bután", "fr" : "Bhutan", "ja" : "ブータン王国", "pt-BR" : "Butão", "ru" : "Бутан", "zh-CN" : "不丹" } }, "registered_country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "is_anonymous_proxy" : 1 } } }, { "::202.196.224.0/116" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "postal" : { "code" : "34021" }, "registered_country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "represented_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" }, "type" : "military" } } } ] GeoIP2-DensityIncome-Test.json000066400000000000000000000003651310544161500334740ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data[ { "::5.83.124.0/118" : { "average_income" : 32323, "population_density" : 1232 } }, { "::216.160.83.0/120" : { "average_income" : 24626, "population_density" : 1341 } } ] python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data/GeoIP2-Domain-Test.json000066400000000000000000000165141310544161500322130ustar00rootroot00000000000000[ { "::1.2.0.0/112" : { "domain" : "maxmind.com" } }, { "::71.160.223.0/120" : { "domain" : "verizon.net" } }, { "::186.30.236.0/120" : { "domain" : "replaced.com" } }, { "2a02:2770:3::/64" : { "domain" : "sgotti.org" } }, { "2a02:8420:48f4:b000::/64" : { "domain" : "sfr.net" } }, { "::142.217.194.0/119" : { "domain" : "telebecinternet.net" } }, { "::142.217.196.0/118" : { "domain" : "telebecinternet.net" } }, { "::142.217.200.0/117" : { "domain" : "telebecinternet.net" } }, { "::142.217.208.0/118" : { "domain" : "telebecinternet.net" } }, { "::142.217.212.0/119" : { "domain" : "telebecinternet.net" } }, { "::142.217.214.0/120" : { "domain" : "telebecinternet.net" } }, { "::208.110.201.0/120" : { "domain" : "comcastbusiness.net" } }, { "::208.110.202.0/119" : { "domain" : "comcastbusiness.net" } }, { "::208.110.204.0/118" : { "domain" : "comcastbusiness.net" } }, { "::208.110.208.0/116" : { "domain" : "comcastbusiness.net" } }, { "::222.230.136.0/118" : { "domain" : "gol.ne.jp" } }, { "::65.115.240.0/116" : { "domain" : "qwest.net" } }, { "::65.116.0.0/118" : { "domain" : "qwest.net" } }, { "::65.116.4.0/120" : { "domain" : "qwest.net" } }, { "::65.23.96.0/115" : { "domain" : "nuvox.net" } }, { "::66.92.78.0/119" : { "domain" : "speakeasy.net" } }, { "::66.92.80.0/116" : { "domain" : "speakeasy.net" } }, { "::66.92.96.0/115" : { "domain" : "speakeasy.net" } }, { "::66.92.128.0/113" : { "domain" : "speakeasy.net" } }, { "::66.93.0.0/113" : { "domain" : "speakeasy.net" } }, { "::66.93.128.0/114" : { "domain" : "speakeasy.net" } }, { "::66.93.192.0/115" : { "domain" : "speakeasy.net" } }, { "::66.93.224.0/116" : { "domain" : "speakeasy.net" } }, { "::66.93.240.0/117" : { "domain" : "speakeasy.net" } }, { "::66.93.248.0/119" : { "domain" : "speakeasy.net" } }, { "::67.43.156.0/120" : { "domain" : "shoesfin.NET" } }, { "::69.218.198.0/119" : { "domain" : "ameritech.net" } }, { "::69.218.200.0/117" : { "domain" : "ameritech.net" } }, { "::69.218.208.0/116" : { "domain" : "ameritech.net" } }, { "::69.218.224.0/115" : { "domain" : "ameritech.net" } }, { "::69.219.0.0/114" : { "domain" : "ameritech.net" } }, { "::69.219.64.0/116" : { "domain" : "ameritech.net" } }, { "::69.219.80.0/118" : { "domain" : "ameritech.net" } }, { "::69.219.84.0/120" : { "domain" : "ameritech.net" } }, { "::70.46.0.0/113" : { "domain" : "nuvox.net" } }, { "::70.46.128.0/118" : { "domain" : "nuvox.net" } }, { "::70.46.132.0/120" : { "domain" : "nuvox.net" } }, { "::71.136.2.0/119" : { "domain" : "pacbell.net" } }, { "::71.136.4.0/118" : { "domain" : "pacbell.net" } }, { "::71.136.8.0/117" : { "domain" : "pacbell.net" } }, { "::71.136.16.0/116" : { "domain" : "pacbell.net" } }, { "::71.136.32.0/115" : { "domain" : "pacbell.net" } }, { "::71.136.64.0/114" : { "domain" : "pacbell.net" } }, { "::71.136.128.0/113" : { "domain" : "pacbell.net" } }, { "::71.137.0.0/112" : { "domain" : "pacbell.net" } }, { "::71.138.0.0/113" : { "domain" : "pacbell.net" } }, { "::71.138.128.0/114" : { "domain" : "pacbell.net" } }, { "::71.138.192.0/116" : { "domain" : "pacbell.net" } }, { "::71.138.208.0/119" : { "domain" : "pacbell.net" } }, { "::74.0.88.0/117" : { "domain" : "covad.net" } }, { "::74.0.96.0/115" : { "domain" : "covad.net" } }, { "::74.0.128.0/113" : { "domain" : "covad.net" } }, { "::74.1.0.0/112" : { "domain" : "covad.net" } }, { "::74.2.0.0/113" : { "domain" : "covad.net" } }, { "::74.2.128.0/115" : { "domain" : "covad.net" } }, { "::74.2.160.0/117" : { "domain" : "covad.net" } }, { "::74.2.168.0/118" : { "domain" : "covad.net" } }, { "::74.2.172.0/119" : { "domain" : "covad.net" } }, { "::74.2.174.0/120" : { "domain" : "covad.net" } }, { "::75.77.84.0/118" : { "domain" : "nuvox.net" } }, { "::75.77.88.0/117" : { "domain" : "nuvox.net" } }, { "::75.77.96.0/115" : { "domain" : "nuvox.net" } }, { "::75.77.128.0/113" : { "domain" : "nuvox.net" } }, { "::78.26.67.0/120" : { "domain" : "popwifi.it" } }, { "::78.26.68.0/118" : { "domain" : "popwifi.it" } }, { "::78.26.72.0/117" : { "domain" : "popwifi.it" } }, { "::78.26.80.0/116" : { "domain" : "popwifi.it" } }, { "::78.26.96.0/117" : { "domain" : "popwifi.it" } }, { "::78.26.104.0/118" : { "domain" : "popwifi.it" } }, { "::78.26.108.0/119" : { "domain" : "popwifi.it" } }, { "::78.26.110.0/120" : { "domain" : "popwifi.it" } }, { "::81.2.64.0/115" : { "domain" : "in-addr.arpa" } }, { "::83.206.0.0/112" : { "domain" : "oleane.fr" } }, { "::89.160.0.0/116" : { "domain" : "bredband2.com" } }, { "::89.160.16.0/117" : { "domain" : "bredband2.com" } }, { "::89.160.24.0/118" : { "domain" : "bredband2.com" } }, { "::89.160.28.0/119" : { "domain" : "bredband2.com" } }, { "::89.160.30.0/120" : { "domain" : "bredband2.com" } }, { "::89.92.0.0/111" : { "domain" : "bbox.fr" } }, { "::89.94.0.0/112" : { "domain" : "bbox.fr" } }, { "::89.95.0.0/113" : { "domain" : "bbox.fr" } }, { "::89.95.128.0/114" : { "domain" : "bbox.fr" } }, { "::89.95.192.0/115" : { "domain" : "bbox.fr" } }, { "::89.95.224.0/116" : { "domain" : "bbox.fr" } }, { "::89.95.240.0/119" : { "domain" : "bbox.fr" } } ] python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data/GeoIP2-Enterprise-Test.json000066400000000000000000000466501310544161500331300ustar00rootroot00000000000000[ { "::2.125.160.216/125" : { "city" : { "confidence" : 50, "geoname_id" : "2655045", "names" : { "en" : "Boxford" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 95, "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.7500", "longitude" : "-1.2500", "time_zone" : "Europe/London" }, "postal" : { "code" : "OX1", "confidence" : 20 }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } }, { "geoname_id" : 3333217, "iso_code" : "WBK", "names" : { "en" : "West Berkshire", "ru" : "Западный Беркшир", "zh-CN" : "西伯克郡" } } ] } }, { "::67.43.156.0/120" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 99, "geoname_id" : 1252634, "iso_code" : "BT", "names" : { "de" : "Bhutan", "en" : "Bhutan", "es" : "Bután", "fr" : "Bhutan", "ja" : "ブータン王国", "pt-BR" : "Butão", "ru" : "Бутан", "zh-CN" : "不丹" } }, "location" : { "accuracy_radius" : 534, "latitude" : "27.5000", "longitude" : "90.5000", "time_zone" : "Asia/Thimphu" }, "registered_country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "autonomous_system_number" : 35908, "domain" : "shoesfin.NET", "is_anonymous_proxy" : true, "isp" : "Loud Packet", "organization" : "zudoarichikito_", "user_type" : "search_engine_spider" } } }, { "::74.209.24.0/116" : { "city" : { "confidence" : "11", "geoname_id" : "5112335", "names" : { "en" : "Chatham" } }, "continent" : { "code" : "NA", "geoname_id" : "6255149", "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : "99", "geoname_id" : "6252001", "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : "27", "latitude" : "42.347800", "longitude" : "-73.554900", "metro_code" : "532", "time_zone" : "America/New_York" }, "postal" : { "code" : "12037", "confidence" : "11" }, "registered_country" : { "geoname_id" : "6252001", "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : "93", "geoname_id" : "5128638", "iso_code" : "NY", "names" : { "de" : "New York", "en" : "New York", "es" : "Nueva York", "fr" : "New York", "ja" : "ニューヨーク州", "pt-BR" : "Nova Iorque", "ru" : "Нью-Йорк", "zh-CN" : "纽约州" } } ], "traits" : { "autonomous_system_number" : "14671", "autonomous_system_organization" : "FairPoint Communications", "connection_type" : "Cable/DSL", "domain" : "frpt.net", "is_anonymous_proxy" : true, "is_legitimate_proxy" : true, "is_satellite_provider" : true, "isp" : "Fairpoint Communications", "organization" : "Fairpoint Communications", "user_type" : "residential" } } }, { "::81.2.69.160/123" : { "city" : { "confidence" : 42, "geoname_id" : "2643743", "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 99, "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5142", "longitude" : "-0.0931", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 42, "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ], "traits" : { "connection_type" : "Corporate", "domain" : "in-addr.arpa", "isp" : "Andrews & Arnold Ltd", "organization" : "STONEHOUSE office network", "user_type" : "government" } } }, { "::89.160.20.112/124" : { "city" : { "confidence" : 51, "geoname_id" : "2694762", "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 99, "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : "58.4167", "longitude" : "15.6167", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "confidence" : 51, "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ], "traits" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB", "connection_type" : "Corporate", "domain" : "bredband2.com", "isp" : "Bredband2 AB", "organization" : "Bevtec", "user_type" : "government" } } }, { "::175.16.199.0/120" : { "city" : { "confidence" : 50, "geoname_id" : 2038180, "names" : { "de" : "Chángchūn", "en" : "Changchun", "fr" : "Changchun", "ja" : "長春市", "ru" : "Чанчунь", "zh-CN" : "长春" } }, "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 43.88, "longitude" : 125.3228, "time_zone" : "Asia/Harbin" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 2036500, "iso_code" : "22", "names" : { "en" : "Jilin Sheng", "zh-CN" : "吉林" } } ], "traits" : { "user_type" : "dialup" } } }, { "::202.196.224.0/116" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "location" : { "accuracy_radius" : 121, "latitude" : "13", "longitude" : "122", "time_zone" : "Asia/Manila" }, "postal" : { "code" : "34021", "confidence" : 20 }, "registered_country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "represented_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" }, "type" : "military" } } }, { "::216.160.83.56/125" : { "city" : { "confidence" : 40, "geoname_id" : "5803556", "names" : { "en" : "Milton", "ru" : "Мильтон" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 22, "latitude" : "47.2513", "longitude" : "-122.3149", "metro_code" : "819", "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "98354", "confidence" : 40 }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "subdivisions" : [ { "confidence" : 99, "geoname_id" : 5815135, "iso_code" : "WA", "names" : { "en" : "Washington", "es" : "Washington", "fr" : "État de Washington", "ja" : "ワシントン州", "ru" : "Вашингтон", "zh-CN" : "华盛顿州" } } ], "traits" : { "autonomous_system_number" : 209, "connection_type" : "Cable/DSL", "isp" : "Century Link", "organization" : "Lariat Software", "user_type" : "government" } } }, { "::212.47.235.81/128" : { "traits" : { "is_anonymous_proxy" : true } } }, { "::212.47.235.82/128" : { "traits" : { "is_satellite_provider" : true } } } ] python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data/GeoIP2-ISP-Test.json000066400000000000000000011223041310544161500314330ustar00rootroot00000000000000[ { "::1.0.128.0/113" : { "isp" : "TOT Public Company Limited", "organization" : "TOT Public Company Limited" } }, { "::1.128.0.0/107" : { "autonomous_system_number" : 1221, "autonomous_system_organization" : "Telstra Pty Ltd", "isp" : "Telstra Internet", "organization" : "Telstra Internet" } }, { "::4.0.0.0/104" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::5.83.124.0/118" : { "isp" : "WifiNetCom" } }, { "::5.145.96.0/117" : { "isp" : "Finecom" } }, { "::8.0.0.0/107" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.32.0.0/112" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.0.0/116" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.16.0/119" : { "isp" : "Level 3 Communications", "organization" : "Co-Mo Connect" } }, { "::8.33.18.0/119" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.20.0/118" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.24.0/117" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.32.0/115" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.64.0/114" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.128.0/113" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.34.0.0/111" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.36.0.0/110" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.40.0.0/109" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.48.0.0/108" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.64.0.0/106" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.128.0.0/105" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::12.0.0.0/106" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.64.0.0/108" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.80.0.0/112" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.0.0/114" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.64.0/116" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.80.0/117" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.88.0/118" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.92.0/118" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.96.0/115" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.128.0/113" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.82.0.0/111" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.84.0.0/111" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.86.0.0/112" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.0.0/114" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.64.0/115" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.96.0/116" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.112.0/118" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.116.0/119" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.118.0/119" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Worldnet Services" } }, { "::12.87.120.0/117" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.128.0/113" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.88.0.0/109" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.0.0/116" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.16.0/120" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.17.0/120" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.18.0/119" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.20.0/118" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.24.0/117" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.32.0/115" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.64.0/114" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.128.0/113" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.97.0.0/112" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.98.0.0/111" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.100.0.0/110" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.104.0.0/109" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.112.0.0/108" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.128.0.0/105" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::15.0.0.0/104" : { "autonomous_system_number" : 71, "autonomous_system_organization" : "Hewlett-Packard Company", "isp" : "Hewlett-Packard Company", "organization" : "Hewlett-Packard Company" } }, { "::16.0.0.0/104" : { "autonomous_system_number" : 71, "autonomous_system_organization" : "Hewlett-Packard Company", "isp" : "Hewlett-Packard Company", "organization" : "Hewlett-Packard Company" } }, { "::17.0.0.0/104" : { "isp" : "Apple", "organization" : "Apple" } }, { "::18.0.0.0/104" : { "autonomous_system_number" : 3, "autonomous_system_organization" : "Massachusetts Institute of Technology", "isp" : "Massachusetts Institute of Technology", "organization" : "Massachusetts Institute of Technology" } }, { "::23.32.0.0/107" : { "autonomous_system_number" : 35994, "autonomous_system_organization" : "Akamai Technologies, Inc.", "isp" : "Akamai Technologies", "organization" : "Akamai Technologies" } }, { "::23.192.0.0/107" : { "autonomous_system_number" : 35994, "autonomous_system_organization" : "Akamai Technologies, Inc.", "isp" : "Akamai Technologies", "organization" : "Akamai Technologies" } }, { "::24.38.243.141/128" : { "organization" : "LAWN MULLEN & GOOD INTERNATIONAL" } }, { "::27.0.16.0/116" : { "isp" : "GLBB" } }, { "::27.192.0.0/107" : { "autonomous_system_number" : 4837, "autonomous_system_organization" : "CNCGROUP China169 Backbone", "isp" : "China Unicom Liaoning", "organization" : "China Unicom Liaoning" } }, { "::31.64.0.0/106" : { "autonomous_system_number" : 12576, "autonomous_system_organization" : "Orange Personal Communications Services" } }, { "::31.224.0.0/107" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::32.0.0.0/106" : { "organization" : "AT&T Wireless" } }, { "::32.64.0.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.2.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.3.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.4.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.6.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.7.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.8.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.9.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.10.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.11.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.12.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.13.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.14.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.16.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.17.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.18.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.20.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.21.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.22.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.24.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.25.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.26.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.27.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.28.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.29.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.30.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.31.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.32.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.34.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.35.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.36.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.37.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.38.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.40.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.41.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.42.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.44.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.46.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.47.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.48.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.49.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.50.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.52.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.56.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.60.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.61.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.62.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.63.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.64.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.66.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.67.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.68.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.72.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.74.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.75.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.76.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.80.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.82.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.84.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.85.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.86.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.88.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.90.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.92.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.96.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.100.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.101.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.102.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.103.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.104.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.106.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.108.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.109.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.110.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.111.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.112.0/117" : { "organization" : "AT&T Wireless" } }, { "::32.64.120.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.124.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.125.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.126.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.127.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.128.0/117" : { "organization" : "AT&T Wireless" } }, { "::32.64.136.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.140.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.141.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.142.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.144.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.145.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.146.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.148.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.149.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.150.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.152.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.154.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.155.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.156.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.157.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.158.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.159.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.160.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.161.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.162.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.164.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.168.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.169.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.170.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.172.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.176.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.180.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.182.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.183.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.184.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.186.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.187.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.188.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.190.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.192.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.196.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.197.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.198.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.200.0/117" : { "organization" : "AT&T Wireless" } }, { "::32.64.208.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.209.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.210.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.211.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.212.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.213.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.214.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.216.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.217.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.218.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.219.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.220.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.221.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.222.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.224.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.228.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.230.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.232.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.234.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.235.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.236.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.238.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.239.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.240.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.242.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.243.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.244.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.245.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.246.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.247.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.248.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.249.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.250.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.252.0/118" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.65.0.0/112" : { "organization" : "AT&T Wireless" } }, { "::32.66.0.0/111" : { "organization" : "AT&T Wireless" } }, { "::32.68.0.0/110" : { "organization" : "AT&T Wireless" } }, { "::32.72.0.0/109" : { "organization" : "AT&T Wireless" } }, { "::32.80.0.0/108" : { "organization" : "AT&T Wireless" } }, { "::32.96.0.0/107" : { "organization" : "AT&T Wireless" } }, { "::32.128.0.0/105" : { "organization" : "AT&T Wireless" } }, { "::35.0.0.0/105" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc.", "isp" : "Merit Network", "organization" : "Merit Network" } }, { "::35.128.0.0/107" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc.", "isp" : "Merit Network", "organization" : "Merit Network" } }, { "::36.192.0.0/107" : { "autonomous_system_number" : 9394, "autonomous_system_organization" : "China TieTong Telecommunications Corporation", "isp" : "China TieTong", "organization" : "China TieTong" } }, { "::37.43.3.0/120" : { "isp" : "PFA Mihalascu Viorel" } }, { "::37.60.16.0/117" : { "organization" : "Metroset" } }, { "::37.110.0.0/115" : { "organization" : "National Cable Networks" } }, { "::37.110.32.0/117" : { "organization" : "National Cable Networks" } }, { "::37.110.40.0/120" : { "organization" : "National Cable Networks" } }, { "::37.110.41.0/124" : { "organization" : "National Cable Networks" } }, { "::37.110.41.16/125" : { "organization" : "National Cable Networks" } }, { "::37.110.41.24/128" : { "organization" : "Onlime" } }, { "::37.110.41.25/128" : { "organization" : "National Cable Networks" } }, { "::37.110.41.26/127" : { "organization" : "National Cable Networks" } }, { "::37.110.41.28/126" : { "organization" : "National Cable Networks" } }, { "::37.110.41.32/123" : { "organization" : "National Cable Networks" } }, { "::37.110.41.64/122" : { "organization" : "National Cable Networks" } }, { "::37.110.41.128/121" : { "organization" : "National Cable Networks" } }, { "::37.110.42.0/119" : { "organization" : "National Cable Networks" } }, { "::37.110.44.0/118" : { "organization" : "National Cable Networks" } }, { "::37.110.48.0/116" : { "organization" : "National Cable Networks" } }, { "::37.110.64.0/114" : { "organization" : "National Cable Networks" } }, { "::38.0.0.0/106" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.64.0.0/109" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.72.0.0/112" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.0.0/113" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.128.0/119" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.130.0/120" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "SUMO FIBER" } }, { "::38.73.131.0/120" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.132.0/119" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.134.0/119" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "SUMO FIBER" } }, { "::38.73.136.0/117" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.144.0/116" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.160.0/115" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.192.0/114" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.74.0.0/111" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.76.0.0/110" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.80.0.0/108" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.96.0.0/109" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.104.0.0/112" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.0.0/122" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.0.64/123" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "GHD" } }, { "::38.105.0.96/123" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.0.128/121" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.1.0/120" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.2.0/119" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.4.0/118" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.8.0/117" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.16.0/116" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.32.0/115" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.64.0/114" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.128.0/113" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.106.0.0/111" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.0.0/114" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.64.0/116" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.0/124" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.16/125" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.24/126" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.28/127" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.30/128" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "La Presse" } }, { "::38.108.80.31/128" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.32/123" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.64/122" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.128/121" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.81.0/120" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.82.0/119" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.84.0/118" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.88.0/117" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.96.0/115" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.128.0/113" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.109.0.0/112" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.0.0/115" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.32.0/116" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.48.0/118" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Athena Broadband" } }, { "::38.110.52.0/118" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.56.0/117" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.64.0/114" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.128.0/113" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.111.0.0/112" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.112.0.0/108" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.128.0.0/105" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::39.32.0.0/107" : { "autonomous_system_number" : 45595, "autonomous_system_organization" : "Pakistan Telecom Company Limited", "isp" : "PTCL", "organization" : "PTCL" } }, { "::39.64.0.0/107" : { "autonomous_system_number" : 4837, "autonomous_system_organization" : "CNCGROUP China169 Backbone", "isp" : "China Unicom Liaoning", "organization" : "China Unicom Liaoning" } }, { "::39.192.0.0/106" : { "autonomous_system_number" : 23693, "autonomous_system_organization" : "PT. Telekomunikasi Selular", "isp" : "Telkomsel", "organization" : "Telkomsel" } }, { "::41.74.98.48/124" : { "organization" : "MapleTel" } }, { "::41.112.0.0/108" : { "isp" : "MTN SA" } }, { "::44.0.0.0/104" : { "autonomous_system_number" : 7377, "autonomous_system_organization" : "University of California at San Diego", "isp" : "University of California at San Diego", "organization" : "University of California at San Diego" } }, { "::47.64.0.0/109" : { "isp" : "Vodafone D2 GmbH" } }, { "::47.72.0.0/128" : { "isp" : "Vodafone New Zealand" } }, { "::49.64.0.0/107" : { "autonomous_system_number" : 4134, "autonomous_system_organization" : "Chinanet", "isp" : "China Telecom", "organization" : "China Telecom" } }, { "::50.73.224.133/128" : { "organization" : "iWiSP llc" } }, { "::50.128.0.0/105" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::53.0.0.0/104" : { "autonomous_system_number" : 31399, "autonomous_system_organization" : "Daimler Autonomous System", "isp" : "Daimler", "organization" : "Daimler" } }, { "::55.0.0.0/104" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "::57.0.0.0/104" : { "autonomous_system_number" : 2647, "autonomous_system_organization" : "SITA", "isp" : "SITA", "organization" : "SITA" } }, { "::59.0.0.0/107" : { "autonomous_system_number" : 4766, "autonomous_system_organization" : "Korea Telecom", "isp" : "Korea Telecom", "organization" : "Korea Telecom" } }, { "::60.64.0.0/106" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp.", "isp" : "Softbank BB Corp", "organization" : "Softbank BB Corp" } }, { "::60.128.0.0/107" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp.", "isp" : "Softbank BB Corp", "organization" : "Softbank BB Corp" } }, { "::62.7.87.0/120" : { "organization" : "Fibrestream Limited" } }, { "::62.51.0.0/112" : { "isp" : "America Online" } }, { "::62.67.0.0/112" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::62.75.0.0/115" : { "isp" : "OTEGLOBE", "organization" : "OTEGLOBE" } }, { "::62.82.202.128/125" : { "isp" : "Urania Telecom" } }, { "::62.91.95.0/120" : { "isp" : "Bisping & Bisping, ISP and Citycarrier", "organization" : "Bisping & Bisping, ISP and Citycarrier" } }, { "::62.91.96.0/119" : { "isp" : "Bisping & Bisping, ISP and Citycarrier", "organization" : "Bisping & Bisping, ISP and Citycarrier" } }, { "::62.91.98.0/120" : { "isp" : "Bisping & Bisping, ISP and Citycarrier", "organization" : "Bisping & Bisping, ISP and Citycarrier" } }, { "::62.107.0.0/112" : { "isp" : "Telia Stofa A/S", "organization" : "Telia Stofa A/S" } }, { "::62.178.0.0/111" : { "isp" : "UPC Austria GmbH", "organization" : "UPC Austria GmbH" } }, { "::62.254.186.96/123" : { "isp" : "East Renfrewshire Council Barrhead Library", "organization" : "East Renfrewshire Council Barrhead Library" } }, { "::63.147.126.103/128" : { "isp" : "SuperDuper Telecommunications Network" } }, { "::64.17.248.0/118" : { "autonomous_system_number" : 33224 } }, { "::64.17.252.0/119" : { "autonomous_system_number" : 33224 } }, { "::64.17.254.0/121" : { "autonomous_system_number" : 33224 } }, { "::64.17.254.128/122" : { "autonomous_system_number" : 33224 } }, { "::64.17.254.192/124" : { "autonomous_system_number" : 33224 } }, { "::64.17.254.208/125" : { "autonomous_system_number" : 33224 } }, { "::64.17.254.216/125" : { "autonomous_system_number" : 33224, "isp" : "Towerstream I", "organization" : "Karlin Peebles LLP" } }, { "::64.17.254.224/123" : { "autonomous_system_number" : 33224 } }, { "::64.17.255.0/120" : { "autonomous_system_number" : 33224 } }, { "::64.124.194.51/128" : { "organization" : "Kontera" } }, { "::64.143.224.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::64.143.229.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::64.143.246.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::64.213.52.32/123" : { "organization" : "Beyond Next" } }, { "::65.23.96.0/116" : { "autonomous_system_number" : 11456 } }, { "::65.23.112.0/117" : { "autonomous_system_number" : 11456 } }, { "::65.23.120.0/120" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.0/121" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.128/122" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.192/124" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.208/125" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.216/126" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.220/128" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.221/128" : { "autonomous_system_number" : 11456, "isp" : "Nuvox Communications", "organization" : "Endodontic Associates Of Savannah" } }, { "::65.23.121.222/127" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.224/123" : { "autonomous_system_number" : 11456 } }, { "::65.23.122.0/119" : { "autonomous_system_number" : 11456 } }, { "::65.23.124.0/118" : { "autonomous_system_number" : 11456 } }, { "::65.115.241.0/120" : { "autonomous_system_number" : 209 } }, { "::65.115.242.0/119" : { "autonomous_system_number" : 209 } }, { "::65.115.244.0/118" : { "autonomous_system_number" : 209 } }, { "::65.115.248.0/117" : { "autonomous_system_number" : 209 } }, { "::65.116.0.0/119" : { "autonomous_system_number" : 209 } }, { "::65.116.2.0/120" : { "autonomous_system_number" : 209 } }, { "::65.116.3.0/122" : { "autonomous_system_number" : 209 } }, { "::65.116.3.64/124" : { "autonomous_system_number" : 209 } }, { "::65.116.3.80/127" : { "autonomous_system_number" : 209, "isp" : "Century Link", "organization" : "ATMI" } }, { "::65.116.3.82/128" : { "autonomous_system_number" : 209, "isp" : "Century Link", "organization" : "ATMI" } }, { "::65.116.3.83/128" : { "autonomous_system_number" : 209 } }, { "::65.116.3.84/126" : { "autonomous_system_number" : 209 } }, { "::65.116.3.88/125" : { "autonomous_system_number" : 209 } }, { "::65.116.3.96/123" : { "autonomous_system_number" : 209 } }, { "::65.116.3.128/121" : { "autonomous_system_number" : 209 } }, { "::65.116.4.0/118" : { "autonomous_system_number" : 209 } }, { "::65.116.8.0/118" : { "autonomous_system_number" : 209 } }, { "::65.116.12.0/119" : { "autonomous_system_number" : 209 } }, { "::65.128.0.0/107" : { "autonomous_system_number" : 209, "autonomous_system_organization" : "Qwest Communications Company, LLC", "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::65.192.0.0/107" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business", "isp" : "Verizon Business", "organization" : "Verizon Business" } }, { "::66.62.204.0/120" : { "organization" : "Johnson Services, LLC." } }, { "::66.92.0.0/113" : { "autonomous_system_number" : 23504 } }, { "::66.92.128.0/115" : { "autonomous_system_number" : 23504 } }, { "::66.92.160.0/116" : { "autonomous_system_number" : 23504 } }, { "::66.92.176.0/118" : { "autonomous_system_number" : 23504 } }, { "::66.92.180.0/120" : { "autonomous_system_number" : 23504 } }, { "::66.92.181.0/121" : { "autonomous_system_number" : 23504 } }, { "::66.92.181.128/122" : { "autonomous_system_number" : 23504 } }, { "::66.92.181.192/123" : { "autonomous_system_number" : 23504 } }, { "::66.92.181.224/124" : { "autonomous_system_number" : 23504 } }, { "::66.92.181.240/124" : { "autonomous_system_number" : 23504, "isp" : "Speakeasy", "organization" : "Vikco Insurance" } }, { "::66.92.182.0/119" : { "autonomous_system_number" : 23504 } }, { "::66.92.184.0/117" : { "autonomous_system_number" : 23504 } }, { "::66.92.192.0/114" : { "autonomous_system_number" : 23504 } }, { "::66.93.0.0/112" : { "autonomous_system_number" : 23504 } }, { "::66.249.146.128/121" : { "isp" : "Digicel Antigua" } }, { "::66.249.156.136/125" : { "isp" : "Digicel Antigua" } }, { "::67.43.149.0/120" : { "autonomous_system_number" : 35908 } }, { "::67.43.150.0/119" : { "autonomous_system_number" : 35908 } }, { "::67.43.152.0/118" : { "autonomous_system_number" : 35908 } }, { "::67.43.156.0/122" : { "autonomous_system_number" : 35908, "isp" : "Loud Packet", "organization" : "zudoarichikito_" } }, { "::67.43.156.64/122" : { "autonomous_system_number" : 35908, "isp" : "Loud Packet", "organization" : "ania_jab?o?ska" } }, { "::67.43.156.128/122" : { "autonomous_system_number" : 35908, "isp" : "Loud Packet", "organization" : "halle_moore" } }, { "::67.43.156.192/122" : { "autonomous_system_number" : 35908, "isp" : "Loud Packet", "organization" : "park_tai" } }, { "::67.43.157.0/120" : { "autonomous_system_number" : 35908 } }, { "::67.43.158.0/119" : { "autonomous_system_number" : 35908 } }, { "::67.160.0.0/107" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::68.2.0.0/111" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.4.0.0/110" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.9.0.0/112" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.12.0.0/112" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.20.32.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.23.176.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.32.0.0/107" : { "organization" : "Comcast Cable" } }, { "::68.64.64.0/115" : { "isp" : "WCS", "organization" : "WCS" } }, { "::68.65.192.0/114" : { "isp" : "Colostore.com", "organization" : "Colostore.com" } }, { "::68.67.80.0/116" : { "isp" : "Wave Broadband", "organization" : "Wave Broadband" } }, { "::68.72.8.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.73.96.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.75.32.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.78.64.0/116" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.82.0.0/112" : { "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::68.94.48.0/116" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.94.64.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.97.0.0/112" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.102.0.0/111" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.136.0.0/110" : { "isp" : "UUNET Technologies", "organization" : "UUNET Technologies" } }, { "::68.144.0.0/109" : { "isp" : "Shaw Communications", "organization" : "Shaw Communications" } }, { "::68.168.80.0/116" : { "isp" : "Dbs International", "organization" : "Dbs International" } }, { "::68.168.96.0/116" : { "isp" : "Codero", "organization" : "Codero" } }, { "::68.171.80.0/116" : { "isp" : "Tri-County Telephone", "organization" : "Tri-County Telephone" } }, { "::68.171.192.0/116" : { "isp" : "Datacenter101", "organization" : "Datacenter101" } }, { "::68.176.0.0/112" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.177.0.0/114" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.177.64.0/117" : { "isp" : "CenturyLink", "organization" : "Cibola Internet Services" } }, { "::68.177.72.0/117" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.177.80.0/116" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.177.96.0/115" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.177.128.0/113" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.181.0.0/112" : { "isp" : "University of Southern California", "organization" : "University of Southern California" } }, { "::68.182.0.0/112" : { "isp" : "Telus Communications", "organization" : "Telus Communications" } }, { "::68.183.0.0/112" : { "isp" : "DSL Extreme", "organization" : "DSL Extreme" } }, { "::68.232.64.0/115" : { "isp" : "Yak Communications (Canada) Corp", "organization" : "Yak Communications (Canada) Corp" } }, { "::68.232.96.0/116" : { "isp" : "Channel Clarity Holdings, LLC", "organization" : "Channel Clarity Holdings, LLC" } }, { "::68.240.0.0/109" : { "isp" : "Sprint PCS", "organization" : "Sprint PCS" } }, { "::68.253.48.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.255.96.0/116" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::69.218.35.0/120" : { "autonomous_system_number" : 7132 } }, { "::69.218.36.0/118" : { "autonomous_system_number" : 7132 } }, { "::69.218.40.0/117" : { "autonomous_system_number" : 7132 } }, { "::69.218.48.0/116" : { "autonomous_system_number" : 7132 } }, { "::69.218.64.0/114" : { "autonomous_system_number" : 7132 } }, { "::69.218.128.0/114" : { "autonomous_system_number" : 7132 } }, { "::69.218.192.0/115" : { "autonomous_system_number" : 7132 } }, { "::69.218.224.0/116" : { "autonomous_system_number" : 7132 } }, { "::69.218.240.0/117" : { "autonomous_system_number" : 7132 } }, { "::69.218.248.0/119" : { "autonomous_system_number" : 7132 } }, { "::69.218.250.0/120" : { "autonomous_system_number" : 7132 } }, { "::69.218.251.0/124" : { "autonomous_system_number" : 7132 } }, { "::69.218.251.16/124" : { "autonomous_system_number" : 7132, "isp" : "AT&T Internet Services", "organization" : "r x optical" } }, { "::69.218.251.32/123" : { "autonomous_system_number" : 7132 } }, { "::69.218.251.64/122" : { "autonomous_system_number" : 7132 } }, { "::69.218.251.128/121" : { "autonomous_system_number" : 7132 } }, { "::69.218.252.0/118" : { "autonomous_system_number" : 7132 } }, { "::69.219.0.0/114" : { "autonomous_system_number" : 7132 } }, { "::69.219.64.0/116" : { "autonomous_system_number" : 7132 } }, { "::69.219.80.0/118" : { "autonomous_system_number" : 7132 } }, { "::69.220.29.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::69.220.30.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::70.46.21.0/120" : { "autonomous_system_number" : 11456 } }, { "::70.46.22.0/119" : { "autonomous_system_number" : 11456 } }, { "::70.46.24.0/117" : { "autonomous_system_number" : 11456 } }, { "::70.46.32.0/115" : { "autonomous_system_number" : 11456 } }, { "::70.46.64.0/115" : { "autonomous_system_number" : 11456 } }, { "::70.46.96.0/116" : { "autonomous_system_number" : 11456 } }, { "::70.46.112.0/117" : { "autonomous_system_number" : 11456 } }, { "::70.46.120.0/119" : { "autonomous_system_number" : 11456 } }, { "::70.46.122.0/120" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.0/121" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.128/124" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.144/128" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.145/128" : { "autonomous_system_number" : 11456, "isp" : "FDN Communications", "organization" : "DSLAM WAN Allocation" } }, { "::70.46.123.146/127" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.148/126" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.152/125" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.160/123" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.192/122" : { "autonomous_system_number" : 11456 } }, { "::70.46.124.0/118" : { "autonomous_system_number" : 11456 } }, { "::70.46.128.0/113" : { "autonomous_system_number" : 11456 } }, { "::70.160.0.0/107" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::70.192.0.0/107" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::70.224.0.0/107" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.96.0.0/107" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business", "isp" : "Verizon Business", "organization" : "Verizon Business" } }, { "::71.128.0.0/110" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.132.0.0/111" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.0.0/114" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.64.0/117" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.72.0/118" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.76.0/119" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.78.0/119" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.80.0/116" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.96.0/115" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.128.0/113" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.135.0.0/112" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.136.0.0/111" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.0.0/114" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.64.0/115" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.96.0/117" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.104.0/121" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.104.128/122" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.104.192/123" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.104.224/124" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.104.240/125" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "Leung Yin Lam Dba" } }, { "::71.138.104.248/125" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.105.0/120" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.106.0/119" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.108.0/118" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.112.0/116" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.128.0/113" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.139.0.0/112" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.0.0/113" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.128.0/114" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.192.0/118" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.196.0/119" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.198.0/119" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.200.0/117" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.208.0/116" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.224.0/115" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.141.0.0/112" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.142.0.0/111" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.144.0.0/108" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::72.96.0.0/107" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::72.192.0.0/108" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.208.0.0/110" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.212.0.0/111" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.0.0/118" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.4.0/119" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.0/122" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.64/125" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.72/128" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Loud Packet", "organization" : "Cox Communications" } }, { "::72.214.6.73/128" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.74/127" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.76/126" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.80/124" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.96/123" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.128/121" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.7.0/120" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.8.0/117" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.16.0/116" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.32.0/115" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.64.0/114" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.128.0/113" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.215.0.0/112" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.216.0.0/109" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::73.0.0.0/104" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::74.0.32.0/115" : { "autonomous_system_number" : 18566 } }, { "::74.0.64.0/114" : { "autonomous_system_number" : 18566 } }, { "::74.0.128.0/117" : { "autonomous_system_number" : 18566 } }, { "::74.0.136.0/120" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.0/121" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.128/122" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.192/127" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.194/128" : { "autonomous_system_number" : 18566, "isp" : "Covad Communications", "organization" : "Covad Communications" } }, { "::74.0.137.195/128" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.196/126" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.200/125" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.208/124" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.224/123" : { "autonomous_system_number" : 18566 } }, { "::74.0.138.0/119" : { "autonomous_system_number" : 18566 } }, { "::74.0.140.0/118" : { "autonomous_system_number" : 18566 } }, { "::74.0.144.0/116" : { "autonomous_system_number" : 18566 } }, { "::74.0.160.0/117" : { "autonomous_system_number" : 18566 } }, { "::74.39.211.192/122" : { "organization" : "WHEC TV" } }, { "::74.160.0.0/107" : { "autonomous_system_number" : 6389, "autonomous_system_organization" : "BellSouth.net Inc.", "isp" : "BellSouth.net", "organization" : "BellSouth.net" } }, { "::74.217.148.71/128" : { "organization" : "INTERNAP" } }, { "::74.224.0.0/107" : { "autonomous_system_number" : 6389, "autonomous_system_organization" : "BellSouth.net Inc.", "isp" : "BellSouth.net", "organization" : "BellSouth.net" } }, { "::75.0.0.0/107" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::75.55.67.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.69.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.79.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.97.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.98.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.102.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.110.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.62.54.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.62.59.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.62.61.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.62.63.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.77.40.0/117" : { "autonomous_system_number" : 11456 } }, { "::75.77.48.0/116" : { "autonomous_system_number" : 11456 } }, { "::75.77.64.0/114" : { "autonomous_system_number" : 11456 } }, { "::75.77.128.0/114" : { "autonomous_system_number" : 11456 } }, { "::75.77.192.0/116" : { "autonomous_system_number" : 11456 } }, { "::75.77.208.0/119" : { "autonomous_system_number" : 11456 } }, { "::75.77.210.0/120" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.0/121" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.128/122" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.192/124" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.208/126" : { "autonomous_system_number" : 11456, "isp" : "Nuvox Communications", "organization" : "Child Care Assoc. Of Brevard County (pinewood)" } }, { "::75.77.211.212/126" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.216/125" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.224/123" : { "autonomous_system_number" : 11456 } }, { "::75.77.212.0/118" : { "autonomous_system_number" : 11456 } }, { "::75.77.216.0/117" : { "autonomous_system_number" : 11456 } }, { "::75.77.224.0/115" : { "autonomous_system_number" : 11456 } }, { "::75.192.0.0/106" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::76.96.0.0/107" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::76.128.0.0/107" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::76.224.0.0/107" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::77.74.230.0/119" : { "organization" : "Cutuknet" } }, { "::77.128.0.0/107" : { "autonomous_system_number" : 15557, "autonomous_system_organization" : "Societe Francaise du Radiotelephone S.A", "isp" : "SFR", "organization" : "SFR" } }, { "::78.26.64.0/118" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.68.0/119" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.70.0/121" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.70.128/122" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.70.192/124" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.70.208/125" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl", "isp" : "ASDASD srl a socio unico", "organization" : "Marino Dalla Gasperina" } }, { "::78.26.70.216/125" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.70.224/123" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.71.0/120" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.72.0/117" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.80.0/116" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.96.0/116" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.112.0/117" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.120.0/118" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.124.0/119" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.138.56.64/125" : { "organization" : "Clever Technology and Systems Nigeria" } }, { "::78.192.0.0/106" : { "isp" : "Free SAS", "organization" : "Free SAS" } }, { "::79.101.50.0/120" : { "organization" : "SokoWireless.NET!" } }, { "::79.172.210.0/120" : { "isp" : "SzerverPlex Ltd." } }, { "::79.192.0.0/106" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::80.64.0.0/116" : { "isp" : "TDC Oy Finland", "organization" : "TDC Oy Finland" } }, { "::80.64.192.0/116" : { "isp" : "DataGuard AS", "organization" : "DataGuard AS" } }, { "::80.65.32.0/116" : { "isp" : "WRonline GbR", "organization" : "WRonline GbR" } }, { "::80.66.160.0/116" : { "isp" : "University of Jyvaskyla, Commercial Internet Servi", "organization" : "University of Jyvaskyla, Commercial Internet Servi" } }, { "::80.71.224.0/116" : { "isp" : "Your Voice S.p.A.", "organization" : "Your Voice S.p.A." } }, { "::80.75.224.0/116" : { "isp" : "Teleport Consulting & Systemmanagement GmbH", "organization" : "Teleport Consulting & Systemmanagement GmbH" } }, { "::80.81.192.0/116" : { "isp" : "DE-CIX Management GmbH", "organization" : "DE-CIX Management GmbH" } }, { "::80.128.0.0/107" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::81.2.69.160/125" : { "isp" : "Andrews & Arnold Ltd", "organization" : "STONEHOUSE office network" } }, { "::81.128.0.0/107" : { "autonomous_system_number" : 2856, "autonomous_system_organization" : "BTnet UK Regional network", "isp" : "BT", "organization" : "BT" } }, { "::81.178.22.65/128" : { "organization" : "Caravan Guard Ltd" } }, { "::82.0.0.0/107" : { "isp" : "Virgin Media", "organization" : "Virgin Media" } }, { "::82.99.0.0/116" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.16.0/120" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.17.0/122" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.17.64/123" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.17.96/123" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only", "isp" : "IP-Only Telecommunication Networks AB", "organization" : "Effectiv Solutions" } }, { "::82.99.17.128/121" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.18.0/119" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.20.0/118" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.24.0/117" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.32.0/115" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.137.8.0/117" : { "isp" : "RCS & RDS Mobile" } }, { "::82.224.0.0/107" : { "isp" : "Free SAS", "organization" : "Free SAS" } }, { "::83.0.0.0/107" : { "isp" : "Orange Polska Spolka Akcyjna", "organization" : "Orange Polska Spolka Akcyjna" } }, { "::83.100.215.128/121" : { "organization" : "Fibrestream Limited" } }, { "::83.206.10.0/119" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.12.0/118" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.16.0/116" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.32.0/118" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.36.0/121" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.36.128/122" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.36.192/123" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.36.224/125" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange", "isp" : "France Telecom", "organization" : "Transports Routiers De Marchandises" } }, { "::83.206.36.232/125" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.36.240/124" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.37.0/120" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.38.0/119" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.40.0/117" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.48.0/116" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.64.0/119" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::84.128.0.0/106" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::84.234.48.0/116" : { "isp" : "Linkservice, Ltd" } }, { "::85.88.0.0/119" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.2.0/121" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.2.128/122" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.2.192/123" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.2.224/123" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH", "isp" : "Surfplanet GmbH", "organization" : "Surfplanet GmbH" } }, { "::85.88.3.0/120" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.4.0/118" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.8.0/117" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.16.0/116" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::86.0.0.0/107" : { "isp" : "Virgin Media", "organization" : "Virgin Media" } }, { "::86.105.244.0/118" : { "organization" : "2K Telecom SRL" } }, { "::86.128.0.0/106" : { "isp" : "BT", "organization" : "BT" } }, { "::87.128.0.0/106" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::87.229.77.0/120" : { "isp" : "SzerverPlex Ltd." } }, { "::88.160.0.0/107" : { "isp" : "Free SAS", "organization" : "Free SAS" } }, { "::89.45.176.0/116" : { "organization" : "2K Telecom SRL" } }, { "::89.80.0.0/109" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.88.0.0/110" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.0.0/113" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.128.0/114" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.192.0/116" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.208.0/118" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.212.0/119" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP", "isp" : "Bouygues Telecom", "organization" : "Bouygues Telecom" } }, { "::89.92.214.0/119" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.216.0/117" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.224.0/115" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.93.0.0/112" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.94.0.0/111" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.140.209.0/120" : { "organization" : "WICO" } }, { "::89.160.0.0/116" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.16.0/118" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.20.0/122" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.20.64/123" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.20.96/124" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.20.112/125" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB", "isp" : "Bredband2 AB", "organization" : "Bevtec" } }, { "::89.160.20.120/125" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.20.128/121" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.21.0/120" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.22.0/119" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.24.0/117" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.32.0/115" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.64.0/114" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.187.32.0/115" : { "isp" : "Monitoring, PA" } }, { "::91.0.0.0/106" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::91.204.152.0/118" : { "organization" : "X-Com Partners" } }, { "::91.211.200.0/118" : { "isp" : "Specialist Ltd." } }, { "::91.223.175.0/120" : { "organization" : "DATA-COM Piotr Data" } }, { "::91.225.116.0/118" : { "organization" : "RostNet" } }, { "::91.231.240.0/120" : { "organization" : "TELL-NET" } }, { "::91.236.68.0/118" : { "isp" : "Air-Net Elektronik" } }, { "::91.238.12.0/118" : { "isp" : "Linkservice, Ltd" } }, { "::93.170.6.0/120" : { "isp" : "VHG" } }, { "::93.183.128.0/115" : { "isp" : "ESCOM Ltd." } }, { "::93.192.0.0/106" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::94.103.0.0/116" : { "isp" : "Monitoring, PA" } }, { "::94.156.200.0/117" : { "organization" : "Linkplus" } }, { "::94.199.176.0/119" : { "isp" : "SzerverPlex Ltd." } }, { "::94.243.192.0/116" : { "organization" : "It Region" } }, { "::95.167.144.0/118" : { "organization" : "Internet67" } }, { "::96.128.0.0/106" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::97.0.0.0/106" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::97.128.0.0/105" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::98.192.0.0/106" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::100.43.128.0/120" : { "isp" : "Firecold_Inc", "organization" : "Firecold_Inc" } }, { "::100.43.129.0/122" : { "isp" : "bernice_ulloa", "organization" : "bernice_ulloa" } }, { "::100.43.129.64/123" : { "isp" : "cheng_shih", "organization" : "cheng_shih" } }, { "::100.43.129.96/123" : { "isp" : "loránd_csapó", "organization" : "loránd_csapó" } }, { "::100.43.129.128/124" : { "isp" : "dewei_feng", "organization" : "dewei_feng" } }, { "::100.43.129.144/124" : { "isp" : "radoslav_ja?ar", "organization" : "radoslav_ja?ar" } }, { "::100.43.129.160/124" : { "isp" : "jakub_henderson", "organization" : "jakub_henderson" } }, { "::100.43.129.176/124" : { "isp" : "elisa_blom", "organization" : "elisa_blom" } }, { "::100.43.129.192/125" : { "isp" : "gertrude_burnham", "organization" : "gertrude_burnham" } }, { "::100.43.129.200/125" : { "isp" : "mariam_lovett", "organization" : "mariam_lovett" } }, { "::100.43.129.208/125" : { "isp" : "nicolas_correia", "organization" : "nicolas_correia" } }, { "::100.43.129.224/125" : { "isp" : "rostislav_sou?ek", "organization" : "rostislav_sou?ek" } }, { "::100.43.129.232/125" : { "isp" : "rinkashijikashikuchi_", "organization" : "rinkashijikashikuchi_" } }, { "::100.43.129.240/125" : { "isp" : "huân_??", "organization" : "huân_??" } }, { "::100.43.129.248/125" : { "isp" : "hooriya_harb", "organization" : "hooriya_harb" } }, { "::100.43.130.0/121" : { "isp" : "koufuu_iwasaki", "organization" : "koufuu_iwasaki" } }, { "::100.43.130.128/123" : { "isp" : "ashley_nuckols", "organization" : "ashley_nuckols" } }, { "::100.43.130.160/123" : { "isp" : "julian_barbosa", "organization" : "julian_barbosa" } }, { "::100.43.130.192/123" : { "isp" : "dora_barker", "organization" : "dora_barker" } }, { "::100.43.130.224/123" : { "isp" : "ema_vörös", "organization" : "ema_vörös" } }, { "::100.43.131.0/121" : { "isp" : "kang_ts'ai", "organization" : "kang_ts'ai" } }, { "::100.43.131.128/121" : { "isp" : "dominik_bognár", "organization" : "dominik_bognár" } }, { "::100.43.132.0/121" : { "isp" : "lahbib_coenen", "organization" : "lahbib_coenen" } }, { "::100.43.132.128/124" : { "isp" : "markus_jones", "organization" : "markus_jones" } }, { "::100.43.132.144/124" : { "isp" : "tình_hàn", "organization" : "tình_hàn" } }, { "::100.43.132.160/124" : { "isp" : "luana_beneventi", "organization" : "luana_beneventi" } }, { "::100.43.132.176/124" : { "isp" : "alec_bigley", "organization" : "alec_bigley" } }, { "::100.43.132.192/124" : { "isp" : "walif_boutros", "organization" : "walif_boutros" } }, { "::100.43.132.208/124" : { "isp" : "freddy_hedlund", "organization" : "freddy_hedlund" } }, { "::100.43.132.224/124" : { "isp" : "bernice_ulloa", "organization" : "bernice_ulloa" } }, { "::100.43.132.240/124" : { "isp" : "frigg_torland", "organization" : "frigg_torland" } }, { "::100.43.133.0/122" : { "isp" : "gergely_csorba", "organization" : "gergely_csorba" } }, { "::100.43.133.64/123" : { "isp" : "aglae_aguilar", "organization" : "aglae_aguilar" } }, { "::100.43.133.96/124" : { "isp" : "jeannine_lambert", "organization" : "jeannine_lambert" } }, { "::100.43.133.112/124" : { "isp" : "sandra_sundström", "organization" : "sandra_sundström" } }, { "::100.43.133.128/124" : { "isp" : "teegan_johnston", "organization" : "teegan_johnston" } }, { "::100.43.133.144/124" : { "isp" : "pinabel_tremblay", "organization" : "pinabel_tremblay" } }, { "::100.43.133.160/124" : { "isp" : "ptolomeo_alcalá", "organization" : "ptolomeo_alcalá" } }, { "::100.43.133.176/124" : { "isp" : "guang_ch'ien", "organization" : "guang_ch'ien" } }, { "::100.43.133.192/124" : { "isp" : "grace_hardess", "organization" : "grace_hardess" } }, { "::100.43.133.208/125" : { "isp" : "walerian_król", "organization" : "walerian_król" } }, { "::100.43.133.216/125" : { "isp" : "walerian_król", "organization" : "emma_paulsen" } }, { "::100.43.133.224/125" : { "isp" : "julia_wulf", "organization" : "julia_wulf" } }, { "::100.43.133.232/125" : { "isp" : "joacim_lindgren", "organization" : "joacim_lindgren" } }, { "::100.43.133.248/125" : { "isp" : "qing_yuan_ho", "organization" : "qing_yuan_ho" } }, { "::100.43.134.0/121" : { "isp" : "ferrau_chicoine", "organization" : "ferrau_chicoine" } }, { "::100.43.134.128/124" : { "isp" : "kenneth_hix", "organization" : "kenneth_hix" } }, { "::100.43.134.144/124" : { "isp" : "lok_lu", "organization" : "lok_lu" } }, { "::100.43.134.160/124" : { "isp" : "martino_marcelo", "organization" : "martino_marcelo" } }, { "::100.43.134.176/124" : { "isp" : "kevin_lucio", "organization" : "kevin_lucio" } }, { "::100.43.134.192/124" : { "isp" : "enza_folliero", "organization" : "enza_folliero" } }, { "::100.43.134.208/124" : { "isp" : "miloslav_severa", "organization" : "miloslav_severa" } }, { "::100.43.134.224/124" : { "isp" : "santana_de_munnik", "organization" : "santana_de_munnik" } }, { "::100.43.134.240/124" : { "isp" : "yasunori_kotani", "organization" : "yasunori_kotani" } }, { "::100.43.135.0/122" : { "isp" : "henry_matthews", "organization" : "henry_matthews" } }, { "::100.43.135.64/123" : { "isp" : "mirikashitakuari_", "organization" : "mirikashitakuari_" } }, { "::100.43.135.96/124" : { "isp" : "billy_watkins", "organization" : "billy_watkins" } }, { "::100.43.135.112/124" : { "isp" : "júlia_azevedo", "organization" : "júlia_azevedo" } }, { "::100.43.135.128/124" : { "isp" : "jun_liao", "organization" : "jun_liao" } }, { "::100.43.135.144/124" : { "isp" : "yi_jie_p'eng", "organization" : "yi_jie_p'eng" } }, { "::100.43.135.160/124" : { "isp" : "gerlac_tijerina", "organization" : "gerlac_tijerina" } }, { "::100.43.135.176/124" : { "isp" : "yuriy_kvarda", "organization" : "yuriy_kvarda" } }, { "::100.43.135.192/124" : { "isp" : "châu_l?u", "organization" : "châu_l?u" } }, { "::100.43.135.208/125" : { "isp" : "christina_downing", "organization" : "christina_downing" } }, { "::100.43.135.216/125" : { "isp" : "christina_downing", "organization" : "christian_hallen" } }, { "::100.43.135.224/125" : { "isp" : "konrad_karlsson", "organization" : "konrad_karlsson" } }, { "::100.43.135.232/125" : { "isp" : "malcolm_isaksson", "organization" : "malcolm_isaksson" } }, { "::100.43.135.248/125" : { "isp" : "fábio_castro", "organization" : "fábio_castro" } }, { "::100.43.136.0/124" : { "isp" : "pío_meléndez", "organization" : "pío_meléndez" } }, { "::100.43.136.16/124" : { "isp" : "max_austerlitz", "organization" : "max_austerlitz" } }, { "::100.43.136.32/124" : { "isp" : "george_sanchez", "organization" : "george_sanchez" } }, { "::100.43.136.48/124" : { "isp" : "ricard_bekken", "organization" : "ricard_bekken" } }, { "::100.43.136.64/124" : { "isp" : "dieter_fisher", "organization" : "dieter_fisher" } }, { "::100.43.136.80/124" : { "isp" : "fiddah_kassis", "organization" : "fiddah_kassis" } }, { "::100.43.136.96/124" : { "isp" : "lahbib_coenen", "organization" : "lahbib_coenen" } }, { "::100.43.136.112/125" : { "isp" : "isa_touma", "organization" : "isa_touma" } }, { "::100.43.136.120/125" : { "isp" : "adam_crouch", "organization" : "adam_crouch" } }, { "::100.43.136.128/125" : { "isp" : "evelyn_dahl", "organization" : "evelyn_dahl" } }, { "::100.43.136.144/125" : { "isp" : "fuse_nordlie", "organization" : "fuse_nordlie" } }, { "::100.43.136.152/125" : { "isp" : "monika_jakobsson", "organization" : "monika_jakobsson" } }, { "::100.43.136.160/125" : { "isp" : "korneliusz_kowalczyk", "organization" : "korneliusz_kowalczyk" } }, { "::100.43.136.168/125" : { "isp" : "li_na_kê", "organization" : "li_na_kê" } }, { "::100.43.136.176/125" : { "isp" : "gustava_monaldo", "organization" : "gustava_monaldo" } }, { "::100.43.136.184/125" : { "isp" : "richard_best", "organization" : "richard_best" } }, { "::100.43.136.192/125" : { "isp" : "dirk_daecher", "organization" : "dirk_daecher" } }, { "::100.43.136.200/125" : { "isp" : "george_davis", "organization" : "george_davis" } }, { "::100.43.136.208/125" : { "isp" : "takitatakikato_", "organization" : "takitatakikato_" } }, { "::100.43.136.216/125" : { "isp" : "vsevolod_artemiev", "organization" : "vsevolod_artemiev" } }, { "::100.43.136.224/125" : { "isp" : "rimomeikashite_", "organization" : "rimomeikashite_" } }, { "::100.43.136.240/125" : { "isp" : "regõ_kultsár", "organization" : "regõ_kultsár" } }, { "::100.43.136.248/125" : { "isp" : "turner_ménard", "organization" : "turner_ménard" } }, { "::100.43.137.0/123" : { "isp" : "henio_zawadzki", "organization" : "henio_zawadzki" } }, { "::100.43.137.112/125" : { "isp" : "zhu_tang", "organization" : "zhu_tang" } }, { "::100.43.137.120/125" : { "isp" : "hakem_asfour", "organization" : "hakem_asfour" } }, { "::100.43.137.128/125" : { "isp" : "michael_herring", "organization" : "michael_herring" } }, { "::100.43.137.136/125" : { "isp" : "valeriya_lazareva", "organization" : "valeriya_lazareva" } }, { "::100.43.137.144/125" : { "isp" : "leila_silva", "organization" : "leila_silva" } }, { "::100.43.137.160/125" : { "isp" : "ignacy_sobczak", "organization" : "ignacy_sobczak" } }, { "::100.43.137.168/125" : { "isp" : "sophie_lacharité", "organization" : "sophie_lacharité" } }, { "::100.43.137.176/125" : { "isp" : "isaac_holmes", "organization" : "isaac_holmes" } }, { "::101.0.0.0/118" : { "isp" : "China Telecom FUJIAN", "organization" : "China Telecom FUJIAN" } }, { "::101.0.4.0/118" : { "isp" : "PT Universal Broadband", "organization" : "PT Universal Broadband" } }, { "::101.0.32.0/115" : { "isp" : "Broadband Pacenet Pvt. Ltd", "organization" : "Broadband Pacenet Pvt. Ltd" } }, { "::101.0.64.0/114" : { "isp" : "Digital Pacific Information Technology", "organization" : "Digital Pacific Information Technology" } }, { "::101.0.128.0/113" : { "isp" : "Savecom International Inc.", "organization" : "Savecom International Inc." } }, { "::101.1.4.0/118" : { "isp" : "Hong Kong Science Park", "organization" : "Hong Kong Science Park" } }, { "::101.1.8.0/117" : { "isp" : "jeonju university", "organization" : "jeonju university" } }, { "::101.1.64.0/114" : { "isp" : "Ehime Catv Co.,ltd.", "organization" : "Ehime Catv Co.,ltd." } }, { "::101.1.128.0/113" : { "isp" : "STNet, Incorporated", "organization" : "STNet, Incorporated" } }, { "::101.2.0.0/113" : { "isp" : "Unitech Wireless", "organization" : "Unitech Wireless" } }, { "::101.2.128.0/115" : { "isp" : "Ehime Catv Co.,ltd.", "organization" : "Ehime Catv Co.,ltd." } }, { "::101.2.160.0/117" : { "isp" : "Chittagong Online Limited.", "organization" : "Chittagong Online Limited." } }, { "::101.2.172.0/118" : { "isp" : "China Telecom FUJIAN", "organization" : "China Telecom FUJIAN" } }, { "::101.2.176.0/116" : { "isp" : "Bharti Airtel Lanka Pvt. Limited", "organization" : "Bharti Airtel Lanka Pvt. Limited" } }, { "::101.2.192.0/114" : { "isp" : "Webcentral.com", "organization" : "Webcentral.com" } }, { "::101.3.0.0/116" : { "isp" : "Global Mobile Corp.", "organization" : "Globalmobile" } }, { "::101.3.16.0/116" : { "isp" : "Global Mobile Corp.", "organization" : "Global Mobile Corp." } }, { "::101.3.32.0/115" : { "isp" : "Global Mobile Corp.", "organization" : "Global Mobile Corp." } }, { "::101.3.64.0/114" : { "isp" : "Global Mobile Corp.", "organization" : "Global Mobile Corp." } }, { "::101.3.128.0/113" : { "isp" : "Global Mobile Corp.", "organization" : "Global Mobile Corp." } }, { "::101.4.0.0/112" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.5.0.0/112" : { "isp" : "China Education and Research Network", "organization" : "Tsinghua University" } }, { "::101.6.0.0/112" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.7.0.0/113" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.7.128.0/114" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.7.192.0/115" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.7.224.0/116" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.7.240.0/116" : { "isp" : "China Education and Research Network", "organization" : "Shijiazhuang Netdingthing Technology Co.,Ltd" } }, { "::101.8.0.0/109" : { "isp" : "Taiwan Mobile Co., Ltd.", "organization" : "Taiwan Mobile Co., Ltd." } }, { "::101.16.0.0/108" : { "isp" : "China Unicom Hebei", "organization" : "China Unicom Hebei" } }, { "::101.38.0.0/111" : { "isp" : "Changping District,Beijing", "organization" : "Changping District,Beijing" } }, { "::101.40.0.0/111" : { "isp" : "Changping District,Beijing", "organization" : "Changping District,Beijing" } }, { "::101.44.0.0/110" : { "isp" : "ChengDu Dr.Peng Telecom & Media Group Industry Co.", "organization" : "ChengDu Dr.Peng Telecom & Media Group Industry Co." } }, { "::101.50.0.0/118" : { "isp" : "PT. Beon Intermedia", "organization" : "PT. Beon Intermedia" } }, { "::101.50.16.0/116" : { "isp" : "PT. Mnet Indonesia", "organization" : "PT. Mnet Indonesia" } }, { "::101.51.0.0/112" : { "isp" : "TOT Public Company Limited", "organization" : "TOT Public Company Limited" } }, { "::101.53.64.0/115" : { "isp" : "INDICLUB", "organization" : "INDICLUB" } }, { "::101.55.0.0/113" : { "isp" : "Korea Data Telecommunication Co., Ltd.", "organization" : "Korea Data Telecommunication Co., Ltd." } }, { "::101.56.0.0/109" : { "isp" : "Reliance Communications", "organization" : "Reliance Communications" } }, { "::101.64.0.0/109" : { "isp" : "UNICOM ZheJiang", "organization" : "UNICOM ZheJiang" } }, { "::101.77.0.0/112" : { "isp" : "Jiangsu Electrical Technology Education Center", "organization" : "Jiangsu Electrical Technology Education Center" } }, { "::101.78.8.0/117" : { "isp" : "Enterprise of Telecommunications Lao", "organization" : "Enterprise of Telecommunications Lao" } }, { "::101.78.128.0/113" : { "isp" : "Wharf T&T Limited", "organization" : "Wharf T&T Limited" } }, { "::101.79.0.0/112" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::101.80.0.0/108" : { "isp" : "China Telecom SHANGHAI", "organization" : "China Telecom SHANGHAI" } }, { "::101.98.0.0/112" : { "isp" : "CallPlus Services Limited", "organization" : "CallPlus Services Limited" } }, { "::101.99.0.0/114" : { "isp" : "CMC Telecom Infrastructure Company", "organization" : "CMC Telecom Infrastructure Company" } }, { "::101.99.128.0/113" : { "isp" : "Kuentos Communications, Inc.", "organization" : "Kuentos Communications, Inc." } }, { "::101.100.0.0/112" : { "isp" : "Vector Communications Ltd", "organization" : "Vector Communications Ltd" } }, { "::101.101.0.0/114" : { "isp" : "Office des Postes et des Telecomm. de Nouvelle Cal", "organization" : "Office des Postes et des Telecomm. de Nouvelle Cal" } }, { "::101.101.112.0/116" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.101.128.0/115" : { "isp" : "JNDINFO", "organization" : "JNDINFO" } }, { "::101.101.160.0/116" : { "isp" : "JNDINFO", "organization" : "JND Communication" } }, { "::101.101.176.0/116" : { "isp" : "JNDINFO", "organization" : "JNDINFO" } }, { "::101.101.192.0/116" : { "isp" : "JNDINFO", "organization" : "JND Communication" } }, { "::101.101.208.0/116" : { "isp" : "JNDINFO", "organization" : "JNDINFO" } }, { "::101.101.224.0/115" : { "isp" : "JNDINFO", "organization" : "JNDINFO" } }, { "::101.102.0.0/114" : { "isp" : "SANYO Information Technology Solutions Co., Ltd.", "organization" : "SANYO Information Technology Solutions Co., Ltd." } }, { "::101.102.64.0/115" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.102.112.0/116" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.102.128.0/113" : { "isp" : "SOFTBANK TELECOM Corp.", "organization" : "SOFTBANK TELECOM Corp." } }, { "::101.103.0.0/112" : { "isp" : "Telstra Internet", "organization" : "Telstra Internet" } }, { "::101.104.0.0/110" : { "isp" : "Beijing Teletron Telecom Engineering Co., Ltd.", "organization" : "Beijing Teletron Telecom Engineering Co., Ltd." } }, { "::101.108.0.0/111" : { "isp" : "TOT Public Company Limited", "organization" : "TOT Public Company Limited" } }, { "::101.110.0.0/114" : { "isp" : "SOFTBANK TELECOM Corp.", "organization" : "SOFTBANK TELECOM Corp." } }, { "::101.110.64.0/115" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.110.128.0/113" : { "isp" : "NTT", "organization" : "NTT" } }, { "::101.111.0.0/112" : { "isp" : "its communications Inc.", "organization" : "its communications Inc." } }, { "::101.112.0.0/109" : { "isp" : "Vodafone Australia", "organization" : "Vodafone Australia" } }, { "::101.120.0.0/110" : { "isp" : "Beijing Bosheng Technology Co., Ltd.", "organization" : "Beijing Bosheng Technology Co., Ltd." } }, { "::101.124.0.0/111" : { "isp" : "KNET Techonlogy (BeiJing) Co.,Ltd.", "organization" : "KNET Techonlogy (BeiJing) Co.,Ltd." } }, { "::101.126.0.0/112" : { "isp" : "Beijing Bitone United Networks Technology Service", "organization" : "Beijing Bitone United Networks Technology Service" } }, { "::101.127.0.0/112" : { "isp" : "Renjiao International Technology Corporation Ltd", "organization" : "Renjiao International Technology Corporation Ltd" } }, { "::101.128.32.0/115" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.128.64.0/114" : { "isp" : "PT. Cyberindo Aditama", "organization" : "PT. Cyberindo Aditama" } }, { "::101.128.128.0/113" : { "isp" : "Internet Initiative Japan Inc.", "organization" : "Internet Initiative Japan Inc." } }, { "::101.129.0.0/112" : { "isp" : "China Central Television", "organization" : "China Central Television" } }, { "::101.130.0.0/111" : { "isp" : "Shanghai Yixuan network technology CO.,LTD", "organization" : "Shanghai Yixuan network technology CO.,LTD" } }, { "::101.132.0.0/110" : { "isp" : "BeiJing Kuandaitong Telecom Technology Co.,Ltd", "organization" : "BeiJing Kuandaitong Telecom Technology Co.,Ltd" } }, { "::101.136.0.0/111" : { "isp" : "Asia Pacific On-Line Service Inc.", "organization" : "Asia Pacific On-Line Service Inc." } }, { "::101.138.0.0/112" : { "isp" : "Asia Pacific On-Line Service Inc.", "organization" : "Asia Pacific Onlie Service Inc." } }, { "::101.139.0.0/112" : { "isp" : "Asia Pacific On-Line Service Inc.", "organization" : "Asia Pacific On-Line Service Inc." } }, { "::101.140.0.0/110" : { "isp" : "K-Opticom Corporation", "organization" : "K-Opticom Corporation" } }, { "::101.144.0.0/108" : { "isp" : "China TieTong", "organization" : "China TieTong" } }, { "::101.160.0.0/107" : { "isp" : "Telstra Internet", "organization" : "Telstra Internet" } }, { "::101.192.0.0/110" : { "isp" : "BeiJing NBLLNET Co.,Ltd", "organization" : "BeiJing NBLLNET Co.,Ltd" } }, { "::101.196.0.0/112" : { "isp" : "Beijing Yuexintong Information Technology Company", "organization" : "Shanghai Xindong Network Co,.Ltd." } }, { "::101.197.0.0/112" : { "isp" : "Beijing Yuexintong Information Technology Company", "organization" : "Beijing Yuexintong Information Technology Company" } }, { "::101.198.0.0/111" : { "isp" : "Beijing Yuexintong Information Technology Company", "organization" : "Beijing Yuexintong Information Technology Company" } }, { "::101.200.0.0/111" : { "isp" : "KNET Techonlogy (BeiJing) Co.,Ltd.", "organization" : "KNET Techonlogy (BeiJing) Co.,Ltd." } }, { "::101.202.0.0/112" : { "isp" : "Dreamline Co.", "organization" : "Dreamline Co." } }, { "::101.203.0.0/113" : { "isp" : "eAccess Ltd.", "organization" : "eAccess Ltd." } }, { "::101.203.128.0/115" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.203.168.0/118" : { "isp" : "Universitas Negeri Yogyakarta", "organization" : "Universitas Negeri Yogyakarta" } }, { "::101.203.192.0/114" : { "isp" : "Bit-isle", "organization" : "Bit-isle" } }, { "::101.204.0.0/110" : { "isp" : "UNICOM Sichuan", "organization" : "UNICOM Sichuan" } }, { "::101.208.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel gprs customer Delhi" } }, { "::101.210.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel gprs customer Kolkata" } }, { "::101.212.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel gprs customer Chennai" } }, { "::101.214.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel gprs customer Hyderabad" } }, { "::101.216.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel gprs customer Delhi" } }, { "::101.218.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel GPRS Customer East" } }, { "::101.220.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel GPRS Customer West" } }, { "::101.222.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel GPRS Customer South" } }, { "::101.224.0.0/109" : { "isp" : "China Telecom SHANGHAI", "organization" : "China Telecom SHANGHAI" } }, { "::101.234.72.0/118" : { "isp" : "Sliced Tech Holdings Unit Trust", "organization" : "Sliced Tech Holdings Unit Trust" } }, { "::101.235.0.0/115" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::101.235.48.0/116" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::101.235.64.0/115" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::101.235.96.0/116" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::101.235.176.0/116" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::101.240.0.0/110" : { "isp" : "Beijing Gehua Catv Network Co., Ltd.", "organization" : "Beijing Gehua Catv Network Co., Ltd." } }, { "::101.255.0.0/112" : { "isp" : "PT Remala Abadi", "organization" : "PT Remala Abadi" } }, { "::103.1.108.0/118" : { "isp" : "Simtronic Technologies Pty Ltd", "organization" : "Simtronic Technologies Pty Ltd" } }, { "::103.1.124.0/118" : { "isp" : "Tata Indicom", "organization" : "Tata Indicom" } }, { "::103.1.128.0/118" : { "isp" : "Fiserv India", "organization" : "Fiserv India" } }, { "::103.1.136.0/118" : { "isp" : "MobileOne", "organization" : "MobileOne" } }, { "::103.1.144.0/120" : { "isp" : "U Mobile Sdn Bhd", "organization" : "U Mobile Sdn Bhd" } }, { "::103.1.146.0/120" : { "isp" : "U Mobile Sdn Bhd", "organization" : "U Mobile Sdn Bhd" } }, { "::103.1.152.0/118" : { "isp" : "Hostemo Technology Sdn Bhd", "organization" : "Hostemo Technology Sdn Bhd" } }, { "::103.1.164.0/118" : { "isp" : "Total Access Communication PLC", "organization" : "Total Access Communication PLC" } }, { "::103.1.172.0/118" : { "isp" : "Godaddy.com", "organization" : "Godaddy.com" } }, { "::103.1.180.0/118" : { "isp" : "Digicel Pacific Ltd", "organization" : "Digicel Pacific Ltd" } }, { "::103.1.184.0/118" : { "isp" : "Mammoth Media Pty Ltd", "organization" : "Mammoth Media Pty Ltd" } }, { "::103.1.188.0/118" : { "isp" : "Beagle Internet Pty Ltd", "organization" : "Beagle Internet Pty Ltd" } }, { "::103.6.100.0/118" : { "isp" : "KINX", "organization" : "KINX" } }, { "::103.9.32.0/118" : { "isp" : "AMWAYKOREA", "organization" : "AMWAYKOREA" } }, { "::103.10.4.0/118" : { "isp" : "ASUSTek COMPUTER INC.", "organization" : "ASUSTek COMPUTER INC." } }, { "::103.10.32.0/118" : { "isp" : "The Cavalry", "organization" : "The Cavalry" } }, { "::103.10.44.0/118" : { "isp" : "Elementary IT & Communications Ltd", "organization" : "Elementary IT & Communications Ltd" } }, { "::103.10.52.0/118" : { "isp" : "Drik ICT Ltd", "organization" : "Drik ICT Ltd" } }, { "::103.10.64.0/118" : { "isp" : "Three Indonesia", "organization" : "Three Indonesia" } }, { "::103.10.76.0/118" : { "isp" : "Augere Wireless Broadband Bangladesh Limited", "organization" : "Augere Wireless Broadband Bangladesh Limited" } }, { "::103.10.84.0/118" : { "isp" : "Elink-space (Beijing) Technology Co,. Ltd '", "organization" : "Elink-space (Beijing) Technology Co,. Ltd '" } }, { "::103.10.96.0/118" : { "isp" : "Neuviz (PT. Piranti Prestasi Informasi)", "organization" : "Neuviz (PT. Piranti Prestasi Informasi)" } }, { "::103.10.104.0/118" : { "isp" : "Bogor Agricultural University", "organization" : "Bogor Agricultural University" } }, { "::103.10.120.0/118" : { "isp" : "PT Sumber Data Indonesia", "organization" : "PT Sumber Data Indonesia" } }, { "::103.10.132.0/118" : { "isp" : "Vainavi Industries Ltd.", "organization" : "Vainavi Industries Ltd." } }, { "::103.10.144.0/120" : { "isp" : "Universitas Muhammadiyah Malang", "organization" : "Universitas Muhammadiyah Malang" } }, { "::103.10.152.0/118" : { "isp" : "Meralco Avenue", "organization" : "Meralco Avenue" } }, { "::103.10.169.0/120" : { "isp" : "Universitas Riau", "organization" : "Universitas Riau" } }, { "::103.10.172.0/118" : { "isp" : "Wavecom Wireless Ltd", "organization" : "Wavecom Wireless Ltd" } }, { "::103.10.176.0/118" : { "isp" : "Liberty Broadcasting Network Inc.", "organization" : "Liberty Broadcasting Network Inc." } }, { "::103.10.196.0/120" : { "isp" : "Hostemo Technology Sdn Bhd", "organization" : "Hostemo Technology Sdn Bhd" } }, { "::103.10.198.0/120" : { "isp" : "Hostemo Technology Sdn Bhd", "organization" : "Hostemo Technology Sdn Bhd" } }, { "::103.10.208.0/118" : { "isp" : "Meghbela Cable & Broadband Services (P) Ltd", "organization" : "Meghbela Cable & Broadband Services (P) Ltd" } }, { "::103.10.224.0/118" : { "isp" : "Indusind Media and Communications Ltd.", "organization" : "Indusind Media and Communications Ltd." } }, { "::103.10.236.0/118" : { "isp" : "Goldfield Industrial Building", "organization" : "Goldfield Industrial Building" } }, { "::103.10.248.0/118" : { "isp" : "Andheri East", "organization" : "Andheri East" } }, { "::103.11.28.0/118" : { "isp" : "PT Sumber Data Indonesia", "organization" : "PT Sumber Data Indonesia" } }, { "::103.11.52.0/118" : { "isp" : "RackCentral Pty Ltd", "organization" : "RackCentral Pty Ltd" } }, { "::103.11.124.0/118" : { "isp" : "Unleash Computers Ltd", "organization" : "Unleash Computers Ltd" } }, { "::103.11.152.0/118" : { "isp" : "Web Werks India Pvt.", "organization" : "Web Werks India Pvt." } }, { "::103.11.172.0/118" : { "isp" : "Joint stock Commercial Bank for Foreign Trade of V", "organization" : "Joint stock Commercial Bank for Foreign Trade of V" } }, { "::103.11.192.0/118" : { "isp" : "MCS Com Co Ltd", "organization" : "MCS Com Co Ltd" } }, { "::103.11.204.0/118" : { "isp" : "VentraIP Group (Australia) Pty Ltd", "organization" : "VentraIP Group (Australia) Pty Ltd" } }, { "::103.11.228.1/128" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.2/127" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.4/126" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.8/125" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.16/124" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.32/123" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.64/122" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.128/121" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.229.0/120" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.230.0/119" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.244.0/118" : { "isp" : "Langham Place Office Tower", "organization" : "Langham Place Office Tower" } }, { "::103.23.84.0/118" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::103.23.132.0/118" : { "organization" : "Digi" } }, { "::103.28.60.0/118" : { "isp" : "Cmb Taegu Dongbu Broadcast", "organization" : "Cmb Taegu Dongbu Broadcast" } }, { "::103.246.248.0/120" : { "organization" : "QuickWeb Hosting Solutions" } }, { "::104.64.0.0/106" : { "autonomous_system_number" : 35994, "autonomous_system_organization" : "Akamai Technologies, Inc.", "isp" : "Akamai Technologies", "organization" : "Akamai Technologies" } }, { "::105.110.0.0/115" : { "isp" : "Fawri wilaya Batna", "organization" : "Fawri wilaya Batna" } }, { "::105.111.0.0/113" : { "isp" : "Anis wilaya oran", "organization" : "Anis wilaya oran" } }, { "::105.111.192.0/114" : { "isp" : "Anis wilaya Bechar", "organization" : "Anis wilaya Bechar" } }, { "::105.112.0.0/108" : { "isp" : "Airtel Networks Limited", "organization" : "Airtel Networks Limited" } }, { "::105.128.0.0/108" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom 3G" } }, { "::105.144.0.0/109" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom 3G" } }, { "::105.152.0.0/111" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom 3G" } }, { "::105.154.0.0/112" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom 3G" } }, { "::105.155.0.0/112" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::105.156.0.0/111" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::105.158.0.0/112" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::105.159.0.0/112" : { "isp" : "Maroc Telecom", "organization" : "IAM" } }, { "::105.160.0.0/109" : { "isp" : "Safaricom Limited", "organization" : "Safaricom Limited" } }, { "::105.168.0.0/109" : { "isp" : "Unitel SA", "organization" : "Unitel SA" } }, { "::105.176.0.0/111" : { "isp" : "MTN Business Solutions (Pty) Ltd", "organization" : "MTN Business Solutions (Pty) Ltd" } }, { "::105.180.0.0/110" : { "isp" : "Mobinil 3G", "organization" : "Mobinil 3G" } }, { "::105.184.0.0/110" : { "isp" : "Telkom Internet", "organization" : "Telkom Internet" } }, { "::105.192.0.0/110" : { "isp" : "Mobinil 3G", "organization" : "Mobinil 3G" } }, { "::105.196.0.0/110" : { "isp" : "Airtel Networks Nigeria Ltd", "organization" : "Airtel Networks Nigeria Ltd" } }, { "::105.200.0.0/110" : { "isp" : "Etisalat Misr", "organization" : "Etisalat" } }, { "::105.204.0.0/111" : { "isp" : "Etisalat Misr", "organization" : "Etisalat" } }, { "::105.206.0.0/112" : { "isp" : "Etisalat Misr", "organization" : "Etisalat" } }, { "::105.207.0.0/113" : { "isp" : "Etisalat Misr", "organization" : "Etisalat" } }, { "::105.207.128.0/113" : { "isp" : "Etisalat Misr", "organization" : "Etisalat Misr" } }, { "::105.208.0.0/108" : { "isp" : "MTN SA", "organization" : "MTN SA" } }, { "::105.224.0.0/110" : { "isp" : "Telkom Internet", "organization" : "Telkom Internet" } }, { "::105.228.0.0/111" : { "isp" : "Telkom Internet", "organization" : "Telkom Internet" } }, { "::105.230.0.0/112" : { "isp" : "Airtel Broadband", "organization" : "Airtel Broadband" } }, { "::105.231.0.0/113" : { "isp" : "Second segment of Broadband IPs", "organization" : "Second segment of Broadband IPs" } }, { "::105.231.128.0/114" : { "isp" : "Third segment of Airtel Broadband IPs", "organization" : "Third segment of Airtel Broadband IPs" } }, { "::105.231.192.0/114" : { "isp" : "Reserved for Internet APN Allocation", "organization" : "Reserved for Internet APN Allocation" } }, { "::105.232.0.0/113" : { "isp" : "MTC - Mobile Telecommunications, Ltd.", "organization" : "MTC Netman" } }, { "::105.232.128.0/113" : { "isp" : "MTC - Mobile Telecommunications, Ltd.", "organization" : "MTC - Mobile Telecommunications, Ltd." } }, { "::105.233.0.0/114" : { "isp" : "Cybersmart", "organization" : "Cybersmart-ADSL-DBN ADSL IP numbers assigned to Db" } }, { "::105.233.64.0/114" : { "isp" : "Cybersmart", "organization" : "Cybersmart-ADSL-JHB ADSL IP for Northern regios" } }, { "::105.233.128.0/113" : { "isp" : "Cybersmart", "organization" : "Cybersmart" } }, { "::105.234.0.0/113" : { "isp" : "Airtel Malawi GPRS subscribers", "organization" : "Airtel Malawi GPRS subscribers" } }, { "::105.234.128.0/113" : { "isp" : "Airtel Malawi network", "organization" : "Airtel Malawi network" } }, { "::105.235.0.0/113" : { "isp" : "MTN Cote d'Ivoire S.A", "organization" : "MTN Cote d'Ivoire S.A" } }, { "::105.235.128.0/116" : { "isp" : "Wataniya Telecom Algerie", "organization" : "Wataniya Telecom Algerie" } }, { "::105.235.144.0/116" : { "isp" : "Emtel Ltd", "organization" : "Emtel Ltd" } }, { "::105.235.160.0/116" : { "isp" : "Bytes Connect, a Division of Bytes Technology Grou", "organization" : "Bytes Connect, a Division of Bytes Technology Grou" } }, { "::105.235.176.0/116" : { "isp" : "Telecel Faso", "organization" : "Telecel Faso" } }, { "::105.235.192.0/116" : { "isp" : "Icsl Network", "organization" : "Icsl Network" } }, { "::105.235.216.0/117" : { "isp" : "Abari Communications Mozambique Lda", "organization" : "Abari Communications Mozambique Lda" } }, { "::105.235.224.0/116" : { "isp" : "Guineanet", "organization" : "Guineanet" } }, { "::105.235.240.0/116" : { "isp" : "Orange Botswana", "organization" : "Orange Botswana" } }, { "::105.236.0.0/111" : { "isp" : "MTN Business Solutions (Pty) Ltd", "organization" : "MTN Business Solutions (Pty) Ltd" } }, { "::105.238.0.0/111" : { "isp" : "Zain Sudan", "organization" : "Zain Sudan" } }, { "::105.240.0.0/108" : { "isp" : "Vodacom", "organization" : "Vodacom" } }, { "::106.186.80.0/117" : { "isp" : "GLBB" } }, { "::108.66.24.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.68.60.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.68.92.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.69.8.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.69.180.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.70.56.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.74.80.0/116" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.75.232.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.80.92.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.83.64.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.85.4.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.90.88.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.95.60.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.96.0.0/107" : { "isp" : "Sprint PCS", "organization" : "Sprint PCS" } }, { "::108.144.0.0/108" : { "isp" : "AT&T Wireless", "organization" : "AT&T Wireless" } }, { "::108.160.48.0/116" : { "isp" : "Telebeep", "organization" : "Telebeep" } }, { "::108.160.64.0/116" : { "isp" : "Sebastian", "organization" : "Sebastian" } }, { "::108.160.80.0/116" : { "isp" : "Quadro Communications Co-Operative", "organization" : "Quadro Communications Co-Operative" } }, { "::108.163.64.0/114" : { "isp" : "Region 14 Education Service Center", "organization" : "Region 14 Education Service Center" } }, { "::108.163.192.0/114" : { "isp" : "SingleHop", "organization" : "SingleHop" } }, { "::108.164.0.0/112" : { "isp" : "The Cosmopolitan of Las Vegas", "organization" : "The Cosmopolitan of Las Vegas" } }, { "::108.165.0.0/112" : { "isp" : "Ace Data Centers", "organization" : "Ace Data Centers" } }, { "::108.170.192.0/114" : { "isp" : "Google", "organization" : "Google" } }, { "::108.171.32.0/115" : { "isp" : "Smart Solutions IT", "organization" : "Smart Solutions IT" } }, { "::108.171.72.0/117" : { "isp" : "Cogeco Cable", "organization" : "Cogeco Cable" } }, { "::108.172.0.0/111" : { "isp" : "Telus Communications", "organization" : "Telus Communications" } }, { "::108.174.80.0/116" : { "isp" : "Volusion", "organization" : "Volusion" } }, { "::108.180.0.0/111" : { "isp" : "Telus Communications", "organization" : "Telus Communications" } }, { "::108.182.0.0/111" : { "isp" : "Time Warner Cable", "organization" : "Time Warner Cable" } }, { "::108.184.0.0/111" : { "isp" : "Time Warner Cable", "organization" : "Time Warner Cable" } }, { "::108.187.0.0/112" : { "isp" : "SpeedVM Network Group LLC", "organization" : "SpeedVM Network Group LLC" } }, { "::108.190.0.0/111" : { "isp" : "Bright House Networks", "organization" : "Bright House Networks" } }, { "::108.192.0.0/107" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.224.0.0/110" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.228.0.0/112" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.229.0.0/113" : { "isp" : "AT&T Internet Services", "organization" : "AT&T" } }, { "::108.229.128.0/113" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.230.0.0/111" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.232.0.0/109" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.240.0.0/110" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.244.0.0/113" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.244.128.0/115" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.244.160.0/116" : { "isp" : "AT&T Internet Services", "organization" : "Lisle IDC - Silver Lining" } }, { "::108.244.176.0/116" : { "isp" : "AT&T Internet Services", "organization" : "Atlanta - Silver Lining" } }, { "::108.244.192.0/114" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.245.0.0/112" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.246.0.0/111" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.248.0.0/109" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::109.104.250.0/121" : { "organization" : "Navigadsl srl" } }, { "::109.105.192.0/115" : { "organization" : "Cutuknet" } }, { "::109.235.55.192/123" : { "organization" : "Encryption Limited" } }, { "::110.8.112.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.9.0.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.9.96.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.10.16.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.11.64.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.11.176.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.11.240.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.12.80.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.12.128.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.13.112.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.13.128.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.14.48.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.14.160.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.14.192.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.15.192.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.15.224.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.35.0.0/116" : { "isp" : "CMB Daejeon Broadcasting Co,.Ltd", "organization" : "CMB Daejeon Broadcasting Co,.Ltd" } }, { "::110.35.53.0/120" : { "isp" : "CMB Daejeon Broadcasting Co,.Ltd", "organization" : "CMB Daejeon Broadcasting Co,.Ltd" } }, { "::110.35.54.0/119" : { "isp" : "CMB Daejeon Broadcasting Co,.Ltd", "organization" : "CMB Daejeon Broadcasting Co,.Ltd" } }, { "::110.35.56.0/120" : { "isp" : "CMB Daejeon Broadcasting Co,.Ltd", "organization" : "CMB Daejeon Broadcasting Co,.Ltd" } }, { "::111.0.0.0/106" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd.", "isp" : "Guangdong Mobile", "organization" : "Guangdong Mobile" } }, { "::111.91.128.0/116" : { "isp" : "NHN", "organization" : "NHN" } }, { "::111.91.144.0/118" : { "isp" : "Korea Cable TV Kwangju Broadcast", "organization" : "Korea Cable TV Kwangju Broadcast" } }, { "::111.91.160.0/116" : { "isp" : "Korea Cable TV Kwangju Broadcast", "organization" : "Korea Cable TV Kwangju Broadcast" } }, { "::112.0.0.0/106" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd.", "isp" : "Guangdong Mobile", "organization" : "Guangdong Mobile" } }, { "::112.72.160.0/116" : { "isp" : "Hyundai Communications & Network", "organization" : "Hyundai Communications & Network" } }, { "::112.72.192.0/116" : { "isp" : "Hyundai Communications & Network", "organization" : "Hyundai Communications & Network" } }, { "::112.72.224.0/115" : { "isp" : "Hyundai Communications & Network", "organization" : "Hyundai Communications & Network" } }, { "::112.76.0.0/111" : { "isp" : "Dacom-pubnetplus", "organization" : "Dacom-pubnetplus" } }, { "::112.121.0.0/115" : { "isp" : "Tbroad Abc Broadcasting Co.,ltd.", "organization" : "Tbroad Abc Broadcasting Co.,ltd." } }, { "::113.30.0.0/116" : { "isp" : "TBROAD Dongdaemun cable networks,Inc.", "organization" : "TBROAD Dongdaemun cable networks,Inc." } }, { "::113.30.32.0/116" : { "isp" : "TBROAD Dongdaemun cable networks,Inc.", "organization" : "TBROAD Dongdaemun cable networks,Inc." } }, { "::113.30.64.0/116" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::113.30.96.0/116" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::113.30.121.0/120" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::113.30.122.0/119" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::113.30.124.0/120" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::113.61.16.0/116" : { "isp" : "Korea Cable TV Jeonboog Broadcast", "organization" : "Korea Cable TV Jeonboog Broadcast" } }, { "::113.130.66.0/119" : { "isp" : "ONSE Telecom", "organization" : "ONSE Telecom" } }, { "::113.130.68.0/119" : { "isp" : "ONSE Telecom", "organization" : "ONSE Telecom" } }, { "::113.130.128.0/116" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::113.130.208.0/116" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::113.131.16.0/116" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::113.131.192.0/116" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::114.23.240.0/120" : { "isp" : "Swiift Internet Limited" } }, { "::114.30.48.0/116" : { "isp" : "korea cable pohang broadcasting", "organization" : "korea cable pohang broadcasting" } }, { "::114.30.128.0/113" : { "isp" : "HO Nam Cable TV co.,LTD", "organization" : "HO Nam Cable TV co.,LTD" } }, { "::114.31.48.0/116" : { "isp" : "HyosungITX", "organization" : "HyosungITX" } }, { "::114.108.144.0/117" : { "isp" : "Lg Dacom Kidc", "organization" : "Lg Dacom Kidc" } }, { "::114.108.160.0/116" : { "isp" : "Lg Dacom Kidc", "organization" : "Lg Dacom Kidc" } }, { "::114.108.176.0/118" : { "isp" : "Lg Dacom Kidc", "organization" : "Lg Dacom Kidc" } }, { "::114.141.224.0/116" : { "isp" : "Piranha Systems", "organization" : "Piranha Systems" } }, { "::114.179.160.0/115" : { "isp" : "GLBB" } }, { "::115.68.16.0/116" : { "isp" : "Smileserv", "organization" : "Smileserv" } }, { "::115.71.0.0/116" : { "isp" : "G&j, Ltd.", "organization" : "G&j, Ltd." } }, { "::115.144.16.0/116" : { "isp" : "HAIonNet", "organization" : "HAIonNet" } }, { "::115.144.224.0/116" : { "isp" : "HAIonNet", "organization" : "HAIonNet" } }, { "::116.67.0.0/113" : { "isp" : "National Computing & Information Agency", "organization" : "National Computing & Information Agency" } }, { "::116.68.32.0/115" : { "isp" : "Korea Nazarene University", "organization" : "Korea Nazarene University" } }, { "::116.90.216.0/117" : { "isp" : "Catholic University of DAEGU", "organization" : "Catholic University of DAEGU" } }, { "::116.200.16.0/116" : { "isp" : "Korea Telecom Freetel Corp.", "organization" : "Korea Telecom Freetel Corp." } }, { "::116.201.0.0/116" : { "isp" : "Korea Telecom Freetel Corp.", "organization" : "Korea Telecom Freetel Corp." } }, { "::116.201.240.0/116" : { "isp" : "Korea Telecom Freetel Corp.", "organization" : "Korea Telecom Freetel Corp." } }, { "::117.58.132.0/118" : { "isp" : "TCN Daegu Broadcasting Co., Ltd", "organization" : "TCN Daegu Broadcasting Co., Ltd" } }, { "::117.58.136.0/117" : { "isp" : "TCN Daegu Broadcasting Co., Ltd", "organization" : "TCN Daegu Broadcasting Co., Ltd" } }, { "::117.128.0.0/106" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd.", "isp" : "Guangdong Mobile", "organization" : "Guangdong Mobile" } }, { "::118.67.128.0/115" : { "isp" : "NURILINK", "organization" : "NURILINK" } }, { "::118.67.160.0/116" : { "isp" : "NURILINK", "organization" : "NURILINK" } }, { "::118.67.176.0/116" : { "isp" : "NURILINK", "organization" : "SRUN" } }, { "::118.91.96.0/115" : { "isp" : "Tbroad Gangseo", "organization" : "Tbroad Gangseo" } }, { "::118.234.112.0/116" : { "isp" : "Korea Telecom Freetel Corp.", "organization" : "Korea Telecom Freetel Corp." } }, { "::119.30.136.0/118" : { "isp" : "IP4 Networks, Inc.", "organization" : "IP4 Networks, Inc." } }, { "::119.63.224.0/116" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::119.77.108.0/118" : { "isp" : "Korea Cable TV Kwangju Broadcast", "organization" : "Korea Cable TV Kwangju Broadcast" } }, { "::119.235.240.0/117" : { "isp" : "Cmb Taegu Dongbu Broadcast", "organization" : "Cmb Taegu Dongbu Broadcast" } }, { "::120.73.0.0/112" : { "isp" : "KUMHO", "organization" : "KUMHO" } }, { "::120.136.6.0/120" : { "organization" : "Maxum Data Ltd" } }, { "::120.192.0.0/106" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd.", "isp" : "Guangdong Mobile", "organization" : "Guangdong Mobile" } }, { "::121.0.128.0/118" : { "isp" : "Duruan", "organization" : "Duruan" } }, { "::121.0.144.0/118" : { "isp" : "Duruan", "organization" : "Duruan" } }, { "::121.254.224.0/116" : { "isp" : "Lg Dacom Kidc", "organization" : "Lg Dacom Kidc" } }, { "::122.128.64.0/117" : { "isp" : "CMB Kwnagju Broadcasting", "organization" : "CMB Kwnagju Broadcasting" } }, { "::122.128.72.0/118" : { "isp" : "CMB Kwnagju Broadcasting", "organization" : "CMB Kwnagju Broadcasting" } }, { "::122.252.192.0/115" : { "isp" : "CMB", "organization" : "CMB" } }, { "::123.98.192.0/115" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::123.254.64.0/115" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::124.0.34.0/120" : { "isp" : "SK Telecom", "organization" : "SK Telecom" } }, { "::124.0.203.0/120" : { "isp" : "SK Telecom", "organization" : "SK Telecom" } }, { "::124.198.0.0/116" : { "isp" : "HAIonNet", "organization" : "HAIonNet" } }, { "::124.198.112.0/116" : { "isp" : "HAIonNet", "organization" : "HAIonNet" } }, { "::126.0.0.0/104" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp.", "isp" : "Softbank BB Corp", "organization" : "Softbank BB Corp" } }, { "::129.90.0.0/112" : { "isp" : "Intevep S.A.", "organization" : "Intevep S.A." } }, { "::131.178.0.0/112" : { "isp" : "Instituto Tecnológico y de Estudios Superiores de", "organization" : "Instituto Tecnológico y de Estudios Superiores de" } }, { "::132.0.0.0/106" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "::132.247.0.0/112" : { "isp" : "Universidad Nacional Autonoma de Mexico", "organization" : "Universidad Nacional Autonoma de Mexico" } }, { "::132.248.0.0/112" : { "isp" : "Universidad Nacional Autonoma de Mexico", "organization" : "Universidad Nacional Autonoma de Mexico" } }, { "::132.254.0.0/112" : { "isp" : "Instituto Tecnológico y de Estudios Superiores de", "organization" : "Instituto Tecnológico y de Estudios Superiores de" } }, { "::134.90.248.0/117" : { "organization" : "Geny SRL" } }, { "::139.82.0.0/112" : { "isp" : "Pontificia Universidade Catolica do Rio de Janeiro", "organization" : "Pontificia Universidade Catolica do Rio de Janeiro" } }, { "::140.148.0.0/112" : { "isp" : "Universidad de Las Americas-Puebla", "organization" : "Universidad de Las Americas-Puebla" } }, { "::140.191.0.0/112" : { "isp" : "United Nations Development Programme", "organization" : "United Nations Development Programme" } }, { "::141.208.0.0/112" : { "isp" : "TeliaSonera Finland Oyj", "organization" : "TeliaSonera Finland Oyj" } }, { "::142.217.208.0/118" : { "autonomous_system_number" : 35911 } }, { "::142.217.212.0/119" : { "autonomous_system_number" : 35911 } }, { "::142.217.214.0/120" : { "autonomous_system_number" : 35911, "isp" : "Telebec", "organization" : "LINO Solutions Internet de Télébec" } }, { "::142.217.215.0/120" : { "autonomous_system_number" : 35911 } }, { "::142.217.216.0/117" : { "autonomous_system_number" : 35911 } }, { "::142.217.224.0/117" : { "autonomous_system_number" : 35911 } }, { "::142.217.232.0/118" : { "autonomous_system_number" : 35911 } }, { "::142.217.236.0/119" : { "autonomous_system_number" : 35911 } }, { "::142.217.238.0/120" : { "autonomous_system_number" : 35911 } }, { "::143.54.0.0/112" : { "isp" : "Universidade Federal do Rio Grande do Sul", "organization" : "Universidade Federal do Rio Grande do Sul" } }, { "::143.106.0.0/112" : { "isp" : "Universidade Estadual de Campinas - UNICAMP", "organization" : "Universidade Estadual de Campinas - UNICAMP" } }, { "::143.107.0.0/112" : { "isp" : "Universidade de Sao Paulo", "organization" : "Universidade de Sao Paulo" } }, { "::143.108.0.0/112" : { "isp" : "Fundacao de Amparo a Pesquisa do Estado de Sao Pau", "organization" : "Fundacao de Amparo a Pesquisa do Estado de Sao Pau" } }, { "::144.22.0.0/111" : { "isp" : "Oracle Corporation", "organization" : "Oracle Corporation" } }, { "::145.15.0.0/112" : { "isp" : "Nederlandse Spoorwegen PI block", "organization" : "Nederlandse Spoorwegen PI block" } }, { "::145.128.0.0/106" : { "autonomous_system_number" : 1103, "autonomous_system_organization" : "SURFnet, The Netherlands", "isp" : "SURFnet, The Netherlands", "organization" : "SURFnet, The Netherlands" } }, { "::146.83.0.0/112" : { "isp" : "Red Universitaria Nacional", "organization" : "Red Universitaria Nacional" } }, { "::146.134.0.0/112" : { "isp" : "Laboratorio Nacional de Computacao Cientifica", "organization" : "Laboratorio Nacional de Computacao Cientifica" } }, { "::146.155.0.0/112" : { "isp" : "SECICO", "organization" : "SECICO" } }, { "::146.164.0.0/112" : { "isp" : "Federal University of Rio de Janeiro", "organization" : "Federal University of Rio de Janeiro" } }, { "::146.255.0.0/121" : { "organization" : "Surebroadband Ltd" } }, { "::147.65.0.0/112" : { "isp" : "Instituto de Matematica Pura e Aplicada", "organization" : "Instituto de Matematica Pura e Aplicada" } }, { "::147.194.0.0/112" : { "isp" : "Comwave" } }, { "::148.0.0.0/112" : { "isp" : "Claro Dominican Republic", "organization" : "Claro Dominican Republic" } }, { "::148.101.0.0/112" : { "isp" : "Claro Dominican Republic", "organization" : "Claro Dominican Republic" } }, { "::148.201.0.0/112" : { "isp" : "Iteso, A.c.", "organization" : "Iteso, A.c." } }, { "::148.202.0.0/112" : { "isp" : "Universidad de Guadalajara", "organization" : "Universidad de Guadalajara" } }, { "::148.203.0.0/112" : { "isp" : "Volkswagen de Mexico, S.A. de C.V.", "organization" : "Volkswagen de Mexico, S.A. de C.V." } }, { "::148.204.0.0/112" : { "isp" : "Instituto Politecnico Nacional", "organization" : "Instituto Politecnico Nacional" } }, { "::148.205.0.0/112" : { "isp" : "Instituto Tecnologico Autonomo de Mexico(ITAM)", "organization" : "Instituto Tecnologico Autonomo de Mexico(ITAM)" } }, { "::148.206.0.0/112" : { "isp" : "Universidad Autonoma Metropolitana", "organization" : "Universidad Autonoma Metropolitana" } }, { "::148.207.0.0/120" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.1.0/120" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "CONACYT" } }, { "::148.207.2.0/119" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.4.0/118" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.8.0/117" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.16.0/116" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.32.0/115" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.64.0/114" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.128.0/113" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.208.0.0/112" : { "isp" : "Secretaria de Educacion e Investigacion Tecnologic", "organization" : "Secretaria de Educacion e Investigacion Tecnologic" } }, { "::148.209.0.0/112" : { "isp" : "Universidad Autonoma de Yucatan", "organization" : "Universidad Autonoma de Yucatan" } }, { "::148.210.0.0/112" : { "isp" : "Universidad Autonoma De Ciudad Juarez", "organization" : "Universidad Autonoma De Ciudad Juarez" } }, { "::148.211.0.0/112" : { "isp" : "Universidad Autonoma De Aguascalientes", "organization" : "Universidad Autonoma De Aguascalientes" } }, { "::148.212.0.0/112" : { "isp" : "Universidad Autonoma de Coahuila", "organization" : "Universidad Autonoma de Coahuila" } }, { "::148.213.0.0/112" : { "isp" : "Universidad de Colima", "organization" : "Universidad de Colima" } }, { "::148.214.0.0/112" : { "isp" : "Universidad de Guanajuato", "organization" : "Universidad de Guanajuato" } }, { "::148.215.0.0/112" : { "isp" : "Universidad Autonoma del Estado de Mexico", "organization" : "Universidad Autonoma del Estado de Mexico" } }, { "::148.216.0.0/112" : { "isp" : "Universidad Michoacana de San Nicolas de Hidalgo", "organization" : "Universidad Michoacana de San Nicolas de Hidalgo" } }, { "::148.217.0.0/112" : { "isp" : "Universidad Autonoma De Zacatecas", "organization" : "Universidad Autonoma De Zacatecas" } }, { "::148.218.0.0/112" : { "isp" : "Universidad Autonoma Del Estado De Morelos", "organization" : "Universidad Autonoma Del Estado De Morelos" } }, { "::148.219.0.0/112" : { "isp" : "Universidad Autonoma de Tlaxcala", "organization" : "Universidad Autonoma de Tlaxcala" } }, { "::148.220.0.0/112" : { "isp" : "Universidad Autonoma de Queretaro", "organization" : "Universidad Autonoma de Queretaro" } }, { "::148.221.0.0/112" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.222.0.0/112" : { "isp" : "Universidad Autonóma de Chiapas", "organization" : "Universidad Autonóma de Chiapas" } }, { "::148.223.0.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Grupo Domos" } }, { "::148.223.0.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.0.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.0.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.0.128/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Informacion Medica de Desarrollo - INFOMED" } }, { "::148.223.0.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.1.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Banorte (Clase C)" } }, { "::148.223.2.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.4.0/118" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.8.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.10.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.11.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.11.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Editora de Mar" } }, { "::148.223.11.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.11.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.11.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.12.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.13.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Gestión de direccionamiento UniNet" } }, { "::148.223.14.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.16.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "UNL" } }, { "::148.223.16.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.16.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.16.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.16.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Multimedios Estrella de Oro" } }, { "::148.223.17.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.18.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.20.0/118" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.24.0/117" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.32.0/115" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.64.0/115" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.96.0/117" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.104.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.32/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.48/125" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.56/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.60/127" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.62/128" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Inea Parroquia De Nuestro Senor De La Misericordia" } }, { "::148.223.106.63/128" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.128/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.192/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Kappa Imagenes Digitales" } }, { "::148.223.106.208/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.224/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.107.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.108.0/118" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.112.0/116" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.128.0/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.128.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Clara Alfaro" } }, { "::148.223.128.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "INAOE" } }, { "::148.223.128.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.128.128/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.128.160/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Conexiones Worldspan Tuxtla" } }, { "::148.223.128.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.129.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "TapNet" } }, { "::148.223.130.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.16/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.20/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Cia Periodistica Del Sol De Puebla" } }, { "::148.223.132.24/125" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.133.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.134.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.135.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.135.32/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Sergio Perez Bocanegra" } }, { "::148.223.135.48/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.135.64/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.135.96/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "CCYTT" } }, { "::148.223.135.112/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.135.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.136.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Cliente Tnet (Clase C)" } }, { "::148.223.137.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Conexiones Worldspan" } }, { "::148.223.137.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.137.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.137.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.138.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.139.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Enrique Estrada" } }, { "::148.223.139.32/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Ciber Café La Academia" } }, { "::148.223.139.48/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.139.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.139.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.140.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.0/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.128/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.192/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.224/125" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.232/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Centro De Capacitacion En Computacion De San Andre" } }, { "::148.223.141.236/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.240/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Karlinka" } }, { "::148.223.142.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.64/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.96/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Centro Profesional de Computación del Golfo" } }, { "::148.223.142.112/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.128/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.144/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Eduardo Guerrero" } }, { "::148.223.142.160/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.143.0/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.143.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Univ. Tec.Tabasco" } }, { "::148.223.143.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.143.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.143.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.144.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.145.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Integri" } }, { "::148.223.145.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.145.32/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.145.48/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Coremi" } }, { "::148.223.145.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.145.128/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Felipe Batista" } }, { "::148.223.145.144/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Hector Ruben Fdez" } }, { "::148.223.145.160/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.145.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.0/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Marco Antonio Guevara" } }, { "::148.223.146.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.128/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.192/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Browse Puebla" } }, { "::148.223.146.208/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.224/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.147.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.148.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.150.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Conexiones Worldspan" } }, { "::148.223.150.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.150.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.150.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.151.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.152.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.16/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.20/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Bursametrica Management" } }, { "::148.223.153.24/125" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.154.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.32/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Mexicana de Importaciones y Exportaciones" } }, { "::148.223.155.48/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Electronica Steren" } }, { "::148.223.155.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.128/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.160/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.176/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Agencia Aduanera de America" } }, { "::148.223.155.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.156.0/118" : { "isp" : "Uninet S.A. de C.V.", "organization" : "CONECEL" } }, { "::148.223.160.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Centro de Computo Juce" } }, { "::148.223.161.0/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.161.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.161.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Canacar" } }, { "::148.223.161.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.161.128/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.161.192/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Trainingware" } }, { "::148.223.161.208/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.161.224/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Multiservicios Promocionales" } }, { "::148.223.162.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Hipotecaria Nacional" } }, { "::148.223.162.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Empaques de Carton Uninet" } }, { "::148.223.162.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Conexiones Worldspan" } }, { "::148.223.162.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "SNTE" } }, { "::148.223.162.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.162.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.162.128/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Agencia de Comunicaion Interactiva" } }, { "::148.223.162.144/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.162.160/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "IFE Tlalpan" } }, { "::148.223.162.176/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.162.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.163.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.164.0/118" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.168.0/117" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.176.0/116" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.192.0/114" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.240.0.0/119" : { "isp" : "Axtel Infraestructura-core", "organization" : "Axtel Infraestructura-core" } }, { "::148.243.0.0/112" : { "isp" : "Axtel, S.A.B. de C.V.", "organization" : "Axtel, S.A.B. de C.V." } }, { "::148.245.0.0/120" : { "isp" : "Informacion Al Dia Y Comput SA", "organization" : "Informacion Al Dia Y Comput SA" } }, { "::149.5.110.0/119" : { "organization" : "Fibrestream Limited" } }, { "::154.50.194.0/119" : { "organization" : "Wireless Connect Ltd." } }, { "::168.70.0.0/112" : { "organization" : "HKTNET" } }, { "::169.158.0.0/112" : { "isp" : "Centro Nacional de Intercambio Automatizado", "organization" : "Centro Nacional de Intercambio Automatizado" } }, { "::171.25.212.0/118" : { "organization" : "F-KOM" } }, { "::172.128.0.0/106" : { "autonomous_system_number" : 1668, "autonomous_system_organization" : "AOL Transit Data Network", "isp" : "America Online", "organization" : "America Online" } }, { "::173.227.197.0/120" : { "organization" : "Circle 1 Network" } }, { "::174.36.207.24/128" : { "organization" : "Goversoft" } }, { "::174.127.224.0/115" : { "isp" : "Condointernet.net" } }, { "::174.192.0.0/106" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::176.128.0.0/106" : { "autonomous_system_number" : 12844, "autonomous_system_organization" : "Bouygues Telecom", "isp" : "Bouygues Telecom", "organization" : "Bouygues Telecom" } }, { "::177.0.0.0/110" : { "isp" : "Oi Internet", "organization" : "Oi Internet" } }, { "::177.10.0.0/116" : { "isp" : "Regency Comunicações Ltda", "organization" : "Regency Comunicações Ltda" } }, { "::177.10.24.0/117" : { "isp" : "M.A. Informática Ltda.", "organization" : "M.A. Informática Ltda." } }, { "::177.10.48.0/117" : { "isp" : "Banner Serviços de Telecom e Internet Ltda.", "organization" : "Banner Serviços de Telecom e Internet Ltda." } }, { "::177.10.56.0/117" : { "isp" : "Hoinaski & Sklasky Ltda", "organization" : "Hoinaski & Sklasky Ltda" } }, { "::177.10.64.0/117" : { "isp" : "Silveira & Ziquinatti Ltda", "organization" : "Silveira & Ziquinatti Ltda" } }, { "::177.10.96.0/117" : { "isp" : "Naja Telecomunicações Ltda.", "organization" : "Naja Telecomunicações Ltda." } }, { "::177.10.112.0/118" : { "isp" : "Eletrosul Centrais Elétricas S.A.", "organization" : "Eletrosul Centrais Elétricas S.A." } }, { "::177.10.116.0/118" : { "isp" : "Space Net Serv. De TelecomunicaÇÃo Em Inf. Ltda-me", "organization" : "Space Net Serv. De TelecomunicaÇÃo Em Inf. Ltda-me" } }, { "::177.10.120.0/118" : { "isp" : "JF Soluções Informática Ltda.", "organization" : "JF Soluções Informática Ltda." } }, { "::177.10.124.0/118" : { "isp" : "Info House Informática e Papeis Ltda", "organization" : "Info House Informática e Papeis Ltda" } }, { "::177.10.132.0/118" : { "isp" : "P3 Host Internet Brasil", "organization" : "P3 Host Internet Brasil" } }, { "::177.10.136.0/118" : { "isp" : "Bluephone Solucoes Tecnologicas Ltda", "organization" : "Bluephone Solucoes Tecnologicas Ltda" } }, { "::177.10.144.0/117" : { "isp" : "NETWS Telecomunicações Ltda.", "organization" : "NETWS Telecomunicações Ltda." } }, { "::177.10.160.0/117" : { "isp" : "Chapeco Tecnologia em Telecomunicações Ltda.", "organization" : "Chapeco Tecnologia em Telecomunicações Ltda." } }, { "::177.10.192.0/117" : { "isp" : "Afinet Solucoes Em Tecnologia Da Informacao Ltda", "organization" : "Afinet Solucoes Em Tecnologia Da Informacao Ltda" } }, { "::177.10.208.0/117" : { "isp" : "Mil Negocios Ltda.", "organization" : "Mil Negocios Ltda." } }, { "::177.10.216.0/118" : { "isp" : "Fox Conect Provedor de Internet LTDA", "organization" : "Fox Conect Provedor de Internet LTDA" } }, { "::177.10.224.0/117" : { "isp" : "G30 Telecom ServiÇos Em TelecomunicaÇÕes Ltda", "organization" : "G30 Telecom ServiÇos Em TelecomunicaÇÕes Ltda" } }, { "::177.10.240.0/117" : { "isp" : "Midasnet Telecomunicacoes Ltda", "organization" : "Midasnet Telecomunicacoes Ltda" } }, { "::177.10.248.0/117" : { "isp" : "Viveiros & Araujo Serviços de Provedores da Intern", "organization" : "Viveiros & Araujo Serviços de Provedores da Intern" } }, { "::177.11.16.0/118" : { "isp" : "Rodolfo Romao De Oliveira Neto & Cia Ltda", "organization" : "Rodolfo Romao De Oliveira Neto & Cia Ltda" } }, { "::177.11.24.0/118" : { "isp" : "Ajaxtel Telecomunicações Ltda.", "organization" : "Ajaxtel Telecomunicações Ltda." } }, { "::177.11.32.0/117" : { "isp" : "Mcnet Serviços de Comunicações Ltda", "organization" : "Mcnet Serviços de Comunicações Ltda" } }, { "::177.11.56.0/118" : { "isp" : "R.D.S. Bortoluzzi & Cia Ltda - ME", "organization" : "R.D.S. Bortoluzzi & Cia Ltda - ME" } }, { "::177.11.60.0/118" : { "isp" : "Tolrs Informática Ltda", "organization" : "Tolrs Informática Ltda" } }, { "::177.11.64.0/120" : { "isp" : "Digicontrol ServiÇos De Provedores Ltda", "organization" : "Pablo William Silva Tavares de Lira" } }, { "::177.11.65.0/120" : { "isp" : "Digicontrol ServiÇos De Provedores Ltda", "organization" : "Digicontrol ServiÇos De Provedores Ltda" } }, { "::177.11.66.0/119" : { "isp" : "Digicontrol ServiÇos De Provedores Ltda", "organization" : "Digicontrol ServiÇos De Provedores Ltda" } }, { "::177.11.68.0/118" : { "isp" : "Digicontrol ServiÇos De Provedores Ltda", "organization" : "Digicontrol ServiÇos De Provedores Ltda" } }, { "::177.11.80.0/118" : { "isp" : "PRIMEHOST do BRASIL Ltda", "organization" : "PRIMEHOST do BRASIL Ltda" } }, { "::177.11.84.0/118" : { "isp" : "Minas Turbo Provedor de Internet", "organization" : "Minas Turbo Provedor de Internet" } }, { "::177.11.88.0/118" : { "isp" : "Br2 Internet Ltda", "organization" : "Br2 Internet Ltda" } }, { "::177.11.100.0/118" : { "isp" : "Conexis Internet Provider Ltda - Me", "organization" : "Conexis Internet Provider Ltda - Me" } }, { "::177.11.104.0/118" : { "isp" : "Nolasco & Nonnenmacher Comercio e Rep. Ltda.", "organization" : "Nolasco & Nonnenmacher Comercio e Rep. Ltda." } }, { "::177.11.112.0/117" : { "isp" : "Interneith Via Radio Ltda.", "organization" : "Interneith Via Radio Ltda." } }, { "::177.11.144.0/117" : { "isp" : "Apn - Processamento de Dados e Soluçoes em Interne", "organization" : "Apn - Processamento de Dados e Soluçoes em Interne" } }, { "::177.11.152.0/117" : { "isp" : "Minas Net Ldta Me", "organization" : "Minas Net Ldta Me" } }, { "::177.11.160.0/117" : { "isp" : "Netway Provedor De Internet Ltda", "organization" : "Netway Provedor De Internet Ltda" } }, { "::177.11.176.0/117" : { "isp" : "Catanduva sistemas a cabo ltda.", "organization" : "Catanduva sistemas a cabo ltda." } }, { "::177.11.184.0/117" : { "isp" : "Telecomunicacões Minas Mais Ltda", "organization" : "Telecomunicacões Minas Mais Ltda" } }, { "::177.11.192.0/117" : { "isp" : "Bom Tempo Informática Ltda", "organization" : "Bom Tempo Informática Ltda" } }, { "::177.11.208.0/118" : { "isp" : "Arikinet Internet Ltda - EPP", "organization" : "Arikinet Internet Ltda - EPP" } }, { "::177.11.212.0/118" : { "isp" : "E&L Producoes de Software Ltda", "organization" : "E&L Producoes de Software Ltda" } }, { "::177.11.232.0/117" : { "isp" : "Microfox Informatica Ltda", "organization" : "Microfox Informatica Ltda" } }, { "::177.11.240.0/118" : { "isp" : "Mapfre Vera Cruz Seguradora S/a", "organization" : "Mapfre Vera Cruz Seguradora S/a" } }, { "::177.11.248.0/118" : { "isp" : "Norte Line Telecomunicações Ltda.", "organization" : "Norte Line Telecomunicações Ltda." } }, { "::177.12.0.0/114" : { "isp" : "Predialnet Provedor De Internet Ltda", "organization" : "Predialnet Provedor De Internet Ltda" } }, { "::177.12.128.0/115" : { "isp" : "Pronto Net Ltda.", "organization" : "Pronto Net Ltda." } }, { "::177.12.160.0/117" : { "organization" : "IPV6 Internet Ltda" } }, { "::177.12.176.0/116" : { "isp" : "W r de bel entreterimentos s/s ltda", "organization" : "W r de bel entreterimentos s/s ltda" } }, { "::177.12.192.0/116" : { "isp" : "Alonso Oliveira Neto Me", "organization" : "Alonso Oliveira Neto Me" } }, { "::177.12.208.0/116" : { "isp" : "IP2 Telecomunicação Ltda.", "organization" : "IP2 Telecomunicação Ltda." } }, { "::177.12.240.0/116" : { "isp" : "TURBO 10 Telecomunicações Ltda.", "organization" : "TURBO 10 Telecomunicações Ltda." } }, { "::177.100.0.0/112" : { "isp" : "Vcb Provedor De Acesso Ltda", "organization" : "Vcb Provedor De Acesso Ltda" } }, { "::177.101.0.0/116" : { "isp" : "Click.com telecomunicações ltda-me", "organization" : "Click.com telecomunicações ltda-me" } }, { "::177.101.16.0/116" : { "isp" : "Universidade Estadual De Ponta Grossa", "organization" : "Universidade Estadual De Ponta Grossa" } }, { "::177.101.32.0/117" : { "isp" : "Unica Tecnology Ltda", "organization" : "Unica Tecnology Ltda" } }, { "::177.101.40.0/118" : { "isp" : "Unica Tecnology Ltda", "organization" : "Unica Tecnology Ltda" } }, { "::177.101.44.0/118" : { "isp" : "Unica Tecnology Ltda", "organization" : "Microtell Informatica - Comercio & Prestacao De S" } }, { "::177.101.80.0/116" : { "isp" : "Intercol - Internet Colatina Ltda-ME", "organization" : "Intercol - Internet Colatina Ltda-ME" } }, { "::177.101.96.0/115" : { "isp" : "T.p.a. InformÁtica Ltda", "organization" : "T.p.a. InformÁtica Ltda" } }, { "::177.101.128.0/116" : { "isp" : "Ampernet Telecomunicações Ltda", "organization" : "Ampernet Telecomunicações Ltda" } }, { "::177.101.176.0/116" : { "isp" : "Mar Provedor de Internet Ltda", "organization" : "Mar Provedor de Internet Ltda" } }, { "::177.101.192.0/114" : { "isp" : "Sul Americana Tecnologia e Informática Ltda.", "organization" : "Sul Americana Tecnologia e Informática Ltda." } }, { "::177.102.0.0/111" : { "isp" : "Vivo", "organization" : "Vivo" } }, { "::177.104.0.0/116" : { "isp" : "Jgm Brasil TelecomunicaÇÕes Ltda", "organization" : "Jgm Brasil TelecomunicaÇÕes Ltda" } }, { "::177.104.16.0/116" : { "isp" : "Inetsafe Comercio De Equipamentos Eletronicos Ltda", "organization" : "Inetsafe Comercio De Equipamentos Eletronicos Ltda" } }, { "::177.104.64.0/115" : { "isp" : "Infoline - Comunicações e Informações Eletrônicas", "organization" : "Infoline - Comunicações e Informações Eletrônicas" } }, { "::177.104.192.0/116" : { "isp" : "J W Mateus Informatica - Me", "organization" : "J W Mateus Informatica - Me" } }, { "::177.104.208.0/116" : { "isp" : "Brasconect Informatica LTDA", "organization" : "Brasconect Informatica LTDA" } }, { "::177.104.224.0/116" : { "isp" : "Tech Cable do Brasil Sist. de Telec. Ltda", "organization" : "Tech Cable do Brasil Sist. de Telec. Ltda" } }, { "::177.105.0.0/114" : { "isp" : "Ufla - Universidade Federal De Lavras", "organization" : "Ufla - Universidade Federal De Lavras" } }, { "::177.105.64.0/116" : { "isp" : "Netprimus Tecnologia Ltda", "organization" : "Netprimus Tecnologia Ltda" } }, { "::177.105.112.0/116" : { "isp" : "Evanildo Barbeta Boituva ME", "organization" : "Evanildo Barbeta Boituva ME" } }, { "::177.105.160.0/116" : { "isp" : "LB Redes Telecomunicações LTDA", "organization" : "LB Redes Telecomunicações LTDA" } }, { "::177.105.176.0/116" : { "isp" : "Sidys Comunicações Ltda.", "organization" : "Sidys Comunicações Ltda." } }, { "::177.105.208.0/116" : { "isp" : "Portalmail Informatica Ltda", "organization" : "Portalmail Informatica Ltda" } }, { "::177.105.224.0/116" : { "isp" : "Internet Pinheirense Ltda - ME", "organization" : "Internet Pinheirense Ltda - ME" } }, { "::177.106.0.0/112" : { "isp" : "CTBC", "organization" : "CTBC" } }, { "::177.107.0.0/116" : { "isp" : "Byteweb Comunicação Multimídia Ltda.", "organization" : "Byteweb Comunicação Multimídia Ltda." } }, { "::177.107.64.0/116" : { "isp" : "Redenilf Serviços de Telecomunicações Ltda", "organization" : "Redenilf Serviços de Telecomunicações Ltda" } }, { "::177.107.96.0/116" : { "isp" : "Star Conect Telecom Ltda", "organization" : "Star Conect Telecom Ltda" } }, { "::177.107.112.0/116" : { "isp" : "OpçãoNet Informática Ltda ME", "organization" : "OpçãoNet Informática Ltda ME" } }, { "::177.107.128.0/115" : { "isp" : "Link Sol LTDA - ME", "organization" : "Link Sol LTDA - ME" } }, { "::177.107.178.0/122" : { "isp" : "New Master Provedor De Acesso A Internet", "organization" : "New Master Provedor De Acesso A Internet" } }, { "::177.107.190.0/121" : { "isp" : "New Master Provedor De Acesso A Internet", "organization" : "New Master Provedor De Acesso A Internet" } }, { "::177.107.224.0/115" : { "isp" : "Gigalink de Nova Friburgo Soluções em Rede Multimi", "organization" : "Gigalink de Nova Friburgo Soluções em Rede Multimi" } }, { "::177.108.0.0/110" : { "isp" : "Tim Celular S.A.", "organization" : "Tim Celular S.A." } }, { "::177.112.0.0/109" : { "isp" : "Vivo", "organization" : "Vivo" } }, { "::177.120.0.0/111" : { "isp" : "Tim Celular S.A.", "organization" : "Tim Celular S.A." } }, { "::180.0.0.0/106" : { "autonomous_system_number" : 4713, "autonomous_system_organization" : "NTT Communications Corporation", "isp" : "NTT", "organization" : "NTT" } }, { "::180.131.208.0/116" : { "isp" : "GLBB" } }, { "::180.131.224.0/115" : { "isp" : "GLBB" } }, { "::182.54.235.0/120" : { "organization" : "GPLHost" } }, { "::183.0.0.0/106" : { "autonomous_system_number" : 4134, "autonomous_system_organization" : "Chinanet", "isp" : "China Telecom", "organization" : "China Telecom" } }, { "::183.192.0.0/106" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd.", "isp" : "Guangdong Mobile", "organization" : "Guangdong Mobile" } }, { "::184.71.70.142/128" : { "organization" : "Trans Canada Internet" } }, { "::184.170.240.0/119" : { "organization" : "QuickWeb Hosting Solutions" } }, { "::185.5.42.0/119" : { "isp" : "SmartLabs LLC" } }, { "::186.249.64.0/116" : { "organization" : "WE Radio Comunicação LTDA EPP" } }, { "::187.95.224.0/115" : { "organization" : "Voax Provedor de Internet" } }, { "::187.109.192.0/120" : { "organization" : "RedeTeleSul" } }, { "::188.35.4.0/118" : { "isp" : "CityLink ISP", "organization" : "CityLink Ltd" } }, { "::188.35.144.0/119" : { "organization" : "CityLink Ltd" } }, { "::188.35.149.0/120" : { "organization" : "indtelecom" } }, { "::188.138.21.170/128" : { "organization" : "MitiHost Solutions" } }, { "::190.110.5.0/120" : { "organization" : "FiberXpress Dominicana" } }, { "::190.113.240.0/118" : { "isp" : "FIX WIRELESS" } }, { "::192.102.6.0/119" : { "organization" : "HostVDS-NET" } }, { "::192.114.160.0/115" : { "isp" : "Golden Lines Cable", "organization" : "Golden Lines Cable" } }, { "::192.175.40.0/118" : { "organization" : "Fibrestream Limited" } }, { "::193.41.172.0/118" : { "organization" : "P.P.H.U Multicom" } }, { "::193.43.210.0/119" : { "organization" : "FOP Molochko Nina Vasilevna" } }, { "::193.43.246.250/128" : { "organization" : "Amdocs" } }, { "::193.67.0.0/112" : { "isp" : "Verizon Nederland B.V.", "organization" : "Verizon Nederland B.V." } }, { "::193.95.0.0/113" : { "isp" : "Agence Tunisienne Internet - ATI", "organization" : "Agence Tunisienne Internet - ATI" } }, { "::193.106.152.0/118" : { "organization" : "X-Com Partners" } }, { "::193.108.56.0/118" : { "isp" : "SLW Internet Service Ltd.", "organization" : "SLW Internet Service Ltd." } }, { "::193.130.58.96/124" : { "isp" : "Buckhaven High school", "organization" : "Buckhaven High school" } }, { "::193.170.79.0/120" : { "isp" : "University of Technology, Vienna", "organization" : "University of Technology, Vienna" } }, { "::193.183.144.0/120" : { "organization" : "H & M Hennes & Mauritz AB" } }, { "::193.227.0.0/114" : { "isp" : "Egyptian Universities Network", "organization" : "Egyptian Universities Network" } }, { "::193.235.18.0/119" : { "isp" : "AB Svenska Spel", "organization" : "AB Svenska Spel" } }, { "::193.235.20.0/119" : { "isp" : "AB Svenska Spel", "organization" : "AB Svenska Spel" } }, { "::194.8.240.0/119" : { "organization" : "CDcorp" } }, { "::194.28.112.0/118" : { "isp" : "Specialist Ltd." } }, { "::194.30.180.0/120" : { "organization" : "w3 GmbH" } }, { "::194.50.128.0/118" : { "isp" : "CityLink ISP" } }, { "::194.82.232.0/118" : { "isp" : "Forestry Commision", "organization" : "Forestry Commision" } }, { "::194.84.23.0/121" : { "isp" : "WEB Hotel, Moscow", "organization" : "WEB Hotel, Moscow" } }, { "::194.105.206.0/120" : { "isp" : "Hotel Astoria network", "organization" : "Hotel Astoria network" } }, { "::194.117.119.228/126" : { "isp" : "Seaside Hotels, S.A.", "organization" : "Seaside Hotels, S.A." } }, { "::194.126.180.112/124" : { "organization" : "Small Private Enterprise Kvant-II" } }, { "::194.140.181.0/120" : { "organization" : "WICO" } }, { "::194.140.228.0/120" : { "organization" : "Sevonline" } }, { "::194.149.160.0/115" : { "isp" : "Free SAS", "organization" : "Free SAS" } }, { "::194.165.152.248/125" : { "isp" : "Rawdat Al-Ma'aref Schools & College", "organization" : "Rawdat Al-Ma'aref Schools & College" } }, { "::194.178.0.0/112" : { "isp" : "Verizon Nederland B.V.", "organization" : "Verizon Nederland B.V." } }, { "::194.242.234.0/119" : { "isp" : "CASPUR", "organization" : "CASPUR" } }, { "::194.242.236.0/118" : { "isp" : "CASPUR", "organization" : "CASPUR" } }, { "::194.242.240.0/119" : { "isp" : "CASPUR", "organization" : "CASPUR" } }, { "::195.22.192.0/115" : { "isp" : "TELECOM ITALIA SPARKLE S.p.A.", "organization" : "TELECOM ITALIA SPARKLE S.p.A." } }, { "::195.32.0.0/113" : { "isp" : "Officine Informatiche Srl", "organization" : "Officine Informatiche Srl" } }, { "::195.43.0.0/115" : { "isp" : "Egyptian National Scientific & Technical Informati", "organization" : "Egyptian National Scientific & Technical Informati" } }, { "::195.130.224.0/115" : { "isp" : "Tiscali SpA", "organization" : "Tiscali SpA" } }, { "::195.134.192.0/115" : { "isp" : "Interoute Communications Limited", "organization" : "Interoute Communications Limited" } }, { "::195.137.0.0/113" : { "isp" : "Tiscali UK Limited", "organization" : "Tiscali UK Limited" } }, { "::195.194.74.224/123" : { "isp" : "Blackpool Sixth Form College", "organization" : "Blackpool Sixth Form College" } }, { "::195.194.136.0/118" : { "isp" : "Aberdeen College", "organization" : "Aberdeen College" } }, { "::195.206.64.0/115" : { "isp" : "BT", "organization" : "BT" } }, { "::195.242.32.0/115" : { "isp" : "Verizon Sweden AB", "organization" : "Verizon Sweden AB" } }, { "::195.246.32.0/115" : { "isp" : "Egyptian Universities Network (EUN)", "organization" : "Egyptian Universities Network (EUN)" } }, { "::196.1.56.0/117" : { "isp" : "Frogfoot Networks", "organization" : "Frogfoot Networks" } }, { "::196.1.144.0/116" : { "isp" : "CMC Networks", "organization" : "CMC Networks" } }, { "::196.3.164.0/118" : { "isp" : "Global Internet Access", "organization" : "Global Internet Access" } }, { "::196.3.168.0/117" : { "isp" : "Global Internet Access", "organization" : "Global Internet Access" } }, { "::196.3.176.0/118" : { "isp" : "Global Internet Access", "organization" : "Global Internet Access" } }, { "::196.4.173.0/120" : { "isp" : "Gkn Chep SA", "organization" : "Gkn Chep SA" } }, { "::196.4.174.0/119" : { "isp" : "Gkn Chep SA", "organization" : "Gkn Chep SA" } }, { "::196.4.176.0/117" : { "isp" : "Gkn Chep SA", "organization" : "Gkn Chep SA" } }, { "::196.4.184.0/118" : { "isp" : "Gkn Chep SA", "organization" : "Gkn Chep SA" } }, { "::196.4.188.0/120" : { "isp" : "Gkn Chep SA", "organization" : "Gkn Chep SA" } }, { "::196.12.128.0/116" : { "isp" : "Rwandatel, SA", "organization" : "Rwandatel, SA" } }, { "::196.12.144.0/118" : { "isp" : "Rwandatel, SA", "organization" : "Wireless Broadband Customer" } }, { "::196.12.148.0/118" : { "isp" : "Rwandatel, SA", "organization" : "Rwandatel, SA" } }, { "::196.12.152.0/117" : { "isp" : "Rwandatel, SA", "organization" : "Rwandatel, SA" } }, { "::196.12.192.0/114" : { "isp" : "Wana Corporate", "organization" : "Wana Corporate" } }, { "::196.22.160.0/115" : { "isp" : "MWEB", "organization" : "MWEB" } }, { "::196.22.192.0/116" : { "isp" : "Data Pro Business Online", "organization" : "Data Pro Business Online" } }, { "::196.22.208.0/118" : { "isp" : "Data Pro Business Online", "organization" : "JHB Waverley MetroEthernet, Hosting and Lease Line" } }, { "::196.22.212.0/118" : { "isp" : "Data Pro Business Online", "organization" : "Data Pro Business Online" } }, { "::196.22.216.0/117" : { "isp" : "Data Pro Business Online", "organization" : "Data Pro Business Online" } }, { "::196.22.236.0/118" : { "isp" : "Durban Lease Line and Hosting Zone Range", "organization" : "Durban Lease Line and Hosting Zone Range" } }, { "::196.27.96.0/115" : { "isp" : "Zimbabwe Online", "organization" : "Zimbabwe Online" } }, { "::196.28.249.0/120" : { "isp" : "ONATEL", "organization" : "ONATEL" } }, { "::196.28.250.0/119" : { "isp" : "ONATEL", "organization" : "ONATEL" } }, { "::196.28.252.0/120" : { "isp" : "ONATEL", "organization" : "ONATEL" } }, { "::196.29.187.0/124" : { "isp" : "Al Salam Rotana Hotel- sudan", "organization" : "Al Salam Rotana Hotel- sudan" } }, { "::196.32.112.0/116" : { "isp" : "Universite de Bamako", "organization" : "Universite de Bamako" } }, { "::196.32.232.0/117" : { "isp" : "Amobia Communications", "organization" : "Amobia Communications" } }, { "::196.41.224.0/115" : { "isp" : "Sarl ICOSNET", "organization" : "Sarl ICOSNET" } }, { "::196.43.64.0/116" : { "isp" : "Allocated to Broad band internet in the following", "organization" : "Allocated to Broad band internet in the following" } }, { "::196.43.80.0/117" : { "isp" : "Allocated to Broad band internet in the following", "organization" : "Allocated to Broad band internet in the following" } }, { "::196.43.128.0/114" : { "isp" : "Research and Education Network of Uganda - RENU", "organization" : "Research and Education Network of Uganda - RENU" } }, { "::196.43.194.0/120" : { "isp" : "Association of African Universities", "organization" : "Association of African Universities" } }, { "::196.43.199.0/120" : { "isp" : "Zimbabwe Open University", "organization" : "Zimbabwe Open University" } }, { "::196.43.224.0/120" : { "isp" : "Nigeria Air Force", "organization" : "Nigeria Air Force" } }, { "::196.43.235.0/120" : { "isp" : "Bowen University", "organization" : "Bowen University" } }, { "::196.44.160.0/116" : { "isp" : "University of Dar es Salaam", "organization" : "University of Dar es Salaam" } }, { "::196.44.176.0/116" : { "isp" : "Yo! Africa", "organization" : "Yo! Africa" } }, { "::196.44.240.0/116" : { "isp" : "MTN RwandaCell", "organization" : "MTN RwandaCell" } }, { "::196.200.19.206/128" : { "isp" : "The Institute for Social Accou", "organization" : "The Institute for Social Accou" } }, { "::196.200.20.40/125" : { "isp" : "Tribe Hotel", "organization" : "Tribe Hotel" } }, { "::196.200.28.0/118" : { "isp" : "Accesskenya Group Ltd", "organization" : "Accesskenya Group Ltd" } }, { "::196.200.32.0/116" : { "isp" : "Wananchi Online", "organization" : "Wananchi Online" } }, { "::196.200.63.0/120" : { "isp" : "Afribone - Universite", "organization" : "Afribone - Universite" } }, { "::196.200.80.0/116" : { "isp" : "Ikatel SA", "organization" : "Ikatel SA" } }, { "::196.202.208.0/118" : { "isp" : "Orange Broadband Kenya", "organization" : "Orange Broadband Kenya" } }, { "::196.202.240.0/118" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.244.0/120" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.245.0/125" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Sub allocation to Lerotholi Polytechnic Institute" } }, { "::196.202.245.8/125" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.245.16/124" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.245.32/123" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.245.64/122" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.245.128/121" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.246.0/119" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.206.0.0/113" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.206.128.0/114" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.206.192.0/115" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.206.224.0/117" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.206.232.0/117" : { "isp" : "Maroc Telecom", "organization" : "MarocTelecom" } }, { "::196.206.240.0/116" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.207.16.0/116" : { "isp" : "Communication Solutions Ltd.", "organization" : "Communication Solutions Ltd." } }, { "::196.208.16.0/116" : { "isp" : "Internet Solutions", "organization" : "Internet Solutions" } }, { "::196.208.224.0/116" : { "isp" : "Internet Solutions", "organization" : "Internet Solutions" } }, { "::196.216.48.0/118" : { "isp" : "Network assigned to Silver Customers in Luanda, An", "organization" : "Network assigned to Silver Customers in Luanda, An" } }, { "::196.216.64.0/119" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.66.0/120" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.0/121" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.128/122" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.192/126" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.196/126" : { "isp" : "Swift Global Kenya Limited", "organization" : "PushMobileMediaSGK" } }, { "::196.216.67.200/125" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.208/124" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.224/123" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.68.0/118" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.72.0/117" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.80.0/116" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.172.0/118" : { "isp" : "Grindrod Management Services (Pty) Ltd", "organization" : "Grindrod Management Services (Pty) Ltd" } }, { "::196.216.180.0/118" : { "isp" : "Zenith Bank Ghana Ltd", "organization" : "Zenith Bank Ghana Ltd" } }, { "::196.216.184.0/118" : { "isp" : "Finbank PLC", "organization" : "Finbank PLC" } }, { "::196.216.200.0/118" : { "isp" : "Central Bank of Nigeria", "organization" : "Central Bank of Nigeria" } }, { "::196.216.204.0/118" : { "isp" : "Seacom Ltd", "organization" : "Seacom Ltd" } }, { "::196.216.240.0/119" : { "isp" : "Cairo American College", "organization" : "Cairo American College" } }, { "::196.217.0.0/113" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.217.192.0/115" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.217.224.0/116" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.220.96.0/115" : { "isp" : "National University of Science and Technology", "organization" : "National University of Science and Technology" } }, { "::196.220.208.0/116" : { "isp" : "Beehive Social Enterprise", "organization" : "Beehive Social Enterprise" } }, { "::196.220.224.0/116" : { "isp" : "University of Jos Nigeria", "organization" : "University of Jos Nigeria" } }, { "::196.220.240.0/116" : { "isp" : "University of Lagos", "organization" : "University of Lagos" } }, { "::196.221.20.0/118" : { "isp" : "RT-ADSL-project", "organization" : "RT-ADSL-project" } }, { "::196.221.24.0/117" : { "isp" : "RT-ADSL-project", "organization" : "RT-ADSL-project" } }, { "::196.244.0.0/112" : { "isp" : "Fiber Grid Inc", "organization" : "Fiber Grid Inc" } }, { "::196.252.0.0/111" : { "isp" : "North West University", "organization" : "North West University" } }, { "::196.254.0.0/111" : { "isp" : "University of the Free State", "organization" : "University of the Free State" } }, { "::198.41.28.0/118" : { "isp" : "Granite Networks" } }, { "::198.161.136.0/117" : { "isp" : "SilverIP Communications" } }, { "::198.178.28.0/118" : { "isp" : "Allo Communications LLC" } }, { "::199.120.69.0/120" : { "organization" : "Premier Communications" } }, { "::199.192.166.0/119" : { "organization" : "SUMO FIBER" } }, { "::199.193.222.128/121" : { "organization" : "Alamo Broadband" } }, { "::200.110.139.0/120" : { "organization" : "Argentina Virtual Networks S.R.L." } }, { "::200.110.145.0/123" : { "organization" : "Argentina Virtual Networks S.R.L." } }, { "::202.3.80.0/116" : { "organization" : "DIGINET-NZ" } }, { "::202.93.153.0/120" : { "organization" : "LATELZ Co., Ltd." } }, { "::203.118.242.0/120" : { "organization" : "LATELZ Co., Ltd." } }, { "::203.148.64.0/116" : { "organization" : "LGCNS China" } }, { "::204.128.241.208/128" : { "isp" : "YourHomeISP" } }, { "::206.16.137.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::206.16.139.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::207.34.130.0/120" : { "organization" : "Lytton Area Wireless Society" } }, { "::207.241.128.0/116" : { "isp" : "CMS Internet LLC" } }, { "::208.20.196.16/125" : { "organization" : "Hilite International" } }, { "::208.35.54.80/124" : { "organization" : "Hilite International" } }, { "::208.110.194.0/119" : { "autonomous_system_number" : 11025 } }, { "::208.110.196.0/118" : { "autonomous_system_number" : 11025 } }, { "::208.110.200.0/117" : { "autonomous_system_number" : 11025 } }, { "::208.110.208.0/117" : { "autonomous_system_number" : 11025 } }, { "::208.110.216.0/120" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.0/122" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.64/123" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.96/125" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.104/127" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.106/128" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.107/128" : { "autonomous_system_number" : 11025, "isp" : "Comcast - Houston", "organization" : "Comcast - Houston" } }, { "::208.110.217.108/126" : { "autonomous_system_number" : 11025, "isp" : "Comcast - Houston", "organization" : "Comcast - Houston" } }, { "::208.110.217.112/127" : { "autonomous_system_number" : 11025, "isp" : "Comcast - Houston", "organization" : "Comcast - Houston" } }, { "::208.110.217.114/127" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.116/126" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.120/125" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.128/121" : { "autonomous_system_number" : 11025 } }, { "::208.110.218.0/119" : { "autonomous_system_number" : 11025 } }, { "::208.110.220.0/118" : { "autonomous_system_number" : 11025 } }, { "::208.178.194.148/126" : { "organization" : "Beyond Next" } }, { "::208.192.0.0/106" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business", "isp" : "Verizon Business", "organization" : "Verizon Business" } }, { "::209.66.114.182/128" : { "organization" : "International Business Times" } }, { "::209.222.88.24/125" : { "organization" : "MitiHost Solutions" } }, { "::212.1.224.0/115" : { "isp" : "Net By Net Holding LLC", "organization" : "Net By Net Holding LLC" } }, { "::212.5.224.0/115" : { "isp" : "Nonprofit Partnership for the Development of Finan", "organization" : "Nonprofit Partnership for the Development of Finan" } }, { "::212.10.176.0/116" : { "isp" : "Telia Stofa A/S", "organization" : "Telia Stofa A/S" } }, { "::212.11.128.0/115" : { "isp" : "Moscow Mayor's Office", "organization" : "Moscow Mayor's Office" } }, { "::212.11.160.0/115" : { "isp" : "SPSNET", "organization" : "SPSNET" } }, { "::212.23.224.0/115" : { "isp" : "COLT Technology Services Group Limited", "organization" : "COLT Technology Services Group Limited" } }, { "::212.50.183.0/120" : { "organization" : "Fibrestream Limited" } }, { "::212.55.234.0/119" : { "isp" : "Slovanet a.s.", "organization" : "Slovanet a.s." } }, { "::212.55.236.0/120" : { "isp" : "Slovanet a.s.", "organization" : "Slovanet a.s." } }, { "::212.73.150.0/120" : { "organization" : "Linkplus" } }, { "::212.75.32.0/115" : { "isp" : "Scan Plus GmbH", "organization" : "Scan Plus GmbH" } }, { "::212.102.192.0/115" : { "isp" : "ICM NetServ Ltd", "organization" : "ICM NetServ Ltd" } }, { "::212.121.224.0/115" : { "isp" : "Altecom" } }, { "::212.132.153.192/124" : { "isp" : "St Andrew's Primary School", "organization" : "St Andrew's Primary School" } }, { "::212.137.30.248/125" : { "isp" : "Ufi Army Torch Hub Nuneaton", "organization" : "Ufi Army Torch Hub Nuneaton" } }, { "::212.173.48.112/124" : { "isp" : "Glenfall County Primary School", "organization" : "Glenfall County Primary School" } }, { "::212.173.250.56/125" : { "isp" : "Ashleworth CE Primary School", "organization" : "Ashleworth CE Primary School" } }, { "::212.200.145.192/124" : { "organization" : "SokoWireless.NET!" } }, { "::212.201.51.0/120" : { "isp" : "Saechsische Landesbibliothek -", "organization" : "Saechsische Landesbibliothek -" } }, { "::212.201.52.0/118" : { "isp" : "Saechsische Landesbibliothek -", "organization" : "Saechsische Landesbibliothek -" } }, { "::212.201.56.0/117" : { "isp" : "Saechsische Landesbibliothek -", "organization" : "Saechsische Landesbibliothek -" } }, { "::213.18.209.72/125" : { "isp" : "Dinglewell Infant School", "organization" : "Dinglewell Infant School" } }, { "::213.21.192.0/114" : { "isp" : "VERSIA Ltd", "organization" : "VERSIA Ltd" } }, { "::213.54.0.0/112" : { "isp" : "nacamar GmbH", "organization" : "nacamar GmbH" } }, { "::213.148.199.0/120" : { "isp" : "Altecom" } }, { "::213.148.200.0/117" : { "isp" : "Altecom" } }, { "::213.148.208.0/117" : { "isp" : "Altecom" } }, { "::213.148.216.0/118" : { "isp" : "Altecom" } }, { "::213.148.220.0/120" : { "isp" : "Altecom" } }, { "::213.157.184.0/120" : { "isp" : "RCS & RDS Mobile" } }, { "::213.159.160.0/115" : { "isp" : "Telefonaktiebolaget L M Ericsson", "organization" : "Telefonaktiebolaget L M Ericsson" } }, { "::213.171.52.172/126" : { "isp" : "Network for OAO Megdunarodnyi airport Domodedovo", "organization" : "Network for OAO Megdunarodnyi airport Domodedovo" } }, { "::213.203.120.0/118" : { "isp" : "Jet Multimedia", "organization" : "Jet Multimedia" } }, { "::213.233.96.0/119" : { "isp" : "MobiFon S.A.", "organization" : "MobiFon S.A." } }, { "::213.249.135.0/123" : { "isp" : "York County Council LAN", "organization" : "York County Council LAN" } }, { "::213.254.64.0/114" : { "isp" : "ONO", "organization" : "ONO" } }, { "::214.0.0.0/104" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "::215.0.0.0/105" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "::216.83.161.0/120" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.162.0/119" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.164.0/118" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.168.0/119" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.170.0/120" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.171.0/121" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.171.128/122" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.171.192/123" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA", "isp" : "Sungard Network Solutions", "organization" : "Sungard Network Solutions" } }, { "::216.83.171.224/123" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.172.0/118" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.176.0/116" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.154.16.197/128" : { "organization" : "Silonet.ca - Your Rural Internet Service Provider" } }, { "::216.160.26.0/119" : { "autonomous_system_number" : 209 } }, { "::216.160.28.0/118" : { "autonomous_system_number" : 209 } }, { "::216.160.32.0/115" : { "autonomous_system_number" : 209 } }, { "::216.160.64.0/116" : { "autonomous_system_number" : 209 } }, { "::216.160.80.0/119" : { "autonomous_system_number" : 209 } }, { "::216.160.82.0/120" : { "autonomous_system_number" : 209 } }, { "::216.160.83.0/123" : { "autonomous_system_number" : 209 } }, { "::216.160.83.32/124" : { "autonomous_system_number" : 209 } }, { "::216.160.83.48/125" : { "autonomous_system_number" : 209 } }, { "::216.160.83.56/125" : { "autonomous_system_number" : 209, "isp" : "Century Link", "organization" : "Lariat Software" } }, { "::216.160.83.64/122" : { "autonomous_system_number" : 209 } }, { "::216.160.83.128/121" : { "autonomous_system_number" : 209 } }, { "::216.160.84.0/118" : { "autonomous_system_number" : 209 } }, { "::216.160.88.0/117" : { "autonomous_system_number" : 209 } }, { "::216.160.96.0/115" : { "autonomous_system_number" : 209 } }, { "::216.160.128.0/114" : { "autonomous_system_number" : 209 } }, { "::216.160.192.0/117" : { "autonomous_system_number" : 209 } }, { "::216.160.200.0/118" : { "autonomous_system_number" : 209 } }, { "::216.160.204.0/119" : { "autonomous_system_number" : 209 } }, { "::216.160.206.0/120" : { "autonomous_system_number" : 209 } }, { "::217.12.96.0/116" : { "isp" : "Alfa-Bank Moscow Russia", "organization" : "Alfa-Bank Moscow Russia" } }, { "::217.17.192.0/116" : { "isp" : "IKS Service GmbH" } }, { "::217.28.128.0/116" : { "isp" : "Cobweb Solutions Ltd", "organization" : "Cobweb Solutions Ltd" } }, { "::217.35.170.0/119" : { "isp" : "Start Services", "organization" : "Start Services" } }, { "::217.35.172.0/118" : { "isp" : "Start Services", "organization" : "Start Services" } }, { "::217.63.203.160/123" : { "isp" : "Basisschool De Zaaier", "organization" : "Basisschool De Zaaier" } }, { "::217.76.36.0/120" : { "isp" : "AO VNIITEMR(Machinery&Robotics Institute), Moscow", "organization" : "AO VNIITEMR(Machinery&Robotics Institute), Moscow" } }, { "::217.112.224.0/116" : { "isp" : "SFR", "organization" : "SFR" } }, { "::217.117.217.224/125" : { "organization" : "GIGANET.cz" } }, { "::217.117.217.240/125" : { "organization" : "GIGANET.cz" } }, { "::217.125.152.0/118" : { "isp" : "Telefonica de Espana", "organization" : "Telefonica de Espana" } }, { "::217.125.160.0/115" : { "isp" : "Telefonica de Espana", "organization" : "Telefonica de Espana" } }, { "::217.125.192.0/114" : { "isp" : "Telefonica de Espana", "organization" : "Telefonica de Espana" } }, { "::217.141.185.128/124" : { "isp" : "Hotel Benessere", "organization" : "Hotel Benessere" } }, { "::217.141.234.72/126" : { "isp" : "Comunedisalerno", "organization" : "Comunedisalerno" } }, { "::217.147.234.0/120" : { "isp" : "Tbilisi Pedagogical University", "organization" : "Tbilisi Pedagogical University" } }, { "::217.164.0.0/111" : { "isp" : "Emirates Telecommunications Corporation", "organization" : "Emirates Telecommunications Corporation" } }, { "::217.172.0.0/116" : { "isp" : "T-Systems Italia Spa", "organization" : "T-Systems Italia Spa" } }, { "::217.176.17.0/123" : { "isp" : "Brettenham Infant School", "organization" : "Brettenham Infant School" } }, { "::217.176.21.0/123" : { "isp" : "Shildon County Primary School", "organization" : "Shildon County Primary School" } }, { "::217.176.23.0/123" : { "isp" : "The Campion School", "organization" : "The Campion School" } }, { "::217.176.49.128/122" : { "isp" : "Josca's Preparatory School", "organization" : "Josca's Preparatory School" } }, { "::217.176.85.128/121" : { "isp" : "Dundonald High School", "organization" : "Dundonald High School" } }, { "::217.176.154.232/125" : { "isp" : "Folly Hill County First School", "organization" : "Folly Hill County First School" } }, { "::217.176.154.240/125" : { "isp" : "Beauclerc County Infant School", "organization" : "Beauclerc County Infant School" } }, { "::217.176.156.168/125" : { "isp" : "Holly Lodge County Primary School", "organization" : "Holly Lodge County Primary School" } }, { "::217.176.156.200/125" : { "isp" : "Laleham CE Primary School", "organization" : "Laleham CE Primary School" } }, { "::217.176.159.204/126" : { "isp" : "Surrey County Council", "organization" : "Surrey County Council" } }, { "::217.176.255.0/122" : { "isp" : "Tanfield Lea Junior School", "organization" : "Tanfield Lea Junior School" } }, { "::217.183.12.128/123" : { "isp" : "Tuddenham CE (VC) Primary School", "organization" : "Tuddenham CE (VC) Primary School" } }, { "::217.183.15.64/123" : { "isp" : "West Drayton Primary School", "organization" : "West Drayton Primary School" } }, { "::217.183.18.192/123" : { "isp" : "Wellington Primary School", "organization" : "Wellington Primary School" } }, { "::217.183.55.128/122" : { "isp" : "Brede Primary School", "organization" : "Brede Primary School" } }, { "::217.183.59.0/122" : { "isp" : "Grove CE Primary School", "organization" : "Grove CE Primary School" } }, { "::217.183.130.64/123" : { "isp" : "Longney CE Primary School", "organization" : "Longney CE Primary School" } }, { "::217.183.140.96/123" : { "isp" : "Ketton CE Primary School", "organization" : "Ketton CE Primary School" } }, { "::217.195.192.0/116" : { "isp" : "FiberSunucu internet Hizmetleri Ugur Pala", "organization" : "FiberSunucu internet Hizmetleri Ugur Pala" } }, { "::217.204.110.64/122" : { "isp" : "Radisson Edwardian Hotels - radisson-gw", "organization" : "Radisson Edwardian Hotels - radisson-gw" } }, { "::219.0.0.0/106" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp.", "isp" : "Softbank BB Corp", "organization" : "Softbank BB Corp" } }, { "::220.0.0.0/106" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp.", "isp" : "Softbank BB Corp", "organization" : "Softbank BB Corp" } }, { "::222.229.88.0/117" : { "organization" : "Connected Intelligence" } }, { "::222.229.128.0/113" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.0.0/113" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.128.0/117" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.136.0/119" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC", "isp" : "VECTANT Ltd.", "organization" : "VECTANT Ltd." } }, { "::222.230.138.0/119" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.140.0/118" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.144.0/116" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.160.0/115" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.192.0/114" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "2001:1700::/27" : { "autonomous_system_number" : 6730, "autonomous_system_organization" : "Sunrise Communications AG" } }, { "2001:1c00::/23" : { "autonomous_system_number" : 9143, "autonomous_system_organization" : "Ziggo B.V." } }, { "2001:2000::/20" : { "autonomous_system_number" : 1299, "autonomous_system_organization" : "TeliaSonera International Carrier" } }, { "2001:4540::/27" : { "autonomous_system_number" : 9924, "autonomous_system_organization" : "Taiwan Fixed Network, Telco and Network Service Provider." } }, { "2001:4580::/26" : { "autonomous_system_number" : 4780, "autonomous_system_organization" : "Digital United Inc." } }, { "2001:4600::/24" : { "autonomous_system_number" : 2119, "autonomous_system_organization" : "Telenor Norge AS" } }, { "2001:5000::/24" : { "autonomous_system_number" : 1273, "autonomous_system_organization" : "Cable and Wireless Worldwide plc" } }, { "2001:5100::/24" : { "autonomous_system_number" : 2529, "autonomous_system_organization" : "Now maintained by Cable & Wireless Worldwide" } }, { "2001:5200::/23" : { "autonomous_system_number" : 1273, "autonomous_system_organization" : "Cable and Wireless Worldwide plc" } }, { "2001:5400::/22" : { "autonomous_system_number" : 1273, "autonomous_system_organization" : "Cable and Wireless Worldwide plc" } }, { "2001:8000::/20" : { "autonomous_system_number" : 1221, "autonomous_system_organization" : "Telstra Pty Ltd" } }, { "2001:b000::/21" : { "autonomous_system_number" : 17419, "autonomous_system_organization" : "HiNet IPv6 Service Network.," } }, { "2003::/19" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG" } }, { "2400::/20" : { "autonomous_system_number" : 4766, "autonomous_system_organization" : "Korea Telecom" } }, { "2400:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:2000::/20" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp." } }, { "2400:3000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:4000::/22" : { "autonomous_system_number" : 4713, "autonomous_system_organization" : "NTT Communications Corporation" } }, { "2400:4400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:4800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:5000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:6000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8000::/26" : { "autonomous_system_number" : 9919, "autonomous_system_organization" : "New Century InfoComm Tech Co., Ltd." } }, { "2401:8040::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8080::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:9000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:a000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:c000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2402::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:8000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9000::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9800::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9900::/24" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp." } }, { "2403:9a00::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9c00::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:a000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:c000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404::/26" : { "autonomous_system_number" : 17709, "autonomous_system_organization" : "Eastern Broadband Telecom Co.,Ltd" } }, { "2404:40::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2405::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2406::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408::/22" : { "autonomous_system_number" : 55817, "autonomous_system_organization" : "Nippon Telegraph and Telephone Corporation PF Labs" } }, { "2408:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409::/23" : { "autonomous_system_number" : 55391, "autonomous_system_organization" : "INTERNET MULTIFEED CO." } }, { "2409:200::/23" : { "autonomous_system_number" : 55392, "autonomous_system_organization" : "INTERNET MULTIFEED CO." } }, { "2409:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240a::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b::/22" : { "autonomous_system_number" : 2516, "autonomous_system_organization" : "KDDI KDDI CORPORATION" } }, { "240b:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240c::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d::/27" : { "autonomous_system_number" : 2527, "autonomous_system_organization" : "So-net Entertainment Corporation" } }, { "240d:20::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:40::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e::/24" : { "autonomous_system_number" : 4134, "autonomous_system_organization" : "Chinanet" } }, { "240e:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f::/24" : { "autonomous_system_number" : 2516, "autonomous_system_organization" : "KDDI KDDI CORPORATION" } }, { "240f:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:800::/27" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business" } }, { "2600:820::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:840::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:880::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:900::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:a00::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:c00::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1000::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1400::/27" : { "autonomous_system_number" : 31377, "autonomous_system_organization" : "Akamai International B.V." } }, { "2600:1420::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1440::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1480::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1500::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1600::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:4000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5000::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5400::/27" : { "autonomous_system_number" : 19108, "autonomous_system_organization" : "Suddenlink Communications" } }, { "2600:5420::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5440::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5480::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5500::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5600::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:6000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7000::/24" : { "autonomous_system_number" : 6939, "autonomous_system_organization" : "Hurricane Electric, Inc." } }, { "2600:7100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2601::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602::/24" : { "autonomous_system_number" : 209, "autonomous_system_organization" : "NOVARTIS-DMZ-US" } }, { "2602:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:200::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:300::/24" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "2602:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2603::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2604::/14" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2608::/13" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800:2000::/20" : { "autonomous_system_number" : 10318, "autonomous_system_organization" : "S.A." } }, { "2800:3000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2801::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2802::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2804::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1000::/24" : { "autonomous_system_number" : 8151, "autonomous_system_organization" : "Uninet S.A. de C.V." } }, { "2806:1100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2807::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2808::/13" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2a00::/22" : { "autonomous_system_number" : 3209, "autonomous_system_organization" : "Vodafone GmbH" } }, { "2a00:800::/25" : { "autonomous_system_number" : 1257, "autonomous_system_organization" : "TELE2" } }, { "2a00:2000::/23" : { "autonomous_system_number" : 5400, "autonomous_system_organization" : "British Telecommunications plc" } }, { "2a00:2200::/24" : { "autonomous_system_number" : 5400, "autonomous_system_organization" : "British Telecommunications plc" } }, { "2a00:2300::/25" : { "autonomous_system_number" : 5400, "autonomous_system_organization" : "British Telecommunications plc" } }, { "2a00:2380::/25" : { "autonomous_system_number" : 2856, "autonomous_system_organization" : "BTnet UK Regional network" } }, { "2a01:2e0::/28" : { "autonomous_system_number" : 8374, "autonomous_system_organization" : "Polkomtel Sp. z o.o." } }, { "2a01:800::/24" : { "autonomous_system_number" : 3209, "autonomous_system_organization" : "Vodafone GmbH" } }, { "2a01:c00::/26" : { "autonomous_system_number" : 13184, "autonomous_system_organization" : "Telefonica Germany GmbH & Co.OHG" } }, { "2a01:e00::/26" : { "autonomous_system_number" : 12322, "autonomous_system_organization" : "Free SAS" } }, { "2a01:1000::/21" : { "autonomous_system_number" : 5617, "autonomous_system_organization" : "Telekomunikacja Polska S.A." } }, { "2a01:2000::/20" : { "autonomous_system_number" : 3269, "autonomous_system_organization" : "Telecom Italia S.p.a." } }, { "2a01:c000::/19" : { "autonomous_system_number" : 5511, "autonomous_system_organization" : "Orange S.A." } }, { "2a02:1200::/27" : { "autonomous_system_number" : 3303, "autonomous_system_organization" : "Swisscom (Switzerland) Ltd" } }, { "2a02:1400::/26" : { "autonomous_system_number" : 2119, "autonomous_system_organization" : "Telenor Norge AS" } }, { "2a02:1800::/24" : { "autonomous_system_number" : 6848, "autonomous_system_organization" : "Telenet N.V." } }, { "2a02:2e00::/27" : { "autonomous_system_number" : 12715, "autonomous_system_organization" : "Jazz Telecom S.A." } }, { "2a02:3000::/23" : { "autonomous_system_number" : 6805, "autonomous_system_organization" : "Telefonica Germany GmbH & Co.OHG" } }, { "2a02:8100::/27" : { "autonomous_system_number" : 31334, "autonomous_system_organization" : "Kabel Deutschland Vertrieb und Service GmbH" } }, { "2a02:8200::/27" : { "autonomous_system_number" : 9145, "autonomous_system_organization" : "EWE TEL GmbH" } }, { "2a02:8400::/25" : { "autonomous_system_number" : 15557, "autonomous_system_organization" : "Societe Francaise du Radiotelephone S.A" } }, { "2a02:9000::/23" : { "autonomous_system_number" : 3352, "autonomous_system_organization" : "TELEFONICA DE ESPANA" } }, { "2a02:a000::/26" : { "autonomous_system_number" : 5432, "autonomous_system_organization" : "Belgacom regional ASN" } }, { "2a02:a200::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2a02:a300::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2a02:a400::/26" : { "autonomous_system_number" : 1136, "autonomous_system_organization" : "KPN Internet Solutions" } }, { "2a02:a440::/26" : { "autonomous_system_number" : 8737, "autonomous_system_organization" : "Koninklijke KPN N.V." } }, { "2a02:a800::/26" : { "autonomous_system_number" : 6739, "autonomous_system_organization" : "Cableuropa - ONO" } }, { "2a02:aa00::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2a04:2400::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2c00::/13" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c08::/14" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0c::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e::/20" : { "autonomous_system_number" : 24863, "autonomous_system_organization" : "LINKdotNET" } }, { "2c0e:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:8000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:c000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:e000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:f000::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:f800::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fc00::/27" : { "autonomous_system_number" : 3741, "autonomous_system_organization" : "IS" } }, { "2c0f:fc20::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fc40::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fc80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fd00::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fe00::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:ff00::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:ff40::/26" : { "autonomous_system_number" : 10474, "autonomous_system_organization" : "MWEB-10474" } }, { "2c0f:ff80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } } ] GeoIP2-Precision-Enterprise-Test.json000066400000000000000000000740341310544161500347770ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data[ { "::2.125.160.216/125" : { "city" : { "confidence" : 50, "geoname_id" : "2655045", "names" : { "en" : "Boxford" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 95, "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.7500", "longitude" : "-1.2500", "time_zone" : "Europe/London" }, "postal" : { "code" : "OX1", "confidence" : 20 }, "registered_country" : { "geoname_id" : 3017382, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } }, { "geoname_id" : 3333217, "iso_code" : "WBK", "names" : { "en" : "West Berkshire", "ru" : "Западный Беркшир", "zh-CN" : "西伯克郡" } } ] } }, { "::5.83.124.0/118" : { "registered_country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "is_anonymous_proxy" : true, "isp" : "WifiNetCom" } } }, { "::12.87.118.0/119" : { "traits" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Worldnet Services" } } }, { "::67.43.156.0/120" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 99, "geoname_id" : 1252634, "iso_code" : "BT", "names" : { "de" : "Bhutan", "en" : "Bhutan", "es" : "Bután", "fr" : "Bhutan", "ja" : "ブータン王国", "pt-BR" : "Butão", "ru" : "Бутан", "zh-CN" : "不丹" } }, "location" : { "accuracy_radius" : 534, "latitude" : "27.5000", "longitude" : "90.5000", "time_zone" : "Asia/Thimphu" }, "registered_country" : { "geoname_id" : 798549, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "autonomous_system_number" : 35908, "domain" : "shoesfin.NET", "is_anonymous_proxy" : true, "isp" : "Loud Packet", "organization" : "zudoarichikito_", "user_type" : "search_engine_spider" } } }, { "::74.209.24.0/116" : { "city" : { "confidence" : "11", "geoname_id" : "5112335", "names" : { "en" : "Chatham" } }, "continent" : { "code" : "NA", "geoname_id" : "6255149", "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : "99", "geoname_id" : "6252001", "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : "27", "latitude" : "42.347800", "longitude" : "-73.554900", "metro_code" : "532", "time_zone" : "America/New_York" }, "postal" : { "code" : "12037", "confidence" : "11" }, "registered_country" : { "geoname_id" : "6252001", "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : "93", "geoname_id" : "5128638", "iso_code" : "NY", "names" : { "de" : "New York", "en" : "New York", "es" : "Nueva York", "fr" : "New York", "ja" : "ニューヨーク州", "pt-BR" : "Nova Iorque", "ru" : "Нью-Йорк", "zh-CN" : "纽约州" } } ], "traits" : { "autonomous_system_number" : "14671", "autonomous_system_organization" : "FairPoint Communications", "connection_type" : "Cable/DSL", "domain" : "frpt.net", "is_anonymous_proxy" : true, "is_legitimate_proxy" : true, "is_satellite_provider" : true, "isp" : "Fairpoint Communications", "organization" : "Fairpoint Communications", "user_type" : "residential" } } }, { "::81.2.69.142/127" : { "city" : { "confidence" : 50, "geoname_id" : "2643743", "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 95, "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 10, "latitude" : "51.5142", "longitude" : "-0.0931", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ], "traits" : { "domain" : "in-addr.arpa" } } }, { "::81.2.69.160/123" : { "city" : { "confidence" : 42, "geoname_id" : "2643743", "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 99, "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "51.5142", "longitude" : "-0.0931", "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 42, "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ], "traits" : { "connection_type" : "Corporate", "domain" : "in-addr.arpa", "isp" : "Andrews & Arnold Ltd", "organization" : "STONEHOUSE office network", "user_type" : "government" } } }, { "::89.160.20.112/124" : { "city" : { "confidence" : 51, "geoname_id" : "2694762", "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 99, "geoname_id" : 2661886, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : "58.4167", "longitude" : "15.6167", "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2921044, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "confidence" : 51, "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ], "traits" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB", "connection_type" : "Corporate", "domain" : "bredband2.com", "isp" : "Bredband2 AB", "organization" : "Bevtec", "user_type" : "government" } } }, { "::128.101.101.101/128" : { "city" : { "confidence" : 50, "geoname_id" : 5037649, "names" : { "de" : "Minneapolis", "en" : "Minneapolis", "es" : "Mineápolis", "fr" : "Minneapolis", "ja" : "ミネアポリス", "pt-BR" : "Minneapolis", "ru" : "Миннеаполис", "zh-CN" : "明尼阿波利斯" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 95, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "Сша", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 3, "latitude" : 44.9759, "longitude" : -93.2166, "metro_code" : 613, "time_zone" : "America/Chicago" }, "postal" : { "code" : "55414", "confidence" : 20 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "Сша", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 5037779, "iso_code" : "MN", "names" : { "en" : "Minnesota", "es" : "Minnesota", "ja" : "ミネソタ州", "ru" : "Миннесота" } } ], "traits" : { "autonomous_system_number" : 2313, "autonomous_system_organization" : "Precision AS Org", "isp" : "Precision ISP", "organization" : "Precision Org" } } }, { "::175.16.199.0/120" : { "city" : { "confidence" : 50, "geoname_id" : 2038180, "names" : { "de" : "Chángchūn", "en" : "Changchun", "fr" : "Changchun", "ja" : "長春市", "ru" : "Чанчунь", "zh-CN" : "长春" } }, "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 43.88, "longitude" : 125.3228, "time_zone" : "Asia/Harbin" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 2036500, "iso_code" : "22", "names" : { "en" : "Jilin Sheng", "zh-CN" : "吉林" } } ], "traits" : { "user_type" : "dialup" } } }, { "::188.35.144.0/119" : { "traits" : { "organization" : "CityLink Ltd" } } }, { "::202.196.224.0/116" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "location" : { "accuracy_radius" : 121, "latitude" : "13", "longitude" : "122", "time_zone" : "Asia/Manila" }, "postal" : { "code" : "34021", "confidence" : 20 }, "registered_country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "represented_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" }, "type" : "military" } } }, { "::216.160.83.56/125" : { "city" : { "confidence" : 40, "geoname_id" : "5803556", "names" : { "en" : "Milton", "ru" : "Мильтон" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 22, "latitude" : "47.2513", "longitude" : "-122.3149", "metro_code" : "819", "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "98354", "confidence" : 40 }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "subdivisions" : [ { "confidence" : 99, "geoname_id" : 5815135, "iso_code" : "WA", "names" : { "en" : "Washington", "es" : "Washington", "fr" : "État de Washington", "ja" : "ワシントン州", "ru" : "Вашингтон", "zh-CN" : "华盛顿州" } } ], "traits" : { "autonomous_system_number" : 209, "connection_type" : "Cable/DSL", "isp" : "Century Link", "organization" : "Lariat Software", "user_type" : "government" } } }, { "2001:218::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35.68536", "longitude" : "139.75309", "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:250::/31" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "35", "longitude" : "105" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2a02:d280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 95, "geoname_id" : 3077311, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : "49.75", "longitude" : "15", "time_zone" : "Europe/Prague" }, "registered_country" : { "geoname_id" : 3077311, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "::212.47.235.81/128" : { "traits" : { "is_anonymous_proxy" : true } } }, { "::212.47.235.82/128" : { "traits" : { "is_satellite_provider" : true } } } ] python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data/GeoLite2-ASN-Test.json000066400000000000000000000015441310544161500320070ustar00rootroot00000000000000[ { "::1.128.0.0/107" : { "autonomous_system_number" : 1221, "autonomous_system_organization" : "Telstra Pty Ltd" } }, { "::12.81.92.0/118" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services" } }, { "::12.81.96.0/115" : { "autonomous_system_number" : 7018 } }, { "2600:6000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7000::/24" : { "autonomous_system_number" : 6939, "autonomous_system_organization" : "Hurricane Electric, Inc." } }, { "2600:7100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } } ] python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/source-data/README000066400000000000000000000007401310544161500270230ustar00rootroot00000000000000All of these but the City and Enterprise files are JSON dumps of the databases created by the GeoIP2 build integration tests (TestFor::MM::Integration::GeoIP2::Build). Additional data was added to match our legacy test databases. The City file is of unknown origin. The Enterprise file is a single example IP address, modified slightly to include all fields. The Precision files is the normal GeoIP2 files with an additional marker (128.101.101.101) to differentiate the two. python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/000077500000000000000000000000001310544161500256215ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/GeoIP2-Anonymous-IP-Test.mmdb000066400000000000000000000076701310544161500327320ustar00rootroot00000000000000e-      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abscdepfghijklmnoqrtuvw~xyz{|}9Ql      !"#$%&'()*+,`./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdfghijklmnopqrstuvwxyz{|}~``lLis_anonymousPis_anonymous_vpn   Pis_tor_exit_node   Sis_hosting_provider   Ois_public_proxy MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeSGeoIP2-Anonymous-IPKdescriptionBen]2GeoIP2 Anonymous IP Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizeGeoIP2-City-Test-Broken-Double-Format.mmdb000066400000000000000000000451411310544161500351340ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ RSTUVWXYZ[\]^_`ab}cdefghijklmnopqrstuvwxyz{|~ ; 2 Z ;   I G3    ` !"#$%&'()*+,5-./01234`67i8J9>:;<=?C@ABlDGEFlHI=KZLPMNOQWRTSUVXY[b\_]^`acfdelghjkzlsmpnolqr=twuvlxy{|}~lllG`{MC7t9)*     # !"$'%&()+>,3-0./124;58679:<=V?F@CABDECGJHIKLNOnP_QXRUSTVWY\Z[]^`gadbcef8hkijlmo~pwqtrsuvx{yz|}) P{ U!"gC7!" t    2# !"!$+%(&')*#,/-.013F4?5<6978:;=>@CAB$DEGNHKIJ%XLMORPQST7VWsXdY`Z][\^_abcelfigh&jkmpno{qrtu|vywxCz{}~77'w")!Y9)$)     7:' (N!$"#%&(3),*+-0./124756)89!;J<C=@>?!AB!DGEFHIKRLOMN PQ7SVTUWX7Z[z\k]d^a_`bc!ehfgij7lsmpnoqrtwuvxy{|}~"77*,*,!*+DcityJgeoname_id(EEnamesBenGBoxfordIcontinentDcodeBEU _r, BdeFEuropaBenFEuropeBes GBfr QBjaOヨーロッパEpt-BR GBruLЕвропаEzh-CNF欧洲Gcountry (5Hiso_codeBGB BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス u Bru\Великобритания F英国HlocationOaccuracy_radiusdHlatitudeg51.7500Ilongitudeg-1.2500Itime_zoneMEurope/LondonFpostal 3COX1Rregistered_country . BFR BdeJFrankreichBenFFranceBesGFranciaBfr!BjaUフランス共和国 uGFrançaBruNФранция F法国Lsubdivisions _ CENG BenGEnglandBesJInglaterraBfrJAngleterre u"Z 2a CWBK BenNWest BerkshireBru]Западный Беркшир L西伯克郡 ( 3BAS _r+ BdeEAsienBenDAsiaBes"BfrDAsieBjaIアジア uEÁsiaBruHАзия F亚洲  BBT BdeFBhutanBen#:BesFButánBfr#:BjaRブータン王国 uFButãoBruJБутан F不丹!@!J!\g27.5000!mg90.5000!LAsia/Thimphu!  /U BRO BdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア uHRomêniaBruNРумыния L罗马尼亚FtraitsRis_anonymous_proxy  (W BdeFLondonBen$cBesGLondresBfr$rBjaLロンドン u$rBruLЛондон ( 2 !@!Jd!\g51.5142!mg-0.0931!!! _e BUS BdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 u$BruFСША F美国"-"< $V ( 2 !@!J!\$!m$!!!$"-%F $V ( 2 !@!J !\$!m$!!!$"-%F  )j BdeJLinköpingBen%Bfr%BjaXリンシェーピング I林雪平 ( 2 ( BSE BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 uGSuéciaBruLШвеция F瑞典!@!JL!\g58.4167!mg15.6167!PEurope/Stockholm! ,T BDE BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 uHAlemanhaBruPГермания F德国"- ( AE BenUÖstergötland CountyBfrWComté d'Östergötland   BdeKChángchūnBenIChangchunBfr'BjaI長春市BruNЧанчунь F长春 ("  BCN BdeEChinaBen'Bes'BfrEChineBjaF中国 u'BruJКитай '!@!Jd!\e43.88!mh125.3228!KAsia/Harbin!'"-  B22 BenKJilin Sheng F吉林 (" 8 BPH BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr(BjaXフィリピン共和国 u(BruRФилиппины I菲律宾!@!Jy!\b13!mc122!KAsia/Manila! 3E34021!(fSrepresented_country _e BUS $DtypeHmilitary  X$ BenFMiltonBruNМильтон ( 3BNA _r- BdeKNordamerikaBenMNorth AmericaBesRAmérica del NorteBfrQAmérique du NordBjaO北アメリカ uQAmérica do NorteBru]Северная Америка I北美洲 $!@!J!\g47.2513!mi-122.3149Jmetro_code3!SAmerica/Los_Angeles! 3E98354! "- X_ BWA BenJWashingtonBes(BfrSÉtat de WashingtonBjaRワシントン州BruRВашингтон L华盛顿州 (" e BJP BdeEJapanBen( BesFJapónBfrEJaponBjaF日本 uFJapãoBruLЯпония (/!@!Jd!\h35.68536!mi139.75309!JAsia/Tokyo!( (" A BKR BdeNRepublik KoreaBenKSouth KoreaBesTCorea, República deBfrMCorée du SudBjaL大韓民国 uVCoréia, República daBruUЮжная Корея F韩国!@!Jd!\b37!me127.5!JAsia/Seoul!( (" t BTW BdeFTaiwanBen(nBesGTaiwánBfrGTaïwanBjaF台湾 u(nBruNТайвань (!@!Jd!\b24!mc121!KAsia/Taipei!(\ ("  BCN Bde'BenZPeople's Republic of ChinaBesXRepública Popular ChinaBfr'Bja' u'Bru' '!@!Jd!\b35!mc105!( (" R BHK BdeHHongkongBenIHong KongBes(Bfr(BjaF香港 u(BruNГонконг (!@!Jd!\e22.25!mi114.16667!NAsia/Hong_Kong!(f ( 2 / BNO BdeHNorwegenBenFNorwayBesGNoruegaBfrHNorvègeBjaUノルウェー王国 u( BruPНорвегия F挪威!@!Jd!\b62!mb10!KEurope/Oslo!( (" ~ BIL BdeFIsraelBen(Bes(BfrGIsraëlBjaRイスラエル国 u(BruNИзраиль I以色列!@!Jd!\d31.5!me34.75!NAsia/Jerusalem!( ( 2 !!@!Jd!\b46!ma2!LEurope/Paris!! ( 2 ( BCH BdeGSchweizBenKSwitzerlandBesESuizaBfrFSuisseBjaOスイス連邦 uGSuíçaBruRШвейцария F瑞士!@!Jd!\h47.00016!mg8.01427!MEurope/Zurich!(b ( 2 %!@!Jd!\b62!mb15!&!% (" m BBH BdeGBahrainBen(FBesHBahréinBfrHBahreïnBjaOバーレーン u(FBruNБахрейн F巴林!@!Jd!\b26!md50.5!LAsia/Bahrain!(4 ( 2 Z BRU BdeHRusslandBenFRussiaBesERusiaBfrFRussieBjaIロシア uGRússiaBruLРоссия I俄罗斯!@!Jd!\b60!mc100!( ( 2  /P BPL BdeEPolenBenFPolandBesGPoloniaBfrGPologneBjaXポーランド共和国 uHPolôniaBruLПольша F波兰!@!Jd!\b52!mb20!MEurope/Warsaw!( V ( 2 &!@!Jd!\d51.5!md10.5!MEurope/Berlin!& ( 2 0s BIT BdeGItalienBenEItalyBesFItaliaBfrFItalieBjaUイタリア共和国 uGItáliaBruLИталия I意大利!@!Jd!\h42.83333!mh12.83333!KEurope/Rome!( - ( 2  - BFI BdeHFinnlandBenGFinlandBesIFinlandiaBfrHFinlandeBja[フィンランド共和国 uJFinlândiaBruRФинляндия F芬兰!@!Jd!\b64!mb26!OEurope/Helsinki!( ( 2  @ BBY BdeMWeißrusslandBenGBelarusBesKBielorrusiaBfrLBiélorussieBjaXベラルーシ共和国 uMBielo-RússiaBruPБеларусь L白俄罗斯!@!Jd!\b53!mb28!LEurope/Minsk!( ( 2 . BCZ BdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 u( Bru]Чешская Республика O捷克共和国!@!Jd!\e49.75!mb15!MEurope/Prague!( X ("  BIR BdeZIran (Islamische Republik)BenDIranBes\Irán (República Islámica)Bfr]Iran (République islamique de)Bja]イラン・イスラム共和国 u\República Islâmica do IrãBruHИран X伊朗伊斯兰共和国!@!Jd!\b32!mb53!KAsia/Tehran!( 8 ( 2  g BUA BdeGUkraineBen(ZBesGUcraniaBfr(ZBjaXウクライナ共和国 uHUcrâniaBruNУкраина I乌克兰!@!Jd!\b49!mb32!(H ( 2 !@!Jd!\h54.75844!mh-2.69531!!! ( 2  BHU BdeFUngarnBenGHungaryBesHHungríaBfrGHongrieBjaXハンガリー共和国 uGHungriaBruNВенгрия I匈牙利!@!Jd!\b47!mb20!OEurope/Budapest!( ( 2!@!Jd!\h48.69096!mg9.14062!LEurope/Vaduz ( 2 &O BES BdeGSpanienBenESpainBesGEspañaBfrGEspagneBjaLスペイン uGEspanhaBruNИспания I西班牙!@!Jd!\b40!mb-4!( ( 2  . BBG BdeIBulgarienBenHBulgariaBes(BfrHBulgarieBjaXブルガリア共和国 uIBulgáriaBruPБолгария L保加利亚!@!Jd!\b43!mb25!LEurope/Sofia!(u ( 2 #!@!Jd!\b46!mb25!PEurope/Bucharest!# ( 2 *¹ BBE BdeGBelgienBenGBelgiumBesHBélgicaBfrHBelgiqueBjaRベルギー王国 u(BruNБельгия I比利时!@!Jd!\h50.83333!ma4!OEurope/Brussels!(W (" + BTR BdeGTürkeiBenFTurkeyBesHTurquíaBfrGTurquieBjaRトルコ共和国 uGTurquiaBruLТурция I土耳其!@!Jd!\h39.05901!mh34.91155!OEurope/Istanbul!( ( 2 *s BAT BdeKÖsterreichBenGAustriaBes(BfrHAutricheBja[オーストリア共和国 uHÁustriaBruNАвстрия I奥地利!@!Jd!\h47.33333!mh13.33333!MEurope/Vienna!( ( 2  BAL BdeHAlbanienBenGAlbaniaBes(BfrGAlbanieBjaXアルバニア共和国 uHAlbâniaBruNАлбания O阿尔巴尼亚!@!Jd!\b41!mb20!MEurope/Tirane!(o (" & BLB BdeGLibanonBenGLebanonBesGLíbanoBfrELibanBjaUレバノン共和国 u(FBruJЛиван I黎巴嫩!@!Jd!\h33.83333!mh35.83333!KAsia/Beirut!( ( 2 ) BNL BdeKNiederlandeBenKNetherlandsBesGHolandaBfrHPays-BasBjaRオランダ王国 uNPaíses BaixosBruTНидерланды F荷兰!@!Jd!\d52.5!md5.75!PEurope/Amsterdam!( (" [ BKW BdeFKuwaitBen(Bes(BfrGKoweïtBjaOクウェート u(BruLКувейт I科威特!@!Jd!\d29.5!me47.75!KAsia/Kuwait!( ("  BSA BdeMSaudi-ArabienBenLSaudi ArabiaBesNArabia SauditaBfrOArabie saouditeBja[サウジアラビア王国 uOArábia SauditaBru]Саудовская Аравия O沙特阿拉伯!@!Jd!\b25!mb45!KAsia/Riyadh!( ( 2 _L BRS BdeGSerbienBenFSerbiaBes( BfrFSerbieBjaLセルビア uGSérviaBruLСербия L塞尔维亚!@!Jd!\h44.81892!mh20.45998!OEurope/Belgrade!( ("  BJO BdeIJordanienBen[Hashemite Kingdom of JordanBesHJordaniaBfrHJordanieBja]ヨルダン・ハシミテ王国 uIJordâniaBruPИордания F约旦!@!Jd!\b31!mb36!JAsia/Amman!( ( 3BAF _r* BdeFAfrikaBenFAfricaBesGÁfricaBfrGAfriqueBjaLアフリカ u(BruLАфрика F非洲 ! BLY Bde]Libysch-Arabische DschamahirijaBenELibyaBesXLibia, República ÁrabeBfrELibyeBja] 社会主義人民リビア・アラブ国 uXLíbia Árabe JamahiriyaBruJЛивия [阿拉伯利比亚民众国!@!Jd!\b28!mb17!NAfrica/Tripoli!( ( 2 -8 BIE BdeFIrlandBenGIrelandBesURepública de IrlandaBfrGIrlandeBjaRアイルランド uGIrlandaBruPИрландия I爱尔兰!@!Jd!\b53!mb-8!MEurope/Dublin!( (" l BAZ BdeMAserbaidschanBenJAzerbaijanBesKAzerbaiyánBfrLAzerbaïdjanBja]アゼルバイジャン共和国 uKAzerbaijãoBruVАзербайджан L阿塞拜疆!@!Jd!\d40.5!md47.5!IAsia/Baku!( (" n BAE Bde\Vereinigte Arabische EmirateBenTUnited Arab EmiratesBesWEmiratos Árabes UnidosBfrTÉmirats Arabes UnisBjaXアラブ首長国連邦 uWEmirados Árabes UnidosBru]Объединенные Арабские Эмираты X阿拉伯联合酋长国!@!Jd!\b24!mb54!JAsia/Dubai!(m ("  BAM BdeHArmenienBenGArmeniaBes(BfrHArménieBjaXアルメニア共和国 uHArmêniaBruNАрмения L亚美尼亚!@!Jd!\b40!mb45!LAsia/Yerevan!( ( 2 (8 BDK BdeIDänemarkBenGDenmarkBesIDinamarcaBfrHDanemarkBjaUデンマーク王国 u(uBruJДания F丹麦!@!Jd!\b56!mb10!QEurope/Copenhagen!(K ( 2 .k BIM BdeIInsel ManBenKIsle of ManBesKIsla de ManBfrKÎle de ManBjaIマン島 uKIlha de ManBruMМэн, о-в F曼岛!@!Jd!\e54.25!md-4.5!REurope/Isle_of_Man!( ( 2 $B BGI BdeIGibraltarBen(Bes(Bfr(BjaRジブラルタル u(BruRГибралтар!@!Jd!\h36.13333!me-5.35!PEurope/Gibraltar!(MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeKGeoIP2-CityKdescriptionBen]?GeoIP2 City Test Broken Double Format Database (fake GeoIP2 data, for example purposes only)BzhO小型数据库Jip_versionIlanguagesBenBzhJnode_countKrecord_sizeGeoIP2-City-Test-Invalid-Node-Count.mmdb000066400000000000000000000457371310544161500346300ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ RSTUVWXYZ[\]^_`ab}cdefghijklmnopqrstuvwxyz{|~ ? 8 ` ?   Q RI    ` !"#$%&'()*+,5-./01234`67i8J9>:;<=?C@ABDGEFHI[KZLPMNOQWRTSUVXY[b\_]^`acfdeghjkzlsmpnoqr[twuvxy{|}~|`aMKyaH a*     KaHa# j!"$'%&a()+>,3-0./a12a4;58679:a<=5?F@CABaDEGJHIKLaNOnP_QXRUSTVWY\Z[]^`gadbcKef/hkijlmo~pwqtrsauvx{yz |}a!NK" Ua"#y" $aa      a2#Ka !""$+%(&'a)*% ,/-.013F4?5<6978a:;=>a@CAB%DEGNHKIJ&LMaORPQSTVWsXdY`Z][\a^_abcelfigh'jkmpnoqrKtu|vywxz{}~aaj(a$"KYy%aaaa     a:' )!$"#%&(3),*+-0./124756*89";J<C=@>?"AB"DGEFHIKRLOMN" PQSVTUKWXZ[z\k]d^a_`bc"ehfgaijlsmpnoqrtwuvxy{|}~$aaK+a+ ",Ga-DcityJgeoname_id(EEnamesBenGBoxfordIcontinentDcodeBEU _r, BdeFEuropaBenFEuropeBes GBfr QBjaOヨーロッパEpt-BR GBruLЕвропаEzh-CNF欧洲Gcountry (5Hiso_codeBGB BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス u Bru\Великобритания F英国HlocationOaccuracy_radiusdHlatitudeh@IIlongitudehItime_zoneMEurope/LondonFpostal 3COX1Rregistered_country . BFR BdeJFrankreichBenFFranceBesGFranciaBfr!BjaUフランス共和国 uGFrançaBruNФранция F法国Lsubdivisions _ CENG BenGEnglandBesJInglaterraBfrJAngleterre u"\ 2a CWBK BenNWest BerkshireBru]Западный Беркшир L西伯克郡 ( 3BAS _r+ BdeEAsienBenDAsiaBes"BfrDAsieBjaIアジア uEÁsiaBruHАзия F亚洲  BBT BdeFBhutanBen# $Z ( 2 !@!J!\$!n$!!!$"/%L $Z ( 2 !@!J !\$!n$!!!$"/%L  )j BdeJLinköpingBen%Bfr%BjaXリンシェーピング I林雪平 ( 2 ( BSE BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 uGSuéciaBruLШвеция F瑞典!@!JL!\h@M5Vl!!nh@/;6!PEurope/Stockholm! ,T BDE BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 uHAlemanhaBruPГермания F德国"/ ( AE BenUÖstergötland CountyBfrWComté d'Östergötland   BdeKChángchūnBenIChangchunBfr'BjaI長春市BruNЧанчунь F长春 ("  BCN BdeEChinaBen'Bes'BfrEChineBjaF中国 u'BruJКитай '!@!Jd!\h@E =q!nh@_TTɆ!KAsia/Harbin!'"/  B22 BenKJilin Sheng F吉林 (" 8 BPH BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr(BjaXフィリピン共和国 u(BruRФилиппины I菲律宾!@!Jy!\h@*!nh@^!KAsia/Manila! 3E34021!(qSrepresented_country _e BUS $DtypeHmilitary  X$ BenFMiltonBruNМильтон ( 3BNA _r- BdeKNordamerikaBenMNorth AmericaBesRAmérica del NorteBfrQAmérique du NordBjaO北アメリカ uQAmérica do NorteBru]Северная Америка I北美洲 $!@!J!\h@G*0!nh^'RT`Jmetro_code3!SAmerica/Los_Angeles! 3E98354! "/ X_ BWA BenJWashingtonBes(BfrSÉtat de WashingtonBjaRワシントン州BruRВашингтон L华盛顿州 (" e BJP BdeEJapanBen(#BesFJapónBfrEJaponBjaF日本 uFJapãoBruLЯпония (E!@!Jd!\h@A׹`H!nh@axP3:!JAsia/Tokyo!( (" A BKR BdeNRepublik KoreaBenKSouth KoreaBesTCorea, República deBfrMCorée du SudBjaL大韓民国 uVCoréia, República daBruUЮжная Корея F韩国!@!Jd!\h@B!nh@_!JAsia/Seoul!( (" t BTW BdeFTaiwanBen(BesGTaiwánBfrGTaïwanBjaF台湾 u(BruNТайвань (!@!Jd!\h@8!nh@^@!KAsia/Taipei!(z ("  BCN Bde'BenZPeople's Republic of ChinaBesXRepública Popular ChinaBfr'Bja' u'Bru( '!@!Jd!\h@A!nh@Z@!( (" R BHK BdeHHongkongBenIHong KongBes(Bfr(BjaF香港 u(BruNГонконг (!@!Jd!\h@6@!nh@\[!NAsia/Hong_Kong!( ( 2 / BNO BdeHNorwegenBenFNorwayBesGNoruegaBfrHNorvègeBjaUノルウェー王国 u(WBruPНорвегия F挪威!@!Jd!\h@O!nh@$!KEurope/Oslo!(/ (" ~ BIL BdeFIsraelBen(Bes(BfrGIsraëlBjaRイスラエル国 u(BruNИзраиль I以色列!@!Jd!\h@?!nh@A`!NAsia/Jerusalem!( ( 2 !!@!Jd!\h@G!nh@!LEurope/Paris!! ( 2 ( BCH BdeGSchweizBenKSwitzerlandBesESuizaBfrFSuisseBjaOスイス連邦 uGSuíçaBruRШвейцария F瑞士!@!Jd!\h@G>-b9!nh@ Ne!MEurope/Zurich!( ( 2 %!@!Jd!\h@O!nh@.!&!% (" m BBH BdeGBahrainBen(BesHBahréinBfrHBahreïnBjaOバーレーン u(BruNБахрейн F巴林!@!Jd!\h@:!nh@I@!LAsia/Bahrain!( ( 2 Z BRU BdeHRusslandBenFRussiaBesERusiaBfrFRussieBjaIロシア uGRússiaBruLРоссия I俄罗斯!@!Jd!\h@N!nh@Y!( ; ( 2  /P BPL BdeEPolenBenFPolandBesGPoloniaBfrGPologneBjaXポーランド共和国 uHPolôniaBruLПольша F波兰!@!Jd!\h@J!nh@4!MEurope/Warsaw!( ( 2 &!@!Jd!\h@I!nh@%!MEurope/Berlin!& ( 2 0s BIT BdeGItalienBenEItalyBesFItaliaBfrFItalieBjaUイタリア共和国 uGItáliaBruLИталия I意大利!@!Jd!\h@EjcI!nh@):э&!KEurope/Rome!( ( 2  - BFI BdeHFinnlandBenGFinlandBesIFinlandiaBfrHFinlandeBja[フィンランド共和国 uJFinlândiaBruRФинляндия F芬兰!@!Jd!\h@P!nh@:!OEurope/Helsinki!( g ( 2  @ BBY BdeMWeißrusslandBenGBelarusBesKBielorrusiaBfrLBiélorussieBjaXベラルーシ共和国 uMBielo-RússiaBruPБеларусь L白俄罗斯!@!Jd!\h@J!nh@<!LEurope/Minsk!( , ( 2 . BCZ BdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 u( :Bru]Чешская Республика O捷克共和国!@!Jd!\h@H!nh@.!MEurope/Prague!( ("  BIR BdeZIran (Islamische Republik)BenDIranBes\Irán (República Islámica)Bfr]Iran (République islamique de)Bja]イラン・イスラム共和国 u\República Islâmica do IrãBruHИран X伊朗伊斯兰共和国!@!Jd!\h@@!nh@J!KAsia/Tehran!( ( 2  g BUA BdeGUkraineBen(BesGUcraniaBfr(BjaXウクライナ共和国 uHUcrâniaBruNУкраина I乌克兰!@!Jd!\h@H!nh@@!( ( 2 !@!Jd!\h@Ka7!nhtr!!! ( 2  BHU BdeFUngarnBenGHungaryBesHHungríaBfrGHongrieBjaXハンガリー共和国 uGHungriaBruNВенгрия I匈牙利!@!Jd!\h@G!nh@4!OEurope/Budapest!( ( 2!@!Jd!\h@HXq`l !nh@"GX:S!LEurope/Vaduz ( 2 &O BES BdeGSpanienBenESpainBesGEspañaBfrGEspagneBjaLスペイン uGEspanhaBruNИспания I西班牙!@!Jd!\h@D!nh!( ( 2  . BBG BdeIBulgarienBenHBulgariaBes(sBfrHBulgarieBjaXブルガリア共和国 uIBulgáriaBruPБолгария L保加利亚!@!Jd!\h@E!nh@9!LEurope/Sofia!(T ( 2 #!@!Jd!\h@G!nh@9!PEurope/Bucharest!# ( 2 *¹ BBE BdeGBelgienBenGBelgiumBesHBélgicaBfrHBelgiqueBjaRベルギー王国 u(vBruNБельгия I比利时!@!Jd!\h@IjcI!nh@!OEurope/Brussels!(N (" + BTR BdeGTürkeiBenFTurkeyBesHTurquíaBfrGTurquieBjaRトルコ共和国 uGTurquiaBruLТурция I土耳其!@!Jd!\h@C!nh@AtU!OEurope/Istanbul!( ( 2 *s BAT BdeKÖsterreichBenGAustriaBes(BfrHAutricheBja[オーストリア共和国 uHÁustriaBruNАвстрия I奥地利!@!Jd!\h@GcI!nh@*:э&!MEurope/Vienna!( ( 2  BAL BdeHAlbanienBenGAlbaniaBes(BfrGAlbanieBjaXアルバニア共和国 uHAlbâniaBruNАлбания O阿尔巴尼亚!@!Jd!\h@D!nh@4!MEurope/Tirane!(m (" & BLB BdeGLibanonBenGLebanonBesGLíbanoBfrELibanBjaUレバノン共和国 u(PBruJЛиван I黎巴嫩!@!Jd!\h@@ꪎcI!nh@AꪎcI!KAsia/Beirut!(( ( 2 ) BNL BdeKNiederlandeBenKNetherlandsBesGHolandaBfrHPays-BasBjaRオランダ王国 uNPaíses BaixosBruTНидерланды F荷兰!@!Jd!\h@J@!nh@!PEurope/Amsterdam!( (" [ BKW BdeFKuwaitBen(Bes(BfrGKoweïtBjaOクウェート u(BruLКувейт I科威特!@!Jd!\h@=!nh@G!KAsia/Kuwait!( ("  BSA BdeMSaudi-ArabienBenLSaudi ArabiaBesNArabia SauditaBfrOArabie saouditeBja[サウジアラビア王国 uOArábia SauditaBru]Саудовская Аравия O沙特阿拉伯!@!Jd!\h@9!nh@F!KAsia/Riyadh!(3 ( 2 _L BRS BdeGSerbienBenFSerbiaBes(EBfrFSerbieBjaLセルビア uGSérviaBruLСербия L塞尔维亚!@!Jd!\h@Fh^)!nh@4u?h!OEurope/Belgrade!(( ("  BJO BdeIJordanienBen[Hashemite Kingdom of JordanBesHJordaniaBfrHJordanieBja]ヨルダン・ハシミテ王国 uIJordâniaBruPИордания F约旦!@!Jd!\h@?!nh@B!JAsia/Amman!( ( 3BAF _r* BdeFAfrikaBenFAfricaBesGÁfricaBfrGAfriqueBjaLアフリカ u(BruLАфрика F非洲 ! BLY Bde]Libysch-Arabische DschamahirijaBenELibyaBesXLibia, República ÁrabeBfrELibyeBja] 社会主義人民リビア・アラブ国 uXLíbia Árabe JamahiriyaBruJЛивия [阿拉伯利比亚民众国!@!Jd!\h@<!nh@1!NAfrica/Tripoli!( ( 2 -8 BIE BdeFIrlandBenGIrelandBesURepública de IrlandaBfrGIrlandeBjaRアイルランド uGIrlandaBruPИрландия I爱尔兰!@!Jd!\h@J!nh !MEurope/Dublin!( (" l BAZ BdeMAserbaidschanBenJAzerbaijanBesKAzerbaiyánBfrLAzerbaïdjanBja]アゼルバイジャン共和国 uKAzerbaijãoBruVАзербайджан L阿塞拜疆!@!Jd!\h@D@!nh@G!IAsia/Baku!( (" n BAE Bde\Vereinigte Arabische EmirateBenTUnited Arab EmiratesBesWEmiratos Árabes UnidosBfrTÉmirats Arabes UnisBjaXアラブ首長国連邦 uWEmirados Árabes UnidosBru]Объединенные Арабские Эмираты X阿拉伯联合酋长国!@!Jd!\h@8!nh@K!JAsia/Dubai!( ("  BAM BdeHArmenienBenGArmeniaBes(BfrHArménieBjaXアルメニア共和国 uHArmêniaBruNАрмения L亚美尼亚!@!Jd!\h@D!nh@F!LAsia/Yerevan!( ( 2 (8 BDK BdeIDänemarkBenGDenmarkBesIDinamarcaBfrHDanemarkBjaUデンマーク王国 u(BruJДания F丹麦!@!Jd!\h@L!nh@$!QEurope/Copenhagen!( ( 2 .k BIM BdeIInsel ManBenKIsle of ManBesKIsla de ManBfrKÎle de ManBjaIマン島 uKIlha de ManBruMМэн, о-в F曼岛!@!Jd!\h@K !nh!REurope/Isle_of_Man!(f ( 2 $B BGI BdeIGibraltarBen( 4Bes( 4Bfr( 4BjaRジブラルタル u( 4BruRГибралтар!@!Jd!\h@Bɰ!nhffffff!PEurope/Gibraltar!( "MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeKGeoIP2-CityKdescriptionBen]=GeoIP2 City Test Invalid Node Count Database (fake GeoIP2 data, for example purposes only)BzhO小型数据库Jip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/GeoIP2-City-Test.mmdb000066400000000000000000000457131310544161500313440ustar00rootroot00000000000000      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ RSTUVWXYZ[\]^_`ab}cdefghijklmnopqrstuvwxyz{|~ ? 8 ` ?   Q RI    ` !"#$%&'()*+,5-./01234`67i8J9>:;<=?C@ABDGEFHI[KZLPMNOQWRTSUVXY[b\_]^`acfdeghjkzlsmpnoqr[twuvxy{|}~|`aMKyaH a*     KaHa# j!"$'%&a()+>,3-0./a12a4;58679:a<=5?F@CABaDEGJHIKLaNOnP_QXRUSTVWY\Z[]^`gadbcKef/hkijlmo~pwqtrsauvx{yz |}a!NK" Ua"#y" $aa      a2#Ka !""$+%(&'a)*% ,/-.013F4?5<6978a:;=>a@CAB%DEGNHKIJ&LMaORPQSTVWsXdY`Z][\a^_abcelfigh'jkmpnoqrKtu|vywxz{}~aaj(a$"KYy%aaaa     a:' )!$"#%&(3),*+-0./124756*89";J<C=@>?"AB"DGEFHIKRLOMN" PQSVTUKWXZ[z\k]d^a_`bc"ehfgaijlsmpnoqrtwuvxy{|}~$aaK+a+ ",Ga-DcityJgeoname_id(EEnamesBenGBoxfordIcontinentDcodeBEU _r, BdeFEuropaBenFEuropeBes GBfr QBjaOヨーロッパEpt-BR GBruLЕвропаEzh-CNF欧洲Gcountry (5Hiso_codeBGB BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス u Bru\Великобритания F英国HlocationOaccuracy_radiusdHlatitudeh@IIlongitudehItime_zoneMEurope/LondonFpostal 3COX1Rregistered_country . BFR BdeJFrankreichBenFFranceBesGFranciaBfr!BjaUフランス共和国 uGFrançaBruNФранция F法国Lsubdivisions _ CENG BenGEnglandBesJInglaterraBfrJAngleterre u"\ 2a CWBK BenNWest BerkshireBru]Западный Беркшир L西伯克郡 ( 3BAS _r+ BdeEAsienBenDAsiaBes"BfrDAsieBjaIアジア uEÁsiaBruHАзия F亚洲  BBT BdeFBhutanBen# $Z ( 2 !@!J!\$!n$!!!$"/%L $Z ( 2 !@!J !\$!n$!!!$"/%L  )j BdeJLinköpingBen%Bfr%BjaXリンシェーピング I林雪平 ( 2 ( BSE BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 uGSuéciaBruLШвеция F瑞典!@!JL!\h@M5Vl!!nh@/;6!PEurope/Stockholm! ,T BDE BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 uHAlemanhaBruPГермания F德国"/ ( AE BenUÖstergötland CountyBfrWComté d'Östergötland   BdeKChángchūnBenIChangchunBfr'BjaI長春市BruNЧанчунь F长春 ("  BCN BdeEChinaBen'Bes'BfrEChineBjaF中国 u'BruJКитай '!@!Jd!\h@E =q!nh@_TTɆ!KAsia/Harbin!'"/  B22 BenKJilin Sheng F吉林 (" 8 BPH BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr(BjaXフィリピン共和国 u(BruRФилиппины I菲律宾!@!Jy!\h@*!nh@^!KAsia/Manila! 3E34021!(qSrepresented_country _e BUS $DtypeHmilitary  X$ BenFMiltonBruNМильтон ( 3BNA _r- BdeKNordamerikaBenMNorth AmericaBesRAmérica del NorteBfrQAmérique du NordBjaO北アメリカ uQAmérica do NorteBru]Северная Америка I北美洲 $!@!J!\h@G*0!nh^'RT`Jmetro_code3!SAmerica/Los_Angeles! 3E98354! "/ X_ BWA BenJWashingtonBes(BfrSÉtat de WashingtonBjaRワシントン州BruRВашингтон L华盛顿州 (" e BJP BdeEJapanBen(#BesFJapónBfrEJaponBjaF日本 uFJapãoBruLЯпония (E!@!Jd!\h@A׹`H!nh@axP3:!JAsia/Tokyo!( (" A BKR BdeNRepublik KoreaBenKSouth KoreaBesTCorea, República deBfrMCorée du SudBjaL大韓民国 uVCoréia, República daBruUЮжная Корея F韩国!@!Jd!\h@B!nh@_!JAsia/Seoul!( (" t BTW BdeFTaiwanBen(BesGTaiwánBfrGTaïwanBjaF台湾 u(BruNТайвань (!@!Jd!\h@8!nh@^@!KAsia/Taipei!(z ("  BCN Bde'BenZPeople's Republic of ChinaBesXRepública Popular ChinaBfr'Bja' u'Bru( '!@!Jd!\h@A!nh@Z@!( (" R BHK BdeHHongkongBenIHong KongBes(Bfr(BjaF香港 u(BruNГонконг (!@!Jd!\h@6@!nh@\[!NAsia/Hong_Kong!( ( 2 / BNO BdeHNorwegenBenFNorwayBesGNoruegaBfrHNorvègeBjaUノルウェー王国 u(WBruPНорвегия F挪威!@!Jd!\h@O!nh@$!KEurope/Oslo!(/ (" ~ BIL BdeFIsraelBen(Bes(BfrGIsraëlBjaRイスラエル国 u(BruNИзраиль I以色列!@!Jd!\h@?!nh@A`!NAsia/Jerusalem!( ( 2 !!@!Jd!\h@G!nh@!LEurope/Paris!! ( 2 ( BCH BdeGSchweizBenKSwitzerlandBesESuizaBfrFSuisseBjaOスイス連邦 uGSuíçaBruRШвейцария F瑞士!@!Jd!\h@G>-b9!nh@ Ne!MEurope/Zurich!( ( 2 %!@!Jd!\h@O!nh@.!&!% (" m BBH BdeGBahrainBen(BesHBahréinBfrHBahreïnBjaOバーレーン u(BruNБахрейн F巴林!@!Jd!\h@:!nh@I@!LAsia/Bahrain!( ( 2 Z BRU BdeHRusslandBenFRussiaBesERusiaBfrFRussieBjaIロシア uGRússiaBruLРоссия I俄罗斯!@!Jd!\h@N!nh@Y!( ; ( 2  /P BPL BdeEPolenBenFPolandBesGPoloniaBfrGPologneBjaXポーランド共和国 uHPolôniaBruLПольша F波兰!@!Jd!\h@J!nh@4!MEurope/Warsaw!( ( 2 &!@!Jd!\h@I!nh@%!MEurope/Berlin!& ( 2 0s BIT BdeGItalienBenEItalyBesFItaliaBfrFItalieBjaUイタリア共和国 uGItáliaBruLИталия I意大利!@!Jd!\h@EjcI!nh@):э&!KEurope/Rome!( ( 2  - BFI BdeHFinnlandBenGFinlandBesIFinlandiaBfrHFinlandeBja[フィンランド共和国 uJFinlândiaBruRФинляндия F芬兰!@!Jd!\h@P!nh@:!OEurope/Helsinki!( g ( 2  @ BBY BdeMWeißrusslandBenGBelarusBesKBielorrusiaBfrLBiélorussieBjaXベラルーシ共和国 uMBielo-RússiaBruPБеларусь L白俄罗斯!@!Jd!\h@J!nh@<!LEurope/Minsk!( , ( 2 . BCZ BdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 u( :Bru]Чешская Республика O捷克共和国!@!Jd!\h@H!nh@.!MEurope/Prague!( ("  BIR BdeZIran (Islamische Republik)BenDIranBes\Irán (República Islámica)Bfr]Iran (République islamique de)Bja]イラン・イスラム共和国 u\República Islâmica do IrãBruHИран X伊朗伊斯兰共和国!@!Jd!\h@@!nh@J!KAsia/Tehran!( ( 2  g BUA BdeGUkraineBen(BesGUcraniaBfr(BjaXウクライナ共和国 uHUcrâniaBruNУкраина I乌克兰!@!Jd!\h@H!nh@@!( ( 2 !@!Jd!\h@Ka7!nhtr!!! ( 2  BHU BdeFUngarnBenGHungaryBesHHungríaBfrGHongrieBjaXハンガリー共和国 uGHungriaBruNВенгрия I匈牙利!@!Jd!\h@G!nh@4!OEurope/Budapest!( ( 2!@!Jd!\h@HXq`l !nh@"GX:S!LEurope/Vaduz ( 2 &O BES BdeGSpanienBenESpainBesGEspañaBfrGEspagneBjaLスペイン uGEspanhaBruNИспания I西班牙!@!Jd!\h@D!nh!( ( 2  . BBG BdeIBulgarienBenHBulgariaBes(sBfrHBulgarieBjaXブルガリア共和国 uIBulgáriaBruPБолгария L保加利亚!@!Jd!\h@E!nh@9!LEurope/Sofia!(T ( 2 #!@!Jd!\h@G!nh@9!PEurope/Bucharest!# ( 2 *¹ BBE BdeGBelgienBenGBelgiumBesHBélgicaBfrHBelgiqueBjaRベルギー王国 u(vBruNБельгия I比利时!@!Jd!\h@IjcI!nh@!OEurope/Brussels!(N (" + BTR BdeGTürkeiBenFTurkeyBesHTurquíaBfrGTurquieBjaRトルコ共和国 uGTurquiaBruLТурция I土耳其!@!Jd!\h@C!nh@AtU!OEurope/Istanbul!( ( 2 *s BAT BdeKÖsterreichBenGAustriaBes(BfrHAutricheBja[オーストリア共和国 uHÁustriaBruNАвстрия I奥地利!@!Jd!\h@GcI!nh@*:э&!MEurope/Vienna!( ( 2  BAL BdeHAlbanienBenGAlbaniaBes(BfrGAlbanieBjaXアルバニア共和国 uHAlbâniaBruNАлбания O阿尔巴尼亚!@!Jd!\h@D!nh@4!MEurope/Tirane!(m (" & BLB BdeGLibanonBenGLebanonBesGLíbanoBfrELibanBjaUレバノン共和国 u(PBruJЛиван I黎巴嫩!@!Jd!\h@@ꪎcI!nh@AꪎcI!KAsia/Beirut!(( ( 2 ) BNL BdeKNiederlandeBenKNetherlandsBesGHolandaBfrHPays-BasBjaRオランダ王国 uNPaíses BaixosBruTНидерланды F荷兰!@!Jd!\h@J@!nh@!PEurope/Amsterdam!( (" [ BKW BdeFKuwaitBen(Bes(BfrGKoweïtBjaOクウェート u(BruLКувейт I科威特!@!Jd!\h@=!nh@G!KAsia/Kuwait!( ("  BSA BdeMSaudi-ArabienBenLSaudi ArabiaBesNArabia SauditaBfrOArabie saouditeBja[サウジアラビア王国 uOArábia SauditaBru]Саудовская Аравия O沙特阿拉伯!@!Jd!\h@9!nh@F!KAsia/Riyadh!(3 ( 2 _L BRS BdeGSerbienBenFSerbiaBes(EBfrFSerbieBjaLセルビア uGSérviaBruLСербия L塞尔维亚!@!Jd!\h@Fh^)!nh@4u?h!OEurope/Belgrade!(( ("  BJO BdeIJordanienBen[Hashemite Kingdom of JordanBesHJordaniaBfrHJordanieBja]ヨルダン・ハシミテ王国 uIJordâniaBruPИордания F约旦!@!Jd!\h@?!nh@B!JAsia/Amman!( ( 3BAF _r* BdeFAfrikaBenFAfricaBesGÁfricaBfrGAfriqueBjaLアフリカ u(BruLАфрика F非洲 ! BLY Bde]Libysch-Arabische DschamahirijaBenELibyaBesXLibia, República ÁrabeBfrELibyeBja] 社会主義人民リビア・アラブ国 uXLíbia Árabe JamahiriyaBruJЛивия [阿拉伯利比亚民众国!@!Jd!\h@<!nh@1!NAfrica/Tripoli!( ( 2 -8 BIE BdeFIrlandBenGIrelandBesURepública de IrlandaBfrGIrlandeBjaRアイルランド uGIrlandaBruPИрландия I爱尔兰!@!Jd!\h@J!nh !MEurope/Dublin!( (" l BAZ BdeMAserbaidschanBenJAzerbaijanBesKAzerbaiyánBfrLAzerbaïdjanBja]アゼルバイジャン共和国 uKAzerbaijãoBruVАзербайджан L阿塞拜疆!@!Jd!\h@D@!nh@G!IAsia/Baku!( (" n BAE Bde\Vereinigte Arabische EmirateBenTUnited Arab EmiratesBesWEmiratos Árabes UnidosBfrTÉmirats Arabes UnisBjaXアラブ首長国連邦 uWEmirados Árabes UnidosBru]Объединенные Арабские Эмираты X阿拉伯联合酋长国!@!Jd!\h@8!nh@K!JAsia/Dubai!( ("  BAM BdeHArmenienBenGArmeniaBes(BfrHArménieBjaXアルメニア共和国 uHArmêniaBruNАрмения L亚美尼亚!@!Jd!\h@D!nh@F!LAsia/Yerevan!( ( 2 (8 BDK BdeIDänemarkBenGDenmarkBesIDinamarcaBfrHDanemarkBjaUデンマーク王国 u(BruJДания F丹麦!@!Jd!\h@L!nh@$!QEurope/Copenhagen!( ( 2 .k BIM BdeIInsel ManBenKIsle of ManBesKIsla de ManBfrKÎle de ManBjaIマン島 uKIlha de ManBruMМэн, о-в F曼岛!@!Jd!\h@K !nh!REurope/Isle_of_Man!(f ( 2 $B BGI BdeIGibraltarBen( 4Bes( 4Bfr( 4BjaRジブラルタル u( 4BruRГибралтар!@!Jd!\h@Bɰ!nhffffff!PEurope/Gibraltar!( "MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeKGeoIP2-CityKdescriptionBen]*GeoIP2 City Test Database (fake GeoIP2 data, for example purposes only)BzhO小型数据库Jip_versionIlanguagesBenBzhJnode_countKrecord_sizeGeoIP2-Connection-Type-Test.mmdb000066400000000000000000000046371310544161500333730ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data,,,,,,, , , , , ,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,QR,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,abxc,d,e,f,g,,hi,j,k,l,m,n,o,p,q<r<s<t<u<v<w<<Ty,z{,|,},~,,,,,,,,,,,,a,,,,,,,,,,,T,,T,,,,,T,,,T,,,,,,a,,,,,,,,,,,,,,,,,,,,,<,,,,,,,,,,,,,,,,,,,T,,,,,,,,,,,,,,,,,,,,,m,,,,,,,,,,,,,,,a,,,,,,,,,,,,,,,`,, , , , , ,,,,,#,,,,,,,,,,,,, ,!,",`,`$%,&,',(,),*,+,T,Oconnection_typeFDialup ICable/DSL HCellular ICorporateMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeVGeoIP2-Connection-TypeKdescriptionBen]5GeoIP2 Connection Type Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_count,Krecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/GeoIP2-Country-Test.mmdb000066400000000000000000000374751310544161500321050ustar00rootroot00000000000000      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab}cdefghijklmnopqrstuvwxyz{|~mm t =`     ` !S"4#($%&' )-*+, f.1/0 f23 5D6:789 ;A<> x= x?@ x xBC ELFIGH JK MPNO fQR TsUdV]WZXY f[\ ^a_` fbc elfigh jk mpno fqr ftu|vywx z{ }~ f    ` e ]7jr emz7]fsmm     f]I(m]%" !f#$m&')0*-+,m./j142356]8w9X:I;B<?=>W@ArCFDErGH eJQKNLMOPdRUSTVWYhZa[^\]m_`fbecdifgripjmklmnoWqtrsruvrxyz{~|}rrfrr rf?]jffi mmz ez] m  r  ] er0)& #!"]$%r'(]*-+,N./r18253467m9<:;=>@|A]BNCJDGEFmHIrKLMrOVPSQRDTUWWZXY [\^m_f`cabjdefgjhiklnuorpqrstfvywxrz{]}~]r em rrrrC7fNfm]m]r emf$  f    eIrfr! "#%4&-'*()+,.1/0r23r5<6978:;=@>?ABDEdFUGNHKIJrLMORPQmSTV]WZXY[\s^a_`fbcfetfmgjhi klnqopmrsu|vywxmz{f}~z . efmz .ifzfz m!9IcontinentDcodeBEUJgeoname_id_r,EnamesBdeFEuropaBenFEuropeBes -Bfr 7BjaOヨーロッパEpt-BR -BruLЕвропаEzh-CNF欧洲Gcountry (5Hiso_codeBGB #BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス [ Bru\Великобритания sF英国Fpostal COX1Rregistered_country . BFR #BdeJFrankreichBenFFranceBesGFranciaBfr!gBjaUフランス共和国 [GFrançaBruNФранция sF法国  BAS _r+ #BdeEAsienBenDAsiaBes!BfrDAsieBjaIアジア [EÁsiaBruHАзия sF亚洲  BBT #BdeFBhutanBen"*BesFButánBfr"*BjaRブータン王国 [FButãoBruJБутан sF不丹!4  /U BRO #BdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア [HRomêniaBruNРумыния sL罗马尼亚FtraitsRis_anonymous_proxy  !4 _e BUS #BdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 [#MBruFСША sF美国  ( BSE #BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 [GSuéciaBruLШвеция sF瑞典!4 ,T BDE #BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 [HAlemanhaBruPГермания sF德国 ! 8 BPH #BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr$BjaXフィリピン共和国 [$BruRФилиппины sI菲律宾!& E34021!4$Srepresented_country _e BUS ##1DtypeHmilitary  BNA _r- #BdeKNordamerikaBenMNorth AmericaBesRAmérica del NorteBfrQAmérique du NordBjaO北アメリカ [QAmérica do NorteBru]Северная Америка sI北美洲 ##!& E98354!4 ! e BJP #BdeEJapanBen&KBesFJapónBfrEJaponBjaF日本 [FJapãoBruLЯпония s&l!4&9 ! A BKR #BdeNRepublik KoreaBenKSouth KoreaBesTCorea, República deBfrMCorée du SudBjaL大韓民国 [VCoréia, República daBruUЮжная Корея sF韩国!4& ! t BTW #BdeFTaiwanBen'\BesGTaiwánBfrGTaïwanBjaF台湾 ['\BruNТайвань s'!4'J !  BCN #BdeEChinaBenZPeople's Republic of ChinaBesXRepública Popular ChinaBfrEChineBjaF中国 ['BruJКитай s( !4' ! R BHK #BdeHHongkongBenIHong KongBes(RBfr(RBjaF香港 [(RBruNГонконг s(k!4(4  / BNO #BdeHNorwegenBenFNorwayBesGNoruegaBfrHNorvègeBjaUノルウェー王国 [(BruPНорвегия sF挪威!4( ! ~ BIL #BdeFIsraelBen(/Bes(/BfrGIsraëlBjaRイスラエル国 [(/BruNИзраиль sI以色列!4(  !G!4!G  ( BCH #BdeGSchweizBenKSwitzerlandBesESuizaBfrFSuisseBjaOスイス連邦 [GSuíçaBruRШвейцария sF瑞士!4(  #!4# ! m BBH #BdeGBahrainBen(BBesHBahréinBfrHBahreïnBjaOバーレーン [(BBruNБахрейн sF巴林!4(0  Z BRU #BdeHRusslandBenFRussiaBesERusiaBfrFRussieBjaIロシア [GRússiaBruLРоссия sI俄罗斯!4(   /P BPL #BdeEPolenBenFPolandBesGPoloniaBfrGPologneBjaXポーランド共和国 [HPolôniaBruLПольша sF波兰!4(  $!4$  0s BIT #BdeGItalienBenEItalyBesFItaliaBfrFItalieBjaUイタリア共和国 [GItáliaBruLИталия sI意大利!4(   - BFI #BdeHFinnlandBenGFinlandBesIFinlandiaBfrHFinlandeBja[フィンランド共和国 [JFinlândiaBruRФинляндия sF芬兰!4(1   @ BBY #BdeMWeißrusslandBenGBelarusBesKBielorrusiaBfrLBiélorussieBjaXベラルーシ共和国 [MBielo-RússiaBruPБеларусь sL白俄罗斯!4(  . BCZ #BdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 [(Bru]Чешская Республика sO捷克共和国!4(l !  BIR #BdeZIran (Islamische Republik)BenDIranBes\Irán (República Islámica)Bfr]Iran (République islamique de)Bja]イラン・イスラム共和国 [\República Islâmica do IrãBruHИран sX伊朗伊斯兰共和国!4((   g BUA #BdeGUkraineBen(+BesGUcraniaBfr(+BjaXウクライナ共和国 [HUcrâniaBruNУкраина sI乌克兰!4(  !4   BHU #BdeFUngarnBenGHungaryBesHHungríaBfrGHongrieBjaXハンガリー共和国 [GHungriaBruNВенгрия sI匈牙利!4(  HlocationHlatitudeh@HXq`l Ilongitudeh@"GX:SItime_zoneLEurope/Vaduz  &O BES #BdeGSpanienBenESpainBesGEspañaBfrGEspagneBjaLスペイン [GEspanhaBruNИспания sI西班牙!4(~   . BBG #BdeIBulgarienBenHBulgariaBes( BfrHBulgarieBjaXブルガリア共和国 [IBulgáriaBruPБолгария sL保加利亚!4(  "}!4"}  *¹ BBE #BdeGBelgienBenGBelgiumBesHBélgicaBfrHBelgiqueBjaRベルギー王国 [( BruNБельгия sI比利时!4( ! + BTR #BdeGTürkeiBenFTurkeyBesHTurquíaBfrGTurquieBjaRトルコ共和国 [GTurquiaBruLТурция sI土耳其!4(   *s BAT #BdeKÖsterreichBenGAustriaBes( BfrHAutricheBja[オーストリア共和国 [HÁustriaBruNАвстрия sI奥地利!4(   BAL #BdeHAlbanienBenGAlbaniaBes( KBfrGAlbanieBjaXアルバニア共和国 [HAlbâniaBruNАлбания sO阿尔巴尼亚!4( - ! & BLB #BdeGLibanonBenGLebanonBesGLíbanoBfrELibanBjaUレバノン共和国 [( BruJЛиван sI黎巴嫩!4(  ) BNL #BdeKNiederlandeBenKNetherlandsBesGHolandaBfrHPays-BasBjaRオランダ王国 [NPaíses BaixosBruTНидерланды sF荷兰!4( 8 ! [ BKW #BdeFKuwaitBen( Bes( BfrGKoweïtBjaOクウェート [( BruLКувейт sI科威特!4( !  BSA #BdeMSaudi-ArabienBenLSaudi ArabiaBesNArabia SauditaBfrOArabie saouditeBja[サウジアラビア王国 [OArábia SauditaBru]Саудовская Аравия sO沙特阿拉伯!4( @  _L BRS #BdeGSerbienBenFSerbiaBes('BfrFSerbieBjaLセルビア [GSérviaBruLСербия sL塞尔维亚!4( !  BJO #BdeIJordanienBen[Hashemite Kingdom of JordanBesHJordaniaBfrHJordanieBja]ヨルダン・ハシミテ王国 [IJordâniaBruPИордания sF约旦!4(  BAF _r* #BdeFAfrikaBenFAfricaBesGÁfricaBfrGAfriqueBjaLアフリカ [(SBruLАфрика sF非洲 ! BLY #Bde]Libysch-Arabische DschamahirijaBenELibyaBesXLibia, República ÁrabeBfrELibyeBja] 社会主義人民リビア・アラブ国 [XLíbia Árabe JamahiriyaBruJЛивия s[阿拉伯利比亚民众国!4(  -8 BIE #BdeFIrlandBenGIrelandBesURepública de IrlandaBfrGIrlandeBjaRアイルランド [GIrlandaBruPИрландия sI爱尔兰!4(y ! l BAZ #BdeMAserbaidschanBenJAzerbaijanBesKAzerbaiyánBfrLAzerbaïdjanBja]アゼルバイジャン共和国 [KAzerbaijãoBruVАзербайджан sL阿塞拜疆!4( ! n BAE #Bde\Vereinigte Arabische EmirateBenTUnited Arab EmiratesBesWEmiratos Árabes UnidosBfrTÉmirats Arabes UnisBjaXアラブ首長国連邦 [WEmirados Árabes UnidosBru]Объединенные Арабские Эмираты sX阿拉伯联合酋长国!4( !  BAM #BdeHArmenienBenGArmeniaBes(BfrHArménieBjaXアルメニア共和国 [HArmêniaBruNАрмения sL亚美尼亚!4(  (8 BDK #BdeIDänemarkBenGDenmarkBesIDinamarcaBfrHDanemarkBjaUデンマーク王国 [(BruJДания sF丹麦!4(c  .k BIM #BdeIInsel ManBenKIsle of ManBesKIsla de ManBfrKÎle de ManBjaIマン島 [KIlha de ManBruMМэн, о-в sF曼岛!4(  $B BGI #BdeIGibraltarBen(Bes(Bfr(BjaRジブラルタル [(BruRГибралтар!4(nMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeNGeoIP2-CountryKdescriptionBen]-GeoIP2 Country Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/GeoIP2-DensityIncome-Test.mmdb000066400000000000000000000031621310544161500331760ustar00rootroot00000000000000  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`avbcdefghijklmnopqrstuwxyz{|}~```Naverage_income~CRpopulation_density `2 =MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeTGeoIP2-DensityIncomeKdescriptionBen]3GeoIP2 DensityIncome Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/GeoIP2-Domain-Test.mmdb000066400000000000000000000115231310544161500316330ustar00rootroot00000000000000nnnnnnn n n n n nnnnnnnnnnnnnnnnnnn n!n"n#n$n%n&n'n(n)n*n+n,n-n.n/n0n1n2n3n4n5n6n7n8n9n:n;n<n=n>n?n@nAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQRnSnTnUnVnWnXnYnZn[n\n]n^n_n`nabpcndnenfngnnhinjnknlnmnnnno~nqnrHs tunvwnxynnz{nn|n}n~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn n 1n  #nnnnnnnnnnnn !"n$nn%&n'nn(n)*nn+,n-.n/0nn23n4n5n6nn7n89nn:;n<nn=>C? @ A nBn Dn E F G nI`JnKWnLMnNnOnPnQnRnnSTnUnnVnnXnYnZ[n\nn]n^n_'nanbnncdrnefnngnhni4j4k4l4m4n4opnqn4nsnntunvnwnxnynzn{n|n?}?~???nnnnnnnnnnnnnnnnnPPnPnPPPnnnnnnnnnnnnnnnnnnnnngnnnnnnnnnnnnnnnnnwnwwnwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn`nnnnnnnnnnnnnnnnnnnnnnnnnn`n`nnnnn n n n n nnn?nnnnnnnnnnnnnnn n!n"n#n$n%n&n'n(n)n*n+n,n-nn.n/0n1n2n3n4n5n6n7n8n9n:n;n<n=n>nn@nAnBnCnnDEnFnGnHnnIJnKnLnMnNnOnnPQnRnnSTnUnVnnWnXnYnZ[nn\]n^nn_`nnanbcndnenfngnhninjnknlnmnnFdomainKmaxmind.com Inuvox.net Iqwest.net Mspeakeasy.net Lshoesfin.NET Mameritech.net Kpacbell.net Kverizon.net Icovad.net Jpopwifi.it Lin-addr.arpa Ioleane.fr Gbbox.fr Mbredband2.com Stelebecinternet.net Lreplaced.com Scomcastbusiness.net Igol.ne.jp Jsgotti.org Gsfr.netMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeMGeoIP2-DomainKdescriptionBen],GeoIP2 Domain Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countnKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/GeoIP2-Enterprise-Test.mmdb000066400000000000000000000146211310544161500325460ustar00rootroot00000000000000[[=[[[[[ [ [ [ [ [[[[[[[[[[[[[[[[[[[ [!["[#[$[%[&['[([)[*[+[,[-[.[/[0[1[2[3[4[5[6[7[8[9[:[;[<[=[>[?[@[A[B[C[D[E[F[G[H[I[J[K[L[M[N[O[P[Q.R[S[T[U[V[W[X[Y[Z[[[\[][^[_[`[ab}c[d[e[f[[gh[i[[j[k[l[m[no[[p[qr[[st[u[v[w[x[[y[z{[[|[k~[[[[[[[[[[[[[[[[[[[R[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ J[[[[[[[[[[[[[[[[[[[[[[[ f[[[[[[[[[[[[[[[[[[[[[[ ~[[[[[[[[[[[[[[[[ [[[[[[[[[[[[[[[ [[  [[ [ [[[[[[[[[[[[[[[[[ [!["[[#$[[%&['[[([)*[+[[,[-[[/[0[1[2[3[4[5[6[7[8[9[:[;[<[`>[?[@[A[B[C[D[E[F[G[H[IZ[JK[L[M[N[O[P[Q[R[S[T[U[V[W[X[Y[`[`[DcityJconfidence2Jgeoname_id(EEnamesBenGBoxfordIcontinentDcodeBEU _r, #BdeFEuropaBenFEuropeBes TBfr ^BjaOヨーロッパEpt-BR TBruLЕвропаEzh-CNF欧洲Gcountry _ (5Hiso_codeBGB #BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス Bru\Великобритания F英国HlocationOaccuracy_radiusdHlatitudeh@IIlongitudehItime_zoneMEurope/LondonFpostal @COX1 Rregistered_country . BFR #BdeJFrankreichBenFFranceBesGFranciaBfr!BjaUフランス共和国 GFrançaBruNФранция F法国Lsubdivisions F _ CENG #BenGEnglandBesJInglaterraBfrJAngleterre "u 2a CWBK #BenNWest BerkshireBru]Западный Беркшир L西伯克郡 5 @BAS _r+ #BdeEAsienBenDAsiaBes#BfrDAsieBjaIアジア EÁsiaBruHАзия F亚洲 c  BBT #BdeFBhutanBen#YBesFButánBfr#YBjaRブータン王国 FButãoBruJБутан F不丹!Q![!mh@;!h@V!LAsia/Thimphu!  /U BRO #BdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア HRomêniaBruNРумыния L罗马尼亚FtraitsXautonomous_system_numberŒDFdomainLshoesfin.NETRis_anonymous_proxyCispKLoud PacketLorganizationOzudoarichikito_Iuser_typeTsearch_engine_spider   N #BenGChatham 5 @BNA _r- #BdeKNordamerikaBenMNorth AmericaBesMNorteaméricaBfrQAmérique du NordBjaO北アメリカ QAmérica do NorteBru]Северная Америка I北美洲 c _e BUS #BdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 %BruFСША F美国!Q![!mh@E,?!hRc{J#:Jmetro_code!PAmerica/New_York! @E12037  ! _e BUS #%"D ] NA BNY #BdeHNew YorkBen&BesJNueva YorkBfr&BjaUニューヨーク州 KNova IorqueBruOНью-Йорк I纽约州$W$_9O]autonomous_system_organizationXFairPoint CommunicationsOconnection_typeICable/DSL${Hfrpt.net$$Sis_legitimate_proxy$Uis_satellite_provider$CispXFairpoint Communications$'$Kresidential  * (W #BdeFLondonBen'BesGLondresBfr(BjaLロンドン (BruLЛондон 5 ? c (5 BGB # !Q![d!mh@IN;6!hfA!!! _e BUS #%"D * _ CENG #"f$W'YICorporate${Lin-addr.arpaCispTAndrews & Arnold Ltd$YSTONEHOUSE office network$Jgovernment  3 )j #BdeJLinköpingBen(Bfr(BjaXリンシェーピング I林雪平 5 ? c ( BSE #BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 GSuéciaBruLШвеция F瑞典!Q![L!mh@M5Vl!!h@/;6!PEurope/Stockholm! ,T BDE #BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 HAlemanhaBruPГермания F德国"D 3 ( AE #BenUÖstergötland CountyBfrWComté d'Östergötland$W$_sN' LBredband2 AB'Y(${Mbredband2.comCisp($FBevtec$(  2  #BdeKChángchūnBenIChangchunBfr(6BjaI長春市BruNЧанчунь F长春 5" _  BCN #BdeEChinaBen(Bes(BfrEChineBjaF中国 (BruJКитай (!Q![d!mh@E =q!h@_TTɆ!KAsia/Harbin!  BCN #("D F  B22 #BenKJilin Sheng F吉林$W$Fdialup 5" _ 8 BPH #BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr(lBjaXフィリピン共和国 ({BruRФилиппины I菲律宾!Q![y!mh@*!h@^!KAsia/Manila! @E34021 ! 8 BPH #(YSrepresented_country _e BUS #%DtypeHmilitary$W$$$W'$  ( X$ #BenFMiltonBruNМильтон 5 @BNA _r- #Bde% Ben%/BesRAmérica del NorteBfr%QBja%f %xBru% % c _e BUS #%!Q![!mh@G*0!h^'RT`&U3!SAmerica/Los_Angeles! @E98354 (! (5 BGB # "D c X_ BWA #BenJWashingtonBes([BfrSÉtat de WashingtonBjaRワシントン州BruRВашингтон L华盛顿州$W$_'Y'iCispLCentury Link$OLariat Software$(MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeQGeoIP2-EnterpriseKdescriptionBen]0GeoIP2 Enterprise Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_count[Krecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/GeoIP2-ISP-Test.mmdb000066400000000000000000002225511310544161500310640ustar00rootroot00000000000000fffffff f f f f fffffffffffffffffff f!f"f#f$f%f&f'f(f)f*f+f,f-f.f/f0f1f2f3f4f5f6f7f8f9f:f;f<f=f>f?f@fAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQRfSfTfUfVfWfXfYfZf[f\f]f^f_f`fa bcdefsgffhiqjfkflfmfnfofpffvrfftf uvfwxffyzf{ff|f}~ffffff+fffffffffff;fff              H f___vv_v_v___vvvvvvvvvv________v___v_fffffffffffffffffffffffffffffffffYffffffffffff~fffffffV# f            bB.! 1  1 1  1 1 1"'#%$ 1 &  1(+)* 1 1,- 1 1/:0513 21 4 1 687 1  91 ;>< = 1  ?@A1  1CRDKEHF  G1 I 1J 1LPMN1 O1 1Q 1 S]TX UVW1  1YZ 1[\ 11  ^ _`a 1 1cduei f gh  1jokml1 1n1 1pr q 1st 11 v}wzx y  1{ |  1~   111 1   11 1 1  1  1 1 1  1   11 11 1 1 11  1fPfPffffffffffffffffffffffffffffffffff >>Z     o" !fff$;%ff&'ff():*ff+,ff-.f/ff0f12f3f4ff56f7f8ff9ff$<=0ff>?ff@AfBfiCDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUffWyXvY]fZ[ff\f^f_f`afbffcdfeffffgfhfijfkflfmfnffopfqfrfsfftuffwxffAz{|fif}~ffffffffffffffffffffffffffff fffffffffffffffffffff fffffffffff $fff $ $ffffff Ufffff nfffffffffffffffff ffffffffffffffffffffffff T.fff f ff f f fff      ffffffff !f"f#f$ff%&f'f(ff)f*+f,ff-f!/C0f1ff2f3f4f5f6f7f89?:f;=<f!'f>ff!'@ffAfB!'fDffEFffGHffIJfKffLfMNffOPfQfRfSff!2UVlWffXYffZf[f\]ff^f_!A`!Aab!Ac!A!Ad!Ae!Afg!A!Ah!Ai!Ajk!A!A!Gfmfnofpzfqfrfsftfufvw!x!y!f!{f|f}f~fff!!!!!!!!!!!!!!f!f!ffffffffffffff"Hffffff"b"b"b"b"b"b"b"b"b"b"b"b"b"hfffffffffffffff"ffffffff"ffffffffffff"f"""""""# ff}@#"#'f#'ff#'f#'ffffffff#Dfffffff#Df:,f   ff #eff f#tfffff#& fffff#Dfffff#Dff!"f#ff$%f#Dff'(f)ff*+f#Df-0.ff/#ff1f23f4f57f6f#D8f9f#Df;f<f=?>ff#'f#'AdBFCEfD#f#fGXfHIfJPKfLffMNOf#$ffQRUfSTff$fVWf$7fYfZa[f$O\]$O$O^_$O`$O$\$Obcf$$$fefnfghfifjfkffl$m% f%6ofpqxfrsftffufvwf#Dffyzff{f|#Dff~fffff%Kf%K%K%Kff%K%K%K%K%K%K%K%K%K%K%K%K%Qf%Kf%Kf%Kffffffffff!'!'ffffffff!A!Af!Af!Af!A!A!A!A!A!A!A!A!A!A!A!A!A!A!A%lf%%&ff!ff&&&&?&?&&?&?&&&&?&?&?&?&?&?&?&?&?&?&?&?&?&?&?&V&?&&&?&?&&&&?&?&ff%ff%%%%%%%%%%%%  % %%  %%%%%&|%V>f/fffff&f&f -!&&"#&$&&%&&&'(&)&*&+&&,&&.f&f0f1ff2f3f4f5f67ff89f:ff;f<f=f&?@f&A&fBfCDfEffFfGHfIffJKffLMfNfOffPQfRfSffTfUf&WX&YfZ[vf\f]f^_ff`akbfchdffef!'gff!'fifjf!'lfmsnqopf!'!'ffr!'fftfu!'ffwfxyfzf{ff|f}~ff!'fff!'f!'f!'ffffff!Af!Af!A!A!A!A!A!A!A!A!A!A!A!A!A'!Af%ffff&ffffffffffffff'Df'Pffffffffff'''''''''''''''f'ffffffffffffffffff'fffffffffffffff( ffffffffffffff(5f e 9 7f  f/("ff(Kfff(dffff({fff ff!(ff#f$f%f&f'(f)ff*f+f,f-f.(f0f1f2ff3f4f56f)#f8ff:N;f<f=f>f?ff@AfBffCDfEfFffGHffIfJKffLMf)DfOf)zPfQRfSffTUfVfWfXffYZff[f\]f^ff_`fafbfcfdff)fgzhi)ffjkflfmffnfopfqfr))st)u)v))wx))y)){|f}ff~ffffffff*/f'*Effffffffffffffffffffffff*lf*lf*l*l*l*l*l*l*l*l*l*l**lffff*lffffffffffff*fffffffffff*********)fffffffffffff++(ffffffffffffffff(5?fff' fffffffff f+ ff +5 +5+5+5+5+5+5+5+5+5+R+5f&fffffff !ff"#f$f%ff+w'8(f)f*f+f,f-+.++/0++12+3+4++5+6+7++f9:ff;f<=f>ff+f@ABffCDdEOfFfGHfIffJKfLffMfN+fPYQffRfSfTfUVfWffX+ffZf[f\f]^ff_`ffafbfcf+effygohffijffkflfmnff,fpfqfrfsftfuvfwfxf, ffz{|f}ff~ffff,fffffff*ffffffffffffff,0fffffff,9fffffffffff+ffffffffffff,Ifffffffffff(5fffffffff,Uffffffffffffff,bf A ff%%ffff iffffffffffff@ ,p,,,,,,--*-E-]f  -w--- - -..'.=.S.h)....../,/'/?/X/p/ #!"////$&0%0&0?'(0V0kf0*20+,/-.0000011 1%1?1[361u415117:891122;=26<2J2f>?22f2AfBfC[DLEHFG2233IJ313I.K3a3uMTNQOP3f33RS3344 UXVW474N4e4YZ4f44\a]^4ff_f`55bfcfde5*5D5`fgh5v55fjklm5n5op}qwr6s6&t6Xufvf6}6x6y6zf{f|6f7~767Q67j7f6}7777778 777778>ff8v88vf8fvfff8f9ffff96ff9If9{9ff999ffff:f:K:o:f::ff;&;H;Z;H;H;Z;H;v;;;&f;&;v<<:;;&ff;&>%>E>r>E>>>>?)<?B?Z?q;&ff?f??@@)?@S@w@ 9{ff fffff @f    @ f@@ @f ff f@ Aff f fA@f   f f   ;  3 ff   f f   f fAZf fA !f " , # & $ %AfAf ' + (f ) *AfAfAf - 0 . /fBfB0 1 2fBFBdBf 4 5f 6ff 7f 8 9f :ffB <f = Df > ?f @ff A Bf CfBf E ~ F ^ G Q H K If JffB L O M NBffC PffC. R X S V T UCEffC_ WffC Y \ Z [CfDff ]D*f _ o ` h a c bffDM d g ef ffDofDf i mf j kD lffD nfDf p x q v rff s t uAfAf wfEf y | z {EQffEf }Ef  f f fD*f ffEf f f fE f f Ff ff fF f F^ffFw ff F F F F F F F F FfF ffF f f f f ff ff@ f f f ffFf f f f ff f f fFf f f ff f ff f f f f f fGf   ff f f G;f f f f fG]fGz fG G G G GGG GG GH H#H8fHdf H~ H#HH H H HH H Hd Hd H I I2Ic    II IIJ,  JgJJ   JJKKF K] fKtKKH8K ff  ff f f  ff  f ff  ff ~f  ! f " #%6 $ W % K & .f ' (f )f *f +ff ,f -#Df / E 0 : 1f 2 6f 3f 4f 5f#D 7ff 8f 9f#D ; @ <f =f >ff ?#Df Aff Bf C Dff#D Ff Gf Hff If Jf#D Lff M N R Off P Qff#Df Sf Tf U Vff#D X p Y h Z a [f \ff ] ^ff _f `f#Df b cff d ef ff gf#Df iff j kf lf mf nf off#D q xf r sf tff u vff wf#Df yf z {f |ff }f ~f f#D fK f f f fK fLLf fLFfLt fLL f f fL f fL f ffL$ f ff ffM f $M$ M$ fM@fMd#D #D#D #D#D M#D #D#D #D #D#D #D#D MM f f ff f f f f f f f ff fMff f 'Dff f ff ff f f ff f ff f f f f Mf 2 f f ! ff  ff f fN f fNff Nf f f ffN f fNf f fNf fN     f  ffN f fNf f f fN f fNf     ff fN  f Nf fNff f   NfNf "f #f $ff %f & 'f (f ) *Nff + , /f - .NfN 0f 1fNf 3fNJ 4 5ff 6f 7 8ff 9f :f ; <f = @N > ?fNfNf B z C D E \ FfNJ G H T Iff J K S Lf Mff N O Qf PNf RNNfNff Uf V Wf Xff Y Zf [fOf ] { ^f _ rf `f af bf c df ef f i g hOBfOBf j k9f9 lf m n p o9f9 qf9ff sf tf u vff w xf yf zffOs |f }f ~f f ff f f f f fOOf fOf ffO f ffOf fOf ff f f f f f f f f f fOff f O ff fP f ff fP:f ff f f ff f f POfPO fPOf f ff f ff f f f Pgff f ff f f ff~ f f f ff f f f ffPf f f fPf f ff f f f f f ffPf f Pf ,  f f  f f f Pf f f f ffPf  ff  ff f  ff fQf f ff  f f   f f ffQ:   f fQ:ff f fQ:  + ff f !f " #ff $ %ff & 'f (f )f *Q`fQ`NJf - K . @f / 0f 1 9 2f 3ff 4f 5f 6 7fQ 8QQf : ;ff <f = >ff ?fQf Af B Cff D Eff F Gf Hff If JfQ: L n M b N Yf Of Pf Qf R Sff T Uf Vf Wff XQff Zf [f \f ]f ^f _f `f aOf cf dff ef f gff h iff jf k lff mfNf of p qff r sff tf uf vf wf xf yFf { | } ~ f  f ff f ffQ NJ f ff f f f f f f f ff f Qf f f f f f f ff f f fRf fRff f f f f f ff f f POf f f f f f f f ff f fR Rff f f f f ff f R9f f f f f ff ff f Off f f f f f f ff Of  f f f f f f f f ff f f ff RHff f ff ff fRHf f f ff f f f fPff fPf     9   f ff ff f  ff R]ff f  ff f  f ff Rtf  + f  Aff f !f " # &f $f %fR ' ) (fRff *Rtf ,f -ff . /ff 0f 1 2ff 3 4ff 5f 6f 7f 8fR : Df ;f < =ff > ?ff @ Af Bff CRf E [ F Sf G Hf I Nf J Kff L MfS/ff Of Pf Qf RfS]f Tf U Vff W Xf Yf ZfSf \ qf ]f ^ _ff `f a bf cff df ef f g lf h iSS jS kSS mfS nS oS pSf rf s yf tf u vff wf xSff z {ff | } f ~T$T[ fTf  f f ff ff fT f f ff f f fTUf f ff f ff fU2 ff f UWff ff fU f ff fUff f f f f f f f f f f f f fUf f f f f f ffUf f f f ff Vf f  f f f f fV&ff f ff ffV&f  f fVIV_V VVW WD WD WD WD WD WD WDWDW WWWX- X_XXX YY@YmY YYZ -Y YYZF Y YZbYZxY Y YYYYYZYYZYYYYZYY[YYYY YY!"Y#*$YY%Y&Y'Y(Y)[*YY+,Y[hY.Y/0j1I2:3Y4[58Y67Y[[9YY[;B<Y=Y>Y?YY@AYY[YCDYEGYF\YYH\8YJTKO\HLMYNY\iYYPQYRY\S\YU\YVYWYXYYZYY[\Y]f^c_a`YY]Yb]YdYeYY]MgYYhiY]hYkl~mvYnospYqr]YY]tYuY]]wYx{YyzY]YY|}Y]YYYYY\iY^YYYYYYY^&YY^HYYY^}YYY^YYY^YYY^Y^_YY\i_1_PY_tYY_Y_Yfffffffff_ff_fffffffff` ffffffffffffffffffffffffffffffffff`6@f fffffff`Offffffff`Yffffffffffffffff`   f `fffffffffffffffff`f? 6f!"f#ff$%f&ff'f()f*ff+f,f-f./f0f1ff2f34f5f`ff7f8f9f:f;f<f=f>f`f%A BCfDFfE`fGfHIfJfKLafMfNOoP^QVRTa)SfaOfUaqaWYXfafZ[af\]bbGbb_g`eadbcfbcfc6fffc`fhlijcfckcfmnd#fd_dpqzrvfstudfdfwxe)ffye[e{|}f~eeeef f0f\fffxfffffggCg_fgggffh h0fhZh~fhfffhfii#iRfihififfiijjBfjsjsjjfjk"k[ffkkfkkl7fflyllflm+ffmOfmumfmmfnfn%fnXfnnnfffffnffffnffo0ifkffopffffffffff~f~ffffffffffffffffo ffNJ g B 3%fffffffffffffffff f!ff"f#f$of&ff'(ff)*ff+,ff-f.f/f01f2fGf4f5f6f7f8ff9:ff;<f=ff>?ff@AffoCOfDfEfFfGfHIfJffKLffMNfofPffQRZfSfTfUfVfWfXfYfp[ff\f]^ff_f`fabfcfdfefffpfhifjkfflmfnfoffpfqrwsftfufvffp-xfyffz{f|}pNf~ffpTffffffffffffffffffffffpbfffffffffffffffffpxfffffffffpffabZfffffffffffffpfffffffpffffffffffffffffffffffffpfffffffpffffffffffffqfffffq ffffq.f ff  f  ffffff+ffffffffqZfG.ff ff!"f#f$ff%f&f'(ff)*f+ff,f-q~f/;f01ff23f4ff56f7ff8f9f:fq<ff=f>f?f@AfBffCDfEfFfqffHIfJOKffLfMNfqfPffQfRSfTfUffVWfXYfrrf[\]^}_jf`afbfcffdfefffghfifr*ffkflmtnfoffpfqfrsf+fuffvwffxfyzff{|fr4ff~fffffffffr?ffffffffffrGfffffffffffrdffffffffffffrffffffffffffffffffrfffffffffffffffrfffffffffff+wfffffrffffffff'fffffffffffffffffrfffq ffffffffff  f  s!fs! ffs!f&ffffffffs2ff fffs[f!ff"f#$f%fsf'9(f)f*5+0f,-ff.f/fsf12ff3f4sf6f7ff8sf:U;f<O=ff>?f@JfABfCffDEffFGffHfIftKfLfMffNtCffPfQRfSffT+(ffVWfX]fYZf[f\fft^f^_f`fafftzc~dfeffghij}ktflmqnffofpftrfsfftfufvwffxy{ztft|ftf~ffffffftftttftfffffufu,u,uDu,fffffujuyuyuuyfffufffffvffffffv(fv(fv(ffffffffffffv9ffffffffv`ffffvffffvfffvvfvfffw.fffw]fffwffffwffffwwffwfw4f)fff fffffffffx f f f f ffffx5fxKxkffffxffxfffffxff !fx"#xx$%x&x'x(xxxf*+0G,G-G./GGy;1f2f3ffyR5?6f7f8f9<:f;ffyyf=f>yyf@hAfBdCTDHfEfFGfyfIfJyKyLyyMyNyOyPQyRySyyyU\fVWYfXfzZ[fzHzhf]`^ff_z~zfabfcfzfGeffGgGfifjqkmflfzfnopf{{3{Wrfsftffuv{uf{ufxy|fz{f{ff}{{fffffffffffff{fffffffffff|ffffffffff|"fffffffffffffff|?fffffffffffff|Yfffffffff|^ffffffffffffffff|qffffff|qffffffffffff|ffffffffffffff|fffffffff f f  f ff|fffffffffff|f4ffff f!f"f#f$ff%f&f'f()f*f+ff,f-f./ff01f2f3f|f5F6f7f8ff9:f;f<f=ff>?f@fAffBCfDEf!'f!'GVHffIJfKfLffMNffOPfQfRfSfTffU|ffWfXfYZf[f\ff]f^_f`f|fbcdfefghzfijffklfmffnfopfqfrffstfufvfwfxffy}f{f|f}ff~fffffffffffff}fffffffff}'}'f}'}'}'}'}'}'}'}'}'}-}'}'}-}'}'}-}'!ffffffffffffffffffff!2ffffffffffffffffffffff}NfffffffffffffffffffffpbD# fffff}nfffff}ffffff Uff}}fffff f f}f  ffffffffffffffffff !f~0"f~0f$5%ff&'f(1f)f*+f,ff-.ff/f0,Iff23f4ff~H6=7ff8f9:ff;f<~aff>?f@ffAfBfCf~{EFgGfHWfIJfKffLMfNffOfPQfRffSfTfUVf~fXfYffZ[f\f]ff^f_f`fabffcfdfefff~hffifjkfflmxnffofpqfrfsftfuffvfwf~fyfzf{f|}ff~ffffff~ffffffffffffffff( fffff$$ff$ffffffffffffffffffNffffqffffffffffff~{fff~{~{~{f~{ffffffffff*/fffffffffffffffffffffffffffffffffff ffffffffffff   ff ffffffffff5fffffWAAf !l"7f#$ff%&f'ff(f)f*+ff,-f.1/f0fff2ff3f4f5f6f8f9Nf:f;<ff=>f?f@fAffBCfDfEfFffGfHIfJfKffLMffOfPfQfRfSfTeUZV!fWfXY!f![!!\]!^!!_!`a!b!!c!d!!fgfhf!i!j!k!fmnopxfqfrsftfuffvfwfyzf{ff|f}f~f5fffffffKffffffffffjfjfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6ffffffffffffPffzffffffff f T f f .' ffffffffffffffff!"f#f$ff%f&5f(ff)*ff+,ff-fZ/L0ff1f23;f45ff6f7f89:fzf<E=ff>?Bf@AffCfDfffFfGfHIfJffKffMfNfOfPfQfRSf?ffUfVWxXfYlZef[f\]a^ff_`fdffbcffdfffgffhiffjfkffmnsfofpfqfrftffufvwffyfzf{f|}ff~ffffffffff?ffffffffbffffffffffffffffffffffffffffffffffffffffffffffff`f ffffffffffffffffffff`ffffffff5fHffffffsfffffKffUf`f fzf q f ffff<0' !"#$%&()*+,-./123456789:;=S>L?E@ABCDFGHIJK@_MNOPQRjT`UVWXYZ[\]^_aibcdefghjklmnopjrfsftfufvfwxyz{|}~ ,CJfffffN[ffffff=ffffffff|ffffffffffffffffffffff3ffQffffffffeffffffff ffff f ff f fff"fffffffffff f f!ff#f$4%0&)'f(f4f*-+f,fRf.f/fRf1f2f3fz5f697f8ff:f;f<fRf>f?f@fAffBCfDffEFfGfHfIfRfKfLfMfNfOfPfQRSTXUVWYZ[\]^_c`abdeCispZTOT Public Company LimitedLorganization Xautonomous_system_number]autonomous_system_organizationOTelstra Pty LtdCispPTelstra Internet CispVLevel 3 Communications CispJWifiNetComCispGFinecomCisp MCo-Mo ConnectCispMAT&T Services 0jCisp 0jCisp VAT&T Worldnet Services 0G LWHewlett-Packard CompanyCisp!< ! ('>CispGVodacom ('iCispPAirtel Broadband ('{Cisp]Second segment of Broadband IPs ('Cisp]Third segment of Airtel Broadband IPs ('Cisp]Reserved for Internet APN Allocation ('Cisp]MTC - Mobile Telecommunications, Ltd. JMTC NetmanCisp((" (("CispJCybersmart ((hCisp((h ]Cybersmart-ADSL-DBN ADSL IP numbers assigned to DbCisp((h ]Cybersmart-ADSL-JHB ADSL IP for Northern regiosCisp]Airtel Malawi GPRS subscribers ((CispUAirtel Malawi network () CispUMTN Cote d'Ivoire S.A ()@CispXWataniya Telecom Algerie ()`CispIEmtel Ltd ()Cisp]Bytes Connect, a Division of Bytes Technology Grou ()CispLTelecel Faso ()CispLIcsl Network ()Cisp]Abari Communications Mozambique Lda (*CispIGuineanet (*2CispOOrange Botswana (*FCispJZain Sudan (*`Cisp" "CispHTelebeep (*CispISebastian (*Cisp]Quadro Communications Co-Operative (*Cisp]Region 14 Education Service Center (*CispISingleHop (+Cisp]The Cosmopolitan of Las Vegas (+CispPAce Data Centers (+@CispFGoogle (+[CispRSmart Solutions IT (+lCispLCogeco Cable (+CispHVolusion (+CispQTime Warner Cable (+CispYSpeedVM Network Group LLC (+CispUBright House Networks (+Cisp( DAT&TCisp( YLisle IDC - Silver LiningCisp( WAtlanta - Silver Lining MNavigadsl srl REncryption LimitedCispSSK Broadband Co Ltd (,Cisp]CMB Daejeon Broadcasting Co,.Ltd (, 0&P L] Guangdong Mobile Communication Co.Ltd.CispPGuangdong Mobile (-CispCNHN CNHNCisp]Korea Cable TV Kwangju Broadcast (-2Cisp]Hyundai Communications & Network (-^CispPDacom-pubnetplus (-Cisp]Tbroad Abc Broadcasting Co.,ltd. (-Cisp]TBROAD Dongdaemun cable networks,Inc. (-Cisp]Korea Cable TV Jeonboog Broadcast (.CispLONSE Telecom (./CispNCj-hellovision (.FCispWSwiift Internet LimitedCispWHO Nam Cable TV co.,LTD (.|Cisp]korea cable pohang broadcasting (.CispJHyosungITX (.CispMLg Dacom Kidc (.CispOPiranha Systems (.CispISmileserv (/CispIG&j, Ltd. (/$CispHHAIonNet (/8Cisp] National Computing & Information Agency (/KCispYKorea Nazarene University (/~Cisp\Catholic University of DAEGU (/Cisp[Korea Telecom Freetel Corp. (/Cisp]TCN Daegu Broadcasting Co., Ltd (/CispHNURILINK (0Cisp(0 DSRUNCispNTbroad Gangseo (0VCispUAxtel, S.A.B. de C.V. (>{Cisp]Informacion Al Dia Y Comput SA (> UWireless Connect Ltd. FHKTNETCisp]Centro Nacional de Intercambio Automatizado (> EF-KOM 0 LXAOL Transit Data NetworkCisp&y &y PCircle 1 Network IGoversoftCispQCondointernet.net 02, L( Cisp( ( CispKOi Internet (?Cisp[Regency Comunicações Ltda (?CispWM.A. Informática Ltda. (?Cisp]Banner Serviços de Telecom e Internet Ltda. (@CispWHoinaski & Sklasky Ltda (@8CispZSilveira & Ziquinatti Ltda (@ZCisp]Naja Telecomunicações Ltda. (@Cisp]Eletrosul Centrais Elétricas S.A. (@Cisp]Space Net Serv. De TelecomunicaÇÃo Em Inf. Ltda-me (@Cisp]JF Soluções Informática Ltda. (ACisp]Info House Informática e Papeis Ltda (ABCispWP3 Host Internet Brasil (AsCisp]Bluephone Solucoes Tecnologicas Ltda (ACisp]NETWS Telecomunicações Ltda. (ACisp]Chapeco Tecnologia em Telecomunicações Ltda. (ACisp]Afinet Solucoes Em Tecnologia Da Informacao Ltda (B)CispRMil Negocios Ltda. (BeCisp]Fox Conect Provedor de Internet LTDA (BCisp]G30 Telecom ServiÇos Em TelecomunicaÇÕes Ltda (BCisp]Midasnet Telecomunicacoes Ltda (BCisp]Viveiros & Araujo Serviços de Provedores da Intern (CCisp] Rodolfo Romao De Oliveira Neto & Cia Ltda (CWCisp]Ajaxtel Telecomunicações Ltda. (CCisp] Mcnet Serviços de Comunicações Ltda (CCisp]R.D.S. Bortoluzzi & Cia Ltda - ME (CCispWTolrs Informática Ltda (DCisp] Digicontrol ServiÇos De Provedores Ltda (D9Cisp(D9 ]Pablo William Silva Tavares de LiraCispXPRIMEHOST do BRASIL Ltda (DCisp]Minas Turbo Provedor de Internet (DCispQBr2 Internet Ltda (DCisp]Conexis Internet Provider Ltda - Me (ECisp]Nolasco & Nonnenmacher Comercio e Rep. Ltda. (E6CispZInterneith Via Radio Ltda. (EnCisp]Apn - Processamento de Dados e Soluçoes em Interne (ECispQMinas Net Ldta Me (ECisp]Netway Provedor De Internet Ltda (ECisp]Catanduva sistemas a cabo ltda. (FCisp]Telecomunicacões Minas Mais Ltda (FECisp[Bom Tempo Informática Ltda (FrCisp\Arikinet Internet Ltda - EPP (FCisp]E&L Producoes de Software Ltda (FCispYMicrofox Informatica Ltda (FCisp]Mapfre Vera Cruz Seguradora S/a (G Cisp]Norte Line Telecomunicações Ltda. (G8Cisp]Predialnet Provedor De Internet Ltda (GgCispPPronto Net Ltda. (GCisp]W r de bel entreterimentos s/s ltda (G RIPV6 Internet LtdaCispWAlonso Oliveira Neto Me (GCisp[IP2 Telecomunicação Ltda. (HCisp]TURBO 10 Telecomunicações Ltda. (H?CispDVivo (HlCisp[Vcb Provedor De Acesso Ltda (H{Cisp]Click.com telecomunicações ltda-me (HCisp]Universidade Estadual De Ponta Grossa (HCispTUnica Tecnology Ltda (ICisp(I ]Microtell Informatica - Comercio & Prestacao De SCispXT.p.a. InformÁtica Ltda (I^Cisp]Intercol - Internet Colatina Ltda-ME (ICisp]Sul Americana Tecnologia e Informática Ltda. (ICisp]Ampernet Telecomunicações Ltda (ICisp]Mar Provedor de Internet Ltda (JCispPTim Celular S.A. (J?Cisp]Jgm Brasil TelecomunicaÇÕes Ltda (JZCisp]Inetsafe Comercio De Equipamentos Eletronicos Ltda (JCisp]Infoline - Comunicações e Informações Eletrônicas (JCisp[J W Mateus Informatica - Me (KCisp[Brasconect Informatica LTDA (K.Cisp] Tech Cable do Brasil Sist. de Telec. Ltda (KTCisp]Ufla - Universidade Federal De Lavras (KCispYNetprimus Tecnologia Ltda (KCisp[Evanildo Barbeta Boituva ME (KCisp]LB Redes Telecomunicações LTDA (LCispZSidys Comunicações Ltda. (L0Cisp[Portalmail Informatica Ltda (LUCisp]Internet Pinheirense Ltda - ME (L{CispDCTBC (LCisp] Byteweb Comunicação Multimídia Ltda. (LCisp]Redenilf Serviços de Telecomunicações Ltda (LCispXStar Conect Telecom Ltda (M Cisp]OpçãoNet Informática Ltda ME (MCCispRLink Sol LTDA - ME (MnCisp] New Master Provedor De Acesso A Internet (MCisp]Gigalink de Nova Friburgo Soluções em Rede Multimi (M 0i L]NTT Communications CorporationCispCNTT CNTT GGPLHost UTrans Canada InternetCispMSmartLabs LLC ]WE Radio Comunicação LTDA EPP YVoax Provedor de Internet KRedeTeleSulCispLCityLink ISP LCityLink Ltd (N Jindtelecom RMitiHost Solutions VFiberXpress DominicanaCispLFIX WIRELESS KHostVDS-NETCispRGolden Lines Cable (OB PP.P.H.U Multicom [FOP Molochko Nina Vasilevna FAmdocsCispVVerizon Nederland B.V. (OCisp]Agence Tunisienne Internet - ATI (OCispYSLW Internet Service Ltd. (OCispUBuckhaven High school (P Cisp]University of Technology, Vienna (P- YH & M Hennes & Mauritz ABCisp]Egyptian Universities Network (PvCispOAB Svenska Spel (P FCDcorp Gw3 GmbHCisp(NCispRForestry Commision (PCispQWEB Hotel, Moscow (PCispUHotel Astoria network (QCispTSeaside Hotels, S.A. (Q/ ]Small Private Enterprise Kvant-II ISevonlineCisp]Rawdat Al-Ma'aref Schools & College (QCispFCASPUR (QCisp]TELECOM ITALIA SPARKLE S.p.A. (QCispYOfficine Informatiche Srl (QCisp]Egyptian National Scientific & Technical Informati (RCispKTiscali SpA (RLCisp]Interoute Communications Limited (RbCispRTiscali UK Limited (RCisp\Blackpool Sixth Form College (RCispPAberdeen College (RCispQVerizon Sweden AB (RCisp]Egyptian Universities Network (EUN) (S CispQFrogfoot Networks (S8CispLCMC Networks (STCispVGlobal Internet Access (SkCispKGkn Chep SA (SCispNWana Corporate (SCispMRwandatel, SA (SCisp(S [Wireless Broadband CustomerCispDMWEB (SCispXData Pro Business Online (TCisp(T ]JHB Waverley MetroEthernet, Hosting and Lease LineCisp] Durban Lease Line and Hosting Zone Range (TiCispOZimbabwe Online (TCispFONATEL (TCisp\Al Salam Rotana Hotel- sudan (TCispTUniversite de Bamako (TCispUAmobia Communications (UCispLSarl ICOSNET (U.Cisp]Allocated to Broad band internet in the following (UECisp]Research and Education Network of Uganda - RENU (UCisp]Association of African Universities (UCispXZimbabwe Open University (UCispQNigeria Air Force (VCispPBowen University (V+Cisp[University of Dar es Salaam (VFCispJYo! Africa (VlCispNMTN RwandaCell (VCisp]The Institute for Social Accou (VCispKTribe Hotel (VCispUAccesskenya Group Ltd (VCispOWananchi Online (VCispUAfribone - Universite (WCispIIkatel SA (W4CispVOrange Broadband Kenya (WHCispYTelecom Lesotho (PTY) LTD (WiCisp(Wi ]Sub allocation to Lerotholi Polytechnic InstituteCisp(&A LMarocTelecomCisp\Communication Solutions Ltd. (WCispRInternet Solutions (XCisp]Network assigned to Silver Customers in Luanda, An (X%CispZSwift Global Kenya Limited (XcCisp(Xc RPushMobileMediaSGKCisp] Grindrod Management Services (Pty) Ltd (XCispUZenith Bank Ghana Ltd (XCispKFinbank PLC (XCispWCentral Bank of Nigeria (Y CispJSeacom Ltd (Y/CispVCairo American College (YDCisp]National University of Science and Technology (YeCispYBeehive Social Enterprise (YCispYUniversity of Jos Nigeria (YCispSUniversity of Lagos (YCispORT-ADSL-project (ZCispNFiber Grid Inc (ZCispUNorth West University (Z7Cisp\University of the Free State (ZWCispPGranite NetworksCispWSilverIP CommunicationsCispWAllo Communications LLC VPremier Communications # OAlamo Broadband ]Argentina Virtual Networks S.R.L. JDIGINET-NZ PLATELZ Co., Ltd. KLGCNS ChinaCispKYourHomeISP \Lytton Area Wireless SocietyCispPCMS Internet LLC THilite International 0+ 0+CispQComcast - Houston ([ \International Business TimesCispVNet By Net Holding LLC ([Cisp]Nonprofit Partnership for the Development of Finan (\CispUMoscow Mayor's Office (\\CispFSPSNET (\|Cisp] COLT Technology Services Group Limited (\CispMSlovanet a.s. (\CispNScan Plus GmbH (\CispOICM NetServ Ltd (\CispGAltecomCispZSt Andrew's Primary School (]Cisp[Ufi Army Torch Hub Nuneaton (]?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef}ghijklmnopqrstuvwxyz{|~{&  3 v=      * !"#$%&'()M+,-./0123456789:;<z>?O@ABCDEFGHIJKLMNPlQRSTUVWXYZ[\]^_`abcdefghijkmnopqrstuvwxyz{|}~``>`DcityJconfidence2Jgeoname_id(EEnamesBenGBoxfordIcontinentDcodeBEU _r, #BdeFEuropaBenFEuropeBes TBfr ^BjaOヨーロッパEpt-BR TBruLЕвропаEzh-CNF欧洲Gcountry _ (5Hiso_codeBGB #BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス Bru\Великобритания F英国HlocationOaccuracy_radiusdHlatitudeh@IIlongitudehItime_zoneMEurope/LondonFpostal @COX1 Rregistered_country . BFR #BdeJFrankreichBenFFranceBesGFranciaBfr!BjaUフランス共和国 GFrançaBruNФранция F法国Lsubdivisions F _ CENG #BenGEnglandBesJInglaterraBfrJAngleterre "u 2a CWBK #BenNWest BerkshireBru]Западный Беркшир L西伯克郡!  /U BRO #BdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア HRomêniaBruNРумыния L罗马尼亚FtraitsRis_anonymous_proxyCispJWifiNetCom#hXautonomous_system_numberjCispMAT&T ServicesLorganizationVAT&T Worldnet Services 5 @BAS _r+ #BdeEAsienBenDAsiaBes$BfrDAsieBjaIアジア EÁsiaBruHАзия F亚洲 c  BBT #BdeFBhutanBen$\BesFButánBfr$\BjaRブータン王国 FButãoBruJБутан F不丹!Q![!mh@;!h@V!LAsia/Thimphu!"#h#ŒDFdomainLshoesfin.NET#p#CispKLoud Packet#Ozudoarichikito_Iuser_typeTsearch_engine_spider   N #BenGChatham 5 @BNA _r- #BdeKNordamerikaBenMNorth AmericaBesMNorteaméricaBfrQAmérique du NordBjaO北アメリカ QAmérica do NorteBru]Северная Америка I北美洲 c _e BUS #BdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 &9BruFСША F美国!Q![!mh@E,?!hRc{J#:Jmetro_code!PAmerica/New_York! @E12037  ! _e BUS #&"D ] NA BNY #BdeHNew YorkBen'BesJNueva YorkBfr'BjaUニューヨーク州 KNova IorqueBruOНью-Йорк I纽约州#h#9O]autonomous_system_organizationXFairPoint CommunicationsOconnection_typeICable/DSL$Hfrpt.net#p#Sis_legitimate_proxy#Uis_satellite_provider#CispXFairpoint Communications#(% Kresidential  * (W #BdeFLondonBen(CBesGLondresBfr(SBjaLロンドン (SBruLЛондон 5 ? c (5 BGB # !Q![d!mh@IN;6!hfA!!! _e BUS #&"D * _ CENG #"f#h'ICorporate$Lin-addr.arpaCispTAndrews & Arnold Ltd#YSTONEHOUSE office network% Jgovernment  2 (W #(? 5 ? !Q![ !m(!(!!!("D"S#h$(  3 )j #BdeJLinköpingBen(Bfr(BjaXリンシェーピング I林雪平 5 ? c ( BSE #BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 GSuéciaBruLШвеция F瑞典!Q![L!mh@M5Vl!!h@/;6!PEurope/Stockholm! ,T BDE #BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 HAlemanhaBruPГермания F德国"D 3 ( AE #BenUÖstergötland CountyBfrWComté d'Östergötland#h#sN'oLBredband2 AB'($Mbredband2.comCisp(p#FBevtec% (A  2 LQ #BdeKMinneapolisBen(BesKMineápolisBfr(BjaRミネアポリス (BruVМиннеаполис R明尼阿波利斯 5 @BNA _r- #%k _ _e BUS #BdeCUSABen&(Bes&9Bfr&KBja&Z &9BruFСша &!Q![!mh@F|JM!hWM?&e!OAmerica/Chicago! @E55414 ! _e BUS #(R"D F L BMN #BenIMinnesotaBes(BjaOミネソタ州BruRМиннесота#h# 'oPPrecision AS OrgCispMPrecision ISP#MPrecision Org  2  #BdeKChángchūnBenIChangchunBfr(BjaI長春市BruNЧанчунь F长春 5# _  BCN #BdeEChinaBen(Bes(BfrEChineBjaF中国 (BruJКитай (!Q![d!mh@E =q!h@_TTɆ!KAsia/Harbin!  BCN #("D F  B22 #BenKJilin Sheng F吉林#h% Fdialup#h#LCityLink Ltd 5# _ 8 BPH #BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr(BjaXフィリピン共和国 (BruRФилиппины I菲律宾!Q![y!mh@*!h@^!KAsia/Manila! @E34021 ! 8 BPH #(Srepresented_country _e BUS #&DtypeHmilitary#h#p##h'#  ( X$ #BenFMiltonBruNМильтон 5 @BNA _r- #Bde%oBen%~BesRAmérica del NorteBfr%Bja% %Bru% % c _e BUS #&!Q![!mh@G*0!h^'RT`&3!SAmerica/Los_Angeles! @E98354 (! (5 BGB # "D c X_ BWA #BenJWashingtonBes(BfrSÉtat de WashingtonBjaRワシントン州BruRВашингтон L华盛顿州#h#''CispLCentury Link#OLariat Software% (A 5# _ e BJP #BdeEJapanBen( tBesFJapónBfrEJaponBjaF日本 FJapãoBruLЯпония ( !Q![d!mh@A׹`H!h@axP3:!JAsia/Tokyo! e BJP #( p 5# _  BCN #Bde(BenZPeople's Republic of ChinaBesXRepública Popular ChinaBfr(Bja( (Bru( (!Q![d!mh@A!h@Z@!  BCN #(  5 ? _ . BCZ #BdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 ( Bru]Чешская Республика O捷克共和国!Q![d!mh@H!h@.!MEurope/Prague! . BCZ #( MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_type[GeoIP2-Precision-EnterpriseKdescriptionBen]:GeoIP2 Precision Enterprise Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/GeoLite2-ASN-Test.mmdb000066400000000000000000000033311310544161500314300ustar00rootroot00000000000000  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ|RSTUVWXYZ[\]^_`abcdekfghijlmnopqrstuvwxyz{}~```4N4Xautonomous_system_number]autonomous_system_organizationOTelstra Pty Ltd j j MAT&T Services  RMerit Network Inc.  XHurricane Electric, Inc.MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeLGeoLite2-ASNKdescriptionBen]+GeoLite2 ASN Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizeMaxMind-DB-no-ipv4-search-tree.mmdb000066400000000000000000000011521310544161500337140ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@P@F::0/64MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_type]MaxMind DB No IPv4 Search TreeKdescriptionBen \Jip_versionIlanguagesBenJnode_count@Krecord_sizeMaxMind-DB-string-value-entries.mmdb000066400000000000000000000011031310544161500343030ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data%%%%%%%% % % % % %%%%%%%%%%%%%% 5ALW%b!%"%#%$%m%K1.1.1.16/28J1.1.1.8/29J1.1.1.4/30J1.1.1.2/31J1.1.1.1/32K1.1.1.32/32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_type]MaxMind DB String Value EntriesKdescriptionBen] MaxMind DB String Value Entries (no maps or arrays as values)Jip_versionIlanguagesBenJnode_count%Krecord_sizeMaxMind-DB-test-broken-pointers-24.mmdb000066400000000000000000000010171310544161500345410ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data%%%%%%%% % % % % %%%%%%%%%%%%%% 59EQ%]!%"%#%$% %0:@BipG1.1.1.8BipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_count%Krecord_sizeMaxMind-DB-test-broken-search-tree-24.mmdb000066400000000000000000000010471310544161500351030ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data%%%%%%% % % % % %%%%%%%%%%%%%% 5BNZ%f!%"%#%$%r%BipH1.1.1.16BipG1.1.1.8BipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_count%Krecord_sizeHASH(0x2f40f90)python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/MaxMind-DB-test-decoder.mmdb000066400000000000000000000055651310544161500326750ustar00rootroot00000000000000L.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~`      !"#$%&'()*+,-/0123456789:K;<=>?@ABCDEFGHIJ``MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~EarrayGbooleanEbytesFdoublehEfloatEint32CmapGuint128Fuint16Fuint32Fuint64Kutf8_string@   * h@Eg?[ *? 6CmapDmapXFarrayX Lutf8_stringXEhello C Md U ] fRunicode! ☯ - ♫MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeWMaxMind DB Decoder TestKdescriptionBen])MaxMind DB Decoder Test database - contains every MaxMind DB data typeJip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/MaxMind-DB-test-ipv4-24.mmdb000066400000000000000000000010301310544161500323540ustar00rootroot00000000000000%%%%%%%% % % % % %%%%%%%%%%%%%% 5BNZ%f!%"%#%$%r%BipH1.1.1.16BipG1.1.1.8BipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_count%Krecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/MaxMind-DB-test-ipv4-28.mmdb000066400000000000000000000010751310544161500323710ustar00rootroot00000000000000%%%%%%%% % % % % %%%%%%%%%%%%%% 5BNZ%f!%"%#%$%r%BipH1.1.1.16BipG1.1.1.8BipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_count%Krecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/MaxMind-DB-test-ipv4-32.mmdb000066400000000000000000000011421310544161500323570ustar00rootroot00000000000000%%%%%%%% % % % % %%%%%%%%%%%%%% 5BNZ%f!%"%#%$%r%BipH1.1.1.16BipG1.1.1.8BipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_count%Krecord_size python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/MaxMind-DB-test-ipv6-24.mmdb000066400000000000000000000030111310544161500323570ustar00rootroot00000000000000  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ```BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/MaxMind-DB-test-ipv6-28.mmdb000066400000000000000000000033271310544161500323750ustar00rootroot00000000000000  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ```BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/MaxMind-DB-test-ipv6-32.mmdb000066400000000000000000000036451310544161500323730ustar00rootroot00000000000000  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ```BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_size MaxMind-DB-test-metadata-pointers.mmdb000066400000000000000000000042261310544161500346230ustar00rootroot00000000000000python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data=VVVVV V V V V VVVVVVVVVVVVVVVVVVV V!V"V#V$V%V&V'V(V)V*V+V,V-V.V/V0V1V2V3V4V5V6V7V8V9V:V;V<V=V>V?V@VAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV[V\V]V^V_V`VawbkcVdVehfVgVFViVVjFVVlmsnVVopVqVrVVFVtVuVvVFxVyzVV{|}VV~VVVVVVVFVVVVVVVFFVVVVVVVVVVVVVVVVVVVVFVFVVVVVVVVVVVVVVVFVVVVVVFVVVVVVVVVFVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV V V V V VVVVVVVVVVVVVVVVVFVV V!V"V#V$V%V&V'V(V)V*VV+,V-V.V/V021VFVV34VV5V67VV8V9V:;V<VFVV>V?V@VAVBFCDFVEFVMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_type\Lots of pointers in metadataKdescriptionBen \Bes \Bzh \Jip_versionIlanguagesBenBesBzhJnode_countFKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/MaxMind-DB-test-mixed-24.mmdb000066400000000000000000000034671310544161500326200ustar00rootroot00000000000000  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~-;IXjv```BipJ::1.1.1.16BipI::1.1.1.8BipI::1.1.1.4BipI::1.1.1.2BipI::1.1.1.1BipJ::1.1.1.32BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/MaxMind-DB-test-mixed-28.mmdb000066400000000000000000000040511310544161500326120ustar00rootroot00000000000000  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~-;IXjv```BipJ::1.1.1.16BipI::1.1.1.8BipI::1.1.1.4BipI::1.1.1.2BipI::1.1.1.1BipJ::1.1.1.32BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/MaxMind-DB-test-mixed-32.mmdb000066400000000000000000000044331310544161500326110ustar00rootroot00000000000000  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~-;IXjv```BipJ::1.1.1.16BipI::1.1.1.8BipI::1.1.1.4BipI::1.1.1.2BipI::1.1.1.1BipJ::1.1.1.32BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_size python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/MaxMind-DB-test-nested.mmdb000066400000000000000000000050361310544161500325430ustar00rootroot000000000000004sssss s s s s sssssssssssssssssss s!s"s#s$s%s&s's(s)s*s+s,s-s.s/s0s1s2s3s4s5s6s7s8s9s:s;s<s=s>s?s@sAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfgxshisjskslsmsnsosspqsrssstsusvswssyzs{s|s}s~sssssssssssssssssssssssssssssssssssssssssssss`ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ss  s ss ssssssssssssssssss s!s"3s#$s%s&s's(s)s*s+s,s-s.s/s0s1s2s`s`s5ss67ss89ss:s;s<s=>s?ss@sABssCDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfsgshsisjskslsmsnsospsqsrssDmap1Dmap2EarrayDmap3AaAbAcMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochYCMdatabase_type]MaxMind DB Nested Data StructuresKdescriptionBen]@MaxMind DB Nested Data Structures Test database - contains deeply nested map/array structuresJip_versionIlanguagesBenJnode_countsKrecord_sizepython-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/README.md000066400000000000000000000026051310544161500271030ustar00rootroot00000000000000The write-test-dbs script will create a small set of test databases with a variety of data and record sizes (24, 28, & 32 bit). These test databases are useful for testing code that reads MaxMind DB files. There is also a `maps-with-pointers.raw` file. This contains the raw output of the MaxMind::DB::Writer::Serializer module, when given a series of maps which share some keys and values. It is used to test that decoder code can handle pointers to map keys and values, as well as to the whole map. There are several ways to figure out what IP addresses are actually in the test databases. You can take a look at the [souce-data directory](https://github.com/maxmind/MaxMind-DB/tree/master/source-data) in this repository. This directory contains JSON files which are used to generate many (but not all) of the database files. You can also use the [mmdb-dump-database script](https://github.com/maxmind/MaxMind-DB-Reader-perl/blob/master/eg/mmdb-dump-database) in the [MaxMind-DB-Reader-perl repository](https://github.com/maxmind/MaxMind-DB-Reader-perl). Some databases are intentionally broken and cannot be dumped. You can look at the [script which generates these databases](https://github.com/maxmind/MaxMind-DB/blob/master/test-data/write-test-data.pl) to see what IP addresses they include, which will be necessary for those databases which cannot be dumped because they contain intentional errors. python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/maps-with-pointers.raw000066400000000000000000000000731310544161500321060ustar00rootroot00000000000000Hlong_keyKlong_value1 Klong_value2Ilong_key2 &  2python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/test-data/write-test-data.pl000077500000000000000000000432621310544161500312060ustar00rootroot00000000000000#!/usr/bin/env perl use strict; use warnings; use autodie; use utf8; use Carp qw( croak ); use Cwd qw( abs_path ); use File::Basename qw( dirname ); use File::Slurp qw( read_file write_file ); use JSON::XS qw( decode_json ); use Math::Int128 qw( uint128 ); use MaxMind::DB::Writer::Serializer 0.100004; use MaxMind::DB::Writer::Tree 0.100004; use MaxMind::DB::Writer::Util qw( key_for_data ); use Net::Works::Network; use Test::MaxMind::DB::Common::Util qw( standard_test_metadata ); my $Dir = dirname( abs_path($0) ); sub main { my @sizes = ( 24, 28, 32 ); my @ipv4_range = ( '1.1.1.1', '1.1.1.32' ); my @ipv4_subnets = Net::Works::Network->range_as_subnets(@ipv4_range); for my $record_size (@sizes) { write_test_db( $record_size, \@ipv4_subnets, { ip_version => 4 }, 'ipv4', ); } write_broken_pointers_test_db( 24, \@ipv4_subnets, { ip_version => 4 }, 'broken-pointers', ); write_broken_search_tree_db( 24, \@ipv4_subnets, { ip_version => 4 }, 'broken-search-tree', ); my @ipv6_subnets = Net::Works::Network->range_as_subnets( '::1:ffff:ffff', '::2:0000:0059' ); for my $record_size (@sizes) { write_test_db( $record_size, \@ipv6_subnets, { ip_version => 6 }, 'ipv6', ); write_test_db( $record_size, [ @ipv6_subnets, Net::Works::Network->range_as_subnets( @ipv4_range, 6 ), ], { ip_version => 6 }, 'mixed', ); } write_decoder_test_db(); write_deeply_nested_structures_db(); write_geoip2_dbs(); write_broken_geoip2_city_db(); write_invalid_node_count(); write_no_ipv4_tree_db(); write_no_map_db( \@ipv4_subnets ); write_test_serialization_data(); write_db_with_metadata_pointers(); } sub write_broken_pointers_test_db { no warnings 'redefine'; my $orig_store_data = MaxMind::DB::Writer::Serializer->can('store_data'); # This breaks the value of the record for the 1.1.1.32 network, causing it # to point outside the database. local *MaxMind::DB::Writer::Serializer::store_data = sub { my $data_pointer = shift->$orig_store_data(@_); my $value = $_[1]; if ( ref($value) eq 'HASH' && exists $value->{ip} && $value->{ip} eq '1.1.1.32' ) { $data_pointer += 100_000; } return $data_pointer; }; # The next hack will poison the data section for the 1.1.16/28 subnet # value. It's value will be a pointer that resolves to an offset outside # the database. my $key_to_poison = key_for_data( { ip => '1.1.1.16' } ); my $orig_position_for_data = MaxMind::DB::Writer::Serializer->can('_position_for_data'); local *MaxMind::DB::Writer::Serializer::_position_for_data = sub { my $key = $_[1]; if ( $key eq $key_to_poison ) { return 1_000_000; } else { return shift->$orig_position_for_data(@_); } }; write_test_db(@_); return; } sub write_broken_search_tree_db { my $filename = ( write_test_db(@_) )[1]; my $content = read_file( $filename, { binmode => ':raw' } ); # This causes the right record of the first node to be 0, meaning it # points back to the top of the tree. This should never happen in a # database that follows the spec. substr( $content, 5, 1 ) = "\0"; write_file( $filename, $content, { binmode => ':raw' } ); return; } sub write_test_db { my $record_size = shift; my $subnets = shift; my $metadata = shift; my $ip_version_name = shift; my $writer = MaxMind::DB::Writer::Tree->new( ip_version => $subnets->[0]->version(), record_size => $record_size, alias_ipv6_to_ipv4 => ( $subnets->[0]->version() == 6 ? 1 : 0 ), map_key_type_callback => sub { 'utf8_string' }, standard_test_metadata(), %{$metadata}, ); for my $subnet ( @{$subnets} ) { $writer->insert_network( $subnet, { ip => $subnet->first()->as_string() } ); } my $filename = sprintf( "$Dir/MaxMind-DB-test-%s-%i.mmdb", $ip_version_name, $record_size, ); open my $fh, '>', $filename; $writer->write_tree($fh); close $fh; return ( $writer, $filename ); } { # We will store this once for each subnet so we will also be testing # pointers, since the serializer will generate a pointer to this # structure. my %all_types = ( utf8_string => 'unicode! ☯ - ♫', double => 42.123456, bytes => pack( 'N', 42 ), uint16 => 100, uint32 => 2**28, int32 => -1 * ( 2**28 ), uint64 => uint128(1) << 60, uint128 => uint128(1) << 120, array => [ 1, 2, 3, ], map => { mapX => { utf8_stringX => 'hello', arrayX => [ 7, 8, 9 ], }, }, boolean => 1, float => 1.1, ); my %all_types_0 = ( utf8_string => q{}, double => 0, bytes => q{}, uint16 => 0, uint32 => 0, int32 => 0, uint64 => uint128(0), uint128 => uint128(0), array => [], map => {}, boolean => 0, float => 0, ); sub write_decoder_test_db { my $writer = MaxMind::DB::Writer::Tree->new( ip_version => 6, record_size => 24, database_type => 'MaxMind DB Decoder Test', languages => ['en'], description => { en => 'MaxMind DB Decoder Test database - contains every MaxMind DB data type', }, alias_ipv6_to_ipv4 => 1, remove_reserved_networks => 0, map_key_type_callback => sub { my $key = $_[0]; $key =~ s/X$//; return $key eq 'array' ? [ 'array', 'uint32' ] : $key; }, ); my @subnets = map { Net::Works::Network->new_from_string( string => $_ ) } qw( ::1.1.1.0/120 ::2.2.0.0/112 ::3.0.0.0/104 ::4.5.6.7/128 abcd::/64 1000::1234:0000/112 ); for my $subnet (@subnets) { $writer->insert_network( $subnet, \%all_types, ); } $writer->insert_network( Net::Works::Network->new_from_string( string => '::0.0.0.0/128' ), \%all_types_0, ); open my $fh, '>', "$Dir/MaxMind-DB-test-decoder.mmdb"; $writer->write_tree($fh); close $fh; return; } } { my %nested = ( map1 => { map2 => { array => [ { map3 => { a => 1, b => 2, c => 3 }, }, ], }, }, ); sub write_deeply_nested_structures_db { my $writer = MaxMind::DB::Writer::Tree->new( ip_version => 6, record_size => 24, ip_version => 6, database_type => 'MaxMind DB Nested Data Structures', languages => ['en'], description => { en => 'MaxMind DB Nested Data Structures Test database - contains deeply nested map/array structures', }, alias_ipv6_to_ipv4 => 1, map_key_type_callback => sub { my $key = shift; return $key =~ /^map/ ? 'map' : $key eq 'array' ? [ 'array', 'map' ] : 'uint32'; } ); my @subnets = map { Net::Works::Network->new_from_string( string => $_ ) } qw( ::1.1.1.0/120 ::2.2.0.0/112 ::3.0.0.0/104 ::4.5.6.7/128 abcd::/64 1000::1234:0000/112 ); for my $subnet (@subnets) { $writer->insert_network( $subnet, \%nested, ); } open my $fh, '>', "$Dir/MaxMind-DB-test-nested.mmdb"; $writer->write_tree($fh); close $fh; return; } } sub write_geoip2_dbs { _write_geoip2_db( @{$_}, 'Test' ) for ( [ 'GeoIP2-Anonymous-IP', 1 ], [ 'GeoIP2-City', 0 ], [ 'GeoIP2-Connection-Type', 0 ], [ 'GeoIP2-Country', 0 ], [ 'GeoIP2-DensityIncome', 0 ], [ 'GeoIP2-Domain', 0 ], [ 'GeoIP2-Enterprise', 0 ], [ 'GeoIP2-ISP', 0 ], [ 'GeoIP2-Precision-Enterprise', 0 ], [ 'GeoLite2-ASN', 0 ], ); } sub write_broken_geoip2_city_db { no warnings 'redefine'; # This is how we _used_ to encode doubles. Storing them this way with the # current reader tools can lead to weird errors. This broken database is a # good way to test the robustness of reader code in the face of broken # databases. local *MaxMind::DB::Writer::Serializer::_encode_double = sub { my $self = shift; my $value = shift; $self->_simple_encode( double => $value ); }; _write_geoip2_db( 'GeoIP2-City', 0, 'Test Broken Double Format' ); } sub write_invalid_node_count { no warnings 'redefine'; local *MaxMind::DB::Writer::Tree::node_count = sub { 100000 }; _write_geoip2_db( 'GeoIP2-City', 0, 'Test Invalid Node Count' ); } sub _universal_map_key_type_callback { my $map = { # languages de => 'utf8_string', en => 'utf8_string', es => 'utf8_string', fr => 'utf8_string', ja => 'utf8_string', 'pt-BR' => 'utf8_string', ru => 'utf8_string', 'zh-CN' => 'utf8_string', # production accuracy_radius => 'uint16', autonomous_system_number => 'uint32', autonomous_system_organization => 'utf8_string', average_income => 'uint32', city => 'map', code => 'utf8_string', confidence => 'uint16', connection_type => 'utf8_string', continent => 'map', country => 'map', domain => 'utf8_string', geoname_id => 'uint32', is_anonymous => 'boolean', is_anonymous_proxy => 'boolean', is_anonymous_vpn => 'boolean', is_hosting_provider => 'boolean', is_legitimate_proxy => 'boolean', is_public_proxy => 'boolean', is_satellite_provider => 'boolean', is_tor_exit_node => 'boolean', iso_code => 'utf8_string', isp => 'utf8_string', latitude => 'double', location => 'map', longitude => 'double', metro_code => 'uint16', names => 'map', organization => 'utf8_string', population_density => 'uint32', postal => 'map', registered_country => 'map', represented_country => 'map', subdivisions => [ 'array', 'map' ], time_zone => 'utf8_string', traits => 'map', traits => 'map', type => 'utf8_string', user_type => 'utf8_string', # for testing only foo => 'utf8_string', bar => 'utf8_string', buzz => 'utf8_string', our_value => 'utf8_string', }; my $callback = sub { my $key = shift; return $map->{$key} || die <<"ERROR"; Unknown tree key '$key'. The universal_map_key_type_callback doesn't know what type to use for the passed key. If you are adding a new key that will be used in a frozen tree / mmdb then you should update the mapping in both our internal code and here. ERROR }; return $callback; } sub _write_geoip2_db { my $type = shift; my $populate_all_networks = shift; my $description = shift; my $writer = MaxMind::DB::Writer::Tree->new( ip_version => 6, record_size => 28, ip_version => 6, database_type => $type, languages => [ 'en', $type eq 'GeoIP2-City' ? ('zh') : () ], description => { en => ( $type =~ s/-/ /gr ) . " $description Database (fake GeoIP2 data, for example purposes only)", $type eq 'GeoIP2-City' ? ( zh => '小型数据库' ) : (), }, alias_ipv6_to_ipv4 => 1, map_key_type_callback => _universal_map_key_type_callback(), ); _populate_all_networks($writer) if $populate_all_networks; my $nodes = decode_json( read_file( "$Dir/../source-data/$type-Test.json", binmode => ':raw' ) ); for my $node (@$nodes) { for my $network ( keys %$node ) { $writer->insert_network( Net::Works::Network->new_from_string( string => $network ), $node->{$network} ); } } my $suffix = $description =~ s/ /-/gr; open my $output_fh, '>', "$Dir/$type-$suffix.mmdb"; $writer->write_tree($output_fh); close $output_fh; return; } sub _populate_all_networks { my $writer = shift; my $max_uint128 = uint128(0) - 1; my @networks = Net::Works::Network->range_as_subnets( Net::Works::Address->new_from_integer( integer => 0, version => 6, ), Net::Works::Address->new_from_integer( integer => $max_uint128, version => 6, ), ); for my $network (@networks) { $writer->insert_network( $network => {} ); } } sub write_no_ipv4_tree_db { my $subnets = shift; my $writer = MaxMind::DB::Writer::Tree->new( ip_version => 6, record_size => 24, ip_version => 6, database_type => 'MaxMind DB No IPv4 Search Tree', languages => ['en'], description => { en => 'MaxMind DB No IPv4 Search Tree', }, remove_reserved_networks => 0, root_data_type => 'utf8_string', map_key_type_callback => sub { {} }, ); my $subnet = Net::Works::Network->new_from_string( string => '::/64' ); $writer->insert_network( $subnet, $subnet->as_string() ); open my $output_fh, '>', "$Dir/MaxMind-DB-no-ipv4-search-tree.mmdb"; $writer->write_tree($output_fh); close $output_fh; return; } # The point of this database is to provide something where we can test looking # up a single value. In other words, each IP address points to a non-compound # value, a string rather than a map or array. sub write_no_map_db { my $subnets = shift; my $writer = MaxMind::DB::Writer::Tree->new( ip_version => 4, record_size => 24, database_type => 'MaxMind DB String Value Entries', languages => ['en'], description => { en => 'MaxMind DB String Value Entries (no maps or arrays as values)', }, root_data_type => 'utf8_string', map_key_type_callback => sub { {} }, ); for my $subnet ( @{$subnets} ) { $writer->insert_network( $subnet, $subnet->as_string() ); } open my $output_fh, '>', "$Dir/MaxMind-DB-string-value-entries.mmdb"; $writer->write_tree($output_fh); close $output_fh; return; } sub write_test_serialization_data { my $serializer = MaxMind::DB::Writer::Serializer->new( map_key_type_callback => sub { 'utf8_string' } ); $serializer->store_data( map => { long_key => 'long_value1' } ); $serializer->store_data( map => { long_key => 'long_value2' } ); $serializer->store_data( map => { long_key2 => 'long_value1' } ); $serializer->store_data( map => { long_key2 => 'long_value2' } ); $serializer->store_data( map => { long_key => 'long_value1' } ); $serializer->store_data( map => { long_key2 => 'long_value2' } ); open my $fh, '>', 'maps-with-pointers.raw'; print {$fh} ${ $serializer->buffer() } or die "Cannot write to maps-with-pointers.raw: $!"; close $fh; return; } sub write_db_with_metadata_pointers { my $repeated_string = 'Lots of pointers in metadata'; my $writer = MaxMind::DB::Writer::Tree->new( ip_version => 6, record_size => 24, map_key_type_callback => sub { 'utf8_string' }, database_type => $repeated_string, languages => [ 'en', 'es', 'zh' ], description => { en => $repeated_string, es => $repeated_string, zh => $repeated_string, }, ); _populate_all_networks($writer); open my $fh, '>', 'MaxMind-DB-test-metadata-pointers.mmdb'; $writer->write_tree($fh); close $fh; } main(); python-maxminddb-2.5.2/extension/libmaxminddb/t/maxmind-db/tidyall.ini000066400000000000000000000000761310544161500261010ustar00rootroot00000000000000[PerlTidy] select = **/*.{pl,pm,t} [JSON] select = **/*.json pax_global_header00006660000000000000000000000064145047000630014511gustar00rootroot0000000000000052 comment=a75bfb17a0e77f576c9eef0cfbf6220909e959e7 python-maxminddb-2.5.2/tests/data/000077500000000000000000000000001450470006300170545ustar00rootroot00000000000000python-maxminddb-2.5.2/tests/data/.gitattributes000066400000000000000000000000211450470006300217400ustar00rootroot00000000000000*.mmdb diff=mmdb python-maxminddb-2.5.2/tests/data/.gitconfig000066400000000000000000000000501450470006300210210ustar00rootroot00000000000000[diff "mmdb"] textconv = hexdump -v -C python-maxminddb-2.5.2/tests/data/.gitignore000066400000000000000000000000301450470006300210350ustar00rootroot00000000000000/_site .tidyall.d *.swp python-maxminddb-2.5.2/tests/data/.perltidyallrc000066400000000000000000000003251450470006300217270ustar00rootroot00000000000000--blank-lines-before-packages=0 --iterations=2 --no-outdent-long-comments -bar -boc -ci=4 -i=4 -l=78 -nolq -se -wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x=" python-maxminddb-2.5.2/tests/data/.tidyallrc000066400000000000000000000001741450470006300210460ustar00rootroot00000000000000[PerlTidy] select = **/*.{pl,pm,t,psgi} ignore = blib/**/* argv = --profile=$ROOT/.perltidyallrc [JSON] select = **/*.json python-maxminddb-2.5.2/tests/data/LICENSE000066400000000000000000000004361450470006300200640ustar00rootroot00000000000000This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. python-maxminddb-2.5.2/tests/data/MaxMind-DB-spec.md000066400000000000000000000517731450470006300221630ustar00rootroot00000000000000--- layout: default title: MaxMind DB File Format Specification version: v2.0 --- # MaxMind DB File Format Specification ## Description The MaxMind DB file format is a database format that maps IPv4 and IPv6 addresses to data records using an efficient binary search tree. ## Version This spec documents **version 2.0** of the MaxMind DB binary format. The version number consists of separate major and minor version numbers. It should not be considered a decimal number. In other words, version 2.10 comes after version 2.9. Code which is capable of reading a given major version of the format should not be broken by minor version changes to the format. ## Overview The binary database is split into three parts: 1. The binary search tree. Each level of the tree corresponds to a single bit in the prefix of the network the IP address belongs to. 2. The data section with the values for the networks in the binary search tree. These values may be comprised of a single data type, e.g., the string "US" or "New York", or they may be a more complex map or array type made up of multiple fields. 3. Database metadata. Information about the database itself. ## Database Metadata This portion of the database is stored at the end of the file. It is documented first because understanding some of the metadata is key to understanding how the other sections work. This section can be found by looking for a binary sequence matching "\xab\xcd\xefMaxMind.com". The *last* occurrence of this string in the file marks the end of the data section and the beginning of the metadata. Since we allow for arbitrary binary data in the data section, some other piece of data could contain these values. This is why you need to find the last occurrence of this sequence. The maximum allowable size for the metadata section, including the marker that starts the metadata, is 128KiB. The metadata is stored as a separate data section comprised of a map data structure starting at the beginning of that section. This structure is described later in the spec. Except where otherwise specified, each key listed is required for the database to be considered valid. Changing a key's data type or removing a key would constitute a major version change for this spec. Adding a key constitutes a minor version change. The list of known keys for the current version of the format is as follows: ### node\_count This is an unsigned 32-bit integer indicating the number of nodes in the search tree. ### record\_size This is an unsigned 16-bit integer. It indicates the number of bits in a record in the search tree. Note that each node consists of *two* records. ### ip\_version This is an unsigned 16-bit integer which is always 4 or 6. It indicates whether the database contains IPv4 or IPv6 address data. ### database\_type This is a string that indicates the structure of each data record associated with an IP address. The actual definition of these structures is left up to the database creator. Names starting with "GeoIP" are reserved for use by MaxMind (and "GeoIP" is a trademark anyway). ### languages An array of strings, each of which is a locale code. A given record may contain data items that have been localized to some or all of these locales. Records should not contain localized data for locales not included in this array. This is an optional key, as this may not be relevant for all types of data. ### binary\_format\_major\_version This is an unsigned 16-bit integer indicating the major version number for the database's binary format. ### binary\_format\_minor\_version This is an unsigned 16-bit integer indicating the minor version number for the database's binary format. ### build\_epoch This is an unsigned 64-bit integer that contains the database build timestamp as a Unix epoch value. ### description This key will always point to a map. The keys of that map will be language codes, and the values will be a description in that language as a UTF-8 string. The codes may include additional information such as script or country identifiers, like "zh-TW" or "mn-Cyrl-MN". The additional identifiers will be separated by a dash character ("-"). This key is optional. However, creators of databases are strongly encouraged to include a description in at least one language. ### Calculating the Search Tree Section Size The formula for calculating the search tree section size *in bytes* is as follows: ( ( $record_size * 2 ) / 8 ) * $number_of_nodes The end of the search tree marks the beginning of the data section. ## Binary Search Tree Section The database file starts with a binary search tree. The number of nodes in the tree is dependent on how many unique netblocks are needed for the particular database. For example, the city database needs many more small netblocks than the country database. The top most node is always located at the beginning of the search tree section's address space. The top node is node 0. Each node consists of two records, each of which is a pointer to an address in the file. The pointers can point to one of three things. First, it may point to another node in the search tree address space. These pointers are followed as part of the IP address search algorithm, described below. The pointer can point to a value equal to `$number_of_nodes`. If this is the case, it means that the IP address we are searching for is not in the database. Finally, it may point to an address in the data section. This is the data relevant to the given netblock. ### Node Layout Each node in the search tree consists of two records, each of which is a pointer. The record size varies by database, but inside a single database node records are always the same size. A record may be anywhere from 24 to 128 bits long, depending on the number of nodes in the tree. These pointers are stored in big-endian format (most significant byte first). Here are some examples of how the records are laid out in a node for 24, 28, and 32 bit records. Larger record sizes follow this same pattern. #### 24 bits (small database), one node is 6 bytes | <------------- node --------------->| | 23 .. 0 | 23 .. 0 | #### 28 bits (medium database), one node is 7 bytes | <------------- node --------------->| | 23 .. 0 | 27..24 | 27..24 | 23 .. 0 | Note 4 bits of each pointer are combined into the middle byte. For both records, they are prepended and end up in the most significant position. #### 32 bits (large database), one node is 8 bytes | <------------- node --------------->| | 31 .. 0 | 31 .. 0 | ### Search Lookup Algorithm The first step is to convert the IP address to its big-endian binary representation. For an IPv4 address, this becomes 32 bits. For IPv6 you get 128 bits. The leftmost bit corresponds to the first node in the search tree. For each bit, a value of 0 means we choose the left record in a node, and a value of 1 means we choose the right record. The record value is always interpreted as an unsigned integer. The maximum size of the integer is dependent on the number of bits in a record (24, 28, or 32). If the record value is a number that is less than the *number of nodes* (not in bytes, but the actual node count) in the search tree (this is stored in the database metadata), then the value is a node number. In this case, we find that node in the search tree and repeat the lookup algorithm from there. If the record value is equal to the number of nodes, that means that we do not have any data for the IP address, and the search ends here. If the record value is *greater* than the number of nodes in the search tree, then it is an actual pointer value pointing into the data section. The value of the pointer is relative to the start of the data section, *not* the start of the file. In order to determine where in the data section we should start looking, we use the following formula: $data_section_offset = ( $record_value - $node_count ) - 16 The 16 is the size of the data section separator. We subtract it because we want to permit pointing to the first byte of the data section. Recall that the record value cannot equal the node count as that means there is no data. Instead, we choose to start values that go to the data section at `$node_count + 16`. (This has the side effect that record values `$node_count + 1` through `$node_count + 15` inclusive are not valid). This is best demonstrated by an example: Let's assume we have a 24-bit tree with 1,000 nodes. Each node contains 48 bits, or 6 bytes. The size of the tree is 6,000 bytes. When a record in the tree contains a number that is less than 1,000, this is a *node number*, and we look up that node. If a record contains a value greater than or equal to 1,016, we know that it is a data section value. We subtract the node count (1,000) and then subtract 16 for the data section separator, giving us the number 0, the first byte of the data section. If a record contained the value 6,000, this formula would give us an offset of 4,984 into the data section. In order to determine where in the file this offset really points to, we also need to know where the data section starts. This can be calculated by determining the size of the search tree in bytes and then adding an additional 16 bytes for the data section separator: $offset_in_file = $data_section_offset + $search_tree_size_in_bytes + 16 Since we subtract and then add 16, the final formula to determine the offset in the file can be simplified to: $offset_in_file = ( $record_value - $node_count ) + $search_tree_size_in_bytes ### IPv4 addresses in an IPv6 tree When storing IPv4 addresses in an IPv6 tree, they are stored as-is, so they occupy the first 32-bits of the address space (from 0 to 2**32 - 1). Creators of databases should decide on a strategy for handling the various mappings between IPv4 and IPv6. The strategy that MaxMind uses for its GeoIP databases is to include a pointer from the `::ffff:0:0/96` subnet to the root node of the IPv4 address space in the tree. This accounts for the [IPv4-mapped IPv6 address](http://en.wikipedia.org/wiki/IPv6#IPv4-mapped_IPv6_addresses). MaxMind also includes a pointer from the `2002::/16` subnet to the root node of the IPv4 address space in the tree. This accounts for the [6to4 mapping](http://en.wikipedia.org/wiki/6to4) subnet. Database creators are encouraged to document whether they are doing something similar for their databases. The Teredo subnet cannot be accounted for in the tree. Instead, code that searches the tree can offer to decode the IPv4 portion of a Teredo address and look that up. ## Data Section Separator There are 16 bytes of NULLs in between the search tree and the data section. This separator exists in order to make it possible for a verification tool to distinguish between the two sections. This separator is not considered part of the data section itself. In other words, the data section starts at `$size_of_search_tree + 16` bytes in the file. ## Output Data Section Each output data field has an associated type, and that type is encoded as a number that begins the data field. Some types are variable length. In those cases, the type indicator is also followed by a length. The data payload always comes at the end of the field. All binary data is stored in big-endian format. Note that the *interpretation* of a given data type's meaning is decided by higher-level APIs, not by the binary format itself. ### pointer - 1 A pointer to another part of the data section's address space. The pointer will point to the beginning of a field. It is illegal for a pointer to point to another pointer. Pointer values start from the beginning of the data section, *not* the beginning of the file. Pointers in the metadata start from the beginning of the metadata section. ### UTF-8 string - 2 A variable length byte sequence that contains valid utf8. If the length is zero then this is an empty string. ### double - 3 This is stored as an IEEE-754 double (binary64) in big-endian format. The length of a double is always 8 bytes. ### bytes - 4 A variable length byte sequence containing any sort of binary data. If the length is zero then this a zero-length byte sequence. This is not currently used but may be used in the future to embed non-text data (images, etc.). ### integer formats Integers are stored in variable length binary fields. We support 16-bit, 32-bit, 64-bit, and 128-bit unsigned integers. We also support 32-bit signed integers. A 128-bit integer can use up to 16 bytes, but may use fewer. Similarly, a 32-bit integer may use from 0-4 bytes. The number of bytes used is determined by the length specifier in the control byte. See below for details. A length of zero always indicates the number 0. When storing a signed integer, fields shorter than the maximum byte length are always positive. When the field is the maximum length, e.g., 4 bytes for 32-bit integers, the left-most bit is the sign. A 1 is negative and a 0 is positive. The type numbers for our integer types are: * unsigned 16-bit int - 5 * unsigned 32-bit int - 6 * signed 32-bit int - 8 * unsigned 64-bit int - 9 * unsigned 128-bit int - 10 The unsigned 32-bit and 128-bit types may be used to store IPv4 and IPv6 addresses, respectively. The signed 32-bit integers are stored using the 2's complement representation. ### map - 7 A map data type contains a set of key/value pairs. Unlike other data types, the length information for maps indicates how many key/value pairs it contains, not its length in bytes. This size can be zero. See below for the algorithm used to determine the number of pairs in the hash. This algorithm is also used to determine the length of a field's payload. ### array - 11 An array type contains a set of ordered values. The length information for arrays indicates how many values it contains, not its length in bytes. This size can be zero. This type uses the same algorithm as maps for determining the length of a field's payload. ### data cache container - 12 This is a special data type that marks a container used to cache repeated data. For example, instead of repeating the string "United States" over and over in the database, we store it in the cache container and use pointers *into* this container instead. Nothing in the database will ever contain a pointer to this field itself. Instead, various fields will point into the container. The primary reason for making this a separate data type versus simply inlining the cached data is so that a database dumper tool can skip this cache when dumping the data section. The cache contents will end up being dumped as pointers into it are followed. ### end marker - 13 The end marker marks the end of the data section. It is not strictly necessary, but including this marker allows a data section deserializer to process a stream of input, rather than having to find the end of the section before beginning the deserialization. This data type is not followed by a payload, and its size is always zero. ### boolean - 14 A true or false value. The length information for a boolean type will always be 0 or 1, indicating the value. There is no payload for this field. ### float - 15 This is stored as an IEEE-754 float (binary32) in big-endian format. The length of a float is always 4 bytes. This type is provided primarily for completeness. Because of the way floating point numbers are stored, this type can easily lose precision when serialized and then deserialized. If this is an issue for you, consider using a double instead. ### Data Field Format Each field starts with a control byte. This control byte provides information about the field's data type and payload size. The first three bits of the control byte tell you what type the field is. If these bits are all 0, then this is an "extended" type, which means that the *next* byte contains the actual type. Otherwise, the first three bits will contain a number from 1 to 7, the actual type for the field. We've tried to assign the most commonly used types as numbers 1-7 as an optimization. With an extended type, the type number in the second byte is the number minus 7. In other words, an array (type 11) will be stored with a 0 for the type in the first byte and a 4 in the second. Here is an example of how the control byte may combine with the next byte to tell us the type: 001XXXXX pointer 010XXXXX UTF-8 string 110XXXXX unsigned 32-bit int (ASCII) 000XXXXX 00000011 unsigned 128-bit int (binary) 000XXXXX 00000100 array 000XXXXX 00000110 end marker #### Payload Size The next five bits in the control byte tell you how long the data field's payload is, except for maps and pointers. Maps and pointers use this size information a bit differently. See below. If the five bits are smaller than 29, then those bits are the payload size in bytes. For example: 01000010 UTF-8 string - 2 bytes long 01011100 UTF-8 string - 28 bytes long 11000001 unsigned 32-bit int - 1 byte long 00000011 00000011 unsigned 128-bit int - 3 bytes long If the five bits are equal to 29, 30, or 31, then use the following algorithm to calculate the payload size. If the value is 29, then the size is 29 + *the next byte after the type specifying bytes as an unsigned integer*. If the value is 30, then the size is 285 + *the next two bytes after the type specifying bytes as a single unsigned integer*. If the value is 31, then the size is 65,821 + *the next three bytes after the type specifying bytes as a single unsigned integer*. Some examples: 01011101 00110011 UTF-8 string - 80 bytes long In this case, the last five bits of the control byte equal 29. We treat the next byte as an unsigned integer. The next byte is 51, so the total size is (29 + 51) = 80. 01011110 00110011 00110011 UTF-8 string - 13,392 bytes long The last five bits of the control byte equal 30. We treat the next two bytes as a single unsigned integer. The next two bytes equal 13,107, so the total size is (285 + 13,107) = 13,392. 01011111 00110011 00110011 00110011 UTF-8 string - 3,421,264 bytes long The last five bits of the control byte equal 31. We treat the next three bytes as a single unsigned integer. The next three bytes equal 3,355,443, so the total size is (65,821 + 3,355,443) = 3,421,264. This means that the maximum payload size for a single field is 16,843,036 bytes. The binary number types always have a known size, but for consistency's sake, the control byte will always specify the correct size for these types. #### Maps Maps use the size in the control byte (and any following bytes) to indicate the number of key/value pairs in the map, not the size of the payload in bytes. This means that the maximum number of pairs for a single map is 16,843,036. Maps are laid out with each key followed by its value, followed by the next pair, etc. The keys are **always** UTF-8 strings. The values may be any data type, including maps or pointers. Once we know the number of pairs, we can look at each pair in turn to determine the size of the key and the key name, as well as the value's type and payload. #### Pointers Pointers use the last five bits in the control byte to calculate the pointer value. To calculate the pointer value, we start by subdividing the five bits into two groups. The first two bits indicate the size, and the next three bits are part of the value, so we end up with a control byte breaking down like this: 001SSVVV. The size can be 0, 1, 2, or 3. If the size is 0, the pointer is built by appending the next byte to the last three bits to produce an 11-bit value. If the size is 1, the pointer is built by appending the next two bytes to the last three bits to produce a 19-bit value + 2048. If the size is 2, the pointer is built by appending the next three bytes to the last three bits to produce a 27-bit value + 526336. Finally, if the size is 3, the pointer's value is contained in the next four bytes as a 32-bit value. In this case, the last three bits of the control byte are ignored. This means that we are limited to 4GB of address space for pointers, so the data section size for the database is limited to 4GB. ## Reference Implementations ### Writer * [Perl](https://github.com/maxmind/MaxMind-DB-Writer-perl) ### Reader * [C](https://github.com/maxmind/libmaxminddb) * [C#](https://github.com/maxmind/MaxMind-DB-Reader-dotnet) * [Java](https://github.com/maxmind/MaxMind-DB-Reader-java) * [Perl](https://github.com/maxmind/MaxMind-DB-Reader-perl) * [PHP](https://github.com/maxmind/MaxMind-DB-Reader-php) * [Python](https://github.com/maxmind/MaxMind-DB-Reader-python) * [Ruby](https://github.com/maxmind/MaxMind-DB-Reader-ruby) ## Authors This specification was created by the following authors: * Greg Oschwald \ * Dave Rolsky \ * Boris Zentner \ ## License This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit [http://creativecommons.org/licenses/by-sa/3.0/](http://creativecommons.org/licenses/by-sa/3.0/) or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA python-maxminddb-2.5.2/tests/data/README.md000066400000000000000000000002261450470006300203330ustar00rootroot00000000000000MaxMind DB is a binary file format that stores data indexed by IP address subnets (IPv4 or IPv6). This repository contains the spec for that format. python-maxminddb-2.5.2/tests/data/bad-data/000077500000000000000000000000001450470006300205115ustar00rootroot00000000000000python-maxminddb-2.5.2/tests/data/bad-data/README.md000066400000000000000000000006041450470006300217700ustar00rootroot00000000000000These are corrupt databases that have been know to cause problems such as segfaults or unhandled errors on one or more MaxMind DB reader implementations. Implementations _should_ return an appropriate error or raise an exception on these databases. If you find a corrupt test-sized database that crashes a MMDB reader library, please feel free to add it here by creating a pull request. python-maxminddb-2.5.2/tests/data/bad-data/libmaxminddb/000077500000000000000000000000001450470006300231435ustar00rootroot00000000000000python-maxminddb-2.5.2/tests/data/bad-data/libmaxminddb/libmaxminddb-offset-integer-overflow.mmdb000066400000000000000000000006341450470006300332210ustar00rootroot00000000000000%%%%%% 59EQ%]!%"%#%$% %0:@BipG1.1.1.8 ipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_versio88888888888888n[binary_format_minor_versionKbuild_epochVdMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_counpython-maxminddb-2.5.2/tests/data/bad-data/maxminddb-golang/000077500000000000000000000000001450470006300237215ustar00rootroot00000000000000python-maxminddb-2.5.2/tests/data/bad-data/maxminddb-golang/cyclic-data-structure.mmdb000066400000000000000000000052531450470006300310020ustar00rootroot000000000000004sssss s s s s sssssssssssssssssss s!s"s#s$s%s&s's(s)s*s+s,s-s.s/s0s1s2s3s4s5s6s7s8s9s:s;s<s=s>s?s@sAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfgxshisjskslsmsnsosspqsrssstsusvswssyzs{s|s}s~sssssssssssssssssssssssssssssssssssssssssssss`ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ss  s ss ssssssssssssssssss s!s"3s#$s%s&s's(s)s*s+s,s-s.s/ss1s2s`s`s5ss67ss89ss:s;s<s=>s?ss@sABssCDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfsgshsisjskslsmsnsospsqsrssEarrayGbooleanEbytes*Fdoubleh@Eg?[Efloat?Eint32CmapDmapXFarrayX Lutf8_stringXEhelloGuint128?Fuint16dFuint32Fuint64Kutf8_stringRunicode! ☯ - ♫MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochX2|Mdatabase_typeWMaxMind DB Decoder TestKdescriptionBen])MaxMind DB Decoder Test database - contains every MaxMind DB data typeJip_versionIlanguagesBenJnode_countsKrecord_sizepython-maxminddb-2.5.2/tests/data/bad-data/maxminddb-golang/invalid-bytes-length.mmdb000066400000000000000000000000401450470006300306050ustar00rootroot00000000000000MaxMind.comKdescriptionBenpython-maxminddb-2.5.2/tests/data/bad-data/maxminddb-golang/invalid-data-record-offset.mmdb000066400000000000000000000005071450470006300316610ustar00rootroot00000000000000MaxMind.com[binarybcdefghijkmnopqstuwxyz{|};Ipython-maxminddb-2.5.2/tests/data/bad-data/maxminddb-golang/invalid-map-key-length.mmdb000066400000000000000000000052531450470006300310350ustar00rootroot000000000000004sssss s s s s sssssssssssssssssss s!s"s#s$s%s&s's(s)s*s+s,s-s.s/s0s1s2s3s4s5s6s7s8s9s:s;s<s=s>s?s@sAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfgxshisjskslsmsnsosspqsrssstsusvswssyzs{s|s}s~sssssssssssssssssssssssssssssssssssssssssssss`sssssssssssssssssssssssssssssssssssssssssssssbroken pipesssssssssssssssssssssssssssssssssssssssssssssss ss  s ss ssssssssssssssssss s!s"3s#$s%s&s's(s)s*s+s,s-s.s/ss1s2s`s`s5ss67ss89ss:s;s<s=>s?ss@sABssCDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfsgshsisjskslsmsnsospsqsrssEarrayGbooleanEbytes*Fdoubleh@Eg?[Efloat?Eint32_mapDmapXFarrayX  Lutf8_stringXEhelloGuint128Fuint16dFuint32Fuint64Kutf8_stringRunicode! ☯ - ♫MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochX2|Mdatabase_typeWMaxMind DB Decoder TestKdescriptionBen])MaxMind DB Decoder Test database - contains every MaxMind DB data typeJip_versionIlanguagesBenJnode_countsKrecord_sizepython-maxminddb-2.5.2/tests/data/bad-data/maxminddb-golang/invalid-string-length.mmdb000066400000000000000000000002731450470006300307750ustar00rootroot00000000000000Dmap2EarrayDmap3AaAbAcMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochX2|Mdatabase_type]MaxMind DB Nested Data StructuresKdescription python-maxminddb-2.5.2/tests/data/bad-data/maxminddb-golang/metadata-is-an-uint128.mmdb000066400000000000000000000000201450470006300305470ustar00rootroot00000000000000MaxMind.compython-maxminddb-2.5.2/tests/data/bad-data/maxminddb-golang/unexpected-bytes.mmdb000066400000000000000000000044351450470006300300600ustar00rootroot00000000000000s's(s)s*s+s,s-s.s/s0s1s2s3s4s5s6s7s8s9s:s;s<s=s>s?s@sAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfgxshisjskslsmsnsosspqsrssstsusvswssyzs{s|s}s~sssssssssssssssssssssssssssssssssssssssssssss`ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ss  s ss ssssssssssssssssss s!s"3s#$s%s&s's(s)s*s+s,s-s.s/s0s1s2s`s`s5ss67ss89ss:s;s<s=>s?ss@sABssCDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfsgshsisjskslsmsnsospsqsrssDmap1Dmap2EarrayDmap3AaAbAcMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epochX2|Mdatabase_type]MaxMind DB Nested Data StructuresKdescriptionBen]@MaxMind DB Nested Data Structures Test database - contains deeply nested map/array structuresJip_versionIlanguagespython-maxminddb-2.5.2/tests/data/bad-data/maxminddb-python/000077500000000000000000000000001450470006300237735ustar00rootroot00000000000000python-maxminddb-2.5.2/tests/data/bad-data/maxminddb-python/bad-unicode-in-map-key.mmdb000066400000000000000000000067171450470006300307660ustar00rootroot00000000000000, S,ӽ,,ӳ,,binary_foSmat_minor_vMrsionKb@ild_epoch^@Mdatabase}typeDTestKdescriptionBenMTest DatabaseBzhUTest Database Chine,,,,,,ӳӸӳ5ӷ,:>@PF::0/6˫MaxMindffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffffeffffffffffffffffQffdfffffffffffffffffcom[binary_format_Vajor_version[bi_T1x2.1@1B.1.1.32MaxMind.com[binry_formonKbuild_epochHMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJiN_verbinary_foSmat_minor_vMrsionKb@ild_epoch^base}typeDTestKdescriptionBenMTest DatabaseBzhUTest Datine,ӳӸӳ5ӷ,:>@PF::0/6˫MaxMindfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffQffdfffffffffffffffffcomajor_versionn_T1x2.1@1B.1.1.32MaxMind.com[binary_formonKochHhdatabase_typeDTestKdescriptionBenMTeseseJip_ver@:0/4onKbuild_SӤDEFGH,ӡӐooYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYaYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY@[binary_format_major_ersion[b_monKbuiGH,ޭ,,,,,,,,,,@"@#@$@,@3@5@7@ @@@_versinKbuilffӳffffffffffffffffffffffffffffffffffffffSfffbffffffffffffffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffIfffffffffffffffffffffffffffffffffIffffffffffffffffffffffffffffdffffffffffffffffffffcom[biary_format_major_version[bi_J11B.1.1.32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epoch^HMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTjst Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/perltidyrc000066400000000000000000000005571450470006300211670ustar00rootroot00000000000000--blank-lines-before-packages=0 --iterations=2 --no-outdent-long-comments --weld-nested-containers -b -bar -boc -ci=4 -i=4 -l=78 -nolq -se -wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x=" --character-encoding=utf8 --valign-exclusion-list="q" --want-trailing-commas=m --add-trailing-commas --delete-repeated-commas python-maxminddb-2.5.2/tests/data/source-data/000077500000000000000000000000001450470006300212635ustar00rootroot00000000000000python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-Anonymous-IP-Test.json000066400000000000000000000017411450470006300264170ustar00rootroot00000000000000[ { "::1.2.0.0/112" : { "is_anonymous" : true, "is_anonymous_vpn" : true } }, { "::1.124.213.1/128" : { "is_anonymous" : true, "is_anonymous_vpn" : true, "is_tor_exit_node" : true } }, { "::81.2.69.0/120" : { "is_anonymous" : true, "is_anonymous_vpn" : true, "is_hosting_provider" : true, "is_public_proxy" : true, "is_residential_proxy" : true, "is_tor_exit_node" : true } }, { "::71.160.223.0/120" : { "is_anonymous" : true, "is_hosting_provider" : true } }, { "::186.30.236.0/120" : { "is_anonymous" : true, "is_public_proxy" : true } }, { "::65.0.0.0/109" : { "is_anonymous" : true, "is_tor_exit_node" : true } }, { "abcd:1000::/112" : { "is_anonymous" : true, "is_public_proxy" : true } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-City-Test.json000066400000000000000000013671171450470006300250460ustar00rootroot00000000000000[ { "2001:218::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:220::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "::214.0.0.0/120" : { "city" : { "geoname_id" : 1880252, "names" : { "de" : "Singapur", "en" : "Singapore", "es" : "Singapur", "fr" : "Singapour", "ja" : "シンガポール", "pt-BR" : "Singapura", "ru" : "Сингапур", "zh-CN" : "新加坡" } }, "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1880251, "iso_code" : "SG", "names" : { "de" : "Singapur", "en" : "Singapore", "es" : "Singapur", "fr" : "Singapour", "ja" : "シンガポール", "pt-BR" : "Singapura", "ru" : "Сингапур", "zh-CN" : "新加坡" } }, "location" : { "accuracy_radius" : 10, "latitude" : 1.336, "longitude" : 103.7716, "time_zone" : "Asia/Singapore" }, "postal" : { "code" : "59" }, "registered_country" : { "geoname_id" : 1880251, "iso_code" : "SG", "names" : { "de" : "Singapur", "en" : "Singapore", "es" : "Singapur", "fr" : "Singapour", "ja" : "シンガポール", "pt-BR" : "Singapura", "ru" : "Сингапур", "zh-CN" : "新加坡" } } } }, { "::214.0.1.0/120" : { "city" : { "geoname_id" : 2158177, "names" : { "de" : "Melbourne", "en" : "Melbourne", "es" : "Melbourne", "fr" : "Melbourne", "ja" : "メルボルン", "pt-BR" : "Melbourne", "ru" : "Мельбурн", "zh-CN" : "墨尔本" } }, "continent" : { "code" : "OC", "geoname_id" : 6255151, "names" : { "de" : "Ozeanien", "en" : "Oceania", "es" : "Oceanía", "fr" : "Océanie", "ja" : "オセアニア", "pt-BR" : "Oceania", "ru" : "Океания", "zh-CN" : "大洋洲" } }, "country" : { "geoname_id" : 2077456, "iso_code" : "AU", "names" : { "de" : "Australien", "en" : "Australia", "es" : "Australia", "fr" : "Australie", "ja" : "オーストラリア", "pt-BR" : "Austrália", "ru" : "Австралия", "zh-CN" : "澳大利亚" } }, "location" : { "accuracy_radius" : 20, "latitude" : -37.8159, "longitude" : 144.9669, "time_zone" : "Australia/Melbourne" }, "postal" : { "code" : "3000" }, "registered_country" : { "geoname_id" : 2077456, "iso_code" : "AU", "names" : { "de" : "Australien", "en" : "Australia", "es" : "Australia", "fr" : "Australie", "ja" : "オーストラリア", "pt-BR" : "Austrália", "ru" : "Австралия", "zh-CN" : "澳大利亚" } }, "subdivisions" : [ { "geoname_id" : 2145234, "iso_code" : "VIC", "names" : { "en" : "Victoria", "pt-BR" : "Vitória", "ru" : "Виктория" } } ] } }, { "2001:230::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:238::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "location" : { "accuracy_radius" : 100, "latitude" : 24, "longitude" : 121, "time_zone" : "Asia/Taipei" }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:240::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:250::/31" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35, "longitude" : 105 }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:252::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35, "longitude" : 105 }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:254::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35, "longitude" : 105 }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:256::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35, "longitude" : 105 }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:258::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:260::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:268::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:270::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:278::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:280::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:288::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "location" : { "accuracy_radius" : 100, "latitude" : 24, "longitude" : 121, "time_zone" : "Asia/Taipei" }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:290::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:298::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2b0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2b8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2c0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2c8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2d8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2e0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } }, "location" : { "accuracy_radius" : 100, "latitude" : 22.25, "longitude" : 114.16667, "time_zone" : "Asia/Hong_Kong" }, "registered_country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } } } }, { "2001:2e8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2a02:cf40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:cf80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "location" : { "accuracy_radius" : 100, "latitude" : 31.5, "longitude" : 34.75, "time_zone" : "Asia/Jerusalem" }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:cfc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.00016, "longitude" : 8.01427, "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "location" : { "accuracy_radius" : 100, "latitude" : 26, "longitude" : 50.5, "time_zone" : "Asia/Bahrain" }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:d0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:d140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:d200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 64, "longitude" : 26, "time_zone" : "Europe/Helsinki" }, "registered_country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 53, "longitude" : 28, "time_zone" : "Europe/Minsk" }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:d280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49.75, "longitude" : 15, "time_zone" : "Europe/Prague" }, "registered_country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:d2c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49, "longitude" : 32 }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:d340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d380::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47, "longitude" : 20, "time_zone" : "Europe/Budapest" }, "registered_country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:d440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d4c0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 64, "longitude" : 26, "time_zone" : "Europe/Helsinki" }, "registered_country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d4e0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "location" : { "accuracy_radius" : 100, "latitude" : 48.69096, "longitude" : 9.14062, "time_zone" : "Europe/Vaduz" } } }, { "2a02:d540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "location" : { "accuracy_radius" : 100, "latitude" : 40, "longitude" : -4 }, "registered_country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:d600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d680::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d6a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 732800, "is_in_european_union" : true, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 43, "longitude" : 25, "time_zone" : "Europe/Sofia" }, "registered_country" : { "geoname_id" : 732800, "is_in_european_union" : true, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } } } }, { "2a02:d700::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.00016, "longitude" : 8.01427, "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 25, "time_zone" : "Europe/Bucharest" }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:d840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2802361, "is_in_european_union" : true, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } }, "location" : { "accuracy_radius" : 100, "latitude" : 50.83333, "longitude" : 4, "time_zone" : "Europe/Brussels" }, "registered_country" : { "geoname_id" : 2802361, "is_in_european_union" : true, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } } } }, { "2a02:d980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:d9c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:da00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:da40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:da80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.33333, "longitude" : 13.33333, "time_zone" : "Europe/Vienna" }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:dac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:db00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:db40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 25, "time_zone" : "Europe/Bucharest" }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:db80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:dc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49, "longitude" : 32 }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:dd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 41, "longitude" : 20, "time_zone" : "Europe/Tirane" }, "registered_country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } } } }, { "2a02:dd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ddc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "location" : { "accuracy_radius" : 100, "latitude" : 31.5, "longitude" : 34.75, "time_zone" : "Asia/Jerusalem" }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:de80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dec0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "location" : { "accuracy_radius" : 100, "latitude" : 33.83333, "longitude" : 35.83333, "time_zone" : "Asia/Beirut" }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:df00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:df40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:df80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dfc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:e000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } }, "location" : { "accuracy_radius" : 100, "latitude" : 29.5, "longitude" : 47.75, "time_zone" : "Asia/Kuwait" }, "registered_country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } } } }, { "2a02:e0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.00016, "longitude" : 8.01427, "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:e100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e200::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.33333, "longitude" : 13.33333, "time_zone" : "Europe/Vienna" }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:e220::/30" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 25, "longitude" : 45, "time_zone" : "Asia/Riyadh" }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:e240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 53, "longitude" : 28, "time_zone" : "Europe/Minsk" }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:e340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:e440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 44.81892, "longitude" : 20.45998, "time_zone" : "Europe/Belgrade" }, "registered_country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } } } }, { "2a02:e580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e600::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e620::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e680::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "location" : { "accuracy_radius" : 100, "latitude" : 31, "longitude" : 36, "time_zone" : "Asia/Amman" }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:e6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e700::/29" : { "continent" : { "code" : "AF", "geoname_id" : 6255146, "names" : { "de" : "Afrika", "en" : "Africa", "es" : "África", "fr" : "Afrique", "ja" : "アフリカ", "pt-BR" : "África", "ru" : "Африка", "zh-CN" : "非洲" } }, "country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 28, "longitude" : 17, "time_zone" : "Africa/Tripoli" }, "registered_country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } } } }, { "2a02:e740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:e7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2963597, "is_in_european_union" : true, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 53, "longitude" : -8, "time_zone" : "Europe/Dublin" }, "registered_country" : { "geoname_id" : 2963597, "is_in_european_union" : true, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } } } }, { "2a02:e940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 25, "time_zone" : "Europe/Bucharest" }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:e980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "location" : { "accuracy_radius" : 100, "latitude" : 31.5, "longitude" : 34.75, "time_zone" : "Asia/Jerusalem" }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:e9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ea00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.00016, "longitude" : 8.01427, "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:ea40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ea80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:eb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:eb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ebc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ec80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "location" : { "accuracy_radius" : 100, "latitude" : 48.69096, "longitude" : 9.14062, "time_zone" : "Europe/Vaduz" } } }, { "2a02:ecc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } }, "location" : { "accuracy_radius" : 100, "latitude" : 40.5, "longitude" : 47.5, "time_zone" : "Asia/Baku" }, "registered_country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } } } }, { "2a02:ed00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:ed40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:ed80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:edc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 25, "longitude" : 45, "time_zone" : "Asia/Riyadh" }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:ee00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49, "longitude" : 32 }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:ee40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ee80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:eec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ef00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:efc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49.75, "longitude" : 15, "time_zone" : "Europe/Prague" }, "registered_country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:f040::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "location" : { "accuracy_radius" : 100, "latitude" : 26, "longitude" : 50.5, "time_zone" : "Asia/Bahrain" }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:f080::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49, "longitude" : 32 }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f0a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f0c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "location" : { "accuracy_radius" : 100, "latitude" : 31, "longitude" : 36, "time_zone" : "Asia/Amman" }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:f100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49, "longitude" : 32 }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f240::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f400::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 24, "longitude" : 54, "time_zone" : "Asia/Dubai" }, "registered_country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } } } }, { "2a02:f440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "location" : { "accuracy_radius" : 100, "latitude" : 40, "longitude" : -4 }, "registered_country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:f500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f540::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f560::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f580::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 40, "longitude" : 45, "time_zone" : "Asia/Yerevan" }, "registered_country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } } } }, { "2a02:f5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f680::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f700::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "location" : { "accuracy_radius" : 100, "latitude" : 33.83333, "longitude" : 35.83333, "time_zone" : "Asia/Beirut" }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:f740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f780::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:f7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f900::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47, "longitude" : 20, "time_zone" : "Europe/Budapest" }, "registered_country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:f980::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fa00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 25, "longitude" : 45, "time_zone" : "Asia/Riyadh" }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:fa40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:fa80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:fc40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "location" : { "accuracy_radius" : 100, "latitude" : 56, "longitude" : 10, "time_zone" : "Europe/Copenhagen" }, "registered_country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:fcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "location" : { "accuracy_radius" : 100, "latitude" : 56, "longitude" : 10, "time_zone" : "Europe/Copenhagen" }, "registered_country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fdc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.33333, "longitude" : 13.33333, "time_zone" : "Europe/Vienna" }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:fe00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:fe40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fe80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ff00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:ff40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.25, "longitude" : -4.5, "time_zone" : "Europe/Isle_of_Man" }, "registered_country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } } } }, { "2a02:ff80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:ffc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } }, "location" : { "accuracy_radius" : 100, "latitude" : 36.13333, "longitude" : -5.35, "time_zone" : "Europe/Gibraltar" }, "registered_country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } } } }, { "::2.2.3.0/120" : { "city" : { "geoname_id" : 2655045, "names" : { "en" : "Boxford" } } } }, { "::2.3.3.0/120" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } } } }, { "::2.125.160.216/125" : { "city" : { "geoname_id" : 2655045, "names" : { "en" : "Boxford" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.75, "longitude" : -1.25, "time_zone" : "Europe/London" }, "postal" : { "code" : "OX1" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } }, { "geoname_id" : 3333217, "iso_code" : "WBK", "names" : { "en" : "West Berkshire", "ru" : "Западный Беркшир", "zh-CN" : "西伯克郡" } } ] } }, { "::81.2.69.142/127" : { "city" : { "geoname_id" : 2643743, "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 10, "latitude" : 51.5142, "longitude" : -0.0931, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "::81.2.69.144/124" : { "city" : { "geoname_id" : 2643743, "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 3, "latitude" : 51.5142, "longitude" : -0.0931, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "::81.2.69.160/123" : { "city" : { "geoname_id" : 2643743, "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5142, "longitude" : -0.0931, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "::81.2.69.192/124" : { "city" : { "geoname_id" : 2643743, "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5142, "longitude" : -0.0931, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "::149.101.100.0/124" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 1000, "latitude" : 37.751, "longitude" : -97.822, "time_zone" : "America/Chicago" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "::216.160.83.56/125" : { "city" : { "geoname_id" : 5803556, "names" : { "en" : "Milton", "ru" : "Мильтон" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 22, "latitude" : 47.2513, "longitude" : -122.3149, "metro_code" : 819, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "98354" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "subdivisions" : [ { "geoname_id" : 5815135, "iso_code" : "WA", "names" : { "en" : "Washington", "es" : "Washington", "fr" : "État de Washington", "ja" : "ワシントン州", "ru" : "Вашингтон", "zh-CN" : "华盛顿州" } } ] } }, { "::89.160.20.112/124" : { "city" : { "geoname_id" : 2694762, "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : 58.4167, "longitude" : 15.6167, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ] } }, { "::89.160.20.128/121" : { "city" : { "geoname_id" : 2694762, "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : 58.4167, "longitude" : 15.6167, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ] } }, { "::67.43.156.0/120" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1252634, "iso_code" : "BT", "names" : { "de" : "Bhutan", "en" : "Bhutan", "es" : "Bután", "fr" : "Bhutan", "ja" : "ブータン王国", "pt-BR" : "Butão", "ru" : "Бутан", "zh-CN" : "不丹" } }, "location" : { "accuracy_radius" : 534, "latitude" : 27.5, "longitude" : 90.5, "time_zone" : "Asia/Thimphu" }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "is_anonymous_proxy" : true } } }, { "::202.196.224.0/116" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "location" : { "accuracy_radius" : 121, "latitude" : 13, "longitude" : 122, "time_zone" : "Asia/Manila" }, "postal" : { "code" : "34021" }, "registered_country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "represented_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" }, "type" : "military" } } }, { "::175.16.199.0/120" : { "city" : { "geoname_id" : 2038180, "names" : { "de" : "Chángchūn", "en" : "Changchun", "fr" : "Changchun", "ja" : "長春市", "ru" : "Чанчунь", "zh-CN" : "长春" } }, "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 43.88, "longitude" : 125.3228, "time_zone" : "Asia/Harbin" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "subdivisions" : [ { "geoname_id" : 2036500, "iso_code" : "22", "names" : { "en" : "Jilin Sheng", "zh-CN" : "吉林" } } ] } }, { "214.78.120.0/22" : { "city" : { "geoname_id" : 5391811, "names" : { "de" : "San Diego", "en" : "San Diego", "es" : "San Diego", "fr" : "San Diego", "ja" : "サンディエゴ", "pt-BR" : "San Diego", "ru" : "Сан-Диего" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32.7405, "longitude" : -117.0935, "metro_code" : 825, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "92105" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加州" } } ] } }, { "2001:480:10::/48" : { "city" : { "geoname_id" : 5391811, "names" : { "de" : "San Diego", "en" : "San Diego", "es" : "San Diego", "fr" : "San Diego", "ja" : "サンディエゴ", "pt-BR" : "San Diego", "ru" : "Сан-Диего" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 20, "latitude" : 32.7203, "longitude" : -117.1552, "metro_code" : 825, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "92101" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加州" } } ] } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-Connection-Type-Test.json000066400000000000000000000042421450470006300271360ustar00rootroot00000000000000[ { "::1.0.0.0/120" : { "connection_type" : "Cable/DSL" } }, { "::1.0.1.0/120" : { "connection_type" : "Cellular" } }, { "::1.0.2.0/119" : { "connection_type" : "Cable/DSL" } }, { "::1.0.4.0/118" : { "connection_type" : "Cable/DSL" } }, { "::1.0.8.0/117" : { "connection_type" : "Cable/DSL" } }, { "::1.0.16.0/116" : { "connection_type" : "Cable/DSL" } }, { "::1.0.32.0/115" : { "connection_type" : "Cable/DSL" } }, { "::1.0.64.0/114" : { "connection_type" : "Cable/DSL" } }, { "::1.0.128.0/113" : { "connection_type" : "Cable/DSL" } }, { "::2.125.160.216/125" : { "connection_type" : "Cable/DSL" } }, { "::149.101.100.0/124" : { "connection_type" : "Cellular" } }, { "::67.43.156.0/120" : { "connection_type" : "Cellular" } }, { "::80.214.0.0/116" : { "connection_type" : "Cellular" } }, { "::96.1.0.0/112" : { "connection_type" : "Cable/DSL" } }, { "::96.10.0.0/111" : { "connection_type" : "Cable/DSL" } }, { "::96.69.0.0/112" : { "connection_type" : "Cable/DSL" } }, { "::96.94.0.0/111" : { "connection_type" : "Cable/DSL" } }, { "::108.96.0.0/107" : { "connection_type" : "Cellular" } }, { "::175.16.199.0/120" : { "connection_type" : "Cable/DSL" } }, { "::187.156.138.0/120" : { "connection_type" : "Cable/DSL" } }, { "::201.243.200.0/120" : { "connection_type" : "Corporate" } }, { "::207.179.48.0/116" : { "connection_type" : "Cellular" } }, { "::214.78.120.0/118" : { "connection_type" : "Satellite" } }, { "::216.160.83.56/125" : { "connection_type" : "Corporate" } }, { "2003::/24" : { "connection_type" : "Cable/DSL" } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-Country-Test.json000066400000000000000000016413101450470006300255670ustar00rootroot00000000000000[ { "2001:218::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:220::1/128" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::2/127" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::4/126" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::8/125" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::10/124" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::20/123" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::40/122" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::80/121" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::100/120" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::200/119" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::400/118" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::800/117" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::1000/116" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::2000/115" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::4000/114" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::8000/113" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::1:0/112" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::2:0/111" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::4:0/110" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::8:0/109" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::10:0/108" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::20:0/107" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::40:0/106" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::80:0/105" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::100:0/104" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::200:0/103" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::400:0/102" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::800:0/101" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::1000:0/100" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::2000:0/99" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::4000:0/98" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::8000:0/97" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::1:0:0/96" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::2:0:0/95" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::4:0:0/94" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::8:0:0/93" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::10:0:0/92" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::20:0:0/91" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::40:0:0/90" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::80:0:0/89" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::100:0:0/88" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::200:0:0/87" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::400:0:0/86" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::800:0:0/85" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::1000:0:0/84" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::2000:0:0/83" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::4000:0:0/82" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::8000:0:0/81" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:1::/80" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:2::/79" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:4::/78" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:8::/77" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:10::/76" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:20::/75" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:40::/74" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:80::/73" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:100::/72" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:200::/71" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:400::/70" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:800::/69" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:1000::/68" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:2000::/67" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:4000::/66" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:0:8000::/65" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:1::/64" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:2::/63" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:4::/62" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:8::/61" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:10::/60" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:20::/59" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:40::/58" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:80::/57" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:100::/56" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:200::/55" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:400::/54" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:800::/53" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:1000::/52" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:2000::/51" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:4000::/50" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:0:8000::/49" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:1::/48" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:2::/47" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:4::/46" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:8::/45" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:10::/44" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:20::/43" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:40::/42" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:80::/41" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:100::/40" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:200::/39" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:400::/38" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:800::/37" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:1000::/36" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:2000::/35" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:4000::/34" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220:8000::/33" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:220::/128" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2001:230::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:238::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:240::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:250::/31" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:252::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:254::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:256::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:258::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:260::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:268::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:270::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:278::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:280::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:288::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:290::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:298::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2b0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2b8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2c0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2c8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2d8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2e0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } }, "registered_country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } } } }, { "2001:2e8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2a02:cf40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:cf80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:cfc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:d0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:d140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:d200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "registered_country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:d280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "registered_country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:d2c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:d340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d380::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "registered_country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:d440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d4c0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "registered_country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d4e0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } } } }, { "2a02:d540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "registered_country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:d600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d680::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d6a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 732800, "is_in_european_union" : true, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } }, "registered_country" : { "geoname_id" : 732800, "is_in_european_union" : true, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } } } }, { "2a02:d700::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:d840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2802361, "is_in_european_union" : true, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } }, "registered_country" : { "geoname_id" : 2802361, "is_in_european_union" : true, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } } } }, { "2a02:d980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:d9c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:da00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:da40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:da80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:dac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:db00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:db40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:db80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:dc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:dd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } }, "registered_country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } } } }, { "2a02:dd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ddc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:de80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dec0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:df00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:df40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:df80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dfc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:e000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } }, "registered_country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } } } }, { "2a02:e0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:e100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e200::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:e220::/30" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:e240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:e340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:e440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } }, "registered_country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } } } }, { "2a02:e580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e600::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e620::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e680::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:e6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e700::/29" : { "continent" : { "code" : "AF", "geoname_id" : 6255146, "names" : { "de" : "Afrika", "en" : "Africa", "es" : "África", "fr" : "Afrique", "ja" : "アフリカ", "pt-BR" : "África", "ru" : "Африка", "zh-CN" : "非洲" } }, "country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } }, "registered_country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } } } }, { "2a02:e740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:e7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2963597, "is_in_european_union" : true, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } }, "registered_country" : { "geoname_id" : 2963597, "is_in_european_union" : true, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } } } }, { "2a02:e940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:e980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:e9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ea00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:ea40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ea80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:eb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:eb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ebc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ec80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } } } }, { "2a02:ecc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } }, "registered_country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } } } }, { "2a02:ed00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:ed40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:ed80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:edc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:ee00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:ee40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ee80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:eec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ef00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:efc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "registered_country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:f040::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:f080::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f0a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f0c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:f100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f240::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f400::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } }, "registered_country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } } } }, { "2a02:f440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "registered_country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:f500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f540::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f560::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f580::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } }, "registered_country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } } } }, { "2a02:f5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f680::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f700::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:f740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f780::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:f7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f900::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "registered_country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:f980::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fa00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:fa40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:fa80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:fc40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "registered_country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:fcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "registered_country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fdc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:fe00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:fe40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fe80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ff00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:ff40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } }, "registered_country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } } } }, { "2a02:ff80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:ffc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } }, "registered_country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } } } }, { "::2.125.160.216/125" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "::149.101.100.0/124" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "::74.209.24.0/116" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "traits" : { "is_anonymous_proxy" : true, "is_satellite_provider" : true } } }, { "::75.209.24.0/128" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "traits" : { "is_anonymous_proxy" : true, "is_satellite_provider" : true } } }, { "::81.2.69.142/127" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "::81.2.69.144/124" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "::81.2.69.160/123" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "::81.2.69.192/124" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "::216.160.83.56/125" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "::89.160.20.112/124" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "::89.160.20.128/121" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "::67.43.156.0/120" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1252634, "iso_code" : "BT", "names" : { "de" : "Bhutan", "en" : "Bhutan", "es" : "Bután", "fr" : "Bhutan", "ja" : "ブータン王国", "pt-BR" : "Butão", "ru" : "Бутан", "zh-CN" : "不丹" } }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "is_anonymous_proxy" : true } } }, { "::202.196.224.0/116" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "registered_country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "represented_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" }, "type" : "military" } } }, { "::111.235.160.0/118" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "::175.16.199.0/120" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "::212.47.235.81/128" : { "traits" : { "is_anonymous_proxy" : true } } }, { "::212.47.235.82/128" : { "traits" : { "is_satellite_provider" : true } } }, { "::217.65.48.0/125" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } }, "registered_country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } } } }, { "::50.114.0.0/118" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "214.78.120.0/22" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } } } }, { "2001:480:10::/48" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } } } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-DensityIncome-Test.json000066400000000000000000000003651450470006300266740ustar00rootroot00000000000000[ { "::5.83.124.0/118" : { "average_income" : 32323, "population_density" : 1232 } }, { "::216.160.83.0/120" : { "average_income" : 24626, "population_density" : 1341 } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-Domain-Test.json000066400000000000000000000166441450470006300253400ustar00rootroot00000000000000[ { "::1.2.0.0/112" : { "domain" : "maxmind.com" } }, { "::71.160.223.0/120" : { "domain" : "verizon.net" } }, { "::186.30.236.0/120" : { "domain" : "replaced.com" } }, { "2a02:2770:3::/64" : { "domain" : "sgotti.org" } }, { "2a02:8420:48f4:b000::/64" : { "domain" : "sfr.net" } }, { "::142.217.194.0/119" : { "domain" : "telebecinternet.net" } }, { "::142.217.196.0/118" : { "domain" : "telebecinternet.net" } }, { "::142.217.200.0/117" : { "domain" : "telebecinternet.net" } }, { "::142.217.208.0/118" : { "domain" : "telebecinternet.net" } }, { "::142.217.212.0/119" : { "domain" : "telebecinternet.net" } }, { "::142.217.214.0/120" : { "domain" : "telebecinternet.net" } }, { "::208.110.201.0/120" : { "domain" : "comcastbusiness.net" } }, { "::208.110.202.0/119" : { "domain" : "comcastbusiness.net" } }, { "::208.110.204.0/118" : { "domain" : "comcastbusiness.net" } }, { "::208.110.208.0/116" : { "domain" : "comcastbusiness.net" } }, { "::214.78.120.0/118" : { "domain" : "starlinkisp.net" } }, { "::222.230.136.0/118" : { "domain" : "gol.ne.jp" } }, { "::65.115.240.0/116" : { "domain" : "qwest.net" } }, { "::65.116.0.0/118" : { "domain" : "qwest.net" } }, { "::65.116.4.0/120" : { "domain" : "qwest.net" } }, { "::65.23.96.0/115" : { "domain" : "nuvox.net" } }, { "::66.92.78.0/119" : { "domain" : "speakeasy.net" } }, { "::66.92.80.0/116" : { "domain" : "speakeasy.net" } }, { "::66.92.96.0/115" : { "domain" : "speakeasy.net" } }, { "::66.92.128.0/113" : { "domain" : "speakeasy.net" } }, { "::66.93.0.0/113" : { "domain" : "speakeasy.net" } }, { "::66.93.128.0/114" : { "domain" : "speakeasy.net" } }, { "::66.93.192.0/115" : { "domain" : "speakeasy.net" } }, { "::66.93.224.0/116" : { "domain" : "speakeasy.net" } }, { "::66.93.240.0/117" : { "domain" : "speakeasy.net" } }, { "::66.93.248.0/119" : { "domain" : "speakeasy.net" } }, { "::67.43.156.0/120" : { "domain" : "shoesfin.NET" } }, { "::69.218.198.0/119" : { "domain" : "ameritech.net" } }, { "::69.218.200.0/117" : { "domain" : "ameritech.net" } }, { "::69.218.208.0/116" : { "domain" : "ameritech.net" } }, { "::69.218.224.0/115" : { "domain" : "ameritech.net" } }, { "::69.219.0.0/114" : { "domain" : "ameritech.net" } }, { "::69.219.64.0/116" : { "domain" : "ameritech.net" } }, { "::69.219.80.0/118" : { "domain" : "ameritech.net" } }, { "::69.219.84.0/120" : { "domain" : "ameritech.net" } }, { "::70.46.0.0/113" : { "domain" : "nuvox.net" } }, { "::70.46.128.0/118" : { "domain" : "nuvox.net" } }, { "::70.46.132.0/120" : { "domain" : "nuvox.net" } }, { "::71.136.2.0/119" : { "domain" : "pacbell.net" } }, { "::71.136.4.0/118" : { "domain" : "pacbell.net" } }, { "::71.136.8.0/117" : { "domain" : "pacbell.net" } }, { "::71.136.16.0/116" : { "domain" : "pacbell.net" } }, { "::71.136.32.0/115" : { "domain" : "pacbell.net" } }, { "::71.136.64.0/114" : { "domain" : "pacbell.net" } }, { "::71.136.128.0/113" : { "domain" : "pacbell.net" } }, { "::71.137.0.0/112" : { "domain" : "pacbell.net" } }, { "::71.138.0.0/113" : { "domain" : "pacbell.net" } }, { "::71.138.128.0/114" : { "domain" : "pacbell.net" } }, { "::71.138.192.0/116" : { "domain" : "pacbell.net" } }, { "::71.138.208.0/119" : { "domain" : "pacbell.net" } }, { "::74.0.88.0/117" : { "domain" : "covad.net" } }, { "::74.0.96.0/115" : { "domain" : "covad.net" } }, { "::74.0.128.0/113" : { "domain" : "covad.net" } }, { "::74.1.0.0/112" : { "domain" : "covad.net" } }, { "::74.2.0.0/113" : { "domain" : "covad.net" } }, { "::74.2.128.0/115" : { "domain" : "covad.net" } }, { "::74.2.160.0/117" : { "domain" : "covad.net" } }, { "::74.2.168.0/118" : { "domain" : "covad.net" } }, { "::74.2.172.0/119" : { "domain" : "covad.net" } }, { "::74.2.174.0/120" : { "domain" : "covad.net" } }, { "::75.77.84.0/118" : { "domain" : "nuvox.net" } }, { "::75.77.88.0/117" : { "domain" : "nuvox.net" } }, { "::75.77.96.0/115" : { "domain" : "nuvox.net" } }, { "::75.77.128.0/113" : { "domain" : "nuvox.net" } }, { "::78.26.67.0/120" : { "domain" : "popwifi.it" } }, { "::78.26.68.0/118" : { "domain" : "popwifi.it" } }, { "::78.26.72.0/117" : { "domain" : "popwifi.it" } }, { "::78.26.80.0/116" : { "domain" : "popwifi.it" } }, { "::78.26.96.0/117" : { "domain" : "popwifi.it" } }, { "::78.26.104.0/118" : { "domain" : "popwifi.it" } }, { "::78.26.108.0/119" : { "domain" : "popwifi.it" } }, { "::78.26.110.0/120" : { "domain" : "popwifi.it" } }, { "::81.2.64.0/115" : { "domain" : "in-addr.arpa" } }, { "::83.206.0.0/112" : { "domain" : "oleane.fr" } }, { "::89.160.0.0/116" : { "domain" : "bredband2.com" } }, { "::89.160.16.0/117" : { "domain" : "bredband2.com" } }, { "::89.160.24.0/118" : { "domain" : "bredband2.com" } }, { "::89.160.28.0/119" : { "domain" : "bredband2.com" } }, { "::89.160.30.0/120" : { "domain" : "bredband2.com" } }, { "::89.92.0.0/111" : { "domain" : "bbox.fr" } }, { "::89.94.0.0/112" : { "domain" : "bbox.fr" } }, { "::89.95.0.0/113" : { "domain" : "bbox.fr" } }, { "::89.95.128.0/114" : { "domain" : "bbox.fr" } }, { "::89.95.192.0/115" : { "domain" : "bbox.fr" } }, { "::89.95.224.0/116" : { "domain" : "bbox.fr" } }, { "::89.95.240.0/119" : { "domain" : "bbox.fr" } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-Enterprise-Test.json000066400000000000000000001002361450470006300262400ustar00rootroot00000000000000[ { "::2.125.160.216/125" : { "city" : { "confidence" : 50, "geoname_id" : 2655045, "names" : { "en" : "Boxford" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 95, "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.75, "longitude" : -1.25, "time_zone" : "Europe/London" }, "postal" : { "code" : "OX1", "confidence" : 20 }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } }, { "geoname_id" : 3333217, "iso_code" : "WBK", "names" : { "en" : "West Berkshire", "ru" : "Западный Беркшир", "zh-CN" : "西伯克郡" } } ], "traits" : { "static_ip_score" : 0.27 } } }, { "::67.43.156.0/120" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 99, "geoname_id" : 1252634, "iso_code" : "BT", "names" : { "de" : "Bhutan", "en" : "Bhutan", "es" : "Bután", "fr" : "Bhutan", "ja" : "ブータン王国", "pt-BR" : "Butão", "ru" : "Бутан", "zh-CN" : "不丹" } }, "location" : { "accuracy_radius" : 534, "latitude" : 27.5, "longitude" : 90.5, "time_zone" : "Asia/Thimphu" }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "autonomous_system_number" : 35908, "domain" : "shoesfin.NET", "is_anonymous_proxy" : true, "isp" : "Loud Packet", "organization" : "zudoarichikito_", "static_ip_score" : 0.34, "user_type" : "search_engine_spider" } } }, { "::74.209.24.0/116" : { "city" : { "confidence" : 11, "geoname_id" : 5112335, "names" : { "en" : "Chatham" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 27, "latitude" : 42.3478, "longitude" : -73.5549, "metro_code" : 532, "time_zone" : "America/New_York" }, "postal" : { "code" : "12037", "confidence" : 11 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 93, "geoname_id" : 5128638, "iso_code" : "NY", "names" : { "de" : "New York", "en" : "New York", "es" : "Nueva York", "fr" : "New York", "ja" : "ニューヨーク州", "pt-BR" : "Nova Iorque", "ru" : "Нью-Йорк", "zh-CN" : "纽约州" } } ], "traits" : { "autonomous_system_number" : 14671, "autonomous_system_organization" : "FairPoint Communications", "connection_type" : "Cable/DSL", "domain" : "frpt.net", "is_anonymous_proxy" : true, "is_legitimate_proxy" : true, "is_satellite_provider" : true, "isp" : "Fairpoint Communications", "organization" : "Fairpoint Communications", "static_ip_score" : 0.34, "user_type" : "residential" } } }, { "::81.2.69.160/123" : { "city" : { "confidence" : 42, "geoname_id" : 2643743, "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 99, "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5142, "longitude" : -0.0931, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 42, "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ], "traits" : { "connection_type" : "Corporate", "domain" : "in-addr.arpa", "isp" : "Andrews & Arnold Ltd", "organization" : "STONEHOUSE office network", "static_ip_score" : 0.34, "user_type" : "government" } } }, { "::89.160.20.112/124" : { "city" : { "confidence" : 51, "geoname_id" : 2694762, "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 99, "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : 58.4167, "longitude" : 15.6167, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "confidence" : 51, "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ], "traits" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB", "connection_type" : "Corporate", "domain" : "bredband2.com", "isp" : "Bredband2 AB", "organization" : "Bevtec", "static_ip_score" : 0.34, "user_type" : "government" } } }, { "::149.101.100.0/124" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 1000, "latitude" : 37.751, "longitude" : -97.822, "time_zone" : "America/Chicago" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "traits" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "CELLCO-PART", "isp" : "Verizon Wireless", "mobile_country_code" : "310", "mobile_network_code" : "004", "organization" : "Verizon Wireless" } } }, { "::175.16.199.0/120" : { "city" : { "confidence" : 50, "geoname_id" : 2038180, "names" : { "de" : "Chángchūn", "en" : "Changchun", "fr" : "Changchun", "ja" : "長春市", "ru" : "Чанчунь", "zh-CN" : "长春" } }, "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 43.88, "longitude" : 125.3228, "time_zone" : "Asia/Harbin" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 2036500, "iso_code" : "22", "names" : { "en" : "Jilin Sheng", "zh-CN" : "吉林" } } ], "traits" : { "static_ip_score" : 0.63, "user_type" : "residential" } } }, { "::202.196.224.0/116" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "location" : { "accuracy_radius" : 121, "latitude" : 13, "longitude" : 122, "time_zone" : "Asia/Manila" }, "postal" : { "code" : "34021", "confidence" : 20 }, "registered_country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "represented_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" }, "type" : "military" }, "traits" : { "static_ip_score" : 1.29 } } }, { "::216.160.83.56/125" : { "city" : { "confidence" : 40, "geoname_id" : 5803556, "names" : { "en" : "Milton", "ru" : "Мильтон" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 22, "latitude" : 47.2513, "longitude" : -122.3149, "metro_code" : 819, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "98354", "confidence" : 40 }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "subdivisions" : [ { "confidence" : 99, "geoname_id" : 5815135, "iso_code" : "WA", "names" : { "en" : "Washington", "es" : "Washington", "fr" : "État de Washington", "ja" : "ワシントン州", "ru" : "Вашингтон", "zh-CN" : "华盛顿州" } } ], "traits" : { "autonomous_system_number" : 209, "connection_type" : "Cable/DSL", "isp" : "Century Link", "organization" : "Lariat Software", "static_ip_score" : 1.47, "user_type" : "government" } } }, { "2001:480::/64" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "214.78.0.0/23" : { "city" : { "confidence" : 99, "geoname_id" : 5391811, "names" : { "de" : "San Diego", "en" : "San Diego", "es" : "San Diego", "fr" : "San Diego", "ja" : "サンディエゴ", "pt-BR" : "San Diego", "ru" : "Сан-Диего" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 10, "latitude" : 32.7449, "longitude" : -117.165, "metro_code" : 825, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "92103", "confidence" : 90 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 99, "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加州" } } ], "traits" : { "autonomous_system_number" : 5972, "autonomous_system_organization" : "DNIC-ASBLK-05800-06055", "connection_type" : "Cable/DSL", "domain" : "health.mil", "isp" : "US Air Force", "organization" : "US Department of Defense", "user_type" : "military" } } }, { "214.78.120.0/22" : { "city" : { "geoname_id" : 5391811, "names" : { "de" : "San Diego", "en" : "San Diego", "es" : "San Diego", "fr" : "San Diego", "ja" : "サンディエゴ", "pt-BR" : "San Diego", "ru" : "Сан-Диего" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32.7405, "longitude" : -117.0935, "metro_code" : 825, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "92105" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加州" } } ], "traits" : { "autonomous_system_number" : 14593, "autonomous_system_organization" : "SPACEX-STARLINK", "connection_type" : "Satellite", "domain" : "starlinkisp.net", "isp" : "Starlink", "organization" : "Starlink", "user_type" : "residential" } } }, { "2001:480:10::/49" : { "city" : { "confidence" : 40, "geoname_id" : 5391811, "names" : { "de" : "San Diego", "en" : "San Diego", "es" : "San Diego", "fr" : "San Diego", "ja" : "サンディエゴ", "pt-BR" : "San Diego", "ru" : "Сан-Диего" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 20, "latitude" : 32.7203, "longitude" : -117.1552, "metro_code" : 825, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "92101", "confidence" : 1 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加州" } } ], "traits" : { "autonomous_system_number" : 22, "autonomous_system_organization" : "DNIC-AS-00022", "connection_type" : "Cable/DSL", "domain" : "navy.mil", "isp" : "US Department of Defense", "organization" : "DNIC", "user_type" : "military" } } }, { "::212.47.235.81/128" : { "traits" : { "is_anonymous_proxy" : true, "static_ip_score" : 1.47 } } }, { "::212.47.235.82/128" : { "traits" : { "is_satellite_provider" : true, "static_ip_score" : 1.47 } } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-ISP-Test.json000066400000000000000000011236631450470006300245650ustar00rootroot00000000000000[ { "::1.0.128.0/113" : { "isp" : "TOT Public Company Limited", "organization" : "TOT Public Company Limited" } }, { "::1.128.0.0/107" : { "autonomous_system_number" : 1221, "autonomous_system_organization" : "Telstra Pty Ltd", "isp" : "Telstra Internet", "organization" : "Telstra Internet" } }, { "::4.0.0.0/104" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::5.83.124.0/118" : { "isp" : "WifiNetCom" } }, { "::5.145.96.0/117" : { "isp" : "Finecom" } }, { "::8.0.0.0/107" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.32.0.0/112" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.0.0/116" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.16.0/119" : { "isp" : "Level 3 Communications", "organization" : "Co-Mo Connect" } }, { "::8.33.18.0/119" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.20.0/118" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.24.0/117" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.32.0/115" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.64.0/114" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.33.128.0/113" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.34.0.0/111" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.36.0.0/110" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.40.0.0/109" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.48.0.0/108" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.64.0.0/106" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::8.128.0.0/105" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::12.0.0.0/106" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.64.0.0/108" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.80.0.0/112" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.0.0/114" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.64.0/116" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.80.0/117" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.88.0/118" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.92.0/118" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.96.0/115" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.81.128.0/113" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.82.0.0/111" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.84.0.0/111" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.86.0.0/112" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.0.0/114" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.64.0/115" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.96.0/116" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.112.0/118" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.116.0/119" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.118.0/119" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Worldnet Services" } }, { "::12.87.120.0/117" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.87.128.0/113" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.88.0.0/109" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.0.0/116" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.16.0/120" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.17.0/120" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.18.0/119" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.20.0/118" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.24.0/117" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.32.0/115" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.64.0/114" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.96.128.0/113" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.97.0.0/112" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.98.0.0/111" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.100.0.0/110" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.104.0.0/109" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.112.0.0/108" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::12.128.0.0/105" : { "isp" : "AT&T Services", "organization" : "AT&T Services" } }, { "::15.0.0.0/104" : { "autonomous_system_number" : 71, "autonomous_system_organization" : "Hewlett-Packard Company", "isp" : "Hewlett-Packard Company", "organization" : "Hewlett-Packard Company" } }, { "::16.0.0.0/104" : { "autonomous_system_number" : 71, "autonomous_system_organization" : "Hewlett-Packard Company", "isp" : "Hewlett-Packard Company", "organization" : "Hewlett-Packard Company" } }, { "::17.0.0.0/104" : { "isp" : "Apple", "organization" : "Apple" } }, { "::18.0.0.0/104" : { "autonomous_system_number" : 3, "autonomous_system_organization" : "Massachusetts Institute of Technology", "isp" : "Massachusetts Institute of Technology", "organization" : "Massachusetts Institute of Technology" } }, { "::23.32.0.0/107" : { "autonomous_system_number" : 35994, "autonomous_system_organization" : "Akamai Technologies, Inc.", "isp" : "Akamai Technologies", "organization" : "Akamai Technologies" } }, { "::23.32.32.1/128" : { "autonomous_system_number" : 262589, "autonomous_system_organization" : "INTERNEXA Brasil Operadora de Telecomunicações S.A", "isp" : "INTERNEXA Brasil Operadora de Telecomunicações S.A", "organization" : "INTERNEXA Brasil Operadora de Telecomunicações S.A" } }, { "::23.192.0.0/107" : { "autonomous_system_number" : 35994, "autonomous_system_organization" : "Akamai Technologies, Inc.", "isp" : "Akamai Technologies", "organization" : "Akamai Technologies" } }, { "::24.38.243.141/128" : { "organization" : "LAWN MULLEN & GOOD INTERNATIONAL" } }, { "::27.0.16.0/116" : { "isp" : "GLBB" } }, { "::27.192.0.0/107" : { "autonomous_system_number" : 4837, "autonomous_system_organization" : "CNCGROUP China169 Backbone", "isp" : "China Unicom Liaoning", "organization" : "China Unicom Liaoning" } }, { "::31.64.0.0/106" : { "autonomous_system_number" : 12576, "autonomous_system_organization" : "Orange Personal Communications Services" } }, { "::31.224.0.0/107" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::32.0.0.0/106" : { "organization" : "AT&T Wireless" } }, { "::32.64.0.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.2.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.3.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.4.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.6.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.7.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.8.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.9.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.10.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.11.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.12.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.13.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.14.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.16.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.17.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.18.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.20.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.21.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.22.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.24.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.25.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.26.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.27.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.28.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.29.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.30.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.31.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.32.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.34.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.35.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.36.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.37.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.38.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.40.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.41.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.42.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.44.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.46.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.47.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.48.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.49.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.50.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.52.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.56.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.60.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.61.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.62.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.63.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.64.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.66.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.67.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.68.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.72.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.74.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.75.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.76.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.80.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.82.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.84.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.85.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.86.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.88.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.90.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.92.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.96.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.100.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.101.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.102.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.103.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.104.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.106.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.108.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.109.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.110.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.111.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.112.0/117" : { "organization" : "AT&T Wireless" } }, { "::32.64.120.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.124.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.125.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.126.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.127.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.128.0/117" : { "organization" : "AT&T Wireless" } }, { "::32.64.136.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.140.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.141.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.142.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.144.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.145.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.146.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.148.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.149.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.150.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.152.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.154.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.155.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.156.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.157.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.158.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.159.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.160.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.161.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.162.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.164.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.168.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.169.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.170.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.172.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.176.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.180.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.182.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.183.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.184.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.186.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.187.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.188.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.190.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.192.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.196.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.197.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.198.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.200.0/117" : { "organization" : "AT&T Wireless" } }, { "::32.64.208.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.209.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.210.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.211.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.212.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.213.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.214.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.216.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.217.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.218.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.219.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.220.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.221.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.222.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.224.0/118" : { "organization" : "AT&T Wireless" } }, { "::32.64.228.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.230.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.232.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.234.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.235.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.236.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.238.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.239.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.240.0/119" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.242.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.243.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.244.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.245.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.246.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.247.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.248.0/120" : { "organization" : "AT&T Wireless" } }, { "::32.64.249.0/120" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.64.250.0/119" : { "organization" : "AT&T Wireless" } }, { "::32.64.252.0/118" : { "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::32.65.0.0/112" : { "organization" : "AT&T Wireless" } }, { "::32.66.0.0/111" : { "organization" : "AT&T Wireless" } }, { "::32.68.0.0/110" : { "organization" : "AT&T Wireless" } }, { "::32.72.0.0/109" : { "organization" : "AT&T Wireless" } }, { "::32.80.0.0/108" : { "organization" : "AT&T Wireless" } }, { "::32.96.0.0/107" : { "organization" : "AT&T Wireless" } }, { "::32.128.0.0/105" : { "organization" : "AT&T Wireless" } }, { "::35.0.0.0/105" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc.", "isp" : "Merit Network", "organization" : "Merit Network" } }, { "::35.128.0.0/107" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc.", "isp" : "Merit Network", "organization" : "Merit Network" } }, { "::36.192.0.0/107" : { "autonomous_system_number" : 9394, "autonomous_system_organization" : "China TieTong Telecommunications Corporation", "isp" : "China TieTong", "organization" : "China TieTong" } }, { "::37.43.3.0/120" : { "isp" : "PFA Mihalascu Viorel" } }, { "::37.60.16.0/117" : { "organization" : "Metroset" } }, { "::37.110.0.0/115" : { "organization" : "National Cable Networks" } }, { "::37.110.32.0/117" : { "organization" : "National Cable Networks" } }, { "::37.110.40.0/120" : { "organization" : "National Cable Networks" } }, { "::37.110.41.0/124" : { "organization" : "National Cable Networks" } }, { "::37.110.41.16/125" : { "organization" : "National Cable Networks" } }, { "::37.110.41.24/128" : { "organization" : "Onlime" } }, { "::37.110.41.25/128" : { "organization" : "National Cable Networks" } }, { "::37.110.41.26/127" : { "organization" : "National Cable Networks" } }, { "::37.110.41.28/126" : { "organization" : "National Cable Networks" } }, { "::37.110.41.32/123" : { "organization" : "National Cable Networks" } }, { "::37.110.41.64/122" : { "organization" : "National Cable Networks" } }, { "::37.110.41.128/121" : { "organization" : "National Cable Networks" } }, { "::37.110.42.0/119" : { "organization" : "National Cable Networks" } }, { "::37.110.44.0/118" : { "organization" : "National Cable Networks" } }, { "::37.110.48.0/116" : { "organization" : "National Cable Networks" } }, { "::37.110.64.0/114" : { "organization" : "National Cable Networks" } }, { "::38.0.0.0/106" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.64.0.0/109" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.72.0.0/112" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.0.0/113" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.128.0/119" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.130.0/120" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "SUMO FIBER" } }, { "::38.73.131.0/120" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.132.0/119" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.134.0/119" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "SUMO FIBER" } }, { "::38.73.136.0/117" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.144.0/116" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.160.0/115" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.73.192.0/114" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.74.0.0/111" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.76.0.0/110" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.80.0.0/108" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.96.0.0/109" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.104.0.0/112" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.0.0/122" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.0.64/123" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "GHD" } }, { "::38.105.0.96/123" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.0.128/121" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.1.0/120" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.2.0/119" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.4.0/118" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.8.0/117" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.16.0/116" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.32.0/115" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.64.0/114" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.105.128.0/113" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.106.0.0/111" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.0.0/114" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.64.0/116" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.0/124" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.16/125" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.24/126" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.28/127" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.30/128" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "La Presse" } }, { "::38.108.80.31/128" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.32/123" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.64/122" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.80.128/121" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.81.0/120" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.82.0/119" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.84.0/118" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.88.0/117" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.96.0/115" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.108.128.0/113" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.109.0.0/112" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.0.0/115" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.32.0/116" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.48.0/118" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Athena Broadband" } }, { "::38.110.52.0/118" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.56.0/117" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.64.0/114" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.110.128.0/113" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.111.0.0/112" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.112.0.0/108" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::38.128.0.0/105" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications", "isp" : "Cogent Communications", "organization" : "Cogent Communications" } }, { "::39.32.0.0/107" : { "autonomous_system_number" : 45595, "autonomous_system_organization" : "Pakistan Telecom Company Limited", "isp" : "PTCL", "organization" : "PTCL" } }, { "::39.64.0.0/107" : { "autonomous_system_number" : 4837, "autonomous_system_organization" : "CNCGROUP China169 Backbone", "isp" : "China Unicom Liaoning", "organization" : "China Unicom Liaoning" } }, { "::39.192.0.0/106" : { "autonomous_system_number" : 23693, "autonomous_system_organization" : "PT. Telekomunikasi Selular", "isp" : "Telkomsel", "organization" : "Telkomsel" } }, { "::41.74.98.48/124" : { "organization" : "MapleTel" } }, { "::41.112.0.0/108" : { "isp" : "MTN SA" } }, { "::44.0.0.0/104" : { "autonomous_system_number" : 7377, "autonomous_system_organization" : "University of California at San Diego", "isp" : "University of California at San Diego", "organization" : "University of California at San Diego" } }, { "::47.64.0.0/109" : { "isp" : "Vodafone D2 GmbH" } }, { "::47.72.0.0/128" : { "isp" : "Vodafone New Zealand" } }, { "::49.64.0.0/107" : { "autonomous_system_number" : 4134, "autonomous_system_organization" : "Chinanet", "isp" : "China Telecom", "organization" : "China Telecom" } }, { "::50.73.224.133/128" : { "organization" : "iWiSP llc" } }, { "::50.128.0.0/105" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::53.0.0.0/104" : { "autonomous_system_number" : 31399, "autonomous_system_organization" : "Daimler Autonomous System", "isp" : "Daimler", "organization" : "Daimler" } }, { "::55.0.0.0/104" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "::57.0.0.0/104" : { "autonomous_system_number" : 2647, "autonomous_system_organization" : "SITA", "isp" : "SITA", "organization" : "SITA" } }, { "::59.0.0.0/107" : { "autonomous_system_number" : 4766, "autonomous_system_organization" : "Korea Telecom", "isp" : "Korea Telecom", "organization" : "Korea Telecom" } }, { "::60.64.0.0/106" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp.", "isp" : "Softbank BB Corp", "organization" : "Softbank BB Corp" } }, { "::60.128.0.0/107" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp.", "isp" : "Softbank BB Corp", "organization" : "Softbank BB Corp" } }, { "::62.7.87.0/120" : { "organization" : "Fibrestream Limited" } }, { "::62.51.0.0/112" : { "isp" : "America Online" } }, { "::62.67.0.0/112" : { "isp" : "Level 3 Communications", "organization" : "Level 3 Communications" } }, { "::62.75.0.0/115" : { "isp" : "OTEGLOBE", "organization" : "OTEGLOBE" } }, { "::62.82.202.128/125" : { "isp" : "Urania Telecom" } }, { "::62.91.95.0/120" : { "isp" : "Bisping & Bisping, ISP and Citycarrier", "organization" : "Bisping & Bisping, ISP and Citycarrier" } }, { "::62.91.96.0/119" : { "isp" : "Bisping & Bisping, ISP and Citycarrier", "organization" : "Bisping & Bisping, ISP and Citycarrier" } }, { "::62.91.98.0/120" : { "isp" : "Bisping & Bisping, ISP and Citycarrier", "organization" : "Bisping & Bisping, ISP and Citycarrier" } }, { "::62.107.0.0/112" : { "isp" : "Telia Stofa A/S", "organization" : "Telia Stofa A/S" } }, { "::62.178.0.0/111" : { "isp" : "UPC Austria GmbH", "organization" : "UPC Austria GmbH" } }, { "::62.254.186.96/123" : { "isp" : "East Renfrewshire Council Barrhead Library", "organization" : "East Renfrewshire Council Barrhead Library" } }, { "::63.147.126.103/128" : { "isp" : "SuperDuper Telecommunications Network" } }, { "::64.17.248.0/118" : { "autonomous_system_number" : 33224 } }, { "::64.17.252.0/119" : { "autonomous_system_number" : 33224 } }, { "::64.17.254.0/121" : { "autonomous_system_number" : 33224 } }, { "::64.17.254.128/122" : { "autonomous_system_number" : 33224 } }, { "::64.17.254.192/124" : { "autonomous_system_number" : 33224 } }, { "::64.17.254.208/125" : { "autonomous_system_number" : 33224 } }, { "::64.17.254.216/125" : { "autonomous_system_number" : 33224, "isp" : "Towerstream I", "organization" : "Karlin Peebles LLP" } }, { "::64.17.254.224/123" : { "autonomous_system_number" : 33224 } }, { "::64.17.255.0/120" : { "autonomous_system_number" : 33224 } }, { "::64.124.194.51/128" : { "organization" : "Kontera" } }, { "::64.143.224.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::64.143.229.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::64.143.246.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::64.213.52.32/123" : { "organization" : "Beyond Next" } }, { "::65.23.96.0/116" : { "autonomous_system_number" : 11456 } }, { "::65.23.112.0/117" : { "autonomous_system_number" : 11456 } }, { "::65.23.120.0/120" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.0/121" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.128/122" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.192/124" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.208/125" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.216/126" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.220/128" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.221/128" : { "autonomous_system_number" : 11456, "isp" : "Nuvox Communications", "organization" : "Endodontic Associates Of Savannah" } }, { "::65.23.121.222/127" : { "autonomous_system_number" : 11456 } }, { "::65.23.121.224/123" : { "autonomous_system_number" : 11456 } }, { "::65.23.122.0/119" : { "autonomous_system_number" : 11456 } }, { "::65.23.124.0/118" : { "autonomous_system_number" : 11456 } }, { "::65.115.241.0/120" : { "autonomous_system_number" : 209 } }, { "::65.115.242.0/119" : { "autonomous_system_number" : 209 } }, { "::65.115.244.0/118" : { "autonomous_system_number" : 209 } }, { "::65.115.248.0/117" : { "autonomous_system_number" : 209 } }, { "::65.116.0.0/119" : { "autonomous_system_number" : 209 } }, { "::65.116.2.0/120" : { "autonomous_system_number" : 209 } }, { "::65.116.3.0/122" : { "autonomous_system_number" : 209 } }, { "::65.116.3.64/124" : { "autonomous_system_number" : 209 } }, { "::65.116.3.80/127" : { "autonomous_system_number" : 209, "isp" : "Century Link", "organization" : "ATMI" } }, { "::65.116.3.82/128" : { "autonomous_system_number" : 209, "isp" : "Century Link", "organization" : "ATMI" } }, { "::65.116.3.83/128" : { "autonomous_system_number" : 209 } }, { "::65.116.3.84/126" : { "autonomous_system_number" : 209 } }, { "::65.116.3.88/125" : { "autonomous_system_number" : 209 } }, { "::65.116.3.96/123" : { "autonomous_system_number" : 209 } }, { "::65.116.3.128/121" : { "autonomous_system_number" : 209 } }, { "::65.116.4.0/118" : { "autonomous_system_number" : 209 } }, { "::65.116.8.0/118" : { "autonomous_system_number" : 209 } }, { "::65.116.12.0/119" : { "autonomous_system_number" : 209 } }, { "::65.128.0.0/107" : { "autonomous_system_number" : 209, "autonomous_system_organization" : "Qwest Communications Company, LLC", "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::65.192.0.0/107" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business", "isp" : "Verizon Business", "organization" : "Verizon Business" } }, { "::66.62.204.0/120" : { "organization" : "Johnson Services, LLC." } }, { "::66.92.0.0/113" : { "autonomous_system_number" : 23504 } }, { "::66.92.128.0/115" : { "autonomous_system_number" : 23504 } }, { "::66.92.160.0/116" : { "autonomous_system_number" : 23504 } }, { "::66.92.176.0/118" : { "autonomous_system_number" : 23504 } }, { "::66.92.180.0/120" : { "autonomous_system_number" : 23504 } }, { "::66.92.181.0/121" : { "autonomous_system_number" : 23504 } }, { "::66.92.181.128/122" : { "autonomous_system_number" : 23504 } }, { "::66.92.181.192/123" : { "autonomous_system_number" : 23504 } }, { "::66.92.181.224/124" : { "autonomous_system_number" : 23504 } }, { "::66.92.181.240/124" : { "autonomous_system_number" : 23504, "isp" : "Speakeasy", "organization" : "Vikco Insurance" } }, { "::66.92.182.0/119" : { "autonomous_system_number" : 23504 } }, { "::66.92.184.0/117" : { "autonomous_system_number" : 23504 } }, { "::66.92.192.0/114" : { "autonomous_system_number" : 23504 } }, { "::66.93.0.0/112" : { "autonomous_system_number" : 23504 } }, { "::66.249.146.128/121" : { "isp" : "Digicel Antigua" } }, { "::66.249.156.136/125" : { "isp" : "Digicel Antigua" } }, { "::67.43.149.0/120" : { "autonomous_system_number" : 35908 } }, { "::67.43.150.0/119" : { "autonomous_system_number" : 35908 } }, { "::67.43.152.0/118" : { "autonomous_system_number" : 35908 } }, { "::67.43.156.0/122" : { "autonomous_system_number" : 35908, "isp" : "Loud Packet", "organization" : "zudoarichikito_" } }, { "::67.43.156.64/122" : { "autonomous_system_number" : 35908, "isp" : "Loud Packet", "organization" : "ania_jab?o?ska" } }, { "::67.43.156.128/122" : { "autonomous_system_number" : 35908, "isp" : "Loud Packet", "organization" : "halle_moore" } }, { "::67.43.156.192/122" : { "autonomous_system_number" : 35908, "isp" : "Loud Packet", "organization" : "park_tai" } }, { "::67.43.157.0/120" : { "autonomous_system_number" : 35908 } }, { "::67.43.158.0/119" : { "autonomous_system_number" : 35908 } }, { "::67.160.0.0/107" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::68.2.0.0/111" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.4.0.0/110" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.9.0.0/112" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.12.0.0/112" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.20.32.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.23.176.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.32.0.0/107" : { "organization" : "Comcast Cable" } }, { "::68.64.64.0/115" : { "isp" : "WCS", "organization" : "WCS" } }, { "::68.65.192.0/114" : { "isp" : "Colostore.com", "organization" : "Colostore.com" } }, { "::68.67.80.0/116" : { "isp" : "Wave Broadband", "organization" : "Wave Broadband" } }, { "::68.72.8.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.73.96.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.75.32.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.78.64.0/116" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.82.0.0/112" : { "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::68.94.48.0/116" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.94.64.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.97.0.0/112" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.102.0.0/111" : { "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::68.136.0.0/110" : { "isp" : "UUNET Technologies", "organization" : "UUNET Technologies" } }, { "::68.144.0.0/109" : { "isp" : "Shaw Communications", "organization" : "Shaw Communications" } }, { "::68.168.80.0/116" : { "isp" : "Dbs International", "organization" : "Dbs International" } }, { "::68.168.96.0/116" : { "isp" : "Codero", "organization" : "Codero" } }, { "::68.171.80.0/116" : { "isp" : "Tri-County Telephone", "organization" : "Tri-County Telephone" } }, { "::68.171.192.0/116" : { "isp" : "Datacenter101", "organization" : "Datacenter101" } }, { "::68.176.0.0/112" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.177.0.0/114" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.177.64.0/117" : { "isp" : "CenturyLink", "organization" : "Cibola Internet Services" } }, { "::68.177.72.0/117" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.177.80.0/116" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.177.96.0/115" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.177.128.0/113" : { "isp" : "CenturyLink", "organization" : "CenturyLink" } }, { "::68.181.0.0/112" : { "isp" : "University of Southern California", "organization" : "University of Southern California" } }, { "::68.182.0.0/112" : { "isp" : "Telus Communications", "organization" : "Telus Communications" } }, { "::68.183.0.0/112" : { "isp" : "DSL Extreme", "organization" : "DSL Extreme" } }, { "::68.232.64.0/115" : { "isp" : "Yak Communications (Canada) Corp", "organization" : "Yak Communications (Canada) Corp" } }, { "::68.232.96.0/116" : { "isp" : "Channel Clarity Holdings, LLC", "organization" : "Channel Clarity Holdings, LLC" } }, { "::68.240.0.0/109" : { "isp" : "Sprint PCS", "organization" : "Sprint PCS" } }, { "::68.253.48.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::68.255.96.0/116" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::69.218.35.0/120" : { "autonomous_system_number" : 7132 } }, { "::69.218.36.0/118" : { "autonomous_system_number" : 7132 } }, { "::69.218.40.0/117" : { "autonomous_system_number" : 7132 } }, { "::69.218.48.0/116" : { "autonomous_system_number" : 7132 } }, { "::69.218.64.0/114" : { "autonomous_system_number" : 7132 } }, { "::69.218.128.0/114" : { "autonomous_system_number" : 7132 } }, { "::69.218.192.0/115" : { "autonomous_system_number" : 7132 } }, { "::69.218.224.0/116" : { "autonomous_system_number" : 7132 } }, { "::69.218.240.0/117" : { "autonomous_system_number" : 7132 } }, { "::69.218.248.0/119" : { "autonomous_system_number" : 7132 } }, { "::69.218.250.0/120" : { "autonomous_system_number" : 7132 } }, { "::69.218.251.0/124" : { "autonomous_system_number" : 7132 } }, { "::69.218.251.16/124" : { "autonomous_system_number" : 7132, "isp" : "AT&T Internet Services", "organization" : "r x optical" } }, { "::69.218.251.32/123" : { "autonomous_system_number" : 7132 } }, { "::69.218.251.64/122" : { "autonomous_system_number" : 7132 } }, { "::69.218.251.128/121" : { "autonomous_system_number" : 7132 } }, { "::69.218.252.0/118" : { "autonomous_system_number" : 7132 } }, { "::69.219.0.0/114" : { "autonomous_system_number" : 7132 } }, { "::69.219.64.0/116" : { "autonomous_system_number" : 7132 } }, { "::69.219.80.0/118" : { "autonomous_system_number" : 7132 } }, { "::69.220.29.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::69.220.30.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::70.46.21.0/120" : { "autonomous_system_number" : 11456 } }, { "::70.46.22.0/119" : { "autonomous_system_number" : 11456 } }, { "::70.46.24.0/117" : { "autonomous_system_number" : 11456 } }, { "::70.46.32.0/115" : { "autonomous_system_number" : 11456 } }, { "::70.46.64.0/115" : { "autonomous_system_number" : 11456 } }, { "::70.46.96.0/116" : { "autonomous_system_number" : 11456 } }, { "::70.46.112.0/117" : { "autonomous_system_number" : 11456 } }, { "::70.46.120.0/119" : { "autonomous_system_number" : 11456 } }, { "::70.46.122.0/120" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.0/121" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.128/124" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.144/128" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.145/128" : { "autonomous_system_number" : 11456, "isp" : "FDN Communications", "organization" : "DSLAM WAN Allocation" } }, { "::70.46.123.146/127" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.148/126" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.152/125" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.160/123" : { "autonomous_system_number" : 11456 } }, { "::70.46.123.192/122" : { "autonomous_system_number" : 11456 } }, { "::70.46.124.0/118" : { "autonomous_system_number" : 11456 } }, { "::70.46.128.0/113" : { "autonomous_system_number" : 11456 } }, { "::70.160.0.0/107" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::70.192.0.0/107" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::70.224.0.0/107" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.96.0.0/107" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business", "isp" : "Verizon Business", "organization" : "Verizon Business" } }, { "::71.128.0.0/110" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.132.0.0/111" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.0.0/114" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.64.0/117" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.72.0/118" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.76.0/119" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.78.0/119" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.80.0/116" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.96.0/115" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.134.128.0/113" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.135.0.0/112" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.136.0.0/111" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.0.0/114" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.64.0/115" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.96.0/117" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.104.0/121" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.104.128/122" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.104.192/123" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.104.224/124" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.104.240/125" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "Leung Yin Lam Dba" } }, { "::71.138.104.248/125" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.105.0/120" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.106.0/119" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.108.0/118" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.112.0/116" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.138.128.0/113" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.139.0.0/112" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.0.0/113" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.128.0/114" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.192.0/118" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.196.0/119" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.198.0/119" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.200.0/117" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.208.0/116" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.140.224.0/115" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.141.0.0/112" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.142.0.0/111" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::71.144.0.0/108" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::72.96.0.0/107" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::72.192.0.0/108" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.208.0.0/110" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.212.0.0/111" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.0.0/118" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.4.0/119" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.0/122" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.64/125" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.72/128" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Loud Packet", "organization" : "Cox Communications" } }, { "::72.214.6.73/128" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.74/127" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.76/126" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.80/124" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.96/123" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.6.128/121" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.7.0/120" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.8.0/117" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.16.0/116" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.32.0/115" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.64.0/114" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.214.128.0/113" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.215.0.0/112" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::72.216.0.0/109" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc.", "isp" : "Cox Communications", "organization" : "Cox Communications" } }, { "::73.0.0.0/104" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::74.0.32.0/115" : { "autonomous_system_number" : 18566 } }, { "::74.0.64.0/114" : { "autonomous_system_number" : 18566 } }, { "::74.0.128.0/117" : { "autonomous_system_number" : 18566 } }, { "::74.0.136.0/120" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.0/121" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.128/122" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.192/127" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.194/128" : { "autonomous_system_number" : 18566, "isp" : "Covad Communications", "organization" : "Covad Communications" } }, { "::74.0.137.195/128" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.196/126" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.200/125" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.208/124" : { "autonomous_system_number" : 18566 } }, { "::74.0.137.224/123" : { "autonomous_system_number" : 18566 } }, { "::74.0.138.0/119" : { "autonomous_system_number" : 18566 } }, { "::74.0.140.0/118" : { "autonomous_system_number" : 18566 } }, { "::74.0.144.0/116" : { "autonomous_system_number" : 18566 } }, { "::74.0.160.0/117" : { "autonomous_system_number" : 18566 } }, { "::74.39.211.192/122" : { "organization" : "WHEC TV" } }, { "::74.160.0.0/107" : { "autonomous_system_number" : 6389, "autonomous_system_organization" : "BellSouth.net Inc.", "isp" : "BellSouth.net", "organization" : "BellSouth.net" } }, { "::74.217.148.71/128" : { "organization" : "INTERNAP" } }, { "::74.224.0.0/107" : { "autonomous_system_number" : 6389, "autonomous_system_organization" : "BellSouth.net Inc.", "isp" : "BellSouth.net", "organization" : "BellSouth.net" } }, { "::75.0.0.0/107" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::75.55.67.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.69.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.79.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.97.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.98.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.102.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.55.110.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.62.54.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.62.59.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.62.61.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.62.63.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::75.77.40.0/117" : { "autonomous_system_number" : 11456 } }, { "::75.77.48.0/116" : { "autonomous_system_number" : 11456 } }, { "::75.77.64.0/114" : { "autonomous_system_number" : 11456 } }, { "::75.77.128.0/114" : { "autonomous_system_number" : 11456 } }, { "::75.77.192.0/116" : { "autonomous_system_number" : 11456 } }, { "::75.77.208.0/119" : { "autonomous_system_number" : 11456 } }, { "::75.77.210.0/120" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.0/121" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.128/122" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.192/124" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.208/126" : { "autonomous_system_number" : 11456, "isp" : "Nuvox Communications", "organization" : "Child Care Assoc. Of Brevard County (pinewood)" } }, { "::75.77.211.212/126" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.216/125" : { "autonomous_system_number" : 11456 } }, { "::75.77.211.224/123" : { "autonomous_system_number" : 11456 } }, { "::75.77.212.0/118" : { "autonomous_system_number" : 11456 } }, { "::75.77.216.0/117" : { "autonomous_system_number" : 11456 } }, { "::75.77.224.0/115" : { "autonomous_system_number" : 11456 } }, { "::75.192.0.0/106" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::76.96.0.0/107" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::76.128.0.0/107" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::76.224.0.0/107" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc.", "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::77.74.230.0/119" : { "organization" : "Cutuknet" } }, { "::77.128.0.0/107" : { "autonomous_system_number" : 15557, "autonomous_system_organization" : "Societe Francaise du Radiotelephone S.A", "isp" : "SFR", "organization" : "SFR" } }, { "::78.26.64.0/118" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.68.0/119" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.70.0/121" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.70.128/122" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.70.192/124" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.70.208/125" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl", "isp" : "ASDASD srl a socio unico", "organization" : "Marino Dalla Gasperina" } }, { "::78.26.70.216/125" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.70.224/123" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.71.0/120" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.72.0/117" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.80.0/116" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.96.0/116" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.112.0/117" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.120.0/118" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.26.124.0/119" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "::78.138.56.64/125" : { "organization" : "Clever Technology and Systems Nigeria" } }, { "::78.192.0.0/106" : { "isp" : "Free SAS", "organization" : "Free SAS" } }, { "::79.101.50.0/120" : { "organization" : "SokoWireless.NET!" } }, { "::79.172.210.0/120" : { "isp" : "SzerverPlex Ltd." } }, { "::79.192.0.0/106" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::80.64.0.0/116" : { "isp" : "TDC Oy Finland", "organization" : "TDC Oy Finland" } }, { "::80.64.192.0/116" : { "isp" : "DataGuard AS", "organization" : "DataGuard AS" } }, { "::80.65.32.0/116" : { "isp" : "WRonline GbR", "organization" : "WRonline GbR" } }, { "::80.66.160.0/116" : { "isp" : "University of Jyvaskyla, Commercial Internet Servi", "organization" : "University of Jyvaskyla, Commercial Internet Servi" } }, { "::80.71.224.0/116" : { "isp" : "Your Voice S.p.A.", "organization" : "Your Voice S.p.A." } }, { "::80.75.224.0/116" : { "isp" : "Teleport Consulting & Systemmanagement GmbH", "organization" : "Teleport Consulting & Systemmanagement GmbH" } }, { "::80.81.192.0/116" : { "isp" : "DE-CIX Management GmbH", "organization" : "DE-CIX Management GmbH" } }, { "::80.128.0.0/107" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::81.2.69.160/125" : { "isp" : "Andrews & Arnold Ltd", "organization" : "STONEHOUSE office network" } }, { "::81.128.0.0/107" : { "autonomous_system_number" : 2856, "autonomous_system_organization" : "BTnet UK Regional network", "isp" : "BT", "organization" : "BT" } }, { "::81.178.22.65/128" : { "organization" : "Caravan Guard Ltd" } }, { "::82.0.0.0/107" : { "isp" : "Virgin Media", "organization" : "Virgin Media" } }, { "::82.99.0.0/116" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.16.0/120" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.17.0/122" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.17.64/123" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.17.96/123" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only", "isp" : "IP-Only Telecommunication Networks AB", "organization" : "Effectiv Solutions" } }, { "::82.99.17.128/121" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.18.0/119" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.20.0/118" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.24.0/117" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.99.32.0/115" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "::82.137.8.0/117" : { "isp" : "RCS & RDS Mobile" } }, { "::82.224.0.0/107" : { "isp" : "Free SAS", "organization" : "Free SAS" } }, { "::83.0.0.0/107" : { "isp" : "Orange Polska Spolka Akcyjna", "organization" : "Orange Polska Spolka Akcyjna" } }, { "::83.100.215.128/121" : { "organization" : "Fibrestream Limited" } }, { "::83.206.10.0/119" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.12.0/118" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.16.0/116" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.32.0/118" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.36.0/121" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.36.128/122" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.36.192/123" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.36.224/125" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange", "isp" : "France Telecom", "organization" : "Transports Routiers De Marchandises" } }, { "::83.206.36.232/125" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.36.240/124" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.37.0/120" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.38.0/119" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.40.0/117" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.48.0/116" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::83.206.64.0/119" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "::84.128.0.0/106" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::84.234.48.0/116" : { "isp" : "Linkservice, Ltd" } }, { "::85.88.0.0/119" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.2.0/121" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.2.128/122" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.2.192/123" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.2.224/123" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH", "isp" : "Surfplanet GmbH", "organization" : "Surfplanet GmbH" } }, { "::85.88.3.0/120" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.4.0/118" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.8.0/117" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::85.88.16.0/116" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "::86.0.0.0/107" : { "isp" : "Virgin Media", "organization" : "Virgin Media" } }, { "::86.105.244.0/118" : { "organization" : "2K Telecom SRL" } }, { "::86.128.0.0/106" : { "isp" : "BT", "organization" : "BT" } }, { "::87.128.0.0/106" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::87.229.77.0/120" : { "isp" : "SzerverPlex Ltd." } }, { "::88.160.0.0/107" : { "isp" : "Free SAS", "organization" : "Free SAS" } }, { "::89.45.176.0/116" : { "organization" : "2K Telecom SRL" } }, { "::89.80.0.0/109" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.88.0.0/110" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.0.0/113" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.128.0/114" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.192.0/116" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.208.0/118" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.212.0/119" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP", "isp" : "Bouygues Telecom", "organization" : "Bouygues Telecom" } }, { "::89.92.214.0/119" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.216.0/117" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.92.224.0/115" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.93.0.0/112" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.94.0.0/111" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "::89.140.209.0/120" : { "organization" : "WICO" } }, { "::89.160.0.0/116" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.16.0/118" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.20.0/122" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.20.64/123" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.20.96/124" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.20.112/125" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB", "isp" : "Bredband2 AB", "organization" : "Bevtec" } }, { "::89.160.20.120/125" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.20.128/121" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.21.0/120" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.22.0/119" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.24.0/117" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.32.0/115" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.160.64.0/114" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "::89.187.32.0/115" : { "isp" : "Monitoring, PA" } }, { "::91.0.0.0/106" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::91.204.152.0/118" : { "organization" : "X-Com Partners" } }, { "::91.211.200.0/118" : { "isp" : "Specialist Ltd." } }, { "::91.223.175.0/120" : { "organization" : "DATA-COM Piotr Data" } }, { "::91.225.116.0/118" : { "organization" : "RostNet" } }, { "::91.231.240.0/120" : { "organization" : "TELL-NET" } }, { "::91.236.68.0/118" : { "isp" : "Air-Net Elektronik" } }, { "::91.238.12.0/118" : { "isp" : "Linkservice, Ltd" } }, { "::93.170.6.0/120" : { "isp" : "VHG" } }, { "::93.183.128.0/115" : { "isp" : "ESCOM Ltd." } }, { "::93.192.0.0/106" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG", "isp" : "Deutsche Telekom AG", "organization" : "Deutsche Telekom AG" } }, { "::94.103.0.0/116" : { "isp" : "Monitoring, PA" } }, { "::94.156.200.0/117" : { "organization" : "Linkplus" } }, { "::94.199.176.0/119" : { "isp" : "SzerverPlex Ltd." } }, { "::94.243.192.0/116" : { "organization" : "It Region" } }, { "::95.167.144.0/118" : { "organization" : "Internet67" } }, { "::96.128.0.0/106" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::97.0.0.0/106" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::97.128.0.0/105" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::98.192.0.0/106" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc.", "isp" : "Comcast Cable", "organization" : "Comcast Cable" } }, { "::100.43.128.0/120" : { "isp" : "Firecold_Inc", "organization" : "Firecold_Inc" } }, { "::100.43.129.0/122" : { "isp" : "bernice_ulloa", "organization" : "bernice_ulloa" } }, { "::100.43.129.64/123" : { "isp" : "cheng_shih", "organization" : "cheng_shih" } }, { "::100.43.129.96/123" : { "isp" : "loránd_csapó", "organization" : "loránd_csapó" } }, { "::100.43.129.128/124" : { "isp" : "dewei_feng", "organization" : "dewei_feng" } }, { "::100.43.129.144/124" : { "isp" : "radoslav_ja?ar", "organization" : "radoslav_ja?ar" } }, { "::100.43.129.160/124" : { "isp" : "jakub_henderson", "organization" : "jakub_henderson" } }, { "::100.43.129.176/124" : { "isp" : "elisa_blom", "organization" : "elisa_blom" } }, { "::100.43.129.192/125" : { "isp" : "gertrude_burnham", "organization" : "gertrude_burnham" } }, { "::100.43.129.200/125" : { "isp" : "mariam_lovett", "organization" : "mariam_lovett" } }, { "::100.43.129.208/125" : { "isp" : "nicolas_correia", "organization" : "nicolas_correia" } }, { "::100.43.129.224/125" : { "isp" : "rostislav_sou?ek", "organization" : "rostislav_sou?ek" } }, { "::100.43.129.232/125" : { "isp" : "rinkashijikashikuchi_", "organization" : "rinkashijikashikuchi_" } }, { "::100.43.129.240/125" : { "isp" : "huân_??", "organization" : "huân_??" } }, { "::100.43.129.248/125" : { "isp" : "hooriya_harb", "organization" : "hooriya_harb" } }, { "::100.43.130.0/121" : { "isp" : "koufuu_iwasaki", "organization" : "koufuu_iwasaki" } }, { "::100.43.130.128/123" : { "isp" : "ashley_nuckols", "organization" : "ashley_nuckols" } }, { "::100.43.130.160/123" : { "isp" : "julian_barbosa", "organization" : "julian_barbosa" } }, { "::100.43.130.192/123" : { "isp" : "dora_barker", "organization" : "dora_barker" } }, { "::100.43.130.224/123" : { "isp" : "ema_vörös", "organization" : "ema_vörös" } }, { "::100.43.131.0/121" : { "isp" : "kang_ts'ai", "organization" : "kang_ts'ai" } }, { "::100.43.131.128/121" : { "isp" : "dominik_bognár", "organization" : "dominik_bognár" } }, { "::100.43.132.0/121" : { "isp" : "lahbib_coenen", "organization" : "lahbib_coenen" } }, { "::100.43.132.128/124" : { "isp" : "markus_jones", "organization" : "markus_jones" } }, { "::100.43.132.144/124" : { "isp" : "tình_hàn", "organization" : "tình_hàn" } }, { "::100.43.132.160/124" : { "isp" : "luana_beneventi", "organization" : "luana_beneventi" } }, { "::100.43.132.176/124" : { "isp" : "alec_bigley", "organization" : "alec_bigley" } }, { "::100.43.132.192/124" : { "isp" : "walif_boutros", "organization" : "walif_boutros" } }, { "::100.43.132.208/124" : { "isp" : "freddy_hedlund", "organization" : "freddy_hedlund" } }, { "::100.43.132.224/124" : { "isp" : "bernice_ulloa", "organization" : "bernice_ulloa" } }, { "::100.43.132.240/124" : { "isp" : "frigg_torland", "organization" : "frigg_torland" } }, { "::100.43.133.0/122" : { "isp" : "gergely_csorba", "organization" : "gergely_csorba" } }, { "::100.43.133.64/123" : { "isp" : "aglae_aguilar", "organization" : "aglae_aguilar" } }, { "::100.43.133.96/124" : { "isp" : "jeannine_lambert", "organization" : "jeannine_lambert" } }, { "::100.43.133.112/124" : { "isp" : "sandra_sundström", "organization" : "sandra_sundström" } }, { "::100.43.133.128/124" : { "isp" : "teegan_johnston", "organization" : "teegan_johnston" } }, { "::100.43.133.144/124" : { "isp" : "pinabel_tremblay", "organization" : "pinabel_tremblay" } }, { "::100.43.133.160/124" : { "isp" : "ptolomeo_alcalá", "organization" : "ptolomeo_alcalá" } }, { "::100.43.133.176/124" : { "isp" : "guang_ch'ien", "organization" : "guang_ch'ien" } }, { "::100.43.133.192/124" : { "isp" : "grace_hardess", "organization" : "grace_hardess" } }, { "::100.43.133.208/125" : { "isp" : "walerian_król", "organization" : "walerian_król" } }, { "::100.43.133.216/125" : { "isp" : "walerian_król", "organization" : "emma_paulsen" } }, { "::100.43.133.224/125" : { "isp" : "julia_wulf", "organization" : "julia_wulf" } }, { "::100.43.133.232/125" : { "isp" : "joacim_lindgren", "organization" : "joacim_lindgren" } }, { "::100.43.133.248/125" : { "isp" : "qing_yuan_ho", "organization" : "qing_yuan_ho" } }, { "::100.43.134.0/121" : { "isp" : "ferrau_chicoine", "organization" : "ferrau_chicoine" } }, { "::100.43.134.128/124" : { "isp" : "kenneth_hix", "organization" : "kenneth_hix" } }, { "::100.43.134.144/124" : { "isp" : "lok_lu", "organization" : "lok_lu" } }, { "::100.43.134.160/124" : { "isp" : "martino_marcelo", "organization" : "martino_marcelo" } }, { "::100.43.134.176/124" : { "isp" : "kevin_lucio", "organization" : "kevin_lucio" } }, { "::100.43.134.192/124" : { "isp" : "enza_folliero", "organization" : "enza_folliero" } }, { "::100.43.134.208/124" : { "isp" : "miloslav_severa", "organization" : "miloslav_severa" } }, { "::100.43.134.224/124" : { "isp" : "santana_de_munnik", "organization" : "santana_de_munnik" } }, { "::100.43.134.240/124" : { "isp" : "yasunori_kotani", "organization" : "yasunori_kotani" } }, { "::100.43.135.0/122" : { "isp" : "henry_matthews", "organization" : "henry_matthews" } }, { "::100.43.135.64/123" : { "isp" : "mirikashitakuari_", "organization" : "mirikashitakuari_" } }, { "::100.43.135.96/124" : { "isp" : "billy_watkins", "organization" : "billy_watkins" } }, { "::100.43.135.112/124" : { "isp" : "júlia_azevedo", "organization" : "júlia_azevedo" } }, { "::100.43.135.128/124" : { "isp" : "jun_liao", "organization" : "jun_liao" } }, { "::100.43.135.144/124" : { "isp" : "yi_jie_p'eng", "organization" : "yi_jie_p'eng" } }, { "::100.43.135.160/124" : { "isp" : "gerlac_tijerina", "organization" : "gerlac_tijerina" } }, { "::100.43.135.176/124" : { "isp" : "yuriy_kvarda", "organization" : "yuriy_kvarda" } }, { "::100.43.135.192/124" : { "isp" : "châu_l?u", "organization" : "châu_l?u" } }, { "::100.43.135.208/125" : { "isp" : "christina_downing", "organization" : "christina_downing" } }, { "::100.43.135.216/125" : { "isp" : "christina_downing", "organization" : "christian_hallen" } }, { "::100.43.135.224/125" : { "isp" : "konrad_karlsson", "organization" : "konrad_karlsson" } }, { "::100.43.135.232/125" : { "isp" : "malcolm_isaksson", "organization" : "malcolm_isaksson" } }, { "::100.43.135.248/125" : { "isp" : "fábio_castro", "organization" : "fábio_castro" } }, { "::100.43.136.0/124" : { "isp" : "pío_meléndez", "organization" : "pío_meléndez" } }, { "::100.43.136.16/124" : { "isp" : "max_austerlitz", "organization" : "max_austerlitz" } }, { "::100.43.136.32/124" : { "isp" : "george_sanchez", "organization" : "george_sanchez" } }, { "::100.43.136.48/124" : { "isp" : "ricard_bekken", "organization" : "ricard_bekken" } }, { "::100.43.136.64/124" : { "isp" : "dieter_fisher", "organization" : "dieter_fisher" } }, { "::100.43.136.80/124" : { "isp" : "fiddah_kassis", "organization" : "fiddah_kassis" } }, { "::100.43.136.96/124" : { "isp" : "lahbib_coenen", "organization" : "lahbib_coenen" } }, { "::100.43.136.112/125" : { "isp" : "isa_touma", "organization" : "isa_touma" } }, { "::100.43.136.120/125" : { "isp" : "adam_crouch", "organization" : "adam_crouch" } }, { "::100.43.136.128/125" : { "isp" : "evelyn_dahl", "organization" : "evelyn_dahl" } }, { "::100.43.136.144/125" : { "isp" : "fuse_nordlie", "organization" : "fuse_nordlie" } }, { "::100.43.136.152/125" : { "isp" : "monika_jakobsson", "organization" : "monika_jakobsson" } }, { "::100.43.136.160/125" : { "isp" : "korneliusz_kowalczyk", "organization" : "korneliusz_kowalczyk" } }, { "::100.43.136.168/125" : { "isp" : "li_na_kê", "organization" : "li_na_kê" } }, { "::100.43.136.176/125" : { "isp" : "gustava_monaldo", "organization" : "gustava_monaldo" } }, { "::100.43.136.184/125" : { "isp" : "richard_best", "organization" : "richard_best" } }, { "::100.43.136.192/125" : { "isp" : "dirk_daecher", "organization" : "dirk_daecher" } }, { "::100.43.136.200/125" : { "isp" : "george_davis", "organization" : "george_davis" } }, { "::100.43.136.208/125" : { "isp" : "takitatakikato_", "organization" : "takitatakikato_" } }, { "::100.43.136.216/125" : { "isp" : "vsevolod_artemiev", "organization" : "vsevolod_artemiev" } }, { "::100.43.136.224/125" : { "isp" : "rimomeikashite_", "organization" : "rimomeikashite_" } }, { "::100.43.136.240/125" : { "isp" : "regõ_kultsár", "organization" : "regõ_kultsár" } }, { "::100.43.136.248/125" : { "isp" : "turner_ménard", "organization" : "turner_ménard" } }, { "::100.43.137.0/123" : { "isp" : "henio_zawadzki", "organization" : "henio_zawadzki" } }, { "::100.43.137.112/125" : { "isp" : "zhu_tang", "organization" : "zhu_tang" } }, { "::100.43.137.120/125" : { "isp" : "hakem_asfour", "organization" : "hakem_asfour" } }, { "::100.43.137.128/125" : { "isp" : "michael_herring", "organization" : "michael_herring" } }, { "::100.43.137.136/125" : { "isp" : "valeriya_lazareva", "organization" : "valeriya_lazareva" } }, { "::100.43.137.144/125" : { "isp" : "leila_silva", "organization" : "leila_silva" } }, { "::100.43.137.160/125" : { "isp" : "ignacy_sobczak", "organization" : "ignacy_sobczak" } }, { "::100.43.137.168/125" : { "isp" : "sophie_lacharité", "organization" : "sophie_lacharité" } }, { "::100.43.137.176/125" : { "isp" : "isaac_holmes", "organization" : "isaac_holmes" } }, { "::101.0.0.0/118" : { "isp" : "China Telecom FUJIAN", "organization" : "China Telecom FUJIAN" } }, { "::101.0.4.0/118" : { "isp" : "PT Universal Broadband", "organization" : "PT Universal Broadband" } }, { "::101.0.32.0/115" : { "isp" : "Broadband Pacenet Pvt. Ltd", "organization" : "Broadband Pacenet Pvt. Ltd" } }, { "::101.0.64.0/114" : { "isp" : "Digital Pacific Information Technology", "organization" : "Digital Pacific Information Technology" } }, { "::101.0.128.0/113" : { "isp" : "Savecom International Inc.", "organization" : "Savecom International Inc." } }, { "::101.1.4.0/118" : { "isp" : "Hong Kong Science Park", "organization" : "Hong Kong Science Park" } }, { "::101.1.8.0/117" : { "isp" : "jeonju university", "organization" : "jeonju university" } }, { "::101.1.64.0/114" : { "isp" : "Ehime Catv Co.,ltd.", "organization" : "Ehime Catv Co.,ltd." } }, { "::101.1.128.0/113" : { "isp" : "STNet, Incorporated", "organization" : "STNet, Incorporated" } }, { "::101.2.0.0/113" : { "isp" : "Unitech Wireless", "organization" : "Unitech Wireless" } }, { "::101.2.128.0/115" : { "isp" : "Ehime Catv Co.,ltd.", "organization" : "Ehime Catv Co.,ltd." } }, { "::101.2.160.0/117" : { "isp" : "Chittagong Online Limited.", "organization" : "Chittagong Online Limited." } }, { "::101.2.172.0/118" : { "isp" : "China Telecom FUJIAN", "organization" : "China Telecom FUJIAN" } }, { "::101.2.176.0/116" : { "isp" : "Bharti Airtel Lanka Pvt. Limited", "organization" : "Bharti Airtel Lanka Pvt. Limited" } }, { "::101.2.192.0/114" : { "isp" : "Webcentral.com", "organization" : "Webcentral.com" } }, { "::101.3.0.0/116" : { "isp" : "Global Mobile Corp.", "organization" : "Globalmobile" } }, { "::101.3.16.0/116" : { "isp" : "Global Mobile Corp.", "organization" : "Global Mobile Corp." } }, { "::101.3.32.0/115" : { "isp" : "Global Mobile Corp.", "organization" : "Global Mobile Corp." } }, { "::101.3.64.0/114" : { "isp" : "Global Mobile Corp.", "organization" : "Global Mobile Corp." } }, { "::101.3.128.0/113" : { "isp" : "Global Mobile Corp.", "organization" : "Global Mobile Corp." } }, { "::101.4.0.0/112" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.5.0.0/112" : { "isp" : "China Education and Research Network", "organization" : "Tsinghua University" } }, { "::101.6.0.0/112" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.7.0.0/113" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.7.128.0/114" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.7.192.0/115" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.7.224.0/116" : { "isp" : "China Education and Research Network", "organization" : "China Education and Research Network" } }, { "::101.7.240.0/116" : { "isp" : "China Education and Research Network", "organization" : "Shijiazhuang Netdingthing Technology Co.,Ltd" } }, { "::101.8.0.0/109" : { "isp" : "Taiwan Mobile Co., Ltd.", "organization" : "Taiwan Mobile Co., Ltd." } }, { "::101.16.0.0/108" : { "isp" : "China Unicom Hebei", "organization" : "China Unicom Hebei" } }, { "::101.38.0.0/111" : { "isp" : "Changping District,Beijing", "organization" : "Changping District,Beijing" } }, { "::101.40.0.0/111" : { "isp" : "Changping District,Beijing", "organization" : "Changping District,Beijing" } }, { "::101.44.0.0/110" : { "isp" : "ChengDu Dr.Peng Telecom & Media Group Industry Co.", "organization" : "ChengDu Dr.Peng Telecom & Media Group Industry Co." } }, { "::101.50.0.0/118" : { "isp" : "PT. Beon Intermedia", "organization" : "PT. Beon Intermedia" } }, { "::101.50.16.0/116" : { "isp" : "PT. Mnet Indonesia", "organization" : "PT. Mnet Indonesia" } }, { "::101.51.0.0/112" : { "isp" : "TOT Public Company Limited", "organization" : "TOT Public Company Limited" } }, { "::101.53.64.0/115" : { "isp" : "INDICLUB", "organization" : "INDICLUB" } }, { "::101.55.0.0/113" : { "isp" : "Korea Data Telecommunication Co., Ltd.", "organization" : "Korea Data Telecommunication Co., Ltd." } }, { "::101.56.0.0/109" : { "isp" : "Reliance Communications", "organization" : "Reliance Communications" } }, { "::101.64.0.0/109" : { "isp" : "UNICOM ZheJiang", "organization" : "UNICOM ZheJiang" } }, { "::101.77.0.0/112" : { "isp" : "Jiangsu Electrical Technology Education Center", "organization" : "Jiangsu Electrical Technology Education Center" } }, { "::101.78.8.0/117" : { "isp" : "Enterprise of Telecommunications Lao", "organization" : "Enterprise of Telecommunications Lao" } }, { "::101.78.128.0/113" : { "isp" : "Wharf T&T Limited", "organization" : "Wharf T&T Limited" } }, { "::101.79.0.0/112" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::101.80.0.0/108" : { "isp" : "China Telecom SHANGHAI", "organization" : "China Telecom SHANGHAI" } }, { "::101.98.0.0/112" : { "isp" : "CallPlus Services Limited", "organization" : "CallPlus Services Limited" } }, { "::101.99.0.0/114" : { "isp" : "CMC Telecom Infrastructure Company", "organization" : "CMC Telecom Infrastructure Company" } }, { "::101.99.128.0/113" : { "isp" : "Kuentos Communications, Inc.", "organization" : "Kuentos Communications, Inc." } }, { "::101.100.0.0/112" : { "isp" : "Vector Communications Ltd", "organization" : "Vector Communications Ltd" } }, { "::101.101.0.0/114" : { "isp" : "Office des Postes et des Telecomm. de Nouvelle Cal", "organization" : "Office des Postes et des Telecomm. de Nouvelle Cal" } }, { "::101.101.112.0/116" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.101.128.0/115" : { "isp" : "JNDINFO", "organization" : "JNDINFO" } }, { "::101.101.160.0/116" : { "isp" : "JNDINFO", "organization" : "JND Communication" } }, { "::101.101.176.0/116" : { "isp" : "JNDINFO", "organization" : "JNDINFO" } }, { "::101.101.192.0/116" : { "isp" : "JNDINFO", "organization" : "JND Communication" } }, { "::101.101.208.0/116" : { "isp" : "JNDINFO", "organization" : "JNDINFO" } }, { "::101.101.224.0/115" : { "isp" : "JNDINFO", "organization" : "JNDINFO" } }, { "::101.102.0.0/114" : { "isp" : "SANYO Information Technology Solutions Co., Ltd.", "organization" : "SANYO Information Technology Solutions Co., Ltd." } }, { "::101.102.64.0/115" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.102.112.0/116" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.102.128.0/113" : { "isp" : "SOFTBANK TELECOM Corp.", "organization" : "SOFTBANK TELECOM Corp." } }, { "::101.103.0.0/112" : { "isp" : "Telstra Internet", "organization" : "Telstra Internet" } }, { "::101.104.0.0/110" : { "isp" : "Beijing Teletron Telecom Engineering Co., Ltd.", "organization" : "Beijing Teletron Telecom Engineering Co., Ltd." } }, { "::101.108.0.0/111" : { "isp" : "TOT Public Company Limited", "organization" : "TOT Public Company Limited" } }, { "::101.110.0.0/114" : { "isp" : "SOFTBANK TELECOM Corp.", "organization" : "SOFTBANK TELECOM Corp." } }, { "::101.110.64.0/115" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.110.128.0/113" : { "isp" : "NTT", "organization" : "NTT" } }, { "::101.111.0.0/112" : { "isp" : "its communications Inc.", "organization" : "its communications Inc." } }, { "::101.112.0.0/109" : { "isp" : "Vodafone Australia", "organization" : "Vodafone Australia" } }, { "::101.120.0.0/110" : { "isp" : "Beijing Bosheng Technology Co., Ltd.", "organization" : "Beijing Bosheng Technology Co., Ltd." } }, { "::101.124.0.0/111" : { "isp" : "KNET Techonlogy (BeiJing) Co.,Ltd.", "organization" : "KNET Techonlogy (BeiJing) Co.,Ltd." } }, { "::101.126.0.0/112" : { "isp" : "Beijing Bitone United Networks Technology Service", "organization" : "Beijing Bitone United Networks Technology Service" } }, { "::101.127.0.0/112" : { "isp" : "Renjiao International Technology Corporation Ltd", "organization" : "Renjiao International Technology Corporation Ltd" } }, { "::101.128.32.0/115" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.128.64.0/114" : { "isp" : "PT. Cyberindo Aditama", "organization" : "PT. Cyberindo Aditama" } }, { "::101.128.128.0/113" : { "isp" : "Internet Initiative Japan Inc.", "organization" : "Internet Initiative Japan Inc." } }, { "::101.129.0.0/112" : { "isp" : "China Central Television", "organization" : "China Central Television" } }, { "::101.130.0.0/111" : { "isp" : "Shanghai Yixuan network technology CO.,LTD", "organization" : "Shanghai Yixuan network technology CO.,LTD" } }, { "::101.132.0.0/110" : { "isp" : "BeiJing Kuandaitong Telecom Technology Co.,Ltd", "organization" : "BeiJing Kuandaitong Telecom Technology Co.,Ltd" } }, { "::101.136.0.0/111" : { "isp" : "Asia Pacific On-Line Service Inc.", "organization" : "Asia Pacific On-Line Service Inc." } }, { "::101.138.0.0/112" : { "isp" : "Asia Pacific On-Line Service Inc.", "organization" : "Asia Pacific Onlie Service Inc." } }, { "::101.139.0.0/112" : { "isp" : "Asia Pacific On-Line Service Inc.", "organization" : "Asia Pacific On-Line Service Inc." } }, { "::101.140.0.0/110" : { "isp" : "K-Opticom Corporation", "organization" : "K-Opticom Corporation" } }, { "::101.144.0.0/108" : { "isp" : "China TieTong", "organization" : "China TieTong" } }, { "::101.160.0.0/107" : { "isp" : "Telstra Internet", "organization" : "Telstra Internet" } }, { "::101.192.0.0/110" : { "isp" : "BeiJing NBLLNET Co.,Ltd", "organization" : "BeiJing NBLLNET Co.,Ltd" } }, { "::101.196.0.0/112" : { "isp" : "Beijing Yuexintong Information Technology Company", "organization" : "Shanghai Xindong Network Co,.Ltd." } }, { "::101.197.0.0/112" : { "isp" : "Beijing Yuexintong Information Technology Company", "organization" : "Beijing Yuexintong Information Technology Company" } }, { "::101.198.0.0/111" : { "isp" : "Beijing Yuexintong Information Technology Company", "organization" : "Beijing Yuexintong Information Technology Company" } }, { "::101.200.0.0/111" : { "isp" : "KNET Techonlogy (BeiJing) Co.,Ltd.", "organization" : "KNET Techonlogy (BeiJing) Co.,Ltd." } }, { "::101.202.0.0/112" : { "isp" : "Dreamline Co.", "organization" : "Dreamline Co." } }, { "::101.203.0.0/113" : { "isp" : "eAccess Ltd.", "organization" : "eAccess Ltd." } }, { "::101.203.128.0/115" : { "isp" : "China Telecom Guangdong", "organization" : "China Telecom Guangdong" } }, { "::101.203.168.0/118" : { "isp" : "Universitas Negeri Yogyakarta", "organization" : "Universitas Negeri Yogyakarta" } }, { "::101.203.192.0/114" : { "isp" : "Bit-isle", "organization" : "Bit-isle" } }, { "::101.204.0.0/110" : { "isp" : "UNICOM Sichuan", "organization" : "UNICOM Sichuan" } }, { "::101.208.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel gprs customer Delhi" } }, { "::101.210.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel gprs customer Kolkata" } }, { "::101.212.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel gprs customer Chennai" } }, { "::101.214.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel gprs customer Hyderabad" } }, { "::101.216.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel gprs customer Delhi" } }, { "::101.218.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel GPRS Customer East" } }, { "::101.220.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel GPRS Customer West" } }, { "::101.222.0.0/111" : { "isp" : "Aircel Ltd.", "organization" : "Aircel GPRS Customer South" } }, { "::101.224.0.0/109" : { "isp" : "China Telecom SHANGHAI", "organization" : "China Telecom SHANGHAI" } }, { "::101.234.72.0/118" : { "isp" : "Sliced Tech Holdings Unit Trust", "organization" : "Sliced Tech Holdings Unit Trust" } }, { "::101.235.0.0/115" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::101.235.48.0/116" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::101.235.64.0/115" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::101.235.96.0/116" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::101.235.176.0/116" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::101.240.0.0/110" : { "isp" : "Beijing Gehua Catv Network Co., Ltd.", "organization" : "Beijing Gehua Catv Network Co., Ltd." } }, { "::101.255.0.0/112" : { "isp" : "PT Remala Abadi", "organization" : "PT Remala Abadi" } }, { "::103.1.108.0/118" : { "isp" : "Simtronic Technologies Pty Ltd", "organization" : "Simtronic Technologies Pty Ltd" } }, { "::103.1.124.0/118" : { "isp" : "Tata Indicom", "organization" : "Tata Indicom" } }, { "::103.1.128.0/118" : { "isp" : "Fiserv India", "organization" : "Fiserv India" } }, { "::103.1.136.0/118" : { "isp" : "MobileOne", "organization" : "MobileOne" } }, { "::103.1.144.0/120" : { "isp" : "U Mobile Sdn Bhd", "organization" : "U Mobile Sdn Bhd" } }, { "::103.1.146.0/120" : { "isp" : "U Mobile Sdn Bhd", "organization" : "U Mobile Sdn Bhd" } }, { "::103.1.152.0/118" : { "isp" : "Hostemo Technology Sdn Bhd", "organization" : "Hostemo Technology Sdn Bhd" } }, { "::103.1.164.0/118" : { "isp" : "Total Access Communication PLC", "organization" : "Total Access Communication PLC" } }, { "::103.1.172.0/118" : { "isp" : "Godaddy.com", "organization" : "Godaddy.com" } }, { "::103.1.180.0/118" : { "isp" : "Digicel Pacific Ltd", "organization" : "Digicel Pacific Ltd" } }, { "::103.1.184.0/118" : { "isp" : "Mammoth Media Pty Ltd", "organization" : "Mammoth Media Pty Ltd" } }, { "::103.1.188.0/118" : { "isp" : "Beagle Internet Pty Ltd", "organization" : "Beagle Internet Pty Ltd" } }, { "::103.6.100.0/118" : { "isp" : "KINX", "organization" : "KINX" } }, { "::103.9.32.0/118" : { "isp" : "AMWAYKOREA", "organization" : "AMWAYKOREA" } }, { "::103.10.4.0/118" : { "isp" : "ASUSTek COMPUTER INC.", "organization" : "ASUSTek COMPUTER INC." } }, { "::103.10.32.0/118" : { "isp" : "The Cavalry", "organization" : "The Cavalry" } }, { "::103.10.44.0/118" : { "isp" : "Elementary IT & Communications Ltd", "organization" : "Elementary IT & Communications Ltd" } }, { "::103.10.52.0/118" : { "isp" : "Drik ICT Ltd", "organization" : "Drik ICT Ltd" } }, { "::103.10.64.0/118" : { "isp" : "Three Indonesia", "organization" : "Three Indonesia" } }, { "::103.10.76.0/118" : { "isp" : "Augere Wireless Broadband Bangladesh Limited", "organization" : "Augere Wireless Broadband Bangladesh Limited" } }, { "::103.10.84.0/118" : { "isp" : "Elink-space (Beijing) Technology Co,. Ltd '", "organization" : "Elink-space (Beijing) Technology Co,. Ltd '" } }, { "::103.10.96.0/118" : { "isp" : "Neuviz (PT. Piranti Prestasi Informasi)", "organization" : "Neuviz (PT. Piranti Prestasi Informasi)" } }, { "::103.10.104.0/118" : { "isp" : "Bogor Agricultural University", "organization" : "Bogor Agricultural University" } }, { "::103.10.120.0/118" : { "isp" : "PT Sumber Data Indonesia", "organization" : "PT Sumber Data Indonesia" } }, { "::103.10.132.0/118" : { "isp" : "Vainavi Industries Ltd.", "organization" : "Vainavi Industries Ltd." } }, { "::103.10.144.0/120" : { "isp" : "Universitas Muhammadiyah Malang", "organization" : "Universitas Muhammadiyah Malang" } }, { "::103.10.152.0/118" : { "isp" : "Meralco Avenue", "organization" : "Meralco Avenue" } }, { "::103.10.169.0/120" : { "isp" : "Universitas Riau", "organization" : "Universitas Riau" } }, { "::103.10.172.0/118" : { "isp" : "Wavecom Wireless Ltd", "organization" : "Wavecom Wireless Ltd" } }, { "::103.10.176.0/118" : { "isp" : "Liberty Broadcasting Network Inc.", "organization" : "Liberty Broadcasting Network Inc." } }, { "::103.10.196.0/120" : { "isp" : "Hostemo Technology Sdn Bhd", "organization" : "Hostemo Technology Sdn Bhd" } }, { "::103.10.198.0/120" : { "isp" : "Hostemo Technology Sdn Bhd", "organization" : "Hostemo Technology Sdn Bhd" } }, { "::103.10.208.0/118" : { "isp" : "Meghbela Cable & Broadband Services (P) Ltd", "organization" : "Meghbela Cable & Broadband Services (P) Ltd" } }, { "::103.10.224.0/118" : { "isp" : "Indusind Media and Communications Ltd.", "organization" : "Indusind Media and Communications Ltd." } }, { "::103.10.236.0/118" : { "isp" : "Goldfield Industrial Building", "organization" : "Goldfield Industrial Building" } }, { "::103.10.248.0/118" : { "isp" : "Andheri East", "organization" : "Andheri East" } }, { "::103.11.28.0/118" : { "isp" : "PT Sumber Data Indonesia", "organization" : "PT Sumber Data Indonesia" } }, { "::103.11.52.0/118" : { "isp" : "RackCentral Pty Ltd", "organization" : "RackCentral Pty Ltd" } }, { "::103.11.124.0/118" : { "isp" : "Unleash Computers Ltd", "organization" : "Unleash Computers Ltd" } }, { "::103.11.152.0/118" : { "isp" : "Web Werks India Pvt.", "organization" : "Web Werks India Pvt." } }, { "::103.11.172.0/118" : { "isp" : "Joint stock Commercial Bank for Foreign Trade of V", "organization" : "Joint stock Commercial Bank for Foreign Trade of V" } }, { "::103.11.192.0/118" : { "isp" : "MCS Com Co Ltd", "organization" : "MCS Com Co Ltd" } }, { "::103.11.204.0/118" : { "isp" : "VentraIP Group (Australia) Pty Ltd", "organization" : "VentraIP Group (Australia) Pty Ltd" } }, { "::103.11.228.1/128" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.2/127" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.4/126" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.8/125" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.16/124" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.32/123" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.64/122" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.228.128/121" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.229.0/120" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.230.0/119" : { "isp" : "i-System Technology Limited", "organization" : "i-System Technology Limited" } }, { "::103.11.244.0/118" : { "isp" : "Langham Place Office Tower", "organization" : "Langham Place Office Tower" } }, { "::103.23.84.0/118" : { "isp" : "C&M Communication Co.,Ltd.", "organization" : "C&M Communication Co.,Ltd." } }, { "::103.23.132.0/118" : { "organization" : "Digi" } }, { "::103.28.60.0/118" : { "isp" : "Cmb Taegu Dongbu Broadcast", "organization" : "Cmb Taegu Dongbu Broadcast" } }, { "::103.246.248.0/120" : { "organization" : "QuickWeb Hosting Solutions" } }, { "::104.64.0.0/106" : { "autonomous_system_number" : 35994, "autonomous_system_organization" : "Akamai Technologies, Inc.", "isp" : "Akamai Technologies", "organization" : "Akamai Technologies" } }, { "::105.110.0.0/115" : { "isp" : "Fawri wilaya Batna", "organization" : "Fawri wilaya Batna" } }, { "::105.111.0.0/113" : { "isp" : "Anis wilaya oran", "organization" : "Anis wilaya oran" } }, { "::105.111.192.0/114" : { "isp" : "Anis wilaya Bechar", "organization" : "Anis wilaya Bechar" } }, { "::105.112.0.0/108" : { "isp" : "Airtel Networks Limited", "organization" : "Airtel Networks Limited" } }, { "::105.128.0.0/108" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom 3G" } }, { "::105.144.0.0/109" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom 3G" } }, { "::105.152.0.0/111" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom 3G" } }, { "::105.154.0.0/112" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom 3G" } }, { "::105.155.0.0/112" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::105.156.0.0/111" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::105.158.0.0/112" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::105.159.0.0/112" : { "isp" : "Maroc Telecom", "organization" : "IAM" } }, { "::105.160.0.0/109" : { "isp" : "Safaricom Limited", "organization" : "Safaricom Limited" } }, { "::105.168.0.0/109" : { "isp" : "Unitel SA", "organization" : "Unitel SA" } }, { "::105.176.0.0/111" : { "isp" : "MTN Business Solutions (Pty) Ltd", "organization" : "MTN Business Solutions (Pty) Ltd" } }, { "::105.180.0.0/110" : { "isp" : "Mobinil 3G", "organization" : "Mobinil 3G" } }, { "::105.184.0.0/110" : { "isp" : "Telkom Internet", "organization" : "Telkom Internet" } }, { "::105.192.0.0/110" : { "isp" : "Mobinil 3G", "organization" : "Mobinil 3G" } }, { "::105.196.0.0/110" : { "isp" : "Airtel Networks Nigeria Ltd", "organization" : "Airtel Networks Nigeria Ltd" } }, { "::105.200.0.0/110" : { "isp" : "Etisalat Misr", "organization" : "Etisalat" } }, { "::105.204.0.0/111" : { "isp" : "Etisalat Misr", "organization" : "Etisalat" } }, { "::105.206.0.0/112" : { "isp" : "Etisalat Misr", "organization" : "Etisalat" } }, { "::105.207.0.0/113" : { "isp" : "Etisalat Misr", "organization" : "Etisalat" } }, { "::105.207.128.0/113" : { "isp" : "Etisalat Misr", "organization" : "Etisalat Misr" } }, { "::105.208.0.0/108" : { "isp" : "MTN SA", "organization" : "MTN SA" } }, { "::105.224.0.0/110" : { "isp" : "Telkom Internet", "organization" : "Telkom Internet" } }, { "::105.228.0.0/111" : { "isp" : "Telkom Internet", "organization" : "Telkom Internet" } }, { "::105.230.0.0/112" : { "isp" : "Airtel Broadband", "organization" : "Airtel Broadband" } }, { "::105.231.0.0/113" : { "isp" : "Second segment of Broadband IPs", "organization" : "Second segment of Broadband IPs" } }, { "::105.231.128.0/114" : { "isp" : "Third segment of Airtel Broadband IPs", "organization" : "Third segment of Airtel Broadband IPs" } }, { "::105.231.192.0/114" : { "isp" : "Reserved for Internet APN Allocation", "organization" : "Reserved for Internet APN Allocation" } }, { "::105.232.0.0/113" : { "isp" : "MTC - Mobile Telecommunications, Ltd.", "organization" : "MTC Netman" } }, { "::105.232.128.0/113" : { "isp" : "MTC - Mobile Telecommunications, Ltd.", "organization" : "MTC - Mobile Telecommunications, Ltd." } }, { "::105.233.0.0/114" : { "isp" : "Cybersmart", "organization" : "Cybersmart-ADSL-DBN ADSL IP numbers assigned to Db" } }, { "::105.233.64.0/114" : { "isp" : "Cybersmart", "organization" : "Cybersmart-ADSL-JHB ADSL IP for Northern regios" } }, { "::105.233.128.0/113" : { "isp" : "Cybersmart", "organization" : "Cybersmart" } }, { "::105.234.0.0/113" : { "isp" : "Airtel Malawi GPRS subscribers", "organization" : "Airtel Malawi GPRS subscribers" } }, { "::105.234.128.0/113" : { "isp" : "Airtel Malawi network", "organization" : "Airtel Malawi network" } }, { "::105.235.0.0/113" : { "isp" : "MTN Cote d'Ivoire S.A", "organization" : "MTN Cote d'Ivoire S.A" } }, { "::105.235.128.0/116" : { "isp" : "Wataniya Telecom Algerie", "organization" : "Wataniya Telecom Algerie" } }, { "::105.235.144.0/116" : { "isp" : "Emtel Ltd", "organization" : "Emtel Ltd" } }, { "::105.235.160.0/116" : { "isp" : "Bytes Connect, a Division of Bytes Technology Grou", "organization" : "Bytes Connect, a Division of Bytes Technology Grou" } }, { "::105.235.176.0/116" : { "isp" : "Telecel Faso", "organization" : "Telecel Faso" } }, { "::105.235.192.0/116" : { "isp" : "Icsl Network", "organization" : "Icsl Network" } }, { "::105.235.216.0/117" : { "isp" : "Abari Communications Mozambique Lda", "organization" : "Abari Communications Mozambique Lda" } }, { "::105.235.224.0/116" : { "isp" : "Guineanet", "organization" : "Guineanet" } }, { "::105.235.240.0/116" : { "isp" : "Orange Botswana", "organization" : "Orange Botswana" } }, { "::105.236.0.0/111" : { "isp" : "MTN Business Solutions (Pty) Ltd", "organization" : "MTN Business Solutions (Pty) Ltd" } }, { "::105.238.0.0/111" : { "isp" : "Zain Sudan", "organization" : "Zain Sudan" } }, { "::105.240.0.0/108" : { "isp" : "Vodacom", "organization" : "Vodacom" } }, { "::106.186.80.0/117" : { "isp" : "GLBB" } }, { "::108.66.24.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.68.60.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.68.92.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.69.8.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.69.180.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.70.56.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.74.80.0/116" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.75.232.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.80.92.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.83.64.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.85.4.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.90.88.0/117" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.95.60.0/118" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.96.0.0/107" : { "isp" : "Sprint PCS", "organization" : "Sprint PCS" } }, { "::108.144.0.0/108" : { "isp" : "AT&T Wireless", "organization" : "AT&T Wireless" } }, { "::108.160.48.0/116" : { "isp" : "Telebeep", "organization" : "Telebeep" } }, { "::108.160.64.0/116" : { "isp" : "Sebastian", "organization" : "Sebastian" } }, { "::108.160.80.0/116" : { "isp" : "Quadro Communications Co-Operative", "organization" : "Quadro Communications Co-Operative" } }, { "::108.163.64.0/114" : { "isp" : "Region 14 Education Service Center", "organization" : "Region 14 Education Service Center" } }, { "::108.163.192.0/114" : { "isp" : "SingleHop", "organization" : "SingleHop" } }, { "::108.164.0.0/112" : { "isp" : "The Cosmopolitan of Las Vegas", "organization" : "The Cosmopolitan of Las Vegas" } }, { "::108.165.0.0/112" : { "isp" : "Ace Data Centers", "organization" : "Ace Data Centers" } }, { "::108.170.192.0/114" : { "isp" : "Google", "organization" : "Google" } }, { "::108.171.32.0/115" : { "isp" : "Smart Solutions IT", "organization" : "Smart Solutions IT" } }, { "::108.171.72.0/117" : { "isp" : "Cogeco Cable", "organization" : "Cogeco Cable" } }, { "::108.172.0.0/111" : { "isp" : "Telus Communications", "organization" : "Telus Communications" } }, { "::108.174.80.0/116" : { "isp" : "Volusion", "organization" : "Volusion" } }, { "::108.180.0.0/111" : { "isp" : "Telus Communications", "organization" : "Telus Communications" } }, { "::108.182.0.0/111" : { "isp" : "Time Warner Cable", "organization" : "Time Warner Cable" } }, { "::108.184.0.0/111" : { "isp" : "Time Warner Cable", "organization" : "Time Warner Cable" } }, { "::108.187.0.0/112" : { "isp" : "SpeedVM Network Group LLC", "organization" : "SpeedVM Network Group LLC" } }, { "::108.190.0.0/111" : { "isp" : "Bright House Networks", "organization" : "Bright House Networks" } }, { "::108.192.0.0/107" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.224.0.0/110" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.228.0.0/112" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.229.0.0/113" : { "isp" : "AT&T Internet Services", "organization" : "AT&T" } }, { "::108.229.128.0/113" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.230.0.0/111" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.232.0.0/109" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.240.0.0/110" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.244.0.0/113" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.244.128.0/115" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.244.160.0/116" : { "isp" : "AT&T Internet Services", "organization" : "Lisle IDC - Silver Lining" } }, { "::108.244.176.0/116" : { "isp" : "AT&T Internet Services", "organization" : "Atlanta - Silver Lining" } }, { "::108.244.192.0/114" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.245.0.0/112" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.246.0.0/111" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::108.248.0.0/109" : { "isp" : "AT&T Internet Services", "organization" : "AT&T Internet Services" } }, { "::109.104.250.0/121" : { "organization" : "Navigadsl srl" } }, { "::109.105.192.0/115" : { "organization" : "Cutuknet" } }, { "::109.235.55.192/123" : { "organization" : "Encryption Limited" } }, { "::110.8.112.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.9.0.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.9.96.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.10.16.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.11.64.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.11.176.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.11.240.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.12.80.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.12.128.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.13.112.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.13.128.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.14.48.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.14.160.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.14.192.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.15.192.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.15.224.0/116" : { "isp" : "SK Broadband Co Ltd", "organization" : "SK Broadband Co Ltd" } }, { "::110.35.0.0/116" : { "isp" : "CMB Daejeon Broadcasting Co,.Ltd", "organization" : "CMB Daejeon Broadcasting Co,.Ltd" } }, { "::110.35.53.0/120" : { "isp" : "CMB Daejeon Broadcasting Co,.Ltd", "organization" : "CMB Daejeon Broadcasting Co,.Ltd" } }, { "::110.35.54.0/119" : { "isp" : "CMB Daejeon Broadcasting Co,.Ltd", "organization" : "CMB Daejeon Broadcasting Co,.Ltd" } }, { "::110.35.56.0/120" : { "isp" : "CMB Daejeon Broadcasting Co,.Ltd", "organization" : "CMB Daejeon Broadcasting Co,.Ltd" } }, { "::111.0.0.0/106" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd.", "isp" : "Guangdong Mobile", "organization" : "Guangdong Mobile" } }, { "::111.91.128.0/116" : { "isp" : "NHN", "organization" : "NHN" } }, { "::111.91.144.0/118" : { "isp" : "Korea Cable TV Kwangju Broadcast", "organization" : "Korea Cable TV Kwangju Broadcast" } }, { "::111.91.160.0/116" : { "isp" : "Korea Cable TV Kwangju Broadcast", "organization" : "Korea Cable TV Kwangju Broadcast" } }, { "::112.0.0.0/106" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd.", "isp" : "Guangdong Mobile", "organization" : "Guangdong Mobile" } }, { "::112.72.160.0/116" : { "isp" : "Hyundai Communications & Network", "organization" : "Hyundai Communications & Network" } }, { "::112.72.192.0/116" : { "isp" : "Hyundai Communications & Network", "organization" : "Hyundai Communications & Network" } }, { "::112.72.224.0/115" : { "isp" : "Hyundai Communications & Network", "organization" : "Hyundai Communications & Network" } }, { "::112.76.0.0/111" : { "isp" : "Dacom-pubnetplus", "organization" : "Dacom-pubnetplus" } }, { "::112.121.0.0/115" : { "isp" : "Tbroad Abc Broadcasting Co.,ltd.", "organization" : "Tbroad Abc Broadcasting Co.,ltd." } }, { "::113.30.0.0/116" : { "isp" : "TBROAD Dongdaemun cable networks,Inc.", "organization" : "TBROAD Dongdaemun cable networks,Inc." } }, { "::113.30.32.0/116" : { "isp" : "TBROAD Dongdaemun cable networks,Inc.", "organization" : "TBROAD Dongdaemun cable networks,Inc." } }, { "::113.30.64.0/116" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::113.30.96.0/116" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::113.30.121.0/120" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::113.30.122.0/119" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::113.30.124.0/120" : { "isp" : "HCLC", "organization" : "HCLC" } }, { "::113.61.16.0/116" : { "isp" : "Korea Cable TV Jeonboog Broadcast", "organization" : "Korea Cable TV Jeonboog Broadcast" } }, { "::113.130.66.0/119" : { "isp" : "ONSE Telecom", "organization" : "ONSE Telecom" } }, { "::113.130.68.0/119" : { "isp" : "ONSE Telecom", "organization" : "ONSE Telecom" } }, { "::113.130.128.0/116" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::113.130.208.0/116" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::113.131.16.0/116" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::113.131.192.0/116" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::114.23.240.0/120" : { "isp" : "Swiift Internet Limited" } }, { "::114.30.48.0/116" : { "isp" : "korea cable pohang broadcasting", "organization" : "korea cable pohang broadcasting" } }, { "::114.30.128.0/113" : { "isp" : "HO Nam Cable TV co.,LTD", "organization" : "HO Nam Cable TV co.,LTD" } }, { "::114.31.48.0/116" : { "isp" : "HyosungITX", "organization" : "HyosungITX" } }, { "::114.108.144.0/117" : { "isp" : "Lg Dacom Kidc", "organization" : "Lg Dacom Kidc" } }, { "::114.108.160.0/116" : { "isp" : "Lg Dacom Kidc", "organization" : "Lg Dacom Kidc" } }, { "::114.108.176.0/118" : { "isp" : "Lg Dacom Kidc", "organization" : "Lg Dacom Kidc" } }, { "::114.141.224.0/116" : { "isp" : "Piranha Systems", "organization" : "Piranha Systems" } }, { "::114.179.160.0/115" : { "isp" : "GLBB" } }, { "::115.68.16.0/116" : { "isp" : "Smileserv", "organization" : "Smileserv" } }, { "::115.71.0.0/116" : { "isp" : "G&j, Ltd.", "organization" : "G&j, Ltd." } }, { "::115.144.16.0/116" : { "isp" : "HAIonNet", "organization" : "HAIonNet" } }, { "::115.144.224.0/116" : { "isp" : "HAIonNet", "organization" : "HAIonNet" } }, { "::116.67.0.0/113" : { "isp" : "National Computing & Information Agency", "organization" : "National Computing & Information Agency" } }, { "::116.68.32.0/115" : { "isp" : "Korea Nazarene University", "organization" : "Korea Nazarene University" } }, { "::116.90.216.0/117" : { "isp" : "Catholic University of DAEGU", "organization" : "Catholic University of DAEGU" } }, { "::116.200.16.0/116" : { "isp" : "Korea Telecom Freetel Corp.", "organization" : "Korea Telecom Freetel Corp." } }, { "::116.201.0.0/116" : { "isp" : "Korea Telecom Freetel Corp.", "organization" : "Korea Telecom Freetel Corp." } }, { "::116.201.240.0/116" : { "isp" : "Korea Telecom Freetel Corp.", "organization" : "Korea Telecom Freetel Corp." } }, { "::117.58.132.0/118" : { "isp" : "TCN Daegu Broadcasting Co., Ltd", "organization" : "TCN Daegu Broadcasting Co., Ltd" } }, { "::117.58.136.0/117" : { "isp" : "TCN Daegu Broadcasting Co., Ltd", "organization" : "TCN Daegu Broadcasting Co., Ltd" } }, { "::117.128.0.0/106" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd.", "isp" : "Guangdong Mobile", "organization" : "Guangdong Mobile" } }, { "::118.67.128.0/115" : { "isp" : "NURILINK", "organization" : "NURILINK" } }, { "::118.67.160.0/116" : { "isp" : "NURILINK", "organization" : "NURILINK" } }, { "::118.67.176.0/116" : { "isp" : "NURILINK", "organization" : "SRUN" } }, { "::118.91.96.0/115" : { "isp" : "Tbroad Gangseo", "organization" : "Tbroad Gangseo" } }, { "::118.234.112.0/116" : { "isp" : "Korea Telecom Freetel Corp.", "organization" : "Korea Telecom Freetel Corp." } }, { "::119.30.136.0/118" : { "isp" : "IP4 Networks, Inc.", "organization" : "IP4 Networks, Inc." } }, { "::119.63.224.0/116" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::119.77.108.0/118" : { "isp" : "Korea Cable TV Kwangju Broadcast", "organization" : "Korea Cable TV Kwangju Broadcast" } }, { "::119.235.240.0/117" : { "isp" : "Cmb Taegu Dongbu Broadcast", "organization" : "Cmb Taegu Dongbu Broadcast" } }, { "::120.73.0.0/112" : { "isp" : "KUMHO", "organization" : "KUMHO" } }, { "::120.136.6.0/120" : { "organization" : "Maxum Data Ltd" } }, { "::120.192.0.0/106" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd.", "isp" : "Guangdong Mobile", "organization" : "Guangdong Mobile" } }, { "::121.0.128.0/118" : { "isp" : "Duruan", "organization" : "Duruan" } }, { "::121.0.144.0/118" : { "isp" : "Duruan", "organization" : "Duruan" } }, { "::121.254.224.0/116" : { "isp" : "Lg Dacom Kidc", "organization" : "Lg Dacom Kidc" } }, { "::122.128.64.0/117" : { "isp" : "CMB Kwnagju Broadcasting", "organization" : "CMB Kwnagju Broadcasting" } }, { "::122.128.72.0/118" : { "isp" : "CMB Kwnagju Broadcasting", "organization" : "CMB Kwnagju Broadcasting" } }, { "::122.252.192.0/115" : { "isp" : "CMB", "organization" : "CMB" } }, { "::123.98.192.0/115" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::123.254.64.0/115" : { "isp" : "Cj-hellovision", "organization" : "Cj-hellovision" } }, { "::124.0.34.0/120" : { "isp" : "SK Telecom", "organization" : "SK Telecom" } }, { "::124.0.203.0/120" : { "isp" : "SK Telecom", "organization" : "SK Telecom" } }, { "::124.198.0.0/116" : { "isp" : "HAIonNet", "organization" : "HAIonNet" } }, { "::124.198.112.0/116" : { "isp" : "HAIonNet", "organization" : "HAIonNet" } }, { "::126.0.0.0/104" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp.", "isp" : "Softbank BB Corp", "organization" : "Softbank BB Corp" } }, { "::129.90.0.0/112" : { "isp" : "Intevep S.A.", "organization" : "Intevep S.A." } }, { "::131.178.0.0/112" : { "isp" : "Instituto Tecnológico y de Estudios Superiores de", "organization" : "Instituto Tecnológico y de Estudios Superiores de" } }, { "::132.0.0.0/106" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "::132.247.0.0/112" : { "isp" : "Universidad Nacional Autonoma de Mexico", "organization" : "Universidad Nacional Autonoma de Mexico" } }, { "::132.248.0.0/112" : { "isp" : "Universidad Nacional Autonoma de Mexico", "organization" : "Universidad Nacional Autonoma de Mexico" } }, { "::132.254.0.0/112" : { "isp" : "Instituto Tecnológico y de Estudios Superiores de", "organization" : "Instituto Tecnológico y de Estudios Superiores de" } }, { "::134.90.248.0/117" : { "organization" : "Geny SRL" } }, { "::139.82.0.0/112" : { "isp" : "Pontificia Universidade Catolica do Rio de Janeiro", "organization" : "Pontificia Universidade Catolica do Rio de Janeiro" } }, { "::140.148.0.0/112" : { "isp" : "Universidad de Las Americas-Puebla", "organization" : "Universidad de Las Americas-Puebla" } }, { "::140.191.0.0/112" : { "isp" : "United Nations Development Programme", "organization" : "United Nations Development Programme" } }, { "::141.208.0.0/112" : { "isp" : "TeliaSonera Finland Oyj", "organization" : "TeliaSonera Finland Oyj" } }, { "::142.217.208.0/118" : { "autonomous_system_number" : 35911 } }, { "::142.217.212.0/119" : { "autonomous_system_number" : 35911 } }, { "::142.217.214.0/120" : { "autonomous_system_number" : 35911, "isp" : "Telebec", "organization" : "LINO Solutions Internet de Télébec" } }, { "::142.217.215.0/120" : { "autonomous_system_number" : 35911 } }, { "::142.217.216.0/117" : { "autonomous_system_number" : 35911 } }, { "::142.217.224.0/117" : { "autonomous_system_number" : 35911 } }, { "::142.217.232.0/118" : { "autonomous_system_number" : 35911 } }, { "::142.217.236.0/119" : { "autonomous_system_number" : 35911 } }, { "::142.217.238.0/120" : { "autonomous_system_number" : 35911 } }, { "::143.54.0.0/112" : { "isp" : "Universidade Federal do Rio Grande do Sul", "organization" : "Universidade Federal do Rio Grande do Sul" } }, { "::143.106.0.0/112" : { "isp" : "Universidade Estadual de Campinas - UNICAMP", "organization" : "Universidade Estadual de Campinas - UNICAMP" } }, { "::143.107.0.0/112" : { "isp" : "Universidade de Sao Paulo", "organization" : "Universidade de Sao Paulo" } }, { "::143.108.0.0/112" : { "isp" : "Fundacao de Amparo a Pesquisa do Estado de Sao Pau", "organization" : "Fundacao de Amparo a Pesquisa do Estado de Sao Pau" } }, { "::144.22.0.0/111" : { "isp" : "Oracle Corporation", "organization" : "Oracle Corporation" } }, { "::145.15.0.0/112" : { "isp" : "Nederlandse Spoorwegen PI block", "organization" : "Nederlandse Spoorwegen PI block" } }, { "::145.128.0.0/106" : { "autonomous_system_number" : 1103, "autonomous_system_organization" : "SURFnet, The Netherlands", "isp" : "SURFnet, The Netherlands", "organization" : "SURFnet, The Netherlands" } }, { "::146.83.0.0/112" : { "isp" : "Red Universitaria Nacional", "organization" : "Red Universitaria Nacional" } }, { "::146.134.0.0/112" : { "isp" : "Laboratorio Nacional de Computacao Cientifica", "organization" : "Laboratorio Nacional de Computacao Cientifica" } }, { "::146.155.0.0/112" : { "isp" : "SECICO", "organization" : "SECICO" } }, { "::146.164.0.0/112" : { "isp" : "Federal University of Rio de Janeiro", "organization" : "Federal University of Rio de Janeiro" } }, { "::146.255.0.0/121" : { "organization" : "Surebroadband Ltd" } }, { "::147.65.0.0/112" : { "isp" : "Instituto de Matematica Pura e Aplicada", "organization" : "Instituto de Matematica Pura e Aplicada" } }, { "::147.194.0.0/112" : { "isp" : "Comwave" } }, { "::148.0.0.0/112" : { "isp" : "Claro Dominican Republic", "organization" : "Claro Dominican Republic" } }, { "::148.101.0.0/112" : { "isp" : "Claro Dominican Republic", "organization" : "Claro Dominican Republic" } }, { "::148.201.0.0/112" : { "isp" : "Iteso, A.c.", "organization" : "Iteso, A.c." } }, { "::148.202.0.0/112" : { "isp" : "Universidad de Guadalajara", "organization" : "Universidad de Guadalajara" } }, { "::148.203.0.0/112" : { "isp" : "Volkswagen de Mexico, S.A. de C.V.", "organization" : "Volkswagen de Mexico, S.A. de C.V." } }, { "::148.204.0.0/112" : { "isp" : "Instituto Politecnico Nacional", "organization" : "Instituto Politecnico Nacional" } }, { "::148.205.0.0/112" : { "isp" : "Instituto Tecnologico Autonomo de Mexico(ITAM)", "organization" : "Instituto Tecnologico Autonomo de Mexico(ITAM)" } }, { "::148.206.0.0/112" : { "isp" : "Universidad Autonoma Metropolitana", "organization" : "Universidad Autonoma Metropolitana" } }, { "::148.207.0.0/120" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.1.0/120" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "CONACYT" } }, { "::148.207.2.0/119" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.4.0/118" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.8.0/117" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.16.0/116" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.32.0/115" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.64.0/114" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.207.128.0/113" : { "isp" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)", "organization" : "Consejo Nacional de Ciencia y Tenologia (CONACYT)" } }, { "::148.208.0.0/112" : { "isp" : "Secretaria de Educacion e Investigacion Tecnologic", "organization" : "Secretaria de Educacion e Investigacion Tecnologic" } }, { "::148.209.0.0/112" : { "isp" : "Universidad Autonoma de Yucatan", "organization" : "Universidad Autonoma de Yucatan" } }, { "::148.210.0.0/112" : { "isp" : "Universidad Autonoma De Ciudad Juarez", "organization" : "Universidad Autonoma De Ciudad Juarez" } }, { "::148.211.0.0/112" : { "isp" : "Universidad Autonoma De Aguascalientes", "organization" : "Universidad Autonoma De Aguascalientes" } }, { "::148.212.0.0/112" : { "isp" : "Universidad Autonoma de Coahuila", "organization" : "Universidad Autonoma de Coahuila" } }, { "::148.213.0.0/112" : { "isp" : "Universidad de Colima", "organization" : "Universidad de Colima" } }, { "::148.214.0.0/112" : { "isp" : "Universidad de Guanajuato", "organization" : "Universidad de Guanajuato" } }, { "::148.215.0.0/112" : { "isp" : "Universidad Autonoma del Estado de Mexico", "organization" : "Universidad Autonoma del Estado de Mexico" } }, { "::148.216.0.0/112" : { "isp" : "Universidad Michoacana de San Nicolas de Hidalgo", "organization" : "Universidad Michoacana de San Nicolas de Hidalgo" } }, { "::148.217.0.0/112" : { "isp" : "Universidad Autonoma De Zacatecas", "organization" : "Universidad Autonoma De Zacatecas" } }, { "::148.218.0.0/112" : { "isp" : "Universidad Autonoma Del Estado De Morelos", "organization" : "Universidad Autonoma Del Estado De Morelos" } }, { "::148.219.0.0/112" : { "isp" : "Universidad Autonoma de Tlaxcala", "organization" : "Universidad Autonoma de Tlaxcala" } }, { "::148.220.0.0/112" : { "isp" : "Universidad Autonoma de Queretaro", "organization" : "Universidad Autonoma de Queretaro" } }, { "::148.221.0.0/112" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.222.0.0/112" : { "isp" : "Universidad Autonóma de Chiapas", "organization" : "Universidad Autonóma de Chiapas" } }, { "::148.223.0.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Grupo Domos" } }, { "::148.223.0.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.0.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.0.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.0.128/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Informacion Medica de Desarrollo - INFOMED" } }, { "::148.223.0.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.1.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Banorte (Clase C)" } }, { "::148.223.2.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.4.0/118" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.8.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.10.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.11.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.11.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Editora de Mar" } }, { "::148.223.11.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.11.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.11.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.12.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.13.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Gestión de direccionamiento UniNet" } }, { "::148.223.14.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.16.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "UNL" } }, { "::148.223.16.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.16.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.16.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.16.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Multimedios Estrella de Oro" } }, { "::148.223.17.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.18.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.20.0/118" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.24.0/117" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.32.0/115" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.64.0/115" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.96.0/117" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.104.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.32/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.48/125" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.56/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.60/127" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.62/128" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Inea Parroquia De Nuestro Senor De La Misericordia" } }, { "::148.223.106.63/128" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.128/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.192/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Kappa Imagenes Digitales" } }, { "::148.223.106.208/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.106.224/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.107.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.108.0/118" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.112.0/116" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.128.0/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.128.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Clara Alfaro" } }, { "::148.223.128.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "INAOE" } }, { "::148.223.128.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.128.128/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.128.160/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Conexiones Worldspan Tuxtla" } }, { "::148.223.128.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.129.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "TapNet" } }, { "::148.223.130.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.16/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.20/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Cia Periodistica Del Sol De Puebla" } }, { "::148.223.132.24/125" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.132.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.133.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.134.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.135.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.135.32/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Sergio Perez Bocanegra" } }, { "::148.223.135.48/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.135.64/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.135.96/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "CCYTT" } }, { "::148.223.135.112/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.135.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.136.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Cliente Tnet (Clase C)" } }, { "::148.223.137.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Conexiones Worldspan" } }, { "::148.223.137.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.137.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.137.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.138.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.139.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Enrique Estrada" } }, { "::148.223.139.32/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Ciber Café La Academia" } }, { "::148.223.139.48/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.139.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.139.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.140.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.0/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.128/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.192/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.224/125" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.232/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Centro De Capacitacion En Computacion De San Andre" } }, { "::148.223.141.236/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.141.240/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Karlinka" } }, { "::148.223.142.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.64/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.96/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Centro Profesional de Computación del Golfo" } }, { "::148.223.142.112/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.128/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.144/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Eduardo Guerrero" } }, { "::148.223.142.160/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.142.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.143.0/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.143.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Univ. Tec.Tabasco" } }, { "::148.223.143.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.143.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.143.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.144.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.145.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Integri" } }, { "::148.223.145.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.145.32/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.145.48/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Coremi" } }, { "::148.223.145.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.145.128/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Felipe Batista" } }, { "::148.223.145.144/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Hector Ruben Fdez" } }, { "::148.223.145.160/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.145.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.0/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Marco Antonio Guevara" } }, { "::148.223.146.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.128/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.192/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Browse Puebla" } }, { "::148.223.146.208/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.146.224/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.147.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.148.0/119" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.150.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Conexiones Worldspan" } }, { "::148.223.150.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.150.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.150.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.151.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.152.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.16/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.20/126" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Bursametrica Management" } }, { "::148.223.153.24/125" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.64/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.153.128/121" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.154.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.0/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.32/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Mexicana de Importaciones y Exportaciones" } }, { "::148.223.155.48/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Electronica Steren" } }, { "::148.223.155.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.128/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.160/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.155.176/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Agencia Aduanera de America" } }, { "::148.223.155.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.156.0/118" : { "isp" : "Uninet S.A. de C.V.", "organization" : "CONECEL" } }, { "::148.223.160.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Centro de Computo Juce" } }, { "::148.223.161.0/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.161.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.161.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Canacar" } }, { "::148.223.161.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.161.128/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.161.192/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Trainingware" } }, { "::148.223.161.208/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.161.224/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Multiservicios Promocionales" } }, { "::148.223.162.0/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Hipotecaria Nacional" } }, { "::148.223.162.16/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Empaques de Carton Uninet" } }, { "::148.223.162.32/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Conexiones Worldspan" } }, { "::148.223.162.64/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "SNTE" } }, { "::148.223.162.80/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.162.96/123" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.162.128/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Agencia de Comunicaion Interactiva" } }, { "::148.223.162.144/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.162.160/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "IFE Tlalpan" } }, { "::148.223.162.176/124" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.162.192/122" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.163.0/120" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.164.0/118" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.168.0/117" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.176.0/116" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.223.192.0/114" : { "isp" : "Uninet S.A. de C.V.", "organization" : "Uninet S.A. de C.V." } }, { "::148.240.0.0/119" : { "isp" : "Axtel Infraestructura-core", "organization" : "Axtel Infraestructura-core" } }, { "::148.243.0.0/112" : { "isp" : "Axtel, S.A.B. de C.V.", "organization" : "Axtel, S.A.B. de C.V." } }, { "::148.245.0.0/120" : { "isp" : "Informacion Al Dia Y Comput SA", "organization" : "Informacion Al Dia Y Comput SA" } }, { "::149.5.110.0/119" : { "organization" : "Fibrestream Limited" } }, { "::149.101.100.0/124" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "CELLCO-PART", "isp" : "Verizon Wireless", "mobile_country_code" : "310", "mobile_network_code" : "004", "organization" : "Verizon Wireless" } }, { "::154.50.194.0/119" : { "organization" : "Wireless Connect Ltd." } }, { "::168.70.0.0/112" : { "organization" : "HKTNET" } }, { "::169.158.0.0/112" : { "isp" : "Centro Nacional de Intercambio Automatizado", "organization" : "Centro Nacional de Intercambio Automatizado" } }, { "::171.25.212.0/118" : { "organization" : "F-KOM" } }, { "::172.128.0.0/106" : { "autonomous_system_number" : 1668, "autonomous_system_organization" : "AOL Transit Data Network", "isp" : "America Online", "organization" : "America Online" } }, { "::173.227.197.0/120" : { "organization" : "Circle 1 Network" } }, { "::174.36.207.24/128" : { "organization" : "Goversoft" } }, { "::174.127.224.0/115" : { "isp" : "Condointernet.net" } }, { "::174.192.0.0/106" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless", "isp" : "Verizon Wireless", "organization" : "Verizon Wireless" } }, { "::176.128.0.0/106" : { "autonomous_system_number" : 12844, "autonomous_system_organization" : "Bouygues Telecom", "isp" : "Bouygues Telecom", "organization" : "Bouygues Telecom" } }, { "::177.0.0.0/110" : { "isp" : "Oi Internet", "organization" : "Oi Internet" } }, { "::177.10.0.0/116" : { "isp" : "Regency Comunicações Ltda", "organization" : "Regency Comunicações Ltda" } }, { "::177.10.24.0/117" : { "isp" : "M.A. Informática Ltda.", "organization" : "M.A. Informática Ltda." } }, { "::177.10.48.0/117" : { "isp" : "Banner Serviços de Telecom e Internet Ltda.", "organization" : "Banner Serviços de Telecom e Internet Ltda." } }, { "::177.10.56.0/117" : { "isp" : "Hoinaski & Sklasky Ltda", "organization" : "Hoinaski & Sklasky Ltda" } }, { "::177.10.64.0/117" : { "isp" : "Silveira & Ziquinatti Ltda", "organization" : "Silveira & Ziquinatti Ltda" } }, { "::177.10.96.0/117" : { "isp" : "Naja Telecomunicações Ltda.", "organization" : "Naja Telecomunicações Ltda." } }, { "::177.10.112.0/118" : { "isp" : "Eletrosul Centrais Elétricas S.A.", "organization" : "Eletrosul Centrais Elétricas S.A." } }, { "::177.10.116.0/118" : { "isp" : "Space Net Serv. De TelecomunicaÇÃo Em Inf. Ltda-me", "organization" : "Space Net Serv. De TelecomunicaÇÃo Em Inf. Ltda-me" } }, { "::177.10.120.0/118" : { "isp" : "JF Soluções Informática Ltda.", "organization" : "JF Soluções Informática Ltda." } }, { "::177.10.124.0/118" : { "isp" : "Info House Informática e Papeis Ltda", "organization" : "Info House Informática e Papeis Ltda" } }, { "::177.10.132.0/118" : { "isp" : "P3 Host Internet Brasil", "organization" : "P3 Host Internet Brasil" } }, { "::177.10.136.0/118" : { "isp" : "Bluephone Solucoes Tecnologicas Ltda", "organization" : "Bluephone Solucoes Tecnologicas Ltda" } }, { "::177.10.144.0/117" : { "isp" : "NETWS Telecomunicações Ltda.", "organization" : "NETWS Telecomunicações Ltda." } }, { "::177.10.160.0/117" : { "isp" : "Chapeco Tecnologia em Telecomunicações Ltda.", "organization" : "Chapeco Tecnologia em Telecomunicações Ltda." } }, { "::177.10.192.0/117" : { "isp" : "Afinet Solucoes Em Tecnologia Da Informacao Ltda", "organization" : "Afinet Solucoes Em Tecnologia Da Informacao Ltda" } }, { "::177.10.208.0/117" : { "isp" : "Mil Negocios Ltda.", "organization" : "Mil Negocios Ltda." } }, { "::177.10.216.0/118" : { "isp" : "Fox Conect Provedor de Internet LTDA", "organization" : "Fox Conect Provedor de Internet LTDA" } }, { "::177.10.224.0/117" : { "isp" : "G30 Telecom ServiÇos Em TelecomunicaÇÕes Ltda", "organization" : "G30 Telecom ServiÇos Em TelecomunicaÇÕes Ltda" } }, { "::177.10.240.0/117" : { "isp" : "Midasnet Telecomunicacoes Ltda", "organization" : "Midasnet Telecomunicacoes Ltda" } }, { "::177.10.248.0/117" : { "isp" : "Viveiros & Araujo Serviços de Provedores da Intern", "organization" : "Viveiros & Araujo Serviços de Provedores da Intern" } }, { "::177.11.16.0/118" : { "isp" : "Rodolfo Romao De Oliveira Neto & Cia Ltda", "organization" : "Rodolfo Romao De Oliveira Neto & Cia Ltda" } }, { "::177.11.24.0/118" : { "isp" : "Ajaxtel Telecomunicações Ltda.", "organization" : "Ajaxtel Telecomunicações Ltda." } }, { "::177.11.32.0/117" : { "isp" : "Mcnet Serviços de Comunicações Ltda", "organization" : "Mcnet Serviços de Comunicações Ltda" } }, { "::177.11.56.0/118" : { "isp" : "R.D.S. Bortoluzzi & Cia Ltda - ME", "organization" : "R.D.S. Bortoluzzi & Cia Ltda - ME" } }, { "::177.11.60.0/118" : { "isp" : "Tolrs Informática Ltda", "organization" : "Tolrs Informática Ltda" } }, { "::177.11.64.0/120" : { "isp" : "Digicontrol ServiÇos De Provedores Ltda", "organization" : "Pablo William Silva Tavares de Lira" } }, { "::177.11.65.0/120" : { "isp" : "Digicontrol ServiÇos De Provedores Ltda", "organization" : "Digicontrol ServiÇos De Provedores Ltda" } }, { "::177.11.66.0/119" : { "isp" : "Digicontrol ServiÇos De Provedores Ltda", "organization" : "Digicontrol ServiÇos De Provedores Ltda" } }, { "::177.11.68.0/118" : { "isp" : "Digicontrol ServiÇos De Provedores Ltda", "organization" : "Digicontrol ServiÇos De Provedores Ltda" } }, { "::177.11.80.0/118" : { "isp" : "PRIMEHOST do BRASIL Ltda", "organization" : "PRIMEHOST do BRASIL Ltda" } }, { "::177.11.84.0/118" : { "isp" : "Minas Turbo Provedor de Internet", "organization" : "Minas Turbo Provedor de Internet" } }, { "::177.11.88.0/118" : { "isp" : "Br2 Internet Ltda", "organization" : "Br2 Internet Ltda" } }, { "::177.11.100.0/118" : { "isp" : "Conexis Internet Provider Ltda - Me", "organization" : "Conexis Internet Provider Ltda - Me" } }, { "::177.11.104.0/118" : { "isp" : "Nolasco & Nonnenmacher Comercio e Rep. Ltda.", "organization" : "Nolasco & Nonnenmacher Comercio e Rep. Ltda." } }, { "::177.11.112.0/117" : { "isp" : "Interneith Via Radio Ltda.", "organization" : "Interneith Via Radio Ltda." } }, { "::177.11.144.0/117" : { "isp" : "Apn - Processamento de Dados e Soluçoes em Interne", "organization" : "Apn - Processamento de Dados e Soluçoes em Interne" } }, { "::177.11.152.0/117" : { "isp" : "Minas Net Ldta Me", "organization" : "Minas Net Ldta Me" } }, { "::177.11.160.0/117" : { "isp" : "Netway Provedor De Internet Ltda", "organization" : "Netway Provedor De Internet Ltda" } }, { "::177.11.176.0/117" : { "isp" : "Catanduva sistemas a cabo ltda.", "organization" : "Catanduva sistemas a cabo ltda." } }, { "::177.11.184.0/117" : { "isp" : "Telecomunicacões Minas Mais Ltda", "organization" : "Telecomunicacões Minas Mais Ltda" } }, { "::177.11.192.0/117" : { "isp" : "Bom Tempo Informática Ltda", "organization" : "Bom Tempo Informática Ltda" } }, { "::177.11.208.0/118" : { "isp" : "Arikinet Internet Ltda - EPP", "organization" : "Arikinet Internet Ltda - EPP" } }, { "::177.11.212.0/118" : { "isp" : "E&L Producoes de Software Ltda", "organization" : "E&L Producoes de Software Ltda" } }, { "::177.11.232.0/117" : { "isp" : "Microfox Informatica Ltda", "organization" : "Microfox Informatica Ltda" } }, { "::177.11.240.0/118" : { "isp" : "Mapfre Vera Cruz Seguradora S/a", "organization" : "Mapfre Vera Cruz Seguradora S/a" } }, { "::177.11.248.0/118" : { "isp" : "Norte Line Telecomunicações Ltda.", "organization" : "Norte Line Telecomunicações Ltda." } }, { "::177.12.0.0/114" : { "isp" : "Predialnet Provedor De Internet Ltda", "organization" : "Predialnet Provedor De Internet Ltda" } }, { "::177.12.128.0/115" : { "isp" : "Pronto Net Ltda.", "organization" : "Pronto Net Ltda." } }, { "::177.12.160.0/117" : { "organization" : "IPV6 Internet Ltda" } }, { "::177.12.176.0/116" : { "isp" : "W r de bel entreterimentos s/s ltda", "organization" : "W r de bel entreterimentos s/s ltda" } }, { "::177.12.192.0/116" : { "isp" : "Alonso Oliveira Neto Me", "organization" : "Alonso Oliveira Neto Me" } }, { "::177.12.208.0/116" : { "isp" : "IP2 Telecomunicação Ltda.", "organization" : "IP2 Telecomunicação Ltda." } }, { "::177.12.240.0/116" : { "isp" : "TURBO 10 Telecomunicações Ltda.", "organization" : "TURBO 10 Telecomunicações Ltda." } }, { "::177.100.0.0/112" : { "isp" : "Vcb Provedor De Acesso Ltda", "organization" : "Vcb Provedor De Acesso Ltda" } }, { "::177.101.0.0/116" : { "isp" : "Click.com telecomunicações ltda-me", "organization" : "Click.com telecomunicações ltda-me" } }, { "::177.101.16.0/116" : { "isp" : "Universidade Estadual De Ponta Grossa", "organization" : "Universidade Estadual De Ponta Grossa" } }, { "::177.101.32.0/117" : { "isp" : "Unica Tecnology Ltda", "organization" : "Unica Tecnology Ltda" } }, { "::177.101.40.0/118" : { "isp" : "Unica Tecnology Ltda", "organization" : "Unica Tecnology Ltda" } }, { "::177.101.44.0/118" : { "isp" : "Unica Tecnology Ltda", "organization" : "Microtell Informatica - Comercio & Prestacao De S" } }, { "::177.101.80.0/116" : { "isp" : "Intercol - Internet Colatina Ltda-ME", "organization" : "Intercol - Internet Colatina Ltda-ME" } }, { "::177.101.96.0/115" : { "isp" : "T.p.a. InformÁtica Ltda", "organization" : "T.p.a. InformÁtica Ltda" } }, { "::177.101.128.0/116" : { "isp" : "Ampernet Telecomunicações Ltda", "organization" : "Ampernet Telecomunicações Ltda" } }, { "::177.101.176.0/116" : { "isp" : "Mar Provedor de Internet Ltda", "organization" : "Mar Provedor de Internet Ltda" } }, { "::177.101.192.0/114" : { "isp" : "Sul Americana Tecnologia e Informática Ltda.", "organization" : "Sul Americana Tecnologia e Informática Ltda." } }, { "::177.102.0.0/111" : { "isp" : "Vivo", "organization" : "Vivo" } }, { "::177.104.0.0/116" : { "isp" : "Jgm Brasil TelecomunicaÇÕes Ltda", "organization" : "Jgm Brasil TelecomunicaÇÕes Ltda" } }, { "::177.104.16.0/116" : { "isp" : "Inetsafe Comercio De Equipamentos Eletronicos Ltda", "organization" : "Inetsafe Comercio De Equipamentos Eletronicos Ltda" } }, { "::177.104.64.0/115" : { "isp" : "Infoline - Comunicações e Informações Eletrônicas", "organization" : "Infoline - Comunicações e Informações Eletrônicas" } }, { "::177.104.192.0/116" : { "isp" : "J W Mateus Informatica - Me", "organization" : "J W Mateus Informatica - Me" } }, { "::177.104.208.0/116" : { "isp" : "Brasconect Informatica LTDA", "organization" : "Brasconect Informatica LTDA" } }, { "::177.104.224.0/116" : { "isp" : "Tech Cable do Brasil Sist. de Telec. Ltda", "organization" : "Tech Cable do Brasil Sist. de Telec. Ltda" } }, { "::177.105.0.0/114" : { "isp" : "Ufla - Universidade Federal De Lavras", "organization" : "Ufla - Universidade Federal De Lavras" } }, { "::177.105.64.0/116" : { "isp" : "Netprimus Tecnologia Ltda", "organization" : "Netprimus Tecnologia Ltda" } }, { "::177.105.112.0/116" : { "isp" : "Evanildo Barbeta Boituva ME", "organization" : "Evanildo Barbeta Boituva ME" } }, { "::177.105.160.0/116" : { "isp" : "LB Redes Telecomunicações LTDA", "organization" : "LB Redes Telecomunicações LTDA" } }, { "::177.105.176.0/116" : { "isp" : "Sidys Comunicações Ltda.", "organization" : "Sidys Comunicações Ltda." } }, { "::177.105.208.0/116" : { "isp" : "Portalmail Informatica Ltda", "organization" : "Portalmail Informatica Ltda" } }, { "::177.105.224.0/116" : { "isp" : "Internet Pinheirense Ltda - ME", "organization" : "Internet Pinheirense Ltda - ME" } }, { "::177.106.0.0/112" : { "isp" : "CTBC", "organization" : "CTBC" } }, { "::177.107.0.0/116" : { "isp" : "Byteweb Comunicação Multimídia Ltda.", "organization" : "Byteweb Comunicação Multimídia Ltda." } }, { "::177.107.64.0/116" : { "isp" : "Redenilf Serviços de Telecomunicações Ltda", "organization" : "Redenilf Serviços de Telecomunicações Ltda" } }, { "::177.107.96.0/116" : { "isp" : "Star Conect Telecom Ltda", "organization" : "Star Conect Telecom Ltda" } }, { "::177.107.112.0/116" : { "isp" : "OpçãoNet Informática Ltda ME", "organization" : "OpçãoNet Informática Ltda ME" } }, { "::177.107.128.0/115" : { "isp" : "Link Sol LTDA - ME", "organization" : "Link Sol LTDA - ME" } }, { "::177.107.178.0/122" : { "isp" : "New Master Provedor De Acesso A Internet", "organization" : "New Master Provedor De Acesso A Internet" } }, { "::177.107.190.0/121" : { "isp" : "New Master Provedor De Acesso A Internet", "organization" : "New Master Provedor De Acesso A Internet" } }, { "::177.107.224.0/115" : { "isp" : "Gigalink de Nova Friburgo Soluções em Rede Multimi", "organization" : "Gigalink de Nova Friburgo Soluções em Rede Multimi" } }, { "::177.108.0.0/110" : { "isp" : "Tim Celular S.A.", "organization" : "Tim Celular S.A." } }, { "::177.112.0.0/109" : { "isp" : "Vivo", "organization" : "Vivo" } }, { "::177.120.0.0/111" : { "isp" : "Tim Celular S.A.", "organization" : "Tim Celular S.A." } }, { "::180.0.0.0/106" : { "autonomous_system_number" : 4713, "autonomous_system_organization" : "NTT Communications Corporation", "isp" : "NTT", "organization" : "NTT" } }, { "::180.131.208.0/116" : { "isp" : "GLBB" } }, { "::180.131.224.0/115" : { "isp" : "GLBB" } }, { "::182.54.235.0/120" : { "organization" : "GPLHost" } }, { "::183.0.0.0/106" : { "autonomous_system_number" : 4134, "autonomous_system_organization" : "Chinanet", "isp" : "China Telecom", "organization" : "China Telecom" } }, { "::183.192.0.0/106" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd.", "isp" : "Guangdong Mobile", "organization" : "Guangdong Mobile" } }, { "::184.71.70.142/128" : { "organization" : "Trans Canada Internet" } }, { "::184.170.240.0/119" : { "organization" : "QuickWeb Hosting Solutions" } }, { "::185.5.42.0/119" : { "isp" : "SmartLabs LLC" } }, { "::186.249.64.0/116" : { "organization" : "WE Radio Comunicação LTDA EPP" } }, { "::187.95.224.0/115" : { "organization" : "Voax Provedor de Internet" } }, { "::187.109.192.0/120" : { "organization" : "RedeTeleSul" } }, { "::188.35.4.0/118" : { "isp" : "CityLink ISP", "organization" : "CityLink Ltd" } }, { "::188.35.144.0/119" : { "organization" : "CityLink Ltd" } }, { "::188.35.149.0/120" : { "organization" : "indtelecom" } }, { "::188.138.21.170/128" : { "organization" : "MitiHost Solutions" } }, { "::190.110.5.0/120" : { "organization" : "FiberXpress Dominicana" } }, { "::190.113.240.0/118" : { "isp" : "FIX WIRELESS" } }, { "::192.102.6.0/119" : { "organization" : "HostVDS-NET" } }, { "::192.114.160.0/115" : { "isp" : "Golden Lines Cable", "organization" : "Golden Lines Cable" } }, { "::192.175.40.0/118" : { "organization" : "Fibrestream Limited" } }, { "::193.41.172.0/118" : { "organization" : "P.P.H.U Multicom" } }, { "::193.43.210.0/119" : { "organization" : "FOP Molochko Nina Vasilevna" } }, { "::193.43.246.250/128" : { "organization" : "Amdocs" } }, { "::193.67.0.0/112" : { "isp" : "Verizon Nederland B.V.", "organization" : "Verizon Nederland B.V." } }, { "::193.95.0.0/113" : { "isp" : "Agence Tunisienne Internet - ATI", "organization" : "Agence Tunisienne Internet - ATI" } }, { "::193.106.152.0/118" : { "organization" : "X-Com Partners" } }, { "::193.108.56.0/118" : { "isp" : "SLW Internet Service Ltd.", "organization" : "SLW Internet Service Ltd." } }, { "::193.130.58.96/124" : { "isp" : "Buckhaven High school", "organization" : "Buckhaven High school" } }, { "::193.170.79.0/120" : { "isp" : "University of Technology, Vienna", "organization" : "University of Technology, Vienna" } }, { "::193.183.144.0/120" : { "organization" : "H & M Hennes & Mauritz AB" } }, { "::193.227.0.0/114" : { "isp" : "Egyptian Universities Network", "organization" : "Egyptian Universities Network" } }, { "::193.235.18.0/119" : { "isp" : "AB Svenska Spel", "organization" : "AB Svenska Spel" } }, { "::193.235.20.0/119" : { "isp" : "AB Svenska Spel", "organization" : "AB Svenska Spel" } }, { "::194.8.240.0/119" : { "organization" : "CDcorp" } }, { "::194.28.112.0/118" : { "isp" : "Specialist Ltd." } }, { "::194.30.180.0/120" : { "organization" : "w3 GmbH" } }, { "::194.50.128.0/118" : { "isp" : "CityLink ISP" } }, { "::194.82.232.0/118" : { "isp" : "Forestry Commision", "organization" : "Forestry Commision" } }, { "::194.84.23.0/121" : { "isp" : "WEB Hotel, Moscow", "organization" : "WEB Hotel, Moscow" } }, { "::194.105.206.0/120" : { "isp" : "Hotel Astoria network", "organization" : "Hotel Astoria network" } }, { "::194.117.119.228/126" : { "isp" : "Seaside Hotels, S.A.", "organization" : "Seaside Hotels, S.A." } }, { "::194.126.180.112/124" : { "organization" : "Small Private Enterprise Kvant-II" } }, { "::194.140.181.0/120" : { "organization" : "WICO" } }, { "::194.140.228.0/120" : { "organization" : "Sevonline" } }, { "::194.149.160.0/115" : { "isp" : "Free SAS", "organization" : "Free SAS" } }, { "::194.165.152.248/125" : { "isp" : "Rawdat Al-Ma'aref Schools & College", "organization" : "Rawdat Al-Ma'aref Schools & College" } }, { "::194.178.0.0/112" : { "isp" : "Verizon Nederland B.V.", "organization" : "Verizon Nederland B.V." } }, { "::194.242.234.0/119" : { "isp" : "CASPUR", "organization" : "CASPUR" } }, { "::194.242.236.0/118" : { "isp" : "CASPUR", "organization" : "CASPUR" } }, { "::194.242.240.0/119" : { "isp" : "CASPUR", "organization" : "CASPUR" } }, { "::195.22.192.0/115" : { "isp" : "TELECOM ITALIA SPARKLE S.p.A.", "organization" : "TELECOM ITALIA SPARKLE S.p.A." } }, { "::195.32.0.0/113" : { "isp" : "Officine Informatiche Srl", "organization" : "Officine Informatiche Srl" } }, { "::195.43.0.0/115" : { "isp" : "Egyptian National Scientific & Technical Informati", "organization" : "Egyptian National Scientific & Technical Informati" } }, { "::195.130.224.0/115" : { "isp" : "Tiscali SpA", "organization" : "Tiscali SpA" } }, { "::195.134.192.0/115" : { "isp" : "Interoute Communications Limited", "organization" : "Interoute Communications Limited" } }, { "::195.137.0.0/113" : { "isp" : "Tiscali UK Limited", "organization" : "Tiscali UK Limited" } }, { "::195.194.74.224/123" : { "isp" : "Blackpool Sixth Form College", "organization" : "Blackpool Sixth Form College" } }, { "::195.194.136.0/118" : { "isp" : "Aberdeen College", "organization" : "Aberdeen College" } }, { "::195.206.64.0/115" : { "isp" : "BT", "organization" : "BT" } }, { "::195.242.32.0/115" : { "isp" : "Verizon Sweden AB", "organization" : "Verizon Sweden AB" } }, { "::195.246.32.0/115" : { "isp" : "Egyptian Universities Network (EUN)", "organization" : "Egyptian Universities Network (EUN)" } }, { "::196.1.56.0/117" : { "isp" : "Frogfoot Networks", "organization" : "Frogfoot Networks" } }, { "::196.1.144.0/116" : { "isp" : "CMC Networks", "organization" : "CMC Networks" } }, { "::196.3.164.0/118" : { "isp" : "Global Internet Access", "organization" : "Global Internet Access" } }, { "::196.3.168.0/117" : { "isp" : "Global Internet Access", "organization" : "Global Internet Access" } }, { "::196.3.176.0/118" : { "isp" : "Global Internet Access", "organization" : "Global Internet Access" } }, { "::196.4.173.0/120" : { "isp" : "Gkn Chep SA", "organization" : "Gkn Chep SA" } }, { "::196.4.174.0/119" : { "isp" : "Gkn Chep SA", "organization" : "Gkn Chep SA" } }, { "::196.4.176.0/117" : { "isp" : "Gkn Chep SA", "organization" : "Gkn Chep SA" } }, { "::196.4.184.0/118" : { "isp" : "Gkn Chep SA", "organization" : "Gkn Chep SA" } }, { "::196.4.188.0/120" : { "isp" : "Gkn Chep SA", "organization" : "Gkn Chep SA" } }, { "::196.12.128.0/116" : { "isp" : "Rwandatel, SA", "organization" : "Rwandatel, SA" } }, { "::196.12.144.0/118" : { "isp" : "Rwandatel, SA", "organization" : "Wireless Broadband Customer" } }, { "::196.12.148.0/118" : { "isp" : "Rwandatel, SA", "organization" : "Rwandatel, SA" } }, { "::196.12.152.0/117" : { "isp" : "Rwandatel, SA", "organization" : "Rwandatel, SA" } }, { "::196.12.192.0/114" : { "isp" : "Wana Corporate", "organization" : "Wana Corporate" } }, { "::196.22.160.0/115" : { "isp" : "MWEB", "organization" : "MWEB" } }, { "::196.22.192.0/116" : { "isp" : "Data Pro Business Online", "organization" : "Data Pro Business Online" } }, { "::196.22.208.0/118" : { "isp" : "Data Pro Business Online", "organization" : "JHB Waverley MetroEthernet, Hosting and Lease Line" } }, { "::196.22.212.0/118" : { "isp" : "Data Pro Business Online", "organization" : "Data Pro Business Online" } }, { "::196.22.216.0/117" : { "isp" : "Data Pro Business Online", "organization" : "Data Pro Business Online" } }, { "::196.22.236.0/118" : { "isp" : "Durban Lease Line and Hosting Zone Range", "organization" : "Durban Lease Line and Hosting Zone Range" } }, { "::196.27.96.0/115" : { "isp" : "Zimbabwe Online", "organization" : "Zimbabwe Online" } }, { "::196.28.249.0/120" : { "isp" : "ONATEL", "organization" : "ONATEL" } }, { "::196.28.250.0/119" : { "isp" : "ONATEL", "organization" : "ONATEL" } }, { "::196.28.252.0/120" : { "isp" : "ONATEL", "organization" : "ONATEL" } }, { "::196.29.187.0/124" : { "isp" : "Al Salam Rotana Hotel- sudan", "organization" : "Al Salam Rotana Hotel- sudan" } }, { "::196.32.112.0/116" : { "isp" : "Universite de Bamako", "organization" : "Universite de Bamako" } }, { "::196.32.232.0/117" : { "isp" : "Amobia Communications", "organization" : "Amobia Communications" } }, { "::196.41.224.0/115" : { "isp" : "Sarl ICOSNET", "organization" : "Sarl ICOSNET" } }, { "::196.43.64.0/116" : { "isp" : "Allocated to Broad band internet in the following", "organization" : "Allocated to Broad band internet in the following" } }, { "::196.43.80.0/117" : { "isp" : "Allocated to Broad band internet in the following", "organization" : "Allocated to Broad band internet in the following" } }, { "::196.43.128.0/114" : { "isp" : "Research and Education Network of Uganda - RENU", "organization" : "Research and Education Network of Uganda - RENU" } }, { "::196.43.194.0/120" : { "isp" : "Association of African Universities", "organization" : "Association of African Universities" } }, { "::196.43.199.0/120" : { "isp" : "Zimbabwe Open University", "organization" : "Zimbabwe Open University" } }, { "::196.43.224.0/120" : { "isp" : "Nigeria Air Force", "organization" : "Nigeria Air Force" } }, { "::196.43.235.0/120" : { "isp" : "Bowen University", "organization" : "Bowen University" } }, { "::196.44.160.0/116" : { "isp" : "University of Dar es Salaam", "organization" : "University of Dar es Salaam" } }, { "::196.44.176.0/116" : { "isp" : "Yo! Africa", "organization" : "Yo! Africa" } }, { "::196.44.240.0/116" : { "isp" : "MTN RwandaCell", "organization" : "MTN RwandaCell" } }, { "::196.200.19.206/128" : { "isp" : "The Institute for Social Accou", "organization" : "The Institute for Social Accou" } }, { "::196.200.20.40/125" : { "isp" : "Tribe Hotel", "organization" : "Tribe Hotel" } }, { "::196.200.28.0/118" : { "isp" : "Accesskenya Group Ltd", "organization" : "Accesskenya Group Ltd" } }, { "::196.200.32.0/116" : { "isp" : "Wananchi Online", "organization" : "Wananchi Online" } }, { "::196.200.63.0/120" : { "isp" : "Afribone - Universite", "organization" : "Afribone - Universite" } }, { "::196.200.80.0/116" : { "isp" : "Ikatel SA", "organization" : "Ikatel SA" } }, { "::196.202.208.0/118" : { "isp" : "Orange Broadband Kenya", "organization" : "Orange Broadband Kenya" } }, { "::196.202.240.0/118" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.244.0/120" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.245.0/125" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Sub allocation to Lerotholi Polytechnic Institute" } }, { "::196.202.245.8/125" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.245.16/124" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.245.32/123" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.245.64/122" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.245.128/121" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.202.246.0/119" : { "isp" : "Telecom Lesotho (PTY) LTD", "organization" : "Telecom Lesotho (PTY) LTD" } }, { "::196.206.0.0/113" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.206.128.0/114" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.206.192.0/115" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.206.224.0/117" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.206.232.0/117" : { "isp" : "Maroc Telecom", "organization" : "MarocTelecom" } }, { "::196.206.240.0/116" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.207.16.0/116" : { "isp" : "Communication Solutions Ltd.", "organization" : "Communication Solutions Ltd." } }, { "::196.208.16.0/116" : { "isp" : "Internet Solutions", "organization" : "Internet Solutions" } }, { "::196.208.224.0/116" : { "isp" : "Internet Solutions", "organization" : "Internet Solutions" } }, { "::196.216.48.0/118" : { "isp" : "Network assigned to Silver Customers in Luanda, An", "organization" : "Network assigned to Silver Customers in Luanda, An" } }, { "::196.216.64.0/119" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.66.0/120" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.0/121" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.128/122" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.192/126" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.196/126" : { "isp" : "Swift Global Kenya Limited", "organization" : "PushMobileMediaSGK" } }, { "::196.216.67.200/125" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.208/124" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.67.224/123" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.68.0/118" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.72.0/117" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.80.0/116" : { "isp" : "Swift Global Kenya Limited", "organization" : "Swift Global Kenya Limited" } }, { "::196.216.172.0/118" : { "isp" : "Grindrod Management Services (Pty) Ltd", "organization" : "Grindrod Management Services (Pty) Ltd" } }, { "::196.216.180.0/118" : { "isp" : "Zenith Bank Ghana Ltd", "organization" : "Zenith Bank Ghana Ltd" } }, { "::196.216.184.0/118" : { "isp" : "Finbank PLC", "organization" : "Finbank PLC" } }, { "::196.216.200.0/118" : { "isp" : "Central Bank of Nigeria", "organization" : "Central Bank of Nigeria" } }, { "::196.216.204.0/118" : { "isp" : "Seacom Ltd", "organization" : "Seacom Ltd" } }, { "::196.216.240.0/119" : { "isp" : "Cairo American College", "organization" : "Cairo American College" } }, { "::196.217.0.0/113" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.217.192.0/115" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.217.224.0/116" : { "isp" : "Maroc Telecom", "organization" : "Maroc Telecom" } }, { "::196.220.96.0/115" : { "isp" : "National University of Science and Technology", "organization" : "National University of Science and Technology" } }, { "::196.220.208.0/116" : { "isp" : "Beehive Social Enterprise", "organization" : "Beehive Social Enterprise" } }, { "::196.220.224.0/116" : { "isp" : "University of Jos Nigeria", "organization" : "University of Jos Nigeria" } }, { "::196.220.240.0/116" : { "isp" : "University of Lagos", "organization" : "University of Lagos" } }, { "::196.221.20.0/118" : { "isp" : "RT-ADSL-project", "organization" : "RT-ADSL-project" } }, { "::196.221.24.0/117" : { "isp" : "RT-ADSL-project", "organization" : "RT-ADSL-project" } }, { "::196.244.0.0/112" : { "isp" : "Fiber Grid Inc", "organization" : "Fiber Grid Inc" } }, { "::196.252.0.0/111" : { "isp" : "North West University", "organization" : "North West University" } }, { "::196.254.0.0/111" : { "isp" : "University of the Free State", "organization" : "University of the Free State" } }, { "::198.41.28.0/118" : { "isp" : "Granite Networks" } }, { "::198.161.136.0/117" : { "isp" : "SilverIP Communications" } }, { "::198.178.28.0/118" : { "isp" : "Allo Communications LLC" } }, { "::199.120.69.0/120" : { "organization" : "Premier Communications" } }, { "::199.192.166.0/119" : { "organization" : "SUMO FIBER" } }, { "::199.193.222.128/121" : { "organization" : "Alamo Broadband" } }, { "::200.110.139.0/120" : { "organization" : "Argentina Virtual Networks S.R.L." } }, { "::200.110.145.0/123" : { "organization" : "Argentina Virtual Networks S.R.L." } }, { "::202.3.80.0/116" : { "organization" : "DIGINET-NZ" } }, { "::202.93.153.0/120" : { "organization" : "LATELZ Co., Ltd." } }, { "::203.118.242.0/120" : { "organization" : "LATELZ Co., Ltd." } }, { "::203.148.64.0/116" : { "organization" : "LGCNS China" } }, { "::204.128.241.208/128" : { "isp" : "YourHomeISP" } }, { "::206.16.137.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::206.16.139.0/120" : { "isp" : "AT&T Synaptic Cloud Hosting", "organization" : "AT&T Synaptic Cloud Hosting" } }, { "::207.34.130.0/120" : { "organization" : "Lytton Area Wireless Society" } }, { "::207.241.128.0/116" : { "isp" : "CMS Internet LLC" } }, { "::208.20.196.16/125" : { "organization" : "Hilite International" } }, { "::208.35.54.80/124" : { "organization" : "Hilite International" } }, { "::208.110.194.0/119" : { "autonomous_system_number" : 11025 } }, { "::208.110.196.0/118" : { "autonomous_system_number" : 11025 } }, { "::208.110.200.0/117" : { "autonomous_system_number" : 11025 } }, { "::208.110.208.0/117" : { "autonomous_system_number" : 11025 } }, { "::208.110.216.0/120" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.0/122" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.64/123" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.96/125" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.104/127" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.106/128" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.107/128" : { "autonomous_system_number" : 11025, "isp" : "Comcast - Houston", "organization" : "Comcast - Houston" } }, { "::208.110.217.108/126" : { "autonomous_system_number" : 11025, "isp" : "Comcast - Houston", "organization" : "Comcast - Houston" } }, { "::208.110.217.112/127" : { "autonomous_system_number" : 11025, "isp" : "Comcast - Houston", "organization" : "Comcast - Houston" } }, { "::208.110.217.114/127" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.116/126" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.120/125" : { "autonomous_system_number" : 11025 } }, { "::208.110.217.128/121" : { "autonomous_system_number" : 11025 } }, { "::208.110.218.0/119" : { "autonomous_system_number" : 11025 } }, { "::208.110.220.0/118" : { "autonomous_system_number" : 11025 } }, { "::208.178.194.148/126" : { "organization" : "Beyond Next" } }, { "::208.192.0.0/106" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business", "isp" : "Verizon Business", "organization" : "Verizon Business" } }, { "::209.66.114.182/128" : { "organization" : "International Business Times" } }, { "::209.222.88.24/125" : { "organization" : "MitiHost Solutions" } }, { "::212.1.224.0/115" : { "isp" : "Net By Net Holding LLC", "organization" : "Net By Net Holding LLC" } }, { "::212.5.224.0/115" : { "isp" : "Nonprofit Partnership for the Development of Finan", "organization" : "Nonprofit Partnership for the Development of Finan" } }, { "::212.10.176.0/116" : { "isp" : "Telia Stofa A/S", "organization" : "Telia Stofa A/S" } }, { "::212.11.128.0/115" : { "isp" : "Moscow Mayor's Office", "organization" : "Moscow Mayor's Office" } }, { "::212.11.160.0/115" : { "isp" : "SPSNET", "organization" : "SPSNET" } }, { "::212.23.224.0/115" : { "isp" : "COLT Technology Services Group Limited", "organization" : "COLT Technology Services Group Limited" } }, { "::212.50.183.0/120" : { "organization" : "Fibrestream Limited" } }, { "::212.55.234.0/119" : { "isp" : "Slovanet a.s.", "organization" : "Slovanet a.s." } }, { "::212.55.236.0/120" : { "isp" : "Slovanet a.s.", "organization" : "Slovanet a.s." } }, { "::212.73.150.0/120" : { "organization" : "Linkplus" } }, { "::212.75.32.0/115" : { "isp" : "Scan Plus GmbH", "organization" : "Scan Plus GmbH" } }, { "::212.102.192.0/115" : { "isp" : "ICM NetServ Ltd", "organization" : "ICM NetServ Ltd" } }, { "::212.121.224.0/115" : { "isp" : "Altecom" } }, { "::212.132.153.192/124" : { "isp" : "St Andrew's Primary School", "organization" : "St Andrew's Primary School" } }, { "::212.137.30.248/125" : { "isp" : "Ufi Army Torch Hub Nuneaton", "organization" : "Ufi Army Torch Hub Nuneaton" } }, { "::212.173.48.112/124" : { "isp" : "Glenfall County Primary School", "organization" : "Glenfall County Primary School" } }, { "::212.173.250.56/125" : { "isp" : "Ashleworth CE Primary School", "organization" : "Ashleworth CE Primary School" } }, { "::212.200.145.192/124" : { "organization" : "SokoWireless.NET!" } }, { "::212.201.51.0/120" : { "isp" : "Saechsische Landesbibliothek -", "organization" : "Saechsische Landesbibliothek -" } }, { "::212.201.52.0/118" : { "isp" : "Saechsische Landesbibliothek -", "organization" : "Saechsische Landesbibliothek -" } }, { "::212.201.56.0/117" : { "isp" : "Saechsische Landesbibliothek -", "organization" : "Saechsische Landesbibliothek -" } }, { "::213.18.209.72/125" : { "isp" : "Dinglewell Infant School", "organization" : "Dinglewell Infant School" } }, { "::213.21.192.0/114" : { "isp" : "VERSIA Ltd", "organization" : "VERSIA Ltd" } }, { "::213.54.0.0/112" : { "isp" : "nacamar GmbH", "organization" : "nacamar GmbH" } }, { "::213.148.199.0/120" : { "isp" : "Altecom" } }, { "::213.148.200.0/117" : { "isp" : "Altecom" } }, { "::213.148.208.0/117" : { "isp" : "Altecom" } }, { "::213.148.216.0/118" : { "isp" : "Altecom" } }, { "::213.148.220.0/120" : { "isp" : "Altecom" } }, { "::213.157.184.0/120" : { "isp" : "RCS & RDS Mobile" } }, { "::213.159.160.0/115" : { "isp" : "Telefonaktiebolaget L M Ericsson", "organization" : "Telefonaktiebolaget L M Ericsson" } }, { "::213.171.52.172/126" : { "isp" : "Network for OAO Megdunarodnyi airport Domodedovo", "organization" : "Network for OAO Megdunarodnyi airport Domodedovo" } }, { "::213.203.120.0/118" : { "isp" : "Jet Multimedia", "organization" : "Jet Multimedia" } }, { "::213.233.96.0/119" : { "isp" : "MobiFon S.A.", "organization" : "MobiFon S.A." } }, { "::213.249.135.0/123" : { "isp" : "York County Council LAN", "organization" : "York County Council LAN" } }, { "::213.254.64.0/114" : { "isp" : "ONO", "organization" : "ONO" } }, { "::214.0.0.0/104" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "::215.0.0.0/105" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "::216.83.161.0/120" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.162.0/119" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.164.0/118" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.168.0/119" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.170.0/120" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.171.0/121" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.171.128/122" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.171.192/123" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA", "isp" : "Sungard Network Solutions", "organization" : "Sungard Network Solutions" } }, { "::216.83.171.224/123" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.172.0/118" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.83.176.0/116" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "::216.154.16.197/128" : { "organization" : "Silonet.ca - Your Rural Internet Service Provider" } }, { "::216.160.26.0/119" : { "autonomous_system_number" : 209 } }, { "::216.160.28.0/118" : { "autonomous_system_number" : 209 } }, { "::216.160.32.0/115" : { "autonomous_system_number" : 209 } }, { "::216.160.64.0/116" : { "autonomous_system_number" : 209 } }, { "::216.160.80.0/119" : { "autonomous_system_number" : 209 } }, { "::216.160.82.0/120" : { "autonomous_system_number" : 209 } }, { "::216.160.83.0/123" : { "autonomous_system_number" : 209 } }, { "::216.160.83.32/124" : { "autonomous_system_number" : 209 } }, { "::216.160.83.48/125" : { "autonomous_system_number" : 209 } }, { "::216.160.83.56/125" : { "autonomous_system_number" : 209, "isp" : "Century Link", "organization" : "Lariat Software" } }, { "::216.160.83.64/122" : { "autonomous_system_number" : 209 } }, { "::216.160.83.128/121" : { "autonomous_system_number" : 209 } }, { "::216.160.84.0/118" : { "autonomous_system_number" : 209 } }, { "::216.160.88.0/117" : { "autonomous_system_number" : 209 } }, { "::216.160.96.0/115" : { "autonomous_system_number" : 209 } }, { "::216.160.128.0/114" : { "autonomous_system_number" : 209 } }, { "::216.160.192.0/117" : { "autonomous_system_number" : 209 } }, { "::216.160.200.0/118" : { "autonomous_system_number" : 209 } }, { "::216.160.204.0/119" : { "autonomous_system_number" : 209 } }, { "::216.160.206.0/120" : { "autonomous_system_number" : 209 } }, { "::217.12.96.0/116" : { "isp" : "Alfa-Bank Moscow Russia", "organization" : "Alfa-Bank Moscow Russia" } }, { "::217.17.192.0/116" : { "isp" : "IKS Service GmbH" } }, { "::217.28.128.0/116" : { "isp" : "Cobweb Solutions Ltd", "organization" : "Cobweb Solutions Ltd" } }, { "::217.35.170.0/119" : { "isp" : "Start Services", "organization" : "Start Services" } }, { "::217.35.172.0/118" : { "isp" : "Start Services", "organization" : "Start Services" } }, { "::217.63.203.160/123" : { "isp" : "Basisschool De Zaaier", "organization" : "Basisschool De Zaaier" } }, { "::217.76.36.0/120" : { "isp" : "AO VNIITEMR(Machinery&Robotics Institute), Moscow", "organization" : "AO VNIITEMR(Machinery&Robotics Institute), Moscow" } }, { "::217.112.224.0/116" : { "isp" : "SFR", "organization" : "SFR" } }, { "::217.117.217.224/125" : { "organization" : "GIGANET.cz" } }, { "::217.117.217.240/125" : { "organization" : "GIGANET.cz" } }, { "::217.125.152.0/118" : { "isp" : "Telefonica de Espana", "organization" : "Telefonica de Espana" } }, { "::217.125.160.0/115" : { "isp" : "Telefonica de Espana", "organization" : "Telefonica de Espana" } }, { "::217.125.192.0/114" : { "isp" : "Telefonica de Espana", "organization" : "Telefonica de Espana" } }, { "::217.141.185.128/124" : { "isp" : "Hotel Benessere", "organization" : "Hotel Benessere" } }, { "::217.141.234.72/126" : { "isp" : "Comunedisalerno", "organization" : "Comunedisalerno" } }, { "::217.147.234.0/120" : { "isp" : "Tbilisi Pedagogical University", "organization" : "Tbilisi Pedagogical University" } }, { "::217.164.0.0/111" : { "isp" : "Emirates Telecommunications Corporation", "organization" : "Emirates Telecommunications Corporation" } }, { "::217.172.0.0/116" : { "isp" : "T-Systems Italia Spa", "organization" : "T-Systems Italia Spa" } }, { "::217.176.17.0/123" : { "isp" : "Brettenham Infant School", "organization" : "Brettenham Infant School" } }, { "::217.176.21.0/123" : { "isp" : "Shildon County Primary School", "organization" : "Shildon County Primary School" } }, { "::217.176.23.0/123" : { "isp" : "The Campion School", "organization" : "The Campion School" } }, { "::217.176.49.128/122" : { "isp" : "Josca's Preparatory School", "organization" : "Josca's Preparatory School" } }, { "::217.176.85.128/121" : { "isp" : "Dundonald High School", "organization" : "Dundonald High School" } }, { "::217.176.154.232/125" : { "isp" : "Folly Hill County First School", "organization" : "Folly Hill County First School" } }, { "::217.176.154.240/125" : { "isp" : "Beauclerc County Infant School", "organization" : "Beauclerc County Infant School" } }, { "::217.176.156.168/125" : { "isp" : "Holly Lodge County Primary School", "organization" : "Holly Lodge County Primary School" } }, { "::217.176.156.200/125" : { "isp" : "Laleham CE Primary School", "organization" : "Laleham CE Primary School" } }, { "::217.176.159.204/126" : { "isp" : "Surrey County Council", "organization" : "Surrey County Council" } }, { "::217.176.255.0/122" : { "isp" : "Tanfield Lea Junior School", "organization" : "Tanfield Lea Junior School" } }, { "::217.183.12.128/123" : { "isp" : "Tuddenham CE (VC) Primary School", "organization" : "Tuddenham CE (VC) Primary School" } }, { "::217.183.15.64/123" : { "isp" : "West Drayton Primary School", "organization" : "West Drayton Primary School" } }, { "::217.183.18.192/123" : { "isp" : "Wellington Primary School", "organization" : "Wellington Primary School" } }, { "::217.183.55.128/122" : { "isp" : "Brede Primary School", "organization" : "Brede Primary School" } }, { "::217.183.59.0/122" : { "isp" : "Grove CE Primary School", "organization" : "Grove CE Primary School" } }, { "::217.183.130.64/123" : { "isp" : "Longney CE Primary School", "organization" : "Longney CE Primary School" } }, { "::217.183.140.96/123" : { "isp" : "Ketton CE Primary School", "organization" : "Ketton CE Primary School" } }, { "::217.195.192.0/116" : { "isp" : "FiberSunucu internet Hizmetleri Ugur Pala", "organization" : "FiberSunucu internet Hizmetleri Ugur Pala" } }, { "::217.204.110.64/122" : { "isp" : "Radisson Edwardian Hotels - radisson-gw", "organization" : "Radisson Edwardian Hotels - radisson-gw" } }, { "::219.0.0.0/106" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp.", "isp" : "Softbank BB Corp", "organization" : "Softbank BB Corp" } }, { "::220.0.0.0/106" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp.", "isp" : "Softbank BB Corp", "organization" : "Softbank BB Corp" } }, { "::222.229.88.0/117" : { "organization" : "Connected Intelligence" } }, { "::222.229.128.0/113" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.0.0/113" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.128.0/117" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.136.0/119" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC", "isp" : "VECTANT Ltd.", "organization" : "VECTANT Ltd." } }, { "::222.230.138.0/119" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.140.0/118" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.144.0/116" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.160.0/115" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "::222.230.192.0/114" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "2001:1700::/27" : { "autonomous_system_number" : 6730, "autonomous_system_organization" : "Sunrise Communications AG" } }, { "2001:1c00::/23" : { "autonomous_system_number" : 9143, "autonomous_system_organization" : "Ziggo B.V." } }, { "2001:2000::/20" : { "autonomous_system_number" : 1299, "autonomous_system_organization" : "TeliaSonera International Carrier" } }, { "2001:4540::/27" : { "autonomous_system_number" : 9924, "autonomous_system_organization" : "Taiwan Fixed Network, Telco and Network Service Provider." } }, { "2001:4580::/26" : { "autonomous_system_number" : 4780, "autonomous_system_organization" : "Digital United Inc." } }, { "2001:4600::/24" : { "autonomous_system_number" : 2119, "autonomous_system_organization" : "Telenor Norge AS" } }, { "2001:5000::/24" : { "autonomous_system_number" : 1273, "autonomous_system_organization" : "Cable and Wireless Worldwide plc" } }, { "2001:5100::/24" : { "autonomous_system_number" : 2529, "autonomous_system_organization" : "Now maintained by Cable & Wireless Worldwide" } }, { "2001:5200::/23" : { "autonomous_system_number" : 1273, "autonomous_system_organization" : "Cable and Wireless Worldwide plc" } }, { "2001:5400::/22" : { "autonomous_system_number" : 1273, "autonomous_system_organization" : "Cable and Wireless Worldwide plc" } }, { "2001:8000::/20" : { "autonomous_system_number" : 1221, "autonomous_system_organization" : "Telstra Pty Ltd" } }, { "2001:b000::/21" : { "autonomous_system_number" : 17419, "autonomous_system_organization" : "HiNet IPv6 Service Network.," } }, { "2003::/19" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG" } }, { "2400::/20" : { "autonomous_system_number" : 4766, "autonomous_system_organization" : "Korea Telecom" } }, { "2400:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:2000::/20" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp." } }, { "2400:3000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:4000::/22" : { "autonomous_system_number" : 4713, "autonomous_system_organization" : "NTT Communications Corporation" } }, { "2400:4400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:4800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:5000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:6000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8000::/26" : { "autonomous_system_number" : 9919, "autonomous_system_organization" : "New Century InfoComm Tech Co., Ltd." } }, { "2401:8040::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8080::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:9000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:a000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:c000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2402::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:8000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9000::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9800::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9900::/24" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp." } }, { "2403:9a00::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9c00::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:a000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:c000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404::/26" : { "autonomous_system_number" : 17709, "autonomous_system_organization" : "Eastern Broadband Telecom Co.,Ltd" } }, { "2404:40::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2405::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2406::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408::/22" : { "autonomous_system_number" : 55817, "autonomous_system_organization" : "Nippon Telegraph and Telephone Corporation PF Labs" } }, { "2408:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409::/23" : { "autonomous_system_number" : 55391, "autonomous_system_organization" : "INTERNET MULTIFEED CO." } }, { "2409:200::/23" : { "autonomous_system_number" : 55392, "autonomous_system_organization" : "INTERNET MULTIFEED CO." } }, { "2409:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240a::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b::/22" : { "autonomous_system_number" : 2516, "autonomous_system_organization" : "KDDI KDDI CORPORATION" } }, { "240b:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240c::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d::/27" : { "autonomous_system_number" : 2527, "autonomous_system_organization" : "So-net Entertainment Corporation" } }, { "240d:20::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:40::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e::/24" : { "autonomous_system_number" : 4134, "autonomous_system_organization" : "Chinanet" } }, { "240e:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f::/24" : { "autonomous_system_number" : 2516, "autonomous_system_organization" : "KDDI KDDI CORPORATION" } }, { "240f:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:800::/27" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business" } }, { "2600:820::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:840::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:880::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:900::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:a00::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:c00::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1000::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1400::/27" : { "autonomous_system_number" : 31377, "autonomous_system_organization" : "Akamai International B.V." } }, { "2600:1420::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1440::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1480::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1500::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1600::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:4000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5000::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5400::/27" : { "autonomous_system_number" : 19108, "autonomous_system_organization" : "Suddenlink Communications" } }, { "2600:5420::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5440::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5480::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5500::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5600::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:6000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7000::/24" : { "autonomous_system_number" : 6939, "autonomous_system_organization" : "Hurricane Electric, Inc." } }, { "2600:7100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2601::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602::/24" : { "autonomous_system_number" : 209, "autonomous_system_organization" : "NOVARTIS-DMZ-US" } }, { "2602:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:200::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:300::/24" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "2602:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2603::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2604::/14" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2608::/13" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800:2000::/20" : { "autonomous_system_number" : 10318, "autonomous_system_organization" : "S.A." } }, { "2800:3000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2801::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2802::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2804::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1000::/24" : { "autonomous_system_number" : 8151, "autonomous_system_organization" : "Uninet S.A. de C.V." } }, { "2806:1100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2807::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2808::/13" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2a00::/22" : { "autonomous_system_number" : 3209, "autonomous_system_organization" : "Vodafone GmbH" } }, { "2a00:800::/25" : { "autonomous_system_number" : 1257, "autonomous_system_organization" : "TELE2" } }, { "2a00:2000::/23" : { "autonomous_system_number" : 5400, "autonomous_system_organization" : "British Telecommunications plc" } }, { "2a00:2200::/24" : { "autonomous_system_number" : 5400, "autonomous_system_organization" : "British Telecommunications plc" } }, { "2a00:2300::/25" : { "autonomous_system_number" : 5400, "autonomous_system_organization" : "British Telecommunications plc" } }, { "2a00:2380::/25" : { "autonomous_system_number" : 2856, "autonomous_system_organization" : "BTnet UK Regional network" } }, { "2a01:2e0::/28" : { "autonomous_system_number" : 8374, "autonomous_system_organization" : "Polkomtel Sp. z o.o." } }, { "2a01:800::/24" : { "autonomous_system_number" : 3209, "autonomous_system_organization" : "Vodafone GmbH" } }, { "2a01:c00::/26" : { "autonomous_system_number" : 13184, "autonomous_system_organization" : "Telefonica Germany GmbH & Co.OHG" } }, { "2a01:e00::/26" : { "autonomous_system_number" : 12322, "autonomous_system_organization" : "Free SAS" } }, { "2a01:1000::/21" : { "autonomous_system_number" : 5617, "autonomous_system_organization" : "Telekomunikacja Polska S.A." } }, { "2a01:2000::/20" : { "autonomous_system_number" : 3269, "autonomous_system_organization" : "Telecom Italia S.p.a." } }, { "2a01:c000::/19" : { "autonomous_system_number" : 5511, "autonomous_system_organization" : "Orange S.A." } }, { "2a02:1200::/27" : { "autonomous_system_number" : 3303, "autonomous_system_organization" : "Swisscom (Switzerland) Ltd" } }, { "2a02:1400::/26" : { "autonomous_system_number" : 2119, "autonomous_system_organization" : "Telenor Norge AS" } }, { "2a02:1800::/24" : { "autonomous_system_number" : 6848, "autonomous_system_organization" : "Telenet N.V." } }, { "2a02:2e00::/27" : { "autonomous_system_number" : 12715, "autonomous_system_organization" : "Jazz Telecom S.A." } }, { "2a02:3000::/23" : { "autonomous_system_number" : 6805, "autonomous_system_organization" : "Telefonica Germany GmbH & Co.OHG" } }, { "2a02:8100::/27" : { "autonomous_system_number" : 31334, "autonomous_system_organization" : "Kabel Deutschland Vertrieb und Service GmbH" } }, { "2a02:8200::/27" : { "autonomous_system_number" : 9145, "autonomous_system_organization" : "EWE TEL GmbH" } }, { "2a02:8400::/25" : { "autonomous_system_number" : 15557, "autonomous_system_organization" : "Societe Francaise du Radiotelephone S.A" } }, { "2a02:9000::/23" : { "autonomous_system_number" : 3352, "autonomous_system_organization" : "TELEFONICA DE ESPANA" } }, { "2a02:a000::/26" : { "autonomous_system_number" : 5432, "autonomous_system_organization" : "Belgacom regional ASN" } }, { "2a02:a200::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2a02:a300::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2a02:a400::/26" : { "autonomous_system_number" : 1136, "autonomous_system_organization" : "KPN Internet Solutions" } }, { "2a02:a440::/26" : { "autonomous_system_number" : 8737, "autonomous_system_organization" : "Koninklijke KPN N.V." } }, { "2a02:a800::/26" : { "autonomous_system_number" : 6739, "autonomous_system_organization" : "Cableuropa - ONO" } }, { "2a02:aa00::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2a04:2400::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2c00::/13" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c08::/14" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0c::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e::/20" : { "autonomous_system_number" : 24863, "autonomous_system_organization" : "LINKdotNET" } }, { "2c0e:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:8000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:c000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:e000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:f000::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:f800::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fc00::/27" : { "autonomous_system_number" : 3741, "autonomous_system_organization" : "IS" } }, { "2c0f:fc20::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fc40::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fc80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fd00::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fe00::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:ff00::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:ff40::/26" : { "autonomous_system_number" : 10474, "autonomous_system_organization" : "MWEB-10474" } }, { "2c0f:ff80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc.", "isp" : "Merit Network Inc.", "organization" : "Merit Network Inc." } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-Precision-Enterprise-Sandbox-Test.json000066400000000000000000000223411450470006300315650ustar00rootroot00000000000000[ { "::23.10.87.103/32" : { "city" : { "confidence" : 40, "geoname_id" : 5368361, "names" : { "de" : "Los Angeles", "en" : "Los Angeles", "es" : "Los Ángeles", "fr" : "Los Angeles", "ja" : "ロサンゼルス", "pt-BR" : "Los Angeles", "ru" : "Лос-Анджелес", "zh-CN" : "洛杉矶" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 20, "latitude" : 34.0544, "longitude" : -118.244, "metro_code" : 803, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "90009", "confidence" : 1 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 90, "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加利福尼亚州" } } ], "traits" : { "autonomous_system_number" : 33224, "autonomous_system_organization" : "Towerstream I, Inc.", "connection_type" : "Corporate", "isp" : "Towerstream I", "organization" : "Towerstream I", "static_ip_score" : 0.34, "user_type" : "business" } } }, { "::152.216.7.110/32" : { "city" : { "confidence" : 40, "geoname_id" : 5368361, "names" : { "de" : "Los Angeles", "en" : "Los Angeles", "es" : "Los Ángeles", "fr" : "Los Angeles", "ja" : "ロサンゼルス", "pt-BR" : "Los Angeles", "ru" : "Лос-Анджелес", "zh-CN" : "洛杉矶" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 20, "latitude" : 34.0544, "longitude" : -118.244, "metro_code" : 803, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "90009", "confidence" : 1 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 90, "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加利福尼亚州" } } ], "traits" : { "autonomous_system_number" : 33224, "autonomous_system_organization" : "Towerstream I, Inc.", "connection_type" : "Corporate", "isp" : "Towerstream I", "organization" : "Towerstream I", "static_ip_score" : 0.34, "user_type" : "business" } } }, { "::146.243.121.22/32" : { "city" : { "confidence" : 40, "geoname_id" : 5368361, "names" : { "de" : "Los Angeles", "en" : "Los Angeles", "es" : "Los Ángeles", "fr" : "Los Angeles", "ja" : "ロサンゼルス", "pt-BR" : "Los Angeles", "ru" : "Лос-Анджелес", "zh-CN" : "洛杉矶" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 20, "latitude" : 34.0544, "longitude" : -118.244, "metro_code" : 803, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "90009", "confidence" : 1 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 90, "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加利福尼亚州" } } ], "traits" : { "autonomous_system_number" : 33224, "autonomous_system_organization" : "Towerstream I, Inc.", "connection_type" : "Corporate", "isp" : "Towerstream I", "organization" : "Towerstream I", "static_ip_score" : 0.34, "user_type" : "business" } } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-Precision-Enterprise-Test.json000066400000000000000000002316371450470006300302030ustar00rootroot00000000000000[ { "::1.124.213.0/120" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 99, "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán", "fr" : "Iran", "ja" : "イラン・イスラム共和国", "pt-BR" : "Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 50, "latitude" : 35.6961, "longitude" : 51.4231, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán", "fr" : "Iran", "ja" : "イラン・イスラム共和国", "pt-BR" : "Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "traits" : { "autonomous_system_number" : 44244, "autonomous_system_organization" : "Iran Cell Service and Communication Company", "connection_type" : "Cellular", "isp" : "Iran Cell Service and Communication Company", "organization" : "Iran Cell Service and Communication Company", "static_ip_score" : 0.25, "user_type" : "cellular" } } }, { "::1.231.232.0/120" : { "city" : { "confidence" : 60, "geoname_id" : 709334, "names" : { "de" : "Dschankoj", "en" : "Dzhankoy", "ru" : "Джанкой" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 80, "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 200, "latitude" : 45.7117, "longitude" : 34.3927, "time_zone" : "Europe/Simferopol" }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 703883, "iso_code" : "43", "names" : { "de" : "Krim", "en" : "Autonomous Republic of Crimea", "fr" : "République autonome de Crimée", "ru" : "Республика Крым" } } ], "traits" : { "autonomous_system_number" : 28761, "autonomous_system_organization" : "CrimeaCom South LLC", "connection_type" : "Cable/DSL", "isp" : "CrimeaCom South LLC", "organization" : "CrimeaCom South LLC", "static_ip_score" : 0.26, "user_type" : "residential" } } }, { "::2.125.160.216/125" : { "city" : { "confidence" : 50, "geoname_id" : 2655045, "names" : { "en" : "Boxford" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 95, "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.75, "longitude" : -1.25, "time_zone" : "Europe/London" }, "postal" : { "code" : "OX1", "confidence" : 20 }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } }, { "geoname_id" : 3333217, "iso_code" : "WBK", "names" : { "en" : "West Berkshire", "ru" : "Западный Беркшир", "zh-CN" : "西伯克郡" } } ], "traits" : { "static_ip_score" : 0.27 } } }, { "::5.83.124.0/118" : { "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "is_anonymous_proxy" : true, "isp" : "WifiNetCom", "static_ip_score" : 0.28 } } }, { "::12.87.118.0/119" : { "traits" : { "autonomous_system_number" : 7018, "isp" : "AT&T Services", "organization" : "AT&T Worldnet Services", "static_ip_score" : 0.31 } } }, { "::41.189.160.0/124" : { "city" : { "geoname_id" : 2293801, "names" : { "en" : "Yendi" } }, "continent" : { "code" : "AF", "geoname_id" : 6255146, "names" : { "de" : "Afrika", "en" : "Africa", "es" : "África", "fr" : "Afrique", "ja" : "アフリカ", "pt-BR" : "África", "ru" : "Африка", "zh-CN" : "非洲" } }, "country" : { "geoname_id" : 2300660, "iso_code" : "GH", "names" : { "de" : "Ghana", "en" : "Ghana", "es" : "Ghana", "fr" : "Ghana", "ja" : "ガーナ共和国", "pt-BR" : "Gana", "ru" : "Гана", "zh-CN" : "加纳" } }, "location" : { "accuracy_radius" : 20, "latitude" : 9.4333, "longitude" : -0.0167, "time_zone" : "Africa/Accra" }, "registered_country" : { "geoname_id" : 2300660, "iso_code" : "GH", "names" : { "de" : "Ghana", "en" : "Ghana", "es" : "Ghana", "fr" : "Ghana", "ja" : "ガーナ共和国", "pt-BR" : "Gana", "ru" : "Гана", "zh-CN" : "加纳" } }, "subdivisions" : [ { "geoname_id" : 2297169, "iso_code" : "NP", "names" : { "en" : "Northern Region" } } ], "traits" : { "static_ip_score" : 0.33 } } }, { "::64.17.254.216/125" : { "city" : { "confidence" : 40, "geoname_id" : 5368361, "names" : { "de" : "Los Angeles", "en" : "Los Angeles", "es" : "Los Ángeles", "fr" : "Los Angeles", "ja" : "ロサンゼルス", "pt-BR" : "Los Angeles", "ru" : "Лос-Анджелес", "zh-CN" : "洛杉矶" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 20, "latitude" : 34.0544, "longitude" : -118.244, "metro_code" : 803, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "90009", "confidence" : 1 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 90, "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加利福尼亚州" } } ], "traits" : { "autonomous_system_number" : 33224, "autonomous_system_organization" : "Towerstream I, Inc.", "connection_type" : "Corporate", "isp" : "Towerstream I", "organization" : "Towerstream I", "static_ip_score" : 0.34, "user_type" : "business" } } }, { "::65.116.3.80/126" : { "city" : { "confidence" : 40, "geoname_id" : 4699066, "names" : { "en" : "Houston", "fr" : "Houston", "ja" : "ヒューストン", "pt-BR" : "Houston", "ru" : "Хьюстон", "zh-CN" : "休斯敦" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 500, "latitude" : 29.7702, "longitude" : -95.3628, "metro_code" : 618, "time_zone" : "America/Chicago" }, "postal" : { "code" : "77002", "confidence" : 1 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 90, "geoname_id" : 4736286, "iso_code" : "TX", "names" : { "en" : "Texas", "es" : "Texas", "fr" : "Texas", "ja" : "テキサス州", "ru" : "Техас", "zh-CN" : "德克萨斯州" } } ], "traits" : { "autonomous_system_number" : 209, "autonomous_system_organization" : "Qwest Communications Company, LLC", "connection_type" : "Cable/DSL", "domain" : "qwest.net", "isp" : "CenturyLink", "organization" : "CenturyLink", "static_ip_score" : 0.34, "user_type" : "residential" } } }, { "::66.92.181.240/124" : { "city" : { "confidence" : 20, "geoname_id" : 5392171, "names" : { "de" : "San José", "en" : "San Jose", "es" : "San José", "fr" : "San José", "ja" : "サンノゼ", "pt-BR" : "San José", "ru" : "Сан-Хосе" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 1000, "latitude" : 37.3874, "longitude" : -121.9024, "metro_code" : 807, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "95131", "confidence" : 10 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 60, "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加利福尼亚州" } } ], "traits" : { "autonomous_system_number" : 18566, "autonomous_system_organization" : "MegaPath Corporation", "connection_type" : "Cable/DSL", "domain" : "speakeasy.net", "isp" : "Speakeasy", "organization" : "Vikco Insurance", "static_ip_score" : 0.34, "user_type" : "government" } } }, { "::67.43.156.0/120" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 99, "geoname_id" : 1252634, "iso_code" : "BT", "names" : { "de" : "Bhutan", "en" : "Bhutan", "es" : "Bután", "fr" : "Bhutan", "ja" : "ブータン王国", "pt-BR" : "Butão", "ru" : "Бутан", "zh-CN" : "不丹" } }, "location" : { "accuracy_radius" : 534, "latitude" : 27.5, "longitude" : 90.5, "time_zone" : "Asia/Thimphu" }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "autonomous_system_number" : 35908, "domain" : "shoesfin.NET", "is_anonymous_proxy" : true, "isp" : "Loud Packet", "organization" : "zudoarichikito_", "static_ip_score" : 0.34, "user_type" : "search_engine_spider" } } }, { "::74.209.24.0/116" : { "city" : { "confidence" : 11, "geoname_id" : 5112335, "names" : { "en" : "Chatham" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 27, "latitude" : 42.3478, "longitude" : -73.5549, "metro_code" : 532, "time_zone" : "America/New_York" }, "postal" : { "code" : "12037", "confidence" : 11 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 93, "geoname_id" : 5128638, "iso_code" : "NY", "names" : { "de" : "New York", "en" : "New York", "es" : "Nueva York", "fr" : "New York", "ja" : "ニューヨーク州", "pt-BR" : "Nova Iorque", "ru" : "Нью-Йорк", "zh-CN" : "纽约州" } } ], "traits" : { "autonomous_system_number" : 14671, "autonomous_system_organization" : "FairPoint Communications", "connection_type" : "Cable/DSL", "domain" : "frpt.net", "is_anonymous_proxy" : true, "is_legitimate_proxy" : true, "is_satellite_provider" : true, "isp" : "Fairpoint Communications", "organization" : "Fairpoint Communications", "static_ip_score" : 0.34, "user_type" : "residential" } } }, { "::75.209.24.0/128" : { "city" : { "confidence" : 11, "geoname_id" : 5112335, "names" : { "en" : "Chatham" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 27, "latitude" : 42.3478, "longitude" : -73.5549, "metro_code" : 532, "time_zone" : "America/New_York" }, "postal" : { "code" : "12037", "confidence" : 11 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 93, "geoname_id" : 5128638, "iso_code" : "NY", "names" : { "de" : "New York", "en" : "New York", "es" : "Nueva York", "fr" : "New York", "ja" : "ニューヨーク州", "pt-BR" : "Nova Iorque", "ru" : "Нью-Йорк", "zh-CN" : "纽约州" } } ], "traits" : { "autonomous_system_number" : 14671, "autonomous_system_organization" : "FairPoint Communications", "connection_type" : "Cable/DSL", "domain" : "frpt.net", "is_anonymous_proxy" : true, "is_legitimate_proxy" : true, "is_satellite_provider" : true, "isp" : "Fairpoint Communications", "organization" : "Fairpoint Communications", "static_ip_score" : 0.35, "user_type" : "residential" } } }, { "::81.2.69.142/127" : { "city" : { "confidence" : 50, "geoname_id" : 2643743, "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 95, "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 10, "latitude" : 51.5142, "longitude" : -0.0931, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ], "traits" : { "domain" : "in-addr.arpa", "static_ip_score" : 0.34 } } }, { "::81.2.69.160/123" : { "city" : { "confidence" : 42, "geoname_id" : 2643743, "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 99, "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5142, "longitude" : -0.0931, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 42, "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ], "traits" : { "domain" : "in-addr.arpa", "isp" : "Andrews & Arnold Ltd", "organization" : "STONEHOUSE office network", "static_ip_score" : 0.34, "user_type" : "government" } } }, { "::89.160.20.112/124" : { "city" : { "confidence" : 51, "geoname_id" : 2694762, "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 99, "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : 58.4167, "longitude" : 15.6167, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "confidence" : 51, "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ], "traits" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB", "connection_type" : "Corporate", "domain" : "bredband2.com", "isp" : "Bredband2 AB", "organization" : "Bevtec", "static_ip_score" : 0.34, "user_type" : "government" } } }, { "::128.101.101.101/128" : { "city" : { "confidence" : 50, "geoname_id" : 5037649, "names" : { "de" : "Minneapolis", "en" : "Minneapolis", "es" : "Mineápolis", "fr" : "Minneapolis", "ja" : "ミネアポリス", "pt-BR" : "Minneapolis", "ru" : "Миннеаполис", "zh-CN" : "明尼阿波利斯" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 95, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "Сша", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 3, "latitude" : 44.9759, "longitude" : -93.2166, "metro_code" : 613, "time_zone" : "America/Chicago" }, "postal" : { "code" : "55414", "confidence" : 20 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "Сша", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 5037779, "iso_code" : "MN", "names" : { "en" : "Minnesota", "es" : "Minnesota", "ja" : "ミネソタ州", "ru" : "Миннесота" } } ], "traits" : { "autonomous_system_number" : 2313, "autonomous_system_organization" : "Precision AS Org", "isp" : "Precision ISP", "organization" : "Precision Org", "static_ip_score" : 0.46, "user_type" : "residential" } } }, { "::143.217.214.0/120" : { "city" : { "confidence" : 50, "geoname_id" : 1566083, "names" : { "de" : "Ho-Chi-Minh-Stadt", "en" : "Ho Chi Minh City", "es" : "Ciudad Ho Chi Minh", "fr" : "HCMV", "ja" : "ホーチミン市", "pt-BR" : "Cidade de Ho Chi Minh", "ru" : "Хошимин", "zh-CN" : "胡志明市" } }, "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 99, "geoname_id" : 1562822, "iso_code" : "VN", "names" : { "de" : "Vietnam", "en" : "Vietnam", "es" : "Vietnam", "fr" : "Vietnam", "ja" : "ベトナム", "pt-BR" : "Vietnã", "ru" : "Вьетнам", "zh-CN" : "越南" } }, "location" : { "accuracy_radius" : 500, "latitude" : 10.8142, "longitude" : 106.6438, "time_zone" : "Asia/Ho_Chi_Minh" }, "registered_country" : { "geoname_id" : 1562822, "iso_code" : "VN", "names" : { "de" : "Vietnam", "en" : "Vietnam", "es" : "Vietnam", "fr" : "Vietnam", "ja" : "ベトナム", "pt-BR" : "Vietnã", "ru" : "Вьетнам", "zh-CN" : "越南" } }, "subdivisions" : [ { "confidence" : 60, "geoname_id" : 1580578, "iso_code" : "SG", "names" : { "de" : "Ho-Chi-Minh-Stadt", "en" : "Ho Chi Minh City", "es" : "Ciudad Ho Chi Minh", "fr" : "Saigon", "ja" : "ホーチミン市", "pt-BR" : "Cidade de Ho Chi Minh", "ru" : "Хо Ши Мин", "zh-CN" : "胡志明市" } } ], "traits" : { "autonomous_system_number" : 18403, "autonomous_system_organization" : "The Corporation for Financing & Promoting Technology", "connection_type" : "Cable/DSL", "isp" : "The Corporation for Financing and Promoting Techno", "organization" : "FPT Telecom Company", "static_ip_score" : 0.46, "user_type" : "business" } } }, { "::149.101.100.0/124" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 1000, "latitude" : 37.751, "longitude" : -97.822, "time_zone" : "America/Chicago" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "traits" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "CELLCO-PART", "isp" : "Verizon Wireless", "mobile_country_code" : "310", "mobile_network_code" : "004", "organization" : "Verizon Wireless" } } }, { "::175.16.199.0/120" : { "city" : { "confidence" : 50, "geoname_id" : 2038180, "names" : { "de" : "Chángchūn", "en" : "Changchun", "fr" : "Changchun", "ja" : "長春市", "ru" : "Чанчунь", "zh-CN" : "长春" } }, "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 43.88, "longitude" : 125.3228, "time_zone" : "Asia/Harbin" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "subdivisions" : [ { "confidence" : 70, "geoname_id" : 2036500, "iso_code" : "22", "names" : { "en" : "Jilin Sheng", "zh-CN" : "吉林" } } ], "traits" : { "static_ip_score" : 0.63, "user_type" : "residential" } } }, { "::188.35.144.0/119" : { "traits" : { "organization" : "CityLink Ltd", "static_ip_score" : 0.64 } } }, { "::202.196.224.0/116" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "location" : { "accuracy_radius" : 121, "latitude" : 13, "longitude" : 122, "time_zone" : "Asia/Manila" }, "postal" : { "code" : "34021", "confidence" : 20 }, "registered_country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "represented_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" }, "type" : "military" }, "traits" : { "static_ip_score" : 1.29 } } }, { "214.248.0.0/29" : { "city" : { "confidence" : 20, "geoname_id" : 4734825, "names" : { "en" : "Sugar Land", "ja" : "シュガーランド", "pt-BR" : "Sugar Land", "ru" : "Шугар-Ленд" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 1000, "latitude" : 29.6197, "longitude" : -95.635, "metro_code" : 618, "time_zone" : "America/Chicago" }, "postal" : { "code" : "77487", "confidence" : 1 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 60, "geoname_id" : 4736286, "iso_code" : "TX", "names" : { "en" : "Texas", "es" : "Texas", "fr" : "Texas", "ja" : "テキサス州", "ru" : "Техас", "zh-CN" : "德克萨斯州" } } ], "traits" : { "autonomous_system_number" : 11025, "autonomous_system_organization" : "Comcast Cable Communications, LLC", "connection_type" : "Cable/DSL", "domain" : "comcastbusiness.net", "isp" : "Comcast Business", "organization" : "Comcast Business", "static_ip_score" : 1.47, "user_type" : "hosting" } } }, { "::208.110.217.113/128" : { "city" : { "confidence" : 20, "geoname_id" : 4734825, "names" : { "en" : "Sugar Land", "ja" : "シュガーランド", "pt-BR" : "Sugar Land", "ru" : "Шугар-Ленд" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 1000, "latitude" : 29.6197, "longitude" : -95.635, "metro_code" : 618, "time_zone" : "America/Chicago" }, "postal" : { "code" : "77487", "confidence" : 1 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 60, "geoname_id" : 4736286, "iso_code" : "TX", "names" : { "en" : "Texas", "es" : "Texas", "fr" : "Texas", "ja" : "テキサス州", "ru" : "Техас", "zh-CN" : "德克萨斯州" } } ], "traits" : { "autonomous_system_number" : 11025, "autonomous_system_organization" : "Comcast Cable Communications, LLC", "connection_type" : "Cable/DSL", "domain" : "comcastbusiness.net", "isp" : "Comcast Business", "organization" : "Comcast Business", "static_ip_score" : 1.47, "user_type" : "business" } } }, { "214.78.120.0/22" : { "city" : { "geoname_id" : 5391811, "names" : { "de" : "San Diego", "en" : "San Diego", "es" : "San Diego", "fr" : "San Diego", "ja" : "サンディエゴ", "pt-BR" : "San Diego", "ru" : "Сан-Диего" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32.7405, "longitude" : -117.0935, "metro_code" : 825, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "92105" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加州" } } ] } }, { "::216.160.83.56/125" : { "city" : { "confidence" : 40, "geoname_id" : 5803556, "names" : { "en" : "Milton", "ru" : "Мильтон" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 22, "latitude" : 47.2513, "longitude" : -122.3149, "metro_code" : 819, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "98354", "confidence" : 40 }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "subdivisions" : [ { "confidence" : 99, "geoname_id" : 5815135, "iso_code" : "WA", "names" : { "en" : "Washington", "es" : "Washington", "fr" : "État de Washington", "ja" : "ワシントン州", "ru" : "Вашингтон", "zh-CN" : "华盛顿州" } } ], "traits" : { "autonomous_system_number" : 209, "connection_type" : "Cable/DSL", "isp" : "Century Link", "organization" : "Lariat Software", "static_ip_score" : 1.47, "user_type" : "government" } } }, { "2001:218::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "traits" : { "static_ip_score" : 2.81 } } }, { "2001:250::/31" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 95, "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35, "longitude" : 105 }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "traits" : { "static_ip_score" : 2.81 } } }, { "2a02:d280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 95, "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49.75, "longitude" : 15, "time_zone" : "Europe/Prague" }, "registered_country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "traits" : { "static_ip_score" : 4.17 } } }, { "::212.47.235.81/128" : { "traits" : { "is_anonymous_proxy" : true, "static_ip_score" : 1.47 } } }, { "::212.47.235.82/128" : { "traits" : { "is_satellite_provider" : true, "static_ip_score" : 1.47 } } }, { "::1.9.127.107/128" : { "traits" : { "static_ip_score" : 0.22, "user_type" : "business" } } }, { "::102.35.19.0/128" : { "traits" : { "static_ip_score" : 0.4, "user_type" : "cellular" } } }, { "214.214.214.214/32" : { "traits" : { "static_ip_score" : 0.4, "user_type" : "content_delivery_network" } } }, { "214.214.214.215/32" : { "traits" : { "static_ip_score" : 0.4, "user_type" : "business" } } }, { "214.214.214.216/32" : { "traits" : { "static_ip_score" : 0.4, "user_type" : "traveler" } } }, { "214.214.214.217/32" : { "traits" : { "static_ip_score" : 0.4, "user_type" : "traveler" } } }, { "214.214.214.218/32" : { "traits" : { "static_ip_score" : 0.4, "user_type" : "business" } } }, { "214.214.214.219/32" : { "traits" : { "static_ip_score" : 0.4, "user_type" : "business" } } }, { "214.214.214.220/32" : { "traits" : { "static_ip_score" : 0.4, "user_type" : "business" } } }, { "214.214.214.230/32" : { "traits" : { "isp" : "Unexpected Cellular", "organization" : "Unexpected Cellular", "static_ip_score" : 0.4, "user_type" : "cellular" } } }, { "214.214.214.231/32" : { "traits" : { "isp" : "Unexpected Cellular Two", "organization" : "Unexpected Cellular Two", "static_ip_score" : 0.4, "user_type" : "cellular" } } }, { "2001:219::/32" : { "city" : { "confidence" : 51, "geoname_id" : 2694762, "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 99, "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : 58.4167, "longitude" : 15.6167, "metro_code" : 4, "time_zone" : "Europe/Stockholm" }, "postal" : { "code" : "138 20", "confidence" : 20 }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "confidence" : 51, "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ], "traits" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB", "connection_type" : "Corporate", "domain" : "bredband2.com", "isp" : "Bredband2 AB", "organization" : "Bevtec", "static_ip_score" : 2.81, "user_type" : "government" } } }, { "2001:220::/128" : { "city" : { "confidence" : 51, "geoname_id" : 2694762, "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "confidence" : 99, "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : 58.4167, "longitude" : 15.6167, "metro_code" : 4, "time_zone" : "Europe/Stockholm" }, "postal" : { "code" : "138 20", "confidence" : 20 }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "confidence" : 51, "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ], "traits" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB", "connection_type" : "Corporate", "domain" : "bredband2.com", "isp" : "Bredband2 AB", "organization" : "Bevtec", "static_ip_score" : 2.82, "user_type" : "government" } } }, { "::2.20.32.110/127" : { "city" : { "confidence" : 60, "geoname_id" : 315808, "names" : { "de" : "Elazığ", "en" : "Elâzığ", "fr" : "Elazığ", "ja" : "エラズー", "ru" : "Элязыг", "zh-CN" : "埃拉泽" } }, "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "confidence" : 90, "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 50, "latitude" : 38.6229, "longitude" : 39.3217, "time_zone" : "Europe/Istanbul" }, "postal" : { "code" : "23100", "confidence" : 30 }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "subdivisions" : [ { "confidence" : 60, "geoname_id" : 315807, "iso_code" : "23", "names" : { "en" : "Elazığ" } } ], "traits" : { "autonomous_system_number" : 8517, "autonomous_system_organization" : "National Academic Network and Information Center", "connection_type" : "Cable/DSL", "isp" : "National Academic Network and Information Center", "organization" : "National Academic Network and Information Center", "user_type" : "business" } } }, { "2001:480::/64" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "214.78.0.0/23" : { "city" : { "confidence" : 99, "geoname_id" : 5391811, "names" : { "de" : "San Diego", "en" : "San Diego", "es" : "San Diego", "fr" : "San Diego", "ja" : "サンディエゴ", "pt-BR" : "San Diego", "ru" : "Сан-Диего" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "confidence" : 99, "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 10, "latitude" : 32.7449, "longitude" : -117.165, "metro_code" : 825, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "92103", "confidence" : 90 }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "confidence" : 99, "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加州" } } ], "traits" : { "autonomous_system_number" : 5972, "autonomous_system_organization" : "DNIC-ASBLK-05800-06055", "connection_type" : "Cable/DSL", "domain" : "health.mil", "isp" : "US Air Force", "organization" : "US Department of Defense", "user_type" : "military" } } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-Static-IP-Score-Test.json000066400000000000000000000732471450470006300267410ustar00rootroot00000000000000[ { "::1.0.0.0/111" : { "score" : 0.01 } }, { "::1.2.0.0/119" : { "score" : 0.02 } }, { "::1.2.2.0/120" : { "score" : 0.03 } }, { "::1.2.3.0/126" : { "score" : 0.04 } }, { "::1.2.3.4/128" : { "score" : 0.05 } }, { "::1.2.3.5/128" : { "score" : 0.06 } }, { "::1.2.3.6/128" : { "score" : 0.07 } }, { "::1.2.3.7/128" : { "score" : 0.08 } }, { "::1.2.3.8/125" : { "score" : 0.09 } }, { "::1.2.3.16/124" : { "score" : 0.1 } }, { "::1.2.3.32/123" : { "score" : 0.11 } }, { "::1.2.3.64/122" : { "score" : 0.12 } }, { "::1.2.3.128/121" : { "score" : 0.13 } }, { "::1.2.4.0/118" : { "score" : 0.14 } }, { "::1.2.8.0/117" : { "score" : 0.15 } }, { "::1.2.16.0/116" : { "score" : 0.16 } }, { "::1.2.32.0/115" : { "score" : 0.17 } }, { "::1.2.64.0/114" : { "score" : 0.18 } }, { "::1.2.128.0/113" : { "score" : 0.19 } }, { "::1.3.0.0/112" : { "score" : 0.2 } }, { "::1.4.0.0/110" : { "score" : 0.21 } }, { "::1.8.0.0/109" : { "score" : 0.22 } }, { "::1.16.0.0/108" : { "score" : 0.23 } }, { "::1.32.0.0/107" : { "score" : 0.24 } }, { "::1.64.0.0/106" : { "score" : 0.25 } }, { "::1.128.0.0/105" : { "score" : 0.26 } }, { "::2.0.0.0/103" : { "score" : 0.27 } }, { "::4.0.0.0/102" : { "score" : 0.28 } }, { "::8.0.0.0/103" : { "score" : 0.29 } }, { "::11.0.0.0/104" : { "score" : 0.3 } }, { "::12.0.0.0/102" : { "score" : 0.31 } }, { "::16.0.0.0/100" : { "score" : 0.32 } }, { "::32.0.0.0/99" : { "score" : 0.33 } }, { "::64.0.0.0/99" : { "score" : 0.34 } }, { "::75.209.24.0/128" : { "score" : 0.35 } }, { "::96.0.0.0/102" : { "score" : 0.36 } }, { "::100.0.0.0/106" : { "score" : 0.37 } }, { "::100.128.0.0/105" : { "score" : 0.38 } }, { "::101.0.0.0/104" : { "score" : 0.39 } }, { "::102.0.0.0/103" : { "score" : 0.4 } }, { "::104.0.0.0/101" : { "score" : 0.41 } }, { "::112.0.0.0/101" : { "score" : 0.42 } }, { "::120.0.0.0/102" : { "score" : 0.43 } }, { "::124.0.0.0/103" : { "score" : 0.44 } }, { "::126.0.0.0/104" : { "score" : 0.45 } }, { "::128.0.0.0/99" : { "score" : 0.46 } }, { "::160.0.0.0/101" : { "score" : 0.47 } }, { "::168.0.0.0/104" : { "score" : 0.48 } }, { "::169.0.0.0/105" : { "score" : 0.49 } }, { "::169.128.0.0/106" : { "score" : 0.5 } }, { "::169.192.0.0/107" : { "score" : 0.51 } }, { "::169.224.0.0/108" : { "score" : 0.52 } }, { "::169.240.0.0/109" : { "score" : 0.53 } }, { "::169.248.0.0/110" : { "score" : 0.54 } }, { "::169.252.0.0/111" : { "score" : 0.55 } }, { "::169.255.0.0/112" : { "score" : 0.56 } }, { "::170.0.0.0/103" : { "score" : 0.57 } }, { "::172.0.0.0/108" : { "score" : 0.58 } }, { "::172.32.0.0/107" : { "score" : 0.59 } }, { "::172.64.0.0/106" : { "score" : 0.6 } }, { "::172.128.0.0/105" : { "score" : 0.61 } }, { "::173.0.0.0/104" : { "score" : 0.62 } }, { "::174.0.0.0/103" : { "score" : 0.63 } }, { "::176.0.0.0/100" : { "score" : 0.64 } }, { "::192.0.0.8/125" : { "score" : 0.65 } }, { "::192.0.0.16/124" : { "score" : 0.66 } }, { "::192.0.0.32/123" : { "score" : 0.67 } }, { "::192.0.0.64/122" : { "score" : 0.68 } }, { "::192.0.0.128/121" : { "score" : 0.69 } }, { "::192.0.1.0/120" : { "score" : 0.7 } }, { "::192.0.3.0/120" : { "score" : 0.71 } }, { "::192.0.4.0/118" : { "score" : 0.72 } }, { "::192.0.8.0/117" : { "score" : 0.73 } }, { "::192.0.16.0/116" : { "score" : 0.74 } }, { "::192.0.32.0/115" : { "score" : 0.75 } }, { "::192.0.64.0/114" : { "score" : 0.76 } }, { "::192.0.128.0/113" : { "score" : 0.77 } }, { "::192.1.0.0/112" : { "score" : 0.78 } }, { "::192.2.0.0/111" : { "score" : 0.79 } }, { "::192.4.0.0/110" : { "score" : 0.8 } }, { "::192.8.0.0/109" : { "score" : 0.81 } }, { "::192.16.0.0/108" : { "score" : 0.82 } }, { "::192.32.0.0/107" : { "score" : 0.83 } }, { "::192.64.0.0/108" : { "score" : 0.84 } }, { "::192.80.0.0/109" : { "score" : 0.85 } }, { "::192.88.0.0/114" : { "score" : 0.86 } }, { "::192.88.64.0/115" : { "score" : 0.87 } }, { "::192.88.96.0/119" : { "score" : 0.88 } }, { "::192.88.98.0/120" : { "score" : 0.89 } }, { "::192.88.100.0/118" : { "score" : 0.9 } }, { "::192.88.104.0/117" : { "score" : 0.91 } }, { "::192.88.112.0/116" : { "score" : 0.92 } }, { "::192.88.128.0/113" : { "score" : 0.93 } }, { "::192.89.0.0/112" : { "score" : 0.94 } }, { "::192.90.0.0/111" : { "score" : 0.95 } }, { "::192.92.0.0/110" : { "score" : 0.96 } }, { "::192.96.0.0/107" : { "score" : 0.97 } }, { "::192.128.0.0/107" : { "score" : 0.98 } }, { "::192.160.0.0/109" : { "score" : 0.99 } }, { "::192.169.0.0/112" : { "score" : 1.0 } }, { "::192.170.0.0/111" : { "score" : 1.01 } }, { "::192.172.0.0/110" : { "score" : 1.02 } }, { "::192.176.0.0/108" : { "score" : 1.03 } }, { "::192.192.0.0/106" : { "score" : 1.04 } }, { "::193.0.0.0/104" : { "score" : 1.05 } }, { "::194.0.0.0/103" : { "score" : 1.06 } }, { "::196.0.0.0/103" : { "score" : 1.07 } }, { "::198.0.0.0/108" : { "score" : 1.08 } }, { "::198.16.0.0/111" : { "score" : 1.09 } }, { "::198.20.0.0/110" : { "score" : 1.1 } }, { "::198.24.0.0/109" : { "score" : 1.11 } }, { "::198.32.0.0/108" : { "score" : 1.12 } }, { "::198.48.0.0/111" : { "score" : 1.13 } }, { "::198.50.0.0/112" : { "score" : 1.14 } }, { "::198.51.0.0/114" : { "score" : 1.15 } }, { "::198.51.64.0/115" : { "score" : 1.16 } }, { "::198.51.96.0/118" : { "score" : 1.17 } }, { "::198.51.101.0/120" : { "score" : 1.18 } }, { "::198.51.102.0/119" : { "score" : 1.19 } }, { "::198.51.104.0/117" : { "score" : 1.2 } }, { "::198.51.112.0/116" : { "score" : 1.21 } }, { "::198.51.128.0/113" : { "score" : 1.22 } }, { "::198.52.0.0/110" : { "score" : 1.23 } }, { "::198.56.0.0/109" : { "score" : 1.24 } }, { "::198.64.0.0/106" : { "score" : 1.25 } }, { "::198.128.0.0/105" : { "score" : 1.26 } }, { "::199.0.0.0/104" : { "score" : 1.27 } }, { "::200.0.0.0/103" : { "score" : 1.28 } }, { "::202.0.0.0/104" : { "score" : 1.29 } }, { "::203.0.0.0/114" : { "score" : 1.3 } }, { "::203.0.64.0/115" : { "score" : 1.31 } }, { "::203.0.96.0/116" : { "score" : 1.32 } }, { "::203.0.112.0/120" : { "score" : 1.33 } }, { "::203.0.114.0/119" : { "score" : 1.34 } }, { "::203.0.116.0/118" : { "score" : 1.35 } }, { "::203.0.120.0/117" : { "score" : 1.36 } }, { "::203.0.128.0/113" : { "score" : 1.37 } }, { "::203.1.0.0/112" : { "score" : 1.38 } }, { "::203.2.0.0/111" : { "score" : 1.39 } }, { "::203.4.0.0/110" : { "score" : 1.4 } }, { "::203.8.0.0/109" : { "score" : 1.41 } }, { "::203.16.0.0/108" : { "score" : 1.42 } }, { "::203.32.0.0/107" : { "score" : 1.43 } }, { "::203.64.0.0/106" : { "score" : 1.44 } }, { "::203.128.0.0/105" : { "score" : 1.45 } }, { "::204.0.0.0/102" : { "score" : 1.46 } }, { "::208.0.0.0/100" : { "score" : 1.47 } }, { "::214.2.3.0/126" : { "score" : 0.04 } }, { "::214.2.3.4/128" : { "score" : 0.05 } }, { "::214.2.3.5/128" : { "score" : 0.06 } }, { "::1:0:0:0/80" : { "score" : 1.48 } }, { "::2:0:0:0/79" : { "score" : 1.49 } }, { "::4:0:0:0/78" : { "score" : 1.5 } }, { "::8:0:0:0/77" : { "score" : 1.51 } }, { "::10:0:0:0/76" : { "score" : 1.52 } }, { "::20:0:0:0/75" : { "score" : 1.53 } }, { "::40:0:0:0/74" : { "score" : 1.54 } }, { "::80:0:0:0/73" : { "score" : 1.55 } }, { "::100:0:0:0/72" : { "score" : 1.56 } }, { "::200:0:0:0/71" : { "score" : 1.57 } }, { "::400:0:0:0/70" : { "score" : 1.58 } }, { "::800:0:0:0/69" : { "score" : 1.59 } }, { "::1000:0:0:0/68" : { "score" : 1.6 } }, { "::2000:0:0:0/67" : { "score" : 1.61 } }, { "::4000:0:0:0/66" : { "score" : 1.62 } }, { "::8000:0:0:0/65" : { "score" : 1.63 } }, { "0:0:0:1::/64" : { "score" : 1.64 } }, { "0:0:0:2::/63" : { "score" : 1.65 } }, { "0:0:0:4::/62" : { "score" : 1.66 } }, { "0:0:0:8::/61" : { "score" : 1.67 } }, { "0:0:0:10::/60" : { "score" : 1.68 } }, { "0:0:0:20::/59" : { "score" : 1.69 } }, { "0:0:0:40::/58" : { "score" : 1.7 } }, { "0:0:0:80::/57" : { "score" : 1.71 } }, { "0:0:0:100::/56" : { "score" : 1.72 } }, { "0:0:0:200::/55" : { "score" : 1.73 } }, { "0:0:0:400::/54" : { "score" : 1.74 } }, { "0:0:0:800::/53" : { "score" : 1.75 } }, { "0:0:0:1000::/52" : { "score" : 1.76 } }, { "0:0:0:2000::/51" : { "score" : 1.77 } }, { "0:0:0:4000::/50" : { "score" : 1.78 } }, { "0:0:0:8000::/49" : { "score" : 1.79 } }, { "0:0:1::/48" : { "score" : 1.8 } }, { "0:0:2::/47" : { "score" : 1.81 } }, { "0:0:4::/46" : { "score" : 1.82 } }, { "0:0:8::/45" : { "score" : 1.83 } }, { "0:0:10::/44" : { "score" : 1.84 } }, { "0:0:20::/43" : { "score" : 1.85 } }, { "0:0:40::/42" : { "score" : 1.86 } }, { "0:0:80::/41" : { "score" : 1.87 } }, { "0:0:100::/40" : { "score" : 1.88 } }, { "0:0:200::/39" : { "score" : 1.89 } }, { "0:0:400::/38" : { "score" : 1.9 } }, { "0:0:800::/37" : { "score" : 1.91 } }, { "0:0:1000::/36" : { "score" : 1.92 } }, { "0:0:2000::/35" : { "score" : 1.93 } }, { "0:0:4000::/34" : { "score" : 1.94 } }, { "0:0:8000::/33" : { "score" : 1.95 } }, { "0:1::/32" : { "score" : 1.96 } }, { "0:2::/31" : { "score" : 1.97 } }, { "0:4::/30" : { "score" : 1.98 } }, { "0:8::/29" : { "score" : 1.99 } }, { "0:10::/28" : { "score" : 2.0 } }, { "0:20::/27" : { "score" : 2.01 } }, { "0:40::/26" : { "score" : 2.02 } }, { "0:80::/25" : { "score" : 2.03 } }, { "0:100::/24" : { "score" : 2.04 } }, { "0:200::/23" : { "score" : 2.05 } }, { "0:400::/22" : { "score" : 2.06 } }, { "0:800::/21" : { "score" : 2.07 } }, { "0:1000::/20" : { "score" : 2.08 } }, { "0:2000::/19" : { "score" : 2.09 } }, { "0:4000::/18" : { "score" : 2.1 } }, { "0:8000::/17" : { "score" : 2.11 } }, { "1::/16" : { "score" : 2.12 } }, { "2::/15" : { "score" : 2.13 } }, { "4::/14" : { "score" : 2.14 } }, { "8::/13" : { "score" : 2.15 } }, { "10::/12" : { "score" : 2.16 } }, { "20::/11" : { "score" : 2.17 } }, { "40::/10" : { "score" : 2.18 } }, { "80::/9" : { "score" : 2.19 } }, { "100:0:0:1::/64" : { "score" : 2.2 } }, { "100:0:0:2::/63" : { "score" : 2.21 } }, { "100:0:0:4::/62" : { "score" : 2.22 } }, { "100:0:0:8::/61" : { "score" : 2.23 } }, { "100:0:0:10::/60" : { "score" : 2.24 } }, { "100:0:0:20::/59" : { "score" : 2.25 } }, { "100:0:0:40::/58" : { "score" : 2.26 } }, { "100:0:0:80::/57" : { "score" : 2.27 } }, { "100:0:0:100::/56" : { "score" : 2.28 } }, { "100:0:0:200::/55" : { "score" : 2.29 } }, { "100:0:0:400::/54" : { "score" : 2.3 } }, { "100:0:0:800::/53" : { "score" : 2.31 } }, { "100:0:0:1000::/52" : { "score" : 2.32 } }, { "100:0:0:2000::/51" : { "score" : 2.33 } }, { "100:0:0:4000::/50" : { "score" : 2.34 } }, { "100:0:0:8000::/49" : { "score" : 2.35 } }, { "100:0:1::/48" : { "score" : 2.36 } }, { "100:0:2::/47" : { "score" : 2.37 } }, { "100:0:4::/46" : { "score" : 2.38 } }, { "100:0:8::/45" : { "score" : 2.39 } }, { "100:0:10::/44" : { "score" : 2.4 } }, { "100:0:20::/43" : { "score" : 2.41 } }, { "100:0:40::/42" : { "score" : 2.42 } }, { "100:0:80::/41" : { "score" : 2.43 } }, { "100:0:100::/40" : { "score" : 2.44 } }, { "100:0:200::/39" : { "score" : 2.45 } }, { "100:0:400::/38" : { "score" : 2.46 } }, { "100:0:800::/37" : { "score" : 2.47 } }, { "100:0:1000::/36" : { "score" : 2.48 } }, { "100:0:2000::/35" : { "score" : 2.49 } }, { "100:0:4000::/34" : { "score" : 2.5 } }, { "100:0:8000::/33" : { "score" : 2.51 } }, { "100:1::/32" : { "score" : 2.52 } }, { "100:2::/31" : { "score" : 2.53 } }, { "100:4::/30" : { "score" : 2.54 } }, { "100:8::/29" : { "score" : 2.55 } }, { "100:10::/28" : { "score" : 2.56 } }, { "100:20::/27" : { "score" : 2.57 } }, { "100:40::/26" : { "score" : 2.58 } }, { "100:80::/25" : { "score" : 2.59 } }, { "100:100::/24" : { "score" : 2.6 } }, { "100:200::/23" : { "score" : 2.61 } }, { "100:400::/22" : { "score" : 2.62 } }, { "100:800::/21" : { "score" : 2.63 } }, { "100:1000::/20" : { "score" : 2.64 } }, { "100:2000::/19" : { "score" : 2.65 } }, { "100:4000::/18" : { "score" : 2.66 } }, { "100:8000::/17" : { "score" : 2.67 } }, { "101::/16" : { "score" : 2.68 } }, { "102::/15" : { "score" : 2.69 } }, { "104::/14" : { "score" : 2.7 } }, { "108::/13" : { "score" : 2.71 } }, { "110::/12" : { "score" : 2.72 } }, { "120::/11" : { "score" : 2.73 } }, { "140::/10" : { "score" : 2.74 } }, { "180::/9" : { "score" : 2.75 } }, { "200::/7" : { "score" : 2.76 } }, { "400::/6" : { "score" : 2.77 } }, { "800::/5" : { "score" : 2.78 } }, { "1000::/4" : { "score" : 2.79 } }, { "2000::/16" : { "score" : 2.8 } }, { "2001:200::/23" : { "score" : 2.81 } }, { "2001:220::/128" : { "score" : 2.82 } }, { "2001:400::/22" : { "score" : 2.83 } }, { "2001:800::/22" : { "score" : 2.84 } }, { "2001:c00::/24" : { "score" : 2.85 } }, { "2001:d00::/25" : { "score" : 2.86 } }, { "2001:d80::/27" : { "score" : 2.87 } }, { "2001:da0::/28" : { "score" : 2.88 } }, { "2001:db0::/29" : { "score" : 2.89 } }, { "2001:db9::/32" : { "score" : 2.9 } }, { "2001:dba::/31" : { "score" : 2.91 } }, { "2001:dbc::/30" : { "score" : 2.92 } }, { "2001:dc0::/26" : { "score" : 2.93 } }, { "2001:e00::/23" : { "score" : 2.94 } }, { "2001:1000::/20" : { "score" : 2.95 } }, { "2001:2000::/19" : { "score" : 2.96 } }, { "2001:4000::/18" : { "score" : 2.97 } }, { "2001:8000::/18" : { "score" : 2.98 } }, { "2001:c000::/19" : { "score" : 2.99 } }, { "2001:e000::/21" : { "score" : 3.0 } }, { "2001:e800::/22" : { "score" : 3.01 } }, { "2001:ec00::/24" : { "score" : 3.02 } }, { "2001:ed00::/25" : { "score" : 3.03 } }, { "2001:ed80::/27" : { "score" : 3.04 } }, { "2001:eda0::/28" : { "score" : 3.05 } }, { "2001:edb0::/29" : { "score" : 3.06 } }, { "2001:edb8::/48" : { "score" : 3.07 } }, { "2001:edb8:1::/64" : { "score" : 3.08 } }, { "2001:edb8:1:1::/64" : { "score" : 3.09 } }, { "2001:edb8:1:2::/63" : { "score" : 3.1 } }, { "2001:edb8:1:4::/62" : { "score" : 3.11 } }, { "2001:edb8:1:8::/61" : { "score" : 3.12 } }, { "2001:edb8:1:10::/60" : { "score" : 3.13 } }, { "2001:edb8:1:20::/59" : { "score" : 3.14 } }, { "2001:edb8:1:40::/58" : { "score" : 3.15 } }, { "2001:edb8:1:80::/57" : { "score" : 3.16 } }, { "2001:edb8:1:100::/56" : { "score" : 3.17 } }, { "2001:edb8:1:200::/55" : { "score" : 3.18 } }, { "2001:edb8:1:400::/54" : { "score" : 3.19 } }, { "2001:edb8:1:800::/53" : { "score" : 3.2 } }, { "2001:edb8:1:1000::/52" : { "score" : 3.21 } }, { "2001:edb8:1:2000::/51" : { "score" : 3.22 } }, { "2001:edb8:1:4000::/50" : { "score" : 3.23 } }, { "2001:edb8:1:8000::/49" : { "score" : 3.24 } }, { "2001:edb8:2::/47" : { "score" : 3.25 } }, { "2001:edb8:4::/46" : { "score" : 3.26 } }, { "2001:edb8:8::/45" : { "score" : 3.27 } }, { "2001:edb8:10::/44" : { "score" : 3.28 } }, { "2001:edb8:20::/43" : { "score" : 3.29 } }, { "2001:edb8:40::/42" : { "score" : 3.3 } }, { "2001:edb8:80::/41" : { "score" : 3.31 } }, { "2001:edb8:100::/40" : { "score" : 3.32 } }, { "2001:edb8:200::/39" : { "score" : 3.33 } }, { "2001:edb8:400::/38" : { "score" : 3.34 } }, { "2001:edb8:800::/37" : { "score" : 3.35 } }, { "2001:edb8:1000::/36" : { "score" : 3.36 } }, { "2001:edb8:2000::/35" : { "score" : 3.37 } }, { "2001:edb8:4000::/34" : { "score" : 3.38 } }, { "2001:edb8:8000::/38" : { "score" : 3.39 } }, { "2001:edb8:8400::/40" : { "score" : 3.4 } }, { "2001:edb8:8500::/41" : { "score" : 3.41 } }, { "2001:edb8:8580::/43" : { "score" : 3.42 } }, { "2001:edb8:85a0::/47" : { "score" : 3.43 } }, { "2001:edb8:85a2::/48" : { "score" : 3.44 } }, { "2001:edb8:85a3::/64" : { "score" : 3.45 } }, { "2001:edb8:85a3:1::/64" : { "score" : 3.46 } }, { "2001:edb8:85a3:2::/63" : { "score" : 3.47 } }, { "2001:edb8:85a3:4::/62" : { "score" : 3.48 } }, { "2001:edb8:85a3:8::/61" : { "score" : 3.49 } }, { "2001:edb8:85a3:10::/60" : { "score" : 3.5 } }, { "2001:edb8:85a3:20::/59" : { "score" : 3.51 } }, { "2001:edb8:85a3:40::/58" : { "score" : 3.52 } }, { "2001:edb8:85a3:80::/57" : { "score" : 3.53 } }, { "2001:edb8:85a3:100::/56" : { "score" : 3.54 } }, { "2001:edb8:85a3:200::/55" : { "score" : 3.55 } }, { "2001:edb8:85a3:400::/54" : { "score" : 3.56 } }, { "2001:edb8:85a3:800::/53" : { "score" : 3.57 } }, { "2001:edb8:85a3:1000::/52" : { "score" : 3.58 } }, { "2001:edb8:85a3:2000::/51" : { "score" : 3.59 } }, { "2001:edb8:85a3:4000::/50" : { "score" : 3.6 } }, { "2001:edb8:85a3:8000::/49" : { "score" : 3.61 } }, { "2001:edb8:85a4::/46" : { "score" : 3.62 } }, { "2001:edb8:85a8::/45" : { "score" : 3.63 } }, { "2001:edb8:85b0::/44" : { "score" : 3.64 } }, { "2001:edb8:85c0::/42" : { "score" : 3.65 } }, { "2001:edb8:8600::/39" : { "score" : 3.66 } }, { "2001:edb8:8800::/37" : { "score" : 3.67 } }, { "2001:edb8:9000::/36" : { "score" : 3.68 } }, { "2001:edb8:a000::/35" : { "score" : 3.69 } }, { "2001:edb8:c000::/36" : { "score" : 3.7 } }, { "2001:edb8:d000::/37" : { "score" : 3.71 } }, { "2001:edb8:d800::/38" : { "score" : 3.72 } }, { "2001:edb8:dc00::/39" : { "score" : 3.73 } }, { "2001:edb8:de00::/41" : { "score" : 3.74 } }, { "2001:edb8:de80::/43" : { "score" : 3.75 } }, { "2001:edb8:dea0::/45" : { "score" : 3.76 } }, { "2001:edb8:dea8::/46" : { "score" : 3.77 } }, { "2001:edb8:deac::/48" : { "score" : 3.78 } }, { "2001:edb8:dead::/49" : { "score" : 3.79 } }, { "2001:edb8:dead:8000::/50" : { "score" : 3.8 } }, { "2001:edb8:dead:c000::/52" : { "score" : 3.81 } }, { "2001:edb8:dead:d000::/53" : { "score" : 3.82 } }, { "2001:edb8:dead:d800::/54" : { "score" : 3.83 } }, { "2001:edb8:dead:dc00::/55" : { "score" : 3.84 } }, { "2001:edb8:dead:de00::/57" : { "score" : 3.85 } }, { "2001:edb8:dead:de80::/59" : { "score" : 3.86 } }, { "2001:edb8:dead:dea0::/61" : { "score" : 3.87 } }, { "2001:edb8:dead:dea8::/62" : { "score" : 3.88 } }, { "2001:edb8:dead:deac::/64" : { "score" : 3.89 } }, { "2001:edb8:dead:dead::/64" : { "score" : 3.9 } }, { "2001:edb8:dead:deae::/63" : { "score" : 3.91 } }, { "2001:edb8:dead:deb0::/60" : { "score" : 3.92 } }, { "2001:edb8:dead:dec0::/58" : { "score" : 3.93 } }, { "2001:edb8:dead:df00::/56" : { "score" : 3.94 } }, { "2001:edb8:dead:e000::/51" : { "score" : 3.95 } }, { "2001:edb8:deae::/47" : { "score" : 3.96 } }, { "2001:edb8:deb0::/44" : { "score" : 3.97 } }, { "2001:edb8:dec0::/42" : { "score" : 3.98 } }, { "2001:edb8:df00::/40" : { "score" : 3.99 } }, { "2001:edb8:e000::/35" : { "score" : 4.0 } }, { "2001:edb9::/32" : { "score" : 4.01 } }, { "2001:edba::/31" : { "score" : 4.02 } }, { "2001:edbc::/30" : { "score" : 4.03 } }, { "2001:edc0::/26" : { "score" : 4.04 } }, { "2001:ee00::/23" : { "score" : 4.05 } }, { "2001:f000::/20" : { "score" : 4.06 } }, { "2003::/16" : { "score" : 4.07 } }, { "2004::/14" : { "score" : 4.08 } }, { "2008::/13" : { "score" : 4.09 } }, { "2010::/12" : { "score" : 4.1 } }, { "2020::/11" : { "score" : 4.11 } }, { "2040::/10" : { "score" : 4.12 } }, { "2080::/9" : { "score" : 4.13 } }, { "2100::/8" : { "score" : 4.14 } }, { "2200::/7" : { "score" : 4.15 } }, { "2400::/6" : { "score" : 4.16 } }, { "2800::/5" : { "score" : 4.17 } }, { "3000::/4" : { "score" : 4.18 } }, { "4000::/2" : { "score" : 4.19 } }, { "8000::/2" : { "score" : 4.2 } }, { "c000::/3" : { "score" : 4.21 } }, { "e000::/4" : { "score" : 4.22 } }, { "f000::/5" : { "score" : 4.23 } }, { "f800::/6" : { "score" : 4.24 } }, { "fe00::/9" : { "score" : 4.25 } }, { "fec0::/10" : { "score" : 4.26 } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoIP2-User-Count-Test.json000066400000000000000000001336041450470006300261310ustar00rootroot00000000000000[ { "::1.0.0.0/111" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.2.0.0/119" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.2.2.0/120" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.2.3.0/126" : { "ipv4_24" : 4, "ipv4_32" : 0 } }, { "::1.2.3.4/128" : { "ipv4_24" : 4, "ipv4_32" : 3 } }, { "::1.2.3.5/128" : { "ipv4_24" : 4, "ipv4_32" : 1 } }, { "::1.2.3.6/128" : { "ipv4_24" : 4, "ipv4_32" : 1 } }, { "::1.2.3.7/128" : { "ipv4_24" : 4, "ipv4_32" : 0 } }, { "::1.2.3.8/125" : { "ipv4_24" : 4, "ipv4_32" : 0 } }, { "::1.2.3.16/124" : { "ipv4_24" : 4, "ipv4_32" : 0 } }, { "::1.2.3.32/123" : { "ipv4_24" : 4, "ipv4_32" : 0 } }, { "::1.2.3.64/122" : { "ipv4_24" : 4, "ipv4_32" : 0 } }, { "::1.2.3.128/121" : { "ipv4_24" : 4, "ipv4_32" : 0 } }, { "::1.2.4.0/118" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.2.8.0/117" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.2.16.0/116" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.2.32.0/115" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.2.64.0/114" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.2.128.0/113" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.3.0.0/112" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.4.0.0/110" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.8.0.0/109" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.16.0.0/108" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.32.0.0/107" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.64.0.0/106" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::1.128.0.0/105" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::2.0.0.0/103" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::4.0.0.0/102" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::8.0.0.0/103" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::11.0.0.0/104" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::12.0.0.0/102" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::16.0.0.0/100" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::32.0.0.0/99" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::64.0.0.0/99" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::75.209.24.0/128" : { "ipv4_24" : 1, "ipv4_32" : 1 } }, { "::96.0.0.0/102" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::100.0.0.0/106" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::100.128.0.0/105" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::101.0.0.0/104" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::102.0.0.0/103" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::104.0.0.0/101" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::112.0.0.0/101" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::120.0.0.0/102" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::124.0.0.0/103" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::126.0.0.0/104" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::128.0.0.0/99" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::160.0.0.0/101" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::168.0.0.0/104" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::169.0.0.0/105" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::169.128.0.0/106" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::169.192.0.0/107" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::169.224.0.0/108" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::169.240.0.0/109" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::169.248.0.0/110" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::169.252.0.0/111" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::169.255.0.0/112" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::170.0.0.0/103" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::172.0.0.0/108" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::172.32.0.0/107" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::172.64.0.0/106" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::172.128.0.0/105" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::173.0.0.0/104" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::174.0.0.0/103" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::176.0.0.0/100" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.0.8/125" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.0.16/124" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.0.32/123" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.0.64/122" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.0.128/121" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.1.0/120" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.3.0/120" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.4.0/118" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.8.0/117" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.16.0/116" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.32.0/115" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.64.0/114" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.0.128.0/113" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.1.0.0/112" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.2.0.0/111" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.4.0.0/110" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.8.0.0/109" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.16.0.0/108" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.32.0.0/107" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.64.0.0/108" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.80.0.0/109" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.88.0.0/114" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.88.64.0/115" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.88.96.0/119" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.88.98.0/120" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.88.100.0/118" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.88.104.0/117" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.88.112.0/116" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.88.128.0/113" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.89.0.0/112" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.90.0.0/111" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.92.0.0/110" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.96.0.0/107" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.128.0.0/107" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.160.0.0/109" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.169.0.0/112" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.170.0.0/111" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.172.0.0/110" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.176.0.0/108" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::192.192.0.0/106" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::193.0.0.0/104" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::194.0.0.0/103" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::196.0.0.0/103" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.0.0.0/108" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.16.0.0/111" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.20.0.0/110" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.24.0.0/109" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.32.0.0/108" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.48.0.0/111" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.50.0.0/112" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.51.0.0/114" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.51.64.0/115" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.51.96.0/118" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.51.101.0/120" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.51.102.0/119" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.51.104.0/117" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.51.112.0/116" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.51.128.0/113" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.52.0.0/110" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.56.0.0/109" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.64.0.0/106" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::198.128.0.0/105" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::199.0.0.0/104" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::200.0.0.0/103" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::202.0.0.0/104" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.0.0.0/114" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.0.64.0/115" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.0.96.0/116" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.0.112.0/120" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.0.114.0/119" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.0.116.0/118" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.0.120.0/117" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.0.128.0/113" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.1.0.0/112" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.2.0.0/111" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.4.0.0/110" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.8.0.0/109" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.16.0.0/108" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.32.0.0/107" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.64.0.0/106" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::203.128.0.0/105" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::204.0.0.0/102" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::208.0.0.0/100" : { "ipv4_24" : 0, "ipv4_32" : 0 } }, { "::214.2.3.0/126" : { "ipv4_24" : 4, "ipv4_32" : 0 } }, { "::214.2.3.4/128" : { "ipv4_24" : 4, "ipv4_32" : 3 } }, { "::214.2.3.5/128" : { "ipv4_24" : 4, "ipv4_32" : 1 } }, { "::1:0:0:0/80" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::2:0:0:0/79" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::4:0:0:0/78" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::8:0:0:0/77" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::10:0:0:0/76" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::20:0:0:0/75" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::40:0:0:0/74" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::80:0:0:0/73" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::100:0:0:0/72" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::200:0:0:0/71" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::400:0:0:0/70" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::800:0:0:0/69" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::1000:0:0:0/68" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::2000:0:0:0/67" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::4000:0:0:0/66" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "::8000:0:0:0/65" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:1::/64" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:2::/63" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:4::/62" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:8::/61" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:10::/60" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:20::/59" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:40::/58" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:80::/57" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:100::/56" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:200::/55" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:400::/54" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:800::/53" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:1000::/52" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:2000::/51" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:4000::/50" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:0:8000::/49" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:1::/48" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:2::/47" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:4::/46" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:8::/45" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:10::/44" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:20::/43" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:40::/42" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:80::/41" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:100::/40" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:200::/39" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:400::/38" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:800::/37" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:1000::/36" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:2000::/35" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:4000::/34" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:0:8000::/33" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:1::/32" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:2::/31" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:4::/30" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:8::/29" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:10::/28" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:20::/27" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:40::/26" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:80::/25" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:100::/24" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:200::/23" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:400::/22" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:800::/21" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:1000::/20" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:2000::/19" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:4000::/18" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "0:8000::/17" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "1::/16" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2::/15" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "4::/14" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "8::/13" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "10::/12" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "20::/11" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "40::/10" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "80::/9" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:1::/64" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:2::/63" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:4::/62" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:8::/61" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:10::/60" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:20::/59" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:40::/58" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:80::/57" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:100::/56" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:200::/55" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:400::/54" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:800::/53" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:1000::/52" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:2000::/51" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:4000::/50" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:0:8000::/49" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:1::/48" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:2::/47" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:4::/46" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:8::/45" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:10::/44" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:20::/43" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:40::/42" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:80::/41" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:100::/40" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:200::/39" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:400::/38" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:800::/37" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:1000::/36" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:2000::/35" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:4000::/34" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:0:8000::/33" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:1::/32" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:2::/31" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:4::/30" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:8::/29" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:10::/28" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:20::/27" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:40::/26" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:80::/25" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:100::/24" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:200::/23" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:400::/22" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:800::/21" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:1000::/20" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:2000::/19" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:4000::/18" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "100:8000::/17" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "101::/16" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "102::/15" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "104::/14" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "108::/13" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "110::/12" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "120::/11" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "140::/10" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "180::/9" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "200::/7" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "400::/6" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "800::/5" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "1000::/4" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2000::/16" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:200::/23" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:220::/128" : { "ipv6_32" : 1, "ipv6_48" : 1, "ipv6_64" : 1 } }, { "2001:400::/22" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:800::/22" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:c00::/24" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:d00::/25" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:d80::/27" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:da0::/28" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:db0::/29" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:db9::/32" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:dba::/31" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:dbc::/30" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:dc0::/26" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:e00::/23" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:1000::/20" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:2000::/19" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:4000::/18" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:8000::/18" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:c000::/19" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:e000::/21" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:e800::/22" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:ec00::/24" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:ed00::/25" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:ed80::/27" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:eda0::/28" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb0::/29" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8::/48" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:1::/64" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 1 } }, { "2001:edb8:1:1::/64" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:2::/63" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:4::/62" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:8::/61" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:10::/60" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:20::/59" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:40::/58" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:80::/57" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:100::/56" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:200::/55" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:400::/54" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:800::/53" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:1000::/52" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:2000::/51" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:4000::/50" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:1:8000::/49" : { "ipv6_32" : 5, "ipv6_48" : 1, "ipv6_64" : 0 } }, { "2001:edb8:2::/47" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:4::/46" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:8::/45" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:10::/44" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:20::/43" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:40::/42" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:80::/41" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:100::/40" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:200::/39" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:400::/38" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:800::/37" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:1000::/36" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:2000::/35" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:4000::/34" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:8000::/38" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:8400::/40" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:8500::/41" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:8580::/43" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:85a0::/47" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:85a2::/48" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:85a3::/64" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 3 } }, { "2001:edb8:85a3:1::/64" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 2 } }, { "2001:edb8:85a3:2::/63" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:4::/62" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:8::/61" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:10::/60" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:20::/59" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:40::/58" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:80::/57" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:100::/56" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:200::/55" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:400::/54" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:800::/53" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:1000::/52" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:2000::/51" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:4000::/50" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a3:8000::/49" : { "ipv6_32" : 5, "ipv6_48" : 4, "ipv6_64" : 0 } }, { "2001:edb8:85a4::/46" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:85a8::/45" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:85b0::/44" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:85c0::/42" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:8600::/39" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:8800::/37" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:9000::/36" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:a000::/35" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:c000::/36" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:d000::/37" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:d800::/38" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:dc00::/39" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:de00::/41" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:de80::/43" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:dea0::/45" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:dea8::/46" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:deac::/48" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:dead::/49" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:8000::/50" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:c000::/52" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:d000::/53" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:d800::/54" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:dc00::/55" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:de00::/57" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:de80::/59" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:dea0::/61" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:dea8::/62" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:deac::/64" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:dead::/64" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 2 } }, { "2001:edb8:dead:deae::/63" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:deb0::/60" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:dec0::/58" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:df00::/56" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:dead:e000::/51" : { "ipv6_32" : 5, "ipv6_48" : 2, "ipv6_64" : 0 } }, { "2001:edb8:deae::/47" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:deb0::/44" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:dec0::/42" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:df00::/40" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb8:e000::/35" : { "ipv6_32" : 5, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edb9::/32" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edba::/31" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edbc::/30" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:edc0::/26" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:ee00::/23" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2001:f000::/20" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2003::/16" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2004::/14" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2008::/13" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2010::/12" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2020::/11" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2040::/10" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2080::/9" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2100::/8" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2200::/7" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2400::/6" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "2800::/5" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "3000::/4" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "4000::/2" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "8000::/2" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "c000::/3" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "e000::/4" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "f000::/5" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "f800::/6" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "fe00::/9" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } }, { "fec0::/10" : { "ipv6_32" : 0, "ipv6_48" : 0, "ipv6_64" : 0 } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoLite2-ASN-Test.json000066400000000000000000003016111450470006300251260ustar00rootroot00000000000000[ { "1.0.0.0/24" : { "autonomous_system_number" : 15169, "autonomous_system_organization" : "Google Inc." } }, { "1.128.0.0/11" : { "autonomous_system_number" : 1221, "autonomous_system_organization" : "Telstra Pty Ltd" } }, { "12.81.92.0/22" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services" } }, { "12.81.96.0/19" : { "autonomous_system_number" : 7018 } }, { "12.81.128.0/17" : { "autonomous_system_number" : 7018 } }, { "12.82.0.0/15" : { "autonomous_system_number" : 7018 } }, { "12.84.0.0/15" : { "autonomous_system_number" : 7018 } }, { "12.86.0.0/16" : { "autonomous_system_number" : 7018 } }, { "12.87.0.0/18" : { "autonomous_system_number" : 7018 } }, { "12.87.64.0/19" : { "autonomous_system_number" : 7018 } }, { "12.87.96.0/20" : { "autonomous_system_number" : 7018 } }, { "12.87.112.0/22" : { "autonomous_system_number" : 7018 } }, { "12.87.116.0/23" : { "autonomous_system_number" : 7018 } }, { "12.87.118.0/23" : { "autonomous_system_number" : 7018 } }, { "12.87.120.0/21" : { "autonomous_system_number" : 7018 } }, { "12.87.128.0/17" : { "autonomous_system_number" : 7018 } }, { "12.88.0.0/13" : { "autonomous_system_number" : 7018 } }, { "12.96.0.0/20" : { "autonomous_system_number" : 7018 } }, { "12.96.16.0/24" : { "autonomous_system_number" : 7018 } }, { "15.0.0.0/8" : { "autonomous_system_number" : 71, "autonomous_system_organization" : "Hewlett-Packard Company" } }, { "16.0.0.0/8" : { "autonomous_system_number" : 71, "autonomous_system_organization" : "Hewlett-Packard Company" } }, { "18.0.0.0/8" : { "autonomous_system_number" : 3, "autonomous_system_organization" : "Massachusetts Institute of Technology" } }, { "23.32.0.0/11" : { "autonomous_system_number" : 35994, "autonomous_system_organization" : "Akamai Technologies, Inc." } }, { "23.192.0.0/11" : { "autonomous_system_number" : 35994, "autonomous_system_organization" : "Akamai Technologies, Inc." } }, { "27.192.0.0/11" : { "autonomous_system_number" : 4837, "autonomous_system_organization" : "CNCGROUP China169 Backbone" } }, { "31.64.0.0/10" : { "autonomous_system_number" : 12576, "autonomous_system_organization" : "Orange Personal Communications Services" } }, { "31.224.0.0/11" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG" } }, { "35.0.0.0/9" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "35.128.0.0/11" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "36.192.0.0/11" : { "autonomous_system_number" : 9394, "autonomous_system_organization" : "China TieTong Telecommunications Corporation" } }, { "38.0.0.0/10" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.64.0.0/13" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.72.0.0/16" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.73.0.0/17" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.73.128.0/23" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.73.130.0/24" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.73.131.0/24" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.73.132.0/23" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.73.134.0/23" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.73.136.0/21" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.73.144.0/20" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.73.160.0/19" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.73.192.0/18" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.74.0.0/15" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.76.0.0/14" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.80.0.0/12" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.96.0.0/13" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.104.0.0/16" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.0.0/26" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.0.64/27" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.0.96/27" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.0.128/25" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.1.0/24" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.2.0/23" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.4.0/22" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.8.0/21" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.16.0/20" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.32.0/19" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.64.0/18" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.105.128.0/17" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.106.0.0/15" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.0.0/18" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.64.0/20" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.80.0/28" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.80.16/29" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.80.24/30" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.80.28/31" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.80.30/32" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.80.31/32" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.80.32/27" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.80.64/26" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.80.128/25" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.81.0/24" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.82.0/23" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.84.0/22" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.88.0/21" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.96.0/19" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.108.128.0/17" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.109.0.0/16" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.110.0.0/19" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.110.32.0/20" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.110.48.0/22" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.110.52.0/22" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.110.56.0/21" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.110.64.0/18" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.110.128.0/17" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.111.0.0/16" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.112.0.0/12" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "38.128.0.0/9" : { "autonomous_system_number" : 174, "autonomous_system_organization" : "Cogent Communications" } }, { "39.32.0.0/11" : { "autonomous_system_number" : 45595, "autonomous_system_organization" : "Pakistan Telecom Company Limited" } }, { "39.64.0.0/11" : { "autonomous_system_number" : 4837, "autonomous_system_organization" : "CNCGROUP China169 Backbone" } }, { "39.192.0.0/10" : { "autonomous_system_number" : 23693, "autonomous_system_organization" : "PT. Telekomunikasi Selular" } }, { "44.0.0.0/8" : { "autonomous_system_number" : 7377, "autonomous_system_organization" : "University of California at San Diego" } }, { "49.64.0.0/11" : { "autonomous_system_number" : 4134, "autonomous_system_organization" : "Chinanet" } }, { "50.128.0.0/9" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc." } }, { "53.0.0.0/8" : { "autonomous_system_number" : 31399, "autonomous_system_organization" : "Daimler Autonomous System" } }, { "55.0.0.0/8" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "57.0.0.0/8" : { "autonomous_system_number" : 2647, "autonomous_system_organization" : "SITA" } }, { "59.0.0.0/11" : { "autonomous_system_number" : 4766, "autonomous_system_organization" : "Korea Telecom" } }, { "60.64.0.0/10" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp." } }, { "60.128.0.0/11" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp." } }, { "64.17.248.0/22" : { "autonomous_system_number" : 33224 } }, { "64.17.252.0/23" : { "autonomous_system_number" : 33224 } }, { "64.17.254.0/25" : { "autonomous_system_number" : 33224 } }, { "64.17.254.128/26" : { "autonomous_system_number" : 33224 } }, { "64.17.254.192/28" : { "autonomous_system_number" : 33224 } }, { "64.17.254.208/29" : { "autonomous_system_number" : 33224 } }, { "64.17.254.216/29" : { "autonomous_system_number" : 33224 } }, { "64.17.254.224/27" : { "autonomous_system_number" : 33224 } }, { "64.17.255.0/24" : { "autonomous_system_number" : 33224 } }, { "65.23.96.0/20" : { "autonomous_system_number" : 11456 } }, { "65.23.112.0/21" : { "autonomous_system_number" : 11456 } }, { "65.23.120.0/24" : { "autonomous_system_number" : 11456 } }, { "65.23.121.0/25" : { "autonomous_system_number" : 11456 } }, { "65.23.121.128/26" : { "autonomous_system_number" : 11456 } }, { "65.23.121.192/28" : { "autonomous_system_number" : 11456 } }, { "65.23.121.208/29" : { "autonomous_system_number" : 11456 } }, { "65.23.121.216/30" : { "autonomous_system_number" : 11456 } }, { "65.23.121.220/32" : { "autonomous_system_number" : 11456 } }, { "65.23.121.221/32" : { "autonomous_system_number" : 11456 } }, { "65.23.121.222/31" : { "autonomous_system_number" : 11456 } }, { "65.23.121.224/27" : { "autonomous_system_number" : 11456 } }, { "65.23.122.0/23" : { "autonomous_system_number" : 11456 } }, { "65.23.124.0/22" : { "autonomous_system_number" : 11456 } }, { "65.115.241.0/24" : { "autonomous_system_number" : 209 } }, { "65.115.242.0/23" : { "autonomous_system_number" : 209 } }, { "65.115.244.0/22" : { "autonomous_system_number" : 209 } }, { "65.115.248.0/21" : { "autonomous_system_number" : 209 } }, { "65.116.0.0/23" : { "autonomous_system_number" : 209 } }, { "65.116.2.0/24" : { "autonomous_system_number" : 209 } }, { "65.116.3.0/26" : { "autonomous_system_number" : 209 } }, { "65.116.3.64/28" : { "autonomous_system_number" : 209 } }, { "65.116.3.80/31" : { "autonomous_system_number" : 209 } }, { "65.116.3.82/32" : { "autonomous_system_number" : 209 } }, { "65.116.3.83/32" : { "autonomous_system_number" : 209 } }, { "65.116.3.84/30" : { "autonomous_system_number" : 209 } }, { "65.116.3.88/29" : { "autonomous_system_number" : 209 } }, { "65.116.3.96/27" : { "autonomous_system_number" : 209 } }, { "65.116.3.128/25" : { "autonomous_system_number" : 209 } }, { "65.116.4.0/22" : { "autonomous_system_number" : 209 } }, { "65.116.8.0/22" : { "autonomous_system_number" : 209 } }, { "65.116.12.0/23" : { "autonomous_system_number" : 209 } }, { "65.128.0.0/11" : { "autonomous_system_number" : 209, "autonomous_system_organization" : "Qwest Communications Company, LLC" } }, { "65.192.0.0/11" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business" } }, { "66.92.0.0/17" : { "autonomous_system_number" : 23504 } }, { "66.92.128.0/19" : { "autonomous_system_number" : 23504 } }, { "66.92.160.0/20" : { "autonomous_system_number" : 23504 } }, { "66.92.176.0/22" : { "autonomous_system_number" : 23504 } }, { "66.92.180.0/24" : { "autonomous_system_number" : 23504 } }, { "66.92.181.0/25" : { "autonomous_system_number" : 23504 } }, { "66.92.181.128/26" : { "autonomous_system_number" : 23504 } }, { "66.92.181.192/27" : { "autonomous_system_number" : 23504 } }, { "66.92.181.224/28" : { "autonomous_system_number" : 23504 } }, { "66.92.181.240/28" : { "autonomous_system_number" : 23504 } }, { "66.92.182.0/23" : { "autonomous_system_number" : 23504 } }, { "66.92.184.0/21" : { "autonomous_system_number" : 23504 } }, { "66.92.192.0/18" : { "autonomous_system_number" : 23504 } }, { "66.93.0.0/16" : { "autonomous_system_number" : 23504 } }, { "67.43.149.0/24" : { "autonomous_system_number" : 35908 } }, { "67.43.150.0/23" : { "autonomous_system_number" : 35908 } }, { "67.43.152.0/22" : { "autonomous_system_number" : 35908 } }, { "67.43.156.0/26" : { "autonomous_system_number" : 35908 } }, { "67.43.156.64/26" : { "autonomous_system_number" : 35908 } }, { "67.43.156.128/26" : { "autonomous_system_number" : 35908 } }, { "67.43.156.192/26" : { "autonomous_system_number" : 35908 } }, { "67.43.157.0/24" : { "autonomous_system_number" : 35908 } }, { "67.43.158.0/23" : { "autonomous_system_number" : 35908 } }, { "67.160.0.0/11" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc." } }, { "69.218.35.0/24" : { "autonomous_system_number" : 7132 } }, { "69.218.36.0/22" : { "autonomous_system_number" : 7132 } }, { "69.218.40.0/21" : { "autonomous_system_number" : 7132 } }, { "69.218.48.0/20" : { "autonomous_system_number" : 7132 } }, { "69.218.64.0/18" : { "autonomous_system_number" : 7132 } }, { "69.218.128.0/18" : { "autonomous_system_number" : 7132 } }, { "69.218.192.0/19" : { "autonomous_system_number" : 7132 } }, { "69.218.224.0/20" : { "autonomous_system_number" : 7132 } }, { "69.218.240.0/21" : { "autonomous_system_number" : 7132 } }, { "69.218.248.0/23" : { "autonomous_system_number" : 7132 } }, { "69.218.250.0/24" : { "autonomous_system_number" : 7132 } }, { "69.218.251.0/28" : { "autonomous_system_number" : 7132 } }, { "69.218.251.16/28" : { "autonomous_system_number" : 7132 } }, { "69.218.251.32/27" : { "autonomous_system_number" : 7132 } }, { "69.218.251.64/26" : { "autonomous_system_number" : 7132 } }, { "69.218.251.128/25" : { "autonomous_system_number" : 7132 } }, { "69.218.252.0/22" : { "autonomous_system_number" : 7132 } }, { "69.219.0.0/18" : { "autonomous_system_number" : 7132 } }, { "69.219.64.0/20" : { "autonomous_system_number" : 7132 } }, { "69.219.80.0/22" : { "autonomous_system_number" : 7132 } }, { "70.46.21.0/24" : { "autonomous_system_number" : 11456 } }, { "70.46.22.0/23" : { "autonomous_system_number" : 11456 } }, { "70.46.24.0/21" : { "autonomous_system_number" : 11456 } }, { "70.46.32.0/19" : { "autonomous_system_number" : 11456 } }, { "70.46.64.0/19" : { "autonomous_system_number" : 11456 } }, { "70.46.96.0/20" : { "autonomous_system_number" : 11456 } }, { "70.46.112.0/21" : { "autonomous_system_number" : 11456 } }, { "70.46.120.0/23" : { "autonomous_system_number" : 11456 } }, { "70.46.122.0/24" : { "autonomous_system_number" : 11456 } }, { "70.46.123.0/25" : { "autonomous_system_number" : 11456 } }, { "70.46.123.128/28" : { "autonomous_system_number" : 11456 } }, { "70.46.123.144/32" : { "autonomous_system_number" : 11456 } }, { "70.46.123.145/32" : { "autonomous_system_number" : 11456 } }, { "70.46.123.146/31" : { "autonomous_system_number" : 11456 } }, { "70.46.123.148/30" : { "autonomous_system_number" : 11456 } }, { "70.46.123.152/29" : { "autonomous_system_number" : 11456 } }, { "70.46.123.160/27" : { "autonomous_system_number" : 11456 } }, { "70.46.123.192/26" : { "autonomous_system_number" : 11456 } }, { "70.46.124.0/22" : { "autonomous_system_number" : 11456 } }, { "70.46.128.0/17" : { "autonomous_system_number" : 11456 } }, { "70.160.0.0/11" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "70.192.0.0/11" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless" } }, { "70.224.0.0/11" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.96.0.0/11" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business" } }, { "71.128.0.0/14" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.132.0.0/15" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.134.0.0/18" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.134.64.0/21" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.134.72.0/22" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.134.76.0/23" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.134.78.0/23" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.134.80.0/20" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.134.96.0/19" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.134.128.0/17" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.135.0.0/16" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.136.0.0/15" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.0.0/18" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.64.0/19" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.96.0/21" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.104.0/25" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.104.128/26" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.104.192/27" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.104.224/28" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.104.240/29" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.104.248/29" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.105.0/24" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.106.0/23" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.108.0/22" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.112.0/20" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.138.128.0/17" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.139.0.0/16" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.140.0.0/17" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.140.128.0/18" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.140.192.0/22" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.140.196.0/23" : { "autonomous_system_number" : 7132, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.140.198.0/23" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.140.200.0/21" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.140.208.0/20" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.140.224.0/19" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.141.0.0/16" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.142.0.0/15" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "71.144.0.0/12" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "72.96.0.0/11" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless" } }, { "72.192.0.0/12" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.208.0.0/14" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.212.0.0/15" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.0.0/22" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.4.0/23" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.6.0/26" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.6.64/29" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.6.72/32" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.6.73/32" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.6.74/31" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.6.76/30" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.6.80/28" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.6.96/27" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.6.128/25" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.7.0/24" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.8.0/21" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.16.0/20" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.32.0/19" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.64.0/18" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.214.128.0/17" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.215.0.0/16" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "72.216.0.0/13" : { "autonomous_system_number" : 22773, "autonomous_system_organization" : "Cox Communications Inc." } }, { "73.0.0.0/8" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc." } }, { "74.0.32.0/19" : { "autonomous_system_number" : 18566 } }, { "74.0.64.0/18" : { "autonomous_system_number" : 18566 } }, { "74.0.128.0/21" : { "autonomous_system_number" : 18566 } }, { "74.0.136.0/24" : { "autonomous_system_number" : 18566 } }, { "74.0.137.0/25" : { "autonomous_system_number" : 18566 } }, { "74.0.137.128/26" : { "autonomous_system_number" : 18566 } }, { "74.0.137.192/31" : { "autonomous_system_number" : 18566 } }, { "74.0.137.194/32" : { "autonomous_system_number" : 18566 } }, { "74.0.137.195/32" : { "autonomous_system_number" : 18566 } }, { "74.0.137.196/30" : { "autonomous_system_number" : 18566 } }, { "74.0.137.200/29" : { "autonomous_system_number" : 18566 } }, { "74.0.137.208/28" : { "autonomous_system_number" : 18566 } }, { "74.0.137.224/27" : { "autonomous_system_number" : 18566 } }, { "74.0.138.0/23" : { "autonomous_system_number" : 18566 } }, { "74.0.140.0/22" : { "autonomous_system_number" : 18566 } }, { "74.0.144.0/20" : { "autonomous_system_number" : 18566 } }, { "74.0.160.0/21" : { "autonomous_system_number" : 18566 } }, { "74.160.0.0/11" : { "autonomous_system_number" : 6389, "autonomous_system_organization" : "BellSouth.net Inc." } }, { "74.224.0.0/11" : { "autonomous_system_number" : 6389, "autonomous_system_organization" : "BellSouth.net Inc." } }, { "75.0.0.0/11" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "75.77.40.0/21" : { "autonomous_system_number" : 11456 } }, { "75.77.48.0/20" : { "autonomous_system_number" : 11456 } }, { "75.77.64.0/18" : { "autonomous_system_number" : 11456 } }, { "75.77.128.0/18" : { "autonomous_system_number" : 11456 } }, { "75.77.192.0/20" : { "autonomous_system_number" : 11456 } }, { "75.77.208.0/23" : { "autonomous_system_number" : 11456 } }, { "75.77.210.0/24" : { "autonomous_system_number" : 11456 } }, { "75.77.211.0/25" : { "autonomous_system_number" : 11456 } }, { "75.77.211.128/26" : { "autonomous_system_number" : 11456 } }, { "75.77.211.192/28" : { "autonomous_system_number" : 11456 } }, { "75.77.211.208/30" : { "autonomous_system_number" : 11456 } }, { "75.77.211.212/30" : { "autonomous_system_number" : 11456 } }, { "75.77.211.216/29" : { "autonomous_system_number" : 11456 } }, { "75.77.211.224/27" : { "autonomous_system_number" : 11456 } }, { "75.77.212.0/22" : { "autonomous_system_number" : 11456 } }, { "75.77.216.0/21" : { "autonomous_system_number" : 11456 } }, { "75.77.224.0/19" : { "autonomous_system_number" : 11456 } }, { "75.192.0.0/10" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless" } }, { "76.96.0.0/11" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc." } }, { "76.128.0.0/11" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc." } }, { "76.224.0.0/11" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "77.128.0.0/11" : { "autonomous_system_number" : 15557, "autonomous_system_organization" : "Societe Francaise du Radiotelephone S.A" } }, { "78.26.64.0/22" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.68.0/23" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.70.0/25" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.70.128/26" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.70.192/28" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.70.208/29" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.70.216/29" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.70.224/27" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.71.0/24" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.72.0/21" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.80.0/20" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.96.0/20" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.112.0/21" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.120.0/22" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.26.124.0/23" : { "autonomous_system_number" : 28929, "autonomous_system_organization" : "ASDASD srl" } }, { "78.192.0.0/10" : { "autonomous_system_number" : 12322, "autonomous_system_organization" : "Free SAS" } }, { "79.192.0.0/10" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG" } }, { "80.128.0.0/11" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG" } }, { "81.128.0.0/11" : { "autonomous_system_number" : 2856, "autonomous_system_organization" : "BTnet UK Regional network" } }, { "82.99.0.0/20" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "82.99.16.0/24" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "82.99.17.0/26" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "82.99.17.64/27" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "82.99.17.96/27" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "82.99.17.128/25" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "82.99.18.0/23" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "82.99.20.0/22" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "82.99.24.0/21" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "82.99.32.0/19" : { "autonomous_system_number" : 12552, "autonomous_system_organization" : "IP-Only" } }, { "83.206.10.0/23" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.12.0/22" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.16.0/20" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.32.0/22" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.36.0/25" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.36.128/26" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.36.192/27" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.36.224/29" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.36.232/29" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.36.240/28" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.37.0/24" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.38.0/23" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.40.0/21" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.48.0/20" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "83.206.64.0/23" : { "autonomous_system_number" : 3215, "autonomous_system_organization" : "France Telecom - Orange" } }, { "84.128.0.0/10" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG" } }, { "85.88.0.0/23" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "85.88.2.0/25" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "85.88.2.128/26" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "85.88.2.192/27" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "85.88.2.224/27" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "85.88.3.0/24" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "85.88.4.0/22" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "85.88.8.0/21" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "85.88.16.0/20" : { "autonomous_system_number" : 33984, "autonomous_system_organization" : "Surfplanet GmbH" } }, { "87.128.0.0/10" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG" } }, { "89.80.0.0/13" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.88.0.0/14" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.92.0.0/17" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.92.128.0/18" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.92.192.0/20" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.92.208.0/22" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.92.212.0/23" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.92.214.0/23" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.92.216.0/21" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.92.224.0/19" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.93.0.0/16" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.94.0.0/15" : { "autonomous_system_number" : 5410, "autonomous_system_organization" : "Bouygues Telecom ISP" } }, { "89.160.0.0/20" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.16.0/22" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.20.0/26" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.20.64/27" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.20.96/28" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.20.112/29" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.20.120/29" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.20.128/25" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.21.0/24" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.22.0/23" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.24.0/21" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.32.0/19" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "89.160.64.0/18" : { "autonomous_system_number" : 29518, "autonomous_system_organization" : "Bredband2 AB" } }, { "91.0.0.0/10" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG" } }, { "93.192.0.0/10" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG" } }, { "96.128.0.0/10" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc." } }, { "97.0.0.0/10" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless" } }, { "97.128.0.0/9" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless" } }, { "98.192.0.0/10" : { "autonomous_system_number" : 7922, "autonomous_system_organization" : "Comcast Cable Communications, Inc." } }, { "104.64.0.0/10" : { "autonomous_system_number" : 35994, "autonomous_system_organization" : "Akamai Technologies, Inc." } }, { "111.0.0.0/10" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd." } }, { "112.0.0.0/10" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd." } }, { "117.128.0.0/10" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd." } }, { "120.192.0.0/10" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd." } }, { "126.0.0.0/8" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp." } }, { "132.0.0.0/10" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "142.217.208.0/22" : { "autonomous_system_number" : 35911 } }, { "142.217.212.0/23" : { "autonomous_system_number" : 35911 } }, { "142.217.214.0/24" : { "autonomous_system_number" : 35911 } }, { "142.217.215.0/24" : { "autonomous_system_number" : 35911 } }, { "142.217.216.0/21" : { "autonomous_system_number" : 35911 } }, { "142.217.224.0/21" : { "autonomous_system_number" : 35911 } }, { "142.217.232.0/22" : { "autonomous_system_number" : 35911 } }, { "142.217.236.0/23" : { "autonomous_system_number" : 35911 } }, { "142.217.238.0/24" : { "autonomous_system_number" : 35911 } }, { "145.128.0.0/10" : { "autonomous_system_number" : 1103, "autonomous_system_organization" : "SURFnet, The Netherlands" } }, { "149.101.100.0/28" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "CELLCO-PART" } }, { "172.128.0.0/10" : { "autonomous_system_number" : 1668, "autonomous_system_organization" : "AOL Transit Data Network" } }, { "174.192.0.0/10" : { "autonomous_system_number" : 6167, "autonomous_system_organization" : "Cellco Partnership DBA Verizon Wireless" } }, { "176.128.0.0/10" : { "autonomous_system_number" : 12844, "autonomous_system_organization" : "Bouygues Telecom" } }, { "180.0.0.0/10" : { "autonomous_system_number" : 4713, "autonomous_system_organization" : "NTT Communications Corporation" } }, { "183.0.0.0/10" : { "autonomous_system_number" : 4134, "autonomous_system_organization" : "Chinanet" } }, { "183.192.0.0/10" : { "autonomous_system_number" : 9808, "autonomous_system_organization" : "Guangdong Mobile Communication Co.Ltd." } }, { "208.110.194.0/23" : { "autonomous_system_number" : 11025 } }, { "208.110.196.0/22" : { "autonomous_system_number" : 11025 } }, { "208.110.200.0/21" : { "autonomous_system_number" : 11025 } }, { "208.110.208.0/21" : { "autonomous_system_number" : 11025 } }, { "208.110.216.0/24" : { "autonomous_system_number" : 11025 } }, { "208.110.217.0/26" : { "autonomous_system_number" : 11025 } }, { "208.110.217.64/27" : { "autonomous_system_number" : 11025 } }, { "208.110.217.96/29" : { "autonomous_system_number" : 11025 } }, { "208.110.217.104/31" : { "autonomous_system_number" : 11025 } }, { "208.110.217.106/32" : { "autonomous_system_number" : 11025 } }, { "208.110.217.107/32" : { "autonomous_system_number" : 11025 } }, { "208.110.217.108/30" : { "autonomous_system_number" : 11025 } }, { "208.110.217.112/31" : { "autonomous_system_number" : 11025 } }, { "208.110.217.114/31" : { "autonomous_system_number" : 11025 } }, { "208.110.217.116/30" : { "autonomous_system_number" : 11025 } }, { "208.110.217.120/29" : { "autonomous_system_number" : 11025 } }, { "208.110.217.128/25" : { "autonomous_system_number" : 11025 } }, { "208.110.218.0/23" : { "autonomous_system_number" : 11025 } }, { "208.110.220.0/22" : { "autonomous_system_number" : 11025 } }, { "208.192.0.0/10" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business" } }, { "214.0.0.0/8" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "215.0.0.0/9" : { "autonomous_system_number" : 721, "autonomous_system_organization" : "DoD Network Information Center" } }, { "216.83.161.0/24" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "216.83.162.0/23" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "216.83.164.0/22" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "216.83.168.0/23" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "216.83.170.0/24" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "216.83.171.0/25" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "216.83.171.128/26" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "216.83.171.192/27" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "216.83.171.224/27" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "216.83.172.0/22" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "216.83.176.0/20" : { "autonomous_system_number" : 7381, "autonomous_system_organization" : "SunGard Availability Services USA" } }, { "216.160.26.0/23" : { "autonomous_system_number" : 209 } }, { "216.160.28.0/22" : { "autonomous_system_number" : 209 } }, { "216.160.32.0/19" : { "autonomous_system_number" : 209 } }, { "216.160.64.0/20" : { "autonomous_system_number" : 209 } }, { "216.160.80.0/23" : { "autonomous_system_number" : 209 } }, { "216.160.82.0/24" : { "autonomous_system_number" : 209 } }, { "216.160.83.0/27" : { "autonomous_system_number" : 209 } }, { "216.160.83.32/28" : { "autonomous_system_number" : 209 } }, { "216.160.83.48/29" : { "autonomous_system_number" : 209 } }, { "216.160.83.56/29" : { "autonomous_system_number" : 209 } }, { "216.160.83.64/26" : { "autonomous_system_number" : 209 } }, { "216.160.83.128/25" : { "autonomous_system_number" : 209 } }, { "216.160.84.0/22" : { "autonomous_system_number" : 209 } }, { "216.160.88.0/21" : { "autonomous_system_number" : 209 } }, { "216.160.96.0/19" : { "autonomous_system_number" : 209 } }, { "216.160.128.0/18" : { "autonomous_system_number" : 209 } }, { "216.160.192.0/21" : { "autonomous_system_number" : 209 } }, { "216.160.200.0/22" : { "autonomous_system_number" : 209 } }, { "216.160.204.0/23" : { "autonomous_system_number" : 209 } }, { "216.160.206.0/24" : { "autonomous_system_number" : 209 } }, { "219.0.0.0/10" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp." } }, { "220.0.0.0/10" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp." } }, { "222.229.128.0/17" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "222.230.0.0/17" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "222.230.128.0/21" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "222.230.136.0/23" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "222.230.138.0/23" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "222.230.140.0/22" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "222.230.144.0/20" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "222.230.160.0/19" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "222.230.192.0/18" : { "autonomous_system_number" : 2519, "autonomous_system_organization" : "JPNIC" } }, { "2001:1700::/27" : { "autonomous_system_number" : 6730, "autonomous_system_organization" : "Sunrise Communications AG" } }, { "2001:1c00::/23" : { "autonomous_system_number" : 9143, "autonomous_system_organization" : "Ziggo B.V." } }, { "2001:2000::/20" : { "autonomous_system_number" : 1299, "autonomous_system_organization" : "TeliaSonera International Carrier" } }, { "2001:4540::/27" : { "autonomous_system_number" : 9924, "autonomous_system_organization" : "Taiwan Fixed Network, Telco and Network Service Provider." } }, { "2001:4580::/26" : { "autonomous_system_number" : 4780, "autonomous_system_organization" : "Digital United Inc." } }, { "2001:4600::/24" : { "autonomous_system_number" : 2119, "autonomous_system_organization" : "Telenor Norge AS" } }, { "2001:5000::/24" : { "autonomous_system_number" : 1273, "autonomous_system_organization" : "Cable and Wireless Worldwide plc" } }, { "2001:5100::/24" : { "autonomous_system_number" : 2529, "autonomous_system_organization" : "Now maintained by Cable & Wireless Worldwide" } }, { "2001:5200::/23" : { "autonomous_system_number" : 1273, "autonomous_system_organization" : "Cable and Wireless Worldwide plc" } }, { "2001:5400::/22" : { "autonomous_system_number" : 1273, "autonomous_system_organization" : "Cable and Wireless Worldwide plc" } }, { "2001:8000::/20" : { "autonomous_system_number" : 1221, "autonomous_system_organization" : "Telstra Pty Ltd" } }, { "2001:b000::/21" : { "autonomous_system_number" : 17419, "autonomous_system_organization" : "HiNet IPv6 Service Network.," } }, { "2003::/19" : { "autonomous_system_number" : 3320, "autonomous_system_organization" : "Deutsche Telekom AG" } }, { "2400::/20" : { "autonomous_system_number" : 4766, "autonomous_system_organization" : "Korea Telecom" } }, { "2400:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:2000::/20" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp." } }, { "2400:3000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:4000::/22" : { "autonomous_system_number" : 4713, "autonomous_system_organization" : "NTT Communications Corporation" } }, { "2400:4400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:4800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:5000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:6000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2400:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8000::/26" : { "autonomous_system_number" : 9919, "autonomous_system_organization" : "New Century InfoComm Tech Co., Ltd." } }, { "2401:8040::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8080::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:8800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:9000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:a000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2401:c000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2402::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:8000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9000::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9800::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9900::/24" : { "autonomous_system_number" : 17676, "autonomous_system_organization" : "Softbank BB Corp." } }, { "2403:9a00::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:9c00::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:a000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2403:c000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404::/26" : { "autonomous_system_number" : 17709, "autonomous_system_organization" : "Eastern Broadband Telecom Co.,Ltd" } }, { "2404:40::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2404:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2405::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2406::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408::/22" : { "autonomous_system_number" : 55817, "autonomous_system_organization" : "Nippon Telegraph and Telephone Corporation PF Labs" } }, { "2408:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2408:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409::/23" : { "autonomous_system_number" : 55391, "autonomous_system_organization" : "INTERNET MULTIFEED CO." } }, { "2409:200::/23" : { "autonomous_system_number" : 55392, "autonomous_system_organization" : "INTERNET MULTIFEED CO." } }, { "2409:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2409:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240a::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b::/22" : { "autonomous_system_number" : 2516, "autonomous_system_organization" : "KDDI KDDI CORPORATION" } }, { "240b:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240b:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240c::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d::/27" : { "autonomous_system_number" : 2527, "autonomous_system_organization" : "So-net Entertainment Corporation" } }, { "240d:20::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:40::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240d:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e::/24" : { "autonomous_system_number" : 4134, "autonomous_system_organization" : "Chinanet" } }, { "240e:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240e:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f::/24" : { "autonomous_system_number" : 2516, "autonomous_system_organization" : "KDDI KDDI CORPORATION" } }, { "240f:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "240f:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:800::/27" : { "autonomous_system_number" : 701, "autonomous_system_organization" : "MCI Communications Services, Inc. d/b/a Verizon Business" } }, { "2600:820::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:840::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:880::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:900::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:a00::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:c00::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1000::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1400::/27" : { "autonomous_system_number" : 31377, "autonomous_system_organization" : "Akamai International B.V." } }, { "2600:1420::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1440::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1480::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1500::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1600::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:1800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:4000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5000::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5400::/27" : { "autonomous_system_number" : 19108, "autonomous_system_organization" : "Suddenlink Communications" } }, { "2600:5420::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5440::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5480::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5500::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5600::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:5800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:6000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7000::/24" : { "autonomous_system_number" : 6939, "autonomous_system_organization" : "Hurricane Electric, Inc." } }, { "2600:7100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:7800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2600:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2601::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602::/24" : { "autonomous_system_number" : 209, "autonomous_system_organization" : "NOVARTIS-DMZ-US" } }, { "2602:100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:200::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:300::/24" : { "autonomous_system_number" : 7018, "autonomous_system_organization" : "AT&T Services, Inc." } }, { "2602:400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2602:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2603::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2604::/14" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2608::/13" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800:2000::/20" : { "autonomous_system_number" : 10318, "autonomous_system_organization" : "S.A." } }, { "2800:3000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2800:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2801::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2802::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2804::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1000::/24" : { "autonomous_system_number" : 8151, "autonomous_system_organization" : "Uninet S.A. de C.V." } }, { "2806:1100::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1200::/23" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1400::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:1800::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2806:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2807::/16" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2808::/13" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2a00::/22" : { "autonomous_system_number" : 3209, "autonomous_system_organization" : "Vodafone GmbH" } }, { "2a00:800::/25" : { "autonomous_system_number" : 1257, "autonomous_system_organization" : "TELE2" } }, { "2a00:2000::/23" : { "autonomous_system_number" : 5400, "autonomous_system_organization" : "British Telecommunications plc" } }, { "2a00:2200::/24" : { "autonomous_system_number" : 5400, "autonomous_system_organization" : "British Telecommunications plc" } }, { "2a00:2300::/25" : { "autonomous_system_number" : 5400, "autonomous_system_organization" : "British Telecommunications plc" } }, { "2a00:2380::/25" : { "autonomous_system_number" : 2856, "autonomous_system_organization" : "BTnet UK Regional network" } }, { "2a01:2e0::/28" : { "autonomous_system_number" : 8374, "autonomous_system_organization" : "Polkomtel Sp. z o.o." } }, { "2a01:800::/24" : { "autonomous_system_number" : 3209, "autonomous_system_organization" : "Vodafone GmbH" } }, { "2a01:c00::/26" : { "autonomous_system_number" : 13184, "autonomous_system_organization" : "Telefonica Germany GmbH & Co.OHG" } }, { "2a01:e00::/26" : { "autonomous_system_number" : 12322, "autonomous_system_organization" : "Free SAS" } }, { "2a01:1000::/21" : { "autonomous_system_number" : 5617, "autonomous_system_organization" : "Telekomunikacja Polska S.A." } }, { "2a01:2000::/20" : { "autonomous_system_number" : 3269, "autonomous_system_organization" : "Telecom Italia S.p.a." } }, { "2a01:c000::/19" : { "autonomous_system_number" : 5511, "autonomous_system_organization" : "Orange S.A." } }, { "2a02:1200::/27" : { "autonomous_system_number" : 3303, "autonomous_system_organization" : "Swisscom (Switzerland) Ltd" } }, { "2a02:1400::/26" : { "autonomous_system_number" : 2119, "autonomous_system_organization" : "Telenor Norge AS" } }, { "2a02:1800::/24" : { "autonomous_system_number" : 6848, "autonomous_system_organization" : "Telenet N.V." } }, { "2a02:2e00::/27" : { "autonomous_system_number" : 12715, "autonomous_system_organization" : "Jazz Telecom S.A." } }, { "2a02:3000::/23" : { "autonomous_system_number" : 6805, "autonomous_system_organization" : "Telefonica Germany GmbH & Co.OHG" } }, { "2a02:8100::/27" : { "autonomous_system_number" : 31334, "autonomous_system_organization" : "Kabel Deutschland Vertrieb und Service GmbH" } }, { "2a02:8200::/27" : { "autonomous_system_number" : 9145, "autonomous_system_organization" : "EWE TEL GmbH" } }, { "2a02:8400::/25" : { "autonomous_system_number" : 15557, "autonomous_system_organization" : "Societe Francaise du Radiotelephone S.A" } }, { "2a02:9000::/23" : { "autonomous_system_number" : 3352, "autonomous_system_organization" : "TELEFONICA DE ESPANA" } }, { "2a02:a000::/26" : { "autonomous_system_number" : 5432, "autonomous_system_organization" : "Belgacom regional ASN" } }, { "2a02:a200::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2a02:a300::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2a02:a400::/26" : { "autonomous_system_number" : 1136, "autonomous_system_organization" : "KPN Internet Solutions" } }, { "2a02:a440::/26" : { "autonomous_system_number" : 8737, "autonomous_system_organization" : "Koninklijke KPN N.V." } }, { "2a02:a800::/26" : { "autonomous_system_number" : 6739, "autonomous_system_organization" : "Cableuropa - ONO" } }, { "2a02:aa00::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2a04:2400::/27" : { "autonomous_system_number" : 6830, "autonomous_system_organization" : "Liberty Global Operations B.V." } }, { "2c00::/13" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c08::/14" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0c::/15" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e::/20" : { "autonomous_system_number" : 24863, "autonomous_system_organization" : "LINKdotNET" } }, { "2c0e:1000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e:2000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e:4000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0e:8000::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f::/17" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:8000::/18" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:c000::/19" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:e000::/20" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:f000::/21" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:f800::/22" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fc00::/27" : { "autonomous_system_number" : 3741, "autonomous_system_organization" : "IS" } }, { "2c0f:fc20::/27" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fc40::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fc80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fd00::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:fe00::/24" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:ff00::/26" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } }, { "2c0f:ff40::/26" : { "autonomous_system_number" : 10474, "autonomous_system_organization" : "MWEB-10474" } }, { "2c0f:ff80::/25" : { "autonomous_system_number" : 237, "autonomous_system_organization" : "Merit Network Inc." } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoLite2-City-Test.json000066400000000000000000013521301450470006300254200ustar00rootroot00000000000000[ { "2.125.160.216/29" : { "city" : { "geoname_id" : 2655045, "names" : { "en" : "Boxford" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.75, "longitude" : -1.25, "time_zone" : "Europe/London" }, "postal" : { "code" : "OX1" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } }, { "geoname_id" : 3333217, "iso_code" : "WBK", "names" : { "en" : "West Berkshire", "ru" : "Западный Беркшир", "zh-CN" : "西伯克郡" } } ] } }, { "67.43.156.0/24" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1252634, "iso_code" : "BT", "names" : { "de" : "Bhutan", "en" : "Bhutan", "es" : "Bután", "fr" : "Bhutan", "ja" : "ブータン王国", "pt-BR" : "Butão", "ru" : "Бутан", "zh-CN" : "不丹" } }, "location" : { "accuracy_radius" : 534, "latitude" : 27.5, "longitude" : 90.5, "time_zone" : "Asia/Thimphu" }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "is_anonymous_proxy" : true } } }, { "81.2.69.142/31" : { "city" : { "geoname_id" : 2643743, "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 10, "latitude" : 51.5142, "longitude" : -0.0931, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "81.2.69.144/28" : { "city" : { "geoname_id" : 2643743, "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 3, "latitude" : 51.5142, "longitude" : -0.0931, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "81.2.69.160/27" : { "city" : { "geoname_id" : 2643743, "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5142, "longitude" : -0.0931, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "81.2.69.192/28" : { "city" : { "geoname_id" : 2643743, "names" : { "de" : "London", "en" : "London", "es" : "Londres", "fr" : "Londres", "ja" : "ロンドン", "pt-BR" : "Londres", "ru" : "Лондон" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5142, "longitude" : -0.0931, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 6269131, "iso_code" : "ENG", "names" : { "en" : "England", "es" : "Inglaterra", "fr" : "Angleterre", "pt-BR" : "Inglaterra" } } ] } }, { "89.160.20.112/28" : { "city" : { "geoname_id" : 2694762, "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : 58.4167, "longitude" : 15.6167, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ] } }, { "89.160.20.128/25" : { "city" : { "geoname_id" : 2694762, "names" : { "de" : "Linköping", "en" : "Linköping", "fr" : "Linköping", "ja" : "リンシェーピング", "zh-CN" : "林雪平" } }, "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 76, "latitude" : 58.4167, "longitude" : 15.6167, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "subdivisions" : [ { "geoname_id" : 2685867, "iso_code" : "E", "names" : { "en" : "Östergötland County", "fr" : "Comté d'Östergötland" } } ] } }, { "175.16.199.0/24" : { "city" : { "geoname_id" : 2038180, "names" : { "de" : "Chángchūn", "en" : "Changchun", "fr" : "Changchun", "ja" : "長春市", "ru" : "Чанчунь", "zh-CN" : "长春" } }, "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 43.88, "longitude" : 125.3228, "time_zone" : "Asia/Harbin" }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "China", "es" : "China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "subdivisions" : [ { "geoname_id" : 2036500, "iso_code" : "22", "names" : { "en" : "Jilin Sheng", "zh-CN" : "吉林" } } ] } }, { "202.196.224.0/20" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "location" : { "accuracy_radius" : 121, "latitude" : 13, "longitude" : 122, "time_zone" : "Asia/Manila" }, "postal" : { "code" : "34021" }, "registered_country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "represented_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" }, "type" : "military" } } }, { "216.160.83.56/29" : { "city" : { "geoname_id" : 5803556, "names" : { "en" : "Milton", "ru" : "Мильтон" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 22, "latitude" : 47.2513, "longitude" : -122.3149, "metro_code" : 819, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "98354" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "subdivisions" : [ { "geoname_id" : 5815135, "iso_code" : "WA", "names" : { "en" : "Washington", "es" : "Washington", "fr" : "État de Washington", "ja" : "ワシントン州", "ru" : "Вашингтон", "zh-CN" : "华盛顿州" } } ] } }, { "2001:218::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:220::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:230::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:238::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "location" : { "accuracy_radius" : 100, "latitude" : 24, "longitude" : 121, "time_zone" : "Asia/Taipei" }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:240::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:250::/31" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35, "longitude" : 105 }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:252::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35, "longitude" : 105 }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:254::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35, "longitude" : 105 }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:256::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35, "longitude" : 105 }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:258::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:260::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:268::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:270::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:278::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:280::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:288::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "location" : { "accuracy_radius" : 100, "latitude" : 24, "longitude" : 121, "time_zone" : "Asia/Taipei" }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:290::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:298::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2b0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2b8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2c0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2c8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2d8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 37, "longitude" : 127.5, "time_zone" : "Asia/Seoul" }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2e0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } }, "location" : { "accuracy_radius" : 100, "latitude" : 22.25, "longitude" : 114.16667, "time_zone" : "Asia/Hong_Kong" }, "registered_country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } } } }, { "2001:2e8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "location" : { "accuracy_radius" : 100, "latitude" : 35.68536, "longitude" : 139.75309, "time_zone" : "Asia/Tokyo" }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2a02:cf40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:cf80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "location" : { "accuracy_radius" : 100, "latitude" : 31.5, "longitude" : 34.75, "time_zone" : "Asia/Jerusalem" }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:cfc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.00016, "longitude" : 8.01427, "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "location" : { "accuracy_radius" : 100, "latitude" : 26, "longitude" : 50.5, "time_zone" : "Asia/Bahrain" }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:d0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:d140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:d200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 64, "longitude" : 26, "time_zone" : "Europe/Helsinki" }, "registered_country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 53, "longitude" : 28, "time_zone" : "Europe/Minsk" }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:d280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49.75, "longitude" : 15, "time_zone" : "Europe/Prague" }, "registered_country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:d2c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49, "longitude" : 32 }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:d340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d380::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47, "longitude" : 20, "time_zone" : "Europe/Budapest" }, "registered_country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:d440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d4c0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 64, "longitude" : 26, "time_zone" : "Europe/Helsinki" }, "registered_country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d4e0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "location" : { "accuracy_radius" : 100, "latitude" : 48.69096, "longitude" : 9.14062, "time_zone" : "Europe/Vaduz" } } }, { "2a02:d540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "location" : { "accuracy_radius" : 100, "latitude" : 40, "longitude" : -4 }, "registered_country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:d600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d680::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d6a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 732800, "is_in_european_union" : true, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 43, "longitude" : 25, "time_zone" : "Europe/Sofia" }, "registered_country" : { "geoname_id" : 732800, "is_in_european_union" : true, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } } } }, { "2a02:d700::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.00016, "longitude" : 8.01427, "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 25, "time_zone" : "Europe/Bucharest" }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:d840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2802361, "is_in_european_union" : true, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } }, "location" : { "accuracy_radius" : 100, "latitude" : 50.83333, "longitude" : 4, "time_zone" : "Europe/Brussels" }, "registered_country" : { "geoname_id" : 2802361, "is_in_european_union" : true, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } } } }, { "2a02:d980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:d9c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:da00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:da40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:da80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.33333, "longitude" : 13.33333, "time_zone" : "Europe/Vienna" }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:dac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:db00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:db40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 25, "time_zone" : "Europe/Bucharest" }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:db80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:dc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49, "longitude" : 32 }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:dd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 41, "longitude" : 20, "time_zone" : "Europe/Tirane" }, "registered_country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } } } }, { "2a02:dd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ddc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "location" : { "accuracy_radius" : 100, "latitude" : 31.5, "longitude" : 34.75, "time_zone" : "Asia/Jerusalem" }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:de80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dec0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "location" : { "accuracy_radius" : 100, "latitude" : 33.83333, "longitude" : 35.83333, "time_zone" : "Asia/Beirut" }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:df00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:df40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:df80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dfc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:e000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } }, "location" : { "accuracy_radius" : 100, "latitude" : 29.5, "longitude" : 47.75, "time_zone" : "Asia/Kuwait" }, "registered_country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } } } }, { "2a02:e0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.00016, "longitude" : 8.01427, "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:e100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e200::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.33333, "longitude" : 13.33333, "time_zone" : "Europe/Vienna" }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:e220::/30" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 25, "longitude" : 45, "time_zone" : "Asia/Riyadh" }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:e240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 53, "longitude" : 28, "time_zone" : "Europe/Minsk" }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:e340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:e440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 44.81892, "longitude" : 20.45998, "time_zone" : "Europe/Belgrade" }, "registered_country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } } } }, { "2a02:e580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e600::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e620::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e680::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "location" : { "accuracy_radius" : 100, "latitude" : 31, "longitude" : 36, "time_zone" : "Asia/Amman" }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:e6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e700::/29" : { "continent" : { "code" : "AF", "geoname_id" : 6255146, "names" : { "de" : "Afrika", "en" : "Africa", "es" : "África", "fr" : "Afrique", "ja" : "アフリカ", "pt-BR" : "África", "ru" : "Африка", "zh-CN" : "非洲" } }, "country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 28, "longitude" : 17, "time_zone" : "Africa/Tripoli" }, "registered_country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } } } }, { "2a02:e740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:e7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2963597, "is_in_european_union" : true, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 53, "longitude" : -8, "time_zone" : "Europe/Dublin" }, "registered_country" : { "geoname_id" : 2963597, "is_in_european_union" : true, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } } } }, { "2a02:e940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 25, "time_zone" : "Europe/Bucharest" }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:e980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "location" : { "accuracy_radius" : 100, "latitude" : 31.5, "longitude" : 34.75, "time_zone" : "Asia/Jerusalem" }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:e9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ea00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.00016, "longitude" : 8.01427, "time_zone" : "Europe/Zurich" }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:ea40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ea80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:eb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:eb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ebc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ec80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "location" : { "accuracy_radius" : 100, "latitude" : 48.69096, "longitude" : 9.14062, "time_zone" : "Europe/Vaduz" } } }, { "2a02:ecc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } }, "location" : { "accuracy_radius" : 100, "latitude" : 40.5, "longitude" : 47.5, "time_zone" : "Asia/Baku" }, "registered_country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } } } }, { "2a02:ed00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:ed40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:ed80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:edc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 25, "longitude" : 45, "time_zone" : "Asia/Riyadh" }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:ee00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49, "longitude" : 32 }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:ee40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ee80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:eec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ef00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:efc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49.75, "longitude" : 15, "time_zone" : "Europe/Prague" }, "registered_country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:f040::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "location" : { "accuracy_radius" : 100, "latitude" : 26, "longitude" : 50.5, "time_zone" : "Asia/Bahrain" }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:f080::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49, "longitude" : 32 }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f0a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f0c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "location" : { "accuracy_radius" : 100, "latitude" : 31, "longitude" : 36, "time_zone" : "Asia/Amman" }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:f100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 49, "longitude" : 32 }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f240::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 46, "longitude" : 2, "time_zone" : "Europe/Paris" }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f400::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 24, "longitude" : 54, "time_zone" : "Asia/Dubai" }, "registered_country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } } } }, { "2a02:f440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "location" : { "accuracy_radius" : 100, "latitude" : 40, "longitude" : -4 }, "registered_country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:f500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f540::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f560::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f580::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } }, "location" : { "accuracy_radius" : 100, "latitude" : 40, "longitude" : 45, "time_zone" : "Asia/Yerevan" }, "registered_country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } } } }, { "2a02:f5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f680::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f700::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "location" : { "accuracy_radius" : 100, "latitude" : 33.83333, "longitude" : 35.83333, "time_zone" : "Asia/Beirut" }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:f740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f780::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:f7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 60, "longitude" : 100 }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f900::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 32, "longitude" : 53, "time_zone" : "Asia/Tehran" }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47, "longitude" : 20, "time_zone" : "Europe/Budapest" }, "registered_country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:f980::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fa00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "location" : { "accuracy_radius" : 100, "latitude" : 25, "longitude" : 45, "time_zone" : "Asia/Riyadh" }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:fa40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "location" : { "accuracy_radius" : 100, "latitude" : 39.05901, "longitude" : 34.91155, "time_zone" : "Europe/Istanbul" }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:fa80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52, "longitude" : 20, "time_zone" : "Europe/Warsaw" }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 15, "time_zone" : "Europe/Stockholm" }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:fc40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "location" : { "accuracy_radius" : 100, "latitude" : 56, "longitude" : 10, "time_zone" : "Europe/Copenhagen" }, "registered_country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "location" : { "accuracy_radius" : 100, "latitude" : 62, "longitude" : 10, "time_zone" : "Europe/Oslo" }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:fcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "location" : { "accuracy_radius" : 100, "latitude" : 56, "longitude" : 10, "time_zone" : "Europe/Copenhagen" }, "registered_country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fdc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 47.33333, "longitude" : 13.33333, "time_zone" : "Europe/Vienna" }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:fe00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "location" : { "accuracy_radius" : 100, "latitude" : 52.5, "longitude" : 5.75, "time_zone" : "Europe/Amsterdam" }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:fe40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fe80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.75844, "longitude" : -2.69531, "time_zone" : "Europe/London" }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ff00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "location" : { "accuracy_radius" : 100, "latitude" : 42.83333, "longitude" : 12.83333, "time_zone" : "Europe/Rome" }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:ff40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } }, "location" : { "accuracy_radius" : 100, "latitude" : 54.25, "longitude" : -4.5, "time_zone" : "Europe/Isle_of_Man" }, "registered_country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } } } }, { "2a02:ff80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "location" : { "accuracy_radius" : 100, "latitude" : 51.5, "longitude" : 10.5, "time_zone" : "Europe/Berlin" }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:ffc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } }, "location" : { "accuracy_radius" : 100, "latitude" : 36.13333, "longitude" : -5.35, "time_zone" : "Europe/Gibraltar" }, "registered_country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } } } }, { "214.78.0.0/19" : { "city" : { "geoname_id" : 5391811, "names" : { "de" : "San Diego", "en" : "San Diego", "es" : "San Diego", "fr" : "San Diego", "ja" : "サンディエゴ", "pt-BR" : "San Diego", "ru" : "Сан-Диего" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 10, "latitude" : 32.6783, "longitude" : -117.1291, "metro_code" : 825, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "92136" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加州" } } ] } }, { "2001:480::/43" : { "city" : { "geoname_id" : 5391811, "names" : { "de" : "San Diego", "en" : "San Diego", "es" : "San Diego", "fr" : "San Diego", "ja" : "サンディエゴ", "pt-BR" : "San Diego", "ru" : "Сан-Диего" } }, "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "location" : { "accuracy_radius" : 50, "latitude" : 32.7203, "longitude" : -117.1552, "metro_code" : 825, "time_zone" : "America/Los_Angeles" }, "postal" : { "code" : "92101" }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "subdivisions" : [ { "geoname_id" : 5332921, "iso_code" : "CA", "names" : { "de" : "Kalifornien", "en" : "California", "es" : "California", "fr" : "Californie", "ja" : "カリフォルニア州", "pt-BR" : "Califórnia", "ru" : "Калифорния", "zh-CN" : "加州" } } ] } } ] python-maxminddb-2.5.2/tests/data/source-data/GeoLite2-Country-Test.json000066400000000000000000012167201450470006300261570ustar00rootroot00000000000000[ { "2.125.160.216/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "50.114.0.0/22" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "67.43.156.0/24" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1252634, "iso_code" : "BT", "names" : { "de" : "Bhutan", "en" : "Bhutan", "es" : "Bután", "fr" : "Bhutan", "ja" : "ブータン王国", "pt-BR" : "Butão", "ru" : "Бутан", "zh-CN" : "不丹" } }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "traits" : { "is_anonymous_proxy" : true } } }, { "81.2.69.142/31" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "81.2.69.144/28" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "81.2.69.160/27" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "81.2.69.192/28" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } } } }, { "89.160.20.112/28" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "89.160.20.128/25" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "111.235.160.0/22" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "202.196.224.0/20" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "registered_country" : { "geoname_id" : 1694008, "iso_code" : "PH", "names" : { "de" : "Philippinen", "en" : "Philippines", "es" : "Filipinas", "fr" : "Philippines", "ja" : "フィリピン共和国", "pt-BR" : "Filipinas", "ru" : "Филиппины", "zh-CN" : "菲律宾" } }, "represented_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" }, "type" : "military" } } }, { "216.160.83.56/29" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "América del Norte", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "USA", "en" : "United States", "es" : "Estados Unidos", "fr" : "États-Unis", "ja" : "アメリカ合衆国", "pt-BR" : "Estados Unidos", "ru" : "США", "zh-CN" : "美国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "217.65.48.0/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } }, "registered_country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } } } }, { "2001:218::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:220::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:230::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:238::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:240::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:250::/31" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:252::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:254::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:256::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } }, "registered_country" : { "geoname_id" : 1814991, "iso_code" : "CN", "names" : { "de" : "China", "en" : "People's Republic of China", "es" : "República Popular China", "fr" : "Chine", "ja" : "中国", "pt-BR" : "China", "ru" : "Китай", "zh-CN" : "中国" } } } }, { "2001:258::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:260::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:268::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:270::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:278::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:280::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:288::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } }, "registered_country" : { "geoname_id" : 1668284, "iso_code" : "TW", "names" : { "de" : "Taiwan", "en" : "Taiwan", "es" : "Taiwán", "fr" : "Taïwan", "ja" : "台湾", "pt-BR" : "Taiwan", "ru" : "Тайвань", "zh-CN" : "台湾" } } } }, { "2001:290::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:298::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2a8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2b0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2b8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2c0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2c8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2d8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } }, "registered_country" : { "geoname_id" : 1835841, "iso_code" : "KR", "names" : { "de" : "Republik Korea", "en" : "South Korea", "es" : "Corea, República de", "fr" : "Corée du Sud", "ja" : "大韓民国", "pt-BR" : "Coréia, República da", "ru" : "Южная Корея", "zh-CN" : "韩国" } } } }, { "2001:2e0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } }, "registered_country" : { "geoname_id" : 1819730, "iso_code" : "HK", "names" : { "de" : "Hongkong", "en" : "Hong Kong", "es" : "Hong Kong", "fr" : "Hong Kong", "ja" : "香港", "pt-BR" : "Hong Kong", "ru" : "Гонконг", "zh-CN" : "香港" } } } }, { "2001:2e8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f0::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2001:2f8::/32" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } }, "registered_country" : { "geoname_id" : 1861060, "iso_code" : "JP", "names" : { "de" : "Japan", "en" : "Japan", "es" : "Japón", "fr" : "Japon", "ja" : "日本", "pt-BR" : "Japão", "ru" : "Япония", "zh-CN" : "日本" } } } }, { "2a02:cf40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:cf80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:cfc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:d0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:d140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:d200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "registered_country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:d280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "registered_country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:d2c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:d340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d380::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "registered_country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:d440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d4c0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } }, "registered_country" : { "geoname_id" : 660013, "is_in_european_union" : true, "iso_code" : "FI", "names" : { "de" : "Finnland", "en" : "Finland", "es" : "Finlandia", "fr" : "Finlande", "ja" : "フィンランド共和国", "pt-BR" : "Finlândia", "ru" : "Финляндия", "zh-CN" : "芬兰" } } } }, { "2a02:d4e0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } } } }, { "2a02:d540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "registered_country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:d600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d680::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:d6a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 732800, "is_in_european_union" : true, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } }, "registered_country" : { "geoname_id" : 732800, "is_in_european_union" : true, "iso_code" : "BG", "names" : { "de" : "Bulgarien", "en" : "Bulgaria", "es" : "Bulgaria", "fr" : "Bulgarie", "ja" : "ブルガリア共和国", "pt-BR" : "Bulgária", "ru" : "Болгария", "zh-CN" : "保加利亚" } } } }, { "2a02:d700::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:d740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:d780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:d7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:d800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:d840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:d8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:d900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:d940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2802361, "is_in_european_union" : true, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } }, "registered_country" : { "geoname_id" : 2802361, "is_in_european_union" : true, "iso_code" : "BE", "names" : { "de" : "Belgien", "en" : "Belgium", "es" : "Bélgica", "fr" : "Belgique", "ja" : "ベルギー王国", "pt-BR" : "Bélgica", "ru" : "Бельгия", "zh-CN" : "比利时" } } } }, { "2a02:d980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:d9c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:da00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:da40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:da80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:dac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:db00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:db40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:db80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dc40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:dc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:dd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } }, "registered_country" : { "geoname_id" : 783754, "iso_code" : "AL", "names" : { "de" : "Albanien", "en" : "Albania", "es" : "Albania", "fr" : "Albanie", "ja" : "アルバニア共和国", "pt-BR" : "Albânia", "ru" : "Албания", "zh-CN" : "阿尔巴尼亚" } } } }, { "2a02:dd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ddc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:de40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:de80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:dec0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:df00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:df40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:df80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:dfc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:e000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e040::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e080::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } }, "registered_country" : { "geoname_id" : 285570, "iso_code" : "KW", "names" : { "de" : "Kuwait", "en" : "Kuwait", "es" : "Kuwait", "fr" : "Koweït", "ja" : "クウェート", "pt-BR" : "Kuwait", "ru" : "Кувейт", "zh-CN" : "科威特" } } } }, { "2a02:e0c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:e100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:e1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e200::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:e220::/30" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:e240::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } }, "registered_country" : { "geoname_id" : 630336, "iso_code" : "BY", "names" : { "de" : "Weißrussland", "en" : "Belarus", "es" : "Bielorrusia", "fr" : "Biélorussie", "ja" : "ベラルーシ共和国", "pt-BR" : "Bielo-Rússia", "ru" : "Беларусь", "zh-CN" : "白俄罗斯" } } } }, { "2a02:e340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:e3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e400::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:e440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:e500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e540::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } }, "registered_country" : { "geoname_id" : 6290252, "iso_code" : "RS", "names" : { "de" : "Serbien", "en" : "Serbia", "es" : "Serbia", "fr" : "Serbie", "ja" : "セルビア", "pt-BR" : "Sérvia", "ru" : "Сербия", "zh-CN" : "塞尔维亚" } } } }, { "2a02:e580::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:e5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e600::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e620::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:e680::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:e6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e700::/29" : { "continent" : { "code" : "AF", "geoname_id" : 6255146, "names" : { "de" : "Afrika", "en" : "Africa", "es" : "África", "fr" : "Afrique", "ja" : "アフリカ", "pt-BR" : "África", "ru" : "Африка", "zh-CN" : "非洲" } }, "country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } }, "registered_country" : { "geoname_id" : 2215636, "iso_code" : "LY", "names" : { "de" : "Libysch-Arabische Dschamahirija", "en" : "Libya", "es" : "Libia, República Árabe", "fr" : "Libye", "ja" : "社会主義人民リビア・アラブ国", "pt-BR" : "Líbia Árabe Jamahiriya", "ru" : "Ливия", "zh-CN" : "阿拉伯利比亚民众国" } } } }, { "2a02:e740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e780::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:e7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:e800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:e840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:e900::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2963597, "is_in_european_union" : true, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } }, "registered_country" : { "geoname_id" : 2963597, "is_in_european_union" : true, "iso_code" : "IE", "names" : { "de" : "Irland", "en" : "Ireland", "es" : "República de Irlanda", "fr" : "Irlande", "ja" : "アイルランド", "pt-BR" : "Irlanda", "ru" : "Ирландия", "zh-CN" : "爱尔兰" } } } }, { "2a02:e940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } }, "registered_country" : { "geoname_id" : 798549, "is_in_european_union" : true, "iso_code" : "RO", "names" : { "de" : "Rumänien", "en" : "Romania", "es" : "Rumanía", "fr" : "Roumanie", "ja" : "ルーマニア", "pt-BR" : "Romênia", "ru" : "Румыния", "zh-CN" : "罗马尼亚" } } } }, { "2a02:e980::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } }, "registered_country" : { "geoname_id" : 294640, "iso_code" : "IL", "names" : { "de" : "Israel", "en" : "Israel", "es" : "Israel", "fr" : "Israël", "ja" : "イスラエル国", "pt-BR" : "Israel", "ru" : "Израиль", "zh-CN" : "以色列" } } } }, { "2a02:e9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ea00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } }, "registered_country" : { "geoname_id" : 2658434, "iso_code" : "CH", "names" : { "de" : "Schweiz", "en" : "Switzerland", "es" : "Suiza", "fr" : "Suisse", "ja" : "スイス連邦", "pt-BR" : "Suíça", "ru" : "Швейцария", "zh-CN" : "瑞士" } } } }, { "2a02:ea40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ea80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:eb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:eb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:eb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ebc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:ec40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ec80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } } } }, { "2a02:ecc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } }, "registered_country" : { "geoname_id" : 587116, "iso_code" : "AZ", "names" : { "de" : "Aserbaidschan", "en" : "Azerbaijan", "es" : "Azerbaiyán", "fr" : "Azerbaïdjan", "ja" : "アゼルバイジャン共和国", "pt-BR" : "Azerbaijão", "ru" : "Азербайджан", "zh-CN" : "阿塞拜疆" } } } }, { "2a02:ed00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:ed40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:ed80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:edc0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:ee00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:ee40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ee80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:eec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:ef00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:ef80::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:efc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f000::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } }, "registered_country" : { "geoname_id" : 3077311, "is_in_european_union" : true, "iso_code" : "CZ", "names" : { "de" : "Tschechische Republik", "en" : "Czech Republic", "es" : "República Checa", "fr" : "Tchéquie", "ja" : "チェコ共和国", "pt-BR" : "República Checa", "ru" : "Чешская Республика", "zh-CN" : "捷克共和国" } } } }, { "2a02:f040::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } }, "registered_country" : { "geoname_id" : 290291, "iso_code" : "BH", "names" : { "de" : "Bahrain", "en" : "Bahrain", "es" : "Bahréin", "fr" : "Bahreïn", "ja" : "バーレーン", "pt-BR" : "Bahrain", "ru" : "Бахрейн", "zh-CN" : "巴林" } } } }, { "2a02:f080::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f0a0::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f0c0::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } }, "registered_country" : { "geoname_id" : 248816, "iso_code" : "JO", "names" : { "de" : "Jordanien", "en" : "Hashemite Kingdom of Jordan", "es" : "Jordania", "fr" : "Jordanie", "ja" : "ヨルダン・ハシミテ王国", "pt-BR" : "Jordânia", "ru" : "Иордания", "zh-CN" : "约旦" } } } }, { "2a02:f100::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f140::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f180::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f1c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } }, "registered_country" : { "geoname_id" : 690791, "iso_code" : "UA", "names" : { "de" : "Ukraine", "en" : "Ukraine", "es" : "Ucrania", "fr" : "Ukraine", "ja" : "ウクライナ共和国", "pt-BR" : "Ucrânia", "ru" : "Украина", "zh-CN" : "乌克兰" } } } }, { "2a02:f200::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f240::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f280::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } }, "registered_country" : { "geoname_id" : 3017382, "is_in_european_union" : true, "iso_code" : "FR", "names" : { "de" : "Frankreich", "en" : "France", "es" : "Francia", "fr" : "France", "ja" : "フランス共和国", "pt-BR" : "França", "ru" : "Франция", "zh-CN" : "法国" } } } }, { "2a02:f2c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f300::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f340::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f380::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f3c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f400::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } }, "registered_country" : { "geoname_id" : 290557, "iso_code" : "AE", "names" : { "de" : "Vereinigte Arabische Emirate", "en" : "United Arab Emirates", "es" : "Emiratos Árabes Unidos", "fr" : "Émirats Arabes Unis", "ja" : "アラブ首長国連邦", "pt-BR" : "Emirados Árabes Unidos", "ru" : "Объединенные Арабские Эмираты", "zh-CN" : "阿拉伯联合酋长国" } } } }, { "2a02:f440::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f480::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:f4c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } }, "registered_country" : { "geoname_id" : 2510769, "is_in_european_union" : true, "iso_code" : "ES", "names" : { "de" : "Spanien", "en" : "Spain", "es" : "España", "fr" : "Espagne", "ja" : "スペイン", "pt-BR" : "Espanha", "ru" : "Испания", "zh-CN" : "西班牙" } } } }, { "2a02:f500::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f540::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f560::/30" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f580::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } }, "registered_country" : { "geoname_id" : 174982, "iso_code" : "AM", "names" : { "de" : "Armenien", "en" : "Armenia", "es" : "Armenia", "fr" : "Arménie", "ja" : "アルメニア共和国", "pt-BR" : "Armênia", "ru" : "Армения", "zh-CN" : "亚美尼亚" } } } }, { "2a02:f5c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f600::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f640::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f680::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f6c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f700::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } }, "registered_country" : { "geoname_id" : 272103, "iso_code" : "LB", "names" : { "de" : "Libanon", "en" : "Lebanon", "es" : "Líbano", "fr" : "Liban", "ja" : "レバノン共和国", "pt-BR" : "Líbano", "ru" : "Ливан", "zh-CN" : "黎巴嫩" } } } }, { "2a02:f740::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f780::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:f7c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f800::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } }, "registered_country" : { "geoname_id" : 2017370, "iso_code" : "RU", "names" : { "de" : "Russland", "en" : "Russia", "es" : "Rusia", "fr" : "Russie", "ja" : "ロシア", "pt-BR" : "Rússia", "ru" : "Россия", "zh-CN" : "俄罗斯" } } } }, { "2a02:f840::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:f880::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:f8c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:f900::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } }, "registered_country" : { "geoname_id" : 130758, "iso_code" : "IR", "names" : { "de" : "Iran (Islamische Republik)", "en" : "Iran", "es" : "Irán (República Islámica)", "fr" : "Iran (République islamique de)", "ja" : "イラン・イスラム共和国", "pt-BR" : "República Islâmica do Irã", "ru" : "Иран", "zh-CN" : "伊朗伊斯兰共和国" } } } }, { "2a02:f940::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } }, "registered_country" : { "geoname_id" : 719819, "is_in_european_union" : true, "iso_code" : "HU", "names" : { "de" : "Ungarn", "en" : "Hungary", "es" : "Hungría", "fr" : "Hongrie", "ja" : "ハンガリー共和国", "pt-BR" : "Hungria", "ru" : "Венгрия", "zh-CN" : "匈牙利" } } } }, { "2a02:f980::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:f9c0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fa00::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } }, "registered_country" : { "geoname_id" : 102358, "iso_code" : "SA", "names" : { "de" : "Saudi-Arabien", "en" : "Saudi Arabia", "es" : "Arabia Saudita", "fr" : "Arabie saoudite", "ja" : "サウジアラビア王国", "pt-BR" : "Arábia Saudita", "ru" : "Саудовская Аравия", "zh-CN" : "沙特阿拉伯" } } } }, { "2a02:fa40::/29" : { "continent" : { "code" : "AS", "geoname_id" : 6255147, "names" : { "de" : "Asien", "en" : "Asia", "es" : "Asia", "fr" : "Asie", "ja" : "アジア", "pt-BR" : "Ásia", "ru" : "Азия", "zh-CN" : "亚洲" } }, "country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } }, "registered_country" : { "geoname_id" : 298795, "iso_code" : "TR", "names" : { "de" : "Türkei", "en" : "Turkey", "es" : "Turquía", "fr" : "Turquie", "ja" : "トルコ共和国", "pt-BR" : "Turquia", "ru" : "Турция", "zh-CN" : "土耳其" } } } }, { "2a02:fa80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fac0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fb00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fb40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fb80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fbc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } }, "registered_country" : { "geoname_id" : 798544, "is_in_european_union" : true, "iso_code" : "PL", "names" : { "de" : "Polen", "en" : "Poland", "es" : "Polonia", "fr" : "Pologne", "ja" : "ポーランド共和国", "pt-BR" : "Polônia", "ru" : "Польша", "zh-CN" : "波兰" } } } }, { "2a02:fc00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } }, "registered_country" : { "geoname_id" : 2661886, "is_in_european_union" : true, "iso_code" : "SE", "names" : { "de" : "Schweden", "en" : "Sweden", "es" : "Suecia", "fr" : "Suède", "ja" : "スウェーデン王国", "pt-BR" : "Suécia", "ru" : "Швеция", "zh-CN" : "瑞典" } } } }, { "2a02:fc40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "registered_country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fc80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } }, "registered_country" : { "geoname_id" : 3144096, "iso_code" : "NO", "names" : { "de" : "Norwegen", "en" : "Norway", "es" : "Noruega", "fr" : "Norvège", "ja" : "ノルウェー王国", "pt-BR" : "Noruega", "ru" : "Норвегия", "zh-CN" : "挪威" } } } }, { "2a02:fcc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fd00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:fd40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fd80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } }, "registered_country" : { "geoname_id" : 2623032, "is_in_european_union" : true, "iso_code" : "DK", "names" : { "de" : "Dänemark", "en" : "Denmark", "es" : "Dinamarca", "fr" : "Danemark", "ja" : "デンマーク王国", "pt-BR" : "Dinamarca", "ru" : "Дания", "zh-CN" : "丹麦" } } } }, { "2a02:fdc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } }, "registered_country" : { "geoname_id" : 2782113, "is_in_european_union" : true, "iso_code" : "AT", "names" : { "de" : "Österreich", "en" : "Austria", "es" : "Austria", "fr" : "Autriche", "ja" : "オーストリア共和国", "pt-BR" : "Áustria", "ru" : "Австрия", "zh-CN" : "奥地利" } } } }, { "2a02:fe00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } }, "registered_country" : { "geoname_id" : 2750405, "is_in_european_union" : true, "iso_code" : "NL", "names" : { "de" : "Niederlande", "en" : "Netherlands", "es" : "Holanda", "fr" : "Pays-Bas", "ja" : "オランダ王国", "pt-BR" : "Países Baixos", "ru" : "Нидерланды", "zh-CN" : "荷兰" } } } }, { "2a02:fe40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:fe80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:fec0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } }, "registered_country" : { "geoname_id" : 2635167, "iso_code" : "GB", "names" : { "de" : "Vereinigtes Königreich", "en" : "United Kingdom", "es" : "Reino Unido", "fr" : "Royaume-Uni", "ja" : "イギリス", "pt-BR" : "Reino Unido", "ru" : "Великобритания", "zh-CN" : "英国" } } } }, { "2a02:ff00::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } }, "registered_country" : { "geoname_id" : 3175395, "is_in_european_union" : true, "iso_code" : "IT", "names" : { "de" : "Italien", "en" : "Italy", "es" : "Italia", "fr" : "Italie", "ja" : "イタリア共和国", "pt-BR" : "Itália", "ru" : "Италия", "zh-CN" : "意大利" } } } }, { "2a02:ff40::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } }, "registered_country" : { "geoname_id" : 3042225, "iso_code" : "IM", "names" : { "de" : "Insel Man", "en" : "Isle of Man", "es" : "Isla de Man", "fr" : "Île de Man", "ja" : "マン島", "pt-BR" : "Ilha de Man", "ru" : "Мэн, о-в", "zh-CN" : "曼岛" } } } }, { "2a02:ff80::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } }, "registered_country" : { "geoname_id" : 2921044, "is_in_european_union" : true, "iso_code" : "DE", "names" : { "de" : "Deutschland", "en" : "Germany", "es" : "Alemania", "fr" : "Allemagne", "ja" : "ドイツ連邦共和国", "pt-BR" : "Alemanha", "ru" : "Германия", "zh-CN" : "德国" } } } }, { "2a02:ffc0::/29" : { "continent" : { "code" : "EU", "geoname_id" : 6255148, "names" : { "de" : "Europa", "en" : "Europe", "es" : "Europa", "fr" : "Europe", "ja" : "ヨーロッパ", "pt-BR" : "Europa", "ru" : "Европа", "zh-CN" : "欧洲" } }, "country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } }, "registered_country" : { "geoname_id" : 2411586, "iso_code" : "GI", "names" : { "de" : "Gibraltar", "en" : "Gibraltar", "es" : "Gibraltar", "fr" : "Gibraltar", "ja" : "ジブラルタル", "pt-BR" : "Gibraltar", "ru" : "Гибралтар" } } } }, { "214.78.0.0/19" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } } } }, { "2001:480::/43" : { "continent" : { "code" : "NA", "geoname_id" : 6255149, "names" : { "de" : "Nordamerika", "en" : "North America", "es" : "Norteamérica", "fr" : "Amérique du Nord", "ja" : "北アメリカ", "pt-BR" : "América do Norte", "ru" : "Северная Америка", "zh-CN" : "北美洲" } }, "country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } }, "registered_country" : { "geoname_id" : 6252001, "iso_code" : "US", "names" : { "de" : "Vereinigte Staaten", "en" : "United States", "es" : "Estados Unidos", "fr" : "États Unis", "ja" : "アメリカ", "pt-BR" : "EUA", "ru" : "США", "zh-CN" : "美国" } } } } ] python-maxminddb-2.5.2/tests/data/test-data/000077500000000000000000000000001450470006300207425ustar00rootroot00000000000000python-maxminddb-2.5.2/tests/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb000066400000000000000000000104361450470006300260450ustar00rootroot00000000000000@@@@@X @ @ @ @ @@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@QIR@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@abc@d@ef@g@0hi@jpk@l@m@n@@oA@@q@r@s@tu@v@@w@xy@@z{@@|}@@~@@@@@@@@d@@0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@0@@@@0@@@@@@@@@@@0@@@@@@@0@@@@@@@@@@@@@@@@@@@@H@5@@ @@@@@@@@@@@@ @@@@@0@0@ @@ @ @@@@@@@@@@@0@@@@@@0@@ !@"@#@$(@%&@'@@0@)*@+@@,@-.@@/@01@2@@34@0@6@@7@89@:@;@<@=@>@?@@@A@@B@C@DE@F@G@@000@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@`Y@Z@[@\@]@^@_@`@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@@@@@@@@@@@@@@@@@@0@@@@@@@@@@@@@@@@@@@00000000`0@@@@@@@@@@0@`@(@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@@@)@*@+@,0-.0@/0@Lis_anonymousPis_anonymous_vpn     Pis_tor_exit_node    -   Sis_hosting_provider      N Ois_public_proxy Tis_residential_proxy  -    q MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeSGeoIP2-Anonymous-IPKdescriptionBen]2GeoIP2 Anonymous IP Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_count0Krecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb000066400000000000000000000537161450470006300303430ustar00rootroot00000000000000      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqyrstuvwxz{|}~7 } t  }  +       !"#$%&'()*|,-.r/\012U3G456789:;<=>?@FABCDEHIJKLMNOPQRSTVWXYZ[]^_`aebcdfghijklmnopqstuvwxyz{|}~l6`      !"#$%.&'()*+,-`/0b1C2734568<9:;l=@>?lAB=DSEIFGHJPKMLNOQRT[UXVWYZ\_]^l`acdselfighljk=mpnolqrt{uxvwyz|}~lllM`,jk$Fh,3e      |!j!  |"#"%H&9'.(+)*"M,-F/20133645783:A;><="?@"BECDjFG#/I\JQKNLM3OPjRYSVTU"WX3Z[#]d^a_`3bcehfg |ijjlmn}ovpsqr$vtuwzxy{|,~F$%U%U3"&3$v%U!&"F'v |%U" |s0 j(("  "  (!&)v33 e")#&$%'(,*-+,e./j1P2A3:4756F893;><=?@(BICFDEjGH*_JMKL,NOQdR]SZTWUVjXY[\j^a_`+bcelfigh+jk3mpno%Uqrtuvw~x{yz3|}-=$vF""jj"-,%U3)v!(F%Uw4h!"+   "  3j!%3 |" !j#$&-'*(),+,3.1/0"235X6E7>8;9:.<="?B@A,CD#/FQGJHIKNLM"OPRUST/VW(YhZa[^\](_`(becdfgipjmkl'vnoqtrsFuvxyz{|}~(3 |"M"")v%U33"eF0,"3e0&("e"e1U32 DcityJgeoname_id(EEnamesBenGBoxfordIcontinentDcodeBEU _r, BdeFEuropaBenFEuropeBes HBfr RBjaOヨーロッパEpt-BR HBruLЕвропаEzh-CNF欧洲   ) 3Gcountry (5Hiso_codeBGB BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス v Bru\Великобритания F英国HlocationOaccuracy_radiusdHlatitudee51.75Ilongitudee-1.25Itime_zoneMEurope/LondonFpostal 4COX1Rregistered_country . Tis_in_european_union BFR BdeJFrankreichBenFFranceBesGFranciaBfr!BjaUフランス共和国 vGFrançaBruNФранция F法国Lsubdivisions _ CENG BenGEnglandBesJInglaterraBfrJAngleterre v"w 2a CWBK BenNWest BerkshireBru]Западный Беркшир L西伯克郡 ) 4BAS _r+ BdeEAsienBenDAsiaBes#BfrDAsieBjaIアジア vEÁsiaBruHАзия F亚洲  BBT BdeFBhutanBen#WBesFButánBfr#WBjaRブータン王国 vFButãoBruJБутан F不丹!J!T!fd27.5!ud90.5!LAsia/Thimphu!  /U!! BRO BdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア vHRomêniaBruNРумыния L罗马尼亚FtraitsRis_anonymous_proxy!  (W BdeFLondonBen$~BesGLondresBfr$BjaLロンドン v$BruLЛондон ) 3 !J!Td!fg51.5142!ug-0.0931!!! _e BUS BdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 v%BruFСША F美国"J"Y $q ) 3 !J!T!f$!u$!!!$"J%a $q ) 3 !J!T !f$!u$!!!$"J%a  )j BdeJLinköpingBen%Bfr%BjaXリンシェーピング I林雪平 ) 3 (!! BSE BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 vGSuéciaBruLШвеция F瑞典!J!TL!fg58.4167!ug15.6167!PEurope/Stockholm! ,T!! BDE BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 vHAlemanhaBruPГермания F德国"J ( AE BenUÖstergötland CountyBfrWComté d'Östergötland ) 4BNA _r- BdeKNordamerikaBenMNorth AmericaBesRAmérica del NorteBfrQAmérique du NordBjaO北アメリカ vQAmérica do NorteBru]Северная Америка I北美洲 $!J!T!ff37.751!ug-97.822!OAmerica/Chicago!   BdeKChángchūnBenIChangchunBfr(BjaI長春市BruNЧанчунь F长春 )"  BCN BdeEChinaBen(Bes(BfrEChineBjaF中国 v(BruJКитай (!J!Td!fe43.88!uh125.3228!KAsia/Harbin!("J  B22 BenKJilin Sheng F吉林 )" 8 BPH BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr(BjaXフィリピン共和国 v(BruRФилиппины I菲律宾!J!Ty!fb13!uc122!KAsia/Manila! 4E34021!(xSrepresented_country _e BUS $DtypeHmilitary   BdeHSingapurBenISingaporeBes(mBfrISingapourBjaRシンガポール vISingapuraBruPСингапур I新加坡 )"  BSG (i!J!T !fe1.336!uh103.7716!NAsia/Singapore! 4B59!(   a BdeIMelbourneBen(7Bes(7Bfr(7BjaOメルボルン v(7BruPМельбурн I墨尔本 ) 4BOC _r/ BdeHOzeanienBenGOceaniaBesHOceaníaBfrHOcéanieBjaOオセアニア v(BruNОкеания I大洋洲  BAU BdeJAustralienBenIAustraliaBes(#BfrIAustralieBjaUオーストラリア vJAustráliaBruRАвстралия L澳大利亚!J!T!fh-37.8159!uh144.9669!SAustralia/Melbourne! 4D3000!("J  CVIC BenHVictoria vHVitóriaBruPВиктория  RE BdeISan DiegoBen(Bes(Bfr(BjaRサンディエゴ v(BruQСан-Диего ) 4BNA _r- Bde'Ben'BesMNorteaméricaBfr'Bja' v'Bru( (. _e BUS BdeRVereinigte StaatenBen%Bes%BfrKÉtats UnisBjaLアメリカ vCEUABru%O %X!J!Td!fg32.7405!ui-117.0935Jmetro_code9!SAmerica/Los_Angeles! 4E92105!("J Q_ BCA BdeKKalifornienBenJCaliforniaBes(BfrJCalifornieBjaXカリフォルニア州 vKCalifórniaBruTКалифорния F加州  X$ BenFMiltonBruNМильтон )' $!J!T!fg47.2513!ui-122.3149()3!(9! 4E98354! "J X_ BWA BenJWashingtonBes(jBfrSÉtat de WashingtonBjaRワシントン州BruRВашингтон L华盛顿州 )" e BJP BdeEJapanBen(BesFJapónBfrEJaponBjaF日本 vFJapãoBruLЯпония (!J!Td!fh35.68536!ui139.75309!JAsia/Tokyo!( )" A BKR BdeNRepublik KoreaBenKSouth KoreaBesTCorea, República deBfrMCorée du SudBjaL大韓民国 vVCoréia, República daBruUЮжная Корея F韩国!J!Td!fb37!ue127.5!JAsia/Seoul!(d )" t BTW BdeFTaiwanBen( GBesGTaiwánBfrGTaïwanBjaF台湾 v( GBruNТайвань ( m!J!Td!fb24!uc121!KAsia/Taipei!( 5 )"  BCN Bde(BenZPeople's Republic of ChinaBesXRepública Popular ChinaBfr(Bja( v(Bru( (!J!Td!fb35!uc105!( )" R BHK BdeHHongkongBenIHong KongBes( cBfr( cBjaF香港 v( cBruNГонконг ( |!J!Td!fe22.25!ui114.16667!NAsia/Hong_Kong!( E ( )(j (!J!T!fg32.7203!ui-117.1552()9!(9! 4E92101!("J(_ ) 3 / BNO BdeHNorwegenBenFNorwayBesGNoruegaBfrHNorvègeBjaUノルウェー王国 v( LBruPНорвегия F挪威!J!Td!fb62!ub10!KEurope/Oslo!( $ )" ~ BIL BdeFIsraelBen( Bes( BfrGIsraëlBjaRイスラエル国 v( BruNИзраиль I以色列!J!Td!fd31.5!ue34.75!NAsia/Jerusalem!( ) 3 !!J!Td!fb46!ua2!LEurope/Paris!! ) 3 ( BCH BdeGSchweizBenKSwitzerlandBesESuizaBfrFSuisseBjaOスイス連邦 vGSuíçaBruRШвейцария F瑞士!J!Td!fh47.00016!ug8.01427!MEurope/Zurich!( ) 3 &!J!Td!fb62!ub15!&!& )" m BBH BdeGBahrainBen( rBesHBahréinBfrHBahreïnBjaOバーレーン v( rBruNБахрейн F巴林!J!Td!fb26!ud50.5!LAsia/Bahrain!( ` ) 3 Z BRU BdeHRusslandBenFRussiaBesERusiaBfrFRussieBjaIロシア vGRússiaBruLРоссия I俄罗斯!J!Td!fb60!uc100!( ) 3  /P!! BPL BdeEPolenBenFPolandBesGPoloniaBfrGPologneBjaXポーランド共和国 vHPolôniaBruLПольша F波兰!J!Td!fb52!ub20!MEurope/Warsaw!( ) 3 &!J!Td!fd51.5!ud10.5!MEurope/Berlin!& ) 3 0s!! BIT BdeGItalienBenEItalyBesFItaliaBfrFItalieBjaUイタリア共和国 vGItáliaBruLИталия I意大利!J!Td!fh42.83333!uh12.83333!KEurope/Rome!(] ) 3  -!! BFI BdeHFinnlandBenGFinlandBesIFinlandiaBfrHFinlandeBja[フィンランド共和国 vJFinlândiaBruRФинляндия F芬兰!J!Td!fb64!ub26!OEurope/Helsinki!( ) 3  @ BBY BdeMWeißrusslandBenGBelarusBesKBielorrusiaBfrLBiélorussieBjaXベラルーシ共和国 vMBielo-RússiaBruPБеларусь L白俄罗斯!J!Td!fb53!ub28!LEurope/Minsk!( ) 3 .!! BCZ BdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 v(Bru]Чешская Республика O捷克共和国!J!Td!fe49.75!ub15!MEurope/Prague!( )"  BIR BdeZIran (Islamische Republik)BenDIranBes\Irán (República Islámica)Bfr]Iran (République islamique de)Bja]イラン・イスラム共和国 v\República Islâmica do IrãBruHИран X伊朗伊斯兰共和国!J!Td!fb32!ub53!KAsia/Tehran!(t ) 3  g BUA BdeGUkraineBen(BesGUcraniaBfr(BjaXウクライナ共和国 vHUcrâniaBruNУкраина I乌克兰!J!Td!fb49!ub32!( ) 3 !J!Td!fh54.75844!uh-2.69531!!! ) 3  !! BHU BdeFUngarnBenGHungaryBesHHungríaBfrGHongrieBjaXハンガリー共和国 vGHungriaBruNВенгрия I匈牙利!J!Td!fb47!ub20!OEurope/Budapest!(E ) 3!J!Td!fh48.69096!ug9.14062!LEurope/Vaduz ) 3 &O!! BES BdeGSpanienBenESpainBesGEspañaBfrGEspagneBjaLスペイン vGEspanhaBruNИспания I西班牙!J!Td!fb40!ub-4!(' ) 3  .!! BBG BdeIBulgarienBenHBulgariaBes(BfrHBulgarieBjaXブルガリア共和国 vIBulgáriaBruPБолгария L保加利亚!J!Td!fb43!ub25!LEurope/Sofia!( ) 3 #!J!Td!fb46!ub25!PEurope/Bucharest!# ) 3 *¹!! BBE BdeGBelgienBenGBelgiumBesHBélgicaBfrHBelgiqueBjaRベルギー王国 v(BruNБельгия I比利时!J!Td!fh50.83333!ua4!OEurope/Brussels!( )" + BTR BdeGTürkeiBenFTurkeyBesHTurquíaBfrGTurquieBjaRトルコ共和国 vGTurquiaBruLТурция I土耳其!J!Td!fh39.05901!uh34.91155!OEurope/Istanbul!(M ) 3 *s!! BAT BdeKÖsterreichBenGAustriaBes($BfrHAutricheBja[オーストリア共和国 vHÁustriaBruNАвстрия I奥地利!J!Td!fh47.33333!uh13.33333!MEurope/Vienna!( ) 3  BAL BdeHAlbanienBenGAlbaniaBes(BfrGAlbanieBjaXアルバニア共和国 vHAlbâniaBruNАлбания O阿尔巴尼亚!J!Td!fb41!ub20!MEurope/Tirane!( )" & BLB BdeGLibanonBenGLebanonBesGLíbanoBfrELibanBjaUレバノン共和国 v(BruJЛиван I黎巴嫩!J!Td!fh33.83333!uh35.83333!KAsia/Beirut!(n ) 3 )!! BNL BdeKNiederlandeBenKNetherlandsBesGHolandaBfrHPays-BasBjaRオランダ王国 vNPaíses BaixosBruTНидерланды F荷兰!J!Td!fd52.5!ud5.75!PEurope/Amsterdam!( )" [ BKW BdeFKuwaitBen(Bes(BfrGKoweïtBjaOクウェート v(BruLКувейт I科威特!J!Td!fd29.5!ue47.75!KAsia/Kuwait!( )"  BSA BdeMSaudi-ArabienBenLSaudi ArabiaBesNArabia SauditaBfrOArabie saouditeBja[サウジアラビア王国 vOArábia SauditaBru]Саудовская Аравия O沙特阿拉伯!J!Td!fb25!ub45!KAsia/Riyadh!(n ) 3 _L BRS BdeGSerbienBenFSerbiaBes(tBfrFSerbieBjaLセルビア vGSérviaBruLСербия L塞尔维亚!J!Td!fh44.81892!uh20.45998!OEurope/Belgrade!(W )"  BJO BdeIJordanienBen[Hashemite Kingdom of JordanBesHJordaniaBfrHJordanieBja]ヨルダン・ハシミテ王国 vIJordâniaBruPИордания F约旦!J!Td!fb31!ub36!JAsia/Amman!( ) 4BAF _r* BdeFAfrikaBenFAfricaBesGÁfricaBfrGAfriqueBjaLアフリカ v(BruLАфрика F非洲 ! BLY Bde]Libysch-Arabische DschamahirijaBenELibyaBesXLibia, República ÁrabeBfrELibyeBja] 社会主義人民リビア・アラブ国 vXLíbia Árabe JamahiriyaBruJЛивия [阿拉伯利比亚民众国!J!Td!fb28!ub17!NAfrica/Tripoli!(0 ) 3 -8!! BIE BdeFIrlandBenGIrelandBesURepública de IrlandaBfrGIrlandeBjaRアイルランド vGIrlandaBruPИрландия I爱尔兰!J!Td!fb53!ub-8!MEurope/Dublin!(5 )" l BAZ BdeMAserbaidschanBenJAzerbaijanBesKAzerbaiyánBfrLAzerbaïdjanBja]アゼルバイジャン共和国 vKAzerbaijãoBruVАзербайджан L阿塞拜疆!J!Td!fd40.5!ud47.5!IAsia/Baku!( )" n BAE Bde\Vereinigte Arabische EmirateBenTUnited Arab EmiratesBesWEmiratos Árabes UnidosBfrTÉmirats Arabes UnisBjaXアラブ首長国連邦 vWEmirados Árabes UnidosBru]Объединенные Арабские Эмираты X阿拉伯联合酋长国!J!Td!fb24!ub54!JAsia/Dubai!( )"  BAM BdeHArmenienBenGArmeniaBes("BfrHArménieBjaXアルメニア共和国 vHArmêniaBruNАрмения L亚美尼亚!J!Td!fb40!ub45!LAsia/Yerevan!(! ) 3 (8!! BDK BdeIDänemarkBenGDenmarkBesIDinamarcaBfrHDanemarkBjaUデンマーク王国 v("BruJДания F丹麦!J!Td!fb56!ub10!QEurope/Copenhagen!(" ) 3 .k BIM BdeIInsel ManBenKIsle of ManBesKIsla de ManBfrKÎle de ManBjaIマン島 vKIlha de ManBruMМэн, о-в F曼岛!J!Td!fe54.25!ud-4.5!REurope/Isle_of_Man!(#M ) 3 $B BGI BdeIGibraltarBen($Bes($Bfr($BjaRジブラルタル v($BruRГибралтар!J!Td!fh36.13333!ue-5.35!PEurope/Gibraltar!($MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeKGeoIP2-CityKdescriptionBen]?GeoIP2 City Test Broken Double Format Database (fake GeoIP2 data, for example purposes only)BzhO小型数据库Jip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb000066400000000000000000000545341450470006300300230ustar00rootroot00000000000000      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqyrstuvwxz{|}~7     +       !"#$%&'()*,-.r/\012U3G456789:;<=>?@FABCDEHIJKLMNOPQRSTVWXYZ[]^_`aebcdfghijklmnopqstuvwxyz{|}~\A"`      !"#$%.&'()*+,-`/0b1C2734568<9:;=@>?ABlDSEIFGHJPKMLNOQRT[UXVWYZ\_]^`acdselfighjklmpnoqrt{uxvwyz|}~&`s!k$s     | M!:"V! !:"#"%H&9'.(+)*##,-/201364578:A;><=#?@"BECDFG$I\JQKNLMOPRYSVTU"WXZ[$]d^a_`bcehfg!:ijlmn}ovpsqr%qtuwzxy{|s~%&c&c"'%q&c"V'"!(!:&c"!:s0 )8*"  "  )8!'* ")#&$%|'(s*-+,./1P2A3:475689;><=?@)8BICFDEGH+JMKLsNOQdR]SZTWUVXY[\^a_`,<bcelfigh-jkmpno&cqrtuvw~x{yz|}.%q!""#/Os&c*"V)8&cw4 M"V",<   "  "V%!:" !#$&-'*()s+,.1/0"235X6E7>8;9:0.<="?B@AsCD$FQGJHIKNLM"OPRUST1lVW)8YhZa[^\])8_`)8becdfgipjmkl(noqtrsuvxyz{|}~)8!:##""*&c"2$s"2$')8""23DcityJgeoname_id(EEnamesBenGBoxfordIcontinentDcodeBEU _r, BdeFEuropaBenFEuropeBes HBfr RBjaOヨーロッパEpt-BR HBruLЕвропаEzh-CNF欧洲   ) 3Gcountry (5Hiso_codeBGB BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス v Bru\Великобритания F英国HlocationOaccuracy_radiusdHlatitudeh@IIlongitudehItime_zoneMEurope/LondonFpostal 4COX1Rregistered_country . Tis_in_european_union BFR BdeJFrankreichBenFFranceBesGFranciaBfr!BjaUフランス共和国 vGFrançaBruNФранция F法国Lsubdivisions _ CENG BenGEnglandBesJInglaterraBfrJAngleterre v"} 2a CWBK BenNWest BerkshireBru]Западный Беркшир L西伯克郡 ) 4BAS _r+ BdeEAsienBenDAsiaBes# BfrDAsieBjaIアジア vEÁsiaBruHАзия F亚洲  BBT BdeFBhutanBen#]BesFButánBfr#]BjaRブータン王国 vFButãoBruJБутан F不丹!J!T!fh@;!xh@V!LAsia/Thimphu!  /U!! BRO BdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア vHRomêniaBruNРумыния L罗马尼亚FtraitsRis_anonymous_proxy!  (W BdeFLondonBen$BesGLondresBfr$BjaLロンドン v$BruLЛондон ) 3 !J!Td!fh@IN;6!xhfA!!! _e BUS BdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 v%!BruFСША F美国"P"_ $ ) 3 !J!T!f$!x$!!!$"P%q $ ) 3 !J!T !f$!x$!!!$"P%q  )j BdeJLinköpingBen%Bfr%BjaXリンシェーピング I林雪平 ) 3 (!! BSE BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 vGSuéciaBruLШвеция F瑞典!J!TL!fh@M5Vl!!xh@/;6!PEurope/Stockholm! ,T!! BDE BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 vHAlemanhaBruPГермания F德国"P ( AE BenUÖstergötland CountyBfrWComté d'Östergötland ) 4BNA _r- BdeKNordamerikaBenMNorth AmericaBesRAmérica del NorteBfrQAmérique du NordBjaO北アメリカ vQAmérica do NorteBru]Северная Америка I北美洲 $!J!T!fh@B ě!xhXtS!OAmerica/Chicago!   BdeKChángchūnBenIChangchunBfr(BjaI長春市BruNЧанчунь F长春 )"  BCN BdeEChinaBen(Bes(BfrEChineBjaF中国 v(BruJКитай (!J!Td!fh@E =q!xh@_TTɆ!KAsia/Harbin!("P  B22 BenKJilin Sheng F吉林 )" 8 BPH BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr(BjaXフィリピン共和国 v(BruRФилиппины I菲律宾!J!Ty!fh@*!xh@^!KAsia/Manila! 4E34021!(Srepresented_country _e BUS %DtypeHmilitary   BdeHSingapurBenISingaporeBes(BfrISingapourBjaRシンガポール vISingapuraBruPСингапур I新加坡 )"  BSG (!J!T !fh?`A7K!xh@Yae!NAsia/Singapore! 4B59!(   a BdeIMelbourneBen(]Bes(]Bfr(]BjaOメルボルン v(]BruPМельбурн I墨尔本 ) 4BOC _r/ BdeHOzeanienBenGOceaniaBesHOceaníaBfrHOcéanieBjaOオセアニア v(BruNОкеания I大洋洲  BAU BdeJAustralienBenIAustraliaBes(IBfrIAustralieBjaUオーストラリア vJAustráliaBruRАвстралия L澳大利亚!J!T!fhBoiDg8!xh@bD!SAustralia/Melbourne! 4D3000!()"P  CVIC BenHVictoria vHVitóriaBruPВиктория  RE BdeISan DiegoBen(BBes(BBfr(BBjaRサンディエゴ v(BBruQСан-Диего ) 4BNA _r- Bde'Ben'BesMNorteaméricaBfr'Bja' v(Bru( (@ _e BUS BdeRVereinigte StaatenBen%Bes%!BfrKÉtats UnisBjaLアメリカ vCEUABru%_ %h!J!Td!fh@@^ȴ9X!xh]ElDJmetro_code9!SAmerica/Los_Angeles! 4E92105!("P Q_ BCA BdeKKalifornienBenJCaliforniaBes(BfrJCalifornieBjaXカリフォルニア州 vKCalifórniaBruTКалифорния F加州  X$ BenFMiltonBruNМильтон )' $!J!T!fh@G*0!xh^'RT`(P3!(`! 4E98354! "P X_ BWA BenJWashingtonBes(BfrSÉtat de WashingtonBjaRワシントン州BruRВашингтон L华盛顿州 )" e BJP BdeEJapanBen( BesFJapónBfrEJaponBjaF日本 vFJapãoBruLЯпония (/!J!Td!fh@A׹`H!xh@axP3:!JAsia/Tokyo!( )" A BKR BdeNRepublik KoreaBenKSouth KoreaBesTCorea, República deBfrMCorée du SudBjaL大韓民国 vVCoréia, República daBruUЮжная Корея F韩国!J!Td!fh@B!xh@_!JAsia/Seoul!( )" t BTW BdeFTaiwanBen( vBesGTaiwánBfrGTaïwanBjaF台湾 v( vBruNТайвань ( !J!Td!fh@8!xh@^@!KAsia/Taipei!( d )"  BCN Bde(BenZPeople's Republic of ChinaBesXRepública Popular ChinaBfr(Bja( v(Bru( (!J!Td!fh@A!xh@Z@!( )" R BHK BdeHHongkongBenIHong KongBes( Bfr( BjaF香港 v( BruNГонконг ( !J!Td!fh@6@!xh@\[!NAsia/Hong_Kong!( (5 )( (!J!T!fh@@\2W!xh]I(P9!(`! 4E92101!("P( ) 3 / BNO BdeHNorwegenBenFNorwayBesGNoruegaBfrHNorvègeBjaUノルウェー王国 v( BruPНорвегия F挪威!J!Td!fh@O!xh@$!KEurope/Oslo!( k )" ~ BIL BdeFIsraelBen( +Bes( +BfrGIsraëlBjaRイスラエル国 v( +BruNИзраиль I以色列!J!Td!fh@?!xh@A`!NAsia/Jerusalem!(  ) 3 !!J!Td!fh@G!xh@!LEurope/Paris!! ) 3 ( BCH BdeGSchweizBenKSwitzerlandBesESuizaBfrFSuisseBjaOスイス連邦 vGSuíçaBruRШвейцария F瑞士!J!Td!fh@G>-b9!xh@ Ne!MEurope/Zurich!( ) 3 &!J!Td!fh@O!xh@.!&!& )" m BBH BdeGBahrainBen( BesHBahréinBfrHBahreïnBjaOバーレーン v( BruNБахрейн F巴林!J!Td!fh@:!xh@I@!LAsia/Bahrain!( ) 3 Z BRU BdeHRusslandBenFRussiaBesERusiaBfrFRussieBjaIロシア vGRússiaBruLРоссия I俄罗斯!J!Td!fh@N!xh@Y!(w ) 3  /P!! BPL BdeEPolenBenFPolandBesGPoloniaBfrGPologneBjaXポーランド共和国 vHPolôniaBruLПольша F波兰!J!Td!fh@J!xh@4!MEurope/Warsaw!( ) 3 &!J!Td!fh@I!xh@%!MEurope/Berlin!& ) 3 0s!! BIT BdeGItalienBenEItalyBesFItaliaBfrFItalieBjaUイタリア共和国 vGItáliaBruLИталия I意大利!J!Td!fh@EjcI!xh@):э&!KEurope/Rome!( ) 3  -!! BFI BdeHFinnlandBenGFinlandBesIFinlandiaBfrHFinlandeBja[フィンランド共和国 vJFinlândiaBruRФинляндия F芬兰!J!Td!fh@P!xh@:!OEurope/Helsinki!( ) 3  @ BBY BdeMWeißrusslandBenGBelarusBesKBielorrusiaBfrLBiélorussieBjaXベラルーシ共和国 vMBielo-RússiaBruPБеларусь L白俄罗斯!J!Td!fh@J!xh@<!LEurope/Minsk!(t ) 3 .!! BCZ BdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 v(Bru]Чешская Республика O捷克共和国!J!Td!fh@H!xh@.!MEurope/Prague!(E )"  BIR BdeZIran (Islamische Republik)BenDIranBes\Irán (República Islámica)Bfr]Iran (République islamique de)Bja]イラン・イスラム共和国 v\República Islâmica do IrãBruHИран X伊朗伊斯兰共和国!J!Td!fh@@!xh@J!KAsia/Tehran!(2 ) 3  g BUA BdeGUkraineBen(`BesGUcraniaBfr(`BjaXウクライナ共和国 vHUcrâniaBruNУкраина I乌克兰!J!Td!fh@H!xh@@!(N ) 3 !J!Td!fh@Ka7!xhtr!!! ) 3  !! BHU BdeFUngarnBenGHungaryBesHHungríaBfrGHongrieBjaXハンガリー共和国 vGHungriaBruNВенгрия I匈牙利!J!Td!fh@G!xh@4!OEurope/Budapest!( ) 3!J!Td!fh@HXq`l !xh@"GX:S!LEurope/Vaduz ) 3 &O!! BES BdeGSpanienBenESpainBesGEspañaBfrGEspagneBjaLスペイン vGEspanhaBruNИспания I西班牙!J!Td!fh@D!xh!( ) 3  .!! BBG BdeIBulgarienBenHBulgariaBes(BfrHBulgarieBjaXブルガリア共和国 vIBulgáriaBruPБолгария L保加利亚!J!Td!fh@E!xh@9!LEurope/Sofia!( ) 3 #!J!Td!fh@G!xh@9!PEurope/Bucharest!# ) 3 *¹!! BBE BdeGBelgienBenGBelgiumBesHBélgicaBfrHBelgiqueBjaRベルギー王国 v(BruNБельгия I比利时!J!Td!fh@IjcI!xh@!OEurope/Brussels!( )" + BTR BdeGTürkeiBenFTurkeyBesHTurquíaBfrGTurquieBjaRトルコ共和国 vGTurquiaBruLТурция I土耳其!J!Td!fh@C!xh@AtU!OEurope/Istanbul!([ ) 3 *s!! BAT BdeKÖsterreichBenGAustriaBes(2BfrHAutricheBja[オーストリア共和国 vHÁustriaBruNАвстрия I奥地利!J!Td!fh@GcI!xh@*:э&!MEurope/Vienna!( ) 3  BAL BdeHAlbanienBenGAlbaniaBes(BfrGAlbanieBjaXアルバニア共和国 vHAlbâniaBruNАлбания O阿尔巴尼亚!J!Td!fh@D!xh@4!MEurope/Tirane!( )" & BLB BdeGLibanonBenGLebanonBesGLíbanoBfrELibanBjaUレバノン共和国 v(BruJЛиван I黎巴嫩!J!Td!fh@@ꪎcI!xh@AꪎcI!KAsia/Beirut!( ) 3 )!! BNL BdeKNiederlandeBenKNetherlandsBesGHolandaBfrHPays-BasBjaRオランダ王国 vNPaíses BaixosBruTНидерланды F荷兰!J!Td!fh@J@!xh@!PEurope/Amsterdam!(0 )" [ BKW BdeFKuwaitBen(Bes(BfrGKoweïtBjaOクウェート v(BruLКувейт I科威特!J!Td!fh@=!xh@G!KAsia/Kuwait!( )"  BSA BdeMSaudi-ArabienBenLSaudi ArabiaBesNArabia SauditaBfrOArabie saouditeBja[サウジアラビア王国 vOArábia SauditaBru]Саудовская Аравия O沙特阿拉伯!J!Td!fh@9!xh@F!KAsia/Riyadh!( ) 3 _L BRS BdeGSerbienBenFSerbiaBes(BfrFSerbieBjaLセルビア vGSérviaBruLСербия L塞尔维亚!J!Td!fh@Fh^)!xh@4u?h!OEurope/Belgrade!( )"  BJO BdeIJordanienBen[Hashemite Kingdom of JordanBesHJordaniaBfrHJordanieBja]ヨルダン・ハシミテ王国 vIJordâniaBruPИордания F约旦!J!Td!fh@?!xh@B!JAsia/Amman!(4 ) 4BAF _r* BdeFAfrikaBenFAfricaBesGÁfricaBfrGAfriqueBjaLアフリカ v(.BruLАфрика F非洲 ! BLY Bde]Libysch-Arabische DschamahirijaBenELibyaBesXLibia, República ÁrabeBfrELibyeBja] 社会主義人民リビア・アラブ国 vXLíbia Árabe JamahiriyaBruJЛивия [阿拉伯利比亚民众国!J!Td!fh@<!xh@1!NAfrica/Tripoli!(q ) 3 -8!! BIE BdeFIrlandBenGIrelandBesURepública de IrlandaBfrGIrlandeBjaRアイルランド vGIrlandaBruPИрландия I爱尔兰!J!Td!fh@J!xh !MEurope/Dublin!( )" l BAZ BdeMAserbaidschanBenJAzerbaijanBesKAzerbaiyánBfrLAzerbaïdjanBja]アゼルバイジャン共和国 vKAzerbaijãoBruVАзербайджан L阿塞拜疆!J!Td!fh@D@!xh@G!IAsia/Baku!(!G )" n BAE Bde\Vereinigte Arabische EmirateBenTUnited Arab EmiratesBesWEmiratos Árabes UnidosBfrTÉmirats Arabes UnisBjaXアラブ首長国連邦 vWEmirados Árabes UnidosBru]Объединенные Арабские Эмираты X阿拉伯联合酋长国!J!Td!fh@8!xh@K!JAsia/Dubai!("& )"  BAM BdeHArmenienBenGArmeniaBes(#BfrHArménieBjaXアルメニア共和国 vHArmêniaBruNАрмения L亚美尼亚!J!Td!fh@D!xh@F!LAsia/Yerevan!(#d ) 3 (8!! BDK BdeIDänemarkBenGDenmarkBesIDinamarcaBfrHDanemarkBjaUデンマーク王国 v($JBruJДания F丹麦!J!Td!fh@L!xh@$!QEurope/Copenhagen!($ ) 3 .k BIM BdeIInsel ManBenKIsle of ManBesKIsla de ManBfrKÎle de ManBjaIマン島 vKIlha de ManBruMМэн, о-в F曼岛!J!Td!fh@K !xh!REurope/Isle_of_Man!($ ) 3 $B BGI BdeIGibraltarBen(%Bes(%Bfr(%BjaRジブラルタル v(%BruRГибралтар!J!Td!fh@Bɰ!xhffffff!PEurope/Gibraltar!(%MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeKGeoIP2-CityKdescriptionBen]=GeoIP2 City Test Invalid Node Count Database (fake GeoIP2 data, for example purposes only)BzhO小型数据库Jip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoIP2-City-Test.mmdb000066400000000000000000000545101450470006300244600ustar00rootroot00000000000000      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqyrstuvwxz{|}~7     +       !"#$%&'()*,-.r/\012U3G456789:;<=>?@FABCDEHIJKLMNOPQRSTVWXYZ[]^_`aebcdfghijklmnopqstuvwxyz{|}~\A"`      !"#$%.&'()*+,-`/0b1C2734568<9:;=@>?ABlDSEIFGHJPKMLNOQRT[UXVWYZ\_]^`acdselfighjklmpnoqrt{uxvwyz|}~&`s!k$s     | M!:"V! !:"#"%H&9'.(+)*##,-/201364578:A;><=#?@"BECDFG$I\JQKNLMOPRYSVTU"WXZ[$]d^a_`bcehfg!:ijlmn}ovpsqr%qtuwzxy{|s~%&c&c"'%q&c"V'"!(!:&c"!:s0 )8*"  "  )8!'* ")#&$%|'(s*-+,./1P2A3:475689;><=?@)8BICFDEGH+JMKLsNOQdR]SZTWUVXY[\^a_`,<bcelfigh-jkmpno&cqrtuvw~x{yz|}.%q!""#/Os&c*"V)8&cw4 M"V",<   "  "V%!:" !#$&-'*()s+,.1/0"235X6E7>8;9:0.<="?B@AsCD$FQGJHIKNLM"OPRUST1lVW)8YhZa[^\])8_`)8becdfgipjmkl(noqtrsuvxyz{|}~)8!:##""*&c"2$s"2$')8""23DcityJgeoname_id(EEnamesBenGBoxfordIcontinentDcodeBEU _r, BdeFEuropaBenFEuropeBes HBfr RBjaOヨーロッパEpt-BR HBruLЕвропаEzh-CNF欧洲   ) 3Gcountry (5Hiso_codeBGB BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス v Bru\Великобритания F英国HlocationOaccuracy_radiusdHlatitudeh@IIlongitudehItime_zoneMEurope/LondonFpostal 4COX1Rregistered_country . Tis_in_european_union BFR BdeJFrankreichBenFFranceBesGFranciaBfr!BjaUフランス共和国 vGFrançaBruNФранция F法国Lsubdivisions _ CENG BenGEnglandBesJInglaterraBfrJAngleterre v"} 2a CWBK BenNWest BerkshireBru]Западный Беркшир L西伯克郡 ) 4BAS _r+ BdeEAsienBenDAsiaBes# BfrDAsieBjaIアジア vEÁsiaBruHАзия F亚洲  BBT BdeFBhutanBen#]BesFButánBfr#]BjaRブータン王国 vFButãoBruJБутан F不丹!J!T!fh@;!xh@V!LAsia/Thimphu!  /U!! BRO BdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア vHRomêniaBruNРумыния L罗马尼亚FtraitsRis_anonymous_proxy!  (W BdeFLondonBen$BesGLondresBfr$BjaLロンドン v$BruLЛондон ) 3 !J!Td!fh@IN;6!xhfA!!! _e BUS BdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 v%!BruFСША F美国"P"_ $ ) 3 !J!T!f$!x$!!!$"P%q $ ) 3 !J!T !f$!x$!!!$"P%q  )j BdeJLinköpingBen%Bfr%BjaXリンシェーピング I林雪平 ) 3 (!! BSE BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 vGSuéciaBruLШвеция F瑞典!J!TL!fh@M5Vl!!xh@/;6!PEurope/Stockholm! ,T!! BDE BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 vHAlemanhaBruPГермания F德国"P ( AE BenUÖstergötland CountyBfrWComté d'Östergötland ) 4BNA _r- BdeKNordamerikaBenMNorth AmericaBesRAmérica del NorteBfrQAmérique du NordBjaO北アメリカ vQAmérica do NorteBru]Северная Америка I北美洲 $!J!T!fh@B ě!xhXtS!OAmerica/Chicago!   BdeKChángchūnBenIChangchunBfr(BjaI長春市BruNЧанчунь F长春 )"  BCN BdeEChinaBen(Bes(BfrEChineBjaF中国 v(BruJКитай (!J!Td!fh@E =q!xh@_TTɆ!KAsia/Harbin!("P  B22 BenKJilin Sheng F吉林 )" 8 BPH BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr(BjaXフィリピン共和国 v(BruRФилиппины I菲律宾!J!Ty!fh@*!xh@^!KAsia/Manila! 4E34021!(Srepresented_country _e BUS %DtypeHmilitary   BdeHSingapurBenISingaporeBes(BfrISingapourBjaRシンガポール vISingapuraBruPСингапур I新加坡 )"  BSG (!J!T !fh?`A7K!xh@Yae!NAsia/Singapore! 4B59!(   a BdeIMelbourneBen(]Bes(]Bfr(]BjaOメルボルン v(]BruPМельбурн I墨尔本 ) 4BOC _r/ BdeHOzeanienBenGOceaniaBesHOceaníaBfrHOcéanieBjaOオセアニア v(BruNОкеания I大洋洲  BAU BdeJAustralienBenIAustraliaBes(IBfrIAustralieBjaUオーストラリア vJAustráliaBruRАвстралия L澳大利亚!J!T!fhBoiDg8!xh@bD!SAustralia/Melbourne! 4D3000!()"P  CVIC BenHVictoria vHVitóriaBruPВиктория  RE BdeISan DiegoBen(BBes(BBfr(BBjaRサンディエゴ v(BBruQСан-Диего ) 4BNA _r- Bde'Ben'BesMNorteaméricaBfr'Bja' v(Bru( (@ _e BUS BdeRVereinigte StaatenBen%Bes%!BfrKÉtats UnisBjaLアメリカ vCEUABru%_ %h!J!Td!fh@@^ȴ9X!xh]ElDJmetro_code9!SAmerica/Los_Angeles! 4E92105!("P Q_ BCA BdeKKalifornienBenJCaliforniaBes(BfrJCalifornieBjaXカリフォルニア州 vKCalifórniaBruTКалифорния F加州  X$ BenFMiltonBruNМильтон )' $!J!T!fh@G*0!xh^'RT`(P3!(`! 4E98354! "P X_ BWA BenJWashingtonBes(BfrSÉtat de WashingtonBjaRワシントン州BruRВашингтон L华盛顿州 )" e BJP BdeEJapanBen( BesFJapónBfrEJaponBjaF日本 vFJapãoBruLЯпония (/!J!Td!fh@A׹`H!xh@axP3:!JAsia/Tokyo!( )" A BKR BdeNRepublik KoreaBenKSouth KoreaBesTCorea, República deBfrMCorée du SudBjaL大韓民国 vVCoréia, República daBruUЮжная Корея F韩国!J!Td!fh@B!xh@_!JAsia/Seoul!( )" t BTW BdeFTaiwanBen( vBesGTaiwánBfrGTaïwanBjaF台湾 v( vBruNТайвань ( !J!Td!fh@8!xh@^@!KAsia/Taipei!( d )"  BCN Bde(BenZPeople's Republic of ChinaBesXRepública Popular ChinaBfr(Bja( v(Bru( (!J!Td!fh@A!xh@Z@!( )" R BHK BdeHHongkongBenIHong KongBes( Bfr( BjaF香港 v( BruNГонконг ( !J!Td!fh@6@!xh@\[!NAsia/Hong_Kong!( (5 )( (!J!T!fh@@\2W!xh]I(P9!(`! 4E92101!("P( ) 3 / BNO BdeHNorwegenBenFNorwayBesGNoruegaBfrHNorvègeBjaUノルウェー王国 v( BruPНорвегия F挪威!J!Td!fh@O!xh@$!KEurope/Oslo!( k )" ~ BIL BdeFIsraelBen( +Bes( +BfrGIsraëlBjaRイスラエル国 v( +BruNИзраиль I以色列!J!Td!fh@?!xh@A`!NAsia/Jerusalem!(  ) 3 !!J!Td!fh@G!xh@!LEurope/Paris!! ) 3 ( BCH BdeGSchweizBenKSwitzerlandBesESuizaBfrFSuisseBjaOスイス連邦 vGSuíçaBruRШвейцария F瑞士!J!Td!fh@G>-b9!xh@ Ne!MEurope/Zurich!( ) 3 &!J!Td!fh@O!xh@.!&!& )" m BBH BdeGBahrainBen( BesHBahréinBfrHBahreïnBjaOバーレーン v( BruNБахрейн F巴林!J!Td!fh@:!xh@I@!LAsia/Bahrain!( ) 3 Z BRU BdeHRusslandBenFRussiaBesERusiaBfrFRussieBjaIロシア vGRússiaBruLРоссия I俄罗斯!J!Td!fh@N!xh@Y!(w ) 3  /P!! BPL BdeEPolenBenFPolandBesGPoloniaBfrGPologneBjaXポーランド共和国 vHPolôniaBruLПольша F波兰!J!Td!fh@J!xh@4!MEurope/Warsaw!( ) 3 &!J!Td!fh@I!xh@%!MEurope/Berlin!& ) 3 0s!! BIT BdeGItalienBenEItalyBesFItaliaBfrFItalieBjaUイタリア共和国 vGItáliaBruLИталия I意大利!J!Td!fh@EjcI!xh@):э&!KEurope/Rome!( ) 3  -!! BFI BdeHFinnlandBenGFinlandBesIFinlandiaBfrHFinlandeBja[フィンランド共和国 vJFinlândiaBruRФинляндия F芬兰!J!Td!fh@P!xh@:!OEurope/Helsinki!( ) 3  @ BBY BdeMWeißrusslandBenGBelarusBesKBielorrusiaBfrLBiélorussieBjaXベラルーシ共和国 vMBielo-RússiaBruPБеларусь L白俄罗斯!J!Td!fh@J!xh@<!LEurope/Minsk!(t ) 3 .!! BCZ BdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 v(Bru]Чешская Республика O捷克共和国!J!Td!fh@H!xh@.!MEurope/Prague!(E )"  BIR BdeZIran (Islamische Republik)BenDIranBes\Irán (República Islámica)Bfr]Iran (République islamique de)Bja]イラン・イスラム共和国 v\República Islâmica do IrãBruHИран X伊朗伊斯兰共和国!J!Td!fh@@!xh@J!KAsia/Tehran!(2 ) 3  g BUA BdeGUkraineBen(`BesGUcraniaBfr(`BjaXウクライナ共和国 vHUcrâniaBruNУкраина I乌克兰!J!Td!fh@H!xh@@!(N ) 3 !J!Td!fh@Ka7!xhtr!!! ) 3  !! BHU BdeFUngarnBenGHungaryBesHHungríaBfrGHongrieBjaXハンガリー共和国 vGHungriaBruNВенгрия I匈牙利!J!Td!fh@G!xh@4!OEurope/Budapest!( ) 3!J!Td!fh@HXq`l !xh@"GX:S!LEurope/Vaduz ) 3 &O!! BES BdeGSpanienBenESpainBesGEspañaBfrGEspagneBjaLスペイン vGEspanhaBruNИспания I西班牙!J!Td!fh@D!xh!( ) 3  .!! BBG BdeIBulgarienBenHBulgariaBes(BfrHBulgarieBjaXブルガリア共和国 vIBulgáriaBruPБолгария L保加利亚!J!Td!fh@E!xh@9!LEurope/Sofia!( ) 3 #!J!Td!fh@G!xh@9!PEurope/Bucharest!# ) 3 *¹!! BBE BdeGBelgienBenGBelgiumBesHBélgicaBfrHBelgiqueBjaRベルギー王国 v(BruNБельгия I比利时!J!Td!fh@IjcI!xh@!OEurope/Brussels!( )" + BTR BdeGTürkeiBenFTurkeyBesHTurquíaBfrGTurquieBjaRトルコ共和国 vGTurquiaBruLТурция I土耳其!J!Td!fh@C!xh@AtU!OEurope/Istanbul!([ ) 3 *s!! BAT BdeKÖsterreichBenGAustriaBes(2BfrHAutricheBja[オーストリア共和国 vHÁustriaBruNАвстрия I奥地利!J!Td!fh@GcI!xh@*:э&!MEurope/Vienna!( ) 3  BAL BdeHAlbanienBenGAlbaniaBes(BfrGAlbanieBjaXアルバニア共和国 vHAlbâniaBruNАлбания O阿尔巴尼亚!J!Td!fh@D!xh@4!MEurope/Tirane!( )" & BLB BdeGLibanonBenGLebanonBesGLíbanoBfrELibanBjaUレバノン共和国 v(BruJЛиван I黎巴嫩!J!Td!fh@@ꪎcI!xh@AꪎcI!KAsia/Beirut!( ) 3 )!! BNL BdeKNiederlandeBenKNetherlandsBesGHolandaBfrHPays-BasBjaRオランダ王国 vNPaíses BaixosBruTНидерланды F荷兰!J!Td!fh@J@!xh@!PEurope/Amsterdam!(0 )" [ BKW BdeFKuwaitBen(Bes(BfrGKoweïtBjaOクウェート v(BruLКувейт I科威特!J!Td!fh@=!xh@G!KAsia/Kuwait!( )"  BSA BdeMSaudi-ArabienBenLSaudi ArabiaBesNArabia SauditaBfrOArabie saouditeBja[サウジアラビア王国 vOArábia SauditaBru]Саудовская Аравия O沙特阿拉伯!J!Td!fh@9!xh@F!KAsia/Riyadh!( ) 3 _L BRS BdeGSerbienBenFSerbiaBes(BfrFSerbieBjaLセルビア vGSérviaBruLСербия L塞尔维亚!J!Td!fh@Fh^)!xh@4u?h!OEurope/Belgrade!( )"  BJO BdeIJordanienBen[Hashemite Kingdom of JordanBesHJordaniaBfrHJordanieBja]ヨルダン・ハシミテ王国 vIJordâniaBruPИордания F约旦!J!Td!fh@?!xh@B!JAsia/Amman!(4 ) 4BAF _r* BdeFAfrikaBenFAfricaBesGÁfricaBfrGAfriqueBjaLアフリカ v(.BruLАфрика F非洲 ! BLY Bde]Libysch-Arabische DschamahirijaBenELibyaBesXLibia, República ÁrabeBfrELibyeBja] 社会主義人民リビア・アラブ国 vXLíbia Árabe JamahiriyaBruJЛивия [阿拉伯利比亚民众国!J!Td!fh@<!xh@1!NAfrica/Tripoli!(q ) 3 -8!! BIE BdeFIrlandBenGIrelandBesURepública de IrlandaBfrGIrlandeBjaRアイルランド vGIrlandaBruPИрландия I爱尔兰!J!Td!fh@J!xh !MEurope/Dublin!( )" l BAZ BdeMAserbaidschanBenJAzerbaijanBesKAzerbaiyánBfrLAzerbaïdjanBja]アゼルバイジャン共和国 vKAzerbaijãoBruVАзербайджан L阿塞拜疆!J!Td!fh@D@!xh@G!IAsia/Baku!(!G )" n BAE Bde\Vereinigte Arabische EmirateBenTUnited Arab EmiratesBesWEmiratos Árabes UnidosBfrTÉmirats Arabes UnisBjaXアラブ首長国連邦 vWEmirados Árabes UnidosBru]Объединенные Арабские Эмираты X阿拉伯联合酋长国!J!Td!fh@8!xh@K!JAsia/Dubai!("& )"  BAM BdeHArmenienBenGArmeniaBes(#BfrHArménieBjaXアルメニア共和国 vHArmêniaBruNАрмения L亚美尼亚!J!Td!fh@D!xh@F!LAsia/Yerevan!(#d ) 3 (8!! BDK BdeIDänemarkBenGDenmarkBesIDinamarcaBfrHDanemarkBjaUデンマーク王国 v($JBruJДания F丹麦!J!Td!fh@L!xh@$!QEurope/Copenhagen!($ ) 3 .k BIM BdeIInsel ManBenKIsle of ManBesKIsla de ManBfrKÎle de ManBjaIマン島 vKIlha de ManBruMМэн, о-в F曼岛!J!Td!fh@K !xh!REurope/Isle_of_Man!($ ) 3 $B BGI BdeIGibraltarBen(%Bes(%Bfr(%BjaRジブラルタル v(%BruRГибралтар!J!Td!fh@Bɰ!xhffffff!PEurope/Gibraltar!(%MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeKGeoIP2-CityKdescriptionBen]*GeoIP2 City Test Database (fake GeoIP2 data, for example purposes only)BzhO小型数据库Jip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoIP2-Connection-Type-Test.mmdb000066400000000000000000000107011450470006300265600ustar00rootroot00000000000000LUUUUU U U U U UUUUUUUUUUUUUUUUUUU U!U"U#U$U%U&U'U(U)U*U+U,U-U.U/U0U1U2U3U4U5U6U7U8U9U:U;U<U=U>U?U@UAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQRUSUTUUUVUWUXUYUZU[U\U]U^U_U`UabcUdUefUgxUhiUjUkUlUmUnUoUpUqereseteueveweeyUzUU{U|U}U~UUUUUUUUUUUUUUUUeUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeUUeUUUUUeUUUeUUUUUUUUUUUUUUUU0UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU UU U UUUU  UUUUUUUUUUUUUUUUeUUUU U!"U#UU$U%U&'U(UU)*U+U,UU-.UU/eU123w4a5U6U7Z8L9U:U;U<U=U>U?U@UAUBUCUDUEKFUGUHUIUJUUUUUMUUNUOPUQURUSUUTUUVUWUXUUYUU[UU\]UU^_U`UUUUbcUdUeUfjUghUiUUUUklUmUUnUopUUqUrsUtUUuvUUUxyUzU{U|U}U~UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU`UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU U U U U UUUUUUUUUUUUUUUUUUUU U!U"U#U$U%U&U'CU()U*U+U,U-8.U/U0U1U2U3U4U5U6U7U`UU9:UU;U<=UU>U?U@AUBUUU`DEUFUGUHUIUJUKUeUUMUNUOUPUQURSUUTUUOconnection_typeICable/DSL HCellular ICorporate ISatelliteMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeVGeoIP2-Connection-TypeKdescriptionBen]5GeoIP2 Connection Type Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countUKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoIP2-Country-Test.mmdb000066400000000000000000000467721450470006300252260ustar00rootroot00000000000000g/      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ RSTUVWXYZ[\]^_`a!bcde~fghijklmnopqrstuvwxyz{|}               "`#<$%&'()*+,-./0123456789:; )=>?I@ABCDEFGHJOKLMNPQRSTUVWXYZ[\]^_ 6abcdefgh|ijklmnopqrstu{vwxyz}~ v49A   )   !"#$%&'()*+,-.`0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefhizjklmnopqrsytuvwxynzT{|}~`ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tt$         t8)"t !$#&$%t'(*1+.,-/02534t67t9E:A;><=?@BCDtFMGJHIKLNQOPRSUVWXYZ[\]^_`abcdefghijklmAopqrstuvwx`{|}~t!zu *z     $ "a#B$3%,&)'(*+-0./124;5867z9:<?=>L@ALCRDKEHFGIJLOMNPQSZTWUVXY[^\]_`bcrdkehfgijLlomnpqsztwuvbxy{~|}ztL)m umy * zmC     "j !#&$%L'(u*f+G,8-4.1/0235679@:=;< >?ADBCtEFzHWIPJMKLNOQTRSuUVuX_Y\Z[]^`cabdeghwipjmklnoqtrsuv!Jxy|z{}~LymzL-u"   #  mmm& #!"$%u'*()z+,u.m/N0?18253467m9<:;=>u@GADBCEFHKIJLMO^PWQTRSyUVLX[YZ\]u_f`cabdegjhi kluno~pwqtrszuv#x{yz|} #m  $%IcontinentDcodeBEUJgeoname_id_r,EnamesBdeFEuropaBenFEuropeBes -Bfr 7BjaOヨーロッパEpt-BR -BruLЕвропаEzh-CNF欧洲Gcountry (5Hiso_codeBGB #BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス [ Bru\Великобритания sF英国Rregistered_country . Tis_in_european_union BFR #BdeJFrankreichBenFFranceBesGFranciaBfr!pBjaUフランス共和国 [GFrançaBruNФранция sF法国  BNA _r- #BdeKNordamerikaBenMNorth AmericaBesRAmérica del NorteBfrQAmérique du NordBjaO北アメリカ [QAmérica do NorteBru]Северная Америка sI北美洲 _e BUS #BdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 ["BruFСША sF美国!&"{  BAS _r+ #BdeEAsienBenDAsiaBes#BfrDAsieBjaIアジア [EÁsiaBruHАзия sF亚洲  BBT #BdeFBhutanBen#eBesFButánBfr#eBjaRブータン王国 [FButãoBruJБутан sF不丹!&  /U!@!U BRO #BdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア [HRomêniaBruNРумыния sL罗马尼亚FtraitsRis_anonymous_proxy!U  BNA _r- #Bde!Ben!BesMNorteaméricaBfr"Bja"% ["7Bru"L s"o "{!&"{$:$B!UUis_satellite_provider!U  !&"{  (!@!U BSE #BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 [GSuéciaBruLШвеция sF瑞典!& ,T!@!U BDE #BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 [HAlemanhaBruPГермания sF德国 "  BCN #BdeEChinaBenZPeople's Republic of ChinaBesXRepública Popular ChinaBfrEChineBjaF中国 [%BruJКитай s&C!&% ! "{!& "  BCN #Bde%Ben%Bes%Bfr&:Bja&C [%Bru&Q s&C!&&x " 8 BPH #BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr&BjaXフィリピン共和国 [&BruRФилиппины sI菲律宾!&&Srepresented_country _e BUS #"DtypeHmilitary$:$A$:$!U $Z _e BUS #BdeRVereinigte StaatenBen"Bes"BfrKÉtats UnisBjaLアメリカ [CEUABru" s"!&'  $B BGI #BdeIGibraltarBen'Bes'Bfr'BjaRジブラルタル ['BruRГибралтар!&' " e BJP #BdeEJapanBen(cBesFJapónBfrEJaponBjaF日本 [FJapãoBruLЯпония s(!&(Q " A BKR #BdeNRepublik KoreaBenKSouth KoreaBesTCorea, República deBfrMCorée du SudBjaL大韓民国 [VCoréia, República daBruUЮжная Корея sF韩国!&( " t BTW #BdeFTaiwanBen(xBesGTaiwánBfrGTaïwanBjaF台湾 [(xBruNТайвань s(!&(f " R BHK #BdeHHongkongBenIHong KongBes(Bfr(BjaF香港 [(BruNГонконг s(!&(  / BNO #BdeHNorwegenBenFNorwayBesGNoruegaBfrHNorvègeBjaUノルウェー王国 [([BruPНорвегия sF挪威!&(3 " ~ BIL #BdeFIsraelBen(Bes(BfrGIsraëlBjaRイスラエル国 [(BruNИзраиль sI以色列!&(  !9!&!9  ( BCH #BdeGSchweizBenKSwitzerlandBesESuizaBfrFSuisseBjaOスイス連邦 [GSuíçaBruRШвейцария sF瑞士!&(8  $!&$ " m BBH #BdeGBahrainBen(BesHBahréinBfrHBahreïnBjaOバーレーン [(BruNБахрейн sF巴林!&(  Z BRU #BdeHRusslandBenFRussiaBesERusiaBfrFRussieBjaIロシア [GRússiaBruLРоссия sI俄罗斯!&(@   /P!@!U BPL #BdeEPolenBenFPolandBesGPoloniaBfrGPologneBjaXポーランド共和国 [HPolôniaBruLПольша sF波兰!&(  %T!&%T  0s!@!U BIT #BdeGItalienBenEItalyBesFItaliaBfrFItalieBjaUイタリア共和国 [GItáliaBruLИталия sI意大利!&(L   -!@!U BFI #BdeHFinnlandBenGFinlandBesIFinlandiaBfrHFinlandeBja[フィンランド共和国 [JFinlândiaBruRФинляндия sF芬兰!&(   @ BBY #BdeMWeißrusslandBenGBelarusBesKBielorrusiaBfrLBiélorussieBjaXベラルーシ共和国 [MBielo-RússiaBruPБеларусь sL白俄罗斯!&(l  .!@!U BCZ #BdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 [(RBru]Чешская Республика sO捷克共和国!&( "  BIR #BdeZIran (Islamische Republik)BenDIranBes\Irán (República Islámica)Bfr]Iran (République islamique de)Bja]イラン・イスラム共和国 [\República Islâmica do IrãBruHИран sX伊朗伊斯兰共和国!&(   g BUA #BdeGUkraineBen(BesGUcraniaBfr(BjaXウクライナ共和国 [HUcrâniaBruNУкраина sI乌克兰!&(  !&   !@!U BHU #BdeFUngarnBenGHungaryBesHHungríaBfrGHongrieBjaXハンガリー共和国 [GHungriaBruNВенгрия sI匈牙利!&( Q   &O!@!U BES #BdeGSpanienBenESpainBesGEspañaBfrGEspagneBjaLスペイン [GEspanhaBruNИспания sI西班牙!&(   .!@!U BBG #BdeIBulgarienBenHBulgariaBes( BfrHBulgarieBjaXブルガリア共和国 [IBulgáriaBruPБолгария sL保加利亚!&( f  #!&#  *¹!@!U BBE #BdeGBelgienBenGBelgiumBesHBélgicaBfrHBelgiqueBjaRベルギー王国 [( 4BruNБельгия sI比利时!&(  " + BTR #BdeGTürkeiBenFTurkeyBesHTurquíaBfrGTurquieBjaRトルコ共和国 [GTurquiaBruLТурция sI土耳其!&(  *s!@!U BAT #BdeKÖsterreichBenGAustriaBes( 6BfrHAutricheBja[オーストリア共和国 [HÁustriaBruNАвстрия sI奥地利!&(    BAL #BdeHAlbanienBenGAlbaniaBes( BfrGAlbanieBjaXアルバニア共和国 [HAlbâniaBruNАлбания sO阿尔巴尼亚!&( " & BLB #BdeGLibanonBenGLebanonBesGLíbanoBfrELibanBjaUレバノン共和国 [( ZBruJЛиван sI黎巴嫩!&( 2  )!@!U BNL #BdeKNiederlandeBenKNetherlandsBesGHolandaBfrHPays-BasBjaRオランダ王国 [NPaíses BaixosBruTНидерланды sF荷兰!&( " [ BKW #BdeFKuwaitBen(]Bes(]BfrGKoweïtBjaOクウェート [(]BruLКувейт sI科威特!&(K "  BSA #BdeMSaudi-ArabienBenLSaudi ArabiaBesNArabia SauditaBfrOArabie saouditeBja[サウジアラビア王国 [OArábia SauditaBru]Саудовская Аравия sO沙特阿拉伯!&(  _L BRS #BdeGSerbienBenFSerbiaBes(BfrFSerbieBjaLセルビア [GSérviaBruLСербия sL塞尔维亚!&( "  BJO #BdeIJordanienBen[Hashemite Kingdom of JordanBesHJordaniaBfrHJordanieBja]ヨルダン・ハシミテ王国 [IJordâniaBruPИордания sF约旦!&(  BAF _r* #BdeFAfrikaBenFAfricaBesGÁfricaBfrGAfriqueBjaLアフリカ [(BruLАфрика sF非洲 ! BLY #Bde]Libysch-Arabische DschamahirijaBenELibyaBesXLibia, República ÁrabeBfrELibyeBja] 社会主義人民リビア・アラブ国 [XLíbia Árabe JamahiriyaBruJЛивия s[阿拉伯利比亚民众国!&(  -8!@!U BIE #BdeFIrlandBenGIrelandBesURepública de IrlandaBfrGIrlandeBjaRアイルランド [GIrlandaBruPИрландия sI爱尔兰!&( " l BAZ #BdeMAserbaidschanBenJAzerbaijanBesKAzerbaiyánBfrLAzerbaïdjanBja]アゼルバイジャン共和国 [KAzerbaijãoBruVАзербайджан sL阿塞拜疆!&( " n BAE #Bde\Vereinigte Arabische EmirateBenTUnited Arab EmiratesBesWEmiratos Árabes UnidosBfrTÉmirats Arabes UnisBjaXアラブ首長国連邦 [WEmirados Árabes UnidosBru]Объединенные Арабские Эмираты sX阿拉伯联合酋长国!&(B "  BAM #BdeHArmenienBenGArmeniaBes(tBfrHArménieBjaXアルメニア共和国 [HArmêniaBruNАрмения sL亚美尼亚!&(V  (8!@!U BDK #BdeIDänemarkBenGDenmarkBesIDinamarcaBfrHDanemarkBjaUデンマーク王国 [(BruJДания sF丹麦!&(  .k BIM #BdeIInsel ManBenKIsle of ManBesKIsla de ManBfrKÎle de ManBjaIマン島 [KIlha de ManBruMМэн, о-в sF曼岛!&(gMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeNGeoIP2-CountryKdescriptionBen]-GeoIP2 Country Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoIP2-DensityIncome-Test.mmdb000066400000000000000000000057711450470006300263270ustar00rootroot00000000000000{R      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ RSTUVWXYZ[\]^_`ab{cdexfhgijklmnopqrstuvwyz|}~    ` !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQSTUVWXYZ[\]^z_`abcdoefghijklmn`pqrstuvwxy`|}~Naverage_income~CRpopulation_density `2 =MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeTGeoIP2-DensityIncomeKdescriptionBen]3GeoIP2 DensityIncome Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoIP2-Domain-Test.mmdb000066400000000000000000000144711450470006300247610ustar00rootroot00000000000000:CCCCCo C C C C CCCCCCCCCCCCCCCCCCC C!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C8C9C:C;C<C=C>C?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQ`RCSCTCUCVCWCXCYCZC[C\C]C^C_C`CabscCdCepfCgCChiCjCkClCmCnCCoSCqCCrCCtuKv wxCyzC{|CC}~CCCCCCCgCCCCCCCCCtCCCCCCCtCtCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCgCCCCgCgCCCCCCCCCCCCCCCCCCCCC C C C C4C&CCCCCCCCCC C!"C#$%C'CC()C*CC+C,-CC./gC01gC23gCgC56C7C8C9CC:C;<CC=>C?CC@AFBCDCECGCHIJCLcMCNZCOPCQCRCSCTCUCCVWCXCCYCC[C\C]^C_CC`CaCbCdCeCCfguChiCCjCkCl m n o p q rsCtC CvCCwxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC%%C%C%%%CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC<C_*CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCCC  C CCCCCCCCCCCCCCCCCCCC C!C"C#CC$C%C&'C(C)CCC+N,>-C.C/CC0C12CC3C4C56CC7C89C:LC;<L=LCLC?@CACCBCCDCCECFCGHCICCJCKCLCMcCCOCPQCCRCSCTUCVCCWCXYCCZ[C\C]CC^vCCCCaCbCcCdCeCfCgChCiCjCkClCmCnC`pCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC`CCCCCCCCCCCCC`CCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CC C CCCCCCCCCCCCCCCCCCC C!C"CC#C$C%C&'CC()C*CC+,CC-C./C0C1C2C3C4C5C6C7C8C9CCC;C<C=C>C?C@ACCBCCFdomainKmaxmind.com Inuvox.net Iqwest.net Mspeakeasy.net Lshoesfin.NET Mameritech.net Kpacbell.net Kverizon.net Icovad.net Jpopwifi.it Lin-addr.arpa Ioleane.fr Gbbox.fr Mbredband2.com Stelebecinternet.net Lreplaced.com Scomcastbusiness.net Ostarlinkisp.net Igol.ne.jp Jsgotti.org Gsfr.netMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeMGeoIP2-DomainKdescriptionBen],GeoIP2 Domain Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countCKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoIP2-Enterprise-Test.mmdb000066400000000000000000000230771450470006300256740ustar00rootroot00000000000000mvvvvv v v v v vvvvvvvvvvvvvvvvvvv v!v"v#v$v%v&v'v(v)v*v+v,v-v.v/v0v1v2v3v4v5v6v7v8v9v:v;v<v=v>v?v@vAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQRvSvTvUvVvWvXvYvZv[v\v]v^v_v`vabcvdve~fvghvvivjvvkvlvmvnvopvvqvrsvvtuvvvwvxvyvvzv{|vv}vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvv  v v v vvvvvvvvvvvvvvvvvvvv !e"O#v$v%H&:'v(v)v*v+v,v-v.v/v0v1v2v394v5v6v7v8vvvvv;vv<v=>v?v@vAvvBvCDvEvFvvGvvIvvJKvvLMvNvvvvPQvRvSvTXvUVvWvvvvYZv[vv\v]^vv_v`avbvvcdvvvfvvghtvivjkvlvmvvnovpvvqvrvsvuvvvwvxvyvzv{v|v}vv~vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv 3vvvvvvvvvvvvvvv@vvvvWvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvv`vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv v v v v vvvvvvvvvvvvvvvvvvvv v!lv"#v$v%v&v'a(2)v*v+v,v-v.v/v0v1v`v3v4vv56v7v8v9v:v;v<v=v>v?v@vAvBvCvDvEvFvGvH\IvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv[v0v]v^v_v`vvvbcvvdvefvvgvhvijvkvvv`vvnvovpvqvrvstvvuvvDcityJconfidence2Jgeoname_id(EEnamesBenGBoxfordIcontinentDcodeBEU _r, #BdeFEuropaBenFEuropeBes TBfr ^BjaOヨーロッパEpt-BR TBruLЕвропаEzh-CNF欧洲Gcountry _ (5Hiso_codeBGB #BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス Bru\Великобритания F英国HlocationOaccuracy_radiusdHlatitudeh@IIlongitudehItime_zoneMEurope/LondonFpostal @COX1 Rregistered_country . Tis_in_european_union BFR #BdeJFrankreichBenFFranceBesGFranciaBfr"BjaUフランス共和国 GFrançaBruNФранция F法国Lsubdivisions F _ CENG #BenGEnglandBesJInglaterraBfrJAngleterre " 2a CWBK #BenNWest BerkshireBru]Западный Беркшир L西伯克郡FtraitsOstatic_ip_scoreh?GzH 5 @BAS _r+ #BdeEAsienBenDAsiaBes#=BfrDAsieBjaIアジア EÁsiaBruHАзия F亚洲 c  BBT #BdeFBhutanBen#BesFButánBfr#BjaRブータン王国 FButãoBruJБутан F不丹!Q![!mh@;!h@V!LAsia/Thimphu!  /U!! BRO #BdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア HRomêniaBruNРумыния L罗马尼亚"Xautonomous_system_numberŒDFdomainLshoesfin.NETRis_anonymous_proxy!CispKLoud PacketLorganizationOzudoarichikito_#h?\(Iuser_typeTsearch_engine_spider   N #BenGChatham 5 @BNA _r- #BdeKNordamerikaBenMNorth AmericaBesMNorteaméricaBfrQAmérique du NordBjaO北アメリカ QAmérica do NorteBru]Северная Америка I北美洲 c _e BUS #BdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 &,BruFСША F美国!Q![!mh@E,?!hRc{J#:Jmetro_code!PAmerica/New_York! @E12037  ! _e BUS #&"[ ] NA BNY #BdeHNew YorkBen&BesJNueva YorkBfr&BjaUニューヨーク州 KNova IorqueBruOНью-Йорк I纽约州"$9O]autonomous_system_organizationXFairPoint CommunicationsOconnection_typeICable/DSL$Hfrpt.net$!Sis_legitimate_proxy!Uis_satellite_provider!CispXFairpoint Communications$'#% %Kresidential  * (W #BdeFLondonBen(9BesGLondresBfr(IBjaLロンドン (IBruLЛондон 5 ? c (5 BGB # !Q![d!mh@IN;6!hfA!!!&"[ * _ CENG #"}"'ICorporate$Lin-addr.arpaCispTAndrews & Arnold Ltd$YSTONEHOUSE office network#% %Jgovernment  3 )j #BdeJLinköpingBen(LBfr(LBjaXリンシェーピング I林雪平 5 ? c (!! BSE #BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 GSuéciaBruLШвеция F瑞典!Q![L!mh@M5Vl!!h@/;6!PEurope/Stockholm! ,T!! BDE #BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 HAlemanhaBruPГермания F德国"[ 3 ( AE #BenUÖstergötland CountyBfrWComté d'Östergötland"$sN'bLBredband2 AB'($Mbredband2.comCisp(!$FBevtec#% %(- 5 @BNA _r- #Bde%bBen%qBesRAmérica del NorteBfr%Bja% %Bru% % %!Q![!mh@B ě!hXtS!OAmerica/Chicago! (5 BGB # "$'bKCELLCO-PARTCispPVerizon WirelessSmobile_country_codeC310Smobile_network_codeC004$(  2  #BdeKChángchūnBenIChangchunBfr(nBjaI長春市BruNЧанчунь F长春 5#" _  BCN #BdeEChinaBen(Bes(BfrEChineBjaF中国 (BruJКитай (!Q![d!mh@E =q!h@_TTɆ!KAsia/Harbin!  BCN #("[ F  B22 #BenKJilin Sheng F吉林"#h?(\)%( 5#" _ 8 BPH #BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr(BjaXフィリピン共和国 (BruRФилиппины I菲律宾!Q![y!mh@*!h@^!KAsia/Manila! @E34021 ! 8 BPH #(Srepresented_country _e BUS #&DtypeHmilitary"#h? =p"$!#h?Q"'!#(  c RE #BdeISan DiegoBen(Bes(Bfr(BjaRサンディエゴ (BruQСан-Диего 5%P c _e BUS #BdeRVereinigte StaatenBen&Bes&,BfrKÉtats UnisBjaLアメリカ CEUABru&j &s!Q![ !mh@@_Xe,!h]J\(&9!SAmerica/Los_Angeles! @E92103 Z! _e BUS #(2"[ c Q_ BCA #BdeKKalifornienBenJCaliforniaBes(BfrJCalifornieBjaXカリフォルニア州 KCalifórniaBruTКалифорния F加州"$T'bVDNIC-ASBLK-05800-06055''$Jhealth.milCispLUS Air Force$XUS Department of Defense%(  RE #( 5%P (!Q![d!mh@@^ȴ9X!h]ElD&9!(! @E92105!("[ Q_ BCA #("$9'bOSPACEX-STARLINK'ISatellite$Ostarlinkisp.netCispHStarlink$( q%(  ( X$ #BenFMiltonBruNМильтон 5(_ %!Q![!mh@G*0!h^'RT`&3!(! @E98354 (!("[ c X_ BWA #BenJWashingtonBes( BfrSÉtat de WashingtonBjaRワシントン州BruRВашингтон L华盛顿州"$''CispLCentury Link$OLariat Software#(%(- 5#" e BJP #BdeEJapanBen( BesFJapónBfrEJaponBjaF日本 FJapãoBruLЯпония ( !Q![d!mh@A׹`H!h@axP3:!JAsia/Tokyo!(  ( RE #( 5%P ( !Q![!mh@@\2W!h]I&9!(! @E92101 !("[ F Q_ BCA #("$'bMDNIC-AS-00022''$Hnavy.milCisp($DDNIC%(MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeQGeoIP2-EnterpriseKdescriptionBen]0GeoIP2 Enterprise Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countvKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoIP2-ISP-Test.mmdb000066400000000000000000002255171450470006300242120ustar00rootroot00000000000000%v%%%%> % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q/R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a bcdefsg%%hiqj%k%l%m%n%o%p%%5r%d%t%uv%wx%%yz%{%%|%}~%%%%%%%%%%%%%%%%%%%%%%55555555555555E55%jj%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%a%% % % % % %%%%%%%%%%%%%l9% ((!"(#($(%(&('((x)X*D+7,1-/(.9((09(25349((969(98=9;:(9(<((9>A?@(9(9BC(9(9EPFKGI(H9(J(9(LNM(9((O9(QTR(S(9((UVW9((9YhZa[^\((]9(_(9`(9bfcd9(e9(9g(9(isjn(klm9((9op(9qr(99((t(uvw(9(9yz{(|(}~((99(99(9((9(99((((9(((9(((999(9(((99(9(9((9((9(9(9((9(((99(99(9(9(99((9%X%X%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4   FF  b- !"#$%&'()*+,w./01235867%%%:Q;%%<=%%>?P@%%AB%%CD%E%%F%GH%I%J%%KL%M%N%%O% %,RS8%%TU%%VW%X%qYZ%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%%mnos%pq%%r%t%u%vw%x%%yz%{%%|%}%~%%%%%%%%%%%%%% % % I% q%%% %%% % %%%%%%%%%%%%%% %%%%% %%%%%%%%!%%%%%%%%%%%%%%%%!%%%%%%%%%%%!,%%%!,!,%%%%%%!]%%%%%!v%%%%%%%%%%%%%%%%%!%%%%%%%%%%%%%% %  % %% %%%%%%! jD.%%%% %%!%"%#%$%%%&!'!()!!*!+,!!-!!%/%0%1%23%4%%5%67%8%9%:%%;<%=%>%%?%@A%B%%C%"$EYF%G%%H%I%J%K%L%M%NOUP%QSR%"/%T%%"/V%%W%X"/%Z%%[\%%]^%%_`%a%%b%cd%%ef%g%h%i%%":klm%%no%%p%q%rs%%t%u"Iv"Iwx"Iy"I"Iz"I{"I|}"I"I~"I"I"I"I"O%%%%%%%%%"""%"%%%%%%""""""""""""""%"%"%%%%%%%%%%%%%%#P%%%%%%#j#j#j#j#j#j#j#j#j#j#j#j#j#p%%%%%%%%%%%%%%%#%%%%%%%%#%%%%%%%%%%%%#%#######$%%V$*$/%$/%%$/%$/% %%   % %%%%$L%%%%%%%$L%PB(%#!%% $m%%"%$|%$%%%&'%%$)<*6+1,%-%.%/%%0$L%2%%3%45%$L%%78%9%%:;%$L%%=>%?%%@A%$L%CFD%%E$%%G%HI%J%KM%L%$LN%O%$L%Q%R%SUT%%$/%$/WzX\Y[%Z$%$%]n%^_%`fa%b%%cde%$%%%ghk%ij%%% %lm%%?%o%pwq%%Wrs%W%Wtu%Wv%W%d%Wxy%%%%%{|%}~%%%%%%&%&>%%%%%%%$L%%%%%$L%%%%%%%&S%&S&S&S%%&S&S&S&S&S&S&S&S&S&S&S&S&Y%&S%&S%&S%%%%%%%%%%"/"/%%%%%%%%"I"I%"I%"I%"I"I"I"I"I"I"I"I"I"I"I"I"I"I"I&t%&&'%%"%%''''G'G''G'G''''G'G'G'G'G'G'G'G'G'G'G'G'G'G'G'^'G'''G'G'' ''G 'G'  (%%&%%&&&&&&&&&&&& &!&&"#&$&&%&&'&'&)l*T+%,E-%.%/%0%1%243'%'5%6C7''89':'';'<'=>'?'@'A''B''D%'%F%G%%H%I%J%K%LM%%NO%P%%Q%R%S%'UV%'W'%X%YZ%[%%\%]^%_%%`a%%bc%d%e%%fg%h%i%%j%k%(mn'o%pq%r%s%tu%%vwx%y~z|%{%"/}%%"/%%%"/%%"/"/%%"/%%%"/%%%%%%%%%%"/%%%"/%"/%"/%%%%%%"I%"I%"I"I"I"I"I"I"I"I"I"I"I"I"I("I%&%%%%'%%%%%%%%%%%%%%(M%(Y%%%%%%%%%%(((((((((((((((%(%%%%%%%%%%%%%%%%%%(% %%%%%%%%%%%  % %% ))%%%%%%%%%%%%%%)>%{ O!M%"#%$E%>&8'3(/),*%+%)T%%-.%)m%0%1%%2)%4%%56%%7)%%9%:%;%<%=)%?%%@%A%B%C%D)%F%G%H%%I%J%KL%*,%N%%PdQ%R%S%T%U%%VW%X%%YZ%[%\%%]^%%_%`a%%bc%*M%e%*f%gh%i%%jk%l%m%n%%op%%q%rs%t%%uv%w%x%y%z%%*|}~*%%%%%%%%%**********%%%%%%%%%%%+8%(+N%%%%%%%%%%%%%%%% %%%%%%%%+u%+u%+u+u+u+u+u+u+u+u+u+u++u%%%%+u%%%%%%%%%%%%+%%%%%%%%%%%++++++++,*%%%%%%%%%%%%%,,1%%%%%%%%%% % %% %  %%)>U%%%(- %%%%%%%%%%,!%%",>#,>$%,>&,>,>',>(),>,>*+,>,>,,[,>.%/<0%%1%23%4%%5%67%%89%:%;%%,=N>%?%@%A%B%C,D,,EF,,GH,I,J,,K,L,M,,%OP%%Q%RS%T%%,%VWX%%YZz[e%\%]^%_%%`a%b%%c%d,%fog%%h%i%j%kl%m%%n,%%p%q%r%st%%uv%%w%x%y%,{%|}~%%%%%%%%- %%%%%%%%%-%%%%%%%%%-!%%%%%%%+%%%%%%%%%%%%%%-9%%%%%%%-B%%%%%%%%%%%,%%%%%%%%%%%%-R%%%%%%%%%%%)>%%%%%%%%%-^%%%%%%%%%%%%%%-k% W %%&&%%%% %%%%%% %% % %  %%%V'!-y-----...3.N.f% ...."&.#$%.//0/F/\/q(?)1/*+.,-/////0/0-00250H30a40y069780001:<1;1/1H=>1_1t%1@H1ABECD1112FG22.2H2dIL2~J2K22MPNO2233(QS3?R3S3oTU33%3W%X%YqZb[^\]334 4"_`4:4R/a4j4~cjdgef4%44hi4455)knlm5@5W5n5op5%55rwst5%%u%v6 6x%y|z{636M6i%}~666%667 7/7a%%7777%%8%88?8Z78s8%78888889)888889G%%999%9%5%%%:%:!%%%%:?%%:R%::%%::;%%%%;$%;T;x;%;;%% <>F>Q>>>?%% ? @B%B%B% C F D E%C%C9 G H%COCmC% J K% L%% M% N O% P%%C R% S Z% T U% V%% W X% Y%C% [ \ t ] g ^ a _% `%%C b e c dC%%D f%%D7 h n i l j kDN%%Dh m%%D o r p qD%E %% sE3% u v ~ w y x%%EV z } {% |%Ex%E%  % E %%E %E% %% B%B% %F#% FZ%%F% F% % % %E3% %%F% % % %F % % G % %% %G) % Gg%%G %% G G G G G G G G G%G %%G % % % % %% %%A % % % %%G% % % % %% % % %H% % % %% % %% % % % % % %H&% 4 & %% % % HD% % % % %Hf%H %H  H H H HHH HH HI   I,IA%Im%  I  I,II I I II I  Im Im I J J;Jl  %    JJ JJK5  KpKK   !  KKLLO " $Lf #%L}LLIAL '%% ( )%% *% +% , -%% . /% 0%% 1 2%% 3% 5 6 7 % 8 9&> : m ; a < D% = >% ?% @% A%% B% C$L% E [ F P G% H L% I% J% K%$L M%% N% O%$L Q V R% S% T%% U$L% W%% X% Y Z%%$L \% ]% ^%% _% `%$L b%% c d h e%% f g%%$L% i% j% k l%%$L n o ~ p w q% r%% s t%% u% v%$L% x y%% z {% |% }%$L% %% % % % % %%$L % % %% %% %$L% % % %% % % %$L %L % % % %L %M M!% %MO%M} %MM % % %M % %M % %%N% % %% %%N % %N- N- %NI%Nm$L $L$L $L$L N$L $L$L $L $L$L $L$L NN % % %% % % % % % % % %% %N%% % (M%% % %% %% % % %% % %% % % % % N% H % % 7 %%   %% % %O %   %O %% O %  % % %%O  %  %O %  % %O % %O  (  !  %  %%O % %O % " %% #% $%O &% '%O % ) 2 * - +%% ,%O . 0% /O % 1%O %% 3% 4 5 6O %O % 8% 9% :%% ;% < =% >% ? @O'%% A B E% C DO'%O' F% G%O'% I%OS J K%% L% M N%% O% P% Q R% S VO T U%O%O% X Y  Z [ r \%OS ] ^ j _%% ` a i b% c%% d e g% fO% hOO%P%% k% l m% n%% o p% q%P% s t% u % v% w% x% y z% {% |  } ~PK%PK% :%: % :%: %:%% % % %% % % %%P| % % % % %% % % % % %PP% %P% %%P % %%P% %P% %% % % % % % % % % % %P%% % P %% %Q % %% %QC% %% % % %% % % QX%QX %QX% % %% % %% % % % Qp%% % %% % % %% % % % %% % % % %%Q% % % %Q% % %% % % % %   % %%Q% % Q% B 3 !% %   %  % % Q% % % % %%Q%  %%  %% %  %% %R% " #% $%% % &% '% ( , )% *% +%%RC - 0 .% /%RC%% 1% 2%RC 4 A 5%% 6% 7% 8 9%% : ;%% < =% >% ?% @Ri%RiOS% C a D V% E F% G O H% I%% J% K% L M%R NRR% P Q%% R% S T%% U%R% W% X Y%% Z [%% \ ]% ^%% _% `%RC b c x d o% e% f% g% h i%% j k% l% m%% nR%% p% q% r% s% t% u% v% wP% y% z%% {% | }%% ~ %% % %% %O% % %% %% % % % % % H% % % %% % %%R OS % %% % % % % % % % %% % R% % % % % % % %% % % %S% %S%% % % % % % %% % % QX% % % % % % % % %% % %S S%% % % % % %% % SB% % % % % %% %% % P%% % % % % % % %% P%  % % % % % % % %  %% % % %% SQ%%  % %%  %% %SQ% % % %% %  % %   %Q%% %Q %     O  1  (% !%% " #%% $% % &%% 'Sf%% )% * +%% ,% - .% /%% 0S}% 2 A 3% 4 5 I%% 6% 7% 8 9 <% :% ;%S = ? >%S%% @S}% B% C%% D E%% F% G H%% I J%% K% L% M% N%S P Z% Q% R S%% T U%% V W% X%% YS% [ q \ i% ] ^% _ d% ` a%% b c%T8%% e% f% g% h%Tf% j% k l%% m n% o% p%T% r % s% t u%% v% w x% y%% z% {% | } % ~ TT T TT %T T T T% % % % %% % T%% %% % U-Ud %U%  % % %% %% %U % % %% % % %UV% % %% % %% %V; %% % V`%% %% %V % %% %V%% % % % % % % % % % % % % %V% % % % % % %%V% % % % %% W"% %  % % % % %W/%% % %% %%W/%  % %WRWhW WWX XM XMXMXMXMXMXMXMX   XXYY6  YhYYYZ ZIZvZZ[[#C2[*![[[O [[[k[[["([#[$%[&['[[[)[[[+[,[-[.[/[0[1[\%[[34[[56[[78[9@:[[;[<[=[>[?\3[[AB[\q[D[EFG_HPI[J\KN[LM[\\O[[\QXR[S[T[U[[VW[[\[YZ[[][\] [[^]A[`jae]Qbc[d[]r[[fg[h[]i][kr[l[m[n[op[[q][s|tyuwv[[^ [x^[z[{[[^V}[[~[^q[[[^[[^[[^^[[[^[[[_[[[[[]r[_[[[[[[[_/[[_Q[[[_[[[_[[[_[[[_[_`#[[]r`:`Y[`}[[`[`[%%%%%%%%%`%%`%%%%%%%%%a%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%a?%%%%%%%%%%%%%% % % % %%aq%7(%%%%%%%a%%"%%%% %!a%%#%$%%%&%'%%%)*%+%,%%-%./%0%%1%2%34%%56%%a8N9>:=;%<%%%a%%?%@%AB%C%D%%E%F%G%HI%J%K%%LM%%bO%PpQg%RS%T%%UV%W%%X%YZ%[%%\%]%^%_`%a%b%%c%de%f%b1%%h%i%j%k%l%m%n%o%b>%&r;st%uw%vbU%x%yz%{%|}bl%~%b%b%bc%c$%cI%crccd %d=d_%d%%d%d%e/eL%e|%ee%f!%fV%f%%ff%ggg7ggfgg%%gh%h8%%h]hh%hii<%%ibi%ii%j%%%j1%jaj|j%jj%k %%k6kEkkk%kkkl(%lKl{l%%lm %m$mRm%%mmn%nSn%%n%nn%ooE%oo%o~%o%op p8 %   %% %%pU%%%%pU%%pk6%m %'%p%%%% %!%%"%#%$%%&%(8)%*%%+%,-%%.%/0%%1%2%34%%56%%7%p9:%%OS<=s>d?V%@A%B%C%%D%E%FG%%HI%J%K%%L%MN%%OP%Q%R%%S%T%Uq %W%%XY%%Z[%%\]%%^%_%`%ab%c%H&%e%f%g%h%i%%jk%%lm%n%%op%%qr%%q#t%u%v%w%x%yz%{%%|}%%~%q6%%%%%%%%%%%qZ%%%%%%%%%%%%qw%%%%%%%%%%%%%%q%%%%q%%%q%%%%%%%%%%%%%%%%%%%%%%q%%%%%%%%%%%%%%%%%q%%%%%%%%%q%...%%%%%%%%%%%%%%%%%%%%% %%%%%%%%% % %% %% %%%%%%%%%%%q%%%%%%%r  %%!"%%#$&%%%%%'%()%*%%+,%%- %/o0Q%12%%34%5<%6%78%%9:%%;%r)%=%>%?@D%AB%C%%r=%EF%%G%HI%%J%K%L%M%NO%%Pr\%R\SWT%U%%V%rf%X%Y%Z%[r%]%%^_g%`a%%bc%d%%e%f,%h%i%j%k%%l%m%nr%pqr%s%t%%uv%w%x%%y%z%{|%%}~%%%%r%%%%%%%%%%%%%r%%%%%%%%%%%s#%%%%%%%s@%%%%%%%%%%sisi%c!%%%%%%%%%%s%%%%%%%%%,%%%%%%%%%s%%%%%%%%%%%s%%%%%%%%%%s%%%%%%%%%%%s%%%%%%%%%%%%s%%%%%%%% %% % % % %%%%%s%%%%%%%%%%%%%% %t"S#=$6%%%&'%(%%)*0%+%,-%%./%%,%12%3%%45%t>%7%%89%%:%;<%%(>O?%%@A%%B%CD%E%%F%GH%I%J%%K%L%M%N%tKP%Q%%Rrf%%T%UV%W%%XY%%Z%[%\]`%^_tz%tza%b%tz%dze%fn%gh%%i%jk%%l%mt%o%ptq%r%s%t%u%%v%wx%y%t%{|%}%~%%%%%u%%%%u,%%%%uX%%%%%%%%%%%%%%%uu%%%%u%%%%%%,1%%%%%%%%u%%%%%u%F%%%%%%v%%%v%%%%v5%v5%v5%%%%%%%%vV%vVvVvV%vV%%%%%vl%vvvv%%%%%vvvvv%%%w3%%%%%wg%%%%%%w%w%w%%  %% % % %%%%%%w%%!%%%%%%w%% %%w">#'%$%%%&%w%()-%*+%x,x%xL./60%1%24%3x%%5%x7%8;9%:%x%<%%=%x?%@%%ABD%Cyy6%E%yK%GHI%JK}LlM%N%OjPe%QRdS]%T%U%V%WX%Y%%Z%[%\yd%^%_%`%a%%bc%%y%yyf%g%h%i%yk%%ym%%n%ops%qr%z%%tu%z3vwz3z3xyz3zz3{z3|z3zWz3%~HHHHHz%%%%z%%%%%%z%%z%%%%%z%%{-{-{-{-{-{-{-{-{-{-{-{R%%%{o%{{%%%{{%%%|%H%HH%%%%|/%%|h||%%%%|%|%%%|%%}}!%%%%%%%%%%%%%%%%}H%%%%%%%%%%%%%%%%%%%%%%%%}^%%%%%%%%%%}{% % % %  %%%%%%%%%%%}%%%%%%%% %%!"%#%%$%}%&%'(%%)%*%+%,-%%}/0H1%2%%3%45%%6%7%89%%:;%<%=A%>?%%@%}B%C%D%%EF%G%}%IcJ%KUL%M%N%O%%P%QR%%ST%%}V%%W%X%YZ%%[%\]%^%%_%`a%b%%}desf%g%h%i%j%k%l%%m%n%op%q%r%%%%t%uv%%w%xy%%z%{%|%}~%%%}%%%%%%%%%%%~%%%%%%%%%%%%%%%%%%%%%%%%%~!%%%%%%%%%%%%%%%%"/%"/%%%%%%%%%%%%%%~2%%%%%%%%%%%~R%Z%.%%%%%%%%%%%%%%%%%~h%%%%%%%%%%%%%%%%%%~h%%%%%%%%% ~ ~%~~  ~ ~~~~~~~~~~~~~~"%%%%% %%!%"#%$%%%&%%'(%%)*%+%%,-%%":/F%01%2%3%4%%56%7%%8%9%:;%<%%=>%%?@%%A%BC%%D%E~%%GH%%I%J%K%LM%N%%OP%%Q%RS%T%U%V%W%X%%Y%q[\]^_}`valbgc%%d%e%f%~h%%i%j%k%~m%%nos%pq%%r%!]%tu%&Fw%%x%y%z%{%|%W%~%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%-R%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%%%%%%V%%%%%%%%%%%%%%%%))% % %% %  }}%%}.%)%%%%%%%%%%%%% !%%"#%$%%&%%'%(%%*+%%,%-%/c0P%12A%34%5%%6%78%9=:%;%<%>?@%%%BCL%D%EF%%G%H%IJ%K%+8%%M%NO%%Q%%RS%%T%UV%W%%X%YZ%%[\%]%%^_%%`a%%b%"doe%%fg%%h%ij%%k%l%m%n^%p{%qr%s%%tu%%v%wx%y%z%w%%|}~%%%%%%%%%%%%%%%%% I I%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"%%"%""""""""""""N"%%""""%D%%%%%%%l%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %  % %%%%%%%%"%%%%%%%%%%% !%%%#$;%+&%'%%(%)%*9%,%%-%.%/0%%1%23%4%%5%6%7%89:H%H%%<=%%>%?@VAV%B%CV%EFoGc%H%IJ%%K%LMW%N%O%PQ%R%%S%TU%V%u%%XY%%Z[%%\]%^%%_`%a%%b%d%e%%f%g%h%i%jk%%lm%%n%pzqs%r%%tu%v%w%x%y%%{%|}%~%%%%%%%%%%%%H%%%%q%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'%%%T%%%%%%%x%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3%%%%%R%%%%%%%%%t%%%%%%%%%%%%%%%%%%%%% %  %% % %%%%%% %%% %%%%%%%% &%!"#%#$%%%%1'%#()#*#+##,-#K#%%%0%1%2%3%4%5%6%7%8%9%:%;%<%=%`?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%%%w%xZyz%{%|%}%~%%%%%%%%%%%%%%%`%%%%%%%%%%%%%%%%%%l%%%%%%%%%%%+%%DDDn%%%%`%%%'%%%%%2 ]      !"#$%&(%)%*%+%,%-./P012B34;56789:<=>?@A CKDEFGHIJBLMNOdQRSTUVWXY[\s]%^%_%`%a%bcidefghjklmnopqrt%u%v%w%x%y%z{|}%~%%%%%%%%%% %%%%%%%%%%%%3%%%]%h%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%%%%%%%%%P%%%e%%%p%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     (;FY%%%% %!%"#%%$%%CispZTOT Public Company LimitedLorganization Xautonomous_system_number]autonomous_system_organizationOTelstra Pty LtdCispPTelstra Internet CispVLevel 3 Communications CispJWifiNetComCispGFinecomCisp MCo-Mo ConnectCispMAT&T Services 0jCisp 0jCisp VAT&T Worldnet Services 0G LWHewlett-Packard CompanyCisp!< !CispQvsevolod_artemiev (XCispOrimomeikashite_ (tCispNregõ_kultsár (CispNturner_ménard (CispNhenio_zawadzki (CispHzhu_tang (CispLhakem_asfour (CispOmichael_herring (CispQvaleriya_lazareva (CispKleila_silva (9CispNignacy_sobczak (OCispQsophie_lacharité (hCispLisaac_holmes (CispRChina Unicom Hebei (CispWTaiwan Mobile Co., Ltd. (CispZSavecom International Inc. (Cisp] Digital Pacific Information Technology (CispZBroadband Pacenet Pvt. Ltd (1CispTChina Telecom FUJIAN (VCispVPT Universal Broadband (uCispSSTNet, Incorporated (CispSEhime Catv Co.,ltd. (CispQjeonju university (CispVHong Kong Science Park (CispPUnitech Wireless (CispNWebcentral.com (*Cisp]Bharti Airtel Lanka Pvt. Limited (CCispZChittagong Online Limited. (oCispSGlobal Mobile Corp. (Cisp( LGlobalmobileCisp]China Education and Research Network (Cisp( STsinghua UniversityCisp( ]Shijiazhuang Netdingthing Technology Co.,LtdCispZChangping District,Beijing (OCisp]ChengDu Dr.Peng Telecom & Media Group Industry Co. (tCispWReliance Communications (CispRPT. Mnet Indonesia (CispSPT. Beon Intermedia (CispHINDICLUB (Cisp] Korea Data Telecommunication Co., Ltd. ("CispVChina Telecom SHANGHAI (TCispOUNICOM ZheJiang (uCisp]Jiangsu Electrical Technology Education Center (CispDHCLC (CispQWharf T&T Limited (Cisp]Enterprise of Telecommunications Lao (CispYCallPlus Services Limited ($Cisp\Kuentos Communications, Inc. (HCisp]CMC Telecom Infrastructure Company (oCispYVector Communications Ltd (Cisp]Office des Postes et des Telecomm. de Nouvelle Cal (CispWChina Telecom Guangdong (CispGJNDINFO (!Cisp(! QJND CommunicationCisp CispVSOFTBANK TELECOM Corp. (ZCisp]SANYO Information Technology Solutions Co., Ltd. ({Cisp]Beijing Teletron Telecom Engineering Co., Ltd. (CispWits communications Inc. (CispCNTT CNTTCispRVodafone Australia ("Cisp]Beijing Bosheng Technology Co., Ltd. (?Cisp]KNET Techonlogy (BeiJing) Co.,Ltd. (oCisp]Beijing Bitone United Networks Technology Service (Cisp]Renjiao International Technology Corporation Ltd (Cisp# #Cisp]BeiJing Kuandaitong Telecom Technology Co.,Ltd (!Cisp] Shanghai Yixuan network technology CO.,LTD ([CispXChina Central Television (Cisp]Internet Initiative Japan Inc. (CispUPT. Cyberindo Aditama (CispUK-Opticom Corporation (Cisp]Asia Pacific On-Line Service Inc. (Cisp( ]Asia Pacific Onlie Service Inc.CispWBeiJing NBLLNET Co.,Ltd (vCisp]Beijing Yuexintong Information Technology Company (Cisp( ]Shanghai Xindong Network Co,.Ltd.CispNUNICOM Sichuan (CispMDreamline Co. (CispLeAccess Ltd. (3CispHBit-isle (JCisp]Universitas Negeri Yogyakarta (]CispKAircel Ltd. ZAircel gprs customer DelhiCisp( \Aircel gprs customer KolkataCisp( \Aircel gprs customer ChennaiCisp( ]Aircel gprs customer HyderabadCisp( YAircel GPRS Customer EastCisp( YAircel GPRS Customer WestCisp( ZAircel GPRS Customer SouthCisp]Sliced Tech Holdings Unit Trust (CispZC&M Communication Co.,Ltd. (Cisp]Beijing Gehua Catv Network Co., Ltd. (CispOPT Remala Abadi ( Cisp]Simtronic Technologies Pty Ltd ( 3CispLTata Indicom ( ]CispLFiserv India ( tCispIMobileOne ( CispPU Mobile Sdn Bhd ( CispZHostemo Technology Sdn Bhd ( Cisp]Total Access Communication PLC ( CispKGodaddy.com (! CispSDigicel Pacific Ltd (!CispUMammoth Media Pty Ltd (!=CispWBeagle Internet Pty Ltd (!]CispDKINX (!CispJAMWAYKOREA (!CispUASUSTek COMPUTER INC. (!CispKThe Cavalry (!Cisp]Elementary IT & Communications Ltd (!CispLDrik ICT Ltd ("CispOThree Indonesia ("Cisp]Augere Wireless Broadband Bangladesh Limited ("8Cisp]Elink-space (Beijing) Technology Co,. Ltd ' ("pCisp] Neuviz (PT. Piranti Prestasi Informasi) ("Cisp]Bogor Agricultural University ("CispXPT Sumber Data Indonesia (#CispWVainavi Industries Ltd. (#&Cisp]Universitas Muhammadiyah Malang (#HCispNMeralco Avenue (#sCispTWavecom Wireless Ltd (#CispPUniversitas Riau (#Cisp]Liberty Broadcasting Network Inc. (#Cisp]Meghbela Cable & Broadband Services (P) Ltd (#Cisp] Indusind Media and Communications Ltd. ($*Cisp]Goldfield Industrial Building ($\CispLAndheri East ($CispSRackCentral Pty Ltd ($CispUUnleash Computers Ltd ($CispTWeb Werks India Pvt. ($Cisp]Joint stock Commercial Bank for Foreign Trade of V ($CispNMCS Com Co Ltd (%7Cisp]VentraIP Group (Australia) Pty Ltd (%PCisp[i-System Technology Limited (%~CispZLangham Place Office Tower (% DDigiCispZCmb Taegu Dongbu Broadcast (% ZQuickWeb Hosting SolutionsCispWAirtel Networks Limited (&CispRFawri wilaya Batna (&6CispPAnis wilaya oran (&SCispRAnis wilaya Bechar (&nCispMMaroc Telecom PMaroc Telecom 3GCisp(& (&Cisp(& CIAMCispQSafaricom Limited (&CispIUnitel SA (&CispJMobinil 3G (&Cisp]MTN Business Solutions (Pty) Ltd ('CispOTelkom Internet ('=Cisp$ $Cisp[Airtel Networks Nigeria Ltd ('bCispMEtisalat Misr HEtisalatCisp(' ('CispGVodacom ('CispPAirtel Broadband ('Cisp]Second segment of Broadband IPs ('Cisp]Third segment of Airtel Broadband IPs (( Cisp]Reserved for Internet APN Allocation ((CispUAxtel, S.A.B. de C.V. (>Cisp]Informacion Al Dia Y Comput SA (> 0 LKCELLCO-PARTCisp(Smobile_country_codeC310Smobile_network_codeC004 ( UWireless Connect Ltd. FHKTNETCisp]Centro Nacional de Intercambio Automatizado (? EF-KOM 0 LXAOL Transit Data NetworkCisp& & PCircle 1 Network IGoversoftCispQCondointernet.net 02, L( 5Cisp( 5 ( 5CispKOi Internet (@?@ABCDEFGHIJKLMNOPQURSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Y   [  6    X!"#$%&'()*+,-./012345U7K89:;<=>?@ABCDEFGHIJLMNOPQRSTUVWXYZ\]^j_`abcdefghiklmnopqrstuvwxyz{|}~g=Y" P      !S#F$%/&'()*+,-.0512346789:;<=>?@ABCDE =GHIJKLMNOPQRSTUVWX!pZT[\]^_`aubcdefghijklmntopqrsvwxyz{|}~!<"## # %  * %! &&>"#&Q&>$&>&'()&k&+,-./0123456789:;&=>?@ABCDEFGHIJKLMNOPQRS'%VWXYZ[\]^_`abc`efghijklmnopqrstuvwxyz{|}~baV,`'(M(      !"#$%&)n()*+)-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU*pWXYZ[\]^_``cdefghijklmnopqrstuvwxy*{|}~FtraitsOstatic_ip_scoreh?(\)Iuser_typeHbusinessIcontinentDcodeBASJgeoname_id_r+EnamesBdeEAsienBenDAsiaBes kBfrDAsieBjaIアジアEpt-BREÁsiaBruHАзияEzh-CNF亚洲GcountryJconfidencec IHiso_codeBIR XBdeZIran (Islamische Republik)BenDIranBesEIránBfr Bja]イラン・イスラム共和国 DIrãBruHИран X伊朗伊斯兰共和国HlocationOaccuracy_radius2Hlatitudeh@A_pIlongitudeh@I($ xItime_zoneKAsia/TehranRregistered_country I BIR X Xautonomous_system_number¬]autonomous_system_organization]Iran Cell Service and Communication CompanyOconnection_typeHCellularCisp"Lorganization" h? "HcellularDcity < I XBdeIDschankojBenHDzhankoyBruNДжанкой 6 ABEU I_r, XBdeFEuropaBenFEuropeBes"Bfr"BjaOヨーロッパ "BruLЕвропа F欧洲 P I g BUA XBdeGUkraineBen#BBesGUcraniaBfr#BBjaXウクライナ共和国 HUcrâniaBruNУкраина I乌克兰!b!l!~h@FPH!h@A2C\!QEurope/Simferopol! I g BUA X#>Lsubdivisions F I B43 XBdeDKrimBen]Autonomous Republic of CrimeaBfr]République autonome de CriméeBru]Республика Крым !pY!SCrimeaCom South LLC"HICable/DSLCisp$"g$ h?У =p "Kresidential" < IѠ XBdeHElazığBenIElâzığBfr$BjaLエラズーBruLЭлязыг I埃拉泽 6 @ Z I+ BTR XBdeGTürkeiBenFTurkeyBesHTurquíaBfrGTurquieBjaRトルコ共和国 GTurquiaBruLТурция I土耳其!b!l2!~h@CO/V!h@C-w1!OEurope/IstanbulFpostal AE23100 ! I+ BTR X%9# < Iџ B23 XBen$ !!E!]National Academic Network and Information Center"H$Cisp&"g& " ," 2 I(E XBenGBoxford 6" _ I(5 BGB XBdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス &Bru\Великобритания F英国!b!ld!~h@I!h!MEurope/London% ACOX1 ! I. Tis_in_european_union BFR XBdeJFrankreichBenFFranceBesGFranciaBfr'BjaUフランス共和国 GFrançaBruNФранция F法国# F I_ CENG XBenGEnglandBesJInglaterraBfrJAngleterre ( I2a CWBK XBenNWest BerkshireBru]Западный Беркшир L西伯克郡  h?GzH! I /U'a'v BRO XBdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア HRomêniaBruNРумыния L罗马尼亚 Ris_anonymous_proxy'vCispJWifiNetCom h?Q !jCispMAT&T Services"gVAT&T Worldnet Services h? =p" I#) XBenEYendi 6 ABAF I_r* XBdeFAfrikaBenFAfricaBesGÁfricaBfrGAfriqueBjaLアフリカ (BruLАфрика F非洲 I# BGH XBdeEGhanaBen(Bes(Bfr(BjaRガーナ共和国 DGanaBruHГана F加纳!b!l!~h@"b!h_o!LAfrica/Accra!(# I# Q BNP XBenONorthern Region  h?Q" ( IQ) XBdeKLos AngelesBen(BesLLos ÁngelesBfr(BjaRロサンゼルス (BruWЛос-Анджелес I洛杉矶 6 ABNA I_r- XBdeKNordamerikaBenMNorth AmericaBesMNorteaméricaBfrQAmérique du NordBjaO北アメリカ QAmérica do NorteBru]Северная Америка I北美洲 c I_e BUS XBdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 (!BruFСША F美国!b!l!~h@AFs!h]-VJmetro_code#!SAmerica/Los_Angeles% AE90009 ! I_e BUS X(# Z IQ_ BCA XBdeKKalifornienBenJCaliforniaBes(BfrJCalifornieBjaXカリフォルニア州 KCalifórniaBruTКалифорния R加利福尼亚州 !!STowerstream I, Inc."HICorporateCispMTowerstream I"g( h?\( " ," ( IG XBenGHoustonBfr(BjaRヒューストン (BruNХьюстон I休斯敦 6(E (!b!l!~h@=+a!hW8}H(j!OAmerica/Chicago% AE77002 !(# Z IHE BTX XBenETexasBes(Bfr(BjaOテキサス州BruJТехас O德克萨斯州 !!]Qwest Communications Company, LLC"H$FdomainIqwest.netCispKCenturyLink"g( ( "$"  IRG+ XBdeISan JoséBenHSan JoseBes(CBfr(CBjaLサンノゼ (CBruOСан-Хосе 6(E (!b!l!~h@BR<6!h^yD('!(% AE95131 !(# < IQ_ BCA X( !H!TMegaPath Corporation"H$(Mspeakeasy.netCispISpeakeasy"gOVikco Insurance ( "Jgovernment 6 @ c I BBT XBdeFBhutanBen(pBesFButánBfr(pBjaRブータン王国 FButãoBruJБутан F不丹!b!l!~h@;!h@V!LAsia/Thimphu!( !ŒD(Lshoesfin.NET('vCispKLoud Packet"gOzudoarichikito_ ( "Tsearch_engine_spider" IN XBenGChatham 6(E (!b!l!~h@E,?!hRc{J#:(!PAmerica/New_York% AE12037 !(# ] INA BNY XBdeHNew YorkBen( BesJNueva YorkBfr( BjaUニューヨーク州 KNova IorqueBruOНью-Йорк I纽约州 !9O!XFairPoint Communications"H$(Hfrpt.net('vSis_legitimate_proxy'vUis_satellite_provider'vCispXFairpoint Communications"g( ( "$"( S 6(E (!b( x%( !(#( !9O!( M"H$(( m('v( {'v( 'vCisp( "g( h?ffffff "$" * I(W XBdeFLondonBen( MBesGLondresBfr( ]BjaLロンドン ( ]BruLЛондон 6" c I(5 BGB X&!b!ld!~h@IN;6!hfA!'=!(# * I_ CENG X' (Lin-addr.arpaCispTAndrews & Arnold Ltd"gYSTONEHOUSE office network ( "(H" 2 I(W X( I 6" &!b!l !~( !( !'=!(#' (( (" 3 I)j XBdeJLinköpingBen( Bfr( BjaXリンシェーピング I林雪平 6" c I('a'v BSE XBdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 GSuéciaBruLШвеция F瑞典!b!lL!~h@M5Vl!!h@/;6!PEurope/Stockholm! I,T'a'v BDE XBdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 HAlemanhaBruPГермания F德国# 3 I( AE XBenUÖstergötland CountyBfrWComté d'Östergötland !sN!LBredband2 AB"H((Mbredband2.comCisp(m"gFBevtec ( "(H  h?ٙ """ 2 ILQ XBdeKMinneapolisBen(BesKMineápolisBfr(BjaRミネアポリス (BruVМиннеаполис R明尼阿波利斯 6(E _ I_e BUS XBdeCUSABen(Bes(!Bfr(3Bja(B (!BruFСша (i!b!l!~h@F|JM!hWM?(e!(M% AE55414 ! I_e BUS X([# F IL BMN XBenIMinnesotaBes(BjaOミネソタ州BruRМиннесота ! !PPrecision AS OrgCispMPrecision ISP"gMPrecision Org h?p =q "$" 2 I XBdeQHo-Chi-Minh-StadtBenPHo Chi Minh CityBesRCiudad Ho Chi MinhBfrDHCMVBjaRホーチミン市 UCidade de Ho Chi MinhBruNХошимин L胡志明市 6 @ c I BVN XBdeGVietnamBen(;Bes(;Bfr(;BjaLベトナム GVietnãBruNВьетнам F越南!b!l!~h@%҈p!h@Z4J!PAsia/Ho_Chi_Minh! I BVN X(7# < I" BSG XBde(Ben(Bes(BfrFSaigonBja( (BruPХо Ши Мин ( !G!]The Corporation for Financing & Promoting Technology"H$Cisp]The Corporation for Financing and Promoting Techno"gSFPT Telecom Company (k " , 6 ABNA I_r- XBde(WBen(fBesRAmérica del NorteBfr(Bja( (Bru( ( (!b!l!~h@B ě!hXtS!(M! I(5 BGB X& !!KCELLCO-PARTCispPVerizon WirelessSmobile_country_codeC310Smobile_network_codeC004"g(d" 2 I XBdeKChángchūnBenIChangchunBfr(BjaI長春市BruNЧанчунь F长春 6 @ _ I BCN XBdeEChinaBen(!Bes(!BfrEChineBjaF中国 (!BruJКитай (?!b!ld!~h@E =q!h@_TTɆ!KAsia/Harbin! I BCN X(# F I B22 XBenKJilin Sheng F吉林  h?(\) "$ "gLCityLink Ltd h?zG{ 6 @ _ I8 BPH XBdeKPhilippinenBenKPhilippinesBesIFilipinasBfr('BjaXフィリピン共和国 (6BruRФилиппины I菲律宾!b!ly!~h@*!h@^!KAsia/Manila% AE34021 ! I8 BPH X(Srepresented_country I_e BUS X(DtypeHmilitary  h? =p"  IH?i XBenJSugar LandBjaUシュガーランド (+BruSШугар-Ленд 6(E (!b!l!~h@=T!hW =q(j!(M% AE77487 !(# < IHE BTX X( !+!]Comcast Cable Communications, LLC"H$(Scomcastbusiness.netCispPComcast Business"g( h?Q " , ('v (/ ( 'v (/" c IRE XBdeISan DiegoBen(lBes(lBfr(lBjaRサンディエゴ (lBruQСан-Диего 6(E c I_e BUS XBdeRVereinigte StaatenBen(Bes(!BfrKÉtats UnisBjaLアメリカ CEUABru(` (i!b!l !~h@@_Xe,!h]J\((9!(% AE92103 Z! I_e BUS X(# c IQ_ BCA XBde(Ben(Bes(Bfr(Bja( (9Bru(H F加州 !T!VDNIC-ASBLK-05800-06055"H$(Jhealth.milCispLUS Air Force"gXUS Department of Defense "(" IRE X(h 6(E (]!b!ld!~h@@^ȴ9X!h]ElD(9!(% AE92105!(]# IQ_ BCA X(  h?ٙ "Xcontent_delivery_network  h?ٙ " ,  h?ٙ "Htraveler CispSUnexpected Cellular"g( h?ٙ "" CispWUnexpected Cellular Two"g( h?ٙ """( 6(E (!b(w%(!(#( !+!("H$((Cisp("g( (/ "Ghosting" ( IX$ XBenFMiltonBruNМильтон 6( (!b!l!~h@G*0!h^'RT`(3!(% AE98354 (!(:# c IX_ BWA XBenJWashingtonBes(BfrSÉtat de WashingtonBjaRワシントン州BruRВашингтон L华盛顿州 !"H$CispLCentury Link"gOLariat Software (/ "(H 6 @ _ Ie BJP XBdeEJapanBen(BesFJapónBfrEJaponBjaF日本 FJapãoBruLЯпония (!b!ld!~h@A׹`H!h@axP3:!JAsia/Tokyo! Ie BJP X(  h@zG{"( 6" ( !b!lL!~( f!( q(!( |% AF138 20 !( #( !sN!(m"H(((Cisp(m"g( (` "(H"( 6" ( !b(z%(!( #( !sN!(m"H(((Cisp(m"g( h@\( "(H 6 @ _ I BCN XBde(!BenZPeople's Republic of ChinaBesXRepública Popular ChinaBfr(6Bja(? (!Bru(N (?!b!ld!~h@A!h@Z@! I BCN X(K (] 6 @ (J!b( !(J 6" _ I.'a'v BCZ XBdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 (=Bru]Чешская Республика O捷克共和国!b!ld!~h@H!h@.!MEurope/Prague! I.'a'v BCZ X(  h@zGMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_type[GeoIP2-Precision-EnterpriseKdescriptionBen]:GeoIP2 Precision Enterprise Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoIP2-Static-IP-Score-Test.mmdb000066400000000000000000000233321450470006300263540ustar00rootroot00000000000000~H     +7CO[gs !"#$%'&3'?(K)W*c+o,{-./012345678 9:#;/<;=G>S?_@kAwBCDEFGHIJKLMNOP+Q9RSTUVWXYZ[\]^_`abc7dCefOg[higjsklmnopqrstuvwxy'z3{?|K}Wc~o{ #/;GS_kw    +8 7 C O [ g s     ' 3 ? K W c o {   # / ; G S _ k w          + 7 C  O [ g s              ! " # $ % &  '( ) * + , - .  / 01 2 3 4 5 c67 o{:;<=>?@ABCDEFG`I J 'K 3L ?M KN WO cP oQ {R S T U V W X Y Z [ \ ] ^_#`/a;bGcSd_ekfwghijklmnopqrstu+v7wCxOy[zg{s|}~'3}?KWco`{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{      #/;GS_kw !@"#$%&'()*++7,C-O.[/gs0123456789:;<=>?'3?A_BKCWDcoEF{GHIJKLMNOPQR ST#U/V;WGXSY_Zk[w\]^`abcdefghi+7jCklO[mgnsopqrstuvwxyz{|'`3?KWco{Escoreh@\( h@QR h@=p = h@(\) h@zG h@Q h@p =q h@\(\ h@GzH h@333333 h@Q h@ =p h@\( h@Gz h@ h@Q h@ =p h@\( h@zG{ h@ffffff h@QR h@=p = h@(\) h@zG h@ h? =p h?zG h?Q h?\(\ h?333333 h? =p h?Gz h?Q h?\( h?ffffff h?=p = h?zG h?Q h?\( h? h?p =q h?GzH h?Q h?\( h? h? =p h?zG{ h?QR h?(\) h? h? =p h?zG h?Q h?\(\ h?333333 h? =p h?Gz h?Q h?\( h?ffffff h?=p = h?zG h?Q h?\( h? h?p =q h?GzH h?Q h?\( h? h? =p h?zG{ h?QR h?(\) h? h? =p h?zG h?Q h?zG{ h?Q h?GzH h?У =p h? h?θQ h?p =q h?(\) h?Gz h?zG{ h?ə h?QR h? =p h?\( h?zG{ h?333333 h?Q h?zG{ h?Q h? =p h?Q h?(\) h? h? =p h?zG{ h? h?Q h?Q h?zG{ h? =p h?ҏ\( h?333333 h?\( h?ffffff h?=p = h? =p h?ٙ h?\( h?QR h?׮zG h?Gz h?ۅQ h?(\) h? h?p =q h?zG{ h?zG h?=p = h?޸Q h?\(\ h? h?QR h? =p h?\( h?GzH h?ᙙ h?Q h?(\) h? =p h?Q h?333333 h?Gz h?\( h?\( h? h?\( h?=p = h?Q h?陙 h?GzH h?\( h? =p h?QR h? h?zG h?\(\ h? =p h?ffffff h?zG h?\( h?p =q h?Q h? h?Q h? =p h?Gz h?333333 h?Q h?ffffff h?zG h?\( h?Q h? =p h?p =q h?Q h? h?(\) h?zG{ h? =p h?\(\ h?zG{ h?zG h?QR h?(\) h? h?Q h?QR h?(\) h? h?GzH h?\( h?񙙙 h?p =q h?Q h? =p h?zG h?zG h?=p = h?Q h?ffffff h?\( h?\(\ h?333333 h?Q h? =p h?Gz h?\(\ h?zG{ h? =p h?333333 h? =p h?Gz h?Q h?\( h?ffffff h?=p = h?zG h?Q h? h?\( h?Q h?\( h? h?p =q h?GzH h?Q h@ h@Q h@ =p h@\( h@zG h@ h@Q h@p =q h@\(\ h@GzH h@333333 h@Q h@ =p h@\( h@Gz h@ h@Q h@ =p h@\( h@zG{ h@ffffff h@QR h@=p = h@(\) h@zG h@ h@Q h@ =p h@\( h@zG h@ h@Q h@p =q h@\(\ h@GzH h@333333 h@Q h@ =p h@\( h@Gz h@ h@Q h@ =p h@\( h@zG{ h@ffffff h@QR h@=p = h@(\) h@zG h@ h@Q h@ =p h@\( h@zG h@ h@Q h@zG h@ =p h@ h@\( h@Q h@zG{ h@p =q h@ffffff h@\(\ h@QR h@ffffff h@\( h@zG h@ h@ =p h@zG{ h@\( h@Q h@Q h@ h@Gz h@p =q h@\( h@ =p h@Q h@\(\ h@GzH h@333333 h@ =p h@Q h@=p = h@ h@zG h@333333 h@(\) h@=p = h@(\) h@QR h@ffffff h@zG{ h@Q h@zG h@ =p h@ =p h@ \( h@ Gz h@ h@ Q h@ =p h@ \( h@ zG{ h@ ffffff h@ QR h@ =p = h@ (\) h@ zG h@ h@\( h@ Q h@ =p h@ \( h@ zG h@ h@ Q h@ p =q h@ \(\ h@ GzH h@ 333333 h@ Q h@ =p h@\( h@Gz h@ h@ =p h@Q h@ Q h@ p =q h@ \(\ h@ Q h@ GzH h@ 333333 h@ GzH h@ 333333 h@ \(\ h@ Q h@ =p h@ \( h@ p =q h@ Q h@ Gz h@ h@ Q h@ =p h@ \( h@ zG{ h@ ffffff h@ QR h@ =p = h@ (\) h@ zG h@ h@ Q h@ =p h@ \( h@ h@ zG h@ h@ h@ zG h@ \( h@ =p h@Q h@ Q h@ =p h@ h@\( h@zG h@(\) h@zG h@=p = h@QR h@ffffff h@ h@zG{ h@\( h@ =p h@Q h@Q h@ h@p =q h@Gz h@\(\ h@\( h@ =p h@GzH h@Q h@333333 h@GzH h@ h@ =p h@Gz h@Q h@\( h@ h@ =p MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeVGeoIP2-Static-IP-ScoreKdescriptionBen]5GeoIP2 Static IP Score Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoIP2-User-Count-Test.mmdb000066400000000000000000000116261450470006300255550ustar00rootroot00000000000000~H      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ9RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8      !"#$%&'()*+,-./01234567:;<=>?@ABCDEFG`IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~}`      !@"#$%&'()*+,-./0123456789:;<=>? A_BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^&3`abcdefghijklm@n@op@@q@r@s@tu@@vw@@xy@@z@{|@@L`Gipv6_32Gipv6_48Gipv6_64Gipv4_24Gipv4_32  &  &  &  &                          MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeQGeoIP2-User-CountKdescriptionBen]0GeoIP2 User Count Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoLite2-ASN-Test.mmdb000066400000000000000000000305711450470006300245570ustar00rootroot000000000000005>>>>>W > > > > >>>>>>>>>>>>>>>>>>> >!>">#>$>%>&>'>(>)>*>+>,>->.>/>0>1>2>3>4>5>6>7>8>9>:>;><>=>>>?>@>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>QHR>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>a>bcdezf>g>>hixj>k>l>m>n>o>p>q>r>s>t>u>v>w>N>y>>{}>|>>~>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:>>>>]>>>>>>>>>>>:>>A>>d>>>>>>>>>>>>>'>>>>=>=>{4>>>>>>>>>>>>>W>>>>>>>>>]>>>>>>>> >  c c c>c>>>>>>ccc>h>>">>>>> >!>#2$>>%&>>'(>>)>*>+,>->>./>01>3>>5L>6>7>89>>:>;<>>=>F?@>ABCD>E>G>HI>JK>>M`N]O>>PQ>>R>S>TU>V]W]X]>YZ]>[\]>]^_>  7ac>b>d>e>f 7gq 7h 7ij Sk S 7lm Sn S 7o 7p 7 S Srs 7t 7 Su Svw 7x 7y 7 Sz S 7|}~>> >>>>>>>>> ]> ]> ]> ]>> c> c 7>>>>>>>]]>]>]> >>>> 7>> ~>>>>>>>>>>     >> >>>>>>> >>>>>>>>>> >>>>>>>>>>  > > >>>> >>>>>>>>>>>>> %>>>> >>>> =>>> > > > > Z>>>>>>>>-$ >>  >>>>!>">#>>>%)&>'>(>>>*>+,> o>.7/30>1>2> o>4>>5>6 o>8<9>:>>;> o>==>?@wA[BG>CD>E>F>>>H>IJ>>K>LM>>N>OP>Q>>R>S>TUV> W> X Y Z >\>]a^>>_>` >b>>cd>>e>fg>h>>ij>>kl>>m>no>p>>qr>s>t>u>v> >x>yz{>>|>}>~>>>>>>>>>>>> >>>> >>>> >>> >>>> oG>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  >> >>>>>>>>>> < < <> <>>  >85> >>>>>>>>>> B B B B> B!>>"#>$>%>&>'>(.)c*c>+>,-c>cc/0>1>c2c3c4c>>67>=>9<:>;>=>=>>>>?>@A>B>>CDF>E> m m>>>>I>J>K>L>M>N>O>P>Q>R>S>T>U>V>`X>Y>Z>[>\>]>^>_>`>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>{>|>}>~>>>>>>>>>>>>>>>>>>>>s>>>>>>>>>>>>>>>>>>>`>>>>>>>>>>>>>>>>>> {>> > >>>>>> > > :>> S S S }>>> >`>>>@>>>>> '=  =    "  0 l  ! #/$%&'()*+,-. 0812345679:;<=>? A>B>C>D>E>FGHiIJK[LMTNOPQRSUVWXYZ \d]^_`abcefgh"jklmnopqrC 7tuv>w>x>y>z>{|}~Zg>>>>>> >>>>>>>>>>> >>>>>>>>>>>>>>> >>:>>X>>>>>>>>l>>>> :>>>>>>>>>>>>>>>>>>>>>>>>>> ~>>>>>>>0>>>N>>>N>>>>v>>>> > > >N> >>>>>>>>>>>>N>>>>>>> !"#'$%&()*+,-.2/0134>6>7>8>9>:>;<>>=>>Xautonomous_system_number;A]autonomous_system_organizationKGoogle Inc.  OTelstra Pty Ltd j j MAT&T Services G WHewlett-Packard Company  ]Massachusetts Institute of Technology Œ YAkamai Technologies, Inc.  ZCNCGROUP China169 Backbone 1 ] Orange Personal Communications Services  SDeutsche Telekom AG  RMerit Network Inc. $ ]China TieTong Telecommunications Corporation  UCogent Communications ² ]Pakistan Telecom Company Limited \ ZPT. Telekomunikasi Selular  ]University of California at San Diego & HChinanet  ]Comcast Cable Communications, Inc. z YDaimler Autonomous System  ]DoD Network Information Center  W DSITA  MKorea Telecom E QSoftbank BB Corp.  ,   ]Qwest Communications Company, LLC  ]MCI Communications Services, Inc. d/b/a Verizon Business [ ŒD  X WCox Communications Inc.  ] Cellco Partnership DBA Verizon Wireless j SAT&T Services, Inc.  # H  RBellSouth.net Inc. < ] Societe Francaise du Radiotelephone S.A q JASDASD srl 0" HFree SAS  ( YBTnet UK Regional network 1 GIP-Only  WFrance Telecom - Orange „ OSurfplanet GmbH " TBouygues Telecom ISP sN LBredband2 AB &P ] Guangdong Mobile Communication Co.Ltd. ŒG O XSURFnet, The Netherlands  KCELLCO-PART  XAOL Transit Data Network 2, PBouygues Telecom i ]NTT Communications Corporation +  ]SunGard Availability Services USA  EJPNIC J YSunrise Communications AG # JZiggo B.V.  ]TeliaSonera International Carrier & ]Taiwan Fixed Network, Telco and Network Service Provider.  SDigital United Inc. G PTelenor Norge AS  ]Cable and Wireless Worldwide plc  ]Now maintained by Cable & Wireless Worldwide D \HiNet IPv6 Service Network., & ]New Century InfoComm Tech Co., Ltd. E- ]Eastern Broadband Telecom Co.,Ltd  ]Nippon Telegraph and Telephone Corporation PF Labs _ VINTERNET MULTIFEED CO. ` (&  UKDDI KDDI CORPORATION  ]So-net Entertainment Corporation z YAkamai International B.V. J YSuddenlink Communications  XHurricane Electric, Inc.  ONOVARTIS-DMZ-US (N DS.A.  SUninet S.A. de C.V.  MVodafone GmbH  ETELE2  ]British Telecommunications plc  TPolkomtel Sp. z o.o. 3 ]Telefonica Germany GmbH & Co.OHG  [Telekomunikacja Polska S.A.  UTelecom Italia S.p.a.  KOrange S.A.  ZSwisscom (Switzerland) Ltd  LTelenet N.V. 1 QJazz Telecom S.A.  ( zf ]Kabel Deutschland Vertrieb und Service GmbH # LEWE TEL GmbH   TTELEFONICA DE ESPANA 8 UBelgacom regional ASN  ]Liberty Global Operations B.V. p VKPN Internet Solutions "! TKoninklijke KPN N.V. S PCableuropa - ONO a JLINKdotNET  BIS ( JMWEB-10474MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeLGeoLite2-ASNKdescriptionBen]+GeoLite2 ASN Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_count>Krecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoLite2-City-Test.mmdb000066400000000000000000000521271450470006300250470ustar00rootroot00000000000000      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde~fghijklmnopqrstuvwxyz{|} < 5 ] <   VbC-&      !"#$%'()*+,./0126345789:;<=>?@ABDEFRGHIJKLMNOPQXSTUVWXYZ[\]^_`acqdefghijklmnopOrstuvwxyz{|}~`~s^`"SS-     S !#B$3%,&)'(S*+--0./S124;58679:<?=>S@ASCODKEHFGIJLMNSPWQTRSQUVX[YZ\]_`abcdefghijklmnopqrtuvwxyz{|}`2&m>2r; mr       !o #!"$%'f(G)8*1+.,-"0/0>2534>6729@:=;<m>?"mADBC#"EF#"HWIPJMKLNOQTRS#UV>X_Y\Z[]^"0`cab>de>ghwipjmkl>no#"qtrs>uvxy|z{$}~m>>>%O#".%&%#'^;2 m>%(S2  >  >(> '!$"#)%&(+)*#",-/k0L1=29364578>:;<>>E?B@A+ICD"0FIGHJKmM\NUORPQSTVYWXZ[]d^a_`>bcehfg>ijlm|nuorpqst>vywx z{,}~2#"'^>%m>>#">2 (>2,2  >   > .+%#%% >!">$+%(&'%O)*,/-.m013r4S5D6=7:89>;<%>A?@BCELFIGHJKMPNOQRTcU\VYWX'^Z[#"]`^_abdkehfgijlomnpqstu|vywxmz{.}~2.#%/0UDcityJgeoname_id(EEnamesBenGBoxfordIcontinentDcodeBEU _r, BdeFEuropaBenFEuropeBes GBfr QBjaOヨーロッパEpt-BR GBruLЕвропаEzh-CNF欧洲Gcountry (5Hiso_codeBGB BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス u Bru\Великобритания F英国HlocationOaccuracy_radiusdHlatitudeh@IIlongitudehItime_zoneMEurope/LondonFpostal 3COX1Rregistered_country . Tis_in_european_union BFR BdeJFrankreichBenFFranceBesGFranciaBfr!BjaUフランス共和国 uGFrançaBruNФранция F法国Lsubdivisions _ CENG BenGEnglandBesJInglaterraBfrJAngleterre u"s 2a CWBK BenNWest BerkshireBru]Западный Беркшир L西伯克郡 ( 3BAS _r+ BdeEAsienBenDAsiaBes#BfrDAsieBjaIアジア uEÁsiaBruHАзия F亚洲  BBT BdeFBhutanBen#SBesFButánBfr#SBjaRブータン王国 uFButãoBruJБутан F不丹!@!J!\h@;!nh@V!LAsia/Thimphu!  /U!! BRO BdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア uHRomêniaBruNРумыния L罗马尼亚FtraitsRis_anonymous_proxy!  (W BdeFLondonBen$BesGLondresBfr$BjaLロンドン u$BruLЛондон ( 2 !@!Jd!\h@IN;6!nhfA!!! _e BUS BdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 u%BruFСША F美国"F"U $u ( 2 !@!J!\$!n$!!!$"F%g $u ( 2 !@!J !\$!n$!!!$"F%g  )j BdeJLinköpingBen%Bfr%BjaXリンシェーピング I林雪平 ( 2 (!! BSE BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 uGSuéciaBruLШвеция F瑞典!@!JL!\h@M5Vl!!nh@/;6!PEurope/Stockholm! ,T!! BDE BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 uHAlemanhaBruPГермания F德国"F ( AE BenUÖstergötland CountyBfrWComté d'Östergötland   BdeKChángchūnBenIChangchunBfr'BjaI長春市BruNЧанчунь F长春 ("  BCN BdeEChinaBen'Bes'BfrEChineBjaF中国 u'BruJКитай (!@!Jd!\h@E =q!nh@_TTɆ!KAsia/Harbin!'"F  B22 BenKJilin Sheng F吉林 (" 8 BPH BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr(BjaXフィリピン共和国 u(BruRФилиппины I菲律宾!@!Jy!\h@*!nh@^!KAsia/Manila! 3E34021!(Srepresented_country _e BUS $DtypeHmilitary  RE BdeISan DiegoBen(Bes(Bfr(BjaRサンディエゴ u(BruQСан-Диего ( 3BNA _r- BdeKNordamerikaBenMNorth AmericaBesMNorteaméricaBfrQAmérique du NordBjaO北アメリカ uQAmérica do NorteBru]Северная Америка I北美洲 _e BUS BdeRVereinigte StaatenBen%Bes%BfrKÉtats UnisBjaLアメリカ uCEUABru%U %^!@!J !\h@@V҈p;!nh]HC,zxJmetro_code9!SAmerica/Los_Angeles! 3E92136!("F Q_ BCA BdeKKalifornienBenJCaliforniaBes(dBfrJCalifornieBjaXカリフォルニア州 uKCalifórniaBruTКалифорния F加州  X$ BenFMiltonBruNМильтон ( 3BNA _r- Bde(Ben(BesRAmérica del NorteBfr(&Bja(; u(MBru(b ( $!@!J!\h@G*0!nh^'RT`( 3!(! 3E98354! "F X_ BWA BenJWashingtonBes(BfrSÉtat de WashingtonBjaRワシントン州BruRВашингтон L华盛顿州 (" e BJP BdeEJapanBen(BesFJapónBfrEJaponBjaF日本 uFJapãoBruLЯпония (5!@!Jd!\h@A׹`H!nh@axP3:!JAsia/Tokyo!( (" A BKR BdeNRepublik KoreaBenKSouth KoreaBesTCorea, República deBfrMCorée du SudBjaL大韓民国 uVCoréia, República daBruUЮжная Корея F韩国!@!Jd!\h@B!nh@_!JAsia/Seoul!( (" t BTW BdeFTaiwanBen(|BesGTaiwánBfrGTaïwanBjaF台湾 u(|BruNТайвань (!@!Jd!\h@8!nh@^@!KAsia/Taipei!(j ("  BCN Bde'BenZPeople's Republic of ChinaBesXRepública Popular ChinaBfr( Bja( u'Bru($ (!@!Jd!\h@A!nh@Z@!( (" R BHK BdeHHongkongBenIHong KongBes(Bfr(BjaF香港 u(BruNГонконг (!@!Jd!\h@6@!nh@\[!NAsia/Hong_Kong!( ( (( (!@!J2!\h@@\2W!nh]I( 9!(! 3E92101!("F(A ( 2 / BNO BdeHNorwegenBenFNorwayBesGNoruegaBfrHNorvègeBjaUノルウェー王国 u(BruPНорвегия F挪威!@!Jd!\h@O!nh@$!KEurope/Oslo!(o (" ~ BIL BdeFIsraelBen( /Bes( /BfrGIsraëlBjaRイスラエル国 u( /BruNИзраиль I以色列!@!Jd!\h@?!nh@A`!NAsia/Jerusalem!(  ( 2 !!@!Jd!\h@G!nh@!LEurope/Paris!! ( 2 ( BCH BdeGSchweizBenKSwitzerlandBesESuizaBfrFSuisseBjaOスイス連邦 uGSuíçaBruRШвейцария F瑞士!@!Jd!\h@G>-b9!nh@ Ne!MEurope/Zurich!( ( 2 &!@!Jd!\h@O!nh@.!&!& (" m BBH BdeGBahrainBen( BesHBahréinBfrHBahreïnBjaOバーレーン u( BruNБахрейн F巴林!@!Jd!\h@:!nh@I@!LAsia/Bahrain!( ( 2 Z BRU BdeHRusslandBenFRussiaBesERusiaBfrFRussieBjaIロシア uGRússiaBruLРоссия I俄罗斯!@!Jd!\h@N!nh@Y!( { ( 2  /P!! BPL BdeEPolenBenFPolandBesGPoloniaBfrGPologneBjaXポーランド共和国 uHPolôniaBruLПольша F波兰!@!Jd!\h@J!nh@4!MEurope/Warsaw!(  ( 2 &!@!Jd!\h@I!nh@%!MEurope/Berlin!& ( 2 0s!! BIT BdeGItalienBenEItalyBesFItaliaBfrFItalieBjaUイタリア共和国 uGItáliaBruLИталия I意大利!@!Jd!\h@EjcI!nh@):э&!KEurope/Rome!( ( 2  -!! BFI BdeHFinnlandBenGFinlandBesIFinlandiaBfrHFinlandeBja[フィンランド共和国 uJFinlândiaBruRФинляндия F芬兰!@!Jd!\h@P!nh@:!OEurope/Helsinki!( ( 2  @ BBY BdeMWeißrusslandBenGBelarusBesKBielorrusiaBfrLBiélorussieBjaXベラルーシ共和国 uMBielo-RússiaBruPБеларусь L白俄罗斯!@!Jd!\h@J!nh@<!LEurope/Minsk!(x ( 2 .!! BCZ BdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 u(Bru]Чешская Республика O捷克共和国!@!Jd!\h@H!nh@.!MEurope/Prague!(I ("  BIR BdeZIran (Islamische Republik)BenDIranBes\Irán (República Islámica)Bfr]Iran (République islamique de)Bja]イラン・イスラム共和国 u\República Islâmica do IrãBruHИран X伊朗伊斯兰共和国!@!Jd!\h@@!nh@J!KAsia/Tehran!(6 ( 2  g BUA BdeGUkraineBen(dBesGUcraniaBfr(dBjaXウクライナ共和国 uHUcrâniaBruNУкраина I乌克兰!@!Jd!\h@H!nh@@!(R ( 2 !@!Jd!\h@Ka7!nhtr!!! ( 2  !! BHU BdeFUngarnBenGHungaryBesHHungríaBfrGHongrieBjaXハンガリー共和国 uGHungriaBruNВенгрия I匈牙利!@!Jd!\h@G!nh@4!OEurope/Budapest!( ( 2!@!Jd!\h@HXq`l !nh@"GX:S!LEurope/Vaduz ( 2 &O!! BES BdeGSpanienBenESpainBesGEspañaBfrGEspagneBjaLスペイン uGEspanhaBruNИспания I西班牙!@!Jd!\h@D!nh!( ( 2  .!! BBG BdeIBulgarienBenHBulgariaBes(BfrHBulgarieBjaXブルガリア共和国 uIBulgáriaBruPБолгария L保加利亚!@!Jd!\h@E!nh@9!LEurope/Sofia!( ( 2 #!@!Jd!\h@G!nh@9!PEurope/Bucharest!# ( 2 *¹!! BBE BdeGBelgienBenGBelgiumBesHBélgicaBfrHBelgiqueBjaRベルギー王国 u(BruNБельгия I比利时!@!Jd!\h@IjcI!nh@!OEurope/Brussels!( (" + BTR BdeGTürkeiBenFTurkeyBesHTurquíaBfrGTurquieBjaRトルコ共和国 uGTurquiaBruLТурция I土耳其!@!Jd!\h@C!nh@AtU!OEurope/Istanbul!(_ ( 2 *s!! BAT BdeKÖsterreichBenGAustriaBes(6BfrHAutricheBja[オーストリア共和国 uHÁustriaBruNАвстрия I奥地利!@!Jd!\h@GcI!nh@*:э&!MEurope/Vienna!( ( 2  BAL BdeHAlbanienBenGAlbaniaBes(BfrGAlbanieBjaXアルバニア共和国 uHAlbâniaBruNАлбания O阿尔巴尼亚!@!Jd!\h@D!nh@4!MEurope/Tirane!( (" & BLB BdeGLibanonBenGLebanonBesGLíbanoBfrELibanBjaUレバノン共和国 u(BruJЛиван I黎巴嫩!@!Jd!\h@@ꪎcI!nh@AꪎcI!KAsia/Beirut!( ( 2 )!! BNL BdeKNiederlandeBenKNetherlandsBesGHolandaBfrHPays-BasBjaRオランダ王国 uNPaíses BaixosBruTНидерланды F荷兰!@!Jd!\h@J@!nh@!PEurope/Amsterdam!(4 (" [ BKW BdeFKuwaitBen(Bes(BfrGKoweïtBjaOクウェート u(BruLКувейт I科威特!@!Jd!\h@=!nh@G!KAsia/Kuwait!( ("  BSA BdeMSaudi-ArabienBenLSaudi ArabiaBesNArabia SauditaBfrOArabie saouditeBja[サウジアラビア王国 uOArábia SauditaBru]Саудовская Аравия O沙特阿拉伯!@!Jd!\h@9!nh@F!KAsia/Riyadh!( ( 2 _L BRS BdeGSerbienBenFSerbiaBes(BfrFSerbieBjaLセルビア uGSérviaBruLСербия L塞尔维亚!@!Jd!\h@Fh^)!nh@4u?h!OEurope/Belgrade!( ("  BJO BdeIJordanienBen[Hashemite Kingdom of JordanBesHJordaniaBfrHJordanieBja]ヨルダン・ハシミテ王国 uIJordâniaBruPИордания F约旦!@!Jd!\h@?!nh@B!JAsia/Amman!(8 ( 3BAF _r* BdeFAfrikaBenFAfricaBesGÁfricaBfrGAfriqueBjaLアフリカ u(2BruLАфрика F非洲 ! BLY Bde]Libysch-Arabische DschamahirijaBenELibyaBesXLibia, República ÁrabeBfrELibyeBja] 社会主義人民リビア・アラブ国 uXLíbia Árabe JamahiriyaBruJЛивия [阿拉伯利比亚民众国!@!Jd!\h@<!nh@1!NAfrica/Tripoli!(u ( 2 -8!! BIE BdeFIrlandBenGIrelandBesURepública de IrlandaBfrGIrlandeBjaRアイルランド uGIrlandaBruPИрландия I爱尔兰!@!Jd!\h@J!nh !MEurope/Dublin!( (" l BAZ BdeMAserbaidschanBenJAzerbaijanBesKAzerbaiyánBfrLAzerbaïdjanBja]アゼルバイジャン共和国 uKAzerbaijãoBruVАзербайджан L阿塞拜疆!@!Jd!\h@D@!nh@G!IAsia/Baku!(K (" n BAE Bde\Vereinigte Arabische EmirateBenTUnited Arab EmiratesBesWEmiratos Árabes UnidosBfrTÉmirats Arabes UnisBjaXアラブ首長国連邦 uWEmirados Árabes UnidosBru]Объединенные Арабские Эмираты X阿拉伯联合酋长国!@!Jd!\h@8!nh@K!JAsia/Dubai!(* ("  BAM BdeHArmenienBenGArmeniaBes( BfrHArménieBjaXアルメニア共和国 uHArmêniaBruNАрмения L亚美尼亚!@!Jd!\h@D!nh@F!LAsia/Yerevan!( h ( 2 (8!! BDK BdeIDänemarkBenGDenmarkBesIDinamarcaBfrHDanemarkBjaUデンマーク王国 u(!NBruJДания F丹麦!@!Jd!\h@L!nh@$!QEurope/Copenhagen!(! ( 2 .k BIM BdeIInsel ManBenKIsle of ManBesKIsla de ManBfrKÎle de ManBjaIマン島 uKIlha de ManBruMМэн, о-в F曼岛!@!Jd!\h@K !nh!REurope/Isle_of_Man!(! ( 2 $B BGI BdeIGibraltarBen("Bes("Bfr("BjaRジブラルタル u("BruRГибралтар!@!Jd!\h@Bɰ!nhffffff!PEurope/Gibraltar!("MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeMGeoLite2-CityKdescriptionBen],GeoLite2 City Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/GeoLite2-Country-Test.mmdb000066400000000000000000000436761450470006300256130ustar00rootroot00000000000000      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde~fghijklmnopqrstuvwxyz{|} I I I I V V e     uV@9+ !"#$*%&'(),-./012345678:;<=>?ABCDEIFGHJKLMNOPQRSTUWXYeZ[\]^_`abcd fghijklmnopqrstvwxyz{|}~  P ]`     `J+  $!"#&%(&'&)*,;-1./0 2835 e4 e67 e e9: <C=@>? AB DGEF&HI KjL[MTNQOP&RSUXVW&YZ \c]`^_ ab dgef&hi&kwlsmpno qr tuv&xy|z{=}~    `&N,9'BA2A+     ,B$! P"#%(&')*U,?-4.1/0235<6978:;=>@GADBCEFHKIJALMOPoQ`RYSVTUkWXZ][\^_ahbecd,fgxiljkmnpqxrustvwy|z{}~k2,&AAV'+     3$,! "#%,&)'(*+-0./124G5@6=7:89;<>?ADBCnEFHOILJKMNPSQRTU'WXtYeZa[^\]_`bcdfmgjhidklknqop&rs,uv}wzxy{|~''P+2,Z92n2A     ';(!  "%#$&'U)4*-+,.1/0235867!9:<K=D>A?@BCEHFGIJLSMPNOQR'TWUV,XY'[\{]l^e_b`acdfighjk'mtnqopArsuxvwyz|}~+'',"R"R" ]IcontinentDcodeBEUJgeoname_id_r,EnamesBdeFEuropaBenFEuropeBes -Bfr 7BjaOヨーロッパEpt-BR -BruLЕвропаEzh-CNF欧洲Gcountry (5Hiso_codeBGB #BdeWVereinigtes KönigreichBenNUnited KingdomBesKReino UnidoBfrKRoyaume-UniBjaLイギリス [ Bru\Великобритания sF英国Rregistered_country . Tis_in_european_union BFR #BdeJFrankreichBenFFranceBesGFranciaBfr!pBjaUフランス共和国 [GFrançaBruNФранция sF法国  BNA _r- #BdeKNordamerikaBenMNorth AmericaBesRAmérica del NorteBfrQAmérique du NordBjaO北アメリカ [QAmérica do NorteBru]Северная Америка sI北美洲 _e BUS #BdeCUSABenMUnited StatesBesNEstados UnidosBfrKÉtats-UnisBjaUアメリカ合衆国 ["BruFСША sF美国!&"{  BAS _r+ #BdeEAsienBenDAsiaBes#BfrDAsieBjaIアジア [EÁsiaBruHАзия sF亚洲  BBT #BdeFBhutanBen#eBesFButánBfr#eBjaRブータン王国 [FButãoBruJБутан sF不丹!&  /U!@!U BRO #BdeIRumänienBenGRomaniaBesHRumaníaBfrHRoumanieBjaOルーマニア [HRomêniaBruNРумыния sL罗马尼亚FtraitsRis_anonymous_proxy!U  !&"{  (!@!U BSE #BdeHSchwedenBenFSwedenBesFSueciaBfrFSuèdeBjaXスウェーデン王国 [GSuéciaBruLШвеция sF瑞典!& ,T!@!U BDE #BdeKDeutschlandBenGGermanyBesHAlemaniaBfrIAllemagneBjaXドイツ連邦共和国 [HAlemanhaBruPГермания sF德国 "  BCN #BdeEChinaBenZPeople's Republic of ChinaBesXRepública Popular ChinaBfrEChineBjaF中国 [%BruJКитай s%!&%z " 8 BPH #BdeKPhilippinenBenKPhilippinesBesIFilipinasBfr&!BjaXフィリピン共和国 [&0BruRФилиппины sI菲律宾!&&Srepresented_country _e BUS #"DtypeHmilitary  BNA _r- #Bde!Ben!BesMNorteaméricaBfr"Bja"% ["7Bru"L s"o _e BUS #BdeRVereinigte StaatenBen"Bes"BfrKÉtats UnisBjaLアメリカ [CEUABru" s"!&& ! "{!&  $B BGI #BdeIGibraltarBen'Bes'Bfr'BjaRジブラルタル ['BruRГибралтар!&'r " e BJP #BdeEJapanBen'BesFJapónBfrEJaponBjaF日本 [FJapãoBruLЯпония s( !&' " A BKR #BdeNRepublik KoreaBenKSouth KoreaBesTCorea, República deBfrMCorée du SudBjaL大韓民国 [VCoréia, República daBruUЮжная Корея sF韩国!&(; " t BTW #BdeFTaiwanBen(BesGTaiwánBfrGTaïwanBjaF台湾 [(BruNТайвань s(#!&( " R BHK #BdeHHongkongBenIHong KongBes(pBfr(pBjaF香港 [(pBruNГонконг s(!&(R  / BNO #BdeHNorwegenBenFNorwayBesGNoruegaBfrHNorvègeBjaUノルウェー王国 [(BruPНорвегия sF挪威!&( " ~ BIL #BdeFIsraelBen(MBes(MBfrGIsraëlBjaRイスラエル国 [(MBruNИзраиль sI以色列!&(;  !9!&!9  ( BCH #BdeGSchweizBenKSwitzerlandBesESuizaBfrFSuisseBjaOスイス連邦 [GSuíçaBruRШвейцария sF瑞士!&(  $k!&$k " m BBH #BdeGBahrainBen(`BesHBahréinBfrHBahreïnBjaOバーレーン [(`BruNБахрейн sF巴林!&(N  Z BRU #BdeHRusslandBenFRussiaBesERusiaBfrFRussieBjaIロシア [GRússiaBruLРоссия sI俄罗斯!&(   /P!@!U BPL #BdeEPolenBenFPolandBesGPoloniaBfrGPologneBjaXポーランド共和国 [HPolôniaBruLПольша sF波兰!&(<  $!&$  0s!@!U BIT #BdeGItalienBenEItalyBesFItaliaBfrFItalieBjaUイタリア共和国 [GItáliaBruLИталия sI意大利!&(   -!@!U BFI #BdeHFinnlandBenGFinlandBesIFinlandiaBfrHFinlandeBja[フィンランド共和国 [JFinlândiaBruRФинляндия sF芬兰!&(W   @ BBY #BdeMWeißrusslandBenGBelarusBesKBielorrusiaBfrLBiélorussieBjaXベラルーシ共和国 [MBielo-RússiaBruPБеларусь sL白俄罗斯!&(  .!@!U BCZ #BdeUTschechische RepublikBenNCzech RepublicBesPRepública ChecaBfrITchéquieBjaRチェコ共和国 [(Bru]Чешская Республика sO捷克共和国!&( "  BIR #BdeZIran (Islamische Republik)BenDIranBes\Irán (República Islámica)Bfr]Iran (République islamique de)Bja]イラン・イスラム共和国 [\República Islâmica do IrãBruHИран sX伊朗伊斯兰共和国!&(V   g BUA #BdeGUkraineBen(YBesGUcraniaBfr(YBjaXウクライナ共和国 [HUcrâniaBruNУкраина sI乌克兰!&(G  !&   !@!U BHU #BdeFUngarnBenGHungaryBesHHungríaBfrGHongrieBjaXハンガリー共和国 [GHungriaBruNВенгрия sI匈牙利!&(   &O!@!U BES #BdeGSpanienBenESpainBesGEspañaBfrGEspagneBjaLスペイン [GEspanhaBruNИспания sI西班牙!&( j   .!@!U BBG #BdeIBulgarienBenHBulgariaBes( BfrHBulgarieBjaXブルガリア共和国 [IBulgáriaBruPБолгария sL保加利亚!&(  #!&#  *¹!@!U BBE #BdeGBelgienBenGBelgiumBesHBélgicaBfrHBelgiqueBjaRベルギー王国 [( BruNБельгия sI比利时!&( " + BTR #BdeGTürkeiBenFTurkeyBesHTurquíaBfrGTurquieBjaRトルコ共和国 [GTurquiaBruLТурция sI土耳其!&(   *s!@!U BAT #BdeKÖsterreichBenGAustriaBes( BfrHAutricheBja[オーストリア共和国 [HÁustriaBruNАвстрия sI奥地利!&(   BAL #BdeHAlbanienBenGAlbaniaBes( GBfrGAlbanieBjaXアルバニア共和国 [HAlbâniaBruNАлбания sO阿尔巴尼亚!&( ) " & BLB #BdeGLibanonBenGLebanonBesGLíbanoBfrELibanBjaUレバノン共和国 [( BruJЛиван sI黎巴嫩!&(  )!@!U BNL #BdeKNiederlandeBenKNetherlandsBesGHolandaBfrHPays-BasBjaRオランダ王国 [NPaíses BaixosBruTНидерланды sF荷兰!&( 4 " [ BKW #BdeFKuwaitBen( Bes( BfrGKoweïtBjaOクウェート [( BruLКувейт sI科威特!&( "  BSA #BdeMSaudi-ArabienBenLSaudi ArabiaBesNArabia SauditaBfrOArabie saouditeBja[サウジアラビア王国 [OArábia SauditaBru]Саудовская Аравия sO沙特阿拉伯!&(@  _L BRS #BdeGSerbienBenFSerbiaBes('BfrFSerbieBjaLセルビア [GSérviaBruLСербия sL塞尔维亚!&( "  BJO #BdeIJordanienBen[Hashemite Kingdom of JordanBesHJordaniaBfrHJordanieBja]ヨルダン・ハシミテ王国 [IJordâniaBruPИордания sF约旦!&(  BAF _r* #BdeFAfrikaBenFAfricaBesGÁfricaBfrGAfriqueBjaLアフリカ [(SBruLАфрика sF非洲 ! BLY #Bde]Libysch-Arabische DschamahirijaBenELibyaBesXLibia, República ÁrabeBfrELibyeBja] 社会主義人民リビア・アラブ国 [XLíbia Árabe JamahiriyaBruJЛивия s[阿拉伯利比亚民众国!&(  -8!@!U BIE #BdeFIrlandBenGIrelandBesURepública de IrlandaBfrGIrlandeBjaRアイルランド [GIrlandaBruPИрландия sI爱尔兰!&(y " l BAZ #BdeMAserbaidschanBenJAzerbaijanBesKAzerbaiyánBfrLAzerbaïdjanBja]アゼルバイジャン共和国 [KAzerbaijãoBruVАзербайджан sL阿塞拜疆!&( " n BAE #Bde\Vereinigte Arabische EmirateBenTUnited Arab EmiratesBesWEmiratos Árabes UnidosBfrTÉmirats Arabes UnisBjaXアラブ首長国連邦 [WEmirados Árabes UnidosBru]Объединенные Арабские Эмираты sX阿拉伯联合酋长国!&( "  BAM #BdeHArmenienBenGArmeniaBes(BfrHArménieBjaXアルメニア共和国 [HArmêniaBruNАрмения sL亚美尼亚!&(  (8!@!U BDK #BdeIDänemarkBenGDenmarkBesIDinamarcaBfrHDanemarkBjaUデンマーク王国 [(BruJДания sF丹麦!&(g  .k BIM #BdeIInsel ManBenKIsle of ManBesKIsla de ManBfrKÎle de ManBjaIマン島 [KIlha de ManBruMМэн, о-в sF曼岛!&(MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typePGeoLite2-CountryKdescriptionBen]/GeoLite2 Country Test Database (fake GeoIP2 data, for example purposes only)Jip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb000066400000000000000000000011521450470006300271140ustar00rootroot00000000000000@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@P@F::0/64MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_type]MaxMind DB No IPv4 Search TreeKdescriptionBen \Jip_versionIlanguagesBenJnode_count@Krecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-string-value-entries.mmdb000066400000000000000000000024751450470006300275200ustar00rootroot000000000000004(%  !"#$&')*0+,-./1235I6789C:;<=>?@ABDEFGHJKLMzNOPsQeRSTUVWXYZ[\]^d_`abcfghijklmnopqrtuvwxy{|}~K1.1.1.16/28J1.1.1.8/29J1.1.1.4/30J1.1.1.2/31J1.1.1.1/32K1.1.1.32/32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_type]MaxMind DB String Value EntriesKdescriptionBen] MaxMind DB String Value Entries (no maps or arrays as values)Jip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-broken-pointers-24.mmdb000066400000000000000000000024111450470006300277400ustar00rootroot000000000000004(%  !"#$&')*0+,-./1235I6789C:;<=>?@ABDEFGHJKLMzNOPsQeRSTUVWXYZ[\]^d_`abcfghijklmnopqrtuvwxy{|}~0:@BipG1.1.1.8BipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-broken-search-tree-24.mmdb000066400000000000000000000024221450470006300303010ustar00rootroot00000000000000(%  !"#$&')*0+,-./1235I6789C:;<=>?@ABDEFGHJKLMzNOPsQeRSTUVWXYZ[\]^d_`abcfghijklmnopqrtuvwxy{|}~BipH1.1.1.16BipG1.1.1.8BipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-decoder.mmdb000066400000000000000000000061671450470006300260150ustar00rootroot00000000000000kM      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~----`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL-NOPQRSTUVWXYjZ[\]^_`abcdefghi``lmnopqrstuvwxyz{|}~-EarrayGbooleanEbytesFdoublehEfloatEint32CmapGuint128Fuint16Fuint32Fuint64Kutf8_string@   * h@Eg?[ *? 6CmapDmapXFarrayX Lutf8_stringXEhello C Md U ] fRunicode! ☯ - ♫ h * 6 C M U ]MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeWMaxMind DB Decoder TestKdescriptionBen])MaxMind DB Decoder Test database - contains every MaxMind DB data typeJip_versionIlanguagesBenJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-ipv4-24.mmdb000066400000000000000000000024221450470006300255030ustar00rootroot000000000000004(%  !"#$&')*0+,-./1235I6789C:;<=>?@ABDEFGHJKLMzNOPsQeRSTUVWXYZ[\]^d_`abcfghijklmnopqrtuvwxy{|}~BipH1.1.1.16BipG1.1.1.8BipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-ipv4-28.mmdb000066400000000000000000000026661450470006300255210ustar00rootroot000000000000004(%  !"#$&')*0+,-./1235I6789C:;<=>?@ABDEFGHJKLMzNOPsQeRSTUVWXYZ[\]^d_`abcfghijklmnopqrtuvwxy{|}~BipH1.1.1.16BipG1.1.1.8BipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-ipv4-32.mmdb000066400000000000000000000031321450470006300255010ustar00rootroot000000000000004(%  !"#$&')*0+,-./1235I6789C:;<=>?@ABDEFGHJKLMzNOPsQeRSTUVWXYZ[\]^d_`abcfghijklmnopqrtuvwxy{|}~BipH1.1.1.16BipG1.1.1.8BipG1.1.1.4BipG1.1.1.2BipG1.1.1.1BipH1.1.1.32MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_size python-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-ipv6-24.mmdb000066400000000000000000000053661450470006300255170ustar00rootroot00000000000000n6      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ'RSTUVWXYZ[\]^_`awbkcdehfgijlmsnopqrtuvxyz{|}~      !"#$%&()*+,-./012345`789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmopqrstuvwxyz{|}~``BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-ipv6-28.mmdb000066400000000000000000000062261450470006300255170ustar00rootroot00000000000000n6      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ'RSTUVWXYZ[\]^_`awbkcdehfgijlmsnopqrtuvxyz{|}~      !"#$%&()*+,-./012345`789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmopqrstuvwxyz{|}~``BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-ipv6-32.mmdb000066400000000000000000000070661450470006300255150ustar00rootroot00000000000000n6      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ'RSTUVWXYZ[\]^_`awbkcdehfgijlmsnopqrtuvxyz{|}~      !"#$%&()*+,-./012345`789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmopqrstuvwxyz{|}~``BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_size python-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-metadata-pointers.mmdb000066400000000000000000000043221450470006300300200ustar00rootroot00000000000000G````` ` ` ` ` ``````````````````` `!`"`#`$`%`&`'`(`)`*`+`,`-`.`/`0`1`2`3`4`5`6`7`8`9`:`;`<`=`>`?`@`A`B`C`D`E`F`G`H`I`J`K`L`M`N`O`P`Q`R`S`T`U`V`W`X`Y`Z`[`\`]`^`_```awbkc`d`ehf`g`P`i``jP``lmsn``op`q`r``P`t`u`v`Px`yz``{|}``~```````P```````P````````````````````P`P```````````````P``````P`````````P````````````P````````````````````PPP````````````````````````````````` ` ` ` ` ``````````````````P` `!`"`#`$`%`&`'`(`)`*`+``,-`.`/`0`1<2`3`4P5P6P7P8P9P:P;PPP`=>``?`@A``B`C`DE`F`P``H`I`J`K`LPMNP`OP`MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_type\Lots of pointers in metadataKdescriptionBen \Bes \Bzh \Jip_versionIlanguagesBenBesBzhJnode_countPKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-mixed-24.mmdb000066400000000000000000000057721450470006300257420ustar00rootroot00000000000000S      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQDRSTUVWXYZ[\]^_$`abcdefghijklmnopqrstuvwxyz{|}~      !"##%&'()*+,-./0123456789:;<=>5?@AANBC[EFGHIJKLMNOPQR`TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~``BipJ::1.1.1.16BipI::1.1.1.8BipI::1.1.1.4BipI::1.1.1.2BipI::1.1.1.1BipJ::1.1.1.32BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-mixed-28.mmdb000066400000000000000000000066671450470006300257520ustar00rootroot00000000000000S      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQDRSTUVWXYZ[\]^_$`abcdefghijklmnopqrstuvwxyz{|}~      !"##%&'()*+,-./0123456789:;<=>5?@AANBC[EFGHIJKLMNOPQR`TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~``BipJ::1.1.1.16BipI::1.1.1.8BipI::1.1.1.4BipI::1.1.1.2BipI::1.1.1.1BipJ::1.1.1.32BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-mixed-32.mmdb000066400000000000000000000075641450470006300257420ustar00rootroot00000000000000S      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQDRSTUVWXYZ[\]^_$`abcdefghijklmnopqrstuvwxyz{|}~      !"##%&'()*+,-./0123456789:;<=>5?@AANBC[EFGHIJKLMNOPQR`TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~``BipJ::1.1.1.16BipI::1.1.1.8BipI::1.1.1.4BipI::1.1.1.2BipI::1.1.1.1BipJ::1.1.1.32BipM::1:ffff:ffffBipG::2:0:0BipH::2:0:40BipH::2:0:50BipH::2:0:58MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeDTestKdescriptionBenMTest DatabaseBzhUTest Database ChineseJip_versionIlanguagesBenBzhJnode_countKrecord_size python-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-nested.mmdb000066400000000000000000000073321450470006300256650ustar00rootroot00000000000000=a===) = = = = =================== =!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=QR=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=abc=d=efgx=hi=j=k=l=m=n=o==pq=r=s=t=u=v=w==MyMz={=|=}=~===M===========================M===============================================================================================================  = = = ====================== =!="=#=$=%=&='=(=`*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`===b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~===============================================================================M===========================`=============`=5================= = = = = =================== =!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=M==6=7=8=9=:;==<==Dmap1Dmap2EarrayDmap3AaAbAcMaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_type]MaxMind DB Nested Data StructuresKdescriptionBen]@MaxMind DB Nested Data Structures Test database - contains deeply nested map/array structuresJip_versionIlanguagesBenJnode_count=Krecord_sizepython-maxminddb-2.5.2/tests/data/test-data/MaxMind-DB-test-pointer-decoder.mmdb000066400000000000000000000033111450470006300274570ustar00rootroot00000000000000  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~```EarrayFarrayX Gboolean HbooleanXEbytes*Fdoubleh@Eg?[Efloat?Eint32CmapDmapX  Lutf8_stringXEhelloEmapXX  w y { * 3 } Guint128Fuint16dFuint32Fuint64Kutf8_stringRunicode! ☯ - ♫   3 5 ; @ G P V \ b h l MaxMind.com[binary_format_major_version[binary_format_minor_versionKbuild_epocheWMdatabase_typeWMaxMind DB Decoder TestKdescriptionBen])MaxMind DB Decoder Test database - contains every MaxMind DB data typeJip_versionIlanguages Jnode_countKrecord_sizepython-maxminddb-2.5.2/tests/data/test-data/README.md000066400000000000000000000027241450470006300222260ustar00rootroot00000000000000The [write-test-data.pl](https://github.com/maxmind/MaxMind-DB/blob/main/test-data/write-test-data.pl) script will create a small set of test databases with a variety of data and record sizes (24, 28, & 32 bit). These test databases are useful for testing code that reads MaxMind DB files. There is also a `maps-with-pointers.raw` file. This contains the raw output of the MaxMind::DB::Writer::Serializer module, when given a series of maps which share some keys and values. It is used to test that decoder code can handle pointers to map keys and values, as well as to the whole map. There are several ways to figure out what IP addresses are actually in the test databases. You can take a look at the [source-data directory](https://github.com/maxmind/MaxMind-DB/tree/main/source-data) in this repository. This directory contains JSON files which are used to generate many (but not all) of the database files. You can also use the [mmdb-dump-database script](https://github.com/maxmind/MaxMind-DB-Reader-perl/blob/main/eg/mmdb-dump-database) in the [MaxMind-DB-Reader-perl repository](https://github.com/maxmind/MaxMind-DB-Reader-perl). Some databases are intentionally broken and cannot be dumped. You can look at the [script which generates these databases](https://github.com/maxmind/MaxMind-DB/blob/main/test-data/write-test-data.pl) to see what IP addresses they include, which will be necessary for those databases which cannot be dumped because they contain intentional errors. python-maxminddb-2.5.2/tests/data/test-data/maps-with-pointers.raw000066400000000000000000000000731450470006300252270ustar00rootroot00000000000000Hlong_keyKlong_value1 Klong_value2Ilong_key2 &  2python-maxminddb-2.5.2/tests/data/test-data/write-test-data.pl000077500000000000000000000503361450470006300243270ustar00rootroot00000000000000#!/usr/bin/env perl use strict; use warnings; use autodie; use utf8; use Cwd qw( abs_path ); use File::Basename qw( dirname ); use File::Slurper qw( read_binary write_binary ); use Cpanel::JSON::XS 4.16 qw( decode_json ); use Math::Int128 qw( MAX_UINT128 string_to_uint128 uint128 ); use MaxMind::DB::Writer::Serializer 0.100004; use MaxMind::DB::Writer::Tree 0.100004; use MaxMind::DB::Writer::Util qw( key_for_data ); use Net::Works::Network (); use Test::MaxMind::DB::Common::Util qw( standard_test_metadata ); my $Dir = dirname( abs_path($0) ); sub main { my @sizes = ( 24, 28, 32 ); my @ipv4_range = ( '1.1.1.1', '1.1.1.32' ); my @ipv4_subnets = Net::Works::Network->range_as_subnets(@ipv4_range); for my $record_size (@sizes) { write_test_db( $record_size, \@ipv4_subnets, { ip_version => 4 }, 'ipv4', ); } write_broken_pointers_test_db( 24, \@ipv4_subnets, { ip_version => 4 }, 'broken-pointers', ); write_broken_search_tree_db( 24, \@ipv4_subnets, { ip_version => 4 }, 'broken-search-tree', ); my @ipv6_subnets = Net::Works::Network->range_as_subnets( '::1:ffff:ffff', '::2:0000:0059' ); for my $record_size (@sizes) { write_test_db( $record_size, \@ipv6_subnets, { ip_version => 6 }, 'ipv6', ); write_test_db( $record_size, [ @ipv6_subnets, Net::Works::Network->range_as_subnets( @ipv4_range, 6 ), ], { ip_version => 6 }, 'mixed', ); } write_decoder_test_db(); write_pointer_decoder_test_db(); write_deeply_nested_structures_db(); write_geoip2_dbs(); write_broken_geoip2_city_db(); write_invalid_node_count(); write_no_ipv4_tree_db(); write_no_map_db( \@ipv4_subnets ); write_test_serialization_data(); write_db_with_metadata_pointers(); } sub write_broken_pointers_test_db { no warnings 'redefine'; my $orig_store_data = MaxMind::DB::Writer::Serializer->can('store_data'); # This breaks the value of the record for the 1.1.1.32 network, causing it # to point outside the database. local *MaxMind::DB::Writer::Serializer::store_data = sub { my $data_pointer = shift->$orig_store_data(@_); my $value = $_[1]; if ( ref($value) eq 'HASH' && exists $value->{ip} && $value->{ip} eq '1.1.1.32' ) { $data_pointer += 100_000; } return $data_pointer; }; # The next hack will poison the data section for the 1.1.16/28 subnet # value. It's value will be a pointer that resolves to an offset outside # the database. my $key_to_poison = key_for_data( { ip => '1.1.1.16' } ); my $orig_position_for_data = MaxMind::DB::Writer::Serializer->can('_position_for_data'); local *MaxMind::DB::Writer::Serializer::_position_for_data = sub { my $key = $_[1]; if ( $key eq $key_to_poison ) { return 1_000_000; } else { return shift->$orig_position_for_data(@_); } }; write_test_db(@_); return; } sub write_broken_search_tree_db { my $filename = ( write_test_db(@_) )[1]; my $content = read_binary($filename); # This causes the right record of the first node to be 0, meaning it # points back to the top of the tree. This should never happen in a # database that follows the spec. substr( $content, 5, 1 ) = "\0"; write_binary( $filename, $content ); return; } sub write_test_db { my $record_size = shift; my $subnets = shift; my $metadata = shift; my $ip_version_name = shift; my $writer = MaxMind::DB::Writer::Tree->new( ip_version => $subnets->[0]->version(), record_size => $record_size, alias_ipv6_to_ipv4 => ( $subnets->[0]->version() == 6 ? 1 : 0 ), map_key_type_callback => sub { 'utf8_string' }, standard_test_metadata(), %{$metadata}, ); for my $subnet ( @{$subnets} ) { $writer->insert_network( $subnet, { ip => $subnet->first()->as_string() } ); } my $filename = sprintf( "$Dir/MaxMind-DB-test-%s-%i.mmdb", $ip_version_name, $record_size, ); open my $fh, '>', $filename; $writer->write_tree($fh); close $fh; return ( $writer, $filename ); } { # We will store this once for each subnet so we will also be testing # pointers, since the serializer will generate a pointer to this # structure. my %all_types = ( utf8_string => 'unicode! ☯ - ♫', double => 42.123456, bytes => pack( 'N', 42 ), uint16 => 100, uint32 => 2**28, int32 => -1 * ( 2**28 ), uint64 => uint128(1) << 60, uint128 => uint128(1) << 120, array => [ 1, 2, 3, ], map => { mapX => { utf8_stringX => 'hello', arrayX => [ 7, 8, 9 ], }, }, boolean => 1, float => 1.1, ); my %all_types_0 = ( utf8_string => q{}, double => 0, bytes => q{}, uint16 => 0, uint32 => 0, int32 => 0, uint64 => uint128(0), uint128 => uint128(0), array => [], map => {}, boolean => 0, float => 0, ); # We limit this to numeric types as the other types would generate # very large databases my %numeric_types_max = ( double => 'Inf', float => 'Inf', int32 => 0x7fffffff, uint16 => 0xffff, uint32 => string_to_uint128('0xffff_ffff'), uint64 => string_to_uint128('0xffff_ffff_ffff_ffff'), uint128 => MAX_UINT128, ); sub write_decoder_test_db { my $writer = _decoder_writer(); my @subnets = map { Net::Works::Network->new_from_string( string => $_ ) } qw( ::1.1.1.0/120 ::2.2.0.0/112 ::3.0.0.0/104 ::4.5.6.7/128 abcd::/64 1000::1234:0000/112 ); for my $subnet (@subnets) { $writer->insert_network( $subnet, \%all_types, ); } $writer->insert_network( Net::Works::Network->new_from_string( string => '::0.0.0.0/128' ), \%all_types_0, ); $writer->insert_network( Net::Works::Network->new_from_string( string => '::255.255.255.255/128' ), \%numeric_types_max, ); open my $fh, '>', "$Dir/MaxMind-DB-test-decoder.mmdb"; $writer->write_tree($fh); close $fh; return; } sub write_pointer_decoder_test_db { # We want to create a database where most values are pointers no warnings 'redefine'; local *MaxMind::DB::Writer::Serializer::_should_cache_value = sub { 1 }; my $writer = _decoder_writer(); # We add these slightly different records so that we end up with # pointers for the individual values in the maps, not just pointers # to the map $writer->insert_network( '1.0.0.0/32', { %all_types, booleanX => 0, arrayX => [ 1, 2, 3, 4, ], mapXX => { utf8_stringX => 'hello', arrayX => [ 7, 8, 9, 10 ], booleanX => 0, }, }, ); $writer->insert_network( '1.1.1.0/32', { %all_types, # This has to be 0 rather than 1 as otherwise the buggy # Perl writer will think it is the same as an uint32 value of # 1 and make a pointer to a value of a different type. boolean => 0, }, ); open my $fh, '>', "$Dir/MaxMind-DB-test-pointer-decoder.mmdb"; $writer->write_tree($fh); close $fh; return; } sub _decoder_writer { return MaxMind::DB::Writer::Tree->new( ip_version => 6, record_size => 24, database_type => 'MaxMind DB Decoder Test', languages => ['en'], description => { en => 'MaxMind DB Decoder Test database - contains every MaxMind DB data type', }, alias_ipv6_to_ipv4 => 1, remove_reserved_networks => 0, map_key_type_callback => sub { my $key = $_[0]; $key =~ s/X*$//; return $key eq 'array' ? [ 'array', 'uint32' ] : $key; }, ); } } { my %nested = ( map1 => { map2 => { array => [ { map3 => { a => 1, b => 2, c => 3 }, }, ], }, }, ); sub write_deeply_nested_structures_db { my $writer = MaxMind::DB::Writer::Tree->new( ip_version => 6, record_size => 24, ip_version => 6, database_type => 'MaxMind DB Nested Data Structures', languages => ['en'], description => { en => 'MaxMind DB Nested Data Structures Test database - contains deeply nested map/array structures', }, alias_ipv6_to_ipv4 => 1, map_key_type_callback => sub { my $key = shift; return $key =~ /^map/ ? 'map' : $key eq 'array' ? [ 'array', 'map' ] : 'uint32'; } ); my @subnets = map { Net::Works::Network->new_from_string( string => $_ ) } qw( ::1.1.1.0/120 ::2.2.0.0/112 ::3.0.0.0/104 ::4.5.6.7/128 abcd::/64 1000::1234:0000/112 ); for my $subnet (@subnets) { $writer->insert_network( $subnet, \%nested, ); } open my $fh, '>', "$Dir/MaxMind-DB-test-nested.mmdb"; $writer->write_tree($fh); close $fh; return; } } sub write_geoip2_dbs { _write_geoip2_db( @{$_}[ 0, 1 ], 'Test' ) for ( [ 'GeoIP2-Anonymous-IP', {} ], ['GeoIP2-City'], ['GeoIP2-Connection-Type'], ['GeoIP2-Country'], ['GeoIP2-DensityIncome'], ['GeoIP2-Domain'], ['GeoIP2-Enterprise'], ['GeoIP2-ISP'], ['GeoIP2-Precision-Enterprise'], ['GeoIP2-Static-IP-Score'], ['GeoIP2-User-Count'], ['GeoLite2-ASN'], ['GeoLite2-City'], ['GeoLite2-Country'], ); } sub write_broken_geoip2_city_db { no warnings 'redefine'; # This is how we _used_ to encode doubles. Storing them this way with the # current reader tools can lead to weird errors. This broken database is a # good way to test the robustness of reader code in the face of broken # databases. local *MaxMind::DB::Writer::Serializer::_encode_double = sub { my $self = shift; my $value = shift; $self->_simple_encode( double => $value ); }; _write_geoip2_db( 'GeoIP2-City', 0, 'Test Broken Double Format' ); } sub write_invalid_node_count { no warnings 'redefine'; local *MaxMind::DB::Writer::Tree::node_count = sub { 100000 }; _write_geoip2_db( 'GeoIP2-City', 0, 'Test Invalid Node Count' ); } sub _universal_map_key_type_callback { my $map = { # languages de => 'utf8_string', en => 'utf8_string', es => 'utf8_string', fr => 'utf8_string', ja => 'utf8_string', 'pt-BR' => 'utf8_string', ru => 'utf8_string', 'zh-CN' => 'utf8_string', # production accuracy_radius => 'uint16', autonomous_system_number => 'uint32', autonomous_system_organization => 'utf8_string', average_income => 'uint32', city => 'map', code => 'utf8_string', confidence => 'uint16', connection_type => 'utf8_string', continent => 'map', country => 'map', domain => 'utf8_string', geoname_id => 'uint32', ip_risk => 'double', ipv4_24 => 'uint32', ipv4_32 => 'uint32', ipv6_32 => 'uint32', ipv6_48 => 'uint32', ipv6_64 => 'uint32', is_anonymous => 'boolean', is_anonymous_proxy => 'boolean', is_anonymous_vpn => 'boolean', is_hosting_provider => 'boolean', is_in_european_union => 'boolean', is_legitimate_proxy => 'boolean', is_public_proxy => 'boolean', is_residential_proxy => 'boolean', is_satellite_provider => 'boolean', is_tor_exit_node => 'boolean', iso_code => 'utf8_string', isp => 'utf8_string', latitude => 'double', location => 'map', longitude => 'double', metro_code => 'uint16', mobile_country_code => 'utf8_string', mobile_network_code => 'utf8_string', names => 'map', organization => 'utf8_string', population_density => 'uint32', postal => 'map', registered_country => 'map', represented_country => 'map', score => 'double', static_ip_score => 'double', subdivisions => [ 'array', 'map' ], time_zone => 'utf8_string', traits => 'map', traits => 'map', type => 'utf8_string', user_type => 'utf8_string', # for testing only foo => 'utf8_string', bar => 'utf8_string', buzz => 'utf8_string', our_value => 'utf8_string', }; my $callback = sub { my $key = shift; return $map->{$key} || die <<"ERROR"; Unknown tree key '$key'. The universal_map_key_type_callback doesn't know what type to use for the passed key. If you are adding a new key that will be used in a frozen tree / mmdb then you should update the mapping in both our internal code and here. ERROR }; return $callback; } sub _write_geoip2_db { my $type = shift; my $populate_all_networks_with_data = shift; my $description = shift; my $writer = MaxMind::DB::Writer::Tree->new( ip_version => 6, record_size => 28, ip_version => 6, database_type => $type, languages => [ 'en', $type eq 'GeoIP2-City' ? ('zh') : () ], description => { en => ( $type =~ s/-/ /gr ) . " $description Database (fake GeoIP2 data, for example purposes only)", $type eq 'GeoIP2-City' ? ( zh => '小型数据库' ) : (), }, alias_ipv6_to_ipv4 => 1, map_key_type_callback => _universal_map_key_type_callback(), ); _populate_all_networks( $writer, $populate_all_networks_with_data ) if $populate_all_networks_with_data; my $value = shift; my $nodes = decode_json( read_binary("$Dir/../source-data/$type-Test.json") ); for my $node (@$nodes) { for my $network ( keys %$node ) { $writer->insert_network( Net::Works::Network->new_from_string( string => $network ), $node->{$network} ); } } my $suffix = $description =~ s/ /-/gr; open my $output_fh, '>', "$Dir/$type-$suffix.mmdb"; $writer->write_tree($output_fh); close $output_fh; return; } sub _populate_all_networks { my $writer = shift; my $data = shift; my $max_uint128 = uint128(0) - 1; my @networks = Net::Works::Network->range_as_subnets( Net::Works::Address->new_from_integer( integer => 0, version => 6, ), Net::Works::Address->new_from_integer( integer => $max_uint128, version => 6, ), ); for my $network (@networks) { $writer->insert_network( $network => $data ); } } sub write_no_ipv4_tree_db { my $subnets = shift; my $writer = MaxMind::DB::Writer::Tree->new( ip_version => 6, record_size => 24, ip_version => 6, database_type => 'MaxMind DB No IPv4 Search Tree', languages => ['en'], description => { en => 'MaxMind DB No IPv4 Search Tree', }, remove_reserved_networks => 0, root_data_type => 'utf8_string', map_key_type_callback => sub { {} }, ); my $subnet = Net::Works::Network->new_from_string( string => '::/64' ); $writer->insert_network( $subnet, $subnet->as_string() ); open my $output_fh, '>', "$Dir/MaxMind-DB-no-ipv4-search-tree.mmdb"; $writer->write_tree($output_fh); close $output_fh; return; } # The point of this database is to provide something where we can test looking # up a single value. In other words, each IP address points to a non-compound # value, a string rather than a map or array. sub write_no_map_db { my $subnets = shift; my $writer = MaxMind::DB::Writer::Tree->new( ip_version => 4, record_size => 24, database_type => 'MaxMind DB String Value Entries', languages => ['en'], description => { en => 'MaxMind DB String Value Entries (no maps or arrays as values)', }, root_data_type => 'utf8_string', map_key_type_callback => sub { {} }, ); for my $subnet ( @{$subnets} ) { $writer->insert_network( $subnet, $subnet->as_string() ); } open my $output_fh, '>', "$Dir/MaxMind-DB-string-value-entries.mmdb"; $writer->write_tree($output_fh); close $output_fh; return; } sub write_test_serialization_data { my $serializer = MaxMind::DB::Writer::Serializer->new( map_key_type_callback => sub { 'utf8_string' } ); $serializer->store_data( map => { long_key => 'long_value1' } ); $serializer->store_data( map => { long_key => 'long_value2' } ); $serializer->store_data( map => { long_key2 => 'long_value1' } ); $serializer->store_data( map => { long_key2 => 'long_value2' } ); $serializer->store_data( map => { long_key => 'long_value1' } ); $serializer->store_data( map => { long_key2 => 'long_value2' } ); open my $fh, '>', "$Dir/maps-with-pointers.raw"; print {$fh} ${ $serializer->buffer() } or die "Cannot write to maps-with-pointers.raw: $!"; close $fh; return; } sub write_db_with_metadata_pointers { my $repeated_string = 'Lots of pointers in metadata'; my $writer = MaxMind::DB::Writer::Tree->new( ip_version => 6, record_size => 24, map_key_type_callback => sub { 'utf8_string' }, database_type => $repeated_string, languages => [ 'en', 'es', 'zh' ], description => { en => $repeated_string, es => $repeated_string, zh => $repeated_string, }, ); _populate_all_networks( $writer, {} ); open my $fh, '>', "$Dir/MaxMind-DB-test-metadata-pointers.mmdb"; $writer->write_tree($fh); close $fh; } main(); python-maxminddb-2.5.2/tests/data/tidyall.ini000066400000000000000000000000761450470006300212220ustar00rootroot00000000000000[PerlTidy] select = **/*.{pl,pm,t} [JSON] select = **/*.json