diff options
| author | YDBot <[email protected]> | 2025-10-29 00:52:40 +0000 |
|---|---|---|
| committer | YDBot <[email protected]> | 2025-10-29 00:52:40 +0000 |
| commit | 41eba5a90981e431dfa9bc6746eaaa0fc3b4e88e (patch) | |
| tree | d60db91d4d7ad091d575c42c350b4d5d333e9a2d /contrib/python | |
| parent | 7c948ab9780c4458a78d1720571b42b4664f39c9 (diff) | |
| parent | 9f88f6f3f352193c11dd54ae15fe6218ff2d0d4d (diff) | |
Sync branches 251029-0051
Diffstat (limited to 'contrib/python')
113 files changed, 31191 insertions, 3711 deletions
diff --git a/contrib/python/aiohttp/aiohttp/web_response.py b/contrib/python/aiohttp/aiohttp/web_response.py index 4307b2a98c8..956359718da 100644 --- a/contrib/python/aiohttp/aiohttp/web_response.py +++ b/contrib/python/aiohttp/aiohttp/web_response.py @@ -485,7 +485,8 @@ class StreamResponse(BaseClass, HeadersMixin): # https://datatracker.ietf.org/doc/html/rfc9112#section-6.1-13 if hdrs.TRANSFER_ENCODING in headers: del headers[hdrs.TRANSFER_ENCODING] - else: + elif self.content_length != 0: + # https://www.rfc-editor.org/rfc/rfc9110#section-8.3-5 headers.setdefault(hdrs.CONTENT_TYPE, "application/octet-stream") headers.setdefault(hdrs.DATE, rfc822_formatted_time()) headers.setdefault(hdrs.SERVER, SERVER_SOFTWARE) diff --git a/contrib/python/aiohttp/patches/04-force-content-type.patch b/contrib/python/aiohttp/patches/04-force-content-type.patch deleted file mode 100644 index 44569413307..00000000000 --- a/contrib/python/aiohttp/patches/04-force-content-type.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- contrib/python/aiohttp/aiohttp/web_response.py (ddcb92de87597ba3c0a8961e7fdf04a184c227ce) -+++ contrib/python/aiohttp/aiohttp/web_response.py (0978c4fe84e8994e041f045b1447dd8058efa52c) -@@ -487,8 +487,7 @@ class StreamResponse(BaseClass, HeadersMixin): - # https://datatracker.ietf.org/doc/html/rfc9112#section-6.1-13 - if hdrs.TRANSFER_ENCODING in headers: - del headers[hdrs.TRANSFER_ENCODING] -- elif self.content_length != 0: -- # https://www.rfc-editor.org/rfc/rfc9110#section-8.3-5 -+ else: - headers.setdefault(hdrs.CONTENT_TYPE, "application/octet-stream") - headers.setdefault(hdrs.DATE, rfc822_formatted_time()) - headers.setdefault(hdrs.SERVER, SERVER_SOFTWARE) diff --git a/contrib/python/idna/py3/.dist-info/METADATA b/contrib/python/idna/py3/.dist-info/METADATA index c42623e9423..7a4a4b7a7e9 100644 --- a/contrib/python/idna/py3/.dist-info/METADATA +++ b/contrib/python/idna/py3/.dist-info/METADATA @@ -1,31 +1,31 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.4 Name: idna -Version: 3.10 +Version: 3.11 Summary: Internationalized Domain Names in Applications (IDNA) Author-email: Kim Davies <[email protected]> -Requires-Python: >=3.6 +Requires-Python: >=3.8 Description-Content-Type: text/x-rst +License-Expression: BSD-3-Clause Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: Intended Audience :: System Administrators -Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: 3.14 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Internet :: Name Service (DNS) Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Utilities +License-File: LICENSE.md Requires-Dist: ruff >= 0.6.2 ; extra == "all" Requires-Dist: mypy >= 1.11.2 ; extra == "all" Requires-Dist: pytest >= 8.3.2 ; extra == "all" @@ -38,19 +38,17 @@ Provides-Extra: all Internationalized Domain Names in Applications (IDNA) ===================================================== -Support for the Internationalized Domain Names in -Applications (IDNA) protocol as specified in `RFC 5891 -<https://tools.ietf.org/html/rfc5891>`_. This is the latest version of -the protocol and is sometimes referred to as “IDNA 2008”. - -This library also provides support for Unicode Technical -Standard 46, `Unicode IDNA Compatibility Processing +Support for `Internationalized Domain Names in +Applications (IDNA) <https://tools.ietf.org/html/rfc5891>`_ +and `Unicode IDNA Compatibility Processing <https://unicode.org/reports/tr46/>`_. -This acts as a suitable replacement for the “encodings.idna” +The latest versions of these standards supplied here provide +more comprehensive language coverage and reduce the potential of +allowing domains with known security vulnerabilities. This library +is a suitable replacement for the “encodings.idna” module that comes with the Python standard library, but which -only supports the older superseded IDNA specification (`RFC 3490 -<https://tools.ietf.org/html/rfc3490>`_). +only supports an older superseded IDNA specification from 2003. Basic functions are simply executed: @@ -66,7 +64,8 @@ Basic functions are simply executed: Installation ------------ -This package is available for installation from PyPI: +This package is available for installation from PyPI via the +typical mechanisms, such as: .. code-block:: bash @@ -77,7 +76,8 @@ Usage ----- For typical usage, the ``encode`` and ``decode`` functions will take a -domain name argument and perform a conversion to A-labels or U-labels +domain name argument and perform a conversion to ASCII compatible encoding +(known as A-labels), or to Unicode strings (known as U-labels) respectively. .. code-block:: pycon @@ -88,17 +88,6 @@ respectively. >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah')) ドメイン.テスト -You may use the codec encoding and decoding methods using the -``idna.codec`` module: - -.. code-block:: pycon - - >>> import idna.codec - >>> print('домен.испытание'.encode('idna2008')) - b'xn--d1acufc.xn--80akhbyknj4f' - >>> print(b'xn--d1acufc.xn--80akhbyknj4f'.decode('idna2008')) - домен.испытание - Conversions can be applied at a per-label basis using the ``ulabel`` or ``alabel`` functions if necessary: @@ -107,22 +96,17 @@ Conversions can be applied at a per-label basis using the ``ulabel`` or >>> idna.alabel('测试') b'xn--0zwm56d' + Compatibility Mapping (UTS #46) +++++++++++++++++++++++++++++++ -As described in `RFC 5895 <https://tools.ietf.org/html/rfc5895>`_, the -IDNA specification does not normalize input from different potential -ways a user may input a domain name. This functionality, known as -a “mapping”, is considered by the specification to be a local -user-interface issue distinct from IDNA conversion functionality. - -This library provides one such mapping that was developed by the -Unicode Consortium. Known as `Unicode IDNA Compatibility Processing -<https://unicode.org/reports/tr46/>`_, it provides for both a regular -mapping for typical applications, as well as a transitional mapping to -help migrate from older IDNA 2003 applications. Strings are -preprocessed according to Section 4.4 “Preprocessing for IDNA2008” -prior to the IDNA operations. +This library provides support for `Unicode IDNA Compatibility +Processing <https://unicode.org/reports/tr46/>`_ which normalizes input from +different potential ways a user may input a domain prior to performing the IDNA +conversion operations. This functionality, known as a +`mapping <https://tools.ietf.org/html/rfc5895>`_, is considered by the +specification to be a local user-interface issue distinct from IDNA +conversion functionality. For example, “Königsgäßchen” is not a permissible label as *LATIN CAPITAL LETTER K* is not allowed (nor are capital letters in general). @@ -140,31 +124,6 @@ conversion. >>> print(idna.decode('xn--knigsgchen-b4a3dun')) königsgäßchen -Transitional processing provides conversions to help transition from -the older 2003 standard to the current standard. For example, in the -original IDNA specification, the *LATIN SMALL LETTER SHARP S* (ß) was -converted into two *LATIN SMALL LETTER S* (ss), whereas in the current -IDNA specification this conversion is not performed. - -.. code-block:: pycon - - >>> idna.encode('Königsgäßchen', uts46=True, transitional=True) - 'xn--knigsgsschen-lcb0w' - -Implementers should use transitional processing with caution, only in -rare cases where conversion from legacy labels to current labels must be -performed (i.e. IDNA implementations that pre-date 2008). For typical -applications that just need to convert labels, transitional processing -is unlikely to be beneficial and could produce unexpected incompatible -results. - -``encodings.idna`` Compatibility -++++++++++++++++++++++++++++++++ - -Function calls from the Python built-in ``encodings.idna`` module are -mapped to their IDNA 2008 equivalents using the ``idna.compat`` module. -Simply substitute the ``import`` clause in your code to refer to the new -module name. Exceptions ---------- @@ -178,7 +137,7 @@ when the error reflects an illegal combination of left-to-right and right-to-left characters in a label; ``idna.InvalidCodepoint`` when a specific codepoint is an illegal character in an IDN label (i.e. INVALID); and ``idna.InvalidCodepointContext`` when the codepoint is -illegal based on its positional context (i.e. it is CONTEXTO or CONTEXTJ +illegal based on its position in the string (i.e. it is CONTEXTO or CONTEXTJ but the contextual requirements are not satisfied.) Building and Diagnostics @@ -186,8 +145,8 @@ Building and Diagnostics The IDNA and UTS 46 functionality relies upon pre-calculated lookup tables for performance. These tables are derived from computing against -eligibility criteria in the respective standards. These tables are -computed using the command-line script ``tools/idna-data``. +eligibility criteria in the respective standards using the command-line +script ``tools/idna-data``. This tool will fetch relevant codepoint data from the Unicode repository and perform the required calculations to identify eligibility. There are @@ -222,17 +181,13 @@ Additional Notes * **Packages**. The latest tagged release version is published in the `Python Package Index <https://pypi.org/project/idna/>`_. -* **Version support**. This library supports Python 3.6 and higher. +* **Version support**. This library supports Python 3.8 and higher. As this library serves as a low-level toolkit for a variety of applications, many of which strive for broad compatibility with older Python versions, there is no rush to remove older interpreter support. - Removing support for older versions should be well justified in that the - maintenance burden has become too high. - -* **Python 2**. Python 2 is supported by version 2.x of this library. - Use "idna<3" in your requirements file if you need this library for - a Python 2 application. Be advised that these versions are no longer - actively developed. + Support for older versions are likely to be removed from new releases + as automated tests can no longer easily be run, i.e. once the Python + version is officially end-of-life. * **Testing**. The library has a test suite based on each rule of the IDNA specification, as well as tests that are provided as part of the @@ -248,3 +203,7 @@ Additional Notes first, and then falling back to using `encodings.idna`. See `the Github project <https://github.com/kjd/idna/issues/18>`_ for more discussion. +* **Transitional processing**. Unicode 16.0.0 removed transitional + processing so the `transitional` argument for the encode() method + no longer has any effect and will be removed at a later date. + diff --git a/contrib/python/idna/py3/.yandex_meta/yamaker.yaml b/contrib/python/idna/py3/.yandex_meta/yamaker.yaml deleted file mode 100644 index dbecf434430..00000000000 --- a/contrib/python/idna/py3/.yandex_meta/yamaker.yaml +++ /dev/null @@ -1,2 +0,0 @@ -exclude: - - tests/IdnaTestV2.txt diff --git a/contrib/python/idna/py3/LICENSE.md b/contrib/python/idna/py3/LICENSE.md index 19b6b45242c..256ba90cd91 100644 --- a/contrib/python/idna/py3/LICENSE.md +++ b/contrib/python/idna/py3/LICENSE.md @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2013-2024, Kim Davies and contributors. +Copyright (c) 2013-2025, Kim Davies and contributors. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/contrib/python/idna/py3/README.rst b/contrib/python/idna/py3/README.rst index 5f5bd3820ee..3fe44218c32 100644 --- a/contrib/python/idna/py3/README.rst +++ b/contrib/python/idna/py3/README.rst @@ -1,19 +1,17 @@ Internationalized Domain Names in Applications (IDNA) ===================================================== -Support for the Internationalized Domain Names in -Applications (IDNA) protocol as specified in `RFC 5891 -<https://tools.ietf.org/html/rfc5891>`_. This is the latest version of -the protocol and is sometimes referred to as “IDNA 2008”. - -This library also provides support for Unicode Technical -Standard 46, `Unicode IDNA Compatibility Processing +Support for `Internationalized Domain Names in +Applications (IDNA) <https://tools.ietf.org/html/rfc5891>`_ +and `Unicode IDNA Compatibility Processing <https://unicode.org/reports/tr46/>`_. -This acts as a suitable replacement for the “encodings.idna” +The latest versions of these standards supplied here provide +more comprehensive language coverage and reduce the potential of +allowing domains with known security vulnerabilities. This library +is a suitable replacement for the “encodings.idna” module that comes with the Python standard library, but which -only supports the older superseded IDNA specification (`RFC 3490 -<https://tools.ietf.org/html/rfc3490>`_). +only supports an older superseded IDNA specification from 2003. Basic functions are simply executed: @@ -29,7 +27,8 @@ Basic functions are simply executed: Installation ------------ -This package is available for installation from PyPI: +This package is available for installation from PyPI via the +typical mechanisms, such as: .. code-block:: bash @@ -40,7 +39,8 @@ Usage ----- For typical usage, the ``encode`` and ``decode`` functions will take a -domain name argument and perform a conversion to A-labels or U-labels +domain name argument and perform a conversion to ASCII compatible encoding +(known as A-labels), or to Unicode strings (known as U-labels) respectively. .. code-block:: pycon @@ -51,17 +51,6 @@ respectively. >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah')) ドメイン.テスト -You may use the codec encoding and decoding methods using the -``idna.codec`` module: - -.. code-block:: pycon - - >>> import idna.codec - >>> print('домен.испытание'.encode('idna2008')) - b'xn--d1acufc.xn--80akhbyknj4f' - >>> print(b'xn--d1acufc.xn--80akhbyknj4f'.decode('idna2008')) - домен.испытание - Conversions can be applied at a per-label basis using the ``ulabel`` or ``alabel`` functions if necessary: @@ -70,22 +59,17 @@ Conversions can be applied at a per-label basis using the ``ulabel`` or >>> idna.alabel('测试') b'xn--0zwm56d' + Compatibility Mapping (UTS #46) +++++++++++++++++++++++++++++++ -As described in `RFC 5895 <https://tools.ietf.org/html/rfc5895>`_, the -IDNA specification does not normalize input from different potential -ways a user may input a domain name. This functionality, known as -a “mapping”, is considered by the specification to be a local -user-interface issue distinct from IDNA conversion functionality. - -This library provides one such mapping that was developed by the -Unicode Consortium. Known as `Unicode IDNA Compatibility Processing -<https://unicode.org/reports/tr46/>`_, it provides for both a regular -mapping for typical applications, as well as a transitional mapping to -help migrate from older IDNA 2003 applications. Strings are -preprocessed according to Section 4.4 “Preprocessing for IDNA2008” -prior to the IDNA operations. +This library provides support for `Unicode IDNA Compatibility +Processing <https://unicode.org/reports/tr46/>`_ which normalizes input from +different potential ways a user may input a domain prior to performing the IDNA +conversion operations. This functionality, known as a +`mapping <https://tools.ietf.org/html/rfc5895>`_, is considered by the +specification to be a local user-interface issue distinct from IDNA +conversion functionality. For example, “Königsgäßchen” is not a permissible label as *LATIN CAPITAL LETTER K* is not allowed (nor are capital letters in general). @@ -103,31 +87,6 @@ conversion. >>> print(idna.decode('xn--knigsgchen-b4a3dun')) königsgäßchen -Transitional processing provides conversions to help transition from -the older 2003 standard to the current standard. For example, in the -original IDNA specification, the *LATIN SMALL LETTER SHARP S* (ß) was -converted into two *LATIN SMALL LETTER S* (ss), whereas in the current -IDNA specification this conversion is not performed. - -.. code-block:: pycon - - >>> idna.encode('Königsgäßchen', uts46=True, transitional=True) - 'xn--knigsgsschen-lcb0w' - -Implementers should use transitional processing with caution, only in -rare cases where conversion from legacy labels to current labels must be -performed (i.e. IDNA implementations that pre-date 2008). For typical -applications that just need to convert labels, transitional processing -is unlikely to be beneficial and could produce unexpected incompatible -results. - -``encodings.idna`` Compatibility -++++++++++++++++++++++++++++++++ - -Function calls from the Python built-in ``encodings.idna`` module are -mapped to their IDNA 2008 equivalents using the ``idna.compat`` module. -Simply substitute the ``import`` clause in your code to refer to the new -module name. Exceptions ---------- @@ -141,7 +100,7 @@ when the error reflects an illegal combination of left-to-right and right-to-left characters in a label; ``idna.InvalidCodepoint`` when a specific codepoint is an illegal character in an IDN label (i.e. INVALID); and ``idna.InvalidCodepointContext`` when the codepoint is -illegal based on its positional context (i.e. it is CONTEXTO or CONTEXTJ +illegal based on its position in the string (i.e. it is CONTEXTO or CONTEXTJ but the contextual requirements are not satisfied.) Building and Diagnostics @@ -149,8 +108,8 @@ Building and Diagnostics The IDNA and UTS 46 functionality relies upon pre-calculated lookup tables for performance. These tables are derived from computing against -eligibility criteria in the respective standards. These tables are -computed using the command-line script ``tools/idna-data``. +eligibility criteria in the respective standards using the command-line +script ``tools/idna-data``. This tool will fetch relevant codepoint data from the Unicode repository and perform the required calculations to identify eligibility. There are @@ -185,17 +144,13 @@ Additional Notes * **Packages**. The latest tagged release version is published in the `Python Package Index <https://pypi.org/project/idna/>`_. -* **Version support**. This library supports Python 3.6 and higher. +* **Version support**. This library supports Python 3.8 and higher. As this library serves as a low-level toolkit for a variety of applications, many of which strive for broad compatibility with older Python versions, there is no rush to remove older interpreter support. - Removing support for older versions should be well justified in that the - maintenance burden has become too high. - -* **Python 2**. Python 2 is supported by version 2.x of this library. - Use "idna<3" in your requirements file if you need this library for - a Python 2 application. Be advised that these versions are no longer - actively developed. + Support for older versions are likely to be removed from new releases + as automated tests can no longer easily be run, i.e. once the Python + version is officially end-of-life. * **Testing**. The library has a test suite based on each rule of the IDNA specification, as well as tests that are provided as part of the @@ -210,3 +165,7 @@ Additional Notes may wish to consider trying the encode/decode operation in this library first, and then falling back to using `encodings.idna`. See `the Github project <https://github.com/kjd/idna/issues/18>`_ for more discussion. + +* **Transitional processing**. Unicode 16.0.0 removed transitional + processing so the `transitional` argument for the encode() method + no longer has any effect and will be removed at a later date. diff --git a/contrib/python/idna/py3/idna/codec.py b/contrib/python/idna/py3/idna/codec.py index 913abfd6a23..cbc2e4ff4ec 100644 --- a/contrib/python/idna/py3/idna/codec.py +++ b/contrib/python/idna/py3/idna/codec.py @@ -111,7 +111,7 @@ def search_function(name: str) -> Optional[codecs.CodecInfo]: return codecs.CodecInfo( name=name, encode=Codec().encode, - decode=Codec().decode, + decode=Codec().decode, # type: ignore incrementalencoder=IncrementalEncoder, incrementaldecoder=IncrementalDecoder, streamwriter=StreamWriter, diff --git a/contrib/python/idna/py3/idna/core.py b/contrib/python/idna/py3/idna/core.py index 9115f123f02..8177bf7a324 100644 --- a/contrib/python/idna/py3/idna/core.py +++ b/contrib/python/idna/py3/idna/core.py @@ -308,7 +308,7 @@ def ulabel(label: Union[str, bytes, bytearray]) -> str: check_label(label) return label else: - label_bytes = label + label_bytes = bytes(label) label_bytes = label_bytes.lower() if label_bytes.startswith(_alabel_prefix): diff --git a/contrib/python/idna/py3/idna/idnadata.py b/contrib/python/idna/py3/idna/idnadata.py index 4be6004622e..ded47cae0b1 100644 --- a/contrib/python/idna/py3/idna/idnadata.py +++ b/contrib/python/idna/py3/idna/idnadata.py @@ -1,6 +1,7 @@ # This file is automatically generated by tools/idna-data -__version__ = "15.1.0" +__version__ = "16.0.0" + scripts = { "Greek": ( 0x37000000374, @@ -727,6 +728,7 @@ joining_types = { 0x88C: 68, 0x88D: 68, 0x88E: 82, + 0x897: 84, 0x898: 84, 0x899: 84, 0x89A: 84, @@ -1873,8 +1875,17 @@ joining_types = { 0x10D25: 84, 0x10D26: 84, 0x10D27: 84, + 0x10D69: 84, + 0x10D6A: 84, + 0x10D6B: 84, + 0x10D6C: 84, + 0x10D6D: 84, 0x10EAB: 84, 0x10EAC: 84, + 0x10EC2: 82, + 0x10EC3: 68, + 0x10EC4: 68, + 0x10EFC: 84, 0x10EFD: 84, 0x10EFE: 84, 0x10EFF: 84, @@ -2053,6 +2064,17 @@ joining_types = { 0x11372: 84, 0x11373: 84, 0x11374: 84, + 0x113BB: 84, + 0x113BC: 84, + 0x113BD: 84, + 0x113BE: 84, + 0x113BF: 84, + 0x113C0: 84, + 0x113CE: 84, + 0x113D0: 84, + 0x113D2: 84, + 0x113E1: 84, + 0x113E2: 84, 0x11438: 84, 0x11439: 84, 0x1143A: 84, @@ -2108,7 +2130,6 @@ joining_types = { 0x116B5: 84, 0x116B7: 84, 0x1171D: 84, - 0x1171E: 84, 0x1171F: 84, 0x11722: 84, 0x11723: 84, @@ -2265,6 +2286,7 @@ joining_types = { 0x11F3A: 84, 0x11F40: 84, 0x11F42: 84, + 0x11F5A: 84, 0x13430: 84, 0x13431: 84, 0x13432: 84, @@ -2297,6 +2319,21 @@ joining_types = { 0x13453: 84, 0x13454: 84, 0x13455: 84, + 0x1611E: 84, + 0x1611F: 84, + 0x16120: 84, + 0x16121: 84, + 0x16122: 84, + 0x16123: 84, + 0x16124: 84, + 0x16125: 84, + 0x16126: 84, + 0x16127: 84, + 0x16128: 84, + 0x16129: 84, + 0x1612D: 84, + 0x1612E: 84, + 0x1612F: 84, 0x16AF0: 84, 0x16AF1: 84, 0x16AF2: 84, @@ -2605,6 +2642,8 @@ joining_types = { 0x1E4ED: 84, 0x1E4EE: 84, 0x1E4EF: 84, + 0x1E5EE: 84, + 0x1E5EF: 84, 0x1E8D0: 84, 0x1E8D1: 84, 0x1E8D2: 84, @@ -3328,7 +3367,7 @@ codepoint_classes = { 0x8600000086B, 0x87000000888, 0x8890000088F, - 0x898000008E2, + 0x897000008E2, 0x8E300000958, 0x96000000964, 0x96600000970, @@ -3563,6 +3602,7 @@ codepoint_classes = { 0x1C0000001C38, 0x1C4000001C4A, 0x1C4D00001C7E, + 0x1C8A00001C8B, 0x1CD000001CD3, 0x1CD400001CFB, 0x1D0000001D2C, @@ -3926,11 +3966,13 @@ codepoint_classes = { 0xA7C30000A7C4, 0xA7C80000A7C9, 0xA7CA0000A7CB, + 0xA7CD0000A7CE, 0xA7D10000A7D2, 0xA7D30000A7D4, 0xA7D50000A7D6, 0xA7D70000A7D8, 0xA7D90000A7DA, + 0xA7DB0000A7DC, 0xA7F60000A7F8, 0xA7FA0000A828, 0xA82C0000A82D, @@ -4000,6 +4042,7 @@ codepoint_classes = { 0x105A3000105B2, 0x105B3000105BA, 0x105BB000105BD, + 0x105C0000105F4, 0x1060000010737, 0x1074000010756, 0x1076000010768, @@ -4037,10 +4080,14 @@ codepoint_classes = { 0x10CC000010CF3, 0x10D0000010D28, 0x10D3000010D3A, + 0x10D4000010D50, + 0x10D6900010D6E, + 0x10D6F00010D86, 0x10E8000010EAA, 0x10EAB00010EAD, 0x10EB000010EB2, - 0x10EFD00010F1D, + 0x10EC200010EC5, + 0x10EFC00010F1D, 0x10F2700010F28, 0x10F3000010F51, 0x10F7000010F86, @@ -4086,6 +4133,16 @@ codepoint_classes = { 0x1135D00011364, 0x113660001136D, 0x1137000011375, + 0x113800001138A, + 0x1138B0001138C, + 0x1138E0001138F, + 0x11390000113B6, + 0x113B7000113C1, + 0x113C2000113C3, + 0x113C5000113C6, + 0x113C7000113CB, + 0x113CC000113D4, + 0x113E1000113E3, 0x114000001144B, 0x114500001145A, 0x1145E00011462, @@ -4100,6 +4157,7 @@ codepoint_classes = { 0x116500001165A, 0x11680000116B9, 0x116C0000116CA, + 0x116D0000116E4, 0x117000001171B, 0x1171D0001172C, 0x117300001173A, @@ -4123,6 +4181,8 @@ codepoint_classes = { 0x11A5000011A9A, 0x11A9D00011A9E, 0x11AB000011AF9, + 0x11BC000011BE1, + 0x11BF000011BFA, 0x11C0000011C09, 0x11C0A00011C37, 0x11C3800011C41, @@ -4147,14 +4207,16 @@ codepoint_classes = { 0x11F0000011F11, 0x11F1200011F3B, 0x11F3E00011F43, - 0x11F5000011F5A, + 0x11F5000011F5B, 0x11FB000011FB1, 0x120000001239A, 0x1248000012544, 0x12F9000012FF1, 0x1300000013430, 0x1344000013456, + 0x13460000143FB, 0x1440000014647, + 0x161000001613A, 0x1680000016A39, 0x16A4000016A5F, 0x16A6000016A6A, @@ -4167,6 +4229,8 @@ codepoint_classes = { 0x16B5000016B5A, 0x16B6300016B78, 0x16B7D00016B90, + 0x16D4000016D6D, + 0x16D7000016D7A, 0x16E6000016E80, 0x16F0000016F4B, 0x16F4F00016F88, @@ -4176,7 +4240,7 @@ codepoint_classes = { 0x16FF000016FF2, 0x17000000187F8, 0x1880000018CD6, - 0x18D0000018D09, + 0x18CFF00018D09, 0x1AFF00001AFF4, 0x1AFF50001AFFC, 0x1AFFD0001AFFF, @@ -4191,6 +4255,7 @@ codepoint_classes = { 0x1BC800001BC89, 0x1BC900001BC9A, 0x1BC9D0001BC9F, + 0x1CCF00001CCFA, 0x1CF000001CF2E, 0x1CF300001CF47, 0x1DA000001DA37, @@ -4214,6 +4279,7 @@ codepoint_classes = { 0x1E2900001E2AF, 0x1E2C00001E2FA, 0x1E4D00001E4FA, + 0x1E5D00001E5FB, 0x1E7E00001E7E7, 0x1E7E80001E7EC, 0x1E7ED0001E7EF, diff --git a/contrib/python/idna/py3/idna/package_data.py b/contrib/python/idna/py3/idna/package_data.py index 514ff7e2e68..7272c8d9236 100644 --- a/contrib/python/idna/py3/idna/package_data.py +++ b/contrib/python/idna/py3/idna/package_data.py @@ -1 +1 @@ -__version__ = "3.10" +__version__ = "3.11" diff --git a/contrib/python/idna/py3/idna/uts46data.py b/contrib/python/idna/py3/idna/uts46data.py index eb894327410..4610b71dad9 100644 --- a/contrib/python/idna/py3/idna/uts46data.py +++ b/contrib/python/idna/py3/idna/uts46data.py @@ -6,59 +6,59 @@ from typing import List, Tuple, Union """IDNA Mapping Table from UTS46.""" -__version__ = "15.1.0" +__version__ = "16.0.0" def _seg_0() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: return [ - (0x0, "3"), - (0x1, "3"), - (0x2, "3"), - (0x3, "3"), - (0x4, "3"), - (0x5, "3"), - (0x6, "3"), - (0x7, "3"), - (0x8, "3"), - (0x9, "3"), - (0xA, "3"), - (0xB, "3"), - (0xC, "3"), - (0xD, "3"), - (0xE, "3"), - (0xF, "3"), - (0x10, "3"), - (0x11, "3"), - (0x12, "3"), - (0x13, "3"), - (0x14, "3"), - (0x15, "3"), - (0x16, "3"), - (0x17, "3"), - (0x18, "3"), - (0x19, "3"), - (0x1A, "3"), - (0x1B, "3"), - (0x1C, "3"), - (0x1D, "3"), - (0x1E, "3"), - (0x1F, "3"), - (0x20, "3"), - (0x21, "3"), - (0x22, "3"), - (0x23, "3"), - (0x24, "3"), - (0x25, "3"), - (0x26, "3"), - (0x27, "3"), - (0x28, "3"), - (0x29, "3"), - (0x2A, "3"), - (0x2B, "3"), - (0x2C, "3"), + (0x0, "V"), + (0x1, "V"), + (0x2, "V"), + (0x3, "V"), + (0x4, "V"), + (0x5, "V"), + (0x6, "V"), + (0x7, "V"), + (0x8, "V"), + (0x9, "V"), + (0xA, "V"), + (0xB, "V"), + (0xC, "V"), + (0xD, "V"), + (0xE, "V"), + (0xF, "V"), + (0x10, "V"), + (0x11, "V"), + (0x12, "V"), + (0x13, "V"), + (0x14, "V"), + (0x15, "V"), + (0x16, "V"), + (0x17, "V"), + (0x18, "V"), + (0x19, "V"), + (0x1A, "V"), + (0x1B, "V"), + (0x1C, "V"), + (0x1D, "V"), + (0x1E, "V"), + (0x1F, "V"), + (0x20, "V"), + (0x21, "V"), + (0x22, "V"), + (0x23, "V"), + (0x24, "V"), + (0x25, "V"), + (0x26, "V"), + (0x27, "V"), + (0x28, "V"), + (0x29, "V"), + (0x2A, "V"), + (0x2B, "V"), + (0x2C, "V"), (0x2D, "V"), (0x2E, "V"), - (0x2F, "3"), + (0x2F, "V"), (0x30, "V"), (0x31, "V"), (0x32, "V"), @@ -69,13 +69,13 @@ def _seg_0() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x37, "V"), (0x38, "V"), (0x39, "V"), - (0x3A, "3"), - (0x3B, "3"), - (0x3C, "3"), - (0x3D, "3"), - (0x3E, "3"), - (0x3F, "3"), - (0x40, "3"), + (0x3A, "V"), + (0x3B, "V"), + (0x3C, "V"), + (0x3D, "V"), + (0x3E, "V"), + (0x3F, "V"), + (0x40, "V"), (0x41, "M", "a"), (0x42, "M", "b"), (0x43, "M", "c"), @@ -102,12 +102,12 @@ def _seg_0() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x58, "M", "x"), (0x59, "M", "y"), (0x5A, "M", "z"), - (0x5B, "3"), - (0x5C, "3"), - (0x5D, "3"), - (0x5E, "3"), - (0x5F, "3"), - (0x60, "3"), + (0x5B, "V"), + (0x5C, "V"), + (0x5D, "V"), + (0x5E, "V"), + (0x5F, "V"), + (0x60, "V"), (0x61, "V"), (0x62, "V"), (0x63, "V"), @@ -139,11 +139,11 @@ def _seg_1() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x78, "V"), (0x79, "V"), (0x7A, "V"), - (0x7B, "3"), - (0x7C, "3"), - (0x7D, "3"), - (0x7E, "3"), - (0x7F, "3"), + (0x7B, "V"), + (0x7C, "V"), + (0x7D, "V"), + (0x7E, "V"), + (0x7F, "V"), (0x80, "X"), (0x81, "X"), (0x82, "X"), @@ -176,7 +176,7 @@ def _seg_1() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x9D, "X"), (0x9E, "X"), (0x9F, "X"), - (0xA0, "3", " "), + (0xA0, "M", " "), (0xA1, "V"), (0xA2, "V"), (0xA3, "V"), @@ -184,23 +184,23 @@ def _seg_1() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xA5, "V"), (0xA6, "V"), (0xA7, "V"), - (0xA8, "3", " ̈"), + (0xA8, "M", " ̈"), (0xA9, "V"), (0xAA, "M", "a"), (0xAB, "V"), (0xAC, "V"), (0xAD, "I"), (0xAE, "V"), - (0xAF, "3", " ̄"), + (0xAF, "M", " ̄"), (0xB0, "V"), (0xB1, "V"), (0xB2, "M", "2"), (0xB3, "M", "3"), - (0xB4, "3", " ́"), + (0xB4, "M", " ́"), (0xB5, "M", "μ"), (0xB6, "V"), (0xB7, "V"), - (0xB8, "3", " ̧"), + (0xB8, "M", " ̧"), (0xB9, "M", "1"), (0xBA, "M", "o"), (0xBB, "V"), @@ -606,12 +606,12 @@ def _seg_5() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2B7, "M", "w"), (0x2B8, "M", "y"), (0x2B9, "V"), - (0x2D8, "3", " ̆"), - (0x2D9, "3", " ̇"), - (0x2DA, "3", " ̊"), - (0x2DB, "3", " ̨"), - (0x2DC, "3", " ̃"), - (0x2DD, "3", " ̋"), + (0x2D8, "M", " ̆"), + (0x2D9, "M", " ̇"), + (0x2DA, "M", " ̊"), + (0x2DB, "M", " ̨"), + (0x2DC, "M", " ̃"), + (0x2DD, "M", " ̋"), (0x2DE, "V"), (0x2E0, "M", "ɣ"), (0x2E1, "M", "l"), @@ -642,13 +642,13 @@ def _seg_5() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: def _seg_6() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: return [ (0x378, "X"), - (0x37A, "3", " ι"), + (0x37A, "M", " ι"), (0x37B, "V"), - (0x37E, "3", ";"), + (0x37E, "M", ";"), (0x37F, "M", "ϳ"), (0x380, "X"), - (0x384, "3", " ́"), - (0x385, "3", " ̈́"), + (0x384, "M", " ́"), + (0x385, "M", " ̈́"), (0x386, "M", "ά"), (0x387, "M", "·"), (0x388, "M", "έ"), @@ -885,7 +885,7 @@ def _seg_8() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x4BD, "V"), (0x4BE, "M", "ҿ"), (0x4BF, "V"), - (0x4C0, "X"), + (0x4C0, "M", "ӏ"), (0x4C1, "M", "ӂ"), (0x4C2, "V"), (0x4C3, "M", "ӄ"), @@ -1087,7 +1087,7 @@ def _seg_10() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x86B, "X"), (0x870, "V"), (0x88F, "X"), - (0x898, "V"), + (0x897, "V"), (0x8E2, "X"), (0x8E3, "V"), (0x958, "M", "क़"), @@ -1438,7 +1438,50 @@ def _seg_13() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFCE, "V"), (0xFDB, "X"), (0x1000, "V"), - (0x10A0, "X"), + (0x10A0, "M", "ⴀ"), + (0x10A1, "M", "ⴁ"), + (0x10A2, "M", "ⴂ"), + (0x10A3, "M", "ⴃ"), + (0x10A4, "M", "ⴄ"), + (0x10A5, "M", "ⴅ"), + (0x10A6, "M", "ⴆ"), + (0x10A7, "M", "ⴇ"), + (0x10A8, "M", "ⴈ"), + (0x10A9, "M", "ⴉ"), + (0x10AA, "M", "ⴊ"), + (0x10AB, "M", "ⴋ"), + (0x10AC, "M", "ⴌ"), + (0x10AD, "M", "ⴍ"), + (0x10AE, "M", "ⴎ"), + (0x10AF, "M", "ⴏ"), + (0x10B0, "M", "ⴐ"), + (0x10B1, "M", "ⴑ"), + (0x10B2, "M", "ⴒ"), + (0x10B3, "M", "ⴓ"), + (0x10B4, "M", "ⴔ"), + (0x10B5, "M", "ⴕ"), + (0x10B6, "M", "ⴖ"), + (0x10B7, "M", "ⴗ"), + (0x10B8, "M", "ⴘ"), + (0x10B9, "M", "ⴙ"), + (0x10BA, "M", "ⴚ"), + (0x10BB, "M", "ⴛ"), + (0x10BC, "M", "ⴜ"), + (0x10BD, "M", "ⴝ"), + (0x10BE, "M", "ⴞ"), + (0x10BF, "M", "ⴟ"), + (0x10C0, "M", "ⴠ"), + (0x10C1, "M", "ⴡ"), + (0x10C2, "M", "ⴢ"), + (0x10C3, "M", "ⴣ"), + (0x10C4, "M", "ⴤ"), + (0x10C5, "M", "ⴥ"), + ] + + +def _seg_14() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ + (0x10C6, "X"), (0x10C7, "M", "ⴧ"), (0x10C8, "X"), (0x10CD, "M", "ⴭ"), @@ -1446,7 +1489,7 @@ def _seg_13() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x10D0, "V"), (0x10FC, "M", "ნ"), (0x10FD, "V"), - (0x115F, "X"), + (0x115F, "I"), (0x1161, "V"), (0x1249, "X"), (0x124A, "V"), @@ -1476,11 +1519,6 @@ def _seg_13() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x12D8, "V"), (0x1311, "X"), (0x1312, "V"), - ] - - -def _seg_14() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1316, "X"), (0x1318, "V"), (0x135B, "X"), @@ -1516,7 +1554,7 @@ def _seg_14() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1772, "V"), (0x1774, "X"), (0x1780, "V"), - (0x17B4, "X"), + (0x17B4, "I"), (0x17B6, "V"), (0x17DE, "X"), (0x17E0, "V"), @@ -1524,11 +1562,7 @@ def _seg_14() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x17F0, "V"), (0x17FA, "X"), (0x1800, "V"), - (0x1806, "X"), - (0x1807, "V"), (0x180B, "I"), - (0x180E, "X"), - (0x180F, "I"), (0x1810, "V"), (0x181A, "X"), (0x1820, "V"), @@ -1547,6 +1581,11 @@ def _seg_14() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1941, "X"), (0x1944, "V"), (0x196E, "X"), + ] + + +def _seg_15() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1970, "V"), (0x1975, "X"), (0x1980, "V"), @@ -1571,9 +1610,7 @@ def _seg_14() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1ACF, "X"), (0x1B00, "V"), (0x1B4D, "X"), - (0x1B50, "V"), - (0x1B7F, "X"), - (0x1B80, "V"), + (0x1B4E, "V"), (0x1BF4, "X"), (0x1BFC, "V"), (0x1C38, "X"), @@ -1581,11 +1618,6 @@ def _seg_14() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1C4A, "X"), (0x1C4D, "V"), (0x1C80, "M", "в"), - ] - - -def _seg_15() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1C81, "M", "д"), (0x1C82, "M", "о"), (0x1C83, "M", "с"), @@ -1593,7 +1625,9 @@ def _seg_15() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1C86, "M", "ъ"), (0x1C87, "M", "ѣ"), (0x1C88, "M", "ꙋ"), - (0x1C89, "X"), + (0x1C89, "M", ""), + (0x1C8A, "V"), + (0x1C8B, "X"), (0x1C90, "M", "ა"), (0x1C91, "M", "ბ"), (0x1C92, "M", "გ"), @@ -1652,6 +1686,11 @@ def _seg_15() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D2F, "V"), (0x1D30, "M", "d"), (0x1D31, "M", "e"), + ] + + +def _seg_16() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D32, "M", "ǝ"), (0x1D33, "M", "g"), (0x1D34, "M", "h"), @@ -1686,11 +1725,6 @@ def _seg_15() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D51, "M", "ŋ"), (0x1D52, "M", "o"), (0x1D53, "M", "ɔ"), - ] - - -def _seg_16() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1D54, "M", "ᴖ"), (0x1D55, "M", "ᴗ"), (0x1D56, "M", "p"), @@ -1757,6 +1791,11 @@ def _seg_16() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1DC0, "V"), (0x1E00, "M", "ḁ"), (0x1E01, "V"), + ] + + +def _seg_17() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1E02, "M", "ḃ"), (0x1E03, "V"), (0x1E04, "M", "ḅ"), @@ -1791,11 +1830,6 @@ def _seg_16() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1E21, "V"), (0x1E22, "M", "ḣ"), (0x1E23, "V"), - ] - - -def _seg_17() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1E24, "M", "ḥ"), (0x1E25, "V"), (0x1E26, "M", "ḧ"), @@ -1862,6 +1896,11 @@ def _seg_17() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1E63, "V"), (0x1E64, "M", "ṥ"), (0x1E65, "V"), + ] + + +def _seg_18() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1E66, "M", "ṧ"), (0x1E67, "V"), (0x1E68, "M", "ṩ"), @@ -1896,11 +1935,6 @@ def _seg_17() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1E85, "V"), (0x1E86, "M", "ẇ"), (0x1E87, "V"), - ] - - -def _seg_18() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1E88, "M", "ẉ"), (0x1E89, "V"), (0x1E8A, "M", "ẋ"), @@ -1967,6 +2001,11 @@ def _seg_18() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1ECC, "M", "ọ"), (0x1ECD, "V"), (0x1ECE, "M", "ỏ"), + ] + + +def _seg_19() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1ECF, "V"), (0x1ED0, "M", "ố"), (0x1ED1, "V"), @@ -2001,11 +2040,6 @@ def _seg_18() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1EEE, "M", "ữ"), (0x1EEF, "V"), (0x1EF0, "M", "ự"), - ] - - -def _seg_19() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1EF1, "V"), (0x1EF2, "M", "ỳ"), (0x1EF3, "V"), @@ -2072,6 +2106,11 @@ def _seg_19() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1F5B, "M", "ὓ"), (0x1F5C, "X"), (0x1F5D, "M", "ὕ"), + ] + + +def _seg_20() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1F5E, "X"), (0x1F5F, "M", "ὗ"), (0x1F60, "V"), @@ -2106,11 +2145,6 @@ def _seg_19() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1F85, "M", "ἅι"), (0x1F86, "M", "ἆι"), (0x1F87, "M", "ἇι"), - ] - - -def _seg_20() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1F88, "M", "ἀι"), (0x1F89, "M", "ἁι"), (0x1F8A, "M", "ἂι"), @@ -2163,11 +2197,11 @@ def _seg_20() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1FBA, "M", "ὰ"), (0x1FBB, "M", "ά"), (0x1FBC, "M", "αι"), - (0x1FBD, "3", " ̓"), + (0x1FBD, "M", " ̓"), (0x1FBE, "M", "ι"), - (0x1FBF, "3", " ̓"), - (0x1FC0, "3", " ͂"), - (0x1FC1, "3", " ̈͂"), + (0x1FBF, "M", " ̓"), + (0x1FC0, "M", " ͂"), + (0x1FC1, "M", " ̈͂"), (0x1FC2, "M", "ὴι"), (0x1FC3, "M", "ηι"), (0x1FC4, "M", "ήι"), @@ -2177,11 +2211,16 @@ def _seg_20() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1FC8, "M", "ὲ"), (0x1FC9, "M", "έ"), (0x1FCA, "M", "ὴ"), + ] + + +def _seg_21() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1FCB, "M", "ή"), (0x1FCC, "M", "ηι"), - (0x1FCD, "3", " ̓̀"), - (0x1FCE, "3", " ̓́"), - (0x1FCF, "3", " ̓͂"), + (0x1FCD, "M", " ̓̀"), + (0x1FCE, "M", " ̓́"), + (0x1FCF, "M", " ̓͂"), (0x1FD0, "V"), (0x1FD3, "M", "ΐ"), (0x1FD4, "X"), @@ -2191,9 +2230,9 @@ def _seg_20() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1FDA, "M", "ὶ"), (0x1FDB, "M", "ί"), (0x1FDC, "X"), - (0x1FDD, "3", " ̔̀"), - (0x1FDE, "3", " ̔́"), - (0x1FDF, "3", " ̔͂"), + (0x1FDD, "M", " ̔̀"), + (0x1FDE, "M", " ̔́"), + (0x1FDF, "M", " ̔͂"), (0x1FE0, "V"), (0x1FE3, "M", "ΰ"), (0x1FE4, "V"), @@ -2202,42 +2241,37 @@ def _seg_20() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1FEA, "M", "ὺ"), (0x1FEB, "M", "ύ"), (0x1FEC, "M", "ῥ"), - (0x1FED, "3", " ̈̀"), - (0x1FEE, "3", " ̈́"), - (0x1FEF, "3", "`"), + (0x1FED, "M", " ̈̀"), + (0x1FEE, "M", " ̈́"), + (0x1FEF, "M", "`"), (0x1FF0, "X"), (0x1FF2, "M", "ὼι"), (0x1FF3, "M", "ωι"), (0x1FF4, "M", "ώι"), (0x1FF5, "X"), (0x1FF6, "V"), - ] - - -def _seg_21() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1FF7, "M", "ῶι"), (0x1FF8, "M", "ὸ"), (0x1FF9, "M", "ό"), (0x1FFA, "M", "ὼ"), (0x1FFB, "M", "ώ"), (0x1FFC, "M", "ωι"), - (0x1FFD, "3", " ́"), - (0x1FFE, "3", " ̔"), + (0x1FFD, "M", " ́"), + (0x1FFE, "M", " ̔"), (0x1FFF, "X"), - (0x2000, "3", " "), + (0x2000, "M", " "), (0x200B, "I"), (0x200C, "D", ""), (0x200E, "X"), (0x2010, "V"), (0x2011, "M", "‐"), (0x2012, "V"), - (0x2017, "3", " ̳"), + (0x2017, "M", " ̳"), (0x2018, "V"), (0x2024, "X"), (0x2027, "V"), (0x2028, "X"), - (0x202F, "3", " "), + (0x202F, "M", " "), (0x2030, "V"), (0x2033, "M", "′′"), (0x2034, "M", "′′′"), @@ -2245,21 +2279,20 @@ def _seg_21() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2036, "M", "‵‵"), (0x2037, "M", "‵‵‵"), (0x2038, "V"), - (0x203C, "3", "!!"), + (0x203C, "M", "!!"), (0x203D, "V"), - (0x203E, "3", " ̅"), + (0x203E, "M", " ̅"), (0x203F, "V"), - (0x2047, "3", "??"), - (0x2048, "3", "?!"), - (0x2049, "3", "!?"), + (0x2047, "M", "??"), + (0x2048, "M", "?!"), + (0x2049, "M", "!?"), (0x204A, "V"), (0x2057, "M", "′′′′"), (0x2058, "V"), - (0x205F, "3", " "), + (0x205F, "M", " "), (0x2060, "I"), - (0x2061, "X"), - (0x2064, "I"), (0x2065, "X"), + (0x206A, "I"), (0x2070, "M", "0"), (0x2071, "M", "i"), (0x2072, "X"), @@ -2269,11 +2302,11 @@ def _seg_21() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2077, "M", "7"), (0x2078, "M", "8"), (0x2079, "M", "9"), - (0x207A, "3", "+"), + (0x207A, "M", "+"), (0x207B, "M", "−"), - (0x207C, "3", "="), - (0x207D, "3", "("), - (0x207E, "3", ")"), + (0x207C, "M", "="), + (0x207D, "M", "("), + (0x207E, "M", ")"), (0x207F, "M", "n"), (0x2080, "M", "0"), (0x2081, "M", "1"), @@ -2283,13 +2316,18 @@ def _seg_21() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2085, "M", "5"), (0x2086, "M", "6"), (0x2087, "M", "7"), + ] + + +def _seg_22() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2088, "M", "8"), (0x2089, "M", "9"), - (0x208A, "3", "+"), + (0x208A, "M", "+"), (0x208B, "M", "−"), - (0x208C, "3", "="), - (0x208D, "3", "("), - (0x208E, "3", ")"), + (0x208C, "M", "="), + (0x208D, "M", "("), + (0x208E, "M", ")"), (0x208F, "X"), (0x2090, "M", "a"), (0x2091, "M", "e"), @@ -2311,18 +2349,13 @@ def _seg_21() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x20C1, "X"), (0x20D0, "V"), (0x20F1, "X"), - (0x2100, "3", "a/c"), - (0x2101, "3", "a/s"), + (0x2100, "M", "a/c"), + (0x2101, "M", "a/s"), (0x2102, "M", "c"), (0x2103, "M", "°c"), (0x2104, "V"), - ] - - -def _seg_22() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ - (0x2105, "3", "c/o"), - (0x2106, "3", "c/u"), + (0x2105, "M", "c/o"), + (0x2106, "M", "c/u"), (0x2107, "M", "ɛ"), (0x2108, "V"), (0x2109, "M", "°f"), @@ -2356,7 +2389,7 @@ def _seg_22() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x212E, "V"), (0x212F, "M", "e"), (0x2131, "M", "f"), - (0x2132, "X"), + (0x2132, "M", "ⅎ"), (0x2133, "M", "m"), (0x2134, "M", "o"), (0x2135, "M", "א"), @@ -2388,6 +2421,11 @@ def _seg_22() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2159, "M", "1⁄6"), (0x215A, "M", "5⁄6"), (0x215B, "M", "1⁄8"), + ] + + +def _seg_23() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x215C, "M", "3⁄8"), (0x215D, "M", "5⁄8"), (0x215E, "M", "7⁄8"), @@ -2421,16 +2459,11 @@ def _seg_22() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x217A, "M", "xi"), (0x217B, "M", "xii"), (0x217C, "M", "l"), - ] - - -def _seg_23() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x217D, "M", "c"), (0x217E, "M", "d"), (0x217F, "M", "m"), (0x2180, "V"), - (0x2183, "X"), + (0x2183, "M", "ↄ"), (0x2184, "V"), (0x2189, "M", "0⁄3"), (0x218A, "V"), @@ -2445,7 +2478,7 @@ def _seg_23() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2329, "M", "〈"), (0x232A, "M", "〉"), (0x232B, "V"), - (0x2427, "X"), + (0x242A, "X"), (0x2440, "V"), (0x244B, "X"), (0x2460, "M", "1"), @@ -2468,53 +2501,58 @@ def _seg_23() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2471, "M", "18"), (0x2472, "M", "19"), (0x2473, "M", "20"), - (0x2474, "3", "(1)"), - (0x2475, "3", "(2)"), - (0x2476, "3", "(3)"), - (0x2477, "3", "(4)"), - (0x2478, "3", "(5)"), - (0x2479, "3", "(6)"), - (0x247A, "3", "(7)"), - (0x247B, "3", "(8)"), - (0x247C, "3", "(9)"), - (0x247D, "3", "(10)"), - (0x247E, "3", "(11)"), - (0x247F, "3", "(12)"), - (0x2480, "3", "(13)"), - (0x2481, "3", "(14)"), - (0x2482, "3", "(15)"), - (0x2483, "3", "(16)"), - (0x2484, "3", "(17)"), - (0x2485, "3", "(18)"), - (0x2486, "3", "(19)"), - (0x2487, "3", "(20)"), + (0x2474, "M", "(1)"), + (0x2475, "M", "(2)"), + (0x2476, "M", "(3)"), + (0x2477, "M", "(4)"), + (0x2478, "M", "(5)"), + (0x2479, "M", "(6)"), + (0x247A, "M", "(7)"), + (0x247B, "M", "(8)"), + (0x247C, "M", "(9)"), + (0x247D, "M", "(10)"), + (0x247E, "M", "(11)"), + (0x247F, "M", "(12)"), + (0x2480, "M", "(13)"), + (0x2481, "M", "(14)"), + (0x2482, "M", "(15)"), + (0x2483, "M", "(16)"), + (0x2484, "M", "(17)"), + (0x2485, "M", "(18)"), + (0x2486, "M", "(19)"), + (0x2487, "M", "(20)"), (0x2488, "X"), - (0x249C, "3", "(a)"), - (0x249D, "3", "(b)"), - (0x249E, "3", "(c)"), - (0x249F, "3", "(d)"), - (0x24A0, "3", "(e)"), - (0x24A1, "3", "(f)"), - (0x24A2, "3", "(g)"), - (0x24A3, "3", "(h)"), - (0x24A4, "3", "(i)"), - (0x24A5, "3", "(j)"), - (0x24A6, "3", "(k)"), - (0x24A7, "3", "(l)"), - (0x24A8, "3", "(m)"), - (0x24A9, "3", "(n)"), - (0x24AA, "3", "(o)"), - (0x24AB, "3", "(p)"), - (0x24AC, "3", "(q)"), - (0x24AD, "3", "(r)"), - (0x24AE, "3", "(s)"), - (0x24AF, "3", "(t)"), - (0x24B0, "3", "(u)"), - (0x24B1, "3", "(v)"), - (0x24B2, "3", "(w)"), - (0x24B3, "3", "(x)"), - (0x24B4, "3", "(y)"), - (0x24B5, "3", "(z)"), + (0x249C, "M", "(a)"), + (0x249D, "M", "(b)"), + (0x249E, "M", "(c)"), + (0x249F, "M", "(d)"), + ] + + +def _seg_24() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ + (0x24A0, "M", "(e)"), + (0x24A1, "M", "(f)"), + (0x24A2, "M", "(g)"), + (0x24A3, "M", "(h)"), + (0x24A4, "M", "(i)"), + (0x24A5, "M", "(j)"), + (0x24A6, "M", "(k)"), + (0x24A7, "M", "(l)"), + (0x24A8, "M", "(m)"), + (0x24A9, "M", "(n)"), + (0x24AA, "M", "(o)"), + (0x24AB, "M", "(p)"), + (0x24AC, "M", "(q)"), + (0x24AD, "M", "(r)"), + (0x24AE, "M", "(s)"), + (0x24AF, "M", "(t)"), + (0x24B0, "M", "(u)"), + (0x24B1, "M", "(v)"), + (0x24B2, "M", "(w)"), + (0x24B3, "M", "(x)"), + (0x24B4, "M", "(y)"), + (0x24B5, "M", "(z)"), (0x24B6, "M", "a"), (0x24B7, "M", "b"), (0x24B8, "M", "c"), @@ -2526,11 +2564,6 @@ def _seg_23() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x24BE, "M", "i"), (0x24BF, "M", "j"), (0x24C0, "M", "k"), - ] - - -def _seg_24() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x24C1, "M", "l"), (0x24C2, "M", "m"), (0x24C3, "M", "n"), @@ -2576,9 +2609,9 @@ def _seg_24() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x24EB, "V"), (0x2A0C, "M", "∫∫∫∫"), (0x2A0D, "V"), - (0x2A74, "3", "::="), - (0x2A75, "3", "=="), - (0x2A76, "3", "==="), + (0x2A74, "M", "::="), + (0x2A75, "M", "=="), + (0x2A76, "M", "==="), (0x2A77, "V"), (0x2ADC, "M", "⫝̸"), (0x2ADD, "V"), @@ -2598,6 +2631,11 @@ def _seg_24() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2C09, "M", "ⰹ"), (0x2C0A, "M", "ⰺ"), (0x2C0B, "M", "ⰻ"), + ] + + +def _seg_25() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2C0C, "M", "ⰼ"), (0x2C0D, "M", "ⰽ"), (0x2C0E, "M", "ⰾ"), @@ -2631,11 +2669,6 @@ def _seg_24() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2C2A, "M", "ⱚ"), (0x2C2B, "M", "ⱛ"), (0x2C2C, "M", "ⱜ"), - ] - - -def _seg_25() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x2C2D, "M", "ⱝ"), (0x2C2E, "M", "ⱞ"), (0x2C2F, "M", "ⱟ"), @@ -2703,6 +2736,11 @@ def _seg_25() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2CA3, "V"), (0x2CA4, "M", "ⲥ"), (0x2CA5, "V"), + ] + + +def _seg_26() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2CA6, "M", "ⲧ"), (0x2CA7, "V"), (0x2CA8, "M", "ⲩ"), @@ -2736,11 +2774,6 @@ def _seg_25() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2CC4, "M", "ⳅ"), (0x2CC5, "V"), (0x2CC6, "M", "ⳇ"), - ] - - -def _seg_26() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x2CC7, "V"), (0x2CC8, "M", "ⳉ"), (0x2CC9, "V"), @@ -2808,6 +2841,11 @@ def _seg_26() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2DDF, "X"), (0x2DE0, "V"), (0x2E5E, "X"), + ] + + +def _seg_27() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2E80, "V"), (0x2E9A, "X"), (0x2E9B, "V"), @@ -2841,11 +2879,6 @@ def _seg_26() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F17, "M", "十"), (0x2F18, "M", "卜"), (0x2F19, "M", "卩"), - ] - - -def _seg_27() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x2F1A, "M", "厂"), (0x2F1B, "M", "厶"), (0x2F1C, "M", "又"), @@ -2913,6 +2946,11 @@ def _seg_27() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F5A, "M", "片"), (0x2F5B, "M", "牙"), (0x2F5C, "M", "牛"), + ] + + +def _seg_28() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2F5D, "M", "犬"), (0x2F5E, "M", "玄"), (0x2F5F, "M", "玉"), @@ -2946,11 +2984,6 @@ def _seg_27() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F7B, "M", "羽"), (0x2F7C, "M", "老"), (0x2F7D, "M", "而"), - ] - - -def _seg_28() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x2F7E, "M", "耒"), (0x2F7F, "M", "耳"), (0x2F80, "M", "聿"), @@ -3018,6 +3051,11 @@ def _seg_28() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2FBE, "M", "鬥"), (0x2FBF, "M", "鬯"), (0x2FC0, "M", "鬲"), + ] + + +def _seg_29() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2FC1, "M", "鬼"), (0x2FC2, "M", "魚"), (0x2FC3, "M", "鳥"), @@ -3040,7 +3078,7 @@ def _seg_28() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2FD4, "M", "龜"), (0x2FD5, "M", "龠"), (0x2FD6, "X"), - (0x3000, "3", " "), + (0x3000, "M", " "), (0x3001, "V"), (0x3002, "M", "."), (0x3003, "V"), @@ -3051,16 +3089,11 @@ def _seg_28() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x303A, "M", "卅"), (0x303B, "V"), (0x3040, "X"), - ] - - -def _seg_29() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x3041, "V"), (0x3097, "X"), (0x3099, "V"), - (0x309B, "3", " ゙"), - (0x309C, "3", " ゚"), + (0x309B, "M", " ゙"), + (0x309C, "M", " ゚"), (0x309D, "V"), (0x309F, "M", "より"), (0x30A0, "V"), @@ -3119,10 +3152,15 @@ def _seg_29() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x3161, "M", "ᅳ"), (0x3162, "M", "ᅴ"), (0x3163, "M", "ᅵ"), - (0x3164, "X"), + (0x3164, "I"), (0x3165, "M", "ᄔ"), (0x3166, "M", "ᄕ"), (0x3167, "M", "ᇇ"), + ] + + +def _seg_30() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x3168, "M", "ᇈ"), (0x3169, "M", "ᇌ"), (0x316A, "M", "ᇎ"), @@ -3156,11 +3194,6 @@ def _seg_29() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x3186, "M", "ᅙ"), (0x3187, "M", "ᆄ"), (0x3188, "M", "ᆅ"), - ] - - -def _seg_30() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x3189, "M", "ᆈ"), (0x318A, "M", "ᆑ"), (0x318B, "M", "ᆒ"), @@ -3184,76 +3217,81 @@ def _seg_30() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x319E, "M", "地"), (0x319F, "M", "人"), (0x31A0, "V"), - (0x31E4, "X"), + (0x31E6, "X"), (0x31F0, "V"), - (0x3200, "3", "(ᄀ)"), - (0x3201, "3", "(ᄂ)"), - (0x3202, "3", "(ᄃ)"), - (0x3203, "3", "(ᄅ)"), - (0x3204, "3", "(ᄆ)"), - (0x3205, "3", "(ᄇ)"), - (0x3206, "3", "(ᄉ)"), - (0x3207, "3", "(ᄋ)"), - (0x3208, "3", "(ᄌ)"), - (0x3209, "3", "(ᄎ)"), - (0x320A, "3", "(ᄏ)"), - (0x320B, "3", "(ᄐ)"), - (0x320C, "3", "(ᄑ)"), - (0x320D, "3", "(ᄒ)"), - (0x320E, "3", "(가)"), - (0x320F, "3", "(나)"), - (0x3210, "3", "(다)"), - (0x3211, "3", "(라)"), - (0x3212, "3", "(마)"), - (0x3213, "3", "(바)"), - (0x3214, "3", "(사)"), - (0x3215, "3", "(아)"), - (0x3216, "3", "(자)"), - (0x3217, "3", "(차)"), - (0x3218, "3", "(카)"), - (0x3219, "3", "(타)"), - (0x321A, "3", "(파)"), - (0x321B, "3", "(하)"), - (0x321C, "3", "(주)"), - (0x321D, "3", "(오전)"), - (0x321E, "3", "(오후)"), + (0x3200, "M", "(ᄀ)"), + (0x3201, "M", "(ᄂ)"), + (0x3202, "M", "(ᄃ)"), + (0x3203, "M", "(ᄅ)"), + (0x3204, "M", "(ᄆ)"), + (0x3205, "M", "(ᄇ)"), + (0x3206, "M", "(ᄉ)"), + (0x3207, "M", "(ᄋ)"), + (0x3208, "M", "(ᄌ)"), + (0x3209, "M", "(ᄎ)"), + (0x320A, "M", "(ᄏ)"), + (0x320B, "M", "(ᄐ)"), + (0x320C, "M", "(ᄑ)"), + (0x320D, "M", "(ᄒ)"), + (0x320E, "M", "(가)"), + (0x320F, "M", "(나)"), + (0x3210, "M", "(다)"), + (0x3211, "M", "(라)"), + (0x3212, "M", "(마)"), + (0x3213, "M", "(바)"), + (0x3214, "M", "(사)"), + (0x3215, "M", "(아)"), + (0x3216, "M", "(자)"), + (0x3217, "M", "(차)"), + (0x3218, "M", "(카)"), + (0x3219, "M", "(타)"), + (0x321A, "M", "(파)"), + (0x321B, "M", "(하)"), + (0x321C, "M", "(주)"), + (0x321D, "M", "(오전)"), + (0x321E, "M", "(오후)"), (0x321F, "X"), - (0x3220, "3", "(一)"), - (0x3221, "3", "(二)"), - (0x3222, "3", "(三)"), - (0x3223, "3", "(四)"), - (0x3224, "3", "(五)"), - (0x3225, "3", "(六)"), - (0x3226, "3", "(七)"), - (0x3227, "3", "(八)"), - (0x3228, "3", "(九)"), - (0x3229, "3", "(十)"), - (0x322A, "3", "(月)"), - (0x322B, "3", "(火)"), - (0x322C, "3", "(水)"), - (0x322D, "3", "(木)"), - (0x322E, "3", "(金)"), - (0x322F, "3", "(土)"), - (0x3230, "3", "(日)"), - (0x3231, "3", "(株)"), - (0x3232, "3", "(有)"), - (0x3233, "3", "(社)"), - (0x3234, "3", "(名)"), - (0x3235, "3", "(特)"), - (0x3236, "3", "(財)"), - (0x3237, "3", "(祝)"), - (0x3238, "3", "(労)"), - (0x3239, "3", "(代)"), - (0x323A, "3", "(呼)"), - (0x323B, "3", "(学)"), - (0x323C, "3", "(監)"), - (0x323D, "3", "(企)"), - (0x323E, "3", "(資)"), - (0x323F, "3", "(協)"), - (0x3240, "3", "(祭)"), - (0x3241, "3", "(休)"), - (0x3242, "3", "(自)"), - (0x3243, "3", "(至)"), + (0x3220, "M", "(一)"), + (0x3221, "M", "(二)"), + (0x3222, "M", "(三)"), + (0x3223, "M", "(四)"), + (0x3224, "M", "(五)"), + (0x3225, "M", "(六)"), + (0x3226, "M", "(七)"), + (0x3227, "M", "(八)"), + (0x3228, "M", "(九)"), + (0x3229, "M", "(十)"), + ] + + +def _seg_31() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ + (0x322A, "M", "(月)"), + (0x322B, "M", "(火)"), + (0x322C, "M", "(水)"), + (0x322D, "M", "(木)"), + (0x322E, "M", "(金)"), + (0x322F, "M", "(土)"), + (0x3230, "M", "(日)"), + (0x3231, "M", "(株)"), + (0x3232, "M", "(有)"), + (0x3233, "M", "(社)"), + (0x3234, "M", "(名)"), + (0x3235, "M", "(特)"), + (0x3236, "M", "(財)"), + (0x3237, "M", "(祝)"), + (0x3238, "M", "(労)"), + (0x3239, "M", "(代)"), + (0x323A, "M", "(呼)"), + (0x323B, "M", "(学)"), + (0x323C, "M", "(監)"), + (0x323D, "M", "(企)"), + (0x323E, "M", "(資)"), + (0x323F, "M", "(協)"), + (0x3240, "M", "(祭)"), + (0x3241, "M", "(休)"), + (0x3242, "M", "(自)"), + (0x3243, "M", "(至)"), (0x3244, "M", "問"), (0x3245, "M", "幼"), (0x3246, "M", "文"), @@ -3261,11 +3299,6 @@ def _seg_30() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x3248, "V"), (0x3250, "M", "pte"), (0x3251, "M", "21"), - ] - - -def _seg_31() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x3252, "M", "22"), (0x3253, "M", "23"), (0x3254, "M", "24"), @@ -3333,6 +3366,11 @@ def _seg_31() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x3292, "M", "有"), (0x3293, "M", "社"), (0x3294, "M", "名"), + ] + + +def _seg_32() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x3295, "M", "特"), (0x3296, "M", "財"), (0x3297, "M", "祝"), @@ -3366,11 +3404,6 @@ def _seg_31() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x32B3, "M", "38"), (0x32B4, "M", "39"), (0x32B5, "M", "40"), - ] - - -def _seg_32() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x32B6, "M", "41"), (0x32B7, "M", "42"), (0x32B8, "M", "43"), @@ -3438,6 +3471,11 @@ def _seg_32() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x32F6, "M", "ラ"), (0x32F7, "M", "リ"), (0x32F8, "M", "ル"), + ] + + +def _seg_33() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x32F9, "M", "レ"), (0x32FA, "M", "ロ"), (0x32FB, "M", "ワ"), @@ -3471,11 +3509,6 @@ def _seg_32() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x3317, "M", "キロワット"), (0x3318, "M", "グラム"), (0x3319, "M", "グラムトン"), - ] - - -def _seg_33() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x331A, "M", "クルゼイロ"), (0x331B, "M", "クローネ"), (0x331C, "M", "ケース"), @@ -3543,6 +3576,11 @@ def _seg_33() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x335A, "M", "2点"), (0x335B, "M", "3点"), (0x335C, "M", "4点"), + ] + + +def _seg_34() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x335D, "M", "5点"), (0x335E, "M", "6点"), (0x335F, "M", "7点"), @@ -3576,11 +3614,6 @@ def _seg_33() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x337B, "M", "平成"), (0x337C, "M", "昭和"), (0x337D, "M", "大正"), - ] - - -def _seg_34() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x337E, "M", "明治"), (0x337F, "M", "株式会社"), (0x3380, "M", "pa"), @@ -3648,6 +3681,11 @@ def _seg_34() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x33BE, "M", "kw"), (0x33BF, "M", "mw"), (0x33C0, "M", "kω"), + ] + + +def _seg_35() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x33C1, "M", "mω"), (0x33C2, "X"), (0x33C3, "M", "bq"), @@ -3681,11 +3719,6 @@ def _seg_34() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x33DF, "M", "a∕m"), (0x33E0, "M", "1日"), (0x33E1, "M", "2日"), - ] - - -def _seg_35() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x33E2, "M", "3日"), (0x33E3, "M", "4日"), (0x33E4, "M", "5日"), @@ -3753,6 +3786,11 @@ def _seg_35() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xA65C, "M", "ꙝ"), (0xA65D, "V"), (0xA65E, "M", "ꙟ"), + ] + + +def _seg_36() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xA65F, "V"), (0xA660, "M", "ꙡ"), (0xA661, "V"), @@ -3786,11 +3824,6 @@ def _seg_35() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xA68F, "V"), (0xA690, "M", "ꚑ"), (0xA691, "V"), - ] - - -def _seg_36() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xA692, "M", "ꚓ"), (0xA693, "V"), (0xA694, "M", "ꚕ"), @@ -3858,6 +3891,11 @@ def _seg_36() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xA755, "V"), (0xA756, "M", "ꝗ"), (0xA757, "V"), + ] + + +def _seg_37() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xA758, "M", "ꝙ"), (0xA759, "V"), (0xA75A, "M", "ꝛ"), @@ -3891,11 +3929,6 @@ def _seg_36() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xA77D, "M", "ᵹ"), (0xA77E, "M", "ꝿ"), (0xA77F, "V"), - ] - - -def _seg_37() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xA780, "M", "ꞁ"), (0xA781, "V"), (0xA782, "M", "ꞃ"), @@ -3963,9 +3996,17 @@ def _seg_37() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xA7C6, "M", "ᶎ"), (0xA7C7, "M", "ꟈ"), (0xA7C8, "V"), + ] + + +def _seg_38() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xA7C9, "M", "ꟊ"), (0xA7CA, "V"), - (0xA7CB, "X"), + (0xA7CB, "M", "ɤ"), + (0xA7CC, "M", ""), + (0xA7CD, "V"), + (0xA7CE, "X"), (0xA7D0, "M", "ꟑ"), (0xA7D1, "V"), (0xA7D2, "X"), @@ -3976,7 +4017,10 @@ def _seg_37() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xA7D7, "V"), (0xA7D8, "M", "ꟙ"), (0xA7D9, "V"), - (0xA7DA, "X"), + (0xA7DA, "M", ""), + (0xA7DB, "V"), + (0xA7DC, "M", "ƛ"), + (0xA7DD, "X"), (0xA7F2, "M", "c"), (0xA7F3, "M", "f"), (0xA7F4, "M", "q"), @@ -3996,11 +4040,6 @@ def _seg_37() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xA8DA, "X"), (0xA8E0, "V"), (0xA954, "X"), - ] - - -def _seg_38() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xA95F, "V"), (0xA97D, "X"), (0xA980, "V"), @@ -4062,6 +4101,11 @@ def _seg_38() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xAB85, "M", "Ꮅ"), (0xAB86, "M", "Ꮆ"), (0xAB87, "M", "Ꮇ"), + ] + + +def _seg_39() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xAB88, "M", "Ꮈ"), (0xAB89, "M", "Ꮉ"), (0xAB8A, "M", "Ꮊ"), @@ -4101,11 +4145,6 @@ def _seg_38() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xABAC, "M", "Ꮬ"), (0xABAD, "M", "Ꮭ"), (0xABAE, "M", "Ꮮ"), - ] - - -def _seg_39() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xABAF, "M", "Ꮯ"), (0xABB0, "M", "Ꮰ"), (0xABB1, "M", "Ꮱ"), @@ -4167,6 +4206,11 @@ def _seg_39() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xF920, "M", "鸞"), (0xF921, "M", "嵐"), (0xF922, "M", "濫"), + ] + + +def _seg_40() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xF923, "M", "藍"), (0xF924, "M", "襤"), (0xF925, "M", "拉"), @@ -4206,11 +4250,6 @@ def _seg_39() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xF947, "M", "磊"), (0xF948, "M", "賂"), (0xF949, "M", "雷"), - ] - - -def _seg_40() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xF94A, "M", "壘"), (0xF94B, "M", "屢"), (0xF94C, "M", "樓"), @@ -4272,6 +4311,11 @@ def _seg_40() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xF984, "M", "濾"), (0xF985, "M", "礪"), (0xF986, "M", "閭"), + ] + + +def _seg_41() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xF987, "M", "驪"), (0xF988, "M", "麗"), (0xF989, "M", "黎"), @@ -4311,11 +4355,6 @@ def _seg_40() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xF9AB, "M", "嶺"), (0xF9AC, "M", "怜"), (0xF9AD, "M", "玲"), - ] - - -def _seg_41() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xF9AE, "M", "瑩"), (0xF9AF, "M", "羚"), (0xF9B0, "M", "聆"), @@ -4377,6 +4416,11 @@ def _seg_41() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xF9E8, "M", "裡"), (0xF9E9, "M", "里"), (0xF9EA, "M", "離"), + ] + + +def _seg_42() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xF9EB, "M", "匿"), (0xF9EC, "M", "溺"), (0xF9ED, "M", "吝"), @@ -4416,11 +4460,6 @@ def _seg_41() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFA10, "M", "塚"), (0xFA11, "V"), (0xFA12, "M", "晴"), - ] - - -def _seg_42() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xFA13, "V"), (0xFA15, "M", "凞"), (0xFA16, "M", "猪"), @@ -4482,6 +4521,11 @@ def _seg_42() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFA51, "M", "祝"), (0xFA52, "M", "禍"), (0xFA53, "M", "禎"), + ] + + +def _seg_43() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xFA54, "M", "穀"), (0xFA55, "M", "突"), (0xFA56, "M", "節"), @@ -4521,11 +4565,6 @@ def _seg_42() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFA7A, "M", "喙"), (0xFA7B, "M", "嗢"), (0xFA7C, "M", "塚"), - ] - - -def _seg_43() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xFA7D, "M", "墳"), (0xFA7E, "M", "奄"), (0xFA7F, "M", "奔"), @@ -4587,6 +4626,11 @@ def _seg_43() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFAB7, "M", "覆"), (0xFAB8, "M", "視"), (0xFAB9, "M", "調"), + ] + + +def _seg_44() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xFABA, "M", "諸"), (0xFABB, "M", "請"), (0xFABC, "M", "謁"), @@ -4626,11 +4670,6 @@ def _seg_43() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFB03, "M", "ffi"), (0xFB04, "M", "ffl"), (0xFB05, "M", "st"), - ] - - -def _seg_44() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xFB07, "X"), (0xFB13, "M", "մն"), (0xFB14, "M", "մե"), @@ -4650,7 +4689,7 @@ def _seg_44() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFB26, "M", "ם"), (0xFB27, "M", "ר"), (0xFB28, "M", "ת"), - (0xFB29, "3", "+"), + (0xFB29, "M", "+"), (0xFB2A, "M", "שׁ"), (0xFB2B, "M", "שׂ"), (0xFB2C, "M", "שּׁ"), @@ -4692,6 +4731,11 @@ def _seg_44() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFB50, "M", "ٱ"), (0xFB52, "M", "ٻ"), (0xFB56, "M", "پ"), + ] + + +def _seg_45() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xFB5A, "M", "ڀ"), (0xFB5E, "M", "ٺ"), (0xFB62, "M", "ٿ"), @@ -4731,11 +4775,6 @@ def _seg_44() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFBE2, "M", "ۉ"), (0xFBE4, "M", "ې"), (0xFBE8, "M", "ى"), - ] - - -def _seg_45() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xFBEA, "M", "ئا"), (0xFBEC, "M", "ئە"), (0xFBEE, "M", "ئو"), @@ -4797,6 +4836,11 @@ def _seg_45() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFC31, "M", "فى"), (0xFC32, "M", "في"), (0xFC33, "M", "قح"), + ] + + +def _seg_46() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xFC34, "M", "قم"), (0xFC35, "M", "قى"), (0xFC36, "M", "قي"), @@ -4836,20 +4880,15 @@ def _seg_45() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFC58, "M", "يم"), (0xFC59, "M", "يى"), (0xFC5A, "M", "يي"), - ] - - -def _seg_46() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xFC5B, "M", "ذٰ"), (0xFC5C, "M", "رٰ"), (0xFC5D, "M", "ىٰ"), - (0xFC5E, "3", " ٌّ"), - (0xFC5F, "3", " ٍّ"), - (0xFC60, "3", " َّ"), - (0xFC61, "3", " ُّ"), - (0xFC62, "3", " ِّ"), - (0xFC63, "3", " ّٰ"), + (0xFC5E, "M", " ٌّ"), + (0xFC5F, "M", " ٍّ"), + (0xFC60, "M", " َّ"), + (0xFC61, "M", " ُّ"), + (0xFC62, "M", " ِّ"), + (0xFC63, "M", " ّٰ"), (0xFC64, "M", "ئر"), (0xFC65, "M", "ئز"), (0xFC66, "M", "ئم"), @@ -4902,6 +4941,11 @@ def _seg_46() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFC95, "M", "يى"), (0xFC96, "M", "يي"), (0xFC97, "M", "ئج"), + ] + + +def _seg_47() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xFC98, "M", "ئح"), (0xFC99, "M", "ئخ"), (0xFC9A, "M", "ئم"), @@ -4941,11 +4985,6 @@ def _seg_46() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFCBC, "M", "غج"), (0xFCBD, "M", "غم"), (0xFCBE, "M", "فج"), - ] - - -def _seg_47() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xFCBF, "M", "فح"), (0xFCC0, "M", "فخ"), (0xFCC1, "M", "فم"), @@ -5007,6 +5046,11 @@ def _seg_47() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFCF9, "M", "غى"), (0xFCFA, "M", "غي"), (0xFCFB, "M", "سى"), + ] + + +def _seg_48() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xFCFC, "M", "سي"), (0xFCFD, "M", "شى"), (0xFCFE, "M", "شي"), @@ -5046,11 +5090,6 @@ def _seg_47() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFD20, "M", "خي"), (0xFD21, "M", "صى"), (0xFD22, "M", "صي"), - ] - - -def _seg_48() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xFD23, "M", "ضى"), (0xFD24, "M", "ضي"), (0xFD25, "M", "شج"), @@ -5112,6 +5151,11 @@ def _seg_48() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFD7A, "M", "غمي"), (0xFD7B, "M", "غمى"), (0xFD7C, "M", "فخم"), + ] + + +def _seg_49() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xFD7E, "M", "قمح"), (0xFD7F, "M", "قمم"), (0xFD80, "M", "لحم"), @@ -5151,11 +5195,6 @@ def _seg_48() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFDA8, "M", "سخى"), (0xFDA9, "M", "صحي"), (0xFDAA, "M", "شحي"), - ] - - -def _seg_49() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xFDAB, "M", "ضحي"), (0xFDAC, "M", "لجي"), (0xFDAD, "M", "لمي"), @@ -5198,18 +5237,18 @@ def _seg_49() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFDF7, "M", "عليه"), (0xFDF8, "M", "وسلم"), (0xFDF9, "M", "صلى"), - (0xFDFA, "3", "صلى الله عليه وسلم"), - (0xFDFB, "3", "جل جلاله"), + (0xFDFA, "M", "صلى الله عليه وسلم"), + (0xFDFB, "M", "جل جلاله"), (0xFDFC, "M", "ریال"), (0xFDFD, "V"), (0xFE00, "I"), - (0xFE10, "3", ","), + (0xFE10, "M", ","), (0xFE11, "M", "、"), (0xFE12, "X"), - (0xFE13, "3", ":"), - (0xFE14, "3", ";"), - (0xFE15, "3", "!"), - (0xFE16, "3", "?"), + (0xFE13, "M", ":"), + (0xFE14, "M", ";"), + (0xFE15, "M", "!"), + (0xFE16, "M", "?"), (0xFE17, "M", "〖"), (0xFE18, "M", "〗"), (0xFE19, "X"), @@ -5217,11 +5256,16 @@ def _seg_49() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFE30, "X"), (0xFE31, "M", "—"), (0xFE32, "M", "–"), - (0xFE33, "3", "_"), - (0xFE35, "3", "("), - (0xFE36, "3", ")"), - (0xFE37, "3", "{"), - (0xFE38, "3", "}"), + ] + + +def _seg_50() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ + (0xFE33, "M", "_"), + (0xFE35, "M", "("), + (0xFE36, "M", ")"), + (0xFE37, "M", "{"), + (0xFE38, "M", "}"), (0xFE39, "M", "〔"), (0xFE3A, "M", "〕"), (0xFE3B, "M", "【"), @@ -5235,58 +5279,53 @@ def _seg_49() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFE43, "M", "『"), (0xFE44, "M", "』"), (0xFE45, "V"), - (0xFE47, "3", "["), - (0xFE48, "3", "]"), - (0xFE49, "3", " ̅"), - (0xFE4D, "3", "_"), - (0xFE50, "3", ","), + (0xFE47, "M", "["), + (0xFE48, "M", "]"), + (0xFE49, "M", " ̅"), + (0xFE4D, "M", "_"), + (0xFE50, "M", ","), (0xFE51, "M", "、"), (0xFE52, "X"), - (0xFE54, "3", ";"), - (0xFE55, "3", ":"), - (0xFE56, "3", "?"), - (0xFE57, "3", "!"), + (0xFE54, "M", ";"), + (0xFE55, "M", ":"), + (0xFE56, "M", "?"), + (0xFE57, "M", "!"), (0xFE58, "M", "—"), - (0xFE59, "3", "("), - (0xFE5A, "3", ")"), - (0xFE5B, "3", "{"), - (0xFE5C, "3", "}"), + (0xFE59, "M", "("), + (0xFE5A, "M", ")"), + (0xFE5B, "M", "{"), + (0xFE5C, "M", "}"), (0xFE5D, "M", "〔"), (0xFE5E, "M", "〕"), - (0xFE5F, "3", "#"), - (0xFE60, "3", "&"), - (0xFE61, "3", "*"), - ] - - -def _seg_50() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ - (0xFE62, "3", "+"), + (0xFE5F, "M", "#"), + (0xFE60, "M", "&"), + (0xFE61, "M", "*"), + (0xFE62, "M", "+"), (0xFE63, "M", "-"), - (0xFE64, "3", "<"), - (0xFE65, "3", ">"), - (0xFE66, "3", "="), + (0xFE64, "M", "<"), + (0xFE65, "M", ">"), + (0xFE66, "M", "="), (0xFE67, "X"), - (0xFE68, "3", "\\"), - (0xFE69, "3", "$"), - (0xFE6A, "3", "%"), - (0xFE6B, "3", "@"), + (0xFE68, "M", "\\"), + (0xFE69, "M", "$"), + (0xFE6A, "M", "%"), + (0xFE6B, "M", "@"), (0xFE6C, "X"), - (0xFE70, "3", " ً"), + (0xFE70, "M", " ً"), (0xFE71, "M", "ـً"), - (0xFE72, "3", " ٌ"), + (0xFE72, "M", " ٌ"), (0xFE73, "V"), - (0xFE74, "3", " ٍ"), + (0xFE74, "M", " ٍ"), (0xFE75, "X"), - (0xFE76, "3", " َ"), + (0xFE76, "M", " َ"), (0xFE77, "M", "ـَ"), - (0xFE78, "3", " ُ"), + (0xFE78, "M", " ُ"), (0xFE79, "M", "ـُ"), - (0xFE7A, "3", " ِ"), + (0xFE7A, "M", " ِ"), (0xFE7B, "M", "ـِ"), - (0xFE7C, "3", " ّ"), + (0xFE7C, "M", " ّ"), (0xFE7D, "M", "ـّ"), - (0xFE7E, "3", " ْ"), + (0xFE7E, "M", " ْ"), (0xFE7F, "M", "ـْ"), (0xFE80, "M", "ء"), (0xFE81, "M", "آ"), @@ -5322,6 +5361,11 @@ def _seg_50() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFEE5, "M", "ن"), (0xFEE9, "M", "ه"), (0xFEED, "M", "و"), + ] + + +def _seg_51() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xFEEF, "M", "ى"), (0xFEF1, "M", "ي"), (0xFEF5, "M", "لآ"), @@ -5331,21 +5375,21 @@ def _seg_50() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFEFD, "X"), (0xFEFF, "I"), (0xFF00, "X"), - (0xFF01, "3", "!"), - (0xFF02, "3", '"'), - (0xFF03, "3", "#"), - (0xFF04, "3", "$"), - (0xFF05, "3", "%"), - (0xFF06, "3", "&"), - (0xFF07, "3", "'"), - (0xFF08, "3", "("), - (0xFF09, "3", ")"), - (0xFF0A, "3", "*"), - (0xFF0B, "3", "+"), - (0xFF0C, "3", ","), + (0xFF01, "M", "!"), + (0xFF02, "M", '"'), + (0xFF03, "M", "#"), + (0xFF04, "M", "$"), + (0xFF05, "M", "%"), + (0xFF06, "M", "&"), + (0xFF07, "M", "'"), + (0xFF08, "M", "("), + (0xFF09, "M", ")"), + (0xFF0A, "M", "*"), + (0xFF0B, "M", "+"), + (0xFF0C, "M", ","), (0xFF0D, "M", "-"), (0xFF0E, "M", "."), - (0xFF0F, "3", "/"), + (0xFF0F, "M", "/"), (0xFF10, "M", "0"), (0xFF11, "M", "1"), (0xFF12, "M", "2"), @@ -5356,18 +5400,13 @@ def _seg_50() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFF17, "M", "7"), (0xFF18, "M", "8"), (0xFF19, "M", "9"), - (0xFF1A, "3", ":"), - (0xFF1B, "3", ";"), - (0xFF1C, "3", "<"), - (0xFF1D, "3", "="), - (0xFF1E, "3", ">"), - ] - - -def _seg_51() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ - (0xFF1F, "3", "?"), - (0xFF20, "3", "@"), + (0xFF1A, "M", ":"), + (0xFF1B, "M", ";"), + (0xFF1C, "M", "<"), + (0xFF1D, "M", "="), + (0xFF1E, "M", ">"), + (0xFF1F, "M", "?"), + (0xFF20, "M", "@"), (0xFF21, "M", "a"), (0xFF22, "M", "b"), (0xFF23, "M", "c"), @@ -5394,12 +5433,12 @@ def _seg_51() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFF38, "M", "x"), (0xFF39, "M", "y"), (0xFF3A, "M", "z"), - (0xFF3B, "3", "["), - (0xFF3C, "3", "\\"), - (0xFF3D, "3", "]"), - (0xFF3E, "3", "^"), - (0xFF3F, "3", "_"), - (0xFF40, "3", "`"), + (0xFF3B, "M", "["), + (0xFF3C, "M", "\\"), + (0xFF3D, "M", "]"), + (0xFF3E, "M", "^"), + (0xFF3F, "M", "_"), + (0xFF40, "M", "`"), (0xFF41, "M", "a"), (0xFF42, "M", "b"), (0xFF43, "M", "c"), @@ -5426,10 +5465,15 @@ def _seg_51() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFF58, "M", "x"), (0xFF59, "M", "y"), (0xFF5A, "M", "z"), - (0xFF5B, "3", "{"), - (0xFF5C, "3", "|"), - (0xFF5D, "3", "}"), - (0xFF5E, "3", "~"), + (0xFF5B, "M", "{"), + ] + + +def _seg_52() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ + (0xFF5C, "M", "|"), + (0xFF5D, "M", "}"), + (0xFF5E, "M", "~"), (0xFF5F, "M", "⦅"), (0xFF60, "M", "⦆"), (0xFF61, "M", "."), @@ -5466,11 +5510,6 @@ def _seg_51() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFF80, "M", "タ"), (0xFF81, "M", "チ"), (0xFF82, "M", "ツ"), - ] - - -def _seg_52() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xFF83, "M", "テ"), (0xFF84, "M", "ト"), (0xFF85, "M", "ナ"), @@ -5500,7 +5539,7 @@ def _seg_52() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFF9D, "M", "ン"), (0xFF9E, "M", "゙"), (0xFF9F, "M", "゚"), - (0xFFA0, "X"), + (0xFFA0, "I"), (0xFFA1, "M", "ᄀ"), (0xFFA2, "M", "ᄁ"), (0xFFA3, "M", "ᆪ"), @@ -5532,6 +5571,11 @@ def _seg_52() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFFBD, "M", "ᄑ"), (0xFFBE, "M", "ᄒ"), (0xFFBF, "X"), + ] + + +def _seg_53() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0xFFC2, "M", "ᅡ"), (0xFFC3, "M", "ᅢ"), (0xFFC4, "M", "ᅣ"), @@ -5560,7 +5604,7 @@ def _seg_52() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFFE0, "M", "¢"), (0xFFE1, "M", "£"), (0xFFE2, "M", "¬"), - (0xFFE3, "3", " ̄"), + (0xFFE3, "M", " ̄"), (0xFFE4, "M", "¦"), (0xFFE5, "M", "¥"), (0xFFE6, "M", "₩"), @@ -5571,11 +5615,6 @@ def _seg_52() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0xFFEB, "M", "→"), (0xFFEC, "M", "↓"), (0xFFED, "M", "■"), - ] - - -def _seg_53() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0xFFEE, "M", "○"), (0xFFEF, "X"), (0x10000, "V"), @@ -5637,6 +5676,11 @@ def _seg_53() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1040C, "M", "𐐴"), (0x1040D, "M", "𐐵"), (0x1040E, "M", "𐐶"), + ] + + +def _seg_54() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1040F, "M", "𐐷"), (0x10410, "M", "𐐸"), (0x10411, "M", "𐐹"), @@ -5676,11 +5720,6 @@ def _seg_53() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x104B7, "M", "𐓟"), (0x104B8, "M", "𐓠"), (0x104B9, "M", "𐓡"), - ] - - -def _seg_54() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x104BA, "M", "𐓢"), (0x104BB, "M", "𐓣"), (0x104BC, "M", "𐓤"), @@ -5742,6 +5781,11 @@ def _seg_54() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x10588, "M", "𐖯"), (0x10589, "M", "𐖰"), (0x1058A, "M", "𐖱"), + ] + + +def _seg_55() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1058B, "X"), (0x1058C, "M", "𐖳"), (0x1058D, "M", "𐖴"), @@ -5762,6 +5806,8 @@ def _seg_54() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x105BA, "X"), (0x105BB, "V"), (0x105BD, "X"), + (0x105C0, "V"), + (0x105F4, "X"), (0x10600, "V"), (0x10737, "X"), (0x10740, "V"), @@ -5781,11 +5827,6 @@ def _seg_54() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1078A, "M", "ʤ"), (0x1078B, "M", "ɖ"), (0x1078C, "M", "ɗ"), - ] - - -def _seg_55() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1078D, "M", "ᶑ"), (0x1078E, "M", "ɘ"), (0x1078F, "M", "ɞ"), @@ -5845,6 +5886,11 @@ def _seg_55() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1083D, "X"), (0x1083F, "V"), (0x10856, "X"), + ] + + +def _seg_56() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x10857, "V"), (0x1089F, "X"), (0x108A7, "V"), @@ -5886,11 +5932,6 @@ def _seg_55() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x10AEB, "V"), (0x10AF7, "X"), (0x10B00, "V"), - ] - - -def _seg_56() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x10B36, "X"), (0x10B39, "V"), (0x10B56, "X"), @@ -5950,6 +5991,11 @@ def _seg_56() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x10CAB, "M", "𐳫"), (0x10CAC, "M", "𐳬"), (0x10CAD, "M", "𐳭"), + ] + + +def _seg_57() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x10CAE, "M", "𐳮"), (0x10CAF, "M", "𐳯"), (0x10CB0, "M", "𐳰"), @@ -5962,6 +6008,34 @@ def _seg_56() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x10D28, "X"), (0x10D30, "V"), (0x10D3A, "X"), + (0x10D40, "V"), + (0x10D50, "M", ""), + (0x10D51, "M", ""), + (0x10D52, "M", ""), + (0x10D53, "M", ""), + (0x10D54, "M", ""), + (0x10D55, "M", ""), + (0x10D56, "M", ""), + (0x10D57, "M", ""), + (0x10D58, "M", ""), + (0x10D59, "M", ""), + (0x10D5A, "M", ""), + (0x10D5B, "M", ""), + (0x10D5C, "M", ""), + (0x10D5D, "M", ""), + (0x10D5E, "M", ""), + (0x10D5F, "M", ""), + (0x10D60, "M", ""), + (0x10D61, "M", ""), + (0x10D62, "M", ""), + (0x10D63, "M", ""), + (0x10D64, "M", ""), + (0x10D65, "M", ""), + (0x10D66, "X"), + (0x10D69, "V"), + (0x10D86, "X"), + (0x10D8E, "V"), + (0x10D90, "X"), (0x10E60, "V"), (0x10E7F, "X"), (0x10E80, "V"), @@ -5970,7 +6044,9 @@ def _seg_56() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x10EAE, "X"), (0x10EB0, "V"), (0x10EB2, "X"), - (0x10EFD, "V"), + (0x10EC2, "V"), + (0x10EC5, "X"), + (0x10EFC, "V"), (0x10F28, "X"), (0x10F30, "V"), (0x10F5A, "X"), @@ -5991,11 +6067,6 @@ def _seg_56() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x110D0, "V"), (0x110E9, "X"), (0x110F0, "V"), - ] - - -def _seg_57() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x110FA, "X"), (0x11100, "V"), (0x11135, "X"), @@ -6025,6 +6096,11 @@ def _seg_57() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x112EB, "X"), (0x112F0, "V"), (0x112FA, "X"), + ] + + +def _seg_58() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x11300, "V"), (0x11304, "X"), (0x11305, "V"), @@ -6055,6 +6131,28 @@ def _seg_57() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1136D, "X"), (0x11370, "V"), (0x11375, "X"), + (0x11380, "V"), + (0x1138A, "X"), + (0x1138B, "V"), + (0x1138C, "X"), + (0x1138E, "V"), + (0x1138F, "X"), + (0x11390, "V"), + (0x113B6, "X"), + (0x113B7, "V"), + (0x113C1, "X"), + (0x113C2, "V"), + (0x113C3, "X"), + (0x113C5, "V"), + (0x113C6, "X"), + (0x113C7, "V"), + (0x113CB, "X"), + (0x113CC, "V"), + (0x113D6, "X"), + (0x113D7, "V"), + (0x113D9, "X"), + (0x113E1, "V"), + (0x113E3, "X"), (0x11400, "V"), (0x1145C, "X"), (0x1145D, "V"), @@ -6077,6 +6175,8 @@ def _seg_57() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x116BA, "X"), (0x116C0, "V"), (0x116CA, "X"), + (0x116D0, "V"), + (0x116E4, "X"), (0x11700, "V"), (0x1171B, "X"), (0x1171D, "V"), @@ -6096,16 +6196,16 @@ def _seg_57() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x118A8, "M", "𑣈"), (0x118A9, "M", "𑣉"), (0x118AA, "M", "𑣊"), - ] - - -def _seg_58() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x118AB, "M", "𑣋"), (0x118AC, "M", "𑣌"), (0x118AD, "M", "𑣍"), (0x118AE, "M", "𑣎"), (0x118AF, "M", "𑣏"), + ] + + +def _seg_59() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x118B0, "M", "𑣐"), (0x118B1, "M", "𑣑"), (0x118B2, "M", "𑣒"), @@ -6154,6 +6254,10 @@ def _seg_58() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x11AF9, "X"), (0x11B00, "V"), (0x11B0A, "X"), + (0x11BC0, "V"), + (0x11BE2, "X"), + (0x11BF0, "V"), + (0x11BFA, "X"), (0x11C00, "V"), (0x11C09, "X"), (0x11C0A, "V"), @@ -6201,12 +6305,12 @@ def _seg_58() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x11F12, "V"), (0x11F3B, "X"), (0x11F3E, "V"), + (0x11F5B, "X"), ] -def _seg_59() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: +def _seg_60() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: return [ - (0x11F5A, "X"), (0x11FB0, "V"), (0x11FB1, "X"), (0x11FC0, "V"), @@ -6225,8 +6329,12 @@ def _seg_59() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x13430, "X"), (0x13440, "V"), (0x13456, "X"), + (0x13460, "V"), + (0x143FB, "X"), (0x14400, "V"), (0x14647, "X"), + (0x16100, "V"), + (0x1613A, "X"), (0x16800, "V"), (0x16A39, "X"), (0x16A40, "V"), @@ -6251,6 +6359,8 @@ def _seg_59() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x16B78, "X"), (0x16B7D, "V"), (0x16B90, "X"), + (0x16D40, "V"), + (0x16D7A, "X"), (0x16E40, "M", "𖹠"), (0x16E41, "M", "𖹡"), (0x16E42, "M", "𖹢"), @@ -6299,18 +6409,18 @@ def _seg_59() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x187F8, "X"), (0x18800, "V"), (0x18CD6, "X"), - (0x18D00, "V"), + (0x18CFF, "V"), (0x18D09, "X"), + ] + + +def _seg_61() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1AFF0, "V"), (0x1AFF4, "X"), (0x1AFF5, "V"), (0x1AFFC, "X"), (0x1AFFD, "V"), - ] - - -def _seg_60() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1AFFF, "X"), (0x1B000, "V"), (0x1B123, "X"), @@ -6335,6 +6445,46 @@ def _seg_60() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1BC9C, "V"), (0x1BCA0, "I"), (0x1BCA4, "X"), + (0x1CC00, "V"), + (0x1CCD6, "M", "a"), + (0x1CCD7, "M", "b"), + (0x1CCD8, "M", "c"), + (0x1CCD9, "M", "d"), + (0x1CCDA, "M", "e"), + (0x1CCDB, "M", "f"), + (0x1CCDC, "M", "g"), + (0x1CCDD, "M", "h"), + (0x1CCDE, "M", "i"), + (0x1CCDF, "M", "j"), + (0x1CCE0, "M", "k"), + (0x1CCE1, "M", "l"), + (0x1CCE2, "M", "m"), + (0x1CCE3, "M", "n"), + (0x1CCE4, "M", "o"), + (0x1CCE5, "M", "p"), + (0x1CCE6, "M", "q"), + (0x1CCE7, "M", "r"), + (0x1CCE8, "M", "s"), + (0x1CCE9, "M", "t"), + (0x1CCEA, "M", "u"), + (0x1CCEB, "M", "v"), + (0x1CCEC, "M", "w"), + (0x1CCED, "M", "x"), + (0x1CCEE, "M", "y"), + (0x1CCEF, "M", "z"), + (0x1CCF0, "M", "0"), + (0x1CCF1, "M", "1"), + (0x1CCF2, "M", "2"), + (0x1CCF3, "M", "3"), + (0x1CCF4, "M", "4"), + (0x1CCF5, "M", "5"), + (0x1CCF6, "M", "6"), + (0x1CCF7, "M", "7"), + (0x1CCF8, "M", "8"), + (0x1CCF9, "M", "9"), + (0x1CCFA, "X"), + (0x1CD00, "V"), + (0x1CEB4, "X"), (0x1CF00, "V"), (0x1CF2E, "X"), (0x1CF30, "V"), @@ -6354,7 +6504,7 @@ def _seg_60() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D163, "M", "𝅘𝅥𝅱"), (0x1D164, "M", "𝅘𝅥𝅲"), (0x1D165, "V"), - (0x1D173, "X"), + (0x1D173, "I"), (0x1D17B, "V"), (0x1D1BB, "M", "𝆹𝅥"), (0x1D1BC, "M", "𝆺𝅥"), @@ -6366,6 +6516,11 @@ def _seg_60() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D1EB, "X"), (0x1D200, "V"), (0x1D246, "X"), + ] + + +def _seg_62() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D2C0, "V"), (0x1D2D4, "X"), (0x1D2E0, "V"), @@ -6411,11 +6566,6 @@ def _seg_60() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D422, "M", "i"), (0x1D423, "M", "j"), (0x1D424, "M", "k"), - ] - - -def _seg_61() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1D425, "M", "l"), (0x1D426, "M", "m"), (0x1D427, "M", "n"), @@ -6471,6 +6621,11 @@ def _seg_61() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D459, "M", "l"), (0x1D45A, "M", "m"), (0x1D45B, "M", "n"), + ] + + +def _seg_63() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D45C, "M", "o"), (0x1D45D, "M", "p"), (0x1D45E, "M", "q"), @@ -6516,11 +6671,6 @@ def _seg_61() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D486, "M", "e"), (0x1D487, "M", "f"), (0x1D488, "M", "g"), - ] - - -def _seg_62() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1D489, "M", "h"), (0x1D48A, "M", "i"), (0x1D48B, "M", "j"), @@ -6576,6 +6726,11 @@ def _seg_62() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D4C0, "M", "k"), (0x1D4C1, "M", "l"), (0x1D4C2, "M", "m"), + ] + + +def _seg_64() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D4C3, "M", "n"), (0x1D4C4, "X"), (0x1D4C5, "M", "p"), @@ -6621,11 +6776,6 @@ def _seg_62() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D4ED, "M", "d"), (0x1D4EE, "M", "e"), (0x1D4EF, "M", "f"), - ] - - -def _seg_63() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1D4F0, "M", "g"), (0x1D4F1, "M", "h"), (0x1D4F2, "M", "i"), @@ -6681,6 +6831,11 @@ def _seg_63() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D525, "M", "h"), (0x1D526, "M", "i"), (0x1D527, "M", "j"), + ] + + +def _seg_65() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D528, "M", "k"), (0x1D529, "M", "l"), (0x1D52A, "M", "m"), @@ -6726,11 +6881,6 @@ def _seg_63() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D554, "M", "c"), (0x1D555, "M", "d"), (0x1D556, "M", "e"), - ] - - -def _seg_64() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1D557, "M", "f"), (0x1D558, "M", "g"), (0x1D559, "M", "h"), @@ -6786,6 +6936,11 @@ def _seg_64() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D58B, "M", "f"), (0x1D58C, "M", "g"), (0x1D58D, "M", "h"), + ] + + +def _seg_66() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D58E, "M", "i"), (0x1D58F, "M", "j"), (0x1D590, "M", "k"), @@ -6831,11 +6986,6 @@ def _seg_64() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D5B8, "M", "y"), (0x1D5B9, "M", "z"), (0x1D5BA, "M", "a"), - ] - - -def _seg_65() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1D5BB, "M", "b"), (0x1D5BC, "M", "c"), (0x1D5BD, "M", "d"), @@ -6891,6 +7041,11 @@ def _seg_65() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D5EF, "M", "b"), (0x1D5F0, "M", "c"), (0x1D5F1, "M", "d"), + ] + + +def _seg_67() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D5F2, "M", "e"), (0x1D5F3, "M", "f"), (0x1D5F4, "M", "g"), @@ -6936,11 +7091,6 @@ def _seg_65() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D61C, "M", "u"), (0x1D61D, "M", "v"), (0x1D61E, "M", "w"), - ] - - -def _seg_66() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1D61F, "M", "x"), (0x1D620, "M", "y"), (0x1D621, "M", "z"), @@ -6996,6 +7146,11 @@ def _seg_66() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D653, "M", "x"), (0x1D654, "M", "y"), (0x1D655, "M", "z"), + ] + + +def _seg_68() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D656, "M", "a"), (0x1D657, "M", "b"), (0x1D658, "M", "c"), @@ -7041,11 +7196,6 @@ def _seg_66() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D680, "M", "q"), (0x1D681, "M", "r"), (0x1D682, "M", "s"), - ] - - -def _seg_67() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1D683, "M", "t"), (0x1D684, "M", "u"), (0x1D685, "M", "v"), @@ -7101,6 +7251,11 @@ def _seg_67() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D6B8, "M", "ρ"), (0x1D6B9, "M", "θ"), (0x1D6BA, "M", "σ"), + ] + + +def _seg_69() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D6BB, "M", "τ"), (0x1D6BC, "M", "υ"), (0x1D6BD, "M", "φ"), @@ -7146,11 +7301,6 @@ def _seg_67() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D6E6, "M", "ε"), (0x1D6E7, "M", "ζ"), (0x1D6E8, "M", "η"), - ] - - -def _seg_68() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1D6E9, "M", "θ"), (0x1D6EA, "M", "ι"), (0x1D6EB, "M", "κ"), @@ -7206,6 +7356,11 @@ def _seg_68() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D71E, "M", "γ"), (0x1D71F, "M", "δ"), (0x1D720, "M", "ε"), + ] + + +def _seg_70() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D721, "M", "ζ"), (0x1D722, "M", "η"), (0x1D723, "M", "θ"), @@ -7251,11 +7406,6 @@ def _seg_68() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D74C, "M", "χ"), (0x1D74D, "M", "ψ"), (0x1D74E, "M", "ω"), - ] - - -def _seg_69() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1D74F, "M", "∂"), (0x1D750, "M", "ε"), (0x1D751, "M", "θ"), @@ -7311,6 +7461,11 @@ def _seg_69() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D784, "M", "υ"), (0x1D785, "M", "φ"), (0x1D786, "M", "χ"), + ] + + +def _seg_71() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D787, "M", "ψ"), (0x1D788, "M", "ω"), (0x1D789, "M", "∂"), @@ -7356,11 +7511,6 @@ def _seg_69() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D7B1, "M", "θ"), (0x1D7B2, "M", "ι"), (0x1D7B3, "M", "κ"), - ] - - -def _seg_70() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1D7B4, "M", "λ"), (0x1D7B5, "M", "μ"), (0x1D7B6, "M", "ν"), @@ -7416,6 +7566,11 @@ def _seg_70() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1D7EB, "M", "9"), (0x1D7EC, "M", "0"), (0x1D7ED, "M", "1"), + ] + + +def _seg_72() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1D7EE, "M", "2"), (0x1D7EF, "M", "3"), (0x1D7F0, "M", "4"), @@ -7461,11 +7616,6 @@ def _seg_70() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1E034, "M", "д"), (0x1E035, "M", "е"), (0x1E036, "M", "ж"), - ] - - -def _seg_71() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1E037, "M", "з"), (0x1E038, "M", "и"), (0x1E039, "M", "к"), @@ -7521,6 +7671,11 @@ def _seg_71() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1E06B, "M", "ҫ"), (0x1E06C, "M", "ꙑ"), (0x1E06D, "M", "ұ"), + ] + + +def _seg_73() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1E06E, "X"), (0x1E08F, "V"), (0x1E090, "X"), @@ -7540,6 +7695,10 @@ def _seg_71() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1E300, "X"), (0x1E4D0, "V"), (0x1E4FA, "X"), + (0x1E5D0, "V"), + (0x1E5FB, "X"), + (0x1E5FF, "V"), + (0x1E600, "X"), (0x1E7E0, "V"), (0x1E7E7, "X"), (0x1E7E8, "V"), @@ -7566,11 +7725,6 @@ def _seg_71() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1E90B, "M", "𞤭"), (0x1E90C, "M", "𞤮"), (0x1E90D, "M", "𞤯"), - ] - - -def _seg_72() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1E90E, "M", "𞤰"), (0x1E90F, "M", "𞤱"), (0x1E910, "M", "𞤲"), @@ -7622,6 +7776,11 @@ def _seg_72() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1EE12, "M", "ق"), (0x1EE13, "M", "ر"), (0x1EE14, "M", "ش"), + ] + + +def _seg_74() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1EE15, "M", "ت"), (0x1EE16, "M", "ث"), (0x1EE17, "M", "خ"), @@ -7671,11 +7830,6 @@ def _seg_72() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1EE4C, "X"), (0x1EE4D, "M", "ن"), (0x1EE4E, "M", "س"), - ] - - -def _seg_73() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1EE4F, "M", "ع"), (0x1EE50, "X"), (0x1EE51, "M", "ص"), @@ -7727,6 +7881,11 @@ def _seg_73() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1EE81, "M", "ب"), (0x1EE82, "M", "ج"), (0x1EE83, "M", "د"), + ] + + +def _seg_75() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1EE84, "M", "ه"), (0x1EE85, "M", "و"), (0x1EE86, "M", "ز"), @@ -7776,11 +7935,6 @@ def _seg_73() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1EEB6, "M", "ث"), (0x1EEB7, "M", "خ"), (0x1EEB8, "M", "ذ"), - ] - - -def _seg_74() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1EEB9, "M", "ض"), (0x1EEBA, "M", "ظ"), (0x1EEBB, "M", "غ"), @@ -7799,43 +7953,48 @@ def _seg_74() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1F0D0, "X"), (0x1F0D1, "V"), (0x1F0F6, "X"), - (0x1F101, "3", "0,"), - (0x1F102, "3", "1,"), - (0x1F103, "3", "2,"), - (0x1F104, "3", "3,"), - (0x1F105, "3", "4,"), - (0x1F106, "3", "5,"), - (0x1F107, "3", "6,"), - (0x1F108, "3", "7,"), - (0x1F109, "3", "8,"), - (0x1F10A, "3", "9,"), + (0x1F101, "M", "0,"), + (0x1F102, "M", "1,"), + (0x1F103, "M", "2,"), + (0x1F104, "M", "3,"), + (0x1F105, "M", "4,"), + (0x1F106, "M", "5,"), + (0x1F107, "M", "6,"), + (0x1F108, "M", "7,"), + (0x1F109, "M", "8,"), + (0x1F10A, "M", "9,"), (0x1F10B, "V"), - (0x1F110, "3", "(a)"), - (0x1F111, "3", "(b)"), - (0x1F112, "3", "(c)"), - (0x1F113, "3", "(d)"), - (0x1F114, "3", "(e)"), - (0x1F115, "3", "(f)"), - (0x1F116, "3", "(g)"), - (0x1F117, "3", "(h)"), - (0x1F118, "3", "(i)"), - (0x1F119, "3", "(j)"), - (0x1F11A, "3", "(k)"), - (0x1F11B, "3", "(l)"), - (0x1F11C, "3", "(m)"), - (0x1F11D, "3", "(n)"), - (0x1F11E, "3", "(o)"), - (0x1F11F, "3", "(p)"), - (0x1F120, "3", "(q)"), - (0x1F121, "3", "(r)"), - (0x1F122, "3", "(s)"), - (0x1F123, "3", "(t)"), - (0x1F124, "3", "(u)"), - (0x1F125, "3", "(v)"), - (0x1F126, "3", "(w)"), - (0x1F127, "3", "(x)"), - (0x1F128, "3", "(y)"), - (0x1F129, "3", "(z)"), + (0x1F110, "M", "(a)"), + (0x1F111, "M", "(b)"), + (0x1F112, "M", "(c)"), + (0x1F113, "M", "(d)"), + (0x1F114, "M", "(e)"), + (0x1F115, "M", "(f)"), + (0x1F116, "M", "(g)"), + (0x1F117, "M", "(h)"), + (0x1F118, "M", "(i)"), + (0x1F119, "M", "(j)"), + (0x1F11A, "M", "(k)"), + (0x1F11B, "M", "(l)"), + (0x1F11C, "M", "(m)"), + (0x1F11D, "M", "(n)"), + (0x1F11E, "M", "(o)"), + (0x1F11F, "M", "(p)"), + (0x1F120, "M", "(q)"), + (0x1F121, "M", "(r)"), + (0x1F122, "M", "(s)"), + (0x1F123, "M", "(t)"), + (0x1F124, "M", "(u)"), + (0x1F125, "M", "(v)"), + ] + + +def _seg_76() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ + (0x1F126, "M", "(w)"), + (0x1F127, "M", "(x)"), + (0x1F128, "M", "(y)"), + (0x1F129, "M", "(z)"), (0x1F12A, "M", "〔s〕"), (0x1F12B, "M", "c"), (0x1F12C, "M", "r"), @@ -7881,11 +8040,6 @@ def _seg_74() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1F16D, "V"), (0x1F190, "M", "dj"), (0x1F191, "V"), - ] - - -def _seg_75() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x1F1AE, "X"), (0x1F1E6, "V"), (0x1F200, "M", "ほか"), @@ -7937,6 +8091,11 @@ def _seg_75() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1F23A, "M", "営"), (0x1F23B, "M", "配"), (0x1F23C, "X"), + ] + + +def _seg_77() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x1F240, "M", "〔本〕"), (0x1F241, "M", "〔三〕"), (0x1F242, "M", "〔二〕"), @@ -7977,7 +8136,9 @@ def _seg_75() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1F890, "V"), (0x1F8AE, "X"), (0x1F8B0, "V"), - (0x1F8B2, "X"), + (0x1F8BC, "X"), + (0x1F8C0, "V"), + (0x1F8C2, "X"), (0x1F900, "V"), (0x1FA54, "X"), (0x1FA60, "V"), @@ -7985,26 +8146,18 @@ def _seg_75() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x1FA70, "V"), (0x1FA7D, "X"), (0x1FA80, "V"), - (0x1FA89, "X"), - ] - - -def _seg_76() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ - (0x1FA90, "V"), - (0x1FABE, "X"), - (0x1FABF, "V"), - (0x1FAC6, "X"), + (0x1FA8A, "X"), + (0x1FA8F, "V"), + (0x1FAC7, "X"), (0x1FACE, "V"), - (0x1FADC, "X"), - (0x1FAE0, "V"), - (0x1FAE9, "X"), + (0x1FADD, "X"), + (0x1FADF, "V"), + (0x1FAEA, "X"), (0x1FAF0, "V"), (0x1FAF9, "X"), (0x1FB00, "V"), (0x1FB93, "X"), (0x1FB94, "V"), - (0x1FBCB, "X"), (0x1FBF0, "M", "0"), (0x1FBF1, "M", "1"), (0x1FBF2, "M", "2"), @@ -8043,6 +8196,11 @@ def _seg_76() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F80C, "M", "㒞"), (0x2F80D, "M", "𠘺"), (0x2F80E, "M", "免"), + ] + + +def _seg_78() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2F80F, "M", "兔"), (0x2F810, "M", "兤"), (0x2F811, "M", "具"), @@ -8091,11 +8249,6 @@ def _seg_76() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F83E, "M", "呈"), (0x2F83F, "M", "周"), (0x2F840, "M", "咢"), - ] - - -def _seg_77() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x2F841, "M", "哶"), (0x2F842, "M", "唐"), (0x2F843, "M", "啓"), @@ -8134,7 +8287,7 @@ def _seg_77() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F865, "M", "姘"), (0x2F866, "M", "婦"), (0x2F867, "M", "㛮"), - (0x2F868, "X"), + (0x2F868, "M", "㛼"), (0x2F869, "M", "嬈"), (0x2F86A, "M", "嬾"), (0x2F86C, "M", "𡧈"), @@ -8145,9 +8298,14 @@ def _seg_77() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F871, "M", "𡬘"), (0x2F872, "M", "寿"), (0x2F873, "M", "将"), - (0x2F874, "X"), + (0x2F874, "M", "当"), (0x2F875, "M", "尢"), (0x2F876, "M", "㞁"), + ] + + +def _seg_79() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2F877, "M", "屠"), (0x2F878, "M", "屮"), (0x2F879, "M", "峀"), @@ -8196,11 +8354,6 @@ def _seg_77() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F8A6, "M", "慈"), (0x2F8A7, "M", "慌"), (0x2F8A8, "M", "慎"), - ] - - -def _seg_78() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x2F8A9, "M", "慌"), (0x2F8AA, "M", "慺"), (0x2F8AB, "M", "憎"), @@ -8253,6 +8406,11 @@ def _seg_78() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F8DA, "M", "朡"), (0x2F8DB, "M", "杞"), (0x2F8DC, "M", "杓"), + ] + + +def _seg_80() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2F8DD, "M", "𣏃"), (0x2F8DE, "M", "㭉"), (0x2F8DF, "M", "柺"), @@ -8301,11 +8459,6 @@ def _seg_78() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F90A, "M", "㴳"), (0x2F90B, "M", "滋"), (0x2F90C, "M", "滇"), - ] - - -def _seg_79() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x2F90D, "M", "𣻑"), (0x2F90E, "M", "淹"), (0x2F90F, "M", "潮"), @@ -8324,7 +8477,7 @@ def _seg_79() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F91C, "M", "煅"), (0x2F91D, "M", "𤉣"), (0x2F91E, "M", "熜"), - (0x2F91F, "X"), + (0x2F91F, "M", "𤎫"), (0x2F920, "M", "爨"), (0x2F921, "M", "爵"), (0x2F922, "M", "牐"), @@ -8358,6 +8511,11 @@ def _seg_79() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F93F, "M", "䀈"), (0x2F940, "M", "直"), (0x2F941, "M", "𥃳"), + ] + + +def _seg_81() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2F942, "M", "𥃲"), (0x2F943, "M", "𥄙"), (0x2F944, "M", "𥄳"), @@ -8385,7 +8543,7 @@ def _seg_79() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F95B, "M", "穏"), (0x2F95C, "M", "𥥼"), (0x2F95D, "M", "𥪧"), - (0x2F95F, "X"), + (0x2F95F, "M", "竮"), (0x2F960, "M", "䈂"), (0x2F961, "M", "𥮫"), (0x2F962, "M", "篆"), @@ -8406,11 +8564,6 @@ def _seg_79() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F971, "M", "䌴"), (0x2F972, "M", "𦈨"), (0x2F973, "M", "𦉇"), - ] - - -def _seg_80() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x2F974, "M", "䍙"), (0x2F975, "M", "𦋙"), (0x2F976, "M", "罺"), @@ -8463,6 +8616,11 @@ def _seg_80() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F9A5, "M", "𦵫"), (0x2F9A6, "M", "𦳕"), (0x2F9A7, "M", "䔫"), + ] + + +def _seg_82() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2F9A8, "M", "蓱"), (0x2F9A9, "M", "蓳"), (0x2F9AA, "M", "蔖"), @@ -8486,7 +8644,7 @@ def _seg_80() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F9BC, "M", "蜨"), (0x2F9BD, "M", "蝫"), (0x2F9BE, "M", "螆"), - (0x2F9BF, "X"), + (0x2F9BF, "M", "䗗"), (0x2F9C0, "M", "蟡"), (0x2F9C1, "M", "蠁"), (0x2F9C2, "M", "䗹"), @@ -8511,11 +8669,6 @@ def _seg_80() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2F9D5, "M", "賁"), (0x2F9D6, "M", "贛"), (0x2F9D7, "M", "起"), - ] - - -def _seg_81() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: - return [ (0x2F9D8, "M", "𧼯"), (0x2F9D9, "M", "𠠄"), (0x2F9DA, "M", "跋"), @@ -8568,6 +8721,11 @@ def _seg_81() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: (0x2FA0A, "M", "鬒"), (0x2FA0B, "M", "鱀"), (0x2FA0C, "M", "鳽"), + ] + + +def _seg_83() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]: + return [ (0x2FA0D, "M", "䳎"), (0x2FA0E, "M", "䳭"), (0x2FA0F, "M", "鵧"), @@ -8678,4 +8836,6 @@ uts46data = tuple( + _seg_79() + _seg_80() + _seg_81() + + _seg_82() + + _seg_83() ) # type: Tuple[Union[Tuple[int, str], Tuple[int, str, str]], ...] diff --git a/contrib/python/idna/py3/tests/test_idna_other.py b/contrib/python/idna/py3/tests/test_idna_other.py deleted file mode 100644 index 835e6c67b07..00000000000 --- a/contrib/python/idna/py3/tests/test_idna_other.py +++ /dev/null @@ -1,11 +0,0 @@ -"""Tests for other functions""" - -import unittest - -import idna - - -class OtherUTS46Tests(unittest.TestCase): - def test_std3(self): - self.assertEqual(idna.uts46_remap("A_", std3_rules=False), "a_") - self.assertRaises(idna.InvalidCodepoint, idna.uts46_remap, "A_", std3_rules=True) diff --git a/contrib/python/idna/py3/tests/test_idna_uts46.py b/contrib/python/idna/py3/tests/test_idna_uts46.py index f4a007f2606..2dfeae630ef 100644 --- a/contrib/python/idna/py3/tests/test_idna_uts46.py +++ b/contrib/python/idna/py3/tests/test_idna_uts46.py @@ -1,220 +1,25353 @@ -"""Tests for TR46 code.""" +# This file is automatically generated by tools/idna-data -import os.path -import re import unittest import idna -_RE_UNICODE = re.compile("\\\\u([0-9a-fA-F]{4})") -_RE_SURROGATE = re.compile("[\ud800-\udbff][\udc00-\udfff]") -_SKIP_TESTS = [ - # These are strings that are illegal in IDNA 2008. Older versions of the UTS-46 test suite - # had these denoted with the 'NV8' marker but this has been removed, so we need to manually - # review exceptions and add them here to skip them as text vectors if they are invalid. - "\U000102f7\u3002\u200d", - "\U0001d7f5\u9681\u2bee\uff0e\u180d\u200c", - "9\u9681\u2bee.\u180d\u200c", - "\u00df\u200c\uaaf6\u18a5.\u22b6\u2d21\u2d16", - "ss\u200c\uaaf6\u18a5.\u22b6\u2d21\u2d16", - "\u00df\u200c\uaaf6\u18a5\uff0e\u22b6\u2d21\u2d16", - "ss\u200c\uaaf6\u18a5\uff0e\u22b6\u2d21\u2d16", - "\U00010a57\u200d\u3002\u2d09\u2d15", - "\U00010a57\u200d\uff61\u2d09\u2d15", - "\U0001d7cf\U0001da19\u2e16.\u200d", - "1\U0001da19\u2e16.\u200d", - "\U0001d7e04\U000e01d7\U0001d23b\uff0e\u200d\U000102f5\u26e7\u200d", - "84\U000e01d7\U0001d23b.\u200d\U000102f5\u26e7\u200d", - "\u00a1", - "xn--7a", - "\u19da", - "xn--pkf", - "\u2615", - "xn--53h", - "\U0001e937.\U00010b90\U0001e881\U00010e60\u0624", - "\U0001e937.\U00010b90\U0001e881\U00010e60\u0648\u0654", - "\U0001e915.\U00010b90\U0001e881\U00010e60\u0648\u0654", - "\U0001e915.\U00010b90\U0001e881\U00010e60\u0624", - "xn--ve6h.xn--jgb1694kz0b2176a", - "\u00df\u3002\U000102f3\u2d0c\u0fb8", - "ss\u3002\U000102f3\u2d0c\u0fb8", - "ss.xn--lgd921mvv0m", - "ss.\U000102f3\u2d0c\u0fb8", - "xn--zca.xn--lgd921mvv0m", - "\u00df.\U000102f3\u2d0c\u0fb8", - "\u00df\uff61\U000102f3\u2d0c\u0fb8", - "ss\uff61\U000102f3\u2d0c\u0fb8", - "\u16ad\uff61\U0001d320\u00df\U00016af1", - "\u16ad\u3002\U0001d320\u00df\U00016af1", - "\u16ad\u3002\U0001d320SS\U00016af1", - "\u16ad\u3002\U0001d320ss\U00016af1", - "\u16ad\u3002\U0001d320Ss\U00016af1", - "xn--hwe.xn--ss-ci1ub261a", - "\u16ad.\U0001d320ss\U00016af1", - "\u16ad.\U0001d320SS\U00016af1", - "\u16ad.\U0001d320Ss\U00016af1", - "xn--hwe.xn--zca4946pblnc", - "\u16ad.\U0001d320\u00df\U00016af1", - "\u16ad\uff61\U0001d320SS\U00016af1", - "\u16ad\uff61\U0001d320ss\U00016af1", - "\u16ad\uff61\U0001d320Ss\U00016af1", - "\u2d1a\U000102f8\U000e0104\u30025\ud7f6\u103a", - "xn--ilj2659d.xn--5-dug9054m", - "\u2d1a\U000102f8.5\ud7f6\u103a", - "\u2d1a\U000102f8\U000e0104\u3002\U0001d7dd\ud7f6\u103a", - "xn--9-mfs8024b.", - "9\u9681\u2bee.", - "xn--ss-4epx629f.xn--ifh802b6a", - "ss\uaaf6\u18a5.\u22b6\u2d21\u2d16", - "xn--pt9c.xn--0kjya", - "\U00010a57.\u2d09\u2d15", - "\ua5f7\U00011180.\u075d\U00010a52", - "xn--ju8a625r.xn--hpb0073k", - "\u03c2.\u0641\u0645\u064a\U0001f79b1.", - "\u03a3.\u0641\u0645\u064a\U0001f79b1.", - "\u03c3.\u0641\u0645\u064a\U0001f79b1.", - "xn--4xa.xn--1-gocmu97674d.", - "xn--3xa.xn--1-gocmu97674d.", - "xn--1-5bt6845n.", - "1\U0001da19\u2e16.", - "xn--84-s850a.xn--59h6326e", - "84\U0001d23b.\U000102f5\u26e7", - "xn--r97c.", - "\U000102f7.", - # These appear to be errors in the test vectors. All relate to incorrectly applying - # bidi rules across label boundaries. Appears independently confirmed - # at http://www.alvestrand.no/pipermail/idna-update/2017-January/007946.html - "0\u00e0.\u05d0", - "0a\u0300.\u05d0", - "0A\u0300.\u05d0", - "0\u00c0.\u05d0", - "xn--0-sfa.xn--4db", - "\u00e0\u02c7.\u05d0", - "a\u0300\u02c7.\u05d0", - "A\u0300\u02c7.\u05d0", - "\u00c0\u02c7.\u05d0", - "xn--0ca88g.xn--4db", - "0A.\u05d0", - "0a.\u05d0", - "0a.xn--4db", - "c.xn--0-eha.xn--4db", - "c.0\u00fc.\u05d0", - "c.0u\u0308.\u05d0", - "C.0U\u0308.\u05d0", - "C.0\u00dc.\u05d0", - "C.0\u00fc.\u05d0", - "C.0\u0075\u0308.\u05d0", - "\u06b6\u06df\u3002\u2087\ua806", - "\u06b6\u06df\u30027\ua806", - "xn--pkb6f.xn--7-x93e", - "\u06b6\u06df.7\ua806", - "1.\uac7e6.\U00010c41\u06d0", - "1.\u1100\u1165\u11b56.\U00010c41\u06d0", - "1.xn--6-945e.xn--glb1794k", -] - - -def unicode_fixup(string): - """Replace backslash-u-XXXX with appropriate unicode characters.""" - return _RE_SURROGATE.sub( - lambda match: chr((ord(match.group(0)[0]) - 0xD800) * 0x400 + ord(match.group(0)[1]) - 0xDC00 + 0x10000), - _RE_UNICODE.sub(lambda match: chr(int(match.group(1), 16)), string), - ) - - -def parse_idna_test_table(inputstream): - """Parse IdnaTestV2.txt and return a list of tuples.""" - for lineno, line in enumerate(inputstream): - line = line.decode("utf-8").strip() - if "#" in line: - line = line.split("#", 1)[0] - if not line: - continue - yield ((lineno + 1, tuple(field.strip() for field in line.split(";")))) - - -class TestIdnaTest(unittest.TestCase): - """Run one of the IdnaTestV2.txt test lines.""" - - def __init__(self, lineno=None, fields=None): - super().__init__() - self.lineno = lineno - self.fields = fields - - def id(self): - return "{}.{}".format(super().id(), self.lineno) - - def shortDescription(self): - if not self.fields: - return "" - return "IdnaTestV2.txt line {}: {}".format(self.lineno, "; ".join(self.fields)) - - def runTest(self): - if not self.fields: - return - ( - source, - to_unicode, - to_unicode_status, - to_ascii, - to_ascii_status, - to_ascii_t, - to_ascii_t_status, - ) = self.fields - if source in _SKIP_TESTS: - return - if not to_unicode: - to_unicode = source - if not to_unicode_status: - to_unicode_status = "[]" - if not to_ascii: - to_ascii = to_unicode - if not to_ascii_status: - to_ascii_status = to_unicode_status - if not to_ascii_t: - to_ascii_t = to_ascii - if not to_ascii_t_status: - to_ascii_t_status = to_ascii_status - - try: - output = idna.decode(source, uts46=True, strict=True) - if to_unicode_status != "[]": - self.fail("decode() did not emit required error {} for {}".format(to_unicode, repr(source))) - self.assertEqual(output, to_unicode, "unexpected decode() output") - except (idna.IDNAError, UnicodeError, ValueError) as exc: - if str(exc).startswith("Unknown"): - raise unittest.SkipTest("Test requires support for a newer" " version of Unicode than this Python supports") - if to_unicode_status == "[]": - raise - - try: - output = idna.encode(source, uts46=True, strict=True).decode("ascii") - if to_ascii_status != "[]": - self.fail("encode() did not emit required error {} for {}".format(to_ascii_status, repr(source))) - self.assertEqual(output, to_ascii, "unexpected encode() output") - except (idna.IDNAError, UnicodeError, ValueError) as exc: - if str(exc).startswith("Unknown"): - raise unittest.SkipTest("Test requires support for a newer" " version of Unicode than this Python supports") - if to_ascii_status == "[]": - raise - - try: - output = idna.encode(source, uts46=True, strict=True, transitional=True).decode("ascii") - if to_ascii_t_status != "[]": - self.fail( - "encode(transitional=True) did not emit required error {} for {}".format(to_ascii_t_status, repr(source)) - ) - self.assertEqual(output, to_ascii_t, "unexpected encode() output") - except (idna.IDNAError, UnicodeError, ValueError) as exc: - if str(exc).startswith("Unknown"): - raise unittest.SkipTest("Test requires support for a newer" " version of Unicode than this Python supports") - if to_ascii_t_status == "[]": - raise - - -def load_tests(loader, tests, pattern): - """Create a suite of all the individual tests.""" - suite = unittest.TestSuite() - with open(os.path.join(os.path.dirname(__file__), "IdnaTestV2.txt"), "rb") as tests_file: - suite.addTests(TestIdnaTest(lineno, fields) for lineno, fields in parse_idna_test_table(tests_file)) - return suite + +class UTS46Tests(unittest.TestCase): + + def test_uts46_106(self): + self.assertEqual(idna.decode('fass.de', uts46=True, strict=True), 'fass.de') + self.assertEqual(idna.encode('fass.de', uts46=True, strict=True), b'fass.de') + + def test_uts46_107(self): + self.assertEqual(idna.decode('faß.de', uts46=True, strict=True), 'faß.de') + self.assertEqual(idna.encode('faß.de', uts46=True, strict=True), b'xn--fa-hia.de') + + def test_uts46_108(self): + self.assertEqual(idna.decode('Faß.de', uts46=True, strict=True), 'faß.de') + self.assertEqual(idna.encode('Faß.de', uts46=True, strict=True), b'xn--fa-hia.de') + + def test_uts46_109(self): + self.assertEqual(idna.decode('xn--fa-hia.de', uts46=True, strict=True), 'faß.de') + self.assertEqual(idna.encode('xn--fa-hia.de', uts46=True, strict=True), b'xn--fa-hia.de') + + def test_uts46_113(self): + self.assertRaises(idna.IDNAError, idna.decode, 'àא', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'àא', strict=True) + + def test_uts46_114(self): + self.assertRaises(idna.IDNAError, idna.decode, 'àא', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'àא', strict=True) + + def test_uts46_115(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Àא', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Àא', strict=True) + + def test_uts46_116(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Àא', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Àא', strict=True) + + def test_uts46_117(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ca24w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ca24w', strict=True) + + def test_uts46_123(self): + self.assertEqual(idna.decode('à.א̈', uts46=True, strict=True), 'à.א̈') + self.assertEqual(idna.encode('à.א̈', uts46=True, strict=True), b'xn--0ca.xn--ssa73l') + + def test_uts46_124(self): + self.assertEqual(idna.decode('à.א̈', uts46=True, strict=True), 'à.א̈') + self.assertEqual(idna.encode('à.א̈', uts46=True, strict=True), b'xn--0ca.xn--ssa73l') + + def test_uts46_125(self): + self.assertEqual(idna.decode('À.א̈', uts46=True, strict=True), 'à.א̈') + self.assertEqual(idna.encode('À.א̈', uts46=True, strict=True), b'xn--0ca.xn--ssa73l') + + def test_uts46_126(self): + self.assertEqual(idna.decode('À.א̈', uts46=True, strict=True), 'à.א̈') + self.assertEqual(idna.encode('À.א̈', uts46=True, strict=True), b'xn--0ca.xn--ssa73l') + + def test_uts46_127(self): + self.assertEqual(idna.decode('xn--0ca.xn--ssa73l', uts46=True, strict=True), 'à.א̈') + self.assertEqual(idna.encode('xn--0ca.xn--ssa73l', uts46=True, strict=True), b'xn--0ca.xn--ssa73l') + + def test_uts46_128(self): + self.assertRaises(idna.IDNAError, idna.decode, 'à.א0٠א', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'à.א0٠א', strict=True) + + def test_uts46_129(self): + self.assertRaises(idna.IDNAError, idna.decode, 'à.א0٠א', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'à.א0٠א', strict=True) + + def test_uts46_130(self): + self.assertRaises(idna.IDNAError, idna.decode, 'À.א0٠א', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'À.א0٠א', strict=True) + + def test_uts46_131(self): + self.assertRaises(idna.IDNAError, idna.decode, 'À.א0٠א', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'À.א0٠א', strict=True) + + def test_uts46_132(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ca.xn--0-zhcb98c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ca.xn--0-zhcb98c', strict=True) + + def test_uts46_133(self): + self.assertRaises(idna.IDNAError, idna.decode, '̈.א', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '̈.א', strict=True) + + def test_uts46_134(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ssa.xn--4db', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ssa.xn--4db', strict=True) + + def test_uts46_135(self): + self.assertRaises(idna.IDNAError, idna.decode, 'à.א0٠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'à.א0٠', strict=True) + + def test_uts46_136(self): + self.assertRaises(idna.IDNAError, idna.decode, 'à.א0٠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'à.א0٠', strict=True) + + def test_uts46_137(self): + self.assertRaises(idna.IDNAError, idna.decode, 'À.א0٠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'À.א0٠', strict=True) + + def test_uts46_138(self): + self.assertRaises(idna.IDNAError, idna.decode, 'À.א0٠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'À.א0٠', strict=True) + + def test_uts46_139(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ca.xn--0-zhc74b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ca.xn--0-zhc74b', strict=True) + + def test_uts46_145(self): + self.assertEqual(idna.decode('à̈.א', uts46=True, strict=True), 'à̈.א') + self.assertEqual(idna.encode('à̈.א', uts46=True, strict=True), b'xn--0ca81i.xn--4db') + + def test_uts46_146(self): + self.assertEqual(idna.decode('à̈.א', uts46=True, strict=True), 'à̈.א') + self.assertEqual(idna.encode('à̈.א', uts46=True, strict=True), b'xn--0ca81i.xn--4db') + + def test_uts46_147(self): + self.assertEqual(idna.decode('À̈.א', uts46=True, strict=True), 'à̈.א') + self.assertEqual(idna.encode('À̈.א', uts46=True, strict=True), b'xn--0ca81i.xn--4db') + + def test_uts46_148(self): + self.assertEqual(idna.decode('À̈.א', uts46=True, strict=True), 'à̈.א') + self.assertEqual(idna.encode('À̈.א', uts46=True, strict=True), b'xn--0ca81i.xn--4db') + + def test_uts46_149(self): + self.assertEqual(idna.decode('xn--0ca81i.xn--4db', uts46=True, strict=True), 'à̈.א') + self.assertEqual(idna.encode('xn--0ca81i.xn--4db', uts46=True, strict=True), b'xn--0ca81i.xn--4db') + + def test_uts46_153(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a\u200cb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a\u200cb', strict=True) + + def test_uts46_154(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A\u200cB', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A\u200cB', strict=True) + + def test_uts46_155(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A\u200cb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A\u200cb', strict=True) + + def test_uts46_156(self): + self.assertEqual(idna.decode('ab', uts46=True, strict=True), 'ab') + self.assertEqual(idna.encode('ab', uts46=True, strict=True), b'ab') + + def test_uts46_157(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ab-j1t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ab-j1t', strict=True) + + def test_uts46_158(self): + self.assertEqual(idna.decode('a्\u200cb', uts46=True, strict=True), 'a्\u200cb') + self.assertEqual(idna.encode('a्\u200cb', uts46=True, strict=True), b'xn--ab-fsf604u') + + def test_uts46_159(self): + self.assertEqual(idna.decode('A्\u200cB', uts46=True, strict=True), 'a्\u200cb') + self.assertEqual(idna.encode('A्\u200cB', uts46=True, strict=True), b'xn--ab-fsf604u') + + def test_uts46_160(self): + self.assertEqual(idna.decode('A्\u200cb', uts46=True, strict=True), 'a्\u200cb') + self.assertEqual(idna.encode('A्\u200cb', uts46=True, strict=True), b'xn--ab-fsf604u') + + def test_uts46_161(self): + self.assertEqual(idna.decode('xn--ab-fsf', uts46=True, strict=True), 'a्b') + self.assertEqual(idna.encode('xn--ab-fsf', uts46=True, strict=True), b'xn--ab-fsf') + + def test_uts46_162(self): + self.assertEqual(idna.decode('a्b', uts46=True, strict=True), 'a्b') + self.assertEqual(idna.encode('a्b', uts46=True, strict=True), b'xn--ab-fsf') + + def test_uts46_163(self): + self.assertEqual(idna.decode('A्B', uts46=True, strict=True), 'a्b') + self.assertEqual(idna.encode('A्B', uts46=True, strict=True), b'xn--ab-fsf') + + def test_uts46_164(self): + self.assertEqual(idna.decode('A्b', uts46=True, strict=True), 'a्b') + self.assertEqual(idna.encode('A्b', uts46=True, strict=True), b'xn--ab-fsf') + + def test_uts46_165(self): + self.assertEqual(idna.decode('xn--ab-fsf604u', uts46=True, strict=True), 'a्\u200cb') + self.assertEqual(idna.encode('xn--ab-fsf604u', uts46=True, strict=True), b'xn--ab-fsf604u') + + def test_uts46_166(self): + self.assertRaises(idna.IDNAError, idna.decode, '̈\u200c̈بb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '̈\u200c̈بb', strict=True) + + def test_uts46_167(self): + self.assertRaises(idna.IDNAError, idna.decode, '̈\u200c̈بB', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '̈\u200c̈بB', strict=True) + + def test_uts46_168(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b-bcba413a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b-bcba413a', strict=True) + + def test_uts46_169(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b-bcba413a2w8b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b-bcba413a2w8b', strict=True) + + def test_uts46_170(self): + self.assertRaises(idna.IDNAError, idna.decode, 'aب̈\u200c̈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'aب̈\u200c̈', strict=True) + + def test_uts46_171(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Aب̈\u200c̈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Aب̈\u200c̈', strict=True) + + def test_uts46_172(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a-ccba213a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a-ccba213a', strict=True) + + def test_uts46_173(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a-ccba213a5w8b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a-ccba213a5w8b', strict=True) + + def test_uts46_174(self): + self.assertRaises(idna.IDNAError, idna.decode, 'aب̈\u200c̈بb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'aب̈\u200c̈بb', strict=True) + + def test_uts46_175(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Aب̈\u200c̈بB', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Aب̈\u200c̈بB', strict=True) + + def test_uts46_176(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Aب̈\u200c̈بb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Aب̈\u200c̈بb', strict=True) + + def test_uts46_177(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ab-uuba211bca', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ab-uuba211bca', strict=True) + + def test_uts46_178(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ab-uuba211bca8057b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ab-uuba211bca8057b', strict=True) + + def test_uts46_179(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a\u200db', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a\u200db', strict=True) + + def test_uts46_180(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A\u200dB', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A\u200dB', strict=True) + + def test_uts46_181(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A\u200db', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A\u200db', strict=True) + + def test_uts46_182(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ab-m1t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ab-m1t', strict=True) + + def test_uts46_183(self): + self.assertEqual(idna.decode('a्\u200db', uts46=True, strict=True), 'a्\u200db') + self.assertEqual(idna.encode('a्\u200db', uts46=True, strict=True), b'xn--ab-fsf014u') + + def test_uts46_184(self): + self.assertEqual(idna.decode('A्\u200dB', uts46=True, strict=True), 'a्\u200db') + self.assertEqual(idna.encode('A्\u200dB', uts46=True, strict=True), b'xn--ab-fsf014u') + + def test_uts46_185(self): + self.assertEqual(idna.decode('A्\u200db', uts46=True, strict=True), 'a्\u200db') + self.assertEqual(idna.encode('A्\u200db', uts46=True, strict=True), b'xn--ab-fsf014u') + + def test_uts46_186(self): + self.assertEqual(idna.decode('xn--ab-fsf014u', uts46=True, strict=True), 'a्\u200db') + self.assertEqual(idna.encode('xn--ab-fsf014u', uts46=True, strict=True), b'xn--ab-fsf014u') + + def test_uts46_187(self): + self.assertRaises(idna.IDNAError, idna.decode, '̈\u200d̈بb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '̈\u200d̈بb', strict=True) + + def test_uts46_188(self): + self.assertRaises(idna.IDNAError, idna.decode, '̈\u200d̈بB', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '̈\u200d̈بB', strict=True) + + def test_uts46_189(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b-bcba413a7w8b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b-bcba413a7w8b', strict=True) + + def test_uts46_190(self): + self.assertRaises(idna.IDNAError, idna.decode, 'aب̈\u200d̈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'aب̈\u200d̈', strict=True) + + def test_uts46_191(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Aب̈\u200d̈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Aب̈\u200d̈', strict=True) + + def test_uts46_192(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a-ccba213abx8b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a-ccba213abx8b', strict=True) + + def test_uts46_193(self): + self.assertRaises(idna.IDNAError, idna.decode, 'aب̈\u200d̈بb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'aب̈\u200d̈بb', strict=True) + + def test_uts46_194(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Aب̈\u200d̈بB', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Aب̈\u200d̈بB', strict=True) + + def test_uts46_195(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Aب̈\u200d̈بb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Aب̈\u200d̈بb', strict=True) + + def test_uts46_196(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ab-uuba211bca5157b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ab-uuba211bca5157b', strict=True) + + def test_uts46_200(self): + self.assertRaises(idna.IDNAError, idna.decode, '¡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '¡', strict=True) + + def test_uts46_201(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7a', strict=True) + + def test_uts46_202(self): + self.assertRaises(idna.IDNAError, idna.decode, '᧚', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᧚', strict=True) + + def test_uts46_203(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pkf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pkf', strict=True) + + def test_uts46_204(self): + self.assertRaises(idna.IDNAError, idna.decode, '""', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '""', strict=True) + + def test_uts46_205(self): + self.assertRaises(idna.IDNAError, idna.decode, '。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。', strict=True) + + def test_uts46_206(self): + self.assertRaises(idna.IDNAError, idna.decode, '.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.', strict=True) + + def test_uts46_207(self): + self.assertEqual(idna.decode('ꭠ', uts46=True, strict=True), 'ꭠ') + self.assertEqual(idna.encode('ꭠ', uts46=True, strict=True), b'xn--3y9a') + + def test_uts46_208(self): + self.assertEqual(idna.decode('xn--3y9a', uts46=True, strict=True), 'ꭠ') + self.assertEqual(idna.encode('xn--3y9a', uts46=True, strict=True), b'xn--3y9a') + + def test_uts46_209(self): + self.assertEqual(idna.decode('1234567890ä1234567890123456789012345678901234567890123456', uts46=True, strict=True), '1234567890ä1234567890123456789012345678901234567890123456') + self.assertRaises(idna.IDNAError, idna.encode, '1234567890ä1234567890123456789012345678901234567890123456', strict=True) + + def test_uts46_210(self): + self.assertEqual(idna.decode('1234567890ä1234567890123456789012345678901234567890123456', uts46=True, strict=True), '1234567890ä1234567890123456789012345678901234567890123456') + self.assertRaises(idna.IDNAError, idna.encode, '1234567890ä1234567890123456789012345678901234567890123456', strict=True) + + def test_uts46_211(self): + self.assertEqual(idna.decode('1234567890Ä1234567890123456789012345678901234567890123456', uts46=True, strict=True), '1234567890ä1234567890123456789012345678901234567890123456') + self.assertRaises(idna.IDNAError, idna.encode, '1234567890Ä1234567890123456789012345678901234567890123456', strict=True) + + def test_uts46_212(self): + self.assertEqual(idna.decode('1234567890Ä1234567890123456789012345678901234567890123456', uts46=True, strict=True), '1234567890ä1234567890123456789012345678901234567890123456') + self.assertRaises(idna.IDNAError, idna.encode, '1234567890Ä1234567890123456789012345678901234567890123456', strict=True) + + def test_uts46_213(self): + self.assertEqual(idna.decode('xn--12345678901234567890123456789012345678901234567890123456-fxe', uts46=True, strict=True), '1234567890ä1234567890123456789012345678901234567890123456') + self.assertRaises(idna.IDNAError, idna.encode, 'xn--12345678901234567890123456789012345678901234567890123456-fxe', strict=True) + + def test_uts46_214(self): + self.assertEqual(idna.decode('www.eXample.cOm', uts46=True, strict=True), 'www.example.com') + self.assertEqual(idna.encode('www.eXample.cOm', uts46=True, strict=True), b'www.example.com') + + def test_uts46_215(self): + self.assertEqual(idna.decode('Bücher.de', uts46=True, strict=True), 'bücher.de') + self.assertEqual(idna.encode('Bücher.de', uts46=True, strict=True), b'xn--bcher-kva.de') + + def test_uts46_216(self): + self.assertEqual(idna.decode('Bücher.de', uts46=True, strict=True), 'bücher.de') + self.assertEqual(idna.encode('Bücher.de', uts46=True, strict=True), b'xn--bcher-kva.de') + + def test_uts46_217(self): + self.assertEqual(idna.decode('bücher.de', uts46=True, strict=True), 'bücher.de') + self.assertEqual(idna.encode('bücher.de', uts46=True, strict=True), b'xn--bcher-kva.de') + + def test_uts46_218(self): + self.assertEqual(idna.decode('bücher.de', uts46=True, strict=True), 'bücher.de') + self.assertEqual(idna.encode('bücher.de', uts46=True, strict=True), b'xn--bcher-kva.de') + + def test_uts46_219(self): + self.assertEqual(idna.decode('BÜCHER.DE', uts46=True, strict=True), 'bücher.de') + self.assertEqual(idna.encode('BÜCHER.DE', uts46=True, strict=True), b'xn--bcher-kva.de') + + def test_uts46_220(self): + self.assertEqual(idna.decode('BÜCHER.DE', uts46=True, strict=True), 'bücher.de') + self.assertEqual(idna.encode('BÜCHER.DE', uts46=True, strict=True), b'xn--bcher-kva.de') + + def test_uts46_221(self): + self.assertEqual(idna.decode('xn--bcher-kva.de', uts46=True, strict=True), 'bücher.de') + self.assertEqual(idna.encode('xn--bcher-kva.de', uts46=True, strict=True), b'xn--bcher-kva.de') + + def test_uts46_222(self): + self.assertEqual(idna.decode('ÖBB', uts46=True, strict=True), 'öbb') + self.assertEqual(idna.encode('ÖBB', uts46=True, strict=True), b'xn--bb-eka') + + def test_uts46_223(self): + self.assertEqual(idna.decode('ÖBB', uts46=True, strict=True), 'öbb') + self.assertEqual(idna.encode('ÖBB', uts46=True, strict=True), b'xn--bb-eka') + + def test_uts46_224(self): + self.assertEqual(idna.decode('öbb', uts46=True, strict=True), 'öbb') + self.assertEqual(idna.encode('öbb', uts46=True, strict=True), b'xn--bb-eka') + + def test_uts46_225(self): + self.assertEqual(idna.decode('öbb', uts46=True, strict=True), 'öbb') + self.assertEqual(idna.encode('öbb', uts46=True, strict=True), b'xn--bb-eka') + + def test_uts46_226(self): + self.assertEqual(idna.decode('Öbb', uts46=True, strict=True), 'öbb') + self.assertEqual(idna.encode('Öbb', uts46=True, strict=True), b'xn--bb-eka') + + def test_uts46_227(self): + self.assertEqual(idna.decode('Öbb', uts46=True, strict=True), 'öbb') + self.assertEqual(idna.encode('Öbb', uts46=True, strict=True), b'xn--bb-eka') + + def test_uts46_228(self): + self.assertEqual(idna.decode('xn--bb-eka', uts46=True, strict=True), 'öbb') + self.assertEqual(idna.encode('xn--bb-eka', uts46=True, strict=True), b'xn--bb-eka') + + def test_uts46_229(self): + self.assertEqual(idna.decode('FAẞ.de', uts46=True, strict=True), 'faß.de') + self.assertEqual(idna.encode('FAẞ.de', uts46=True, strict=True), b'xn--fa-hia.de') + + def test_uts46_230(self): + self.assertEqual(idna.decode('FAẞ.DE', uts46=True, strict=True), 'faß.de') + self.assertEqual(idna.encode('FAẞ.DE', uts46=True, strict=True), b'xn--fa-hia.de') + + def test_uts46_231(self): + self.assertEqual(idna.decode('βόλος.com', uts46=True, strict=True), 'βόλος.com') + self.assertEqual(idna.encode('βόλος.com', uts46=True, strict=True), b'xn--nxasmm1c.com') + + def test_uts46_232(self): + self.assertEqual(idna.decode('βόλος.com', uts46=True, strict=True), 'βόλος.com') + self.assertEqual(idna.encode('βόλος.com', uts46=True, strict=True), b'xn--nxasmm1c.com') + + def test_uts46_233(self): + self.assertEqual(idna.decode('ΒΌΛΟΣ.COM', uts46=True, strict=True), 'βόλοσ.com') + self.assertEqual(idna.encode('ΒΌΛΟΣ.COM', uts46=True, strict=True), b'xn--nxasmq6b.com') + + def test_uts46_234(self): + self.assertEqual(idna.decode('ΒΌΛΟΣ.COM', uts46=True, strict=True), 'βόλοσ.com') + self.assertEqual(idna.encode('ΒΌΛΟΣ.COM', uts46=True, strict=True), b'xn--nxasmq6b.com') + + def test_uts46_235(self): + self.assertEqual(idna.decode('βόλοσ.com', uts46=True, strict=True), 'βόλοσ.com') + self.assertEqual(idna.encode('βόλοσ.com', uts46=True, strict=True), b'xn--nxasmq6b.com') + + def test_uts46_236(self): + self.assertEqual(idna.decode('βόλοσ.com', uts46=True, strict=True), 'βόλοσ.com') + self.assertEqual(idna.encode('βόλοσ.com', uts46=True, strict=True), b'xn--nxasmq6b.com') + + def test_uts46_237(self): + self.assertEqual(idna.decode('Βόλοσ.com', uts46=True, strict=True), 'βόλοσ.com') + self.assertEqual(idna.encode('Βόλοσ.com', uts46=True, strict=True), b'xn--nxasmq6b.com') + + def test_uts46_238(self): + self.assertEqual(idna.decode('Βόλοσ.com', uts46=True, strict=True), 'βόλοσ.com') + self.assertEqual(idna.encode('Βόλοσ.com', uts46=True, strict=True), b'xn--nxasmq6b.com') + + def test_uts46_239(self): + self.assertEqual(idna.decode('xn--nxasmq6b.com', uts46=True, strict=True), 'βόλοσ.com') + self.assertEqual(idna.encode('xn--nxasmq6b.com', uts46=True, strict=True), b'xn--nxasmq6b.com') + + def test_uts46_240(self): + self.assertEqual(idna.decode('Βόλος.com', uts46=True, strict=True), 'βόλος.com') + self.assertEqual(idna.encode('Βόλος.com', uts46=True, strict=True), b'xn--nxasmm1c.com') + + def test_uts46_241(self): + self.assertEqual(idna.decode('Βόλος.com', uts46=True, strict=True), 'βόλος.com') + self.assertEqual(idna.encode('Βόλος.com', uts46=True, strict=True), b'xn--nxasmm1c.com') + + def test_uts46_242(self): + self.assertEqual(idna.decode('xn--nxasmm1c.com', uts46=True, strict=True), 'βόλος.com') + self.assertEqual(idna.encode('xn--nxasmm1c.com', uts46=True, strict=True), b'xn--nxasmm1c.com') + + def test_uts46_243(self): + self.assertEqual(idna.decode('xn--nxasmm1c', uts46=True, strict=True), 'βόλος') + self.assertEqual(idna.encode('xn--nxasmm1c', uts46=True, strict=True), b'xn--nxasmm1c') + + def test_uts46_244(self): + self.assertEqual(idna.decode('βόλος', uts46=True, strict=True), 'βόλος') + self.assertEqual(idna.encode('βόλος', uts46=True, strict=True), b'xn--nxasmm1c') + + def test_uts46_245(self): + self.assertEqual(idna.decode('βόλος', uts46=True, strict=True), 'βόλος') + self.assertEqual(idna.encode('βόλος', uts46=True, strict=True), b'xn--nxasmm1c') + + def test_uts46_246(self): + self.assertEqual(idna.decode('ΒΌΛΟΣ', uts46=True, strict=True), 'βόλοσ') + self.assertEqual(idna.encode('ΒΌΛΟΣ', uts46=True, strict=True), b'xn--nxasmq6b') + + def test_uts46_247(self): + self.assertEqual(idna.decode('ΒΌΛΟΣ', uts46=True, strict=True), 'βόλοσ') + self.assertEqual(idna.encode('ΒΌΛΟΣ', uts46=True, strict=True), b'xn--nxasmq6b') + + def test_uts46_248(self): + self.assertEqual(idna.decode('βόλοσ', uts46=True, strict=True), 'βόλοσ') + self.assertEqual(idna.encode('βόλοσ', uts46=True, strict=True), b'xn--nxasmq6b') + + def test_uts46_249(self): + self.assertEqual(idna.decode('βόλοσ', uts46=True, strict=True), 'βόλοσ') + self.assertEqual(idna.encode('βόλοσ', uts46=True, strict=True), b'xn--nxasmq6b') + + def test_uts46_250(self): + self.assertEqual(idna.decode('Βόλοσ', uts46=True, strict=True), 'βόλοσ') + self.assertEqual(idna.encode('Βόλοσ', uts46=True, strict=True), b'xn--nxasmq6b') + + def test_uts46_251(self): + self.assertEqual(idna.decode('Βόλοσ', uts46=True, strict=True), 'βόλοσ') + self.assertEqual(idna.encode('Βόλοσ', uts46=True, strict=True), b'xn--nxasmq6b') + + def test_uts46_252(self): + self.assertEqual(idna.decode('xn--nxasmq6b', uts46=True, strict=True), 'βόλοσ') + self.assertEqual(idna.encode('xn--nxasmq6b', uts46=True, strict=True), b'xn--nxasmq6b') + + def test_uts46_253(self): + self.assertEqual(idna.decode('Βόλος', uts46=True, strict=True), 'βόλος') + self.assertEqual(idna.encode('Βόλος', uts46=True, strict=True), b'xn--nxasmm1c') + + def test_uts46_254(self): + self.assertEqual(idna.decode('Βόλος', uts46=True, strict=True), 'βόλος') + self.assertEqual(idna.encode('Βόλος', uts46=True, strict=True), b'xn--nxasmm1c') + + def test_uts46_255(self): + self.assertEqual(idna.decode('www.ශ්\u200dරී.com', uts46=True, strict=True), 'www.ශ්\u200dරී.com') + self.assertEqual(idna.encode('www.ශ්\u200dරී.com', uts46=True, strict=True), b'www.xn--10cl1a0b660p.com') + + def test_uts46_256(self): + self.assertEqual(idna.decode('WWW.ශ්\u200dරී.COM', uts46=True, strict=True), 'www.ශ්\u200dරී.com') + self.assertEqual(idna.encode('WWW.ශ්\u200dරී.COM', uts46=True, strict=True), b'www.xn--10cl1a0b660p.com') + + def test_uts46_257(self): + self.assertEqual(idna.decode('Www.ශ්\u200dරී.com', uts46=True, strict=True), 'www.ශ්\u200dරී.com') + self.assertEqual(idna.encode('Www.ශ්\u200dරී.com', uts46=True, strict=True), b'www.xn--10cl1a0b660p.com') + + def test_uts46_258(self): + self.assertEqual(idna.decode('www.xn--10cl1a0b.com', uts46=True, strict=True), 'www.ශ්රී.com') + self.assertEqual(idna.encode('www.xn--10cl1a0b.com', uts46=True, strict=True), b'www.xn--10cl1a0b.com') + + def test_uts46_259(self): + self.assertEqual(idna.decode('www.ශ්රී.com', uts46=True, strict=True), 'www.ශ්රී.com') + self.assertEqual(idna.encode('www.ශ්රී.com', uts46=True, strict=True), b'www.xn--10cl1a0b.com') + + def test_uts46_260(self): + self.assertEqual(idna.decode('WWW.ශ්රී.COM', uts46=True, strict=True), 'www.ශ්රී.com') + self.assertEqual(idna.encode('WWW.ශ්රී.COM', uts46=True, strict=True), b'www.xn--10cl1a0b.com') + + def test_uts46_261(self): + self.assertEqual(idna.decode('Www.ශ්රී.com', uts46=True, strict=True), 'www.ශ්රී.com') + self.assertEqual(idna.encode('Www.ශ්රී.com', uts46=True, strict=True), b'www.xn--10cl1a0b.com') + + def test_uts46_262(self): + self.assertEqual(idna.decode('www.xn--10cl1a0b660p.com', uts46=True, strict=True), 'www.ශ්\u200dරී.com') + self.assertEqual(idna.encode('www.xn--10cl1a0b660p.com', uts46=True, strict=True), b'www.xn--10cl1a0b660p.com') + + def test_uts46_263(self): + self.assertEqual(idna.decode('نامه\u200cای', uts46=True, strict=True), 'نامه\u200cای') + self.assertEqual(idna.encode('نامه\u200cای', uts46=True, strict=True), b'xn--mgba3gch31f060k') + + def test_uts46_264(self): + self.assertEqual(idna.decode('xn--mgba3gch31f', uts46=True, strict=True), 'نامهای') + self.assertEqual(idna.encode('xn--mgba3gch31f', uts46=True, strict=True), b'xn--mgba3gch31f') + + def test_uts46_265(self): + self.assertEqual(idna.decode('نامهای', uts46=True, strict=True), 'نامهای') + self.assertEqual(idna.encode('نامهای', uts46=True, strict=True), b'xn--mgba3gch31f') + + def test_uts46_266(self): + self.assertEqual(idna.decode('xn--mgba3gch31f060k', uts46=True, strict=True), 'نامه\u200cای') + self.assertEqual(idna.encode('xn--mgba3gch31f060k', uts46=True, strict=True), b'xn--mgba3gch31f060k') + + def test_uts46_267(self): + self.assertEqual(idna.decode('xn--mgba3gch31f060k.com', uts46=True, strict=True), 'نامه\u200cای.com') + self.assertEqual(idna.encode('xn--mgba3gch31f060k.com', uts46=True, strict=True), b'xn--mgba3gch31f060k.com') + + def test_uts46_268(self): + self.assertEqual(idna.decode('نامه\u200cای.com', uts46=True, strict=True), 'نامه\u200cای.com') + self.assertEqual(idna.encode('نامه\u200cای.com', uts46=True, strict=True), b'xn--mgba3gch31f060k.com') + + def test_uts46_269(self): + self.assertEqual(idna.decode('نامه\u200cای.COM', uts46=True, strict=True), 'نامه\u200cای.com') + self.assertEqual(idna.encode('نامه\u200cای.COM', uts46=True, strict=True), b'xn--mgba3gch31f060k.com') + + def test_uts46_270(self): + self.assertEqual(idna.decode('xn--mgba3gch31f.com', uts46=True, strict=True), 'نامهای.com') + self.assertEqual(idna.encode('xn--mgba3gch31f.com', uts46=True, strict=True), b'xn--mgba3gch31f.com') + + def test_uts46_271(self): + self.assertEqual(idna.decode('نامهای.com', uts46=True, strict=True), 'نامهای.com') + self.assertEqual(idna.encode('نامهای.com', uts46=True, strict=True), b'xn--mgba3gch31f.com') + + def test_uts46_272(self): + self.assertEqual(idna.decode('نامهای.COM', uts46=True, strict=True), 'نامهای.com') + self.assertEqual(idna.encode('نامهای.COM', uts46=True, strict=True), b'xn--mgba3gch31f.com') + + def test_uts46_273(self): + self.assertEqual(idna.decode('a.b.c。d。', uts46=True, strict=True), 'a.b.c.d.') + self.assertRaises(idna.IDNAError, idna.encode, 'a.b.c。d。', strict=True) + + def test_uts46_274(self): + self.assertEqual(idna.decode('a.b.c。d。', uts46=True, strict=True), 'a.b.c.d.') + self.assertRaises(idna.IDNAError, idna.encode, 'a.b.c。d。', strict=True) + + def test_uts46_275(self): + self.assertEqual(idna.decode('A.B.C。D。', uts46=True, strict=True), 'a.b.c.d.') + self.assertRaises(idna.IDNAError, idna.encode, 'A.B.C。D。', strict=True) + + def test_uts46_276(self): + self.assertEqual(idna.decode('A.b.c。D。', uts46=True, strict=True), 'a.b.c.d.') + self.assertRaises(idna.IDNAError, idna.encode, 'A.b.c。D。', strict=True) + + def test_uts46_278(self): + self.assertEqual(idna.decode('A.B.C。D。', uts46=True, strict=True), 'a.b.c.d.') + self.assertRaises(idna.IDNAError, idna.encode, 'A.B.C。D。', strict=True) + + def test_uts46_279(self): + self.assertEqual(idna.decode('A.b.c。D。', uts46=True, strict=True), 'a.b.c.d.') + self.assertRaises(idna.IDNAError, idna.encode, 'A.b.c。D。', strict=True) + + def test_uts46_280(self): + self.assertEqual(idna.decode('Ü.xn--tda', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('Ü.xn--tda', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_281(self): + self.assertEqual(idna.decode('Ü.xn--tda', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('Ü.xn--tda', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_282(self): + self.assertEqual(idna.decode('ü.xn--tda', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('ü.xn--tda', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_283(self): + self.assertEqual(idna.decode('ü.xn--tda', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('ü.xn--tda', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_284(self): + self.assertEqual(idna.decode('Ü.XN--TDA', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('Ü.XN--TDA', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_285(self): + self.assertEqual(idna.decode('Ü.XN--TDA', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('Ü.XN--TDA', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_286(self): + self.assertEqual(idna.decode('Ü.xn--Tda', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('Ü.xn--Tda', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_287(self): + self.assertEqual(idna.decode('Ü.xn--Tda', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('Ü.xn--Tda', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_288(self): + self.assertEqual(idna.decode('xn--tda.xn--tda', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('xn--tda.xn--tda', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_289(self): + self.assertEqual(idna.decode('ü.ü', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('ü.ü', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_290(self): + self.assertEqual(idna.decode('ü.ü', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('ü.ü', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_291(self): + self.assertEqual(idna.decode('Ü.Ü', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('Ü.Ü', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_292(self): + self.assertEqual(idna.decode('Ü.Ü', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('Ü.Ü', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_293(self): + self.assertEqual(idna.decode('Ü.ü', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('Ü.ü', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_294(self): + self.assertEqual(idna.decode('Ü.ü', uts46=True, strict=True), 'ü.ü') + self.assertEqual(idna.encode('Ü.ü', uts46=True, strict=True), b'xn--tda.xn--tda') + + def test_uts46_295(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--u-ccb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--u-ccb', strict=True) + + def test_uts46_296(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a⒈com', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a⒈com', strict=True) + + def test_uts46_297(self): + self.assertEqual(idna.decode('a1.com', uts46=True, strict=True), 'a1.com') + self.assertEqual(idna.encode('a1.com', uts46=True, strict=True), b'a1.com') + + def test_uts46_298(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A⒈COM', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A⒈COM', strict=True) + + def test_uts46_299(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A⒈Com', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A⒈Com', strict=True) + + def test_uts46_300(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--acom-0w1b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--acom-0w1b', strict=True) + + def test_uts46_301(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a-ecp.ru', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a-ecp.ru', strict=True) + + def test_uts46_302(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0.pt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0.pt', strict=True) + + def test_uts46_303(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a.pt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a.pt', strict=True) + + def test_uts46_304(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a-Ä.pt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a-Ä.pt', strict=True) + + def test_uts46_305(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a-Ä.pt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a-Ä.pt', strict=True) + + def test_uts46_306(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a-ä.pt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a-ä.pt', strict=True) + + def test_uts46_307(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a-ä.pt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a-ä.pt', strict=True) + + def test_uts46_308(self): + self.assertRaises(idna.IDNAError, idna.decode, 'XN--A-Ä.PT', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'XN--A-Ä.PT', strict=True) + + def test_uts46_309(self): + self.assertRaises(idna.IDNAError, idna.decode, 'XN--A-Ä.PT', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'XN--A-Ä.PT', strict=True) + + def test_uts46_310(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Xn--A-Ä.pt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Xn--A-Ä.pt', strict=True) + + def test_uts46_311(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Xn--A-Ä.pt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Xn--A-Ä.pt', strict=True) + + def test_uts46_312(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xn--a--gua.pt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xn--a--gua.pt', strict=True) + + def test_uts46_313(self): + self.assertEqual(idna.decode('日本語。JP', uts46=True, strict=True), '日本語.jp') + self.assertEqual(idna.encode('日本語。JP', uts46=True, strict=True), b'xn--wgv71a119e.jp') + + def test_uts46_314(self): + self.assertEqual(idna.decode('日本語。JP', uts46=True, strict=True), '日本語.jp') + self.assertEqual(idna.encode('日本語。JP', uts46=True, strict=True), b'xn--wgv71a119e.jp') + + def test_uts46_315(self): + self.assertEqual(idna.decode('日本語。jp', uts46=True, strict=True), '日本語.jp') + self.assertEqual(idna.encode('日本語。jp', uts46=True, strict=True), b'xn--wgv71a119e.jp') + + def test_uts46_316(self): + self.assertEqual(idna.decode('日本語。Jp', uts46=True, strict=True), '日本語.jp') + self.assertEqual(idna.encode('日本語。Jp', uts46=True, strict=True), b'xn--wgv71a119e.jp') + + def test_uts46_317(self): + self.assertEqual(idna.decode('xn--wgv71a119e.jp', uts46=True, strict=True), '日本語.jp') + self.assertEqual(idna.encode('xn--wgv71a119e.jp', uts46=True, strict=True), b'xn--wgv71a119e.jp') + + def test_uts46_318(self): + self.assertEqual(idna.decode('日本語.jp', uts46=True, strict=True), '日本語.jp') + self.assertEqual(idna.encode('日本語.jp', uts46=True, strict=True), b'xn--wgv71a119e.jp') + + def test_uts46_319(self): + self.assertEqual(idna.decode('日本語.JP', uts46=True, strict=True), '日本語.jp') + self.assertEqual(idna.encode('日本語.JP', uts46=True, strict=True), b'xn--wgv71a119e.jp') + + def test_uts46_320(self): + self.assertEqual(idna.decode('日本語.Jp', uts46=True, strict=True), '日本語.jp') + self.assertEqual(idna.encode('日本語.Jp', uts46=True, strict=True), b'xn--wgv71a119e.jp') + + def test_uts46_321(self): + self.assertEqual(idna.decode('日本語。jp', uts46=True, strict=True), '日本語.jp') + self.assertEqual(idna.encode('日本語。jp', uts46=True, strict=True), b'xn--wgv71a119e.jp') + + def test_uts46_322(self): + self.assertEqual(idna.decode('日本語。Jp', uts46=True, strict=True), '日本語.jp') + self.assertEqual(idna.encode('日本語。Jp', uts46=True, strict=True), b'xn--wgv71a119e.jp') + + def test_uts46_323(self): + self.assertRaises(idna.IDNAError, idna.decode, '☕', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '☕', strict=True) + + def test_uts46_324(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--53h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--53h', strict=True) + + def test_uts46_325(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.aß\u200c\u200db\u200c\u200dcßßßßdςσßßßßßßßßeßßßßßßßßßßxßßßßßßßßßßyßßßßßßßß̂ßz', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.aß\u200c\u200db\u200c\u200dcßßßßdςσßßßßßßßßeßßßßßßßßßßxßßßßßßßßßßyßßßßßßßß̂ßz', strict=True) + + def test_uts46_326(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.ASS\u200c\u200dB\u200c\u200dCSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.ASS\u200c\u200dB\u200c\u200dCSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ', strict=True) + + def test_uts46_327(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.ASS\u200c\u200dB\u200c\u200dCSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.ASS\u200c\u200dB\u200c\u200dCSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ', strict=True) + + def test_uts46_328(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.ass\u200c\u200db\u200c\u200dcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.ass\u200c\u200db\u200c\u200dcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + + def test_uts46_329(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.ass\u200c\u200db\u200c\u200dcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.ass\u200c\u200db\u200c\u200dcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + + def test_uts46_330(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.Ass\u200c\u200db\u200c\u200dcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.Ass\u200c\u200db\u200c\u200dcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + + def test_uts46_331(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.Ass\u200c\u200db\u200c\u200dcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.Ass\u200c\u200db\u200c\u200dcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + + def test_uts46_332(self): + self.assertEqual(idna.decode('1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa', uts46=True, strict=True), '1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz') + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa', strict=True) + + def test_uts46_333(self): + self.assertEqual(idna.decode('1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', uts46=True, strict=True), '1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz') + self.assertRaises(idna.IDNAError, idna.encode, '1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + + def test_uts46_334(self): + self.assertEqual(idna.decode('1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', uts46=True, strict=True), '1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz') + self.assertRaises(idna.IDNAError, idna.encode, '1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + + def test_uts46_335(self): + self.assertEqual(idna.decode('1.ASSBCSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ', uts46=True, strict=True), '1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz') + self.assertRaises(idna.IDNAError, idna.encode, '1.ASSBCSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ', strict=True) + + def test_uts46_336(self): + self.assertEqual(idna.decode('1.ASSBCSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ', uts46=True, strict=True), '1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz') + self.assertRaises(idna.IDNAError, idna.encode, '1.ASSBCSSSSSSSSDΣΣSSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSŜSSZ', strict=True) + + def test_uts46_337(self): + self.assertEqual(idna.decode('1.Assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', uts46=True, strict=True), '1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz') + self.assertRaises(idna.IDNAError, idna.encode, '1.Assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + + def test_uts46_338(self): + self.assertEqual(idna.decode('1.Assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', uts46=True, strict=True), '1.assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz') + self.assertRaises(idna.IDNAError, idna.encode, '1.Assbcssssssssdσσssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssŝssz', strict=True) + + def test_uts46_339(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa69989dba9gc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa69989dba9gc', strict=True) + + def test_uts46_340(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.Aß\u200c\u200db\u200c\u200dcßßßßdςσßßßßßßßßeßßßßßßßßßßxßßßßßßßßßßyßßßßßßßß̂ßz', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.Aß\u200c\u200db\u200c\u200dcßßßßdςσßßßßßßßßeßßßßßßßßßßxßßßßßßßßßßyßßßßßßßß̂ßz', strict=True) + + def test_uts46_341(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--abcdexyz-qyacaaabaaaaaaabaaaaaaaaabaaaaaaaaabaaaaaaaa010ze2isb1140zba8cc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--abcdexyz-qyacaaabaaaaaaabaaaaaaaaabaaaaaaaaabaaaaaaaa010ze2isb1140zba8cc', strict=True) + + def test_uts46_342(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cx\u200dn\u200c-\u200d-bß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cx\u200dn\u200c-\u200d-bß', strict=True) + + def test_uts46_343(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cX\u200dN\u200c-\u200d-BSS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cX\u200dN\u200c-\u200d-BSS', strict=True) + + def test_uts46_344(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cx\u200dn\u200c-\u200d-bss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cx\u200dn\u200c-\u200d-bss', strict=True) + + def test_uts46_345(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cX\u200dn\u200c-\u200d-Bss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cX\u200dn\u200c-\u200d-Bss', strict=True) + + def test_uts46_346(self): + self.assertEqual(idna.decode('xn--bss', uts46=True, strict=True), '夙') + self.assertEqual(idna.encode('xn--bss', uts46=True, strict=True), b'xn--bss') + + def test_uts46_347(self): + self.assertEqual(idna.decode('夙', uts46=True, strict=True), '夙') + self.assertEqual(idna.encode('夙', uts46=True, strict=True), b'xn--bss') + + def test_uts46_348(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xn--bss-7z6ccid', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xn--bss-7z6ccid', strict=True) + + def test_uts46_349(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cX\u200dn\u200c-\u200d-Bß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cX\u200dn\u200c-\u200d-Bß', strict=True) + + def test_uts46_350(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xn--b-pqa5796ccahd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xn--b-pqa5796ccahd', strict=True) + + def test_uts46_351(self): + self.assertEqual(idna.decode('ˣ͏ℕ\u200b﹣\xad-᠌ℬ︀ſ\u2064𝔰󠇯ffl', uts46=True, strict=True), '夡夞夜夙') + self.assertEqual(idna.encode('ˣ͏ℕ\u200b﹣\xad-᠌ℬ︀ſ\u2064𝔰󠇯ffl', uts46=True, strict=True), b'xn--bssffl') + + def test_uts46_352(self): + self.assertEqual(idna.decode('x͏N\u200b-\xad-᠌B︀s\u2064s󠇯ffl', uts46=True, strict=True), '夡夞夜夙') + self.assertEqual(idna.encode('x͏N\u200b-\xad-᠌B︀s\u2064s󠇯ffl', uts46=True, strict=True), b'xn--bssffl') + + def test_uts46_353(self): + self.assertEqual(idna.decode('x͏n\u200b-\xad-᠌b︀s\u2064s󠇯ffl', uts46=True, strict=True), '夡夞夜夙') + self.assertEqual(idna.encode('x͏n\u200b-\xad-᠌b︀s\u2064s󠇯ffl', uts46=True, strict=True), b'xn--bssffl') + + def test_uts46_354(self): + self.assertEqual(idna.decode('X͏N\u200b-\xad-᠌B︀S\u2064S󠇯FFL', uts46=True, strict=True), '夡夞夜夙') + self.assertEqual(idna.encode('X͏N\u200b-\xad-᠌B︀S\u2064S󠇯FFL', uts46=True, strict=True), b'xn--bssffl') + + def test_uts46_355(self): + self.assertEqual(idna.decode('X͏n\u200b-\xad-᠌B︀s\u2064s󠇯ffl', uts46=True, strict=True), '夡夞夜夙') + self.assertEqual(idna.encode('X͏n\u200b-\xad-᠌B︀s\u2064s󠇯ffl', uts46=True, strict=True), b'xn--bssffl') + + def test_uts46_356(self): + self.assertEqual(idna.decode('xn--bssffl', uts46=True, strict=True), '夡夞夜夙') + self.assertEqual(idna.encode('xn--bssffl', uts46=True, strict=True), b'xn--bssffl') + + def test_uts46_357(self): + self.assertEqual(idna.decode('夡夞夜夙', uts46=True, strict=True), '夡夞夜夙') + self.assertEqual(idna.encode('夡夞夜夙', uts46=True, strict=True), b'xn--bssffl') + + def test_uts46_358(self): + self.assertEqual(idna.decode('ˣ͏ℕ\u200b﹣\xad-᠌ℬ︀S\u2064𝔰󠇯FFL', uts46=True, strict=True), '夡夞夜夙') + self.assertEqual(idna.encode('ˣ͏ℕ\u200b﹣\xad-᠌ℬ︀S\u2064𝔰󠇯FFL', uts46=True, strict=True), b'xn--bssffl') + + def test_uts46_359(self): + self.assertEqual(idna.decode('x͏N\u200b-\xad-᠌B︀S\u2064s󠇯FFL', uts46=True, strict=True), '夡夞夜夙') + self.assertEqual(idna.encode('x͏N\u200b-\xad-᠌B︀S\u2064s󠇯FFL', uts46=True, strict=True), b'xn--bssffl') + + def test_uts46_360(self): + self.assertEqual(idna.decode('ˣ͏ℕ\u200b﹣\xad-᠌ℬ︀s\u2064𝔰󠇯ffl', uts46=True, strict=True), '夡夞夜夙') + self.assertEqual(idna.encode('ˣ͏ℕ\u200b﹣\xad-᠌ℬ︀s\u2064𝔰󠇯ffl', uts46=True, strict=True), b'xn--bssffl') + + def test_uts46_361(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertEqual(idna.encode('123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), b'123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + + def test_uts46_363(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', strict=True) + + def test_uts46_364(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', strict=True) + + def test_uts46_365(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', strict=True) + + def test_uts46_366(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', strict=True) + + def test_uts46_367(self): + self.assertEqual(idna.decode('ä1234567890123456789012345678901234567890123456789012345', uts46=True, strict=True), 'ä1234567890123456789012345678901234567890123456789012345') + self.assertEqual(idna.encode('ä1234567890123456789012345678901234567890123456789012345', uts46=True, strict=True), b'xn--1234567890123456789012345678901234567890123456789012345-9te') + + def test_uts46_368(self): + self.assertEqual(idna.decode('ä1234567890123456789012345678901234567890123456789012345', uts46=True, strict=True), 'ä1234567890123456789012345678901234567890123456789012345') + self.assertEqual(idna.encode('ä1234567890123456789012345678901234567890123456789012345', uts46=True, strict=True), b'xn--1234567890123456789012345678901234567890123456789012345-9te') + + def test_uts46_369(self): + self.assertEqual(idna.decode('Ä1234567890123456789012345678901234567890123456789012345', uts46=True, strict=True), 'ä1234567890123456789012345678901234567890123456789012345') + self.assertEqual(idna.encode('Ä1234567890123456789012345678901234567890123456789012345', uts46=True, strict=True), b'xn--1234567890123456789012345678901234567890123456789012345-9te') + + def test_uts46_370(self): + self.assertEqual(idna.decode('Ä1234567890123456789012345678901234567890123456789012345', uts46=True, strict=True), 'ä1234567890123456789012345678901234567890123456789012345') + self.assertEqual(idna.encode('Ä1234567890123456789012345678901234567890123456789012345', uts46=True, strict=True), b'xn--1234567890123456789012345678901234567890123456789012345-9te') + + def test_uts46_371(self): + self.assertEqual(idna.decode('xn--1234567890123456789012345678901234567890123456789012345-9te', uts46=True, strict=True), 'ä1234567890123456789012345678901234567890123456789012345') + self.assertEqual(idna.encode('xn--1234567890123456789012345678901234567890123456789012345-9te', uts46=True, strict=True), b'xn--1234567890123456789012345678901234567890123456789012345-9te') + + def test_uts46_372(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertEqual(idna.encode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), b'123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + + def test_uts46_373(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertEqual(idna.encode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), b'123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + + def test_uts46_374(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertEqual(idna.encode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B', uts46=True, strict=True), b'123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + + def test_uts46_375(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertEqual(idna.encode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B', uts46=True, strict=True), b'123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + + def test_uts46_376(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertEqual(idna.encode('123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), b'123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + + def test_uts46_378(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.', strict=True) + + def test_uts46_379(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B.', strict=True) + + def test_uts46_380(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B.', strict=True) + + def test_uts46_382(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', strict=True) + + def test_uts46_383(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', strict=True) + + def test_uts46_384(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901C', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901C', strict=True) + + def test_uts46_385(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901C', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901C', strict=True) + + def test_uts46_386(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', strict=True) + + def test_uts46_387(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', strict=True) + + def test_uts46_388(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', strict=True) + + def test_uts46_389(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A', strict=True) + + def test_uts46_390(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A', strict=True) + + def test_uts46_391(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', strict=True) + + def test_uts46_392(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', strict=True) + + def test_uts46_393(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', strict=True) + + def test_uts46_394(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A.', strict=True) + + def test_uts46_395(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A.', strict=True) + + def test_uts46_396(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', strict=True) + + def test_uts46_397(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', strict=True) + + def test_uts46_398(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', strict=True) + + def test_uts46_399(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B', strict=True) + + def test_uts46_400(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B', strict=True) + + def test_uts46_401(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', strict=True) + + def test_uts46_402(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a.b..-q--a-.e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a.b..-q--a-.e', strict=True) + + def test_uts46_403(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a.b..-q--ä-.e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a.b..-q--ä-.e', strict=True) + + def test_uts46_404(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a.b..-q--ä-.e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a.b..-q--ä-.e', strict=True) + + def test_uts46_405(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A.B..-Q--Ä-.E', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A.B..-Q--Ä-.E', strict=True) + + def test_uts46_406(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A.B..-Q--Ä-.E', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A.B..-Q--Ä-.E', strict=True) + + def test_uts46_407(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A.b..-Q--Ä-.E', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A.b..-Q--Ä-.E', strict=True) + + def test_uts46_408(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A.b..-Q--Ä-.E', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A.b..-Q--Ä-.E', strict=True) + + def test_uts46_409(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a.b..xn---q----jra.e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a.b..xn---q----jra.e', strict=True) + + def test_uts46_410(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a..c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a..c', strict=True) + + def test_uts46_411(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a.-b.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a.-b.', strict=True) + + def test_uts46_412(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a.b-.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a.b-.c', strict=True) + + def test_uts46_413(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a.-.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a.-.c', strict=True) + + def test_uts46_414(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a.bc--de.f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a.bc--de.f', strict=True) + + def test_uts46_415(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xn---epa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xn---epa', strict=True) + + def test_uts46_416(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ä.\xad.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ä.\xad.c', strict=True) + + def test_uts46_417(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ä.\xad.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ä.\xad.c', strict=True) + + def test_uts46_418(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.\xad.C', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.\xad.C', strict=True) + + def test_uts46_419(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.\xad.C', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.\xad.C', strict=True) + + def test_uts46_420(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4ca..c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4ca..c', strict=True) + + def test_uts46_421(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ä.-b.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ä.-b.', strict=True) + + def test_uts46_422(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ä.-b.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ä.-b.', strict=True) + + def test_uts46_423(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.-B.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.-B.', strict=True) + + def test_uts46_424(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.-B.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.-B.', strict=True) + + def test_uts46_425(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4ca.-b.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4ca.-b.', strict=True) + + def test_uts46_426(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ä.b-.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ä.b-.c', strict=True) + + def test_uts46_427(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ä.b-.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ä.b-.c', strict=True) + + def test_uts46_428(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.B-.C', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.B-.C', strict=True) + + def test_uts46_429(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.B-.C', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.B-.C', strict=True) + + def test_uts46_430(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.b-.C', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.b-.C', strict=True) + + def test_uts46_431(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.b-.C', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.b-.C', strict=True) + + def test_uts46_432(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4ca.b-.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4ca.b-.c', strict=True) + + def test_uts46_433(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ä.-.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ä.-.c', strict=True) + + def test_uts46_434(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ä.-.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ä.-.c', strict=True) + + def test_uts46_435(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.-.C', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.-.C', strict=True) + + def test_uts46_436(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.-.C', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.-.C', strict=True) + + def test_uts46_437(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4ca.-.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4ca.-.c', strict=True) + + def test_uts46_438(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ä.bc--de.f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ä.bc--de.f', strict=True) + + def test_uts46_439(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ä.bc--de.f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ä.bc--de.f', strict=True) + + def test_uts46_440(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.BC--DE.F', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.BC--DE.F', strict=True) + + def test_uts46_441(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.BC--DE.F', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.BC--DE.F', strict=True) + + def test_uts46_442(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.bc--De.f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.bc--De.f', strict=True) + + def test_uts46_443(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ä.bc--De.f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ä.bc--De.f', strict=True) + + def test_uts46_444(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4ca.bc--de.f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4ca.bc--de.f', strict=True) + + def test_uts46_445(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a.b.̈c.d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a.b.̈c.d', strict=True) + + def test_uts46_446(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A.B.̈C.D', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A.B.̈C.D', strict=True) + + def test_uts46_447(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A.b.̈c.d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A.b.̈c.d', strict=True) + + def test_uts46_448(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a.b.xn--c-bcb.d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a.b.xn--c-bcb.d', strict=True) + + def test_uts46_449(self): + self.assertEqual(idna.decode('A0', uts46=True, strict=True), 'a0') + self.assertEqual(idna.encode('A0', uts46=True, strict=True), b'a0') + + def test_uts46_450(self): + self.assertEqual(idna.decode('0A', uts46=True, strict=True), '0a') + self.assertEqual(idna.encode('0A', uts46=True, strict=True), b'0a') + + def test_uts46_455(self): + self.assertRaises(idna.IDNAError, idna.decode, 'b-.א', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'b-.א', strict=True) + + def test_uts46_456(self): + self.assertRaises(idna.IDNAError, idna.decode, 'B-.א', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'B-.א', strict=True) + + def test_uts46_457(self): + self.assertRaises(idna.IDNAError, idna.decode, 'b-.xn--4db', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'b-.xn--4db', strict=True) + + def test_uts46_458(self): + self.assertRaises(idna.IDNAError, idna.decode, 'd.xn----dha.xn--4db', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'd.xn----dha.xn--4db', strict=True) + + def test_uts46_459(self): + self.assertRaises(idna.IDNAError, idna.decode, 'aא', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'aא', strict=True) + + def test_uts46_460(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Aא', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Aא', strict=True) + + def test_uts46_461(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a-0hc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a-0hc', strict=True) + + def test_uts46_462(self): + self.assertEqual(idna.decode('אׇ', uts46=True, strict=True), 'אׇ') + self.assertEqual(idna.encode('אׇ', uts46=True, strict=True), b'xn--vdbr') + + def test_uts46_463(self): + self.assertEqual(idna.decode('xn--vdbr', uts46=True, strict=True), 'אׇ') + self.assertEqual(idna.encode('xn--vdbr', uts46=True, strict=True), b'xn--vdbr') + + def test_uts46_464(self): + self.assertEqual(idna.decode('א9ׇ', uts46=True, strict=True), 'א9ׇ') + self.assertEqual(idna.encode('א9ׇ', uts46=True, strict=True), b'xn--9-ihcz') + + def test_uts46_465(self): + self.assertEqual(idna.decode('xn--9-ihcz', uts46=True, strict=True), 'א9ׇ') + self.assertEqual(idna.encode('xn--9-ihcz', uts46=True, strict=True), b'xn--9-ihcz') + + def test_uts46_466(self): + self.assertRaises(idna.IDNAError, idna.decode, 'אaׇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'אaׇ', strict=True) + + def test_uts46_467(self): + self.assertRaises(idna.IDNAError, idna.decode, 'אAׇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'אAׇ', strict=True) + + def test_uts46_468(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a-ihcz', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a-ihcz', strict=True) + + def test_uts46_469(self): + self.assertEqual(idna.decode('את', uts46=True, strict=True), 'את') + self.assertEqual(idna.encode('את', uts46=True, strict=True), b'xn--4db6c') + + def test_uts46_470(self): + self.assertEqual(idna.decode('xn--4db6c', uts46=True, strict=True), 'את') + self.assertEqual(idna.encode('xn--4db6c', uts46=True, strict=True), b'xn--4db6c') + + def test_uts46_471(self): + self.assertEqual(idna.decode('א׳ת', uts46=True, strict=True), 'א׳ת') + self.assertEqual(idna.encode('א׳ת', uts46=True, strict=True), b'xn--4db6c0a') + + def test_uts46_472(self): + self.assertEqual(idna.decode('xn--4db6c0a', uts46=True, strict=True), 'א׳ת') + self.assertEqual(idna.encode('xn--4db6c0a', uts46=True, strict=True), b'xn--4db6c0a') + + def test_uts46_473(self): + self.assertRaises(idna.IDNAError, idna.decode, 'aאTz', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'aאTz', strict=True) + + def test_uts46_474(self): + self.assertRaises(idna.IDNAError, idna.decode, 'aאtz', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'aאtz', strict=True) + + def test_uts46_475(self): + self.assertRaises(idna.IDNAError, idna.decode, 'AאTZ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'AאTZ', strict=True) + + def test_uts46_476(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Aאtz', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Aאtz', strict=True) + + def test_uts46_477(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--atz-qpe', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--atz-qpe', strict=True) + + def test_uts46_478(self): + self.assertRaises(idna.IDNAError, idna.decode, 'אTת', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'אTת', strict=True) + + def test_uts46_479(self): + self.assertRaises(idna.IDNAError, idna.decode, 'אtת', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'אtת', strict=True) + + def test_uts46_480(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--t-zhc3f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--t-zhc3f', strict=True) + + def test_uts46_481(self): + self.assertEqual(idna.decode('א7ת', uts46=True, strict=True), 'א7ת') + self.assertEqual(idna.encode('א7ת', uts46=True, strict=True), b'xn--7-zhc3f') + + def test_uts46_482(self): + self.assertEqual(idna.decode('xn--7-zhc3f', uts46=True, strict=True), 'א7ת') + self.assertEqual(idna.encode('xn--7-zhc3f', uts46=True, strict=True), b'xn--7-zhc3f') + + def test_uts46_483(self): + self.assertEqual(idna.decode('א٧ת', uts46=True, strict=True), 'א٧ת') + self.assertEqual(idna.encode('א٧ת', uts46=True, strict=True), b'xn--4db6c6t') + + def test_uts46_484(self): + self.assertEqual(idna.decode('xn--4db6c6t', uts46=True, strict=True), 'א٧ת') + self.assertEqual(idna.encode('xn--4db6c6t', uts46=True, strict=True), b'xn--4db6c6t') + + def test_uts46_485(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a7٧z', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a7٧z', strict=True) + + def test_uts46_486(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A7٧Z', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A7٧Z', strict=True) + + def test_uts46_487(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A7٧z', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A7٧z', strict=True) + + def test_uts46_488(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--a7z-06e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--a7z-06e', strict=True) + + def test_uts46_489(self): + self.assertRaises(idna.IDNAError, idna.decode, 'א7٧ת', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'א7٧ת', strict=True) + + def test_uts46_490(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7-zhc3fty', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7-zhc3fty', strict=True) + + def test_uts46_491(self): + self.assertEqual(idna.decode('ஹ்\u200d', uts46=True, strict=True), 'ஹ்\u200d') + self.assertEqual(idna.encode('ஹ்\u200d', uts46=True, strict=True), b'xn--dmc4b194h') + + def test_uts46_492(self): + self.assertEqual(idna.decode('xn--dmc4b', uts46=True, strict=True), 'ஹ்') + self.assertEqual(idna.encode('xn--dmc4b', uts46=True, strict=True), b'xn--dmc4b') + + def test_uts46_493(self): + self.assertEqual(idna.decode('ஹ்', uts46=True, strict=True), 'ஹ்') + self.assertEqual(idna.encode('ஹ்', uts46=True, strict=True), b'xn--dmc4b') + + def test_uts46_494(self): + self.assertEqual(idna.decode('xn--dmc4b194h', uts46=True, strict=True), 'ஹ்\u200d') + self.assertEqual(idna.encode('xn--dmc4b194h', uts46=True, strict=True), b'xn--dmc4b194h') + + def test_uts46_495(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ஹ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ஹ\u200d', strict=True) + + def test_uts46_496(self): + self.assertEqual(idna.decode('xn--dmc', uts46=True, strict=True), 'ஹ') + self.assertEqual(idna.encode('xn--dmc', uts46=True, strict=True), b'xn--dmc') + + def test_uts46_497(self): + self.assertEqual(idna.decode('ஹ', uts46=True, strict=True), 'ஹ') + self.assertEqual(idna.encode('ஹ', uts46=True, strict=True), b'xn--dmc') + + def test_uts46_498(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dmc225h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dmc225h', strict=True) + + def test_uts46_499(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d', strict=True) + + def test_uts46_500(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug', strict=True) + + def test_uts46_501(self): + self.assertEqual(idna.decode('ஹ்\u200c', uts46=True, strict=True), 'ஹ்\u200c') + self.assertEqual(idna.encode('ஹ்\u200c', uts46=True, strict=True), b'xn--dmc4by94h') + + def test_uts46_502(self): + self.assertEqual(idna.decode('xn--dmc4by94h', uts46=True, strict=True), 'ஹ்\u200c') + self.assertEqual(idna.encode('xn--dmc4by94h', uts46=True, strict=True), b'xn--dmc4by94h') + + def test_uts46_503(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ஹ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ஹ\u200c', strict=True) + + def test_uts46_504(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dmc025h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dmc025h', strict=True) + + def test_uts46_505(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c', strict=True) + + def test_uts46_506(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug', strict=True) + + def test_uts46_507(self): + self.assertEqual(idna.decode('لٰ\u200cۭۯ', uts46=True, strict=True), 'لٰ\u200cۭۯ') + self.assertEqual(idna.encode('لٰ\u200cۭۯ', uts46=True, strict=True), b'xn--ghb2gxqia7523a') + + def test_uts46_508(self): + self.assertEqual(idna.decode('xn--ghb2gxqia', uts46=True, strict=True), 'لٰۭۯ') + self.assertEqual(idna.encode('xn--ghb2gxqia', uts46=True, strict=True), b'xn--ghb2gxqia') + + def test_uts46_509(self): + self.assertEqual(idna.decode('لٰۭۯ', uts46=True, strict=True), 'لٰۭۯ') + self.assertEqual(idna.encode('لٰۭۯ', uts46=True, strict=True), b'xn--ghb2gxqia') + + def test_uts46_510(self): + self.assertEqual(idna.decode('xn--ghb2gxqia7523a', uts46=True, strict=True), 'لٰ\u200cۭۯ') + self.assertEqual(idna.encode('xn--ghb2gxqia7523a', uts46=True, strict=True), b'xn--ghb2gxqia7523a') + + def test_uts46_511(self): + self.assertEqual(idna.decode('لٰ\u200cۯ', uts46=True, strict=True), 'لٰ\u200cۯ') + self.assertEqual(idna.encode('لٰ\u200cۯ', uts46=True, strict=True), b'xn--ghb2g3qq34f') + + def test_uts46_512(self): + self.assertEqual(idna.decode('xn--ghb2g3q', uts46=True, strict=True), 'لٰۯ') + self.assertEqual(idna.encode('xn--ghb2g3q', uts46=True, strict=True), b'xn--ghb2g3q') + + def test_uts46_513(self): + self.assertEqual(idna.decode('لٰۯ', uts46=True, strict=True), 'لٰۯ') + self.assertEqual(idna.encode('لٰۯ', uts46=True, strict=True), b'xn--ghb2g3q') + + def test_uts46_514(self): + self.assertEqual(idna.decode('xn--ghb2g3qq34f', uts46=True, strict=True), 'لٰ\u200cۯ') + self.assertEqual(idna.encode('xn--ghb2g3qq34f', uts46=True, strict=True), b'xn--ghb2g3qq34f') + + def test_uts46_515(self): + self.assertEqual(idna.decode('ل\u200cۭۯ', uts46=True, strict=True), 'ل\u200cۭۯ') + self.assertEqual(idna.encode('ل\u200cۭۯ', uts46=True, strict=True), b'xn--ghb25aga828w') + + def test_uts46_516(self): + self.assertEqual(idna.decode('xn--ghb25aga', uts46=True, strict=True), 'لۭۯ') + self.assertEqual(idna.encode('xn--ghb25aga', uts46=True, strict=True), b'xn--ghb25aga') + + def test_uts46_517(self): + self.assertEqual(idna.decode('لۭۯ', uts46=True, strict=True), 'لۭۯ') + self.assertEqual(idna.encode('لۭۯ', uts46=True, strict=True), b'xn--ghb25aga') + + def test_uts46_518(self): + self.assertEqual(idna.decode('xn--ghb25aga828w', uts46=True, strict=True), 'ل\u200cۭۯ') + self.assertEqual(idna.encode('xn--ghb25aga828w', uts46=True, strict=True), b'xn--ghb25aga828w') + + def test_uts46_519(self): + self.assertEqual(idna.decode('ل\u200cۯ', uts46=True, strict=True), 'ل\u200cۯ') + self.assertEqual(idna.encode('ل\u200cۯ', uts46=True, strict=True), b'xn--ghb65a953d') + + def test_uts46_520(self): + self.assertEqual(idna.decode('xn--ghb65a', uts46=True, strict=True), 'لۯ') + self.assertEqual(idna.encode('xn--ghb65a', uts46=True, strict=True), b'xn--ghb65a') + + def test_uts46_521(self): + self.assertEqual(idna.decode('لۯ', uts46=True, strict=True), 'لۯ') + self.assertEqual(idna.encode('لۯ', uts46=True, strict=True), b'xn--ghb65a') + + def test_uts46_522(self): + self.assertEqual(idna.decode('xn--ghb65a953d', uts46=True, strict=True), 'ل\u200cۯ') + self.assertEqual(idna.encode('xn--ghb65a953d', uts46=True, strict=True), b'xn--ghb65a953d') + + def test_uts46_523(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لٰ\u200cۭ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لٰ\u200cۭ', strict=True) + + def test_uts46_524(self): + self.assertEqual(idna.decode('xn--ghb2gxq', uts46=True, strict=True), 'لٰۭ') + self.assertEqual(idna.encode('xn--ghb2gxq', uts46=True, strict=True), b'xn--ghb2gxq') + + def test_uts46_525(self): + self.assertEqual(idna.decode('لٰۭ', uts46=True, strict=True), 'لٰۭ') + self.assertEqual(idna.encode('لٰۭ', uts46=True, strict=True), b'xn--ghb2gxq') + + def test_uts46_526(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ghb2gxqy34f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ghb2gxqy34f', strict=True) + + def test_uts46_527(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۯ\u200cۯ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۯ\u200cۯ', strict=True) + + def test_uts46_528(self): + self.assertEqual(idna.decode('xn--cmba', uts46=True, strict=True), 'ۯۯ') + self.assertEqual(idna.encode('xn--cmba', uts46=True, strict=True), b'xn--cmba') + + def test_uts46_529(self): + self.assertEqual(idna.decode('ۯۯ', uts46=True, strict=True), 'ۯۯ') + self.assertEqual(idna.encode('ۯۯ', uts46=True, strict=True), b'xn--cmba') + + def test_uts46_530(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cmba004q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cmba004q', strict=True) + + def test_uts46_531(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ل\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ل\u200c', strict=True) + + def test_uts46_532(self): + self.assertEqual(idna.decode('xn--ghb', uts46=True, strict=True), 'ل') + self.assertEqual(idna.encode('xn--ghb', uts46=True, strict=True), b'xn--ghb') + + def test_uts46_533(self): + self.assertEqual(idna.decode('ل', uts46=True, strict=True), 'ل') + self.assertEqual(idna.encode('ل', uts46=True, strict=True), b'xn--ghb') + + def test_uts46_534(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ghb413k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ghb413k', strict=True) + + def test_uts46_535(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a。。b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a。。b', strict=True) + + def test_uts46_536(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A。。B', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A。。B', strict=True) + + def test_uts46_537(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a..b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a..b', strict=True) + + def test_uts46_538(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。。ڹ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。。ڹ\u200c', strict=True) + + def test_uts46_539(self): + self.assertRaises(idna.IDNAError, idna.decode, '..xn--skb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '..xn--skb', strict=True) + + def test_uts46_540(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug..xn--skb080k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug..xn--skb080k', strict=True) + + def test_uts46_541(self): + self.assertRaises(idna.IDNAError, idna.decode, 'א0٠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'א0٠', strict=True) + + def test_uts46_542(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0-zhc74b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0-zhc74b', strict=True) + + def test_uts46_543(self): + self.assertRaises(idna.IDNAError, idna.decode, '$', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '$', strict=True) + + def test_uts46_544(self): + self.assertRaises(idna.IDNAError, idna.decode, '⑷.four', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⑷.four', strict=True) + + def test_uts46_545(self): + self.assertRaises(idna.IDNAError, idna.decode, '(4).four', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '(4).four', strict=True) + + def test_uts46_546(self): + self.assertRaises(idna.IDNAError, idna.decode, '⑷.FOUR', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⑷.FOUR', strict=True) + + def test_uts46_547(self): + self.assertRaises(idna.IDNAError, idna.decode, '⑷.Four', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⑷.Four', strict=True) + + def test_uts46_548(self): + self.assertRaises(idna.IDNAError, idna.decode, 'a\ud900z', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'a\ud900z', strict=True) + + def test_uts46_549(self): + self.assertRaises(idna.IDNAError, idna.decode, 'A\ud900Z', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'A\ud900Z', strict=True) + + def test_uts46_550(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--', strict=True) + + def test_uts46_551(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---', strict=True) + + def test_uts46_552(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ASCII-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ASCII-', strict=True) + + def test_uts46_553(self): + self.assertEqual(idna.decode('ascii', uts46=True, strict=True), 'ascii') + self.assertEqual(idna.encode('ascii', uts46=True, strict=True), b'ascii') + + def test_uts46_554(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--unicode-.org', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--unicode-.org', strict=True) + + def test_uts46_555(self): + self.assertEqual(idna.decode('unicode.org', uts46=True, strict=True), 'unicode.org') + self.assertEqual(idna.encode('unicode.org', uts46=True, strict=True), b'unicode.org') + + def test_uts46_556(self): + self.assertEqual(idna.decode('陋㛼当𤎫竮䗗', uts46=True, strict=True), '陋㛼当𤎫竮䗗') + self.assertEqual(idna.encode('陋㛼当𤎫竮䗗', uts46=True, strict=True), b'xn--snl253bgitxhzwu2arn60c') + + def test_uts46_557(self): + self.assertEqual(idna.decode('陋㛼当𤎫竮䗗', uts46=True, strict=True), '陋㛼当𤎫竮䗗') + self.assertEqual(idna.encode('陋㛼当𤎫竮䗗', uts46=True, strict=True), b'xn--snl253bgitxhzwu2arn60c') + + def test_uts46_558(self): + self.assertEqual(idna.decode('xn--snl253bgitxhzwu2arn60c', uts46=True, strict=True), '陋㛼当𤎫竮䗗') + self.assertEqual(idna.encode('xn--snl253bgitxhzwu2arn60c', uts46=True, strict=True), b'xn--snl253bgitxhzwu2arn60c') + + def test_uts46_559(self): + self.assertEqual(idna.decode('電𡍪弳䎫窮䵗', uts46=True, strict=True), '電𡍪弳䎫窮䵗') + self.assertEqual(idna.encode('電𡍪弳䎫窮䵗', uts46=True, strict=True), b'xn--kbo60w31ob3z6t3av9z5b') + + def test_uts46_560(self): + self.assertEqual(idna.decode('xn--kbo60w31ob3z6t3av9z5b', uts46=True, strict=True), '電𡍪弳䎫窮䵗') + self.assertEqual(idna.encode('xn--kbo60w31ob3z6t3av9z5b', uts46=True, strict=True), b'xn--kbo60w31ob3z6t3av9z5b') + + def test_uts46_561(self): + self.assertEqual(idna.decode('xn--A-1ga', uts46=True, strict=True), 'aö') + self.assertEqual(idna.encode('xn--A-1ga', uts46=True, strict=True), b'xn--a-1ga') + + def test_uts46_562(self): + self.assertEqual(idna.decode('aö', uts46=True, strict=True), 'aö') + self.assertEqual(idna.encode('aö', uts46=True, strict=True), b'xn--a-1ga') + + def test_uts46_563(self): + self.assertEqual(idna.decode('aö', uts46=True, strict=True), 'aö') + self.assertEqual(idna.encode('aö', uts46=True, strict=True), b'xn--a-1ga') + + def test_uts46_564(self): + self.assertEqual(idna.decode('AÖ', uts46=True, strict=True), 'aö') + self.assertEqual(idna.encode('AÖ', uts46=True, strict=True), b'xn--a-1ga') + + def test_uts46_565(self): + self.assertEqual(idna.decode('AÖ', uts46=True, strict=True), 'aö') + self.assertEqual(idna.encode('AÖ', uts46=True, strict=True), b'xn--a-1ga') + + def test_uts46_566(self): + self.assertEqual(idna.decode('Aö', uts46=True, strict=True), 'aö') + self.assertEqual(idna.encode('Aö', uts46=True, strict=True), b'xn--a-1ga') + + def test_uts46_567(self): + self.assertEqual(idna.decode('Aö', uts46=True, strict=True), 'aö') + self.assertEqual(idna.encode('Aö', uts46=True, strict=True), b'xn--a-1ga') + + def test_uts46_568(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠', strict=True) + + def test_uts46_569(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠', strict=True) + + def test_uts46_570(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠', strict=True) + + def test_uts46_571(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch', strict=True) + + def test_uts46_575(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertEqual(idna.encode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), b'123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + + def test_uts46_576(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertEqual(idna.encode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), b'123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + + def test_uts46_577(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.', strict=True) + + def test_uts46_578(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.', strict=True) + + def test_uts46_579(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', strict=True) + + def test_uts46_580(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c', strict=True) + + def test_uts46_581(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', strict=True) + + def test_uts46_582(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a', strict=True) + + def test_uts46_583(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', strict=True) + + def test_uts46_584(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.', strict=True) + + def test_uts46_585(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', strict=True) + + def test_uts46_586(self): + self.assertEqual(idna.decode('123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', uts46=True, strict=True), '123456789012345678901234567890123456789012345678901234567890123.1234567890ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b') + self.assertRaises(idna.IDNAError, idna.encode, '123456789012345678901234567890123456789012345678901234567890123.1234567890Ä1234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b', strict=True) + + def test_uts46_593(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒕∝ٟ\U00093926.-󠄯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒕∝ٟ\U00093926.-󠄯', strict=True) + + def test_uts46_594(self): + self.assertRaises(idna.IDNAError, idna.decode, '14.∝ٟ\U00093926.-󠄯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '14.∝ٟ\U00093926.-󠄯', strict=True) + + def test_uts46_595(self): + self.assertRaises(idna.IDNAError, idna.decode, '14.xn--7hb713l3v90n.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '14.xn--7hb713l3v90n.-', strict=True) + + def test_uts46_596(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7hb713lfwbi1311b.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7hb713lfwbi1311b.-', strict=True) + + def test_uts46_597(self): + self.assertEqual(idna.decode('ꡣ.ߏ', uts46=True, strict=True), 'ꡣ.ߏ') + self.assertEqual(idna.encode('ꡣ.ߏ', uts46=True, strict=True), b'xn--8c9a.xn--qsb') + + def test_uts46_598(self): + self.assertEqual(idna.decode('xn--8c9a.xn--qsb', uts46=True, strict=True), 'ꡣ.ߏ') + self.assertEqual(idna.encode('xn--8c9a.xn--qsb', uts46=True, strict=True), b'xn--8c9a.xn--qsb') + + def test_uts46_599(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯\u0603。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯\u0603。-', strict=True) + + def test_uts46_600(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯\u0603。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯\u0603。-', strict=True) + + def test_uts46_601(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯\u0603。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯\u0603。-', strict=True) + + def test_uts46_602(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯\u0603。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯\u0603。-', strict=True) + + def test_uts46_603(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lfb566l.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lfb566l.-', strict=True) + + def test_uts46_604(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾛𐹧⾕.ᅟ\U000e05f0ςႭ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾛𐹧⾕.ᅟ\U000e05f0ςႭ', strict=True) + + def test_uts46_605(self): + self.assertRaises(idna.IDNAError, idna.decode, '走𐹧谷.ᅟ\U000e05f0ςႭ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '走𐹧谷.ᅟ\U000e05f0ςႭ', strict=True) + + def test_uts46_606(self): + self.assertRaises(idna.IDNAError, idna.decode, '走𐹧谷.ᅟ\U000e05f0ςⴍ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '走𐹧谷.ᅟ\U000e05f0ςⴍ', strict=True) + + def test_uts46_607(self): + self.assertRaises(idna.IDNAError, idna.decode, '走𐹧谷.ᅟ\U000e05f0ΣႭ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '走𐹧谷.ᅟ\U000e05f0ΣႭ', strict=True) + + def test_uts46_608(self): + self.assertRaises(idna.IDNAError, idna.decode, '走𐹧谷.ᅟ\U000e05f0σⴍ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '走𐹧谷.ᅟ\U000e05f0σⴍ', strict=True) + + def test_uts46_609(self): + self.assertRaises(idna.IDNAError, idna.decode, '走𐹧谷.ᅟ\U000e05f0Σⴍ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '走𐹧谷.ᅟ\U000e05f0Σⴍ', strict=True) + + def test_uts46_610(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6g3a1x434z.xn--4xa452s5d17u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6g3a1x434z.xn--4xa452s5d17u', strict=True) + + def test_uts46_611(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6g3a1x434z.xn--3xa652s5d17u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6g3a1x434z.xn--3xa652s5d17u', strict=True) + + def test_uts46_612(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾛𐹧⾕.ᅟ\U000e05f0ςⴍ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾛𐹧⾕.ᅟ\U000e05f0ςⴍ', strict=True) + + def test_uts46_613(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾛𐹧⾕.ᅟ\U000e05f0ΣႭ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾛𐹧⾕.ᅟ\U000e05f0ΣႭ', strict=True) + + def test_uts46_614(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾛𐹧⾕.ᅟ\U000e05f0σⴍ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾛𐹧⾕.ᅟ\U000e05f0σⴍ', strict=True) + + def test_uts46_615(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾛𐹧⾕.ᅟ\U000e05f0Σⴍ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾛𐹧⾕.ᅟ\U000e05f0Σⴍ', strict=True) + + def test_uts46_616(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6g3a1x434z.xn--4xa180eotvh7453a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6g3a1x434z.xn--4xa180eotvh7453a', strict=True) + + def test_uts46_617(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6g3a1x434z.xn--4xa627dhpae6345i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6g3a1x434z.xn--4xa627dhpae6345i', strict=True) + + def test_uts46_618(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6g3a1x434z.xn--3xa380eotvh7453a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6g3a1x434z.xn--3xa380eotvh7453a', strict=True) + + def test_uts46_619(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6g3a1x434z.xn--3xa827dhpae6345i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6g3a1x434z.xn--3xa827dhpae6345i', strict=True) + + def test_uts46_620(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d≠ᢙ≯.솣-ᡴႠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d≠ᢙ≯.솣-ᡴႠ', strict=True) + + def test_uts46_621(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d≠ᢙ≯.솣-ᡴႠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d≠ᢙ≯.솣-ᡴႠ', strict=True) + + def test_uts46_622(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d≠ᢙ≯.솣-ᡴⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d≠ᢙ≯.솣-ᡴⴀ', strict=True) + + def test_uts46_623(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d≠ᢙ≯.솣-ᡴⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d≠ᢙ≯.솣-ᡴⴀ', strict=True) + + def test_uts46_624(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jbf911clb.xn----p9j493ivi4l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jbf911clb.xn----p9j493ivi4l', strict=True) + + def test_uts46_625(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ᢙ≯.솣-ᡴⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ᢙ≯.솣-ᡴⴀ', strict=True) + + def test_uts46_626(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ᢙ≯.솣-ᡴⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ᢙ≯.솣-ᡴⴀ', strict=True) + + def test_uts46_627(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ᢙ≯.솣-ᡴႠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ᢙ≯.솣-ᡴႠ', strict=True) + + def test_uts46_628(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ᢙ≯.솣-ᡴႠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ᢙ≯.솣-ᡴႠ', strict=True) + + def test_uts46_629(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jbf929a90b0b.xn----p9j493ivi4l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jbf929a90b0b.xn----p9j493ivi4l', strict=True) + + def test_uts46_630(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jbf911clb.xn----6zg521d196p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jbf911clb.xn----6zg521d196p', strict=True) + + def test_uts46_631(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jbf929a90b0b.xn----6zg521d196p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jbf929a90b0b.xn----6zg521d196p', strict=True) + + def test_uts46_632(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006f79c.𐿇ྡྷݽ\u0600', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006f79c.𐿇ྡྷݽ\u0600', strict=True) + + def test_uts46_633(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006f79c.𐿇ྡྷݽ\u0600', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006f79c.𐿇ྡྷݽ\u0600', strict=True) + + def test_uts46_634(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006f79c.𐿇ྡྷݽ\u0600', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006f79c.𐿇ྡྷݽ\u0600', strict=True) + + def test_uts46_635(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gw68a.xn--ifb57ev2psc6027m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gw68a.xn--ifb57ev2psc6027m', strict=True) + + def test_uts46_636(self): + self.assertRaises(idna.IDNAError, idna.decode, '𣳔̃.𑓂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𣳔̃.𑓂', strict=True) + + def test_uts46_637(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nsa95820a.xn--wz1d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nsa95820a.xn--wz1d', strict=True) + + def test_uts46_638(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤀𞥅\U00058431。󠄌Ⴣꡥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤀𞥅\U00058431。󠄌Ⴣꡥ', strict=True) + + def test_uts46_639(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤢𞥅\U00058431。󠄌ⴣꡥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤢𞥅\U00058431。󠄌ⴣꡥ', strict=True) + + def test_uts46_640(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9d6hgcy3556a.xn--rlju750b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9d6hgcy3556a.xn--rlju750b', strict=True) + + def test_uts46_641(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9d6hgcy3556a.xn--7nd0578e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9d6hgcy3556a.xn--7nd0578e', strict=True) + + def test_uts46_642(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤀𞥅\U00058431。󠄌ⴣꡥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤀𞥅\U00058431。󠄌ⴣꡥ', strict=True) + + def test_uts46_643(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u08e2𑁿ς𖬱。󠅡렧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u08e2𑁿ς𖬱。󠅡렧', strict=True) + + def test_uts46_644(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u08e2𑁿ς𖬱。󠅡렧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u08e2𑁿ς𖬱。󠅡렧', strict=True) + + def test_uts46_645(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u08e2𑁿Σ𖬱。󠅡렧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u08e2𑁿Σ𖬱。󠅡렧', strict=True) + + def test_uts46_646(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u08e2𑁿Σ𖬱。󠅡렧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u08e2𑁿Σ𖬱。󠅡렧', strict=True) + + def test_uts46_647(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u08e2𑁿σ𖬱。󠅡렧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u08e2𑁿σ𖬱。󠅡렧', strict=True) + + def test_uts46_648(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u08e2𑁿σ𖬱。󠅡렧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u08e2𑁿σ𖬱。󠅡렧', strict=True) + + def test_uts46_649(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa53xp48ys2xc.xn--kn2b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa53xp48ys2xc.xn--kn2b', strict=True) + + def test_uts46_650(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa73xp48ys2xc.xn--kn2b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa73xp48ys2xc.xn--kn2b', strict=True) + + def test_uts46_651(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200d。𞤍\u200c\u200d⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200d。𞤍\u200c\u200d⒈', strict=True) + + def test_uts46_652(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200d。𞤍\u200c\u200d1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200d。𞤍\u200c\u200d1.', strict=True) + + def test_uts46_653(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200d。𞤯\u200c\u200d1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200d。𞤯\u200c\u200d1.', strict=True) + + def test_uts46_654(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--1-0i8r.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--1-0i8r.', strict=True) + + def test_uts46_655(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ugn.xn--1-rgnd61297b.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ugn.xn--1-rgnd61297b.', strict=True) + + def test_uts46_656(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200d。𞤯\u200c\u200d⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200d。𞤯\u200c\u200d⒈', strict=True) + + def test_uts46_657(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--tsh3666n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--tsh3666n', strict=True) + + def test_uts46_658(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ugn.xn--0ugc555aiv51d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ugn.xn--0ugc555aiv51d', strict=True) + + def test_uts46_659(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000853ad.Ⴒ𑇀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000853ad.Ⴒ𑇀', strict=True) + + def test_uts46_660(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000853ad.ⴒ𑇀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000853ad.ⴒ𑇀', strict=True) + + def test_uts46_661(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bn95b.xn--9kj2034e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bn95b.xn--9kj2034e', strict=True) + + def test_uts46_662(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug15083f.xn--9kj2034e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug15083f.xn--9kj2034e', strict=True) + + def test_uts46_663(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bn95b.xn--qnd6272k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bn95b.xn--qnd6272k', strict=True) + + def test_uts46_664(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug15083f.xn--qnd6272k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug15083f.xn--qnd6272k', strict=True) + + def test_uts46_665(self): + self.assertRaises(idna.IDNAError, idna.decode, '繱𑖿\u200d.8︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '繱𑖿\u200d.8︒', strict=True) + + def test_uts46_666(self): + self.assertEqual(idna.decode('繱𑖿\u200d.8。', uts46=True, strict=True), '繱𑖿\u200d.8.') + self.assertRaises(idna.IDNAError, idna.encode, '繱𑖿\u200d.8。', strict=True) + + def test_uts46_673(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gl0as212a.xn--8-o89h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gl0as212a.xn--8-o89h', strict=True) + + def test_uts46_674(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug6928ac48e.xn--8-o89h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug6928ac48e.xn--8-o89h', strict=True) + + def test_uts46_675(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆾.𞀈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆾.𞀈', strict=True) + + def test_uts46_676(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆾.𞀈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆾.𞀈', strict=True) + + def test_uts46_677(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--ph4h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--ph4h', strict=True) + + def test_uts46_678(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß۫。\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß۫。\u200d', strict=True) + + def test_uts46_679(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS۫。\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS۫。\u200d', strict=True) + + def test_uts46_680(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss۫。\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss۫。\u200d', strict=True) + + def test_uts46_681(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss۫。\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss۫。\u200d', strict=True) + + def test_uts46_684(self): + self.assertEqual(idna.decode('SS۫.', uts46=True, strict=True), 'ss۫.') + self.assertRaises(idna.IDNAError, idna.encode, 'SS۫.', strict=True) + + def test_uts46_685(self): + self.assertEqual(idna.decode('Ss۫.', uts46=True, strict=True), 'ss۫.') + self.assertRaises(idna.IDNAError, idna.encode, 'Ss۫.', strict=True) + + def test_uts46_686(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-59d.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-59d.xn--1ug', strict=True) + + def test_uts46_687(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca012a.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca012a.xn--1ug', strict=True) + + def test_uts46_688(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0435\u200c⒈.\U000e0387', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0435\u200c⒈.\U000e0387', strict=True) + + def test_uts46_689(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0435\u200c1..\U000e0387', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0435\u200c1..\U000e0387', strict=True) + + def test_uts46_690(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-bs31m..xn--tv36e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-bs31m..xn--tv36e', strict=True) + + def test_uts46_691(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-rgn37671n..xn--tv36e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-rgn37671n..xn--tv36e', strict=True) + + def test_uts46_692(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tshz2001k.xn--tv36e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tshz2001k.xn--tv36e', strict=True) + + def test_uts46_693(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug88o47900b.xn--tv36e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug88o47900b.xn--tv36e', strict=True) + + def test_uts46_694(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000df223ٟꪲß。\U000cc4e7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000df223ٟꪲß。\U000cc4e7', strict=True) + + def test_uts46_695(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000df223ٟꪲSS。\U000cc4e7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000df223ٟꪲSS。\U000cc4e7', strict=True) + + def test_uts46_696(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000df223ٟꪲss。\U000cc4e7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000df223ٟꪲss。\U000cc4e7', strict=True) + + def test_uts46_697(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000df223ٟꪲSs。\U000cc4e7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000df223ٟꪲSs。\U000cc4e7', strict=True) + + def test_uts46_698(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-3xd2839nncy1m.xn--bb79d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-3xd2839nncy1m.xn--bb79d', strict=True) + + def test_uts46_699(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca92z0t7n5w96j.xn--bb79d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca92z0t7n5w96j.xn--bb79d', strict=True) + + def test_uts46_700(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݴ\u200c𞤿。\U0003d610䉜\u200d\U0007f93c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݴ\u200c𞤿。\U0003d610䉜\u200d\U0007f93c', strict=True) + + def test_uts46_701(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݴ\u200c𞤝。\U0003d610䉜\u200d\U0007f93c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݴ\u200c𞤝。\U0003d610䉜\u200d\U0007f93c', strict=True) + + def test_uts46_702(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4pb2977v.xn--z0nt555ukbnv', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4pb2977v.xn--z0nt555ukbnv', strict=True) + + def test_uts46_703(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4pb607jjt73a.xn--1ug236ke314donv1a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4pb607jjt73a.xn--1ug236ke314donv1a', strict=True) + + def test_uts46_704(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cςᡱ⒈.≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cςᡱ⒈.≮𑄳\u200d𐮍', strict=True) + + def test_uts46_705(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cςᡱ⒈.≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cςᡱ⒈.≮𑄳\u200d𐮍', strict=True) + + def test_uts46_706(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cςᡱ1..≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cςᡱ1..≮𑄳\u200d𐮍', strict=True) + + def test_uts46_707(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cςᡱ1..≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cςᡱ1..≮𑄳\u200d𐮍', strict=True) + + def test_uts46_708(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cΣᡱ1..≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cΣᡱ1..≮𑄳\u200d𐮍', strict=True) + + def test_uts46_709(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cΣᡱ1..≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cΣᡱ1..≮𑄳\u200d𐮍', strict=True) + + def test_uts46_710(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cσᡱ1..≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cσᡱ1..≮𑄳\u200d𐮍', strict=True) + + def test_uts46_711(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cσᡱ1..≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cσᡱ1..≮𑄳\u200d𐮍', strict=True) + + def test_uts46_712(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-zmb699meq63t..xn--gdh5392g6sd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-zmb699meq63t..xn--gdh5392g6sd', strict=True) + + def test_uts46_713(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-zmb699meq63t..xn--1ug85gn777ahze', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-zmb699meq63t..xn--1ug85gn777ahze', strict=True) + + def test_uts46_714(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-xmb999meq63t..xn--1ug85gn777ahze', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-xmb999meq63t..xn--1ug85gn777ahze', strict=True) + + def test_uts46_715(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cΣᡱ⒈.≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cΣᡱ⒈.≮𑄳\u200d𐮍', strict=True) + + def test_uts46_716(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cΣᡱ⒈.≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cΣᡱ⒈.≮𑄳\u200d𐮍', strict=True) + + def test_uts46_717(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cσᡱ⒈.≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cσᡱ⒈.≮𑄳\u200d𐮍', strict=True) + + def test_uts46_718(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00094b5cσᡱ⒈.≮𑄳\u200d𐮍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00094b5cσᡱ⒈.≮𑄳\u200d𐮍', strict=True) + + def test_uts46_719(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa207hkzinr77u.xn--gdh5392g6sd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa207hkzinr77u.xn--gdh5392g6sd', strict=True) + + def test_uts46_720(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa207hkzinr77u.xn--1ug85gn777ahze', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa207hkzinr77u.xn--1ug85gn777ahze', strict=True) + + def test_uts46_721(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa407hkzinr77u.xn--1ug85gn777ahze', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa407hkzinr77u.xn--1ug85gn777ahze', strict=True) + + def test_uts46_722(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ㅤ्Ⴀ័.᠋', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ㅤ्Ⴀ័.᠋', strict=True) + + def test_uts46_723(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅠ्Ⴀ័.᠋', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅠ्Ⴀ័.᠋', strict=True) + + def test_uts46_724(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅠ्ⴀ័.᠋', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅠ्ⴀ័.᠋', strict=True) + + def test_uts46_725(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n3b445e53p.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n3b445e53p.', strict=True) + + def test_uts46_726(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ㅤ्ⴀ័.᠋', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ㅤ्ⴀ័.᠋', strict=True) + + def test_uts46_727(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n3b742bkqf4ty.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n3b742bkqf4ty.', strict=True) + + def test_uts46_728(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n3b468aoqa89r.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n3b468aoqa89r.', strict=True) + + def test_uts46_729(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n3b445e53po6d.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n3b445e53po6d.', strict=True) + + def test_uts46_730(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n3b468azngju2a.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n3b468azngju2a.', strict=True) + + def test_uts46_731(self): + self.assertRaises(idna.IDNAError, idna.decode, '❣\u200d.্𑰽ؒꤩ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '❣\u200d.্𑰽ؒꤩ', strict=True) + + def test_uts46_732(self): + self.assertRaises(idna.IDNAError, idna.decode, '❣\u200d.্𑰽ؒꤩ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '❣\u200d.্𑰽ؒꤩ', strict=True) + + def test_uts46_733(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pei.xn--0fb32q3w7q2g4d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pei.xn--0fb32q3w7q2g4d', strict=True) + + def test_uts46_734(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ugy10a.xn--0fb32q3w7q2g4d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ugy10a.xn--0fb32q3w7q2g4d', strict=True) + + def test_uts46_735(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𐳺\U00010e44.≯\U0006abb8ꡅ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𐳺\U00010e44.≯\U0006abb8ꡅ', strict=True) + + def test_uts46_736(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𐳺\U00010e44.≯\U0006abb8ꡅ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𐳺\U00010e44.≯\U0006abb8ꡅ', strict=True) + + def test_uts46_737(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh7943gk2a.xn--hdh1383c5e36c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh7943gk2a.xn--hdh1383c5e36c', strict=True) + + def test_uts46_738(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ೌ𐧅𐳏\U000e0cba。್ᠦ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ೌ𐧅𐳏\U000e0cba。್ᠦ', strict=True) + + def test_uts46_739(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ೌ𐧅𐳏\U000e0cba。್ᠦ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ೌ𐧅𐳏\U000e0cba。್ᠦ', strict=True) + + def test_uts46_740(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ೌ𐧅𐲏\U000e0cba。್ᠦ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ೌ𐧅𐲏\U000e0cba。್ᠦ', strict=True) + + def test_uts46_741(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7tc6360ky5bn2732c.xn--8tc429c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7tc6360ky5bn2732c.xn--8tc429c', strict=True) + + def test_uts46_742(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ೌ𐧅𐲏\U000e0cba。್ᠦ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ೌ𐧅𐲏\U000e0cba。್ᠦ', strict=True) + + def test_uts46_743(self): + self.assertRaises(idna.IDNAError, idna.decode, '͉。𧡫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '͉。𧡫', strict=True) + + def test_uts46_744(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nua.xn--bc6k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nua.xn--bc6k', strict=True) + + def test_uts46_745(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰿󠅦.ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰿󠅦.ᅠ', strict=True) + + def test_uts46_746(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰿󠅦.ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰿󠅦.ᅠ', strict=True) + + def test_uts46_747(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ok3d.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ok3d.', strict=True) + + def test_uts46_748(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ok3d.xn--psd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ok3d.xn--psd', strict=True) + + def test_uts46_749(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𞤆\u200d。\U000f8f04\U0001ecd2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𞤆\u200d。\U000f8f04\U0001ecd2', strict=True) + + def test_uts46_750(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𞤨\u200d。\U000f8f04\U0001ecd2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𞤨\u200d。\U000f8f04\U0001ecd2', strict=True) + + def test_uts46_751(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ni8r.xn--846h96596c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ni8r.xn--846h96596c', strict=True) + + def test_uts46_752(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ugnx367r.xn--846h96596c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ugnx367r.xn--846h96596c', strict=True) + + def test_uts46_753(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡏ\U000e01f6≯\U00033fbd。᷽⾇滸𐹰', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡏ\U000e01f6≯\U00033fbd。᷽⾇滸𐹰', strict=True) + + def test_uts46_754(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡏ\U000e01f6≯\U00033fbd。᷽⾇滸𐹰', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡏ\U000e01f6≯\U00033fbd。᷽⾇滸𐹰', strict=True) + + def test_uts46_755(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡏ\U000e01f6≯\U00033fbd。᷽舛滸𐹰', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡏ\U000e01f6≯\U00033fbd。᷽舛滸𐹰', strict=True) + + def test_uts46_756(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡏ\U000e01f6≯\U00033fbd。᷽舛滸𐹰', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡏ\U000e01f6≯\U00033fbd。᷽舛滸𐹰', strict=True) + + def test_uts46_757(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh7483cu6twwki8e.xn--yfg0765a58l0n6k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh7483cu6twwki8e.xn--yfg0765a58l0n6k', strict=True) + + def test_uts46_758(self): + self.assertRaises(idna.IDNAError, idna.decode, '蔏。𑰺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '蔏。𑰺', strict=True) + + def test_uts46_759(self): + self.assertRaises(idna.IDNAError, idna.decode, '蔏。𑰺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '蔏。𑰺', strict=True) + + def test_uts46_760(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--uy1a.xn--jk3d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--uy1a.xn--jk3d', strict=True) + + def test_uts46_761(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟿𐮋。󠄊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟿𐮋。󠄊', strict=True) + + def test_uts46_762(self): + self.assertRaises(idna.IDNAError, idna.decode, '9𐮋。󠄊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9𐮋。󠄊', strict=True) + + def test_uts46_763(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-rv5i.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-rv5i.', strict=True) + + def test_uts46_764(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000df1c7-䟖F。ߋ⒈٢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000df1c7-䟖F。ߋ⒈٢', strict=True) + + def test_uts46_765(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000df1c7-䟖F。ߋ1.٢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000df1c7-䟖F。ߋ1.٢', strict=True) + + def test_uts46_766(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000df1c7-䟖f。ߋ1.٢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000df1c7-䟖f。ߋ1.٢', strict=True) + + def test_uts46_767(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---f-mz8b08788k.xn--1-ybd.xn--bib', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---f-mz8b08788k.xn--1-ybd.xn--bib', strict=True) + + def test_uts46_768(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000df1c7-䟖f。ߋ⒈٢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000df1c7-䟖f。ߋ⒈٢', strict=True) + + def test_uts46_769(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---f-mz8b08788k.xn--bib53ev44d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---f-mz8b08788k.xn--bib53ev44d', strict=True) + + def test_uts46_770(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。𐹺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。𐹺', strict=True) + + def test_uts46_771(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。𐹺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。𐹺', strict=True) + + def test_uts46_772(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--yo0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--yo0d', strict=True) + + def test_uts46_773(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--yo0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--yo0d', strict=True) + + def test_uts46_774(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐡆.≯\u200c-𞥀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐡆.≯\u200c-𞥀', strict=True) + + def test_uts46_775(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐡆.≯\u200c-𞥀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐡆.≯\u200c-𞥀', strict=True) + + def test_uts46_776(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐡆.≯\u200c-𞤞', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐡆.≯\u200c-𞤞', strict=True) + + def test_uts46_777(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐡆.≯\u200c-𞤞', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐡆.≯\u200c-𞤞', strict=True) + + def test_uts46_778(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--le9c.xn----ogo9956r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--le9c.xn----ogo9956r', strict=True) + + def test_uts46_779(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--le9c.xn----rgn40iy359e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--le9c.xn----rgn40iy359e', strict=True) + + def test_uts46_780(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0040-。≠ﳗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0040-。≠ﳗ', strict=True) + + def test_uts46_781(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0040-。≠ﳗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0040-。≠ﳗ', strict=True) + + def test_uts46_782(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0040-。≠هج', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0040-。≠هج', strict=True) + + def test_uts46_783(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0040-。≠هج', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0040-。≠هج', strict=True) + + def test_uts46_784(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----f411m.xn--rgb7c611j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----f411m.xn--rgb7c611j', strict=True) + + def test_uts46_785(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007bb39𑈵。\u200d\U0001ea36', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007bb39𑈵。\u200d\U0001ea36', strict=True) + + def test_uts46_786(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8g1d12120a.xn--5l6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8g1d12120a.xn--5l6h', strict=True) + + def test_uts46_787(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8g1d12120a.xn--1ug6651p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8g1d12120a.xn--1ug6651p', strict=True) + + def test_uts46_788(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑋧꧀2。㧉\U00092584', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑋧꧀2。㧉\U00092584', strict=True) + + def test_uts46_789(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑋧꧀2。㧉\U00092584', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑋧꧀2。㧉\U00092584', strict=True) + + def test_uts46_790(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2-5z4eu89y.xn--97l02706d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2-5z4eu89y.xn--97l02706d', strict=True) + + def test_uts46_791(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U0003db04𐹴\U0001ea65。≯6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U0003db04𐹴\U0001ea65。≯6', strict=True) + + def test_uts46_792(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U0003db04𐹴\U0001ea65。≯6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U0003db04𐹴\U0001ea65。≯6', strict=True) + + def test_uts46_793(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--so0du768aim9m.xn--6-ogo', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--so0du768aim9m.xn--6-ogo', strict=True) + + def test_uts46_794(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug7105gf5wfxepq.xn--6-ogo', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug7105gf5wfxepq.xn--6-ogo', strict=True) + + def test_uts46_795(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑁿.𐹦\U0003b7b5-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑁿.𐹦\U0003b7b5-\u200d', strict=True) + + def test_uts46_796(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑁿.𐹦\U0003b7b5-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑁿.𐹦\U0003b7b5-\u200d', strict=True) + + def test_uts46_797(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--q30d.xn----i26i1299n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--q30d.xn----i26i1299n', strict=True) + + def test_uts46_798(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--q30d.xn----ugn1088hfsxv', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--q30d.xn----ugn1088hfsxv', strict=True) + + def test_uts46_799(self): + self.assertRaises(idna.IDNAError, idna.decode, '⤸ς\U0003ac40。ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⤸ς\U0003ac40。ᅠ', strict=True) + + def test_uts46_800(self): + self.assertRaises(idna.IDNAError, idna.decode, '⤸ς\U0003ac40。ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⤸ς\U0003ac40。ᅠ', strict=True) + + def test_uts46_801(self): + self.assertRaises(idna.IDNAError, idna.decode, '⤸Σ\U0003ac40。ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⤸Σ\U0003ac40。ᅠ', strict=True) + + def test_uts46_802(self): + self.assertRaises(idna.IDNAError, idna.decode, '⤸σ\U0003ac40。ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⤸σ\U0003ac40。ᅠ', strict=True) + + def test_uts46_803(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa192qmp03d.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa192qmp03d.', strict=True) + + def test_uts46_804(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa392qmp03d.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa392qmp03d.', strict=True) + + def test_uts46_805(self): + self.assertRaises(idna.IDNAError, idna.decode, '⤸Σ\U0003ac40。ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⤸Σ\U0003ac40。ᅠ', strict=True) + + def test_uts46_806(self): + self.assertRaises(idna.IDNAError, idna.decode, '⤸σ\U0003ac40。ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⤸σ\U0003ac40。ᅠ', strict=True) + + def test_uts46_807(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa192qmp03d.xn--psd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa192qmp03d.xn--psd', strict=True) + + def test_uts46_808(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa392qmp03d.xn--psd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa392qmp03d.xn--psd', strict=True) + + def test_uts46_809(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa192qmp03d.xn--cl7c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa192qmp03d.xn--cl7c', strict=True) + + def test_uts46_810(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa392qmp03d.xn--cl7c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa392qmp03d.xn--cl7c', strict=True) + + def test_uts46_811(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݥဵ𐫔ە.𐦬𑋪Ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݥဵ𐫔ە.𐦬𑋪Ⴃ', strict=True) + + def test_uts46_812(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݥဵ𐫔ە.𐦬𑋪ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݥဵ𐫔ە.𐦬𑋪ⴃ', strict=True) + + def test_uts46_813(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--llb10as9tqp5y.xn--ukj7371e21f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--llb10as9tqp5y.xn--ukj7371e21f', strict=True) + + def test_uts46_814(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--llb10as9tqp5y.xn--bnd9168j21f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--llb10as9tqp5y.xn--bnd9168j21f', strict=True) + + def test_uts46_815(self): + self.assertRaises(idna.IDNAError, idna.decode, '١᭄-킼.᮪ؖ٬≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '١᭄-킼.᮪ؖ٬≯', strict=True) + + def test_uts46_816(self): + self.assertRaises(idna.IDNAError, idna.decode, '١᭄-킼.᮪ؖ٬≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '١᭄-킼.᮪ؖ٬≯', strict=True) + + def test_uts46_817(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----9pc551nk39n.xn--4fb6o571degg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----9pc551nk39n.xn--4fb6o571degg', strict=True) + + def test_uts46_818(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。ۂ\u0604\U000855a1𑓂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。ۂ\u0604\U000855a1𑓂', strict=True) + + def test_uts46_819(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。ۂ\u0604\U000855a1𑓂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。ۂ\u0604\U000855a1𑓂', strict=True) + + def test_uts46_820(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--mfb39a7208dzgs3d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--mfb39a7208dzgs3d', strict=True) + + def test_uts46_821(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U000ef456\U000e0050.ֽ\U00019bb0ꡝ𐋡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U000ef456\U000e0050.ֽ\U00019bb0ꡝ𐋡', strict=True) + + def test_uts46_822(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U000ef456\U000e0050.ֽ\U00019bb0ꡝ𐋡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U000ef456\U000e0050.ֽ\U00019bb0ꡝ𐋡', strict=True) + + def test_uts46_823(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b726ey18m.xn--ldb8734fg0qcyzzg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b726ey18m.xn--ldb8734fg0qcyzzg', strict=True) + + def test_uts46_824(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug66101lt8me.xn--ldb8734fg0qcyzzg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug66101lt8me.xn--ldb8734fg0qcyzzg', strict=True) + + def test_uts46_825(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒\U00103235ς\U00040807。𐮈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒\U00103235ς\U00040807。𐮈', strict=True) + + def test_uts46_826(self): + self.assertRaises(idna.IDNAError, idna.decode, '。\U00103235ς\U00040807。𐮈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。\U00103235ς\U00040807。𐮈', strict=True) + + def test_uts46_827(self): + self.assertRaises(idna.IDNAError, idna.decode, '。\U00103235Σ\U00040807。𐮈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。\U00103235Σ\U00040807。𐮈', strict=True) + + def test_uts46_828(self): + self.assertRaises(idna.IDNAError, idna.decode, '。\U00103235σ\U00040807。𐮈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。\U00103235σ\U00040807。𐮈', strict=True) + + def test_uts46_829(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--4xa68573c7n64d.xn--f29c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--4xa68573c7n64d.xn--f29c', strict=True) + + def test_uts46_830(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--3xa88573c7n64d.xn--f29c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--3xa88573c7n64d.xn--f29c', strict=True) + + def test_uts46_831(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒\U00103235Σ\U00040807。𐮈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒\U00103235Σ\U00040807。𐮈', strict=True) + + def test_uts46_832(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒\U00103235σ\U00040807。𐮈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒\U00103235σ\U00040807。𐮈', strict=True) + + def test_uts46_833(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa1729jwz5t7gl5f.xn--f29c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa1729jwz5t7gl5f.xn--f29c', strict=True) + + def test_uts46_834(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa3729jwz5t7gl5f.xn--f29c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa3729jwz5t7gl5f.xn--f29c', strict=True) + + def test_uts46_835(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߙ.ۮ\U000c6f83≯󠅲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߙ.ۮ\U000c6f83≯󠅲', strict=True) + + def test_uts46_836(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߙ.ۮ\U000c6f83≯󠅲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߙ.ۮ\U000c6f83≯󠅲', strict=True) + + def test_uts46_837(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߙ.ۮ\U000c6f83≯󠅲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߙ.ۮ\U000c6f83≯󠅲', strict=True) + + def test_uts46_838(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߙ.ۮ\U000c6f83≯󠅲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߙ.ۮ\U000c6f83≯󠅲', strict=True) + + def test_uts46_839(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0sb.xn--bmb691l0524t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0sb.xn--bmb691l0524t', strict=True) + + def test_uts46_840(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᩳ\U000da678.𐭍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᩳ\U000da678.𐭍', strict=True) + + def test_uts46_841(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2of22352n.xn--q09c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2of22352n.xn--q09c', strict=True) + + def test_uts46_842(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒉\U000e0293≠。Ⴟ⬣Ⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒉\U000e0293≠。Ⴟ⬣Ⴈ', strict=True) + + def test_uts46_843(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒉\U000e0293≠。Ⴟ⬣Ⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒉\U000e0293≠。Ⴟ⬣Ⴈ', strict=True) + + def test_uts46_844(self): + self.assertRaises(idna.IDNAError, idna.decode, '2.\U000e0293≠。Ⴟ⬣Ⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2.\U000e0293≠。Ⴟ⬣Ⴈ', strict=True) + + def test_uts46_845(self): + self.assertRaises(idna.IDNAError, idna.decode, '2.\U000e0293≠。Ⴟ⬣Ⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2.\U000e0293≠。Ⴟ⬣Ⴈ', strict=True) + + def test_uts46_846(self): + self.assertRaises(idna.IDNAError, idna.decode, '2.\U000e0293≠。ⴟ⬣ⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2.\U000e0293≠。ⴟ⬣ⴈ', strict=True) + + def test_uts46_847(self): + self.assertRaises(idna.IDNAError, idna.decode, '2.\U000e0293≠。ⴟ⬣ⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2.\U000e0293≠。ⴟ⬣ⴈ', strict=True) + + def test_uts46_848(self): + self.assertRaises(idna.IDNAError, idna.decode, '2.xn--1chz4101l.xn--45iz7d6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2.xn--1chz4101l.xn--45iz7d6b', strict=True) + + def test_uts46_849(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒉\U000e0293≠。ⴟ⬣ⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒉\U000e0293≠。ⴟ⬣ⴈ', strict=True) + + def test_uts46_850(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒉\U000e0293≠。ⴟ⬣ⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒉\U000e0293≠。ⴟ⬣ⴈ', strict=True) + + def test_uts46_851(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch07f91401d.xn--45iz7d6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch07f91401d.xn--45iz7d6b', strict=True) + + def test_uts46_852(self): + self.assertRaises(idna.IDNAError, idna.decode, '2.xn--1chz4101l.xn--gnd9b297j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2.xn--1chz4101l.xn--gnd9b297j', strict=True) + + def test_uts46_853(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch07f91401d.xn--gnd9b297j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch07f91401d.xn--gnd9b297j', strict=True) + + def test_uts46_854(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U000e0271ྸჅ。-𐹽ݴ𞣑', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U000e0271ྸჅ。-𐹽ݴ𞣑', strict=True) + + def test_uts46_855(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U000e0271ྸⴥ。-𐹽ݴ𞣑', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U000e0271ྸⴥ。-𐹽ݴ𞣑', strict=True) + + def test_uts46_856(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----xmg317tgv352a.xn----05c4213ryr0g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----xmg317tgv352a.xn----05c4213ryr0g', strict=True) + + def test_uts46_857(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----xmg12fm2555h.xn----05c4213ryr0g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----xmg12fm2555h.xn----05c4213ryr0g', strict=True) + + def test_uts46_858(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٙ。𑄴︒اߝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٙ。𑄴︒اߝ', strict=True) + + def test_uts46_859(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٙ。𑄴。اߝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٙ。𑄴。اߝ', strict=True) + + def test_uts46_860(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1hb.xn--w80d.xn--mgb09f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1hb.xn--w80d.xn--mgb09f', strict=True) + + def test_uts46_861(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1hb.xn--mgb09fp820c08pa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1hb.xn--mgb09fp820c08pa', strict=True) + + def test_uts46_862(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴙظ.󠆓\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴙظ.󠆓\u200d', strict=True) + + def test_uts46_863(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴙظ.󠆓\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴙظ.󠆓\u200d', strict=True) + + def test_uts46_864(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3gb910r.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3gb910r.', strict=True) + + def test_uts46_865(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3gb910r.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3gb910r.xn--1ug', strict=True) + + def test_uts46_866(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3gb194c.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3gb194c.', strict=True) + + def test_uts46_867(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3gb194c.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3gb194c.xn--1ug', strict=True) + + def test_uts46_868(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆸。₆0𐺧ݖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆸。₆0𐺧ݖ', strict=True) + + def test_uts46_869(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆸。60𐺧ݖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆸。60𐺧ݖ', strict=True) + + def test_uts46_870(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--60-cke9470y', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--60-cke9470y', strict=True) + + def test_uts46_871(self): + self.assertRaises(idna.IDNAError, idna.decode, '6ࡏ。-𑈴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '6ࡏ。-𑈴', strict=True) + + def test_uts46_872(self): + self.assertRaises(idna.IDNAError, idna.decode, '6ࡏ。-𑈴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '6ࡏ。-𑈴', strict=True) + + def test_uts46_873(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-jjd.xn----6n8i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-jjd.xn----6n8i', strict=True) + + def test_uts46_874(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U0004b33f𐹰。્ς\U0001ec0eࣖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U0004b33f𐹰。્ς\U0001ec0eࣖ', strict=True) + + def test_uts46_875(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U0004b33f𐹰。્ς\U0001ec0eࣖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U0004b33f𐹰。્ς\U0001ec0eࣖ', strict=True) + + def test_uts46_876(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U0004b33f𐹰。્Σ\U0001ec0eࣖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U0004b33f𐹰。્Σ\U0001ec0eࣖ', strict=True) + + def test_uts46_877(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U0004b33f𐹰。્σ\U0001ec0eࣖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U0004b33f𐹰。્σ\U0001ec0eࣖ', strict=True) + + def test_uts46_878(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--oo0d1330n.xn--4xa21xcwbfz15g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--oo0d1330n.xn--4xa21xcwbfz15g', strict=True) + + def test_uts46_879(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ugx105gq26y.xn--4xa21xcwbfz15g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ugx105gq26y.xn--4xa21xcwbfz15g', strict=True) + + def test_uts46_880(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ugx105gq26y.xn--3xa41xcwbfz15g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ugx105gq26y.xn--3xa41xcwbfz15g', strict=True) + + def test_uts46_881(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U0004b33f𐹰。્Σ\U0001ec0eࣖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U0004b33f𐹰。્Σ\U0001ec0eࣖ', strict=True) + + def test_uts46_882(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U0004b33f𐹰。્σ\U0001ec0eࣖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U0004b33f𐹰。્σ\U0001ec0eࣖ', strict=True) + + def test_uts46_883(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈\U0005f11cႳ⒪.්\U00098636ࢋ𐹢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈\U0005f11cႳ⒪.්\U00098636ࢋ𐹢', strict=True) + + def test_uts46_884(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.\U0005f11cႳ(o).්\U00098636ࢋ𐹢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.\U0005f11cႳ(o).්\U00098636ࢋ𐹢', strict=True) + + def test_uts46_885(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.\U0005f11cⴓ(o).්\U00098636ࢋ𐹢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.\U0005f11cⴓ(o).්\U00098636ࢋ𐹢', strict=True) + + def test_uts46_886(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.\U0005f11cႳ(O).්\U00098636ࢋ𐹢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.\U0005f11cႳ(O).්\U00098636ࢋ𐹢', strict=True) + + def test_uts46_887(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--(o)-ej1bu5389e.xn--3xb99xpx1yoes3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--(o)-ej1bu5389e.xn--3xb99xpx1yoes3e', strict=True) + + def test_uts46_888(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈\U0005f11cⴓ⒪.්\U00098636ࢋ𐹢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈\U0005f11cⴓ⒪.්\U00098636ࢋ𐹢', strict=True) + + def test_uts46_889(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--(o)-ge4ax01c3t74t.xn--3xb99xpx1yoes3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--(o)-ge4ax01c3t74t.xn--3xb99xpx1yoes3e', strict=True) + + def test_uts46_890(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--(o)-7sn88849j.xn--3xb99xpx1yoes3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--(o)-7sn88849j.xn--3xb99xpx1yoes3e', strict=True) + + def test_uts46_891(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh0ds63atl31n.xn--3xb99xpx1yoes3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh0ds63atl31n.xn--3xb99xpx1yoes3e', strict=True) + + def test_uts46_892(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rnd762h7cx3027d.xn--3xb99xpx1yoes3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rnd762h7cx3027d.xn--3xb99xpx1yoes3e', strict=True) + + def test_uts46_893(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤷.𐮐𞢁𐹠ؤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤷.𐮐𞢁𐹠ؤ', strict=True) + + def test_uts46_894(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤷.𐮐𞢁𐹠ؤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤷.𐮐𞢁𐹠ؤ', strict=True) + + def test_uts46_895(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤕.𐮐𞢁𐹠ؤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤕.𐮐𞢁𐹠ؤ', strict=True) + + def test_uts46_896(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤕.𐮐𞢁𐹠ؤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤕.𐮐𞢁𐹠ؤ', strict=True) + + def test_uts46_897(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ve6h.xn--jgb1694kz0b2176a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ve6h.xn--jgb1694kz0b2176a', strict=True) + + def test_uts46_898(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐲈-。𑄳\U0006233b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐲈-。𑄳\U0006233b', strict=True) + + def test_uts46_899(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐲈-。𑄳\U0006233b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐲈-。𑄳\U0006233b', strict=True) + + def test_uts46_900(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐳈-。𑄳\U0006233b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐳈-。𑄳\U0006233b', strict=True) + + def test_uts46_901(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ue6i.xn--v80d6662t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ue6i.xn--v80d6662t', strict=True) + + def test_uts46_902(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐳈-。𑄳\U0006233b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐳈-。𑄳\U0006233b', strict=True) + + def test_uts46_903(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U000e0256ꡧ.\U000e0282\U00047183🄉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U000e0256ꡧ.\U000e0282\U00047183🄉', strict=True) + + def test_uts46_904(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U000e0256ꡧ.\U000e0282\U000471838,', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U000e0256ꡧ.\U000e0282\U000471838,', strict=True) + + def test_uts46_905(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----hg4ei0361g.xn--8,-k362evu488a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----hg4ei0361g.xn--8,-k362evu488a', strict=True) + + def test_uts46_906(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----hg4ei0361g.xn--207ht163h7m94c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----hg4ei0361g.xn--207ht163h7m94c', strict=True) + + def test_uts46_907(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0f9b\U000e0234臯𧔤.ݨ𝟝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0f9b\U000e0234臯𧔤.ݨ𝟝', strict=True) + + def test_uts46_908(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0f9b\U000e0234臯𧔤.ݨ5', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0f9b\U000e0234臯𧔤.ݨ5', strict=True) + + def test_uts46_909(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zb1at733hm579ddhla.xn--5-b5c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zb1at733hm579ddhla.xn--5-b5c', strict=True) + + def test_uts46_910(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𐹣.𝨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𐹣.𝨿', strict=True) + + def test_uts46_911(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𐹣.𝨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𐹣.𝨿', strict=True) + + def test_uts46_912(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𐹣.𝨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𐹣.𝨿', strict=True) + + def test_uts46_913(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𐹣.𝨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𐹣.𝨿', strict=True) + + def test_uts46_914(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh1504g.xn--e92h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh1504g.xn--e92h', strict=True) + + def test_uts46_915(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹯ᯛ੍。脥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹯ᯛ੍。脥', strict=True) + + def test_uts46_916(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹯ᯛ੍。脥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹯ᯛ੍。脥', strict=True) + + def test_uts46_917(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ybc101g3m1p.xn--740a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ybc101g3m1p.xn--740a', strict=True) + + def test_uts46_918(self): + self.assertRaises(idna.IDNAError, idna.decode, '᭄ᅟ\U0001edff\U0008300d.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᭄ᅟ\U0001edff\U0008300d.-', strict=True) + + def test_uts46_919(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1uf9538sxny9a.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1uf9538sxny9a.-', strict=True) + + def test_uts46_920(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--osd971cpx70btgt8b.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--osd971cpx70btgt8b.-', strict=True) + + def test_uts46_921(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。͔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。͔', strict=True) + + def test_uts46_922(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。͔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。͔', strict=True) + + def test_uts46_923(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--yua', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--yua', strict=True) + + def test_uts46_924(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--yua', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--yua', strict=True) + + def test_uts46_925(self): + self.assertEqual(idna.decode('𞤥󠅮.ᡄႮ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤥󠅮.ᡄႮ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_926(self): + self.assertEqual(idna.decode('𞤥󠅮.ᡄႮ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤥󠅮.ᡄႮ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_927(self): + self.assertEqual(idna.decode('𞤥󠅮.ᡄⴎ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤥󠅮.ᡄⴎ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_928(self): + self.assertEqual(idna.decode('𞤃󠅮.ᡄႮ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤃󠅮.ᡄႮ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_929(self): + self.assertEqual(idna.decode('𞤃󠅮.ᡄⴎ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤃󠅮.ᡄⴎ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_930(self): + self.assertEqual(idna.decode('xn--de6h.xn--37e857h', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('xn--de6h.xn--37e857h', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_931(self): + self.assertEqual(idna.decode('𞤥.ᡄⴎ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤥.ᡄⴎ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_932(self): + self.assertEqual(idna.decode('𞤃.ᡄႮ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤃.ᡄႮ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_933(self): + self.assertEqual(idna.decode('𞤃.ᡄⴎ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤃.ᡄⴎ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_934(self): + self.assertEqual(idna.decode('𞤥󠅮.ᡄⴎ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤥󠅮.ᡄⴎ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_935(self): + self.assertEqual(idna.decode('𞤃󠅮.ᡄႮ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤃󠅮.ᡄႮ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_936(self): + self.assertEqual(idna.decode('𞤃󠅮.ᡄⴎ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤃󠅮.ᡄⴎ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_937(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--de6h.xn--mnd799a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--de6h.xn--mnd799a', strict=True) + + def test_uts46_938(self): + self.assertEqual(idna.decode('𞤥.ᡄႮ', uts46=True, strict=True), '𞤥.ᡄⴎ') + self.assertEqual(idna.encode('𞤥.ᡄႮ', uts46=True, strict=True), b'xn--de6h.xn--37e857h') + + def test_uts46_939(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤧𝨨Ξ.𪺏㛨❸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤧𝨨Ξ.𪺏㛨❸', strict=True) + + def test_uts46_940(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤧𝨨Ξ.𪺏㛨❸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤧𝨨Ξ.𪺏㛨❸', strict=True) + + def test_uts46_941(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤧𝨨ξ.𪺏㛨❸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤧𝨨ξ.𪺏㛨❸', strict=True) + + def test_uts46_942(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤅𝨨Ξ.𪺏㛨❸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤅𝨨Ξ.𪺏㛨❸', strict=True) + + def test_uts46_943(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤅𝨨ξ.𪺏㛨❸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤅𝨨ξ.𪺏㛨❸', strict=True) + + def test_uts46_944(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zxa5691vboja.xn--bfi293ci119b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zxa5691vboja.xn--bfi293ci119b', strict=True) + + def test_uts46_945(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤧𝨨ξ.𪺏㛨❸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤧𝨨ξ.𪺏㛨❸', strict=True) + + def test_uts46_946(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤅𝨨Ξ.𪺏㛨❸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤅𝨨Ξ.𪺏㛨❸', strict=True) + + def test_uts46_947(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤅𝨨ξ.𪺏㛨❸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤅𝨨ξ.𪺏㛨❸', strict=True) + + def test_uts46_948(self): + self.assertRaises(idna.IDNAError, idna.decode, '᠆몆\u200c-。Ⴛ𐦅︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᠆몆\u200c-。Ⴛ𐦅︒', strict=True) + + def test_uts46_949(self): + self.assertRaises(idna.IDNAError, idna.decode, '᠆몆\u200c-。Ⴛ𐦅︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᠆몆\u200c-。Ⴛ𐦅︒', strict=True) + + def test_uts46_950(self): + self.assertRaises(idna.IDNAError, idna.decode, '᠆몆\u200c-。Ⴛ𐦅。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᠆몆\u200c-。Ⴛ𐦅。', strict=True) + + def test_uts46_951(self): + self.assertRaises(idna.IDNAError, idna.decode, '᠆몆\u200c-。Ⴛ𐦅。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᠆몆\u200c-。Ⴛ𐦅。', strict=True) + + def test_uts46_952(self): + self.assertRaises(idna.IDNAError, idna.decode, '᠆몆\u200c-。ⴛ𐦅。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᠆몆\u200c-。ⴛ𐦅。', strict=True) + + def test_uts46_953(self): + self.assertRaises(idna.IDNAError, idna.decode, '᠆몆\u200c-。ⴛ𐦅。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᠆몆\u200c-。ⴛ𐦅。', strict=True) + + def test_uts46_954(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----e3j6620g.xn--jlju661e.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----e3j6620g.xn--jlju661e.', strict=True) + + def test_uts46_955(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----e3j425bsk1o.xn--jlju661e.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----e3j425bsk1o.xn--jlju661e.', strict=True) + + def test_uts46_956(self): + self.assertRaises(idna.IDNAError, idna.decode, '᠆몆\u200c-。ⴛ𐦅︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᠆몆\u200c-。ⴛ𐦅︒', strict=True) + + def test_uts46_957(self): + self.assertRaises(idna.IDNAError, idna.decode, '᠆몆\u200c-。ⴛ𐦅︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᠆몆\u200c-。ⴛ𐦅︒', strict=True) + + def test_uts46_958(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----e3j6620g.xn--jlj4997dhgh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----e3j6620g.xn--jlj4997dhgh', strict=True) + + def test_uts46_959(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----e3j425bsk1o.xn--jlj4997dhgh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----e3j425bsk1o.xn--jlj4997dhgh', strict=True) + + def test_uts46_960(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----e3j6620g.xn--znd4948j.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----e3j6620g.xn--znd4948j.', strict=True) + + def test_uts46_961(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----e3j425bsk1o.xn--znd4948j.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----e3j425bsk1o.xn--znd4948j.', strict=True) + + def test_uts46_962(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----e3j6620g.xn--znd2362jhgh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----e3j6620g.xn--znd2362jhgh', strict=True) + + def test_uts46_963(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----e3j425bsk1o.xn--znd2362jhgh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----e3j425bsk1o.xn--znd2362jhgh', strict=True) + + def test_uts46_964(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0fb3.︒⥱\u200c𐹬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0fb3.︒⥱\u200c𐹬', strict=True) + + def test_uts46_965(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0fb3.。⥱\u200c𐹬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0fb3.。⥱\u200c𐹬', strict=True) + + def test_uts46_966(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--uf66e..xn--qti2829e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--uf66e..xn--qti2829e', strict=True) + + def test_uts46_967(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--uf66e..xn--0ugz28as66q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--uf66e..xn--0ugz28as66q', strict=True) + + def test_uts46_968(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--uf66e.xn--qtiz073e3ik', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--uf66e.xn--qtiz073e3ik', strict=True) + + def test_uts46_969(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--uf66e.xn--0ugz28axl3pqxna', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--uf66e.xn--0ugz28axl3pqxna', strict=True) + + def test_uts46_970(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010bd6.𐹠Ⴑ\U0005a1dc𐫊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010bd6.𐹠Ⴑ\U0005a1dc𐫊', strict=True) + + def test_uts46_971(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010bd6.𐹠ⴑ\U0005a1dc𐫊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010bd6.𐹠ⴑ\U0005a1dc𐫊', strict=True) + + def test_uts46_972(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n49c.xn--8kj8702ewicl862o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n49c.xn--8kj8702ewicl862o', strict=True) + + def test_uts46_973(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n49c.xn--pnd4619jwicl862o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n49c.xn--pnd4619jwicl862o', strict=True) + + def test_uts46_974(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྤ\U0007192f.𝟭Ⴛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྤ\U0007192f.𝟭Ⴛ', strict=True) + + def test_uts46_975(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྤ\U0007192f.1Ⴛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྤ\U0007192f.1Ⴛ', strict=True) + + def test_uts46_976(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྤ\U0007192f.1ⴛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྤ\U0007192f.1ⴛ', strict=True) + + def test_uts46_977(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0fd40533g.xn--1-tws', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0fd40533g.xn--1-tws', strict=True) + + def test_uts46_978(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྤ\U0007192f.𝟭ⴛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྤ\U0007192f.𝟭ⴛ', strict=True) + + def test_uts46_979(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0fd40533g.xn--1-q1g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0fd40533g.xn--1-q1g', strict=True) + + def test_uts46_980(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ࠦ齀。릿\U00010e0b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ࠦ齀。릿\U00010e0b', strict=True) + + def test_uts46_981(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ࠦ齀。릿\U00010e0b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ࠦ齀。릿\U00010e0b', strict=True) + + def test_uts46_982(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----6gd0617i.xn--7y2bm55m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----6gd0617i.xn--7y2bm55m', strict=True) + + def test_uts46_983(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e050aܜ鹝꾗。\U0007ed50\u200d\u200d⏃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e050aܜ鹝꾗。\U0007ed50\u200d\u200d⏃', strict=True) + + def test_uts46_984(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e050aܜ鹝꾗。\U0007ed50\u200d\u200d⏃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e050aܜ鹝꾗。\U0007ed50\u200d\u200d⏃', strict=True) + + def test_uts46_985(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mnb6558e91kyq533a.xn--6mh27269e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mnb6558e91kyq533a.xn--6mh27269e', strict=True) + + def test_uts46_986(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mnb6558e91kyq533a.xn--1uga46zs309y', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mnb6558e91kyq533a.xn--1uga46zs309y', strict=True) + + def test_uts46_987(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮.-܈--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮.-܈--', strict=True) + + def test_uts46_988(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮.-܈--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮.-܈--', strict=True) + + def test_uts46_989(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮.-܈--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮.-܈--', strict=True) + + def test_uts46_990(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮.-܈--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮.-܈--', strict=True) + + def test_uts46_991(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh.xn------eqf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh.xn------eqf', strict=True) + + def test_uts46_992(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹸\U000e02f3。\u200dς𝟩', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹸\U000e02f3。\u200dς𝟩', strict=True) + + def test_uts46_993(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹸\U000e02f3。\u200dς7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹸\U000e02f3。\u200dς7', strict=True) + + def test_uts46_994(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹸\U000e02f3。\u200dΣ7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹸\U000e02f3。\u200dΣ7', strict=True) + + def test_uts46_995(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹸\U000e02f3。\u200dσ7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹸\U000e02f3。\u200dσ7', strict=True) + + def test_uts46_996(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wo0di5177c.xn--7-zmb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wo0di5177c.xn--7-zmb', strict=True) + + def test_uts46_997(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wo0di5177c.xn--7-zmb938s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wo0di5177c.xn--7-zmb938s', strict=True) + + def test_uts46_998(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wo0di5177c.xn--7-xmb248s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wo0di5177c.xn--7-xmb248s', strict=True) + + def test_uts46_999(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹸\U000e02f3。\u200dΣ𝟩', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹸\U000e02f3。\u200dΣ𝟩', strict=True) + + def test_uts46_1000(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹸\U000e02f3。\u200dσ𝟩', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹸\U000e02f3。\u200dσ𝟩', strict=True) + + def test_uts46_1001(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς\U0008570c8.\U0001eb64', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς\U0008570c8.\U0001eb64', strict=True) + + def test_uts46_1002(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς\U0008570c8.\U0001eb64', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς\U0008570c8.\U0001eb64', strict=True) + + def test_uts46_1003(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ\U0008570c8.\U0001eb64', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ\U0008570c8.\U0001eb64', strict=True) + + def test_uts46_1004(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ\U0008570c8.\U0001eb64', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ\U0008570c8.\U0001eb64', strict=True) + + def test_uts46_1005(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-zmb14974n.xn--su6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-zmb14974n.xn--su6h', strict=True) + + def test_uts46_1006(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-xmb44974n.xn--su6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-xmb44974n.xn--su6h', strict=True) + + def test_uts46_1007(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ\U0008570c8.\U0001eb64', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ\U0008570c8.\U0001eb64', strict=True) + + def test_uts46_1008(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ\U0008570c8.\U0001eb64', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ\U0008570c8.\U0001eb64', strict=True) + + def test_uts46_1009(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cᡑ🄀ڄ.-𐫄𑲤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cᡑ🄀ڄ.-𐫄𑲤', strict=True) + + def test_uts46_1010(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cᡑ0.ڄ.-𐫄𑲤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cᡑ0.ڄ.-𐫄𑲤', strict=True) + + def test_uts46_1011(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0-o7j.xn--9ib.xn----ek5i065b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0-o7j.xn--9ib.xn----ek5i065b', strict=True) + + def test_uts46_1012(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0-o7j263b.xn--9ib.xn----ek5i065b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0-o7j263b.xn--9ib.xn----ek5i065b', strict=True) + + def test_uts46_1013(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ib722gbw95a.xn----ek5i065b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ib722gbw95a.xn----ek5i065b', strict=True) + + def test_uts46_1014(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ib722gvtfi563c.xn----ek5i065b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ib722gvtfi563c.xn----ek5i065b', strict=True) + + def test_uts46_1015(self): + self.assertRaises(idna.IDNAError, idna.decode, '𖠍。\U00010abf넯\U0009ed72', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𖠍。\U00010abf넯\U0009ed72', strict=True) + + def test_uts46_1016(self): + self.assertRaises(idna.IDNAError, idna.decode, '𖠍。\U00010abf넯\U0009ed72', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𖠍。\U00010abf넯\U0009ed72', strict=True) + + def test_uts46_1017(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4e9e.xn--l60bj21opd57g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4e9e.xn--l60bj21opd57g', strict=True) + + def test_uts46_1018(self): + self.assertRaises(idna.IDNAError, idna.decode, '᠇Ⴘ。\u0603Ⴈ𝆊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᠇Ⴘ。\u0603Ⴈ𝆊', strict=True) + + def test_uts46_1019(self): + self.assertRaises(idna.IDNAError, idna.decode, '᠇ⴘ。\u0603ⴈ𝆊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᠇ⴘ。\u0603ⴈ𝆊', strict=True) + + def test_uts46_1020(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--d6e009h.xn--lfb290rfu3z', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--d6e009h.xn--lfb290rfu3z', strict=True) + + def test_uts46_1021(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wnd558a.xn--lfb465c1v87a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wnd558a.xn--lfb465c1v87a', strict=True) + + def test_uts46_1022(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒚\U000e02d1𞤰。牣٧Ⴜᣥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒚\U000e02d1𞤰。牣٧Ⴜᣥ', strict=True) + + def test_uts46_1023(self): + self.assertRaises(idna.IDNAError, idna.decode, '19.\U000e02d1𞤰。牣٧Ⴜᣥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '19.\U000e02d1𞤰。牣٧Ⴜᣥ', strict=True) + + def test_uts46_1024(self): + self.assertRaises(idna.IDNAError, idna.decode, '19.\U000e02d1𞤰。牣٧ⴜᣥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '19.\U000e02d1𞤰。牣٧ⴜᣥ', strict=True) + + def test_uts46_1025(self): + self.assertRaises(idna.IDNAError, idna.decode, '19.\U000e02d1𞤎。牣٧Ⴜᣥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '19.\U000e02d1𞤎。牣٧Ⴜᣥ', strict=True) + + def test_uts46_1026(self): + self.assertRaises(idna.IDNAError, idna.decode, '19.\U000e02d1𞤎。牣٧ⴜᣥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '19.\U000e02d1𞤎。牣٧ⴜᣥ', strict=True) + + def test_uts46_1027(self): + self.assertRaises(idna.IDNAError, idna.decode, '19.xn--oe6h75760c.xn--gib285gtxo2l9d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '19.xn--oe6h75760c.xn--gib285gtxo2l9d', strict=True) + + def test_uts46_1028(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒚\U000e02d1𞤰。牣٧ⴜᣥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒚\U000e02d1𞤰。牣٧ⴜᣥ', strict=True) + + def test_uts46_1029(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒚\U000e02d1𞤎。牣٧Ⴜᣥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒚\U000e02d1𞤎。牣٧Ⴜᣥ', strict=True) + + def test_uts46_1030(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒚\U000e02d1𞤎。牣٧ⴜᣥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒚\U000e02d1𞤎。牣٧ⴜᣥ', strict=True) + + def test_uts46_1031(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cthy466n29j3e.xn--gib285gtxo2l9d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cthy466n29j3e.xn--gib285gtxo2l9d', strict=True) + + def test_uts46_1032(self): + self.assertRaises(idna.IDNAError, idna.decode, '19.xn--oe6h75760c.xn--gib404ccxgh00h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '19.xn--oe6h75760c.xn--gib404ccxgh00h', strict=True) + + def test_uts46_1033(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cthy466n29j3e.xn--gib404ccxgh00h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cthy466n29j3e.xn--gib404ccxgh00h', strict=True) + + def test_uts46_1034(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𐋱𐰽⒈.Ⴓ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𐋱𐰽⒈.Ⴓ', strict=True) + + def test_uts46_1035(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𐋱𐰽1..Ⴓ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𐋱𐰽1..Ⴓ', strict=True) + + def test_uts46_1036(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𐋱𐰽1..ⴓ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𐋱𐰽1..ⴓ', strict=True) + + def test_uts46_1037(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---1-895nq11a..xn--blj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---1-895nq11a..xn--blj', strict=True) + + def test_uts46_1038(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𐋱𐰽⒈.ⴓ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𐋱𐰽⒈.ⴓ', strict=True) + + def test_uts46_1039(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ecp0206g90h.xn--blj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ecp0206g90h.xn--blj', strict=True) + + def test_uts46_1040(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---1-895nq11a..xn--rnd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---1-895nq11a..xn--rnd', strict=True) + + def test_uts46_1041(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ecp0206g90h.xn--rnd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ecp0206g90h.xn--rnd', strict=True) + + def test_uts46_1042(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c긃.榶-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c긃.榶-', strict=True) + + def test_uts46_1043(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c긃.榶-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c긃.榶-', strict=True) + + def test_uts46_1044(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ej0b.xn----d87b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ej0b.xn----d87b', strict=True) + + def test_uts46_1045(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug3307c.xn----d87b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug3307c.xn----d87b', strict=True) + + def test_uts46_1046(self): + self.assertRaises(idna.IDNAError, idna.decode, '뉓泓\U0001cd7d.্\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '뉓泓\U0001cd7d.্\u200d', strict=True) + + def test_uts46_1047(self): + self.assertRaises(idna.IDNAError, idna.decode, '뉓泓\U0001cd7d.্\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '뉓泓\U0001cd7d.্\u200d', strict=True) + + def test_uts46_1048(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lwwp69lqs7m.xn--b7b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lwwp69lqs7m.xn--b7b', strict=True) + + def test_uts46_1049(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lwwp69lqs7m.xn--b7b605i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lwwp69lqs7m.xn--b7b605i', strict=True) + + def test_uts46_1050(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹴ß。ິ\u2b75\U0006a14c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹴ß。ິ\u2b75\U0006a14c', strict=True) + + def test_uts46_1051(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹴ß。ິ\u2b75\U0006a14c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹴ß。ິ\u2b75\U0006a14c', strict=True) + + def test_uts46_1052(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹴SS。ິ\u2b75\U0006a14c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹴SS。ິ\u2b75\U0006a14c', strict=True) + + def test_uts46_1053(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹴ss。ິ\u2b75\U0006a14c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹴ss。ິ\u2b75\U0006a14c', strict=True) + + def test_uts46_1054(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹴Ss。ິ\u2b75\U0006a14c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹴Ss。ິ\u2b75\U0006a14c', strict=True) + + def test_uts46_1055(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-ti3o.xn--57c638l8774i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-ti3o.xn--57c638l8774i', strict=True) + + def test_uts46_1056(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-l1t5169j.xn--57c638l8774i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-l1t5169j.xn--57c638l8774i', strict=True) + + def test_uts46_1057(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca770nip7n.xn--57c638l8774i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca770nip7n.xn--57c638l8774i', strict=True) + + def test_uts46_1058(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹴SS。ິ\u2b75\U0006a14c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹴SS。ິ\u2b75\U0006a14c', strict=True) + + def test_uts46_1059(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹴ss。ິ\u2b75\U0006a14c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹴ss。ິ\u2b75\U0006a14c', strict=True) + + def test_uts46_1060(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹴Ss。ິ\u2b75\U0006a14c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹴Ss。ິ\u2b75\U0006a14c', strict=True) + + def test_uts46_1061(self): + self.assertRaises(idna.IDNAError, idna.decode, '᭄.᮪-≮≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᭄.᮪-≮≠', strict=True) + + def test_uts46_1062(self): + self.assertRaises(idna.IDNAError, idna.decode, '᭄.᮪-≮≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᭄.᮪-≮≠', strict=True) + + def test_uts46_1063(self): + self.assertRaises(idna.IDNAError, idna.decode, '᭄.᮪-≮≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᭄.᮪-≮≠', strict=True) + + def test_uts46_1064(self): + self.assertRaises(idna.IDNAError, idna.decode, '᭄.᮪-≮≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᭄.᮪-≮≠', strict=True) + + def test_uts46_1065(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1uf.xn----nmlz65aub', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1uf.xn----nmlz65aub', strict=True) + + def test_uts46_1066(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯳Ⴑᅟ.𑄴Ⅎ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯳Ⴑᅟ.𑄴Ⅎ', strict=True) + + def test_uts46_1067(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯳Ⴑᅟ.𑄴Ⅎ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯳Ⴑᅟ.𑄴Ⅎ', strict=True) + + def test_uts46_1068(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯳ⴑᅟ.𑄴ⅎ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯳ⴑᅟ.𑄴ⅎ', strict=True) + + def test_uts46_1069(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯳Ⴑᅟ.𑄴ⅎ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯳Ⴑᅟ.𑄴ⅎ', strict=True) + + def test_uts46_1070(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1zf224e.xn--73g3065g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1zf224e.xn--73g3065g', strict=True) + + def test_uts46_1071(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯳ⴑᅟ.𑄴ⅎ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯳ⴑᅟ.𑄴ⅎ', strict=True) + + def test_uts46_1072(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯳Ⴑᅟ.𑄴ⅎ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯳Ⴑᅟ.𑄴ⅎ', strict=True) + + def test_uts46_1073(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pnd26a55x.xn--73g3065g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pnd26a55x.xn--73g3065g', strict=True) + + def test_uts46_1074(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--osd925cvyn.xn--73g3065g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--osd925cvyn.xn--73g3065g', strict=True) + + def test_uts46_1075(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pnd26a55x.xn--f3g7465g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pnd26a55x.xn--f3g7465g', strict=True) + + def test_uts46_1076(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001c246。Ⴃ𐴣𐹹똯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001c246。Ⴃ𐴣𐹹똯', strict=True) + + def test_uts46_1077(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001c246。Ⴃ𐴣𐹹똯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001c246。Ⴃ𐴣𐹹똯', strict=True) + + def test_uts46_1078(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001c246。ⴃ𐴣𐹹똯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001c246。ⴃ𐴣𐹹똯', strict=True) + + def test_uts46_1079(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001c246。ⴃ𐴣𐹹똯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001c246。ⴃ𐴣𐹹똯', strict=True) + + def test_uts46_1080(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--187g.xn--ukjy205b8rscdeb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--187g.xn--ukjy205b8rscdeb', strict=True) + + def test_uts46_1081(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--187g.xn--bnd4785f8r8bdeb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--187g.xn--bnd4785f8r8bdeb', strict=True) + + def test_uts46_1082(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫀。⳻\U000e067e󠄷ㅤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫀。⳻\U000e067e󠄷ㅤ', strict=True) + + def test_uts46_1083(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫀。⳻\U000e067e󠄷ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫀。⳻\U000e067e󠄷ᅠ', strict=True) + + def test_uts46_1084(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pw9c.xn--mkjw9654i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pw9c.xn--mkjw9654i', strict=True) + + def test_uts46_1085(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pw9c.xn--psd742lxt32w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pw9c.xn--psd742lxt32w', strict=True) + + def test_uts46_1086(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pw9c.xn--mkj83l4v899a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pw9c.xn--mkj83l4v899a', strict=True) + + def test_uts46_1087(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ޚ⾇.ܞ-𐋰', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ޚ⾇.ܞ-𐋰', strict=True) + + def test_uts46_1088(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ޚ舛.ܞ-𐋰', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ޚ舛.ܞ-𐋰', strict=True) + + def test_uts46_1089(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7qb6383d.xn----20c3154q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7qb6383d.xn----20c3154q', strict=True) + + def test_uts46_1090(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴉ猕\U000f96eb≮.︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴉ猕\U000f96eb≮.︒', strict=True) + + def test_uts46_1091(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴉ猕\U000f96eb≮.︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴉ猕\U000f96eb≮.︒', strict=True) + + def test_uts46_1092(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴉ猕\U000f96eb≮.。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴉ猕\U000f96eb≮.。', strict=True) + + def test_uts46_1093(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴉ猕\U000f96eb≮.。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴉ猕\U000f96eb≮.。', strict=True) + + def test_uts46_1094(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴉ猕\U000f96eb≮.。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴉ猕\U000f96eb≮.。', strict=True) + + def test_uts46_1095(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴉ猕\U000f96eb≮.。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴉ猕\U000f96eb≮.。', strict=True) + + def test_uts46_1096(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh892bbz0d5438s..', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh892bbz0d5438s..', strict=True) + + def test_uts46_1097(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴉ猕\U000f96eb≮.︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴉ猕\U000f96eb≮.︒', strict=True) + + def test_uts46_1098(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴉ猕\U000f96eb≮.︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴉ猕\U000f96eb≮.︒', strict=True) + + def test_uts46_1099(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh892bbz0d5438s.xn--y86c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh892bbz0d5438s.xn--y86c', strict=True) + + def test_uts46_1100(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hnd212gz32d54x5r..', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hnd212gz32d54x5r..', strict=True) + + def test_uts46_1101(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hnd212gz32d54x5r.xn--y86c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hnd212gz32d54x5r.xn--y86c', strict=True) + + def test_uts46_1102(self): + self.assertRaises(idna.IDNAError, idna.decode, '🏮。ث鳳ߢ󠅉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🏮。ث鳳ߢ󠅉', strict=True) + + def test_uts46_1103(self): + self.assertRaises(idna.IDNAError, idna.decode, '🏮。ث鳳ߢ󠅉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🏮。ث鳳ߢ󠅉', strict=True) + + def test_uts46_1104(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8m8h.xn--qgb29f6z90a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8m8h.xn--qgb29f6z90a', strict=True) + + def test_uts46_1105(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹶。ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹶。ß', strict=True) + + def test_uts46_1106(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹶。SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹶。SS', strict=True) + + def test_uts46_1107(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹶。ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹶。ss', strict=True) + + def test_uts46_1108(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹶。Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹶。Ss', strict=True) + + def test_uts46_1109(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--uo0d.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--uo0d.ss', strict=True) + + def test_uts46_1110(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug9105g.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug9105g.ss', strict=True) + + def test_uts46_1111(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug9105g.xn--zca', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug9105g.xn--zca', strict=True) + + def test_uts46_1112(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Å둄-.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Å둄-.\u200c', strict=True) + + def test_uts46_1113(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Å둄-.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Å둄-.\u200c', strict=True) + + def test_uts46_1114(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Å둄-.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Å둄-.\u200c', strict=True) + + def test_uts46_1115(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Å둄-.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Å둄-.\u200c', strict=True) + + def test_uts46_1116(self): + self.assertRaises(idna.IDNAError, idna.decode, 'å둄-.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'å둄-.\u200c', strict=True) + + def test_uts46_1117(self): + self.assertRaises(idna.IDNAError, idna.decode, 'å둄-.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'å둄-.\u200c', strict=True) + + def test_uts46_1118(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----1fa1788k.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----1fa1788k.', strict=True) + + def test_uts46_1119(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----1fa1788k.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----1fa1788k.xn--0ug', strict=True) + + def test_uts46_1120(self): + self.assertRaises(idna.IDNAError, idna.decode, 'å둄-.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'å둄-.\u200c', strict=True) + + def test_uts46_1121(self): + self.assertRaises(idna.IDNAError, idna.decode, 'å둄-.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'å둄-.\u200c', strict=True) + + def test_uts46_1122(self): + self.assertRaises(idna.IDNAError, idna.decode, '゙\U000ac391ᷗ𞤀.\U000b1ca2-॓', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '゙\U000ac391ᷗ𞤀.\U000b1ca2-॓', strict=True) + + def test_uts46_1123(self): + self.assertRaises(idna.IDNAError, idna.decode, '゙\U000ac391ᷗ𞤢.\U000b1ca2-॓', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '゙\U000ac391ᷗ𞤢.\U000b1ca2-॓', strict=True) + + def test_uts46_1124(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--veg121fwg63altj9d.xn----eyd92688s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--veg121fwg63altj9d.xn----eyd92688s', strict=True) + + def test_uts46_1125(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς.ß\U00074c44\u06dd⵿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς.ß\U00074c44\u06dd⵿', strict=True) + + def test_uts46_1126(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ.SS\U00074c44\u06dd⵿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ.SS\U00074c44\u06dd⵿', strict=True) + + def test_uts46_1127(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ.ss\U00074c44\u06dd⵿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ.ss\U00074c44\u06dd⵿', strict=True) + + def test_uts46_1128(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ.ss\U00074c44\u06dd⵿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ.ss\U00074c44\u06dd⵿', strict=True) + + def test_uts46_1129(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa.xn--ss-y8d4760biv60n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa.xn--ss-y8d4760biv60n', strict=True) + + def test_uts46_1130(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ.ß\U00074c44\u06dd⵿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ.ß\U00074c44\u06dd⵿', strict=True) + + def test_uts46_1131(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ.ß\U00074c44\u06dd⵿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ.ß\U00074c44\u06dd⵿', strict=True) + + def test_uts46_1132(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa.xn--zca281az71b8x73m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa.xn--zca281az71b8x73m', strict=True) + + def test_uts46_1133(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa.xn--zca281az71b8x73m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa.xn--zca281az71b8x73m', strict=True) + + def test_uts46_1134(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡀ𞀟。٫֙', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡀ𞀟。٫֙', strict=True) + + def test_uts46_1135(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡀ𞀟。٫֙', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡀ𞀟。٫֙', strict=True) + + def test_uts46_1136(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8b9a1720d.xn--kcb33b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8b9a1720d.xn--kcb33b', strict=True) + + def test_uts46_1137(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000886c9\u200cࢩ。⧅\U00058621-𐭡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000886c9\u200cࢩ。⧅\U00058621-𐭡', strict=True) + + def test_uts46_1138(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000886c9\u200cࢩ。⧅\U00058621-𐭡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000886c9\u200cࢩ。⧅\U00058621-𐭡', strict=True) + + def test_uts46_1139(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--yyb56242i.xn----zir1232guu71b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--yyb56242i.xn----zir1232guu71b', strict=True) + + def test_uts46_1140(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--yyb780jll63m.xn----zir1232guu71b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--yyb780jll63m.xn----zir1232guu71b', strict=True) + + def test_uts46_1141(self): + self.assertRaises(idna.IDNAError, idna.decode, '룱\u200d𰍨\u200c。𝨖︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '룱\u200d𰍨\u200c。𝨖︒', strict=True) + + def test_uts46_1142(self): + self.assertRaises(idna.IDNAError, idna.decode, '룱\u200d𰍨\u200c。𝨖︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '룱\u200d𰍨\u200c。𝨖︒', strict=True) + + def test_uts46_1143(self): + self.assertRaises(idna.IDNAError, idna.decode, '룱\u200d𰍨\u200c。𝨖。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '룱\u200d𰍨\u200c。𝨖。', strict=True) + + def test_uts46_1144(self): + self.assertRaises(idna.IDNAError, idna.decode, '룱\u200d𰍨\u200c。𝨖。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '룱\u200d𰍨\u200c。𝨖。', strict=True) + + def test_uts46_1145(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ct2b0738h.xn--772h.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ct2b0738h.xn--772h.', strict=True) + + def test_uts46_1146(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugb3358ili2v.xn--772h.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugb3358ili2v.xn--772h.', strict=True) + + def test_uts46_1147(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ct2b0738h.xn--y86cl899a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ct2b0738h.xn--y86cl899a', strict=True) + + def test_uts46_1148(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugb3358ili2v.xn--y86cl899a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugb3358ili2v.xn--y86cl899a', strict=True) + + def test_uts46_1149(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄄.᳜⒈ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄄.᳜⒈ß', strict=True) + + def test_uts46_1150(self): + self.assertRaises(idna.IDNAError, idna.decode, '3,.᳜1.ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3,.᳜1.ß', strict=True) + + def test_uts46_1151(self): + self.assertRaises(idna.IDNAError, idna.decode, '3,.᳜1.SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3,.᳜1.SS', strict=True) + + def test_uts46_1152(self): + self.assertRaises(idna.IDNAError, idna.decode, '3,.᳜1.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3,.᳜1.ss', strict=True) + + def test_uts46_1153(self): + self.assertRaises(idna.IDNAError, idna.decode, '3,.᳜1.Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3,.᳜1.Ss', strict=True) + + def test_uts46_1154(self): + self.assertRaises(idna.IDNAError, idna.decode, '3,.xn--1-43l.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3,.xn--1-43l.ss', strict=True) + + def test_uts46_1155(self): + self.assertRaises(idna.IDNAError, idna.decode, '3,.xn--1-43l.xn--zca', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3,.xn--1-43l.xn--zca', strict=True) + + def test_uts46_1156(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄄.᳜⒈SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄄.᳜⒈SS', strict=True) + + def test_uts46_1157(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄄.᳜⒈ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄄.᳜⒈ss', strict=True) + + def test_uts46_1158(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄄.᳜⒈Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄄.᳜⒈Ss', strict=True) + + def test_uts46_1159(self): + self.assertRaises(idna.IDNAError, idna.decode, '3,.xn--ss-k1r094b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3,.xn--ss-k1r094b', strict=True) + + def test_uts46_1160(self): + self.assertRaises(idna.IDNAError, idna.decode, '3,.xn--zca344lmif', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3,.xn--zca344lmif', strict=True) + + def test_uts46_1161(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--x07h.xn--ss-k1r094b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--x07h.xn--ss-k1r094b', strict=True) + + def test_uts46_1162(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--x07h.xn--zca344lmif', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--x07h.xn--zca344lmif', strict=True) + + def test_uts46_1163(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004730d⵿。\U0001ef13\U000a1128𑐺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004730d⵿。\U0001ef13\U000a1128𑐺', strict=True) + + def test_uts46_1164(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004730d⵿。\U0001ef13\U000a1128𑐺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004730d⵿。\U0001ef13\U000a1128𑐺', strict=True) + + def test_uts46_1165(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--eoj16016a.xn--0v1d3848a3lr0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--eoj16016a.xn--0v1d3848a3lr0d', strict=True) + + def test_uts46_1166(self): + self.assertRaises(idna.IDNAError, idna.decode, '်्᷽.≠\u200d㇛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '်्᷽.≠\u200d㇛', strict=True) + + def test_uts46_1167(self): + self.assertRaises(idna.IDNAError, idna.decode, '်्᷽.≠\u200d㇛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '်्᷽.≠\u200d㇛', strict=True) + + def test_uts46_1168(self): + self.assertRaises(idna.IDNAError, idna.decode, '်्᷽.≠\u200d㇛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '်्᷽.≠\u200d㇛', strict=True) + + def test_uts46_1169(self): + self.assertRaises(idna.IDNAError, idna.decode, '်्᷽.≠\u200d㇛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '်्᷽.≠\u200d㇛', strict=True) + + def test_uts46_1170(self): + self.assertRaises(idna.IDNAError, idna.decode, '်्᷽.≠\u200d㇛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '်्᷽.≠\u200d㇛', strict=True) + + def test_uts46_1171(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n3b956a9zm.xn--1ch912d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n3b956a9zm.xn--1ch912d', strict=True) + + def test_uts46_1172(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n3b956a9zm.xn--1ug63gz5w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n3b956a9zm.xn--1ug63gz5w', strict=True) + + def test_uts46_1173(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴁ𐋨娤.\u200d̼٢𑖿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴁ𐋨娤.\u200d̼٢𑖿', strict=True) + + def test_uts46_1174(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴁ𐋨娤.\u200d̼٢𑖿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴁ𐋨娤.\u200d̼٢𑖿', strict=True) + + def test_uts46_1175(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--skjw75lg29h.xn--9ta62nrv36a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--skjw75lg29h.xn--9ta62nrv36a', strict=True) + + def test_uts46_1176(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--skjw75lg29h.xn--9ta62ngt6aou8t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--skjw75lg29h.xn--9ta62ngt6aou8t', strict=True) + + def test_uts46_1177(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8md2578ag21g.xn--9ta62nrv36a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8md2578ag21g.xn--9ta62nrv36a', strict=True) + + def test_uts46_1178(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8md2578ag21g.xn--9ta62ngt6aou8t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8md2578ag21g.xn--9ta62ngt6aou8t', strict=True) + + def test_uts46_1179(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄀Ⴄ٩ࠠ。⒈ྶß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄀Ⴄ٩ࠠ。⒈ྶß', strict=True) + + def test_uts46_1180(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.Ⴄ٩ࠠ。1.ྶß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.Ⴄ٩ࠠ。1.ྶß', strict=True) + + def test_uts46_1181(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.ⴄ٩ࠠ。1.ྶß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.ⴄ٩ࠠ。1.ྶß', strict=True) + + def test_uts46_1182(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.Ⴄ٩ࠠ。1.ྶSS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.Ⴄ٩ࠠ。1.ྶSS', strict=True) + + def test_uts46_1183(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.ⴄ٩ࠠ。1.ྶss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.ⴄ٩ࠠ。1.ྶss', strict=True) + + def test_uts46_1184(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.Ⴄ٩ࠠ。1.ྶSs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.Ⴄ٩ࠠ。1.ྶSs', strict=True) + + def test_uts46_1185(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.xn--iib29fp25e.1.xn--ss-1sj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.xn--iib29fp25e.1.xn--ss-1sj', strict=True) + + def test_uts46_1186(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.xn--iib29fp25e.1.xn--zca117e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.xn--iib29fp25e.1.xn--zca117e', strict=True) + + def test_uts46_1187(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄀ⴄ٩ࠠ。⒈ྶß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄀ⴄ٩ࠠ。⒈ྶß', strict=True) + + def test_uts46_1188(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄀Ⴄ٩ࠠ。⒈ྶSS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄀Ⴄ٩ࠠ。⒈ྶSS', strict=True) + + def test_uts46_1189(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄀ⴄ٩ࠠ。⒈ྶss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄀ⴄ٩ࠠ。⒈ྶss', strict=True) + + def test_uts46_1190(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄀Ⴄ٩ࠠ。⒈ྶSs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄀Ⴄ٩ࠠ。⒈ྶSs', strict=True) + + def test_uts46_1191(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--iib29fp25e0219a.xn--ss-1sj588o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--iib29fp25e0219a.xn--ss-1sj588o', strict=True) + + def test_uts46_1192(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--iib29fp25e0219a.xn--zca117e3vp', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--iib29fp25e0219a.xn--zca117e3vp', strict=True) + + def test_uts46_1193(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.xn--iib29f26o.1.xn--ss-1sj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.xn--iib29f26o.1.xn--ss-1sj', strict=True) + + def test_uts46_1194(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.xn--iib29f26o.1.xn--zca117e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.xn--iib29f26o.1.xn--zca117e', strict=True) + + def test_uts46_1195(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--iib29f26o6n43c.xn--ss-1sj588o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--iib29f26o6n43c.xn--ss-1sj588o', strict=True) + + def test_uts46_1196(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--iib29f26o6n43c.xn--zca117e3vp', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--iib29f26o6n43c.xn--zca117e3vp', strict=True) + + def test_uts46_1197(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.\u200c-٫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.\u200c-٫', strict=True) + + def test_uts46_1198(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.\u200c-٫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.\u200c-٫', strict=True) + + def test_uts46_1199(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch.xn----vqc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch.xn----vqc', strict=True) + + def test_uts46_1200(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch.xn----vqc597q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch.xn----vqc597q', strict=True) + + def test_uts46_1201(self): + self.assertRaises(idna.IDNAError, idna.decode, '٠۱。\U000e0cf6𞠁٥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٠۱。\U000e0cf6𞠁٥', strict=True) + + def test_uts46_1202(self): + self.assertRaises(idna.IDNAError, idna.decode, '٠۱。\U000e0cf6𞠁٥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٠۱。\U000e0cf6𞠁٥', strict=True) + + def test_uts46_1203(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8hb40a.xn--eib7967vner3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8hb40a.xn--eib7967vner3e', strict=True) + + def test_uts46_1204(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c٣⒖。\U000f1149\U0003dddb᯳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c٣⒖。\U000f1149\U0003dddb᯳', strict=True) + + def test_uts46_1205(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c٣15.。\U000f1149\U0003dddb᯳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c٣15.。\U000f1149\U0003dddb᯳', strict=True) + + def test_uts46_1206(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--15-gyd..xn--1zf13512buy41d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--15-gyd..xn--1zf13512buy41d', strict=True) + + def test_uts46_1207(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--15-gyd983x..xn--1zf13512buy41d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--15-gyd983x..xn--1zf13512buy41d', strict=True) + + def test_uts46_1208(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cib675m.xn--1zf13512buy41d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cib675m.xn--1zf13512buy41d', strict=True) + + def test_uts46_1209(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cib152kwgd.xn--1zf13512buy41d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cib152kwgd.xn--1zf13512buy41d', strict=True) + + def test_uts46_1210(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯳.-逋\U000739ad\U000d966e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯳.-逋\U000739ad\U000d966e', strict=True) + + def test_uts46_1211(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1zf.xn----483d46987byr50b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1zf.xn----483d46987byr50b', strict=True) + + def test_uts46_1212(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݖ。ㅤ\u200dς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݖ。ㅤ\u200dς', strict=True) + + def test_uts46_1213(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݖ。ᅠ\u200dς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݖ。ᅠ\u200dς', strict=True) + + def test_uts46_1214(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݖ。ᅠ\u200dΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݖ。ᅠ\u200dΣ', strict=True) + + def test_uts46_1215(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݖ。ᅠ\u200dσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݖ。ᅠ\u200dσ', strict=True) + + def test_uts46_1216(self): + self.assertEqual(idna.decode('xn--9ob.xn--4xa', uts46=True, strict=True), 'ݖ.σ') + self.assertEqual(idna.encode('xn--9ob.xn--4xa', uts46=True, strict=True), b'xn--9ob.xn--4xa') + + def test_uts46_1217(self): + self.assertEqual(idna.decode('ݖ.σ', uts46=True, strict=True), 'ݖ.σ') + self.assertEqual(idna.encode('ݖ.σ', uts46=True, strict=True), b'xn--9ob.xn--4xa') + + def test_uts46_1218(self): + self.assertEqual(idna.decode('ݖ.Σ', uts46=True, strict=True), 'ݖ.σ') + self.assertEqual(idna.encode('ݖ.Σ', uts46=True, strict=True), b'xn--9ob.xn--4xa') + + def test_uts46_1219(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ob.xn--4xa795l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ob.xn--4xa795l', strict=True) + + def test_uts46_1220(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ob.xn--3xa995l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ob.xn--3xa995l', strict=True) + + def test_uts46_1221(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݖ。ㅤ\u200dΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݖ。ㅤ\u200dΣ', strict=True) + + def test_uts46_1222(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݖ。ㅤ\u200dσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݖ。ㅤ\u200dσ', strict=True) + + def test_uts46_1223(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ob.xn--4xa380e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ob.xn--4xa380e', strict=True) + + def test_uts46_1224(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ob.xn--4xa380ebol', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ob.xn--4xa380ebol', strict=True) + + def test_uts46_1225(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ob.xn--3xa580ebol', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ob.xn--3xa580ebol', strict=True) + + def test_uts46_1226(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ob.xn--4xa574u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ob.xn--4xa574u', strict=True) + + def test_uts46_1227(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ob.xn--4xa795lq2l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ob.xn--4xa795lq2l', strict=True) + + def test_uts46_1228(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ob.xn--3xa995lq2l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ob.xn--3xa995lq2l', strict=True) + + def test_uts46_1229(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡆႣ。\U000de8a7̕\u200d\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡆႣ。\U000de8a7̕\u200d\u200d', strict=True) + + def test_uts46_1230(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡆႣ。\U000de8a7̕\u200d\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡆႣ。\U000de8a7̕\u200d\u200d', strict=True) + + def test_uts46_1231(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡆⴃ。\U000de8a7̕\u200d\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡆⴃ。\U000de8a7̕\u200d\u200d', strict=True) + + def test_uts46_1232(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--57e237h.xn--5sa98523p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--57e237h.xn--5sa98523p', strict=True) + + def test_uts46_1233(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--57e237h.xn--5sa649la993427a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--57e237h.xn--5sa649la993427a', strict=True) + + def test_uts46_1234(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡆⴃ。\U000de8a7̕\u200d\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡆⴃ。\U000de8a7̕\u200d\u200d', strict=True) + + def test_uts46_1235(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bnd320b.xn--5sa98523p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bnd320b.xn--5sa98523p', strict=True) + + def test_uts46_1236(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bnd320b.xn--5sa649la993427a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bnd320b.xn--5sa649la993427a', strict=True) + + def test_uts46_1237(self): + self.assertRaises(idna.IDNAError, idna.decode, '㭄\u200dࡏ𑚵.ς𐮮\u200c\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㭄\u200dࡏ𑚵.ς𐮮\u200c\u200d', strict=True) + + def test_uts46_1238(self): + self.assertRaises(idna.IDNAError, idna.decode, '㭄\u200dࡏ𑚵.ς𐮮\u200c\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㭄\u200dࡏ𑚵.ς𐮮\u200c\u200d', strict=True) + + def test_uts46_1239(self): + self.assertRaises(idna.IDNAError, idna.decode, '㭄\u200dࡏ𑚵.Σ𐮮\u200c\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㭄\u200dࡏ𑚵.Σ𐮮\u200c\u200d', strict=True) + + def test_uts46_1240(self): + self.assertRaises(idna.IDNAError, idna.decode, '㭄\u200dࡏ𑚵.σ𐮮\u200c\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㭄\u200dࡏ𑚵.σ𐮮\u200c\u200d', strict=True) + + def test_uts46_1241(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ewb302xhu1l.xn--4xa0426k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ewb302xhu1l.xn--4xa0426k', strict=True) + + def test_uts46_1242(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ewb962jfitku4r.xn--4xa695lda6932v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ewb962jfitku4r.xn--4xa695lda6932v', strict=True) + + def test_uts46_1243(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ewb962jfitku4r.xn--3xa895lda6932v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ewb962jfitku4r.xn--3xa895lda6932v', strict=True) + + def test_uts46_1244(self): + self.assertRaises(idna.IDNAError, idna.decode, '㭄\u200dࡏ𑚵.Σ𐮮\u200c\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㭄\u200dࡏ𑚵.Σ𐮮\u200c\u200d', strict=True) + + def test_uts46_1245(self): + self.assertRaises(idna.IDNAError, idna.decode, '㭄\u200dࡏ𑚵.σ𐮮\u200c\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㭄\u200dࡏ𑚵.σ𐮮\u200c\u200d', strict=True) + + def test_uts46_1246(self): + self.assertRaises(idna.IDNAError, idna.decode, '឵。\U0001ebf8ꡀ🄋', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '឵。\U0001ebf8ꡀ🄋', strict=True) + + def test_uts46_1247(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--8b9ar252dngd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--8b9ar252dngd', strict=True) + + def test_uts46_1248(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--03e.xn--8b9ar252dngd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--03e.xn--8b9ar252dngd', strict=True) + + def test_uts46_1249(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d0aba暑.⾑٨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d0aba暑.⾑٨', strict=True) + + def test_uts46_1250(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d0aba暑.襾٨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d0aba暑.襾٨', strict=True) + + def test_uts46_1251(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tlvq3513e.xn--hib9228d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tlvq3513e.xn--hib9228d', strict=True) + + def test_uts46_1252(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄚≯ꡢ。\u0891᷿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄚≯ꡢ。\u0891᷿', strict=True) + + def test_uts46_1253(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄚≯ꡢ。\u0891᷿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄚≯ꡢ。\u0891᷿', strict=True) + + def test_uts46_1254(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh7783c.xn--9xb680i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh7783c.xn--9xb680i', strict=True) + + def test_uts46_1255(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﷃ𮁱୍𐨿.\U000d09e4Ⴗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﷃ𮁱୍𐨿.\U000d09e4Ⴗ', strict=True) + + def test_uts46_1256(self): + self.assertRaises(idna.IDNAError, idna.decode, 'كمم𮁱୍𐨿.\U000d09e4Ⴗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'كمم𮁱୍𐨿.\U000d09e4Ⴗ', strict=True) + + def test_uts46_1257(self): + self.assertRaises(idna.IDNAError, idna.decode, 'كمم𮁱୍𐨿.\U000d09e4ⴗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'كمم𮁱୍𐨿.\U000d09e4ⴗ', strict=True) + + def test_uts46_1258(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fhbea662czx68a2tju.xn--fljz2846h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fhbea662czx68a2tju.xn--fljz2846h', strict=True) + + def test_uts46_1259(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﷃ𮁱୍𐨿.\U000d09e4ⴗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﷃ𮁱୍𐨿.\U000d09e4ⴗ', strict=True) + + def test_uts46_1260(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fhbea662czx68a2tju.xn--vnd55511o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fhbea662czx68a2tju.xn--vnd55511o', strict=True) + + def test_uts46_1261(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞀨。᭄\U000a16e8\U0001e387', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞀨。᭄\U000a16e8\U0001e387', strict=True) + + def test_uts46_1262(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞀨。᭄\U000a16e8\U0001e387', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞀨。᭄\U000a16e8\U0001e387', strict=True) + + def test_uts46_1263(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mi4h.xn--1uf6843smg20c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mi4h.xn--1uf6843smg20c', strict=True) + + def test_uts46_1264(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e08fc\u200c.𐺰\u200cᡟ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e08fc\u200c.𐺰\u200cᡟ', strict=True) + + def test_uts46_1265(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e08fc\u200c.𐺰\u200cᡟ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e08fc\u200c.𐺰\u200cᡟ', strict=True) + + def test_uts46_1266(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--q046e.xn--v8e7227j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--q046e.xn--v8e7227j', strict=True) + + def test_uts46_1267(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug18531l.xn--v8e340bp21t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug18531l.xn--v8e340bp21t', strict=True) + + def test_uts46_1268(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢛ\U000e815fß.ጧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢛ\U000e815fß.ጧ', strict=True) + + def test_uts46_1269(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢛ\U000e815fSS.ጧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢛ\U000e815fSS.ጧ', strict=True) + + def test_uts46_1270(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢛ\U000e815fss.ጧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢛ\U000e815fss.ጧ', strict=True) + + def test_uts46_1271(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢛ\U000e815fSs.ጧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢛ\U000e815fSs.ጧ', strict=True) + + def test_uts46_1272(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-7dp66033t.xn--p5d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-7dp66033t.xn--p5d', strict=True) + + def test_uts46_1273(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca562jc642x.xn--p5d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca562jc642x.xn--p5d', strict=True) + + def test_uts46_1274(self): + self.assertRaises(idna.IDNAError, idna.decode, '⮒\u200c.\U00052697\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⮒\u200c.\U00052697\u200c', strict=True) + + def test_uts46_1275(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b9i.xn--5p9y', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b9i.xn--5p9y', strict=True) + + def test_uts46_1276(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugx66b.xn--0ugz2871c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugx66b.xn--0ugz2871c', strict=True) + + def test_uts46_1277(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤂\U00079781𐹯。Ⴜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤂\U00079781𐹯。Ⴜ', strict=True) + + def test_uts46_1278(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤤\U00079781𐹯。ⴜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤤\U00079781𐹯。ⴜ', strict=True) + + def test_uts46_1279(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--no0dr648a51o3b.xn--klj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--no0dr648a51o3b.xn--klj', strict=True) + + def test_uts46_1280(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--no0dr648a51o3b.xn--0nd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--no0dr648a51o3b.xn--0nd', strict=True) + + def test_uts46_1281(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤂\U00079781𐹯。ⴜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤂\U00079781𐹯。ⴜ', strict=True) + + def test_uts46_1282(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹵⮣\u200c𑄰。\U00077d3fﲷ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹵⮣\u200c𑄰。\U00077d3fﲷ', strict=True) + + def test_uts46_1283(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹵⮣\u200c𑄰。\U00077d3fضم', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹵⮣\u200c𑄰。\U00077d3fضم', strict=True) + + def test_uts46_1284(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--s9i5458e7yb.xn--1gb4a66004i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--s9i5458e7yb.xn--1gb4a66004i', strict=True) + + def test_uts46_1285(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug586bcj8p7jc.xn--1gb4a66004i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug586bcj8p7jc.xn--1gb4a66004i', strict=True) + + def test_uts46_1286(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴒ。デß𞤵్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴒ。デß𞤵్', strict=True) + + def test_uts46_1287(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴒ。デß𞤵్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴒ。デß𞤵్', strict=True) + + def test_uts46_1288(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴒ。デß𞤵్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴒ。デß𞤵్', strict=True) + + def test_uts46_1289(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴒ。デß𞤵్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴒ。デß𞤵్', strict=True) + + def test_uts46_1290(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴒ。デSS𞤓్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴒ。デSS𞤓్', strict=True) + + def test_uts46_1291(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴒ。デSS𞤓్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴒ。デSS𞤓్', strict=True) + + def test_uts46_1292(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴒ。デss𞤵్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴒ。デss𞤵్', strict=True) + + def test_uts46_1293(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴒ。デss𞤵్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴒ。デss𞤵్', strict=True) + + def test_uts46_1294(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴒ。デSs𞤵్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴒ。デSs𞤵్', strict=True) + + def test_uts46_1295(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴒ。デSs𞤵్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴒ。デSs𞤵్', strict=True) + + def test_uts46_1296(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9kj.xn--ss-9nh3648ahh20b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9kj.xn--ss-9nh3648ahh20b', strict=True) + + def test_uts46_1297(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9kj.xn--zca669cmr3a0f28a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9kj.xn--zca669cmr3a0f28a', strict=True) + + def test_uts46_1298(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qnd.xn--ss-9nh3648ahh20b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qnd.xn--ss-9nh3648ahh20b', strict=True) + + def test_uts46_1299(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qnd.xn--zca669cmr3a0f28a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qnd.xn--zca669cmr3a0f28a', strict=True) + + def test_uts46_1300(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴒ。デSS𞤵్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴒ。デSS𞤵్', strict=True) + + def test_uts46_1301(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴒ。デSS𞤵్', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴒ。デSS𞤵్', strict=True) + + def test_uts46_1302(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑁿്.7-ߒ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑁿്.7-ߒ', strict=True) + + def test_uts46_1303(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑁿്.7-ߒ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑁿്.7-ߒ', strict=True) + + def test_uts46_1304(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wxc1283k.xn--7--yue', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wxc1283k.xn--7--yue', strict=True) + + def test_uts46_1305(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𑜫\U000e0b47.᜴\U000527a4𑍬ᢧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𑜫\U000e0b47.᜴\U000527a4𑍬ᢧ', strict=True) + + def test_uts46_1306(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𑜫\U000e0b47.᜴\U000527a4𑍬ᢧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𑜫\U000e0b47.᜴\U000527a4𑍬ᢧ', strict=True) + + def test_uts46_1307(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdhx157g68o0g.xn--c0e65eu616c34o7a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdhx157g68o0g.xn--c0e65eu616c34o7a', strict=True) + + def test_uts46_1308(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᷛ\U0008e419Ⴗ쏔。ށ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᷛ\U0008e419Ⴗ쏔。ށ', strict=True) + + def test_uts46_1309(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᷛ\U0008e419Ⴗ쏔。ށ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᷛ\U0008e419Ⴗ쏔。ށ', strict=True) + + def test_uts46_1310(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᷛ\U0008e419ⴗ쏔。ށ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᷛ\U0008e419ⴗ쏔。ށ', strict=True) + + def test_uts46_1311(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᷛ\U0008e419ⴗ쏔。ށ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᷛ\U0008e419ⴗ쏔。ށ', strict=True) + + def test_uts46_1312(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zegy26dw47iy6w2f.xn--iqb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zegy26dw47iy6w2f.xn--iqb', strict=True) + + def test_uts46_1313(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vnd148d733ky6n9e.xn--iqb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vnd148d733ky6n9e.xn--iqb', strict=True) + + def test_uts46_1314(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß。𐋳Ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß。𐋳Ⴌྸ', strict=True) + + def test_uts46_1315(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß。𐋳Ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß。𐋳Ⴌྸ', strict=True) + + def test_uts46_1316(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß。𐋳ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß。𐋳ⴌྸ', strict=True) + + def test_uts46_1317(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS。𐋳Ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS。𐋳Ⴌྸ', strict=True) + + def test_uts46_1318(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss。𐋳ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss。𐋳ⴌྸ', strict=True) + + def test_uts46_1319(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss。𐋳Ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss。𐋳Ⴌྸ', strict=True) + + def test_uts46_1320(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss.xn--lgd921mvv0m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss.xn--lgd921mvv0m', strict=True) + + def test_uts46_1321(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss.𐋳ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss.𐋳ⴌྸ', strict=True) + + def test_uts46_1322(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS.𐋳Ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS.𐋳Ⴌྸ', strict=True) + + def test_uts46_1323(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss.𐋳Ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss.𐋳Ⴌྸ', strict=True) + + def test_uts46_1324(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca.xn--lgd921mvv0m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca.xn--lgd921mvv0m', strict=True) + + def test_uts46_1325(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß.𐋳ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß.𐋳ⴌྸ', strict=True) + + def test_uts46_1326(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß。𐋳ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß。𐋳ⴌྸ', strict=True) + + def test_uts46_1327(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS。𐋳Ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS。𐋳Ⴌྸ', strict=True) + + def test_uts46_1328(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss。𐋳ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss。𐋳ⴌྸ', strict=True) + + def test_uts46_1329(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss。𐋳Ⴌྸ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss。𐋳Ⴌྸ', strict=True) + + def test_uts46_1330(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss.xn--lgd10cu829c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss.xn--lgd10cu829c', strict=True) + + def test_uts46_1331(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca.xn--lgd10cu829c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca.xn--lgd10cu829c', strict=True) + + def test_uts46_1332(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ڞ\U00010da1.\u200c⾝্', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ڞ\U00010da1.\u200c⾝্', strict=True) + + def test_uts46_1333(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ڞ\U00010da1.\u200c身্', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ڞ\U00010da1.\u200c身্', strict=True) + + def test_uts46_1334(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----stc7013r.xn--b7b1419d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----stc7013r.xn--b7b1419d', strict=True) + + def test_uts46_1335(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----stc7013r.xn--b7b305imj2f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----stc7013r.xn--b7b305imj2f', strict=True) + + def test_uts46_1336(self): + self.assertRaises(idna.IDNAError, idna.decode, '😮ݤ𑈵𞀖.💅\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '😮ݤ𑈵𞀖.💅\u200d', strict=True) + + def test_uts46_1337(self): + self.assertRaises(idna.IDNAError, idna.decode, '😮ݤ𑈵𞀖.💅\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '😮ݤ𑈵𞀖.💅\u200d', strict=True) + + def test_uts46_1338(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--opb4277kuc7elqsa.xn--kr8h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--opb4277kuc7elqsa.xn--kr8h', strict=True) + + def test_uts46_1339(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--opb4277kuc7elqsa.xn--1ug5265p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--opb4277kuc7elqsa.xn--1ug5265p', strict=True) + + def test_uts46_1340(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣲ\u200d꙳ܒ.ᢏ\u200c\U000e0344', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣲ\u200d꙳ܒ.ᢏ\u200c\U000e0344', strict=True) + + def test_uts46_1341(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cnb37gdy00a.xn--89e02253p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cnb37gdy00a.xn--89e02253p', strict=True) + + def test_uts46_1342(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cnb37g904be26j.xn--89e849ax9363a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cnb37g904be26j.xn--89e849ax9363a', strict=True) + + def test_uts46_1343(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴑ.ڿ\U0001ebd3ᠲ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴑ.ڿ\U0001ebd3ᠲ', strict=True) + + def test_uts46_1344(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴑ.ڿ\U0001ebd3ᠲ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴑ.ڿ\U0001ebd3ᠲ', strict=True) + + def test_uts46_1345(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴑ.ڿ\U0001ebd3ᠲ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴑ.ڿ\U0001ebd3ᠲ', strict=True) + + def test_uts46_1346(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8kj.xn--ykb840gd555a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8kj.xn--ykb840gd555a', strict=True) + + def test_uts46_1347(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴑ.ڿ\U0001ebd3ᠲ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴑ.ڿ\U0001ebd3ᠲ', strict=True) + + def test_uts46_1348(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pnd.xn--ykb840gd555a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pnd.xn--ykb840gd555a', strict=True) + + def test_uts46_1349(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᩚ\U0001b99d్。\U0001a76c𝟵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᩚ\U0001b99d్。\U0001a76c𝟵', strict=True) + + def test_uts46_1350(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᩚ\U0001b99d్。\U0001a76c9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᩚ\U0001b99d్。\U0001a76c9', strict=True) + + def test_uts46_1351(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lqc703ebm93a.xn--9-000p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lqc703ebm93a.xn--9-000p', strict=True) + + def test_uts46_1352(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cڠ\U0003fe86𝟗。Ⴣ꒘ﳐ\U00050616', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cڠ\U0003fe86𝟗。Ⴣ꒘ﳐ\U00050616', strict=True) + + def test_uts46_1353(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cڠ\U0003fe869。Ⴣ꒘مخ\U00050616', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cڠ\U0003fe869。Ⴣ꒘مخ\U00050616', strict=True) + + def test_uts46_1354(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cڠ\U0003fe869。ⴣ꒘مخ\U00050616', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cڠ\U0003fe869。ⴣ꒘مخ\U00050616', strict=True) + + def test_uts46_1355(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-vtc42319e.xn--tgb9bz87p833hw316c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-vtc42319e.xn--tgb9bz87p833hw316c', strict=True) + + def test_uts46_1356(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-vtc736qts91g.xn--tgb9bz87p833hw316c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-vtc736qts91g.xn--tgb9bz87p833hw316c', strict=True) + + def test_uts46_1357(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cڠ\U0003fe86𝟗。ⴣ꒘ﳐ\U00050616', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cڠ\U0003fe86𝟗。ⴣ꒘ﳐ\U00050616', strict=True) + + def test_uts46_1358(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-vtc42319e.xn--tgb9bz61cfn8mw3t2c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-vtc42319e.xn--tgb9bz61cfn8mw3t2c', strict=True) + + def test_uts46_1359(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-vtc736qts91g.xn--tgb9bz61cfn8mw3t2c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-vtc736qts91g.xn--tgb9bz61cfn8mw3t2c', strict=True) + + def test_uts46_1360(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡖ。̟\U000576e8ஂ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡖ。̟\U000576e8ஂ-', strict=True) + + def test_uts46_1361(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡖ。̟\U000576e8ஂ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡖ。̟\U000576e8ஂ-', strict=True) + + def test_uts46_1362(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--m8e.xn----mdb555dkk71m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--m8e.xn----mdb555dkk71m', strict=True) + + def test_uts46_1363(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠠浘。絧𞀀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠠浘。絧𞀀', strict=True) + + def test_uts46_1364(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--e0wp491f.xn--ud0a3573e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--e0wp491f.xn--ud0a3573e', strict=True) + + def test_uts46_1365(self): + self.assertRaises(idna.IDNAError, idna.decode, '֖Ⴋ.𝟳≯︒︊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֖Ⴋ.𝟳≯︒︊', strict=True) + + def test_uts46_1366(self): + self.assertRaises(idna.IDNAError, idna.decode, '֖Ⴋ.𝟳≯︒︊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֖Ⴋ.𝟳≯︒︊', strict=True) + + def test_uts46_1367(self): + self.assertRaises(idna.IDNAError, idna.decode, '֖Ⴋ.7≯。︊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֖Ⴋ.7≯。︊', strict=True) + + def test_uts46_1368(self): + self.assertRaises(idna.IDNAError, idna.decode, '֖Ⴋ.7≯。︊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֖Ⴋ.7≯。︊', strict=True) + + def test_uts46_1369(self): + self.assertRaises(idna.IDNAError, idna.decode, '֖ⴋ.7≯。︊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֖ⴋ.7≯。︊', strict=True) + + def test_uts46_1370(self): + self.assertRaises(idna.IDNAError, idna.decode, '֖ⴋ.7≯。︊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֖ⴋ.7≯。︊', strict=True) + + def test_uts46_1371(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hcb613r.xn--7-pgo.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hcb613r.xn--7-pgo.', strict=True) + + def test_uts46_1372(self): + self.assertRaises(idna.IDNAError, idna.decode, '֖ⴋ.𝟳≯︒︊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֖ⴋ.𝟳≯︒︊', strict=True) + + def test_uts46_1373(self): + self.assertRaises(idna.IDNAError, idna.decode, '֖ⴋ.𝟳≯︒︊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֖ⴋ.𝟳≯︒︊', strict=True) + + def test_uts46_1374(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hcb613r.xn--7-pgoy530h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hcb613r.xn--7-pgoy530h', strict=True) + + def test_uts46_1375(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hcb887c.xn--7-pgo.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hcb887c.xn--7-pgo.', strict=True) + + def test_uts46_1376(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hcb887c.xn--7-pgoy530h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hcb887c.xn--7-pgoy530h', strict=True) + + def test_uts46_1377(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dF𑓂。\U000e0ea8︒ݾ𐹢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dF𑓂。\U000e0ea8︒ݾ𐹢', strict=True) + + def test_uts46_1378(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dF𑓂。\U000e0ea8。ݾ𐹢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dF𑓂。\U000e0ea8。ݾ𐹢', strict=True) + + def test_uts46_1379(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200df𑓂。\U000e0ea8。ݾ𐹢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200df𑓂。\U000e0ea8。ݾ𐹢', strict=True) + + def test_uts46_1380(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--f-kq9i.xn--7656e.xn--fqb4175k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--f-kq9i.xn--7656e.xn--fqb4175k', strict=True) + + def test_uts46_1381(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--f-tgn9761i.xn--7656e.xn--fqb4175k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--f-tgn9761i.xn--7656e.xn--fqb4175k', strict=True) + + def test_uts46_1382(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200df𑓂。\U000e0ea8︒ݾ𐹢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200df𑓂。\U000e0ea8︒ݾ𐹢', strict=True) + + def test_uts46_1383(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--f-kq9i.xn--fqb1637j8hky9452a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--f-kq9i.xn--fqb1637j8hky9452a', strict=True) + + def test_uts46_1384(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--f-tgn9761i.xn--fqb1637j8hky9452a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--f-tgn9761i.xn--fqb1637j8hky9452a', strict=True) + + def test_uts46_1385(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡅ🄇𐼗︒。𐹻𑜫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡅ🄇𐼗︒。𐹻𑜫', strict=True) + + def test_uts46_1386(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡅ6,𐼗。。𐹻𑜫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡅ6,𐼗。。𐹻𑜫', strict=True) + + def test_uts46_1387(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6,-r4e4420y..xn--zo0di2m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6,-r4e4420y..xn--zo0di2m', strict=True) + + def test_uts46_1388(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6,-r4e6182wo1ra.xn--zo0di2m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6,-r4e6182wo1ra.xn--zo0di2m', strict=True) + + def test_uts46_1389(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3vb4696jpxkjh7s.xn--zo0di2m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3vb4696jpxkjh7s.xn--zo0di2m', strict=True) + + def test_uts46_1390(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010e48.᷀𑈱𐦭', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010e48.᷀𑈱𐦭', strict=True) + + def test_uts46_1391(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jn0d.xn--7dg0871h3lf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jn0d.xn--7dg0871h3lf', strict=True) + + def test_uts46_1392(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴂ䠺。𞤃\U000453ce\U000d9ba6ړ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴂ䠺。𞤃\U000453ce\U000d9ba6ړ', strict=True) + + def test_uts46_1393(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴂ䠺。𞤥\U000453ce\U000d9ba6ړ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴂ䠺。𞤥\U000453ce\U000d9ba6ړ', strict=True) + + def test_uts46_1394(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tkj638f.xn--pjb9818vg4xno967d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tkj638f.xn--pjb9818vg4xno967d', strict=True) + + def test_uts46_1395(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9md875z.xn--pjb9818vg4xno967d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9md875z.xn--pjb9818vg4xno967d', strict=True) + + def test_uts46_1396(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴂ䠺。𞤃\U000453ce\U000d9ba6ړ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴂ䠺。𞤃\U000453ce\U000d9ba6ړ', strict=True) + + def test_uts46_1397(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄇伐︒.\U0001c65a꣄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄇伐︒.\U0001c65a꣄', strict=True) + + def test_uts46_1398(self): + self.assertRaises(idna.IDNAError, idna.decode, '6,伐。.\U0001c65a꣄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '6,伐。.\U0001c65a꣄', strict=True) + + def test_uts46_1399(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6,-7i3c..xn--0f9ao925c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6,-7i3c..xn--0f9ao925c', strict=True) + + def test_uts46_1400(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6,-7i3cj157d.xn--0f9ao925c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6,-7i3cj157d.xn--0f9ao925c', strict=True) + + def test_uts46_1401(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--woqs083bel0g.xn--0f9ao925c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--woqs083bel0g.xn--0f9ao925c', strict=True) + + def test_uts46_1402(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹠꯭\ufffb。\u200d𐫓Ⴚ𑂹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹠꯭\ufffb。\u200d𐫓Ⴚ𑂹', strict=True) + + def test_uts46_1403(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐹠꯭\ufffb。\u200d𐫓ⴚ𑂹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐹠꯭\ufffb。\u200d𐫓ⴚ𑂹', strict=True) + + def test_uts46_1404(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--429az70n29i.xn--ilj7702eqyd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--429az70n29i.xn--ilj7702eqyd', strict=True) + + def test_uts46_1405(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ugz126coy7bdbm.xn--1ug062chv7ov6e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ugz126coy7bdbm.xn--1ug062chv7ov6e', strict=True) + + def test_uts46_1406(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--429az70n29i.xn--ynd3619jqyd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--429az70n29i.xn--ynd3619jqyd', strict=True) + + def test_uts46_1407(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ugz126coy7bdbm.xn--ynd959evs1pv6e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ugz126coy7bdbm.xn--ynd959evs1pv6e', strict=True) + + def test_uts46_1408(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆠.\U00077434\U000cc7c8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆠.\U00077434\U000cc7c8', strict=True) + + def test_uts46_1409(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆠.\U00077434\U000cc7c8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆠.\U00077434\U000cc7c8', strict=True) + + def test_uts46_1410(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--rx21bhv12i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--rx21bhv12i', strict=True) + + def test_uts46_1411(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫃\u200cႦ.≠\U0001edd9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫃\u200cႦ.≠\U0001edd9', strict=True) + + def test_uts46_1412(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫃\u200cႦ.≠\U0001edd9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫃\u200cႦ.≠\U0001edd9', strict=True) + + def test_uts46_1413(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫃\u200cⴆ.≠\U0001edd9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫃\u200cⴆ.≠\U0001edd9', strict=True) + + def test_uts46_1414(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫃\u200cⴆ.≠\U0001edd9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫃\u200cⴆ.≠\U0001edd9', strict=True) + + def test_uts46_1415(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xkjz802e.xn--1ch2802p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xkjz802e.xn--1ch2802p', strict=True) + + def test_uts46_1416(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug132csv7o.xn--1ch2802p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug132csv7o.xn--1ch2802p', strict=True) + + def test_uts46_1417(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--end1719j.xn--1ch2802p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--end1719j.xn--1ch2802p', strict=True) + + def test_uts46_1418(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--end799ekr1p.xn--1ch2802p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--end799ekr1p.xn--1ch2802p', strict=True) + + def test_uts46_1419(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0072\U00019a62𝟥ꘌ.ࡁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0072\U00019a62𝟥ꘌ.ࡁ', strict=True) + + def test_uts46_1420(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0072\U00019a623ꘌ.ࡁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0072\U00019a623ꘌ.ࡁ', strict=True) + + def test_uts46_1421(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-0g3es485d8i15h.xn--zvb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-0g3es485d8i15h.xn--zvb', strict=True) + + def test_uts46_1422(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.ᢆ\U000e1ca3-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.ᢆ\U000e1ca3-', strict=True) + + def test_uts46_1423(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn----pbkx6497q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn----pbkx6497q', strict=True) + + def test_uts46_1424(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000f2697\u200c。\u200c\U0001ec06ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000f2697\u200c。\u200c\U0001ec06ς', strict=True) + + def test_uts46_1425(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000f2697\u200c。\u200c\U0001ec06ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000f2697\u200c。\u200c\U0001ec06ς', strict=True) + + def test_uts46_1426(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000f2697\u200c。\u200c\U0001ec06Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000f2697\u200c。\u200c\U0001ec06Σ', strict=True) + + def test_uts46_1427(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000f2697\u200c。\u200c\U0001ec06σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000f2697\u200c。\u200c\U0001ec06σ', strict=True) + + def test_uts46_1428(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qp42f.xn--4xa3011w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qp42f.xn--4xa3011w', strict=True) + + def test_uts46_1429(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug76062m.xn--4xa595lhn92a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug76062m.xn--4xa595lhn92a', strict=True) + + def test_uts46_1430(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug76062m.xn--3xa795lhn92a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug76062m.xn--3xa795lhn92a', strict=True) + + def test_uts46_1431(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000f2697\u200c。\u200c\U0001ec06Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000f2697\u200c。\u200c\U0001ec06Σ', strict=True) + + def test_uts46_1432(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000f2697\u200c。\u200c\U0001ec06σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000f2697\u200c。\u200c\U0001ec06σ', strict=True) + + def test_uts46_1433(self): + self.assertRaises(idna.IDNAError, idna.decode, '堕𑓂ᬂ。𐮇𞤽\u200c-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '堕𑓂ᬂ。𐮇𞤽\u200c-', strict=True) + + def test_uts46_1434(self): + self.assertRaises(idna.IDNAError, idna.decode, '堕𑓂ᬂ。𐮇𞤛\u200c-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '堕𑓂ᬂ。𐮇𞤛\u200c-', strict=True) + + def test_uts46_1435(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5sf345zdk8h.xn----iv5iw606c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5sf345zdk8h.xn----iv5iw606c', strict=True) + + def test_uts46_1436(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5sf345zdk8h.xn----rgnt157hwl9g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5sf345zdk8h.xn----rgnt157hwl9g', strict=True) + + def test_uts46_1437(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥςتς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥςتς', strict=True) + + def test_uts46_1438(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥςتς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥςتς', strict=True) + + def test_uts46_1439(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤀。ᡥΣتΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤀。ᡥΣتΣ', strict=True) + + def test_uts46_1440(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥσتσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥσتσ', strict=True) + + def test_uts46_1441(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--l8e1317j1ebz456b.xn--4xaa85plx4a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--l8e1317j1ebz456b.xn--4xaa85plx4a', strict=True) + + def test_uts46_1442(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--l8e1317j1ebz456b.xn--3xaa16plx4a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--l8e1317j1ebz456b.xn--3xaa16plx4a', strict=True) + + def test_uts46_1443(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤀。ᡥΣتΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤀。ᡥΣتΣ', strict=True) + + def test_uts46_1444(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥσتσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥσتσ', strict=True) + + def test_uts46_1445(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥΣتΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥΣتΣ', strict=True) + + def test_uts46_1446(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥΣتσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥΣتσ', strict=True) + + def test_uts46_1447(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥΣتς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥΣتς', strict=True) + + def test_uts46_1448(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥσتς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥσتς', strict=True) + + def test_uts46_1449(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--l8e1317j1ebz456b.xn--3xab95plx4a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--l8e1317j1ebz456b.xn--3xab95plx4a', strict=True) + + def test_uts46_1450(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥΣتΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥΣتΣ', strict=True) + + def test_uts46_1451(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥΣتσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥΣتσ', strict=True) + + def test_uts46_1452(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥΣتς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥΣتς', strict=True) + + def test_uts46_1453(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶𑁆ᡕ𞤢。ᡥσتς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶𑁆ᡕ𞤢。ᡥσتς', strict=True) + + def test_uts46_1454(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000cf4b0.-𝟻ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000cf4b0.-𝟻ß', strict=True) + + def test_uts46_1455(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000cf4b0.-5ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000cf4b0.-5ß', strict=True) + + def test_uts46_1456(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000cf4b0.-5SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000cf4b0.-5SS', strict=True) + + def test_uts46_1457(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000cf4b0.-5ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000cf4b0.-5ss', strict=True) + + def test_uts46_1458(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--t960e.-5ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--t960e.-5ss', strict=True) + + def test_uts46_1459(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--t960e.xn---5-hia', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--t960e.xn---5-hia', strict=True) + + def test_uts46_1460(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000cf4b0.-𝟻SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000cf4b0.-𝟻SS', strict=True) + + def test_uts46_1461(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000cf4b0.-𝟻ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000cf4b0.-𝟻ss', strict=True) + + def test_uts46_1462(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000cf4b0.-𝟻Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000cf4b0.-𝟻Ss', strict=True) + + def test_uts46_1463(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000cf4b0.-5Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000cf4b0.-5Ss', strict=True) + + def test_uts46_1464(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐨿.🤒Ⴥ\U00091bb6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐨿.🤒Ⴥ\U00091bb6', strict=True) + + def test_uts46_1465(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𐨿.🤒ⴥ\U00091bb6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𐨿.🤒ⴥ\U00091bb6', strict=True) + + def test_uts46_1466(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0s9c.xn--tljz038l0gz4b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0s9c.xn--tljz038l0gz4b', strict=True) + + def test_uts46_1467(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug9533g.xn--tljz038l0gz4b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug9533g.xn--tljz038l0gz4b', strict=True) + + def test_uts46_1468(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0s9c.xn--9nd3211w0gz4b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0s9c.xn--9nd3211w0gz4b', strict=True) + + def test_uts46_1469(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug9533g.xn--9nd3211w0gz4b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug9533g.xn--9nd3211w0gz4b', strict=True) + + def test_uts46_1470(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000352c5。ß𬵩\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000352c5。ß𬵩\u200d', strict=True) + + def test_uts46_1471(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000352c5。SS𬵩\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000352c5。SS𬵩\u200d', strict=True) + + def test_uts46_1472(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000352c5。ss𬵩\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000352c5。ss𬵩\u200d', strict=True) + + def test_uts46_1473(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000352c5。Ss𬵩\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000352c5。Ss𬵩\u200d', strict=True) + + def test_uts46_1474(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ey1p.xn--ss-eq36b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ey1p.xn--ss-eq36b', strict=True) + + def test_uts46_1475(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ey1p.xn--ss-n1tx0508a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ey1p.xn--ss-n1tx0508a', strict=True) + + def test_uts46_1476(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ey1p.xn--zca870nz438b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ey1p.xn--zca870nz438b', strict=True) + + def test_uts46_1477(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𭉝。߱́𞹻', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𭉝。߱́𞹻', strict=True) + + def test_uts46_1478(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𭉝。߱́غ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𭉝。߱́غ', strict=True) + + def test_uts46_1479(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--634m.xn--lsa46nuub', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--634m.xn--lsa46nuub', strict=True) + + def test_uts46_1480(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugy003y.xn--lsa46nuub', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugy003y.xn--lsa46nuub', strict=True) + + def test_uts46_1481(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ef0c\u200c𑈶。𐹡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ef0c\u200c𑈶。𐹡', strict=True) + + def test_uts46_1482(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9g1d1288a.xn--8n0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9g1d1288a.xn--8n0d', strict=True) + + def test_uts46_1483(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug7946gzpxf.xn--8n0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug7946gzpxf.xn--8n0d', strict=True) + + def test_uts46_1484(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻ς≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻ς≠', strict=True) + + def test_uts46_1485(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻ς≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻ς≠', strict=True) + + def test_uts46_1486(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻ς≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻ς≠', strict=True) + + def test_uts46_1487(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻ς≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻ς≠', strict=True) + + def test_uts46_1488(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻Σ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻Σ≠', strict=True) + + def test_uts46_1489(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻Σ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻Σ≠', strict=True) + + def test_uts46_1490(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻σ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻σ≠', strict=True) + + def test_uts46_1491(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻σ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻σ≠', strict=True) + + def test_uts46_1492(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zb9h5968x.xn--4xa378i1mfjw7y', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zb9h5968x.xn--4xa378i1mfjw7y', strict=True) + + def test_uts46_1493(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug3766p5nm1b.xn--4xa378i1mfjw7y', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug3766p5nm1b.xn--4xa378i1mfjw7y', strict=True) + + def test_uts46_1494(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug3766p5nm1b.xn--3xa578i1mfjw7y', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug3766p5nm1b.xn--3xa578i1mfjw7y', strict=True) + + def test_uts46_1495(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻Σ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻Σ≠', strict=True) + + def test_uts46_1496(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻Σ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻Σ≠', strict=True) + + def test_uts46_1497(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻σ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻σ≠', strict=True) + + def test_uts46_1498(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅯\U00087f6d\u200c🜭。𑖿᪻σ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅯\U00087f6d\u200c🜭。𑖿᪻σ≠', strict=True) + + def test_uts46_1499(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒋。⒈\u200d\U000b3d22', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒋。⒈\u200d\U000b3d22', strict=True) + + def test_uts46_1500(self): + self.assertRaises(idna.IDNAError, idna.decode, '4.。1.\u200d\U000b3d22', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4.。1.\u200d\U000b3d22', strict=True) + + def test_uts46_1501(self): + self.assertRaises(idna.IDNAError, idna.decode, '4..1.xn--sf51d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4..1.xn--sf51d', strict=True) + + def test_uts46_1502(self): + self.assertRaises(idna.IDNAError, idna.decode, '4..1.xn--1ug64613i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4..1.xn--1ug64613i', strict=True) + + def test_uts46_1503(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wsh.xn--tsh07994h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wsh.xn--tsh07994h', strict=True) + + def test_uts46_1504(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wsh.xn--1ug58o74922a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wsh.xn--1ug58o74922a', strict=True) + + def test_uts46_1505(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لß。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لß。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1506(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لß。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لß。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1507(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لß。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لß。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1508(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لSS。᩠𐇽\U000be162𞤜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لSS。᩠𐇽\U000be162𞤜', strict=True) + + def test_uts46_1509(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لss。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لss。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1510(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لss。᩠𐇽\U000be162𞤜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لss。᩠𐇽\U000be162𞤜', strict=True) + + def test_uts46_1511(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-svd.xn--jof2298hn83fln78f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-svd.xn--jof2298hn83fln78f', strict=True) + + def test_uts46_1512(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لß。᩠𐇽\U000be162𞤜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لß。᩠𐇽\U000be162𞤜', strict=True) + + def test_uts46_1513(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca57y.xn--jof2298hn83fln78f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca57y.xn--jof2298hn83fln78f', strict=True) + + def test_uts46_1514(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لSS。᩠𐇽\U000be162𞤜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لSS。᩠𐇽\U000be162𞤜', strict=True) + + def test_uts46_1515(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لss。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لss。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1516(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لss。᩠𐇽\U000be162𞤜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لss。᩠𐇽\U000be162𞤜', strict=True) + + def test_uts46_1517(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لß。᩠𐇽\U000be162𞤜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لß。᩠𐇽\U000be162𞤜', strict=True) + + def test_uts46_1518(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لSS。᩠𐇽\U000be162𞤜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لSS。᩠𐇽\U000be162𞤜', strict=True) + + def test_uts46_1519(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لss。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لss。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1520(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لss。᩠𐇽\U000be162𞤜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لss。᩠𐇽\U000be162𞤜', strict=True) + + def test_uts46_1521(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لß。᩠𐇽\U000be162𞤜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لß。᩠𐇽\U000be162𞤜', strict=True) + + def test_uts46_1522(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لSS。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لSS。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1523(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لSs。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لSs。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1524(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لSS。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لSS。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1525(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لSs。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لSs。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1526(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لSS。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لSS。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1527(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لSs。᩠𐇽\U000be162𞤾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لSs。᩠𐇽\U000be162𞤾', strict=True) + + def test_uts46_1528(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹽𑄳\U0007c732.ᷟី꠆𑜫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹽𑄳\U0007c732.ᷟី꠆𑜫', strict=True) + + def test_uts46_1529(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1o0di0c0652w.xn--33e362arr1l153d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1o0di0c0652w.xn--33e362arr1l153d', strict=True) + + def test_uts46_1530(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴓ𑜫\u200d\U00097b53.ڧ𑰶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴓ𑜫\u200d\U00097b53.ڧ𑰶', strict=True) + + def test_uts46_1531(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴓ𑜫\u200d\U00097b53.ڧ𑰶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴓ𑜫\u200d\U00097b53.ڧ𑰶', strict=True) + + def test_uts46_1532(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴓ𑜫\u200d\U00097b53.ڧ𑰶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴓ𑜫\u200d\U00097b53.ڧ𑰶', strict=True) + + def test_uts46_1533(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--blj6306ey091d.xn--9jb4223l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--blj6306ey091d.xn--9jb4223l', strict=True) + + def test_uts46_1534(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ugy52cym7p7xu5e.xn--9jb4223l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ugy52cym7p7xu5e.xn--9jb4223l', strict=True) + + def test_uts46_1535(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴓ𑜫\u200d\U00097b53.ڧ𑰶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴓ𑜫\u200d\U00097b53.ڧ𑰶', strict=True) + + def test_uts46_1536(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rnd8945ky009c.xn--9jb4223l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rnd8945ky009c.xn--9jb4223l', strict=True) + + def test_uts46_1537(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rnd479ep20q7x12e.xn--9jb4223l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rnd479ep20q7x12e.xn--9jb4223l', strict=True) + + def test_uts46_1538(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨿.🄆—', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨿.🄆—', strict=True) + + def test_uts46_1539(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨿.5,—', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨿.5,—', strict=True) + + def test_uts46_1540(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0s9c.xn--5,-81t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0s9c.xn--5,-81t', strict=True) + + def test_uts46_1541(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0s9c.xn--8ug8324p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0s9c.xn--8ug8324p', strict=True) + + def test_uts46_1542(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000942b1\U000419ae۸。\U000e0fad-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000942b1\U000419ae۸。\U000e0fad-', strict=True) + + def test_uts46_1543(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lmb18944c0g2z.xn----2k81m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lmb18944c0g2z.xn----2k81m', strict=True) + + def test_uts46_1544(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c5f8ߍ𐹮。\u06ddᡎᠴ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c5f8ߍ𐹮。\u06ddᡎᠴ', strict=True) + + def test_uts46_1545(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--osb0855kcc2r.xn--tlb299fhc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--osb0855kcc2r.xn--tlb299fhc', strict=True) + + def test_uts46_1546(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dᠮႾ🄂.🚗ࡁ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dᠮႾ🄂.🚗ࡁ\u200c', strict=True) + + def test_uts46_1547(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dᠮႾ1,.🚗ࡁ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dᠮႾ1,.🚗ࡁ\u200c', strict=True) + + def test_uts46_1548(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dᠮⴞ1,.🚗ࡁ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dᠮⴞ1,.🚗ࡁ\u200c', strict=True) + + def test_uts46_1549(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1,-v3o625k.xn--zvb3124wpkpf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1,-v3o625k.xn--zvb3124wpkpf', strict=True) + + def test_uts46_1550(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1,-v3o161c53q.xn--zvb692j9664aic1g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1,-v3o161c53q.xn--zvb692j9664aic1g', strict=True) + + def test_uts46_1551(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dᠮⴞ🄂.🚗ࡁ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dᠮⴞ🄂.🚗ࡁ\u200c', strict=True) + + def test_uts46_1552(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1,-ogkx89c.xn--zvb3124wpkpf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1,-ogkx89c.xn--zvb3124wpkpf', strict=True) + + def test_uts46_1553(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1,-ogkx89c39j.xn--zvb692j9664aic1g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1,-ogkx89c39j.xn--zvb692j9664aic1g', strict=True) + + def test_uts46_1554(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--h7e438h1p44a.xn--zvb3124wpkpf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--h7e438h1p44a.xn--zvb3124wpkpf', strict=True) + + def test_uts46_1555(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--h7e341b0wlbv45b.xn--zvb692j9664aic1g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--h7e341b0wlbv45b.xn--zvb692j9664aic1g', strict=True) + + def test_uts46_1556(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd129ai554b.xn--zvb3124wpkpf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd129ai554b.xn--zvb3124wpkpf', strict=True) + + def test_uts46_1557(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd129ay2gnw71c.xn--zvb692j9664aic1g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd129ay2gnw71c.xn--zvb692j9664aic1g', strict=True) + + def test_uts46_1558(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0601ڗ.𑚶\U0007c877⾆', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0601ڗ.𑚶\U0007c877⾆', strict=True) + + def test_uts46_1559(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0601ڗ.𑚶\U0007c877舌', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0601ڗ.𑚶\U0007c877舌', strict=True) + + def test_uts46_1560(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jfb41a.xn--tc1ap851axo39c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jfb41a.xn--tc1ap851axo39c', strict=True) + + def test_uts46_1561(self): + self.assertRaises(idna.IDNAError, idna.decode, '🞅\U000e0ce1\U000dc359.\U000725b7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🞅\U000e0ce1\U000dc359.\U000725b7', strict=True) + + def test_uts46_1562(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ie9hi1349bqdlb.xn--oj69a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ie9hi1349bqdlb.xn--oj69a', strict=True) + + def test_uts46_1563(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃧\U0006f84e-\U000ab8dd.4Ⴄ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃧\U0006f84e-\U000ab8dd.4Ⴄ\u200c', strict=True) + + def test_uts46_1564(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃧\U0006f84e-\U000ab8dd.4ⴄ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃧\U0006f84e-\U000ab8dd.4ⴄ\u200c', strict=True) + + def test_uts46_1565(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----9snu5320fi76w.xn--4-ivs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----9snu5320fi76w.xn--4-ivs', strict=True) + + def test_uts46_1566(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----9snu5320fi76w.xn--4-sgn589c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----9snu5320fi76w.xn--4-sgn589c', strict=True) + + def test_uts46_1567(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----9snu5320fi76w.xn--4-f0g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----9snu5320fi76w.xn--4-f0g', strict=True) + + def test_uts46_1568(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----9snu5320fi76w.xn--4-f0g649i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----9snu5320fi76w.xn--4-f0g649i', strict=True) + + def test_uts46_1569(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ。𝌠ß𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ。𝌠ß𖫱', strict=True) + + def test_uts46_1570(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ。𝌠ß𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ。𝌠ß𖫱', strict=True) + + def test_uts46_1571(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ。𝌠SS𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ。𝌠SS𖫱', strict=True) + + def test_uts46_1572(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ。𝌠ss𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ。𝌠ss𖫱', strict=True) + + def test_uts46_1573(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ。𝌠Ss𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ。𝌠Ss𖫱', strict=True) + + def test_uts46_1574(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hwe.xn--ss-ci1ub261a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hwe.xn--ss-ci1ub261a', strict=True) + + def test_uts46_1575(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ.𝌠ss𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ.𝌠ss𖫱', strict=True) + + def test_uts46_1576(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ.𝌠SS𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ.𝌠SS𖫱', strict=True) + + def test_uts46_1577(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ.𝌠Ss𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ.𝌠Ss𖫱', strict=True) + + def test_uts46_1578(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hwe.xn--zca4946pblnc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hwe.xn--zca4946pblnc', strict=True) + + def test_uts46_1579(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ.𝌠ß𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ.𝌠ß𖫱', strict=True) + + def test_uts46_1580(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ。𝌠SS𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ。𝌠SS𖫱', strict=True) + + def test_uts46_1581(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ。𝌠ss𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ。𝌠ss𖫱', strict=True) + + def test_uts46_1582(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᚭ。𝌠Ss𖫱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᚭ。𝌠Ss𖫱', strict=True) + + def test_uts46_1583(self): + self.assertRaises(idna.IDNAError, idna.decode, '₁。𞤫ꡪ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '₁。𞤫ꡪ', strict=True) + + def test_uts46_1584(self): + self.assertRaises(idna.IDNAError, idna.decode, '1。𞤫ꡪ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1。𞤫ꡪ', strict=True) + + def test_uts46_1585(self): + self.assertRaises(idna.IDNAError, idna.decode, '1。𞤉ꡪ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1。𞤉ꡪ', strict=True) + + def test_uts46_1586(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--gd9al691d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--gd9al691d', strict=True) + + def test_uts46_1587(self): + self.assertRaises(idna.IDNAError, idna.decode, '₁。𞤉ꡪ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '₁。𞤉ꡪ', strict=True) + + def test_uts46_1588(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0002fefc\u200c.\U0001ed9e\U000bb664\U00065607', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0002fefc\u200c.\U0001ed9e\U000bb664\U00065607', strict=True) + + def test_uts46_1589(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kg4n.xn--2b7hs861pl540a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kg4n.xn--2b7hs861pl540a', strict=True) + + def test_uts46_1590(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug27500a.xn--2b7hs861pl540a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug27500a.xn--2b7hs861pl540a', strict=True) + + def test_uts46_1591(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑑄≯。𑜤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑑄≯。𑜤', strict=True) + + def test_uts46_1592(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑑄≯。𑜤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑑄≯。𑜤', strict=True) + + def test_uts46_1593(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑑄≯。𑜤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑑄≯。𑜤', strict=True) + + def test_uts46_1594(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑑄≯。𑜤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑑄≯。𑜤', strict=True) + + def test_uts46_1595(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh5636g.xn--ci2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh5636g.xn--ci2d', strict=True) + + def test_uts46_1596(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴋ≮𱲆。\u200dާ𐋣', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴋ≮𱲆。\u200dާ𐋣', strict=True) + + def test_uts46_1597(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴋ≮𱲆。\u200dާ𐋣', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴋ≮𱲆。\u200dާ𐋣', strict=True) + + def test_uts46_1598(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴋ≮𱲆。\u200dާ𐋣', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴋ≮𱲆。\u200dާ𐋣', strict=True) + + def test_uts46_1599(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴋ≮𱲆。\u200dާ𐋣', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴋ≮𱲆。\u200dާ𐋣', strict=True) + + def test_uts46_1600(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdhz03bxt42d.xn--lrb6479j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdhz03bxt42d.xn--lrb6479j', strict=True) + + def test_uts46_1601(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdhz03bxt42d.xn--lrb506jqr4n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdhz03bxt42d.xn--lrb506jqr4n', strict=True) + + def test_uts46_1602(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jnd802gsm17c.xn--lrb6479j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jnd802gsm17c.xn--lrb6479j', strict=True) + + def test_uts46_1603(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jnd802gsm17c.xn--lrb506jqr4n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jnd802gsm17c.xn--lrb506jqr4n', strict=True) + + def test_uts46_1604(self): + self.assertRaises(idna.IDNAError, idna.decode, '្.\U00086f52≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '្.\U00086f52≯', strict=True) + + def test_uts46_1605(self): + self.assertRaises(idna.IDNAError, idna.decode, '្.\U00086f52≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '្.\U00086f52≯', strict=True) + + def test_uts46_1606(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--u4e.xn--hdhx0084f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--u4e.xn--hdhx0084f', strict=True) + + def test_uts46_1607(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004f047᜴.𐨺É⬓𑄴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004f047᜴.𐨺É⬓𑄴', strict=True) + + def test_uts46_1608(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004f047᜴.𐨺É⬓𑄴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004f047᜴.𐨺É⬓𑄴', strict=True) + + def test_uts46_1609(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004f047᜴.𐨺É⬓𑄴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004f047᜴.𐨺É⬓𑄴', strict=True) + + def test_uts46_1610(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004f047᜴.𐨺É⬓𑄴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004f047᜴.𐨺É⬓𑄴', strict=True) + + def test_uts46_1611(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004f047᜴.𐨺é⬓𑄴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004f047᜴.𐨺é⬓𑄴', strict=True) + + def test_uts46_1612(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004f047᜴.𐨺é⬓𑄴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004f047᜴.𐨺é⬓𑄴', strict=True) + + def test_uts46_1613(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--c0e34564d.xn--9ca207st53lg3f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--c0e34564d.xn--9ca207st53lg3f', strict=True) + + def test_uts46_1614(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004f047᜴.𐨺é⬓𑄴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004f047᜴.𐨺é⬓𑄴', strict=True) + + def test_uts46_1615(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004f047᜴.𐨺é⬓𑄴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004f047᜴.𐨺é⬓𑄴', strict=True) + + def test_uts46_1616(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢇ\u200d꣄。︒𞤺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢇ\u200d꣄。︒𞤺', strict=True) + + def test_uts46_1617(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢇ\u200d꣄。。𞤺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢇ\u200d꣄。。𞤺', strict=True) + + def test_uts46_1618(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢇ\u200d꣄。。𞤘', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢇ\u200d꣄。。𞤘', strict=True) + + def test_uts46_1619(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--09e4694e..xn--ye6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--09e4694e..xn--ye6h', strict=True) + + def test_uts46_1620(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--09e669a6x8j..xn--ye6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--09e669a6x8j..xn--ye6h', strict=True) + + def test_uts46_1621(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢇ\u200d꣄。︒𞤘', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢇ\u200d꣄。︒𞤘', strict=True) + + def test_uts46_1622(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--09e4694e.xn--y86cv562b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--09e4694e.xn--y86cv562b', strict=True) + + def test_uts46_1623(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--09e669a6x8j.xn--y86cv562b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--09e669a6x8j.xn--y86cv562b', strict=True) + + def test_uts46_1624(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ea6c\U00096671᜔\u200c。رު≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ea6c\U00096671᜔\u200c。رު≮', strict=True) + + def test_uts46_1625(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ea6c\U00096671᜔\u200c。رު≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ea6c\U00096671᜔\u200c。رު≮', strict=True) + + def test_uts46_1626(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ea6c\U00096671᜔\u200c。رު≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ea6c\U00096671᜔\u200c。رު≮', strict=True) + + def test_uts46_1627(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ea6c\U00096671᜔\u200c。رު≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ea6c\U00096671᜔\u200c。رު≮', strict=True) + + def test_uts46_1628(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fze3930v7hz6b.xn--wgb86el10d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fze3930v7hz6b.xn--wgb86el10d', strict=True) + + def test_uts46_1629(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fze607b9651bjwl7c.xn--wgb86el10d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fze607b9651bjwl7c.xn--wgb86el10d', strict=True) + + def test_uts46_1630(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴣ.ٓᢤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴣ.ٓᢤ', strict=True) + + def test_uts46_1631(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴣ.ٓᢤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴣ.ٓᢤ', strict=True) + + def test_uts46_1632(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴣ.ٓᢤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴣ.ٓᢤ', strict=True) + + def test_uts46_1633(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rlj.xn--vhb294g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rlj.xn--vhb294g', strict=True) + + def test_uts46_1634(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴣ.ٓᢤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴣ.ٓᢤ', strict=True) + + def test_uts46_1635(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7nd.xn--vhb294g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7nd.xn--vhb294g', strict=True) + + def test_uts46_1636(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄈ࠓ.싉\U000841bbჄ\U00082850', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄈ࠓ.싉\U000841bbჄ\U00082850', strict=True) + + def test_uts46_1637(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄈ࠓ.싉\U000841bbჄ\U00082850', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄈ࠓ.싉\U000841bbჄ\U00082850', strict=True) + + def test_uts46_1638(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄈ࠓ.싉\U000841bbჄ\U00082850', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄈ࠓ.싉\U000841bbჄ\U00082850', strict=True) + + def test_uts46_1639(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄈ࠓ.싉\U000841bbჄ\U00082850', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄈ࠓ.싉\U000841bbჄ\U00082850', strict=True) + + def test_uts46_1640(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄈ࠓ.싉\U000841bbⴤ\U00082850', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄈ࠓ.싉\U000841bbⴤ\U00082850', strict=True) + + def test_uts46_1641(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄈ࠓ.싉\U000841bbⴤ\U00082850', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄈ࠓ.싉\U000841bbⴤ\U00082850', strict=True) + + def test_uts46_1642(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--oub.xn--sljz109bpe25dviva', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--oub.xn--sljz109bpe25dviva', strict=True) + + def test_uts46_1643(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄈ࠓ.싉\U000841bbⴤ\U00082850', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄈ࠓ.싉\U000841bbⴤ\U00082850', strict=True) + + def test_uts46_1644(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄈ࠓ.싉\U000841bbⴤ\U00082850', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄈ࠓ.싉\U000841bbⴤ\U00082850', strict=True) + + def test_uts46_1645(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--oub.xn--8nd9522gpe69cviva', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--oub.xn--8nd9522gpe69cviva', strict=True) + + def test_uts46_1646(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꨬ𑲫≮.⤂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꨬ𑲫≮.⤂', strict=True) + + def test_uts46_1647(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꨬ𑲫≮.⤂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꨬ𑲫≮.⤂', strict=True) + + def test_uts46_1648(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꨬ𑲫≮.⤂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꨬ𑲫≮.⤂', strict=True) + + def test_uts46_1649(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꨬ𑲫≮.⤂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꨬ𑲫≮.⤂', strict=True) + + def test_uts46_1650(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh1854cn19c.xn--kqi', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh1854cn19c.xn--kqi', strict=True) + + def test_uts46_1651(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮Ⴢ.Ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮Ⴢ.Ⴃ', strict=True) + + def test_uts46_1652(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮Ⴢ.Ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮Ⴢ.Ⴃ', strict=True) + + def test_uts46_1653(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮Ⴢ.Ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮Ⴢ.Ⴃ', strict=True) + + def test_uts46_1654(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮Ⴢ.Ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮Ⴢ.Ⴃ', strict=True) + + def test_uts46_1655(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮ⴢ.ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮ⴢ.ⴃ', strict=True) + + def test_uts46_1656(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮ⴢ.ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮ⴢ.ⴃ', strict=True) + + def test_uts46_1657(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮Ⴢ.ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮Ⴢ.ⴃ', strict=True) + + def test_uts46_1658(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮Ⴢ.ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮Ⴢ.ⴃ', strict=True) + + def test_uts46_1659(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mfb266l4khr54u.xn--ukj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mfb266l4khr54u.xn--ukj', strict=True) + + def test_uts46_1660(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮ⴢ.ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮ⴢ.ⴃ', strict=True) + + def test_uts46_1661(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮ⴢ.ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮ⴢ.ⴃ', strict=True) + + def test_uts46_1662(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮Ⴢ.ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮Ⴢ.ⴃ', strict=True) + + def test_uts46_1663(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0604𐩔≮Ⴢ.ⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0604𐩔≮Ⴢ.ⴃ', strict=True) + + def test_uts46_1664(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mfb416c0jox02t.xn--ukj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mfb416c0jox02t.xn--ukj', strict=True) + + def test_uts46_1665(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mfb416c0jox02t.xn--bnd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mfb416c0jox02t.xn--bnd', strict=True) + + def test_uts46_1666(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑁅。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑁅。-', strict=True) + + def test_uts46_1667(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--210d.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--210d.-', strict=True) + + def test_uts46_1668(self): + self.assertRaises(idna.IDNAError, idna.decode, '්\U00095e3d\U000e09f1。饈≠٤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '්\U00095e3d\U000e09f1。饈≠٤', strict=True) + + def test_uts46_1669(self): + self.assertRaises(idna.IDNAError, idna.decode, '්\U00095e3d\U000e09f1。饈≠٤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '්\U00095e3d\U000e09f1。饈≠٤', strict=True) + + def test_uts46_1670(self): + self.assertRaises(idna.IDNAError, idna.decode, '්\U00095e3d\U000e09f1。饈≠٤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '්\U00095e3d\U000e09f1。饈≠٤', strict=True) + + def test_uts46_1671(self): + self.assertRaises(idna.IDNAError, idna.decode, '්\U00095e3d\U000e09f1。饈≠٤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '්\U00095e3d\U000e09f1。饈≠٤', strict=True) + + def test_uts46_1672(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--h1c25913jfwov.xn--dib144ler5f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--h1c25913jfwov.xn--dib144ler5f', strict=True) + + def test_uts46_1673(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞥃ᠠ⁷。≯邅⬻4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞥃ᠠ⁷。≯邅⬻4', strict=True) + + def test_uts46_1674(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞥃ᠠ⁷。≯邅⬻4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞥃ᠠ⁷。≯邅⬻4', strict=True) + + def test_uts46_1675(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞥃ᠠ7。≯邅⬻4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞥃ᠠ7。≯邅⬻4', strict=True) + + def test_uts46_1676(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞥃ᠠ7。≯邅⬻4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞥃ᠠ7。≯邅⬻4', strict=True) + + def test_uts46_1677(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤡ᠠ7。≯邅⬻4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤡ᠠ7。≯邅⬻4', strict=True) + + def test_uts46_1678(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤡ᠠ7。≯邅⬻4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤡ᠠ7。≯邅⬻4', strict=True) + + def test_uts46_1679(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7-v4j2826w.xn--4-ogoy01bou3i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7-v4j2826w.xn--4-ogoy01bou3i', strict=True) + + def test_uts46_1680(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤡ᠠ⁷。≯邅⬻4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤡ᠠ⁷。≯邅⬻4', strict=True) + + def test_uts46_1681(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤡ᠠ⁷。≯邅⬻4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤡ᠠ⁷。≯邅⬻4', strict=True) + + def test_uts46_1682(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a0fefᡳ-𑐻.𐹴𐋫\u0605\U000d13b3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a0fefᡳ-𑐻.𐹴𐋫\u0605\U000d13b3', strict=True) + + def test_uts46_1683(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----m9j3429kxmy7e.xn--nfb7950kdihrp812a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----m9j3429kxmy7e.xn--nfb7950kdihrp812a', strict=True) + + def test_uts46_1684(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a0d86ࡅੑ.넨-\U000f69c8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a0d86ࡅੑ.넨-\U000f69c8', strict=True) + + def test_uts46_1685(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a0d86ࡅੑ.넨-\U000f69c8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a0d86ࡅੑ.넨-\U000f69c8', strict=True) + + def test_uts46_1686(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3vb26hb6834b.xn----i37ez0957g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3vb26hb6834b.xn----i37ez0957g', strict=True) + + def test_uts46_1687(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡦᡑ\u200d⒈。𐋣-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡦᡑ\u200d⒈。𐋣-', strict=True) + + def test_uts46_1688(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡦᡑ\u200d1.。𐋣-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡦᡑ\u200d1.。𐋣-', strict=True) + + def test_uts46_1689(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-o7j0610f..xn----381i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-o7j0610f..xn----381i', strict=True) + + def test_uts46_1690(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-o7j663bdl7m..xn----381i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-o7j663bdl7m..xn----381i', strict=True) + + def test_uts46_1691(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--h8e863drj7h.xn----381i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--h8e863drj7h.xn----381i', strict=True) + + def test_uts46_1692(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--h8e470bl0d838o.xn----381i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--h8e470bl0d838o.xn----381i', strict=True) + + def test_uts46_1693(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴌ。\U0010df20ﭩ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴌ。\U0010df20ﭩ', strict=True) + + def test_uts46_1694(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴌ。\U0010df20ٹ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴌ。\U0010df20ٹ', strict=True) + + def test_uts46_1695(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴌ。\U0010df20ٹ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴌ。\U0010df20ٹ', strict=True) + + def test_uts46_1696(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3kj.xn--yib19191t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3kj.xn--yib19191t', strict=True) + + def test_uts46_1697(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴌ。\U0010df20ﭩ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴌ。\U0010df20ﭩ', strict=True) + + def test_uts46_1698(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--knd.xn--yib19191t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--knd.xn--yib19191t', strict=True) + + def test_uts46_1699(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐮁𐭱.྄፞-ᳺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐮁𐭱.྄፞-ᳺ', strict=True) + + def test_uts46_1700(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--r19c5a.xn----xjg270ag3m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--r19c5a.xn----xjg270ag3m', strict=True) + + def test_uts46_1701(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈䰹\u200d-。웈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈䰹\u200d-。웈', strict=True) + + def test_uts46_1702(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈䰹\u200d-。웈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈䰹\u200d-。웈', strict=True) + + def test_uts46_1703(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.䰹\u200d-。웈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.䰹\u200d-。웈', strict=True) + + def test_uts46_1704(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.䰹\u200d-。웈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.䰹\u200d-。웈', strict=True) + + def test_uts46_1705(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn----zw5a.xn--kp5b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn----zw5a.xn--kp5b', strict=True) + + def test_uts46_1706(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn----tgnz80r.xn--kp5b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn----tgnz80r.xn--kp5b', strict=True) + + def test_uts46_1707(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----dcp160o.xn--kp5b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----dcp160o.xn--kp5b', strict=True) + + def test_uts46_1708(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----tgnx5rjr6c.xn--kp5b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----tgnx5rjr6c.xn--kp5b', strict=True) + + def test_uts46_1709(self): + self.assertRaises(idna.IDNAError, idna.decode, 'て。\u200c\U000e0cfd߳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'て。\u200c\U000e0cfd߳', strict=True) + + def test_uts46_1710(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--m9j.xn--rtb10784p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--m9j.xn--rtb10784p', strict=True) + + def test_uts46_1711(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--m9j.xn--rtb154j9l73w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--m9j.xn--rtb154j9l73w', strict=True) + + def test_uts46_1712(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς。꧀ۧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς。꧀ۧ', strict=True) + + def test_uts46_1713(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς。꧀ۧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς。꧀ۧ', strict=True) + + def test_uts46_1714(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ。꧀ۧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ。꧀ۧ', strict=True) + + def test_uts46_1715(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ。꧀ۧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ。꧀ۧ', strict=True) + + def test_uts46_1716(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa.xn--3lb1944f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa.xn--3lb1944f', strict=True) + + def test_uts46_1717(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa.xn--3lb1944f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa.xn--3lb1944f', strict=True) + + def test_uts46_1718(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ。꧀ۧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ。꧀ۧ', strict=True) + + def test_uts46_1719(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ。꧀ۧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ。꧀ۧ', strict=True) + + def test_uts46_1720(self): + self.assertRaises(idna.IDNAError, idna.decode, '்\U000e5ac5\U0008c251.ႢႵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '்\U000e5ac5\U0008c251.ႢႵ', strict=True) + + def test_uts46_1721(self): + self.assertRaises(idna.IDNAError, idna.decode, '்\U000e5ac5\U0008c251.ⴂⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '்\U000e5ac5\U0008c251.ⴂⴕ', strict=True) + + def test_uts46_1722(self): + self.assertRaises(idna.IDNAError, idna.decode, '்\U000e5ac5\U0008c251.Ⴂⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '்\U000e5ac5\U0008c251.Ⴂⴕ', strict=True) + + def test_uts46_1723(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xmc83135idcxza.xn--tkjwb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xmc83135idcxza.xn--tkjwb', strict=True) + + def test_uts46_1724(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xmc83135idcxza.xn--9md086l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xmc83135idcxza.xn--9md086l', strict=True) + + def test_uts46_1725(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xmc83135idcxza.xn--9md2b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xmc83135idcxza.xn--9md2b', strict=True) + + def test_uts46_1726(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᰲ🄈⾛֦.\u200d\U000af964߽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᰲ🄈⾛֦.\u200d\U000af964߽', strict=True) + + def test_uts46_1727(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᰲ7,走֦.\u200d\U000af964߽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᰲ7,走֦.\u200d\U000af964߽', strict=True) + + def test_uts46_1728(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7,-bid991urn3k.xn--1tb13454l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7,-bid991urn3k.xn--1tb13454l', strict=True) + + def test_uts46_1729(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7,-bid991urn3k.xn--1tb334j1197q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7,-bid991urn3k.xn--1tb334j1197q', strict=True) + + def test_uts46_1730(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xcb756i493fwi5o.xn--1tb13454l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xcb756i493fwi5o.xn--1tb13454l', strict=True) + + def test_uts46_1731(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xcb756i493fwi5o.xn--1tb334j1197q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xcb756i493fwi5o.xn--1tb334j1197q', strict=True) + + def test_uts46_1732(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢗ。Ӏ\U0005d13b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢗ。Ӏ\U0005d13b', strict=True) + + def test_uts46_1733(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢗ。Ӏ\U0005d13b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢗ。Ӏ\U0005d13b', strict=True) + + def test_uts46_1734(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢗ。ӏ\U0005d13b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢗ。ӏ\U0005d13b', strict=True) + + def test_uts46_1735(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hbf.xn--s5a83117e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hbf.xn--s5a83117e', strict=True) + + def test_uts46_1736(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢗ。ӏ\U0005d13b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢗ。ӏ\U0005d13b', strict=True) + + def test_uts46_1737(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hbf.xn--d5a86117e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hbf.xn--d5a86117e', strict=True) + + def test_uts46_1738(self): + self.assertRaises(idna.IDNAError, idna.decode, '٨-。\U000603c7🝆ᄾ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٨-。\U000603c7🝆ᄾ', strict=True) + + def test_uts46_1739(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----oqc.xn--qrd1699v327w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----oqc.xn--qrd1699v327w', strict=True) + + def test_uts46_1740(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𐋷𖾑。󠆬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𐋷𖾑。󠆬', strict=True) + + def test_uts46_1741(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----991iq40y.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----991iq40y.', strict=True) + + def test_uts46_1742(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹳🐴멈.꯭\U0005087c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹳🐴멈.꯭\U0005087c', strict=True) + + def test_uts46_1743(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹳🐴멈.꯭\U0005087c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹳🐴멈.꯭\U0005087c', strict=True) + + def test_uts46_1744(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--422b325mqb6i.xn--429a8682s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--422b325mqb6i.xn--429a8682s', strict=True) + + def test_uts46_1745(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug6681d406b7bwk.xn--429a8682s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug6681d406b7bwk.xn--429a8682s', strict=True) + + def test_uts46_1746(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮.ݩ\u0603', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮.ݩ\u0603', strict=True) + + def test_uts46_1747(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮.ݩ\u0603', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮.ݩ\u0603', strict=True) + + def test_uts46_1748(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh.xn--lfb92e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh.xn--lfb92e', strict=True) + + def test_uts46_1749(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010dad⾆。\u200c𑚶\U0009fc43\U0001ec18', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010dad⾆。\u200c𑚶\U0009fc43\U0001ec18', strict=True) + + def test_uts46_1750(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010dad舌。\u200c𑚶\U0009fc43\U0001ec18', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010dad舌。\u200c𑚶\U0009fc43\U0001ec18', strict=True) + + def test_uts46_1751(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tc1ao37z.xn--6e2dw557azds2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tc1ao37z.xn--6e2dw557azds2d', strict=True) + + def test_uts46_1752(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tc1ao37z.xn--0ugx728gi1nfwqz2e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tc1ao37z.xn--0ugx728gi1nfwqz2e', strict=True) + + def test_uts46_1753(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cჀ-.𝟷ς𞴺ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cჀ-.𝟷ς𞴺ς', strict=True) + + def test_uts46_1754(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cჀ-.1ς𞴺ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cჀ-.1ς𞴺ς', strict=True) + + def test_uts46_1755(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴠ-.1ς𞴺ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴠ-.1ς𞴺ς', strict=True) + + def test_uts46_1756(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cჀ-.1Σ𞴺Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cჀ-.1Σ𞴺Σ', strict=True) + + def test_uts46_1757(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴠ-.1σ𞴺σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴠ-.1σ𞴺σ', strict=True) + + def test_uts46_1758(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cჀ-.1σ𞴺Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cჀ-.1σ𞴺Σ', strict=True) + + def test_uts46_1759(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----2ws.xn--1-0mba52321c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----2ws.xn--1-0mba52321c', strict=True) + + def test_uts46_1760(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----rgn530d.xn--1-0mba52321c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----rgn530d.xn--1-0mba52321c', strict=True) + + def test_uts46_1761(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cჀ-.1ς𞴺Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cჀ-.1ς𞴺Σ', strict=True) + + def test_uts46_1762(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴠ-.1ς𞴺σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴠ-.1ς𞴺σ', strict=True) + + def test_uts46_1763(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----rgn530d.xn--1-ymbd52321c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----rgn530d.xn--1-ymbd52321c', strict=True) + + def test_uts46_1764(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----rgn530d.xn--1-ymba92321c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----rgn530d.xn--1-ymba92321c', strict=True) + + def test_uts46_1765(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴠ-.𝟷ς𞴺ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴠ-.𝟷ς𞴺ς', strict=True) + + def test_uts46_1766(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cჀ-.𝟷Σ𞴺Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cჀ-.𝟷Σ𞴺Σ', strict=True) + + def test_uts46_1767(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴠ-.𝟷σ𞴺σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴠ-.𝟷σ𞴺σ', strict=True) + + def test_uts46_1768(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cჀ-.𝟷σ𞴺Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cჀ-.𝟷σ𞴺Σ', strict=True) + + def test_uts46_1769(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cჀ-.𝟷ς𞴺Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cჀ-.𝟷ς𞴺Σ', strict=True) + + def test_uts46_1770(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴠ-.𝟷ς𞴺σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴠ-.𝟷ς𞴺σ', strict=True) + + def test_uts46_1771(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----z1g.xn--1-0mba52321c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----z1g.xn--1-0mba52321c', strict=True) + + def test_uts46_1772(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----z1g168i.xn--1-0mba52321c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----z1g168i.xn--1-0mba52321c', strict=True) + + def test_uts46_1773(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----z1g168i.xn--1-ymbd52321c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----z1g168i.xn--1-ymbd52321c', strict=True) + + def test_uts46_1774(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----z1g168i.xn--1-ymba92321c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----z1g168i.xn--1-ymba92321c', strict=True) + + def test_uts46_1775(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑲘󠄒\U00013461。𝟪Ⴜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑲘󠄒\U00013461。𝟪Ⴜ', strict=True) + + def test_uts46_1776(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑲘󠄒\U00013461。8Ⴜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑲘󠄒\U00013461。8Ⴜ', strict=True) + + def test_uts46_1777(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑲘󠄒\U00013461。8ⴜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑲘󠄒\U00013461。8ⴜ', strict=True) + + def test_uts46_1778(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7m3d291b.xn--8-vws', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7m3d291b.xn--8-vws', strict=True) + + def test_uts46_1779(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑲘󠄒\U00013461。𝟪ⴜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑲘󠄒\U00013461。𝟪ⴜ', strict=True) + + def test_uts46_1780(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7m3d291b.xn--8-s1g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7m3d291b.xn--8-s1g', strict=True) + + def test_uts46_1781(self): + self.assertRaises(idna.IDNAError, idna.decode, '䪏ګߠु。뭕ᢝឹ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䪏ګߠु。뭕ᢝឹ', strict=True) + + def test_uts46_1782(self): + self.assertRaises(idna.IDNAError, idna.decode, '䪏ګߠु。뭕ᢝឹ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䪏ګߠु。뭕ᢝឹ', strict=True) + + def test_uts46_1783(self): + self.assertRaises(idna.IDNAError, idna.decode, '䪏ګߠु。뭕ᢝឹ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䪏ګߠु。뭕ᢝឹ', strict=True) + + def test_uts46_1784(self): + self.assertRaises(idna.IDNAError, idna.decode, '䪏ګߠु。뭕ᢝឹ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䪏ګߠु。뭕ᢝឹ', strict=True) + + def test_uts46_1785(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ekb23dj4at01n.xn--43e96bh910b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ekb23dj4at01n.xn--43e96bh910b', strict=True) + + def test_uts46_1786(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮫。🂉\U000e0070', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮫。🂉\U000e0070', strict=True) + + def test_uts46_1787(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮫。🂉\U000e0070', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮫。🂉\U000e0070', strict=True) + + def test_uts46_1788(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zxf.xn--fx7ho0250c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zxf.xn--fx7ho0250c', strict=True) + + def test_uts46_1789(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e9383ૄ。ς\u200d𐹮𑈵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e9383ૄ。ς\u200d𐹮𑈵', strict=True) + + def test_uts46_1790(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e9383ૄ。Σ\u200d𐹮𑈵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e9383ૄ。Σ\u200d𐹮𑈵', strict=True) + + def test_uts46_1791(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e9383ૄ。σ\u200d𐹮𑈵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e9383ૄ。σ\u200d𐹮𑈵', strict=True) + + def test_uts46_1792(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dfc53161q.xn--4xa8467k5mc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dfc53161q.xn--4xa8467k5mc', strict=True) + + def test_uts46_1793(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dfc53161q.xn--4xa895lzo7nsfd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dfc53161q.xn--4xa895lzo7nsfd', strict=True) + + def test_uts46_1794(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dfc53161q.xn--3xa006lzo7nsfd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dfc53161q.xn--3xa006lzo7nsfd', strict=True) + + def test_uts46_1795(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫀ᡂ𑜫.𑘿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫀ᡂ𑜫.𑘿', strict=True) + + def test_uts46_1796(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫀ᡂ𑜫.𑘿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫀ᡂ𑜫.𑘿', strict=True) + + def test_uts46_1797(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--17e9625js1h.xn--sb2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--17e9625js1h.xn--sb2d', strict=True) + + def test_uts46_1798(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ec6b6\U000f82d6\U00096a70-。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ec6b6\U000f82d6\U00096a70-。\u200c', strict=True) + + def test_uts46_1799(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----7i12hu122k9ire.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----7i12hu122k9ire.', strict=True) + + def test_uts46_1800(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----7i12hu122k9ire.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----7i12hu122k9ire.xn--0ug', strict=True) + + def test_uts46_1801(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣.߂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣.߂', strict=True) + + def test_uts46_1802(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣.߂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣.߂', strict=True) + + def test_uts46_1803(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bo0d.xn--dsb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bo0d.xn--dsb', strict=True) + + def test_uts46_1804(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ߡ。Ↄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ߡ。Ↄ', strict=True) + + def test_uts46_1805(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ߡ。Ↄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ߡ。Ↄ', strict=True) + + def test_uts46_1806(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ߡ。ↄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ߡ。ↄ', strict=True) + + def test_uts46_1807(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----8cd.xn--r5g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----8cd.xn--r5g', strict=True) + + def test_uts46_1808(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ߡ。ↄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ߡ。ↄ', strict=True) + + def test_uts46_1809(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----8cd.xn--q5g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----8cd.xn--q5g', strict=True) + + def test_uts46_1810(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-︒󠄄。ß哑\u200c\U00010d7f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-︒󠄄。ß哑\u200c\U00010d7f', strict=True) + + def test_uts46_1811(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-。󠄄。ß哑\u200c\U00010d7f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-。󠄄。ß哑\u200c\U00010d7f', strict=True) + + def test_uts46_1812(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-。󠄄。SS哑\u200c\U00010d5f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-。󠄄。SS哑\u200c\U00010d5f', strict=True) + + def test_uts46_1813(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-。󠄄。ss哑\u200c\U00010d7f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-。󠄄。ss哑\u200c\U00010d7f', strict=True) + + def test_uts46_1814(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-。󠄄。Ss哑\u200c\U00010d5f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-。󠄄。Ss哑\u200c\U00010d5f', strict=True) + + def test_uts46_1815(self): + self.assertRaises(idna.IDNAError, idna.decode, '-..xn--ss-h46c5711e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-..xn--ss-h46c5711e', strict=True) + + def test_uts46_1816(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----tgn..xn--ss-k1ts75zb8ym', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----tgn..xn--ss-k1ts75zb8ym', strict=True) + + def test_uts46_1817(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----tgn..xn--zca670n5f0binyk', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----tgn..xn--zca670n5f0binyk', strict=True) + + def test_uts46_1818(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-︒󠄄。SS哑\u200c\U00010d5f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-︒󠄄。SS哑\u200c\U00010d5f', strict=True) + + def test_uts46_1819(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-︒󠄄。ss哑\u200c\U00010d7f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-︒󠄄。ss哑\u200c\U00010d7f', strict=True) + + def test_uts46_1820(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-︒󠄄。Ss哑\u200c\U00010d5f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-︒󠄄。Ss哑\u200c\U00010d5f', strict=True) + + def test_uts46_1821(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----o89h.xn--ss-h46c5711e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----o89h.xn--ss-h46c5711e', strict=True) + + def test_uts46_1822(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----tgnt341h.xn--ss-k1ts75zb8ym', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----tgnt341h.xn--ss-k1ts75zb8ym', strict=True) + + def test_uts46_1823(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----tgnt341h.xn--zca670n5f0binyk', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----tgnt341h.xn--zca670n5f0binyk', strict=True) + + def test_uts46_1824(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-。󠄄。SS哑\u200c\U00010d7f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-。󠄄。SS哑\u200c\U00010d7f', strict=True) + + def test_uts46_1825(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-。󠄄。Ss哑\u200c\U00010d7f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-。󠄄。Ss哑\u200c\U00010d7f', strict=True) + + def test_uts46_1826(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-︒󠄄。SS哑\u200c\U00010d7f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-︒󠄄。SS哑\u200c\U00010d7f', strict=True) + + def test_uts46_1827(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-︒󠄄。Ss哑\u200c\U00010d7f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-︒󠄄。Ss哑\u200c\U00010d7f', strict=True) + + def test_uts46_1828(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒.𑑂︯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒.𑑂︯', strict=True) + + def test_uts46_1829(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒.𑑂︯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒.𑑂︯', strict=True) + + def test_uts46_1830(self): + self.assertRaises(idna.IDNAError, idna.decode, '。.𑑂︯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。.𑑂︯', strict=True) + + def test_uts46_1831(self): + self.assertRaises(idna.IDNAError, idna.decode, '..xn--s96cu30b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '..xn--s96cu30b', strict=True) + + def test_uts46_1832(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y86c.xn--s96cu30b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y86c.xn--s96cu30b', strict=True) + + def test_uts46_1833(self): + self.assertRaises(idna.IDNAError, idna.decode, '꤬。\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꤬。\u200d', strict=True) + + def test_uts46_1834(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zi9a.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zi9a.', strict=True) + + def test_uts46_1835(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zi9a.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zi9a.xn--1ug', strict=True) + + def test_uts46_1836(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U000e0e21。ﳗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U000e0e21。ﳗ', strict=True) + + def test_uts46_1837(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U000e0e21。هج', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U000e0e21。هج', strict=True) + + def test_uts46_1838(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--d356e.xn--rgb7c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--d356e.xn--rgb7c', strict=True) + + def test_uts46_1839(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug80651l.xn--rgb7c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug80651l.xn--rgb7c', strict=True) + + def test_uts46_1840(self): + self.assertRaises(idna.IDNAError, idna.decode, '-Ⴄ𝟢٣.𑍴ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-Ⴄ𝟢٣.𑍴ς', strict=True) + + def test_uts46_1841(self): + self.assertRaises(idna.IDNAError, idna.decode, '-Ⴄ0٣.𑍴ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-Ⴄ0٣.𑍴ς', strict=True) + + def test_uts46_1842(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ⴄ0٣.𑍴ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ⴄ0٣.𑍴ς', strict=True) + + def test_uts46_1843(self): + self.assertRaises(idna.IDNAError, idna.decode, '-Ⴄ0٣.𑍴Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-Ⴄ0٣.𑍴Σ', strict=True) + + def test_uts46_1844(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ⴄ0٣.𑍴σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ⴄ0٣.𑍴σ', strict=True) + + def test_uts46_1845(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---0-iyd8660b.xn--4xa9120l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---0-iyd8660b.xn--4xa9120l', strict=True) + + def test_uts46_1846(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---0-iyd8660b.xn--3xa1220l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---0-iyd8660b.xn--3xa1220l', strict=True) + + def test_uts46_1847(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ⴄ𝟢٣.𑍴ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ⴄ𝟢٣.𑍴ς', strict=True) + + def test_uts46_1848(self): + self.assertRaises(idna.IDNAError, idna.decode, '-Ⴄ𝟢٣.𑍴Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-Ⴄ𝟢٣.𑍴Σ', strict=True) + + def test_uts46_1849(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ⴄ𝟢٣.𑍴σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ⴄ𝟢٣.𑍴σ', strict=True) + + def test_uts46_1850(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---0-iyd216h.xn--4xa9120l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---0-iyd216h.xn--4xa9120l', strict=True) + + def test_uts46_1851(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---0-iyd216h.xn--3xa1220l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---0-iyd216h.xn--3xa1220l', strict=True) + + def test_uts46_1852(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e6204。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e6204。-', strict=True) + + def test_uts46_1853(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xm38e.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xm38e.-', strict=True) + + def test_uts46_1854(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘ß≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘ß≯', strict=True) + + def test_uts46_1855(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘ß≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘ß≯', strict=True) + + def test_uts46_1856(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘ß≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘ß≯', strict=True) + + def test_uts46_1857(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘ß≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘ß≯', strict=True) + + def test_uts46_1858(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘SS≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘SS≯', strict=True) + + def test_uts46_1859(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘SS≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘SS≯', strict=True) + + def test_uts46_1860(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘ss≯', strict=True) + + def test_uts46_1861(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘ss≯', strict=True) + + def test_uts46_1862(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘Ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘Ss≯', strict=True) + + def test_uts46_1863(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘Ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘Ss≯', strict=True) + + def test_uts46_1864(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pgh4639f.xn--ss-ifj426nle504a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pgh4639f.xn--ss-ifj426nle504a', strict=True) + + def test_uts46_1865(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pgh4639f.xn--zca593eo6oc013y', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pgh4639f.xn--zca593eo6oc013y', strict=True) + + def test_uts46_1866(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘SS≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘SS≯', strict=True) + + def test_uts46_1867(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘SS≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘SS≯', strict=True) + + def test_uts46_1868(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘ss≯', strict=True) + + def test_uts46_1869(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘ss≯', strict=True) + + def test_uts46_1870(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘Ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘Ss≯', strict=True) + + def test_uts46_1871(self): + self.assertRaises(idna.IDNAError, idna.decode, '⋠𐋮.\U000b622e༘Ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⋠𐋮.\U000b622e༘Ss≯', strict=True) + + def test_uts46_1872(self): + self.assertRaises(idna.IDNAError, idna.decode, '1𐋸٤。\U000e08aeﮤ\U0007774a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1𐋸٤。\U000e08aeﮤ\U0007774a', strict=True) + + def test_uts46_1873(self): + self.assertRaises(idna.IDNAError, idna.decode, '1𐋸٤。\U000e08aeۀ\U0007774a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1𐋸٤。\U000e08aeۀ\U0007774a', strict=True) + + def test_uts46_1874(self): + self.assertRaises(idna.IDNAError, idna.decode, '1𐋸٤。\U000e08aeۀ\U0007774a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1𐋸٤。\U000e08aeۀ\U0007774a', strict=True) + + def test_uts46_1875(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-hqc3905q.xn--zkb83268gqee4a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-hqc3905q.xn--zkb83268gqee4a', strict=True) + + def test_uts46_1876(self): + self.assertRaises(idna.IDNAError, idna.decode, '儭-。𐹴Ⴢ\U00065ce0\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '儭-。𐹴Ⴢ\U00065ce0\u200c', strict=True) + + def test_uts46_1877(self): + self.assertRaises(idna.IDNAError, idna.decode, '儭-。𐹴Ⴢ\U00065ce0\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '儭-。𐹴Ⴢ\U00065ce0\u200c', strict=True) + + def test_uts46_1878(self): + self.assertRaises(idna.IDNAError, idna.decode, '儭-。𐹴ⴢ\U00065ce0\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '儭-。𐹴ⴢ\U00065ce0\u200c', strict=True) + + def test_uts46_1879(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----gz7a.xn--qlj9223eywx0b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----gz7a.xn--qlj9223eywx0b', strict=True) + + def test_uts46_1880(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----gz7a.xn--0ug472cfq0pus98b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----gz7a.xn--0ug472cfq0pus98b', strict=True) + + def test_uts46_1881(self): + self.assertRaises(idna.IDNAError, idna.decode, '儭-。𐹴ⴢ\U00065ce0\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '儭-。𐹴ⴢ\U00065ce0\u200c', strict=True) + + def test_uts46_1882(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----gz7a.xn--6nd5001kyw98a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----gz7a.xn--6nd5001kyw98a', strict=True) + + def test_uts46_1883(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----gz7a.xn--6nd249ejl4pusr7b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----gz7a.xn--6nd249ejl4pusr7b', strict=True) + + def test_uts46_1884(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟺𐋷ڹ.𞤭\U000bf361', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟺𐋷ڹ.𞤭\U000bf361', strict=True) + + def test_uts46_1885(self): + self.assertRaises(idna.IDNAError, idna.decode, '4𐋷ڹ.𞤭\U000bf361', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4𐋷ڹ.𞤭\U000bf361', strict=True) + + def test_uts46_1886(self): + self.assertRaises(idna.IDNAError, idna.decode, '4𐋷ڹ.𞤋\U000bf361', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4𐋷ڹ.𞤋\U000bf361', strict=True) + + def test_uts46_1887(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-cvc5384q.xn--le6hi7322b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-cvc5384q.xn--le6hi7322b', strict=True) + + def test_uts46_1888(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟺𐋷ڹ.𞤋\U000bf361', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟺𐋷ڹ.𞤋\U000bf361', strict=True) + + def test_uts46_1889(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯-ꡋ𑲣.⒈𐹭', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯-ꡋ𑲣.⒈𐹭', strict=True) + + def test_uts46_1890(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯-ꡋ𑲣.⒈𐹭', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯-ꡋ𑲣.⒈𐹭', strict=True) + + def test_uts46_1891(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯-ꡋ𑲣.1.𐹭', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯-ꡋ𑲣.1.𐹭', strict=True) + + def test_uts46_1892(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯-ꡋ𑲣.1.𐹭', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯-ꡋ𑲣.1.𐹭', strict=True) + + def test_uts46_1893(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ogox061d5i8d.1.xn--lo0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ogox061d5i8d.1.xn--lo0d', strict=True) + + def test_uts46_1894(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ogox061d5i8d.xn--tsh0666f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ogox061d5i8d.xn--tsh0666f', strict=True) + + def test_uts46_1895(self): + self.assertRaises(idna.IDNAError, idna.decode, '̰.\U000f0731蚀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '̰.\U000f0731蚀', strict=True) + + def test_uts46_1896(self): + self.assertRaises(idna.IDNAError, idna.decode, '̰.\U000f0731蚀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '̰.\U000f0731蚀', strict=True) + + def test_uts46_1897(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xta.xn--e91aw9417e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xta.xn--e91aw9417e', strict=True) + + def test_uts46_1898(self): + self.assertRaises(idna.IDNAError, idna.decode, 'יּႸ.𞡼𑇀ß⃗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'יּႸ.𞡼𑇀ß⃗', strict=True) + + def test_uts46_1899(self): + self.assertRaises(idna.IDNAError, idna.decode, 'יּႸ.𞡼𑇀ß⃗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'יּႸ.𞡼𑇀ß⃗', strict=True) + + def test_uts46_1900(self): + self.assertRaises(idna.IDNAError, idna.decode, 'יּⴘ.𞡼𑇀ß⃗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'יּⴘ.𞡼𑇀ß⃗', strict=True) + + def test_uts46_1901(self): + self.assertRaises(idna.IDNAError, idna.decode, 'יּႸ.𞡼𑇀SS⃗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'יּႸ.𞡼𑇀SS⃗', strict=True) + + def test_uts46_1902(self): + self.assertRaises(idna.IDNAError, idna.decode, 'יּⴘ.𞡼𑇀ss⃗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'יּⴘ.𞡼𑇀ss⃗', strict=True) + + def test_uts46_1903(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kdb1d278n.xn--ss-yju5690ken9h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kdb1d278n.xn--ss-yju5690ken9h', strict=True) + + def test_uts46_1904(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kdb1d278n.xn--zca284nhg9nrrxg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kdb1d278n.xn--zca284nhg9nrrxg', strict=True) + + def test_uts46_1905(self): + self.assertRaises(idna.IDNAError, idna.decode, 'יּⴘ.𞡼𑇀ß⃗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'יּⴘ.𞡼𑇀ß⃗', strict=True) + + def test_uts46_1906(self): + self.assertRaises(idna.IDNAError, idna.decode, 'יּႸ.𞡼𑇀SS⃗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'יּႸ.𞡼𑇀SS⃗', strict=True) + + def test_uts46_1907(self): + self.assertRaises(idna.IDNAError, idna.decode, 'יּⴘ.𞡼𑇀ss⃗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'יּⴘ.𞡼𑇀ss⃗', strict=True) + + def test_uts46_1908(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kdb1d867b.xn--ss-yju5690ken9h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kdb1d867b.xn--ss-yju5690ken9h', strict=True) + + def test_uts46_1909(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kdb1d867b.xn--zca284nhg9nrrxg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kdb1d867b.xn--zca284nhg9nrrxg', strict=True) + + def test_uts46_1910(self): + self.assertRaises(idna.IDNAError, idna.decode, 'יּႸ.𞡼𑇀ss⃗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'יּႸ.𞡼𑇀ss⃗', strict=True) + + def test_uts46_1911(self): + self.assertRaises(idna.IDNAError, idna.decode, 'יּႸ.𞡼𑇀ss⃗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'יּႸ.𞡼𑇀ss⃗', strict=True) + + def test_uts46_1912(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᮣ𐹰\U00081c53。凬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᮣ𐹰\U00081c53。凬', strict=True) + + def test_uts46_1913(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᮣ𐹰\U00081c53。凬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᮣ𐹰\U00081c53。凬', strict=True) + + def test_uts46_1914(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rxfz314ilg20c.xn--t9q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rxfz314ilg20c.xn--t9q', strict=True) + + def test_uts46_1915(self): + self.assertRaises(idna.IDNAError, idna.decode, '🢟🄈\u200dꡎ。྄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🢟🄈\u200dꡎ。྄', strict=True) + + def test_uts46_1916(self): + self.assertRaises(idna.IDNAError, idna.decode, '🢟7,\u200dꡎ。྄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🢟7,\u200dꡎ。྄', strict=True) + + def test_uts46_1917(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7,-gh9hg322i.xn--3ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7,-gh9hg322i.xn--3ed', strict=True) + + def test_uts46_1918(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7,-n1t0654eqo3o.xn--3ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7,-n1t0654eqo3o.xn--3ed', strict=True) + + def test_uts46_1919(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nc9aq743ds0e.xn--3ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nc9aq743ds0e.xn--3ed', strict=True) + + def test_uts46_1920(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug4874cfd0kbmg.xn--3ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug4874cfd0kbmg.xn--3ed', strict=True) + + def test_uts46_1921(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡔ。္ᢇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡔ。္ᢇ', strict=True) + + def test_uts46_1922(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tc9a.xn--9jd663b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tc9a.xn--9jd663b', strict=True) + + def test_uts46_1923(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃫≮.𝨖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃫≮.𝨖', strict=True) + + def test_uts46_1924(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃫≮.𝨖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃫≮.𝨖', strict=True) + + def test_uts46_1925(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--e1g71d.xn--772h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--e1g71d.xn--772h', strict=True) + + def test_uts46_1926(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴢ≯褦.ᠪߪႾݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴢ≯褦.ᠪߪႾݧ', strict=True) + + def test_uts46_1927(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴢ≯褦.ᠪߪႾݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴢ≯褦.ᠪߪႾݧ', strict=True) + + def test_uts46_1928(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴢ≯褦.ᠪߪႾݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴢ≯褦.ᠪߪႾݧ', strict=True) + + def test_uts46_1929(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴢ≯褦.ᠪߪႾݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴢ≯褦.ᠪߪႾݧ', strict=True) + + def test_uts46_1930(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴢ≯褦.ᠪߪⴞݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴢ≯褦.ᠪߪⴞݧ', strict=True) + + def test_uts46_1931(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴢ≯褦.ᠪߪⴞݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴢ≯褦.ᠪߪⴞݧ', strict=True) + + def test_uts46_1932(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴢ≯褦.ᠪߪⴞݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴢ≯褦.ᠪߪⴞݧ', strict=True) + + def test_uts46_1933(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴢ≯褦.ᠪߪⴞݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴢ≯褦.ᠪߪⴞݧ', strict=True) + + def test_uts46_1934(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh433bev8e.xn--rpb5x392bcyt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh433bev8e.xn--rpb5x392bcyt', strict=True) + + def test_uts46_1935(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴢ≯褦.ᠪߪⴞݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴢ≯褦.ᠪߪⴞݧ', strict=True) + + def test_uts46_1936(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴢ≯褦.ᠪߪⴞݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴢ≯褦.ᠪߪⴞݧ', strict=True) + + def test_uts46_1937(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴢ≯褦.ᠪߪⴞݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴢ≯褦.ᠪߪⴞݧ', strict=True) + + def test_uts46_1938(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴢ≯褦.ᠪߪⴞݧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴢ≯褦.ᠪߪⴞݧ', strict=True) + + def test_uts46_1939(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6nd461g478e.xn--rpb5x392bcyt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6nd461g478e.xn--rpb5x392bcyt', strict=True) + + def test_uts46_1940(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6nd461g478e.xn--rpb5x49td2h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6nd461g478e.xn--rpb5x49td2h', strict=True) + + def test_uts46_1941(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0008a246󠆒\u200c꥓。𞤙ٻꡘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0008a246󠆒\u200c꥓。𞤙ٻꡘ', strict=True) + + def test_uts46_1942(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0008a246󠆒\u200c꥓。𞤻ٻꡘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0008a246󠆒\u200c꥓。𞤻ٻꡘ', strict=True) + + def test_uts46_1943(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3j9al6189a.xn--0ib8893fegvj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3j9al6189a.xn--0ib8893fegvj', strict=True) + + def test_uts46_1944(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug8815chtz0e.xn--0ib8893fegvj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug8815chtz0e.xn--0ib8893fegvj', strict=True) + + def test_uts46_1945(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.≯', strict=True) + + def test_uts46_1946(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.≯', strict=True) + + def test_uts46_1947(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--hdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--hdh', strict=True) + + def test_uts46_1948(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--hdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--hdh', strict=True) + + def test_uts46_1949(self): + self.assertRaises(idna.IDNAError, idna.decode, '𰅧\U00063a60-.꯭-悜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𰅧\U00063a60-.꯭-悜', strict=True) + + def test_uts46_1950(self): + self.assertRaises(idna.IDNAError, idna.decode, '𰅧\U00063a60-.꯭-悜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𰅧\U00063a60-.꯭-悜', strict=True) + + def test_uts46_1951(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----7m53aj640l.xn----8f4br83t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----7m53aj640l.xn----8f4br83t', strict=True) + + def test_uts46_1952(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡉ\U000364e7⬞ᢜ.-\u200d𞣑\u202e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡉ\U000364e7⬞ᢜ.-\u200d𞣑\u202e', strict=True) + + def test_uts46_1953(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--87e0ol04cdl39e.xn----qinu247r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--87e0ol04cdl39e.xn----qinu247r', strict=True) + + def test_uts46_1954(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--87e0ol04cdl39e.xn----ugn5e3763s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--87e0ol04cdl39e.xn----ugn5e3763s', strict=True) + + def test_uts46_1955(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒐\u200c衃Ⴝ.ڂႴ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒐\u200c衃Ⴝ.ڂႴ', strict=True) + + def test_uts46_1956(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.\u200c衃Ⴝ.ڂႴ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.\u200c衃Ⴝ.ڂႴ', strict=True) + + def test_uts46_1957(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.\u200c衃ⴝ.ڂⴔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.\u200c衃ⴝ.ڂⴔ', strict=True) + + def test_uts46_1958(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.\u200c衃Ⴝ.ڂⴔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.\u200c衃Ⴝ.ڂⴔ', strict=True) + + def test_uts46_1959(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.xn--llj1920a.xn--7ib268q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.xn--llj1920a.xn--7ib268q', strict=True) + + def test_uts46_1960(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.xn--0ug862cbm5e.xn--7ib268q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.xn--0ug862cbm5e.xn--7ib268q', strict=True) + + def test_uts46_1961(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒐\u200c衃ⴝ.ڂⴔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒐\u200c衃ⴝ.ڂⴔ', strict=True) + + def test_uts46_1962(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒐\u200c衃Ⴝ.ڂⴔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒐\u200c衃Ⴝ.ڂⴔ', strict=True) + + def test_uts46_1963(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1shy52abz3f.xn--7ib268q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1shy52abz3f.xn--7ib268q', strict=True) + + def test_uts46_1964(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugx0px1izu2h.xn--7ib268q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugx0px1izu2h.xn--7ib268q', strict=True) + + def test_uts46_1965(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.xn--1nd9032d.xn--7ib268q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.xn--1nd9032d.xn--7ib268q', strict=True) + + def test_uts46_1966(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.xn--1nd159e1y2f.xn--7ib268q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.xn--1nd159e1y2f.xn--7ib268q', strict=True) + + def test_uts46_1967(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.xn--1nd9032d.xn--7ib433c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.xn--1nd9032d.xn--7ib433c', strict=True) + + def test_uts46_1968(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.xn--1nd159e1y2f.xn--7ib433c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.xn--1nd159e1y2f.xn--7ib433c', strict=True) + + def test_uts46_1969(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1nd362hy16e.xn--7ib268q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1nd362hy16e.xn--7ib268q', strict=True) + + def test_uts46_1970(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1nd159ecmd785k.xn--7ib268q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1nd159ecmd785k.xn--7ib268q', strict=True) + + def test_uts46_1971(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1nd362hy16e.xn--7ib433c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1nd362hy16e.xn--7ib433c', strict=True) + + def test_uts46_1972(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1nd159ecmd785k.xn--7ib433c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1nd159ecmd785k.xn--7ib433c', strict=True) + + def test_uts46_1973(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߡ\u200c。--⸬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߡ\u200c。--⸬', strict=True) + + def test_uts46_1974(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8sb.xn-----iw2a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8sb.xn-----iw2a', strict=True) + + def test_uts46_1975(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8sb884j.xn-----iw2a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8sb884j.xn-----iw2a', strict=True) + + def test_uts46_1976(self): + self.assertEqual(idna.decode('𞥓.ܘ', uts46=True, strict=True), '𞥓.ܘ') + self.assertEqual(idna.encode('𞥓.ܘ', uts46=True, strict=True), b'xn--of6h.xn--inb') + + def test_uts46_1977(self): + self.assertEqual(idna.decode('𞥓.ܘ', uts46=True, strict=True), '𞥓.ܘ') + self.assertEqual(idna.encode('𞥓.ܘ', uts46=True, strict=True), b'xn--of6h.xn--inb') + + def test_uts46_1978(self): + self.assertEqual(idna.decode('xn--of6h.xn--inb', uts46=True, strict=True), '𞥓.ܘ') + self.assertEqual(idna.encode('xn--of6h.xn--inb', uts46=True, strict=True), b'xn--of6h.xn--inb') + + def test_uts46_1979(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄽-.-්', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄽-.-්', strict=True) + + def test_uts46_1980(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄽-.-්', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄽-.-්', strict=True) + + def test_uts46_1981(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn----ptf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn----ptf', strict=True) + + def test_uts46_1982(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠇝ݛ-.ᤧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠇝ݛ-.ᤧ', strict=True) + + def test_uts46_1983(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----k4c.xn--lff', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----k4c.xn--lff', strict=True) + + def test_uts46_1984(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤴󠆹⦉𐹺.꠆⒌\U000d8938', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤴󠆹⦉𐹺.꠆⒌\U000d8938', strict=True) + + def test_uts46_1985(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤴󠆹⦉𐹺.꠆5.\U000d8938', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤴󠆹⦉𐹺.꠆5.\U000d8938', strict=True) + + def test_uts46_1986(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤒󠆹⦉𐹺.꠆5.\U000d8938', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤒󠆹⦉𐹺.꠆5.\U000d8938', strict=True) + + def test_uts46_1987(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fuix729epewf.xn--5-w93e.xn--7b83e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fuix729epewf.xn--5-w93e.xn--7b83e', strict=True) + + def test_uts46_1988(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤒󠆹⦉𐹺.꠆⒌\U000d8938', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤒󠆹⦉𐹺.꠆⒌\U000d8938', strict=True) + + def test_uts46_1989(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fuix729epewf.xn--xsh5029b6e77i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fuix729epewf.xn--xsh5029b6e77i', strict=True) + + def test_uts46_1990(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄸₀。𑖿\u200c𐦂\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄸₀。𑖿\u200c𐦂\u200d', strict=True) + + def test_uts46_1991(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄸0。𑖿\u200c𐦂\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄸0。𑖿\u200c𐦂\u200d', strict=True) + + def test_uts46_1992(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.xn--mn9cz2s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.xn--mn9cz2s', strict=True) + + def test_uts46_1993(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.xn--0ugc8040p9hk', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.xn--0ugc8040p9hk', strict=True) + + def test_uts46_1994(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴚ𐋸󠄄。𝟝ퟶ်', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴚ𐋸󠄄。𝟝ퟶ်', strict=True) + + def test_uts46_1995(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴚ𐋸󠄄。5ퟶ်', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴚ𐋸󠄄。5ퟶ်', strict=True) + + def test_uts46_1996(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴚ𐋸󠄄。5ퟶ်', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴚ𐋸󠄄。5ퟶ်', strict=True) + + def test_uts46_1997(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ilj2659d.xn--5-dug9054m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ilj2659d.xn--5-dug9054m', strict=True) + + def test_uts46_1998(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴚ𐋸.5ퟶ်', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴚ𐋸.5ퟶ်', strict=True) + + def test_uts46_1999(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴚ𐋸.5ퟶ်', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴚ𐋸.5ퟶ်', strict=True) + + def test_uts46_2000(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴚ𐋸󠄄。𝟝ퟶ်', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴚ𐋸󠄄。𝟝ퟶ်', strict=True) + + def test_uts46_2001(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ynd2415j.xn--5-dug9054m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ynd2415j.xn--5-dug9054m', strict=True) + + def test_uts46_2002(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-ᠹ﹪.ᷡᤢ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-ᠹ﹪.ᷡᤢ', strict=True) + + def test_uts46_2003(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-ᠹ%.ᷡᤢ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-ᠹ%.ᷡᤢ', strict=True) + + def test_uts46_2004(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---%-u4o.xn--gff52t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---%-u4o.xn--gff52t', strict=True) + + def test_uts46_2005(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---%-u4oy48b.xn--gff52t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---%-u4oy48b.xn--gff52t', strict=True) + + def test_uts46_2006(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----c6jx047j.xn--gff52t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----c6jx047j.xn--gff52t', strict=True) + + def test_uts46_2007(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----c6j614b1z4v.xn--gff52t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----c6j614b1z4v.xn--gff52t', strict=True) + + def test_uts46_2008(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.ᠿ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.ᠿ', strict=True) + + def test_uts46_2009(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.ᠿ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.ᠿ', strict=True) + + def test_uts46_2010(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch.xn--y7e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch.xn--y7e', strict=True) + + def test_uts46_2011(self): + self.assertEqual(idna.decode('ܣ֣。㌪', uts46=True, strict=True), 'ܣ֣.ハイツ') + self.assertEqual(idna.encode('ܣ֣。㌪', uts46=True, strict=True), b'xn--ucb18e.xn--eck4c5a') + + def test_uts46_2012(self): + self.assertEqual(idna.decode('ܣ֣。ハイツ', uts46=True, strict=True), 'ܣ֣.ハイツ') + self.assertEqual(idna.encode('ܣ֣。ハイツ', uts46=True, strict=True), b'xn--ucb18e.xn--eck4c5a') + + def test_uts46_2013(self): + self.assertEqual(idna.decode('xn--ucb18e.xn--eck4c5a', uts46=True, strict=True), 'ܣ֣.ハイツ') + self.assertEqual(idna.encode('xn--ucb18e.xn--eck4c5a', uts46=True, strict=True), b'xn--ucb18e.xn--eck4c5a') + + def test_uts46_2014(self): + self.assertEqual(idna.decode('ܣ֣.ハイツ', uts46=True, strict=True), 'ܣ֣.ハイツ') + self.assertEqual(idna.encode('ܣ֣.ハイツ', uts46=True, strict=True), b'xn--ucb18e.xn--eck4c5a') + + def test_uts46_2015(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ede5󠆀≮.⵿-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ede5󠆀≮.⵿-', strict=True) + + def test_uts46_2016(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ede5󠆀≮.⵿-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ede5󠆀≮.⵿-', strict=True) + + def test_uts46_2017(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdhx802p.xn----i2s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdhx802p.xn----i2s', strict=True) + + def test_uts46_2018(self): + self.assertRaises(idna.IDNAError, idna.decode, '₆榎\U000a658e്。𞤅ۭﱚ\U000e0ba8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '₆榎\U000a658e്。𞤅ۭﱚ\U000e0ba8', strict=True) + + def test_uts46_2019(self): + self.assertRaises(idna.IDNAError, idna.decode, '6榎\U000a658e്。𞤅ۭيي\U000e0ba8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '6榎\U000a658e്。𞤅ۭيي\U000e0ba8', strict=True) + + def test_uts46_2020(self): + self.assertRaises(idna.IDNAError, idna.decode, '6榎\U000a658e്。𞤧ۭيي\U000e0ba8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '6榎\U000a658e്。𞤧ۭيي\U000e0ba8', strict=True) + + def test_uts46_2021(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-kmf4691ejv41j.xn--mhba10ch545mn8v8h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-kmf4691ejv41j.xn--mhba10ch545mn8v8h', strict=True) + + def test_uts46_2022(self): + self.assertRaises(idna.IDNAError, idna.decode, '₆榎\U000a658e്。𞤧ۭﱚ\U000e0ba8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '₆榎\U000a658e്。𞤧ۭﱚ\U000e0ba8', strict=True) + + def test_uts46_2023(self): + self.assertRaises(idna.IDNAError, idna.decode, '𣩫.\U0008c472', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𣩫.\U0008c472', strict=True) + + def test_uts46_2024(self): + self.assertRaises(idna.IDNAError, idna.decode, '𣩫.\U0008c472', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𣩫.\U0008c472', strict=True) + + def test_uts46_2025(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--td3j.xn--4628b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--td3j.xn--4628b', strict=True) + + def test_uts46_2026(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d︒。ڹ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d︒。ڹ\u200c', strict=True) + + def test_uts46_2027(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y86c.xn--skb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y86c.xn--skb', strict=True) + + def test_uts46_2028(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug2658f.xn--skb080k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug2658f.xn--skb080k', strict=True) + + def test_uts46_2029(self): + self.assertEqual(idna.decode('xn--skb', uts46=True, strict=True), 'ڹ') + self.assertEqual(idna.encode('xn--skb', uts46=True, strict=True), b'xn--skb') + + def test_uts46_2030(self): + self.assertEqual(idna.decode('ڹ', uts46=True, strict=True), 'ڹ') + self.assertEqual(idna.encode('ڹ', uts46=True, strict=True), b'xn--skb') + + def test_uts46_2031(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹦\u200c𐹶。\u206d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹦\u200c𐹶。\u206d', strict=True) + + def test_uts46_2032(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--eo0d6a.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--eo0d6a.', strict=True) + + def test_uts46_2033(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug4994goba.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug4994goba.', strict=True) + + def test_uts46_2034(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--eo0d6a.xn--sxg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--eo0d6a.xn--sxg', strict=True) + + def test_uts46_2035(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug4994goba.xn--sxg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug4994goba.xn--sxg', strict=True) + + def test_uts46_2036(self): + self.assertRaises(idna.IDNAError, idna.decode, '్𝨾֩𝟭。-𑜨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '్𝨾֩𝟭。-𑜨', strict=True) + + def test_uts46_2037(self): + self.assertRaises(idna.IDNAError, idna.decode, '్𝨾֩1。-𑜨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '్𝨾֩1。-𑜨', strict=True) + + def test_uts46_2038(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-rfc312cdp45c.xn----nq0j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-rfc312cdp45c.xn----nq0j', strict=True) + + def test_uts46_2039(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a3fc8。뙏', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a3fc8。뙏', strict=True) + + def test_uts46_2040(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a3fc8。뙏', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a3fc8。뙏', strict=True) + + def test_uts46_2041(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ph26c.xn--281b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ph26c.xn--281b', strict=True) + + def test_uts46_2042(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00055a1a󠄌\U000d1f40ᡀ.ࢶ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00055a1a󠄌\U000d1f40ᡀ.ࢶ', strict=True) + + def test_uts46_2043(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--z7e98100evc01b.xn--czb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--z7e98100evc01b.xn--czb', strict=True) + + def test_uts46_2044(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。\U0004505b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。\U0004505b', strict=True) + + def test_uts46_2045(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。\U0004505b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。\U0004505b', strict=True) + + def test_uts46_2046(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--6x4u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--6x4u', strict=True) + + def test_uts46_2047(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--6x4u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--6x4u', strict=True) + + def test_uts46_2048(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡋ皥.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡋ皥.-', strict=True) + + def test_uts46_2049(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡋ皥.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡋ皥.-', strict=True) + + def test_uts46_2050(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9vb4167c.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9vb4167c.-', strict=True) + + def test_uts46_2051(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000108f8̕𐮇.⒈ꡦ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000108f8̕𐮇.⒈ꡦ', strict=True) + + def test_uts46_2052(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000108f8̕𐮇.1.ꡦ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000108f8̕𐮇.1.ꡦ', strict=True) + + def test_uts46_2053(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5sa9915kgvb.1.xn--cd9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5sa9915kgvb.1.xn--cd9a', strict=True) + + def test_uts46_2054(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5sa9915kgvb.xn--tshw539b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5sa9915kgvb.xn--tshw539b', strict=True) + + def test_uts46_2055(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + + def test_uts46_2056(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + + def test_uts46_2057(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + + def test_uts46_2058(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + + def test_uts46_2059(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + + def test_uts46_2060(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + + def test_uts46_2061(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴛ\u200c֢\u200d。ᅠĀ𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴛ\u200c֢\u200d。ᅠĀ𐹦', strict=True) + + def test_uts46_2062(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴛ\u200c֢\u200d。ᅠĀ𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴛ\u200c֢\u200d。ᅠĀ𐹦', strict=True) + + def test_uts46_2063(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tcb323r.xn--yda4409k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tcb323r.xn--yda4409k', strict=True) + + def test_uts46_2064(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tcb736kea974k.xn--yda4409k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tcb736kea974k.xn--yda4409k', strict=True) + + def test_uts46_2065(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + + def test_uts46_2066(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴛ\u200c֢\u200d。ᅠā𐹦', strict=True) + + def test_uts46_2067(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴛ\u200c֢\u200d。ᅠĀ𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴛ\u200c֢\u200d。ᅠĀ𐹦', strict=True) + + def test_uts46_2068(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴛ\u200c֢\u200d。ᅠĀ𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴛ\u200c֢\u200d。ᅠĀ𐹦', strict=True) + + def test_uts46_2069(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tcb597c.xn--yda594fdn5q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tcb597c.xn--yda594fdn5q', strict=True) + + def test_uts46_2070(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tcb597cdmmfa.xn--yda594fdn5q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tcb597cdmmfa.xn--yda594fdn5q', strict=True) + + def test_uts46_2071(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tcb323r.xn--yda594fdn5q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tcb323r.xn--yda594fdn5q', strict=True) + + def test_uts46_2072(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tcb736kea974k.xn--yda594fdn5q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tcb736kea974k.xn--yda594fdn5q', strict=True) + + def test_uts46_2073(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tcb597c.xn--yda9741khjj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tcb597c.xn--yda9741khjj', strict=True) + + def test_uts46_2074(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tcb597cdmmfa.xn--yda9741khjj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tcb597cdmmfa.xn--yda9741khjj', strict=True) + + def test_uts46_2075(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tcb323r.xn--yda9741khjj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tcb323r.xn--yda9741khjj', strict=True) + + def test_uts46_2076(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tcb736kea974k.xn--yda9741khjj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tcb736kea974k.xn--yda9741khjj', strict=True) + + def test_uts46_2077(self): + self.assertRaises(idna.IDNAError, idna.decode, '\ufff9\u200c。曳⾑𐋰≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\ufff9\u200c。曳⾑𐋰≯', strict=True) + + def test_uts46_2078(self): + self.assertRaises(idna.IDNAError, idna.decode, '\ufff9\u200c。曳⾑𐋰≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\ufff9\u200c。曳⾑𐋰≯', strict=True) + + def test_uts46_2079(self): + self.assertRaises(idna.IDNAError, idna.decode, '\ufff9\u200c。曳襾𐋰≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\ufff9\u200c。曳襾𐋰≯', strict=True) + + def test_uts46_2080(self): + self.assertRaises(idna.IDNAError, idna.decode, '\ufff9\u200c。曳襾𐋰≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\ufff9\u200c。曳襾𐋰≯', strict=True) + + def test_uts46_2081(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vn7c.xn--hdh501y8wvfs5h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vn7c.xn--hdh501y8wvfs5h', strict=True) + + def test_uts46_2082(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug2139f.xn--hdh501y8wvfs5h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug2139f.xn--hdh501y8wvfs5h', strict=True) + + def test_uts46_2083(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯⒈。ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯⒈。ß', strict=True) + + def test_uts46_2084(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯⒈。ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯⒈。ß', strict=True) + + def test_uts46_2085(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯1.。ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯1.。ß', strict=True) + + def test_uts46_2086(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯1.。ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯1.。ß', strict=True) + + def test_uts46_2087(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯1.。SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯1.。SS', strict=True) + + def test_uts46_2088(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯1.。SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯1.。SS', strict=True) + + def test_uts46_2089(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯1.。ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯1.。ss', strict=True) + + def test_uts46_2090(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯1.。ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯1.。ss', strict=True) + + def test_uts46_2091(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯1.。Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯1.。Ss', strict=True) + + def test_uts46_2092(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯1.。Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯1.。Ss', strict=True) + + def test_uts46_2093(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-ogo..ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-ogo..ss', strict=True) + + def test_uts46_2094(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-ogo..xn--zca', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-ogo..xn--zca', strict=True) + + def test_uts46_2095(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯⒈。SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯⒈。SS', strict=True) + + def test_uts46_2096(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯⒈。SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯⒈。SS', strict=True) + + def test_uts46_2097(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯⒈。ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯⒈。ss', strict=True) + + def test_uts46_2098(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯⒈。ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯⒈。ss', strict=True) + + def test_uts46_2099(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯⒈。Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯⒈。Ss', strict=True) + + def test_uts46_2100(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯⒈。Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯⒈。Ss', strict=True) + + def test_uts46_2101(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh84f.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh84f.ss', strict=True) + + def test_uts46_2102(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh84f.xn--zca', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh84f.xn--zca', strict=True) + + def test_uts46_2103(self): + self.assertRaises(idna.IDNAError, idna.decode, '٧\u200dﮖ。ߚ-₆Ⴙ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٧\u200dﮖ。ߚ-₆Ⴙ', strict=True) + + def test_uts46_2104(self): + self.assertRaises(idna.IDNAError, idna.decode, '٧\u200dڳ。ߚ-6Ⴙ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٧\u200dڳ。ߚ-6Ⴙ', strict=True) + + def test_uts46_2105(self): + self.assertRaises(idna.IDNAError, idna.decode, '٧\u200dڳ。ߚ-6ⴙ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٧\u200dڳ。ߚ-6ⴙ', strict=True) + + def test_uts46_2106(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gib6m.xn---6-lve6529a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gib6m.xn---6-lve6529a', strict=True) + + def test_uts46_2107(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gib6m343e.xn---6-lve6529a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gib6m343e.xn---6-lve6529a', strict=True) + + def test_uts46_2108(self): + self.assertRaises(idna.IDNAError, idna.decode, '٧\u200dﮖ。ߚ-₆ⴙ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٧\u200dﮖ。ߚ-₆ⴙ', strict=True) + + def test_uts46_2109(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gib6m.xn---6-lve002g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gib6m.xn---6-lve002g', strict=True) + + def test_uts46_2110(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gib6m343e.xn---6-lve002g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gib6m343e.xn---6-lve002g', strict=True) + + def test_uts46_2111(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。≠', strict=True) + + def test_uts46_2112(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。≠', strict=True) + + def test_uts46_2113(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。≠', strict=True) + + def test_uts46_2114(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。≠', strict=True) + + def test_uts46_2115(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--1ch', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--1ch', strict=True) + + def test_uts46_2116(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--1ch', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--1ch', strict=True) + + def test_uts46_2117(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑖿𝨔.ᡟ𑖿ᭂ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑖿𝨔.ᡟ𑖿ᭂ\u200c', strict=True) + + def test_uts46_2118(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--461dw464a.xn--v8e29loy65a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--461dw464a.xn--v8e29loy65a', strict=True) + + def test_uts46_2119(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--461dw464a.xn--v8e29ldzfo952a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--461dw464a.xn--v8e29ldzfo952a', strict=True) + + def test_uts46_2120(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000948f3\u200d\U00091771.𖬴Ↄ≠-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000948f3\u200d\U00091771.𖬴Ↄ≠-', strict=True) + + def test_uts46_2121(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000948f3\u200d\U00091771.𖬴Ↄ≠-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000948f3\u200d\U00091771.𖬴Ↄ≠-', strict=True) + + def test_uts46_2122(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000948f3\u200d\U00091771.𖬴ↄ≠-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000948f3\u200d\U00091771.𖬴ↄ≠-', strict=True) + + def test_uts46_2123(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000948f3\u200d\U00091771.𖬴ↄ≠-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000948f3\u200d\U00091771.𖬴ↄ≠-', strict=True) + + def test_uts46_2124(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6j00chy9a.xn----81n51bt713h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6j00chy9a.xn----81n51bt713h', strict=True) + + def test_uts46_2125(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug15151gkb5a.xn----81n51bt713h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug15151gkb5a.xn----81n51bt713h', strict=True) + + def test_uts46_2126(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6j00chy9a.xn----61n81bt713h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6j00chy9a.xn----61n81bt713h', strict=True) + + def test_uts46_2127(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug15151gkb5a.xn----61n81bt713h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug15151gkb5a.xn----61n81bt713h', strict=True) + + def test_uts46_2128(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߢς\u200d𝟳。蔑\U0009b5a2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߢς\u200d𝟳。蔑\U0009b5a2', strict=True) + + def test_uts46_2129(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߢς\u200d7。蔑\U0009b5a2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߢς\u200d7。蔑\U0009b5a2', strict=True) + + def test_uts46_2130(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߢΣ\u200d7。蔑\U0009b5a2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߢΣ\u200d7。蔑\U0009b5a2', strict=True) + + def test_uts46_2131(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߢσ\u200d7。蔑\U0009b5a2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߢσ\u200d7。蔑\U0009b5a2', strict=True) + + def test_uts46_2132(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7-zmb872a.xn--wy1ao4929b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7-zmb872a.xn--wy1ao4929b', strict=True) + + def test_uts46_2133(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7-zmb872aez5a.xn--wy1ao4929b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7-zmb872aez5a.xn--wy1ao4929b', strict=True) + + def test_uts46_2134(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7-xmb182aez5a.xn--wy1ao4929b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7-xmb182aez5a.xn--wy1ao4929b', strict=True) + + def test_uts46_2135(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߢΣ\u200d𝟳。蔑\U0009b5a2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߢΣ\u200d𝟳。蔑\U0009b5a2', strict=True) + + def test_uts46_2136(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߢσ\u200d𝟳。蔑\U0009b5a2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߢσ\u200d𝟳。蔑\U0009b5a2', strict=True) + + def test_uts46_2137(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹰.\u0600', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹰.\u0600', strict=True) + + def test_uts46_2138(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--oo0d.xn--ifb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--oo0d.xn--ifb', strict=True) + + def test_uts46_2139(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ࢨ.𱠖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ࢨ.𱠖', strict=True) + + def test_uts46_2140(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----mod.xn--5o9n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----mod.xn--5o9n', strict=True) + + def test_uts46_2141(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𞱸󠇀。誆⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𞱸󠇀。誆⒈', strict=True) + + def test_uts46_2142(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𞱸󠇀。誆⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𞱸󠇀。誆⒈', strict=True) + + def test_uts46_2143(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𞱸󠇀。誆1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𞱸󠇀。誆1.', strict=True) + + def test_uts46_2144(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𞱸󠇀。誆1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𞱸󠇀。誆1.', strict=True) + + def test_uts46_2145(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh7151p.xn--1-dy1d.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh7151p.xn--1-dy1d.', strict=True) + + def test_uts46_2146(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh7151p.xn--tsh1248a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh7151p.xn--tsh1248a', strict=True) + + def test_uts46_2147(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ؖ𞥙䐊ِ.︒م↺ڜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ؖ𞥙䐊ِ.︒م↺ڜ', strict=True) + + def test_uts46_2148(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ؖ𞥙䐊ِ.。م↺ڜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ؖ𞥙䐊ِ.。م↺ڜ', strict=True) + + def test_uts46_2149(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4fb0j490qjg4x..xn--hhb8o948e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4fb0j490qjg4x..xn--hhb8o948e', strict=True) + + def test_uts46_2150(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4fb0j490qjg4x.xn--hhb8o948euo5r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4fb0j490qjg4x.xn--hhb8o948euo5r', strict=True) + + def test_uts46_2151(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.\u200cૅ\U000e9e24۴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.\u200cૅ\U000e9e24۴', strict=True) + + def test_uts46_2152(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.\u200cૅ\U000e9e24۴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.\u200cૅ\U000e9e24۴', strict=True) + + def test_uts46_2153(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---?-6g4k75207c.xn--hmb76q74166b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---?-6g4k75207c.xn--hmb76q74166b', strict=True) + + def test_uts46_2154(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---?-6g4k75207c.xn--hmb76q48y18505a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---?-6g4k75207c.xn--hmb76q48y18505a', strict=True) + + def test_uts46_2155(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.xn--hmb76q74166b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.xn--hmb76q74166b', strict=True) + + def test_uts46_2156(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.xn--hmb76q74166b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.xn--hmb76q74166b', strict=True) + + def test_uts46_2157(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.XN--HMB76Q74166B', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.XN--HMB76Q74166B', strict=True) + + def test_uts46_2158(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.XN--HMB76Q74166B', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.XN--HMB76Q74166B', strict=True) + + def test_uts46_2159(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.Xn--Hmb76q74166b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.Xn--Hmb76q74166b', strict=True) + + def test_uts46_2160(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.Xn--Hmb76q74166b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.Xn--Hmb76q74166b', strict=True) + + def test_uts46_2161(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.xn--hmb76q48y18505a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.xn--hmb76q48y18505a', strict=True) + + def test_uts46_2162(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.xn--hmb76q48y18505a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.xn--hmb76q48y18505a', strict=True) + + def test_uts46_2163(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.XN--HMB76Q48Y18505A', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.XN--HMB76Q48Y18505A', strict=True) + + def test_uts46_2164(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.XN--HMB76Q48Y18505A', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.XN--HMB76Q48Y18505A', strict=True) + + def test_uts46_2165(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.Xn--Hmb76q48y18505a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.Xn--Hmb76q48y18505a', strict=True) + + def test_uts46_2166(self): + self.assertRaises(idna.IDNAError, idna.decode, '퀬-?\U00076cd2.Xn--Hmb76q48y18505a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '퀬-?\U00076cd2.Xn--Hmb76q48y18505a', strict=True) + + def test_uts46_2167(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴌ.𐹾︒𑁿\U0001ef84', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴌ.𐹾︒𑁿\U0001ef84', strict=True) + + def test_uts46_2168(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴌ.𐹾。𑁿\U0001ef84', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴌ.𐹾。𑁿\U0001ef84', strict=True) + + def test_uts46_2169(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴌ.𐹾。𑁿\U0001ef84', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴌ.𐹾。𑁿\U0001ef84', strict=True) + + def test_uts46_2170(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3kj.xn--2o0d.xn--q30dg029a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3kj.xn--2o0d.xn--q30dg029a', strict=True) + + def test_uts46_2171(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴌ.𐹾︒𑁿\U0001ef84', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴌ.𐹾︒𑁿\U0001ef84', strict=True) + + def test_uts46_2172(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3kj.xn--y86c030a9ob6374b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3kj.xn--y86c030a9ob6374b', strict=True) + + def test_uts46_2173(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--knd.xn--2o0d.xn--q30dg029a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--knd.xn--2o0d.xn--q30dg029a', strict=True) + + def test_uts46_2174(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--knd.xn--y86c030a9ob6374b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--knd.xn--y86c030a9ob6374b', strict=True) + + def test_uts46_2175(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000677bf╏。\U0001ea55\U000e007e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000677bf╏。\U0001ea55\U000e007e', strict=True) + + def test_uts46_2176(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--iyh90030d.xn--1m6hs0260c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--iyh90030d.xn--1m6hs0260c', strict=True) + + def test_uts46_2177(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d┮󠇐.ఀ్᜴\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d┮󠇐.ఀ్᜴\u200d', strict=True) + + def test_uts46_2178(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d┮󠇐.ఀ్᜴\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d┮󠇐.ఀ్᜴\u200d', strict=True) + + def test_uts46_2179(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kxh.xn--eoc8m432a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kxh.xn--eoc8m432a', strict=True) + + def test_uts46_2180(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug04r.xn--eoc8m432a40i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug04r.xn--eoc8m432a40i', strict=True) + + def test_uts46_2181(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000b96aa。🄂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000b96aa。🄂', strict=True) + + def test_uts46_2182(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000b96aa。1,', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000b96aa。1,', strict=True) + + def test_uts46_2183(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n433d.1,', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n433d.1,', strict=True) + + def test_uts46_2184(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n433d.xn--v07h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n433d.xn--v07h', strict=True) + + def test_uts46_2185(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑍨刍.🛦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑍨刍.🛦', strict=True) + + def test_uts46_2186(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rbry728b.xn--y88h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rbry728b.xn--y88h', strict=True) + + def test_uts46_2187(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e030f3。ᯱ𝟒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e030f3。ᯱ𝟒', strict=True) + + def test_uts46_2188(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e030f3。ᯱ4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e030f3。ᯱ4', strict=True) + + def test_uts46_2189(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-ib31m.xn--4-pql', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-ib31m.xn--4-pql', strict=True) + + def test_uts46_2190(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڇ6Ⴔ辘.ﴢڇ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڇ6Ⴔ辘.ﴢڇ\u200c', strict=True) + + def test_uts46_2191(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڇ6Ⴔ辘.صيڇ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڇ6Ⴔ辘.صيڇ\u200c', strict=True) + + def test_uts46_2192(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڇ6ⴔ辘.صيڇ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڇ6ⴔ辘.صيڇ\u200c', strict=True) + + def test_uts46_2193(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-gsc2270akm6f.xn--0gb6bxk', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-gsc2270akm6f.xn--0gb6bxk', strict=True) + + def test_uts46_2194(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-gsc2270akm6f.xn--0gb6bxkx18g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-gsc2270akm6f.xn--0gb6bxkx18g', strict=True) + + def test_uts46_2195(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڇ6ⴔ辘.ﴢڇ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڇ6ⴔ辘.ﴢڇ\u200c', strict=True) + + def test_uts46_2196(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-gsc039eqq6k.xn--0gb6bxk', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-gsc039eqq6k.xn--0gb6bxk', strict=True) + + def test_uts46_2197(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-gsc039eqq6k.xn--0gb6bxkx18g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-gsc039eqq6k.xn--0gb6bxkx18g', strict=True) + + def test_uts46_2198(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄍.𐮭\U0001ec2c\U000bbade۹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄍.𐮭\U0001ec2c\U000bbade۹', strict=True) + + def test_uts46_2199(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--mmb3954kd0uf1zx7f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--mmb3954kd0uf1zx7f', strict=True) + + def test_uts46_2200(self): + self.assertRaises(idna.IDNAError, idna.decode, '\ua87d≯.\U000bbc80\U00092cc4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\ua87d≯.\U000bbc80\U00092cc4', strict=True) + + def test_uts46_2201(self): + self.assertRaises(idna.IDNAError, idna.decode, '\ua87d≯.\U000bbc80\U00092cc4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\ua87d≯.\U000bbc80\U00092cc4', strict=True) + + def test_uts46_2202(self): + self.assertRaises(idna.IDNAError, idna.decode, '\ua87d≯.\U000bbc80\U00092cc4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\ua87d≯.\U000bbc80\U00092cc4', strict=True) + + def test_uts46_2203(self): + self.assertRaises(idna.IDNAError, idna.decode, '\ua87d≯.\U000bbc80\U00092cc4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\ua87d≯.\U000bbc80\U00092cc4', strict=True) + + def test_uts46_2204(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh8193c.xn--5z40cp629b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh8193c.xn--5z40cp629b', strict=True) + + def test_uts46_2205(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ςოٻ.ςܔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ςოٻ.ςܔ', strict=True) + + def test_uts46_2206(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ΣᲝٻ.Σܔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ΣᲝٻ.Σܔ', strict=True) + + def test_uts46_2207(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σოٻ.σܔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σოٻ.σܔ', strict=True) + + def test_uts46_2208(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σოٻ.σܔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σოٻ.σܔ', strict=True) + + def test_uts46_2209(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa60l26n.xn--4xa21o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa60l26n.xn--4xa21o', strict=True) + + def test_uts46_2210(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σოٻ.ςܔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σოٻ.ςܔ', strict=True) + + def test_uts46_2211(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σოٻ.ςܔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σოٻ.ςܔ', strict=True) + + def test_uts46_2212(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa60l26n.xn--3xa41o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa60l26n.xn--3xa41o', strict=True) + + def test_uts46_2213(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa80l26n.xn--3xa41o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa80l26n.xn--3xa41o', strict=True) + + def test_uts46_2214(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σოٻ.Σܔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σოٻ.Σܔ', strict=True) + + def test_uts46_2215(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0008459a݈𠄯ݟ。\U000e06e9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0008459a݈𠄯ݟ。\U000e06e9', strict=True) + + def test_uts46_2216(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0008459a݈𠄯ݟ。\U000e06e9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0008459a݈𠄯ݟ。\U000e06e9', strict=True) + + def test_uts46_2217(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vob0c4369twfv8b.xn--kl46e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vob0c4369twfv8b.xn--kl46e', strict=True) + + def test_uts46_2218(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0cdb.\u200d䤫≠Ⴞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0cdb.\u200d䤫≠Ⴞ', strict=True) + + def test_uts46_2219(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0cdb.\u200d䤫≠Ⴞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0cdb.\u200d䤫≠Ⴞ', strict=True) + + def test_uts46_2220(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0cdb.\u200d䤫≠Ⴞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0cdb.\u200d䤫≠Ⴞ', strict=True) + + def test_uts46_2221(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0cdb.\u200d䤫≠Ⴞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0cdb.\u200d䤫≠Ⴞ', strict=True) + + def test_uts46_2222(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0cdb.\u200d䤫≠ⴞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0cdb.\u200d䤫≠ⴞ', strict=True) + + def test_uts46_2223(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0cdb.\u200d䤫≠ⴞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0cdb.\u200d䤫≠ⴞ', strict=True) + + def test_uts46_2224(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1t56e.xn--1ch153bqvw', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1t56e.xn--1ch153bqvw', strict=True) + + def test_uts46_2225(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1t56e.xn--1ug73gzzpwi3a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1t56e.xn--1ug73gzzpwi3a', strict=True) + + def test_uts46_2226(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0cdb.\u200d䤫≠ⴞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0cdb.\u200d䤫≠ⴞ', strict=True) + + def test_uts46_2227(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0cdb.\u200d䤫≠ⴞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0cdb.\u200d䤫≠ⴞ', strict=True) + + def test_uts46_2228(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1t56e.xn--2nd141ghl2a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1t56e.xn--2nd141ghl2a', strict=True) + + def test_uts46_2229(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1t56e.xn--2nd159e9vb743e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1t56e.xn--2nd159e9vb743e', strict=True) + + def test_uts46_2230(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐽘𑈵.𐹣🕥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐽘𑈵.𐹣🕥', strict=True) + + def test_uts46_2231(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐽘𑈵.𐹣🕥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐽘𑈵.𐹣🕥', strict=True) + + def test_uts46_2232(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bv0d02c.xn--bo0dq650b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bv0d02c.xn--bo0dq650b', strict=True) + + def test_uts46_2233(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒊⒈𑁄。9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒊⒈𑁄。9', strict=True) + + def test_uts46_2234(self): + self.assertRaises(idna.IDNAError, idna.decode, '3.1.𑁄。9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3.1.𑁄。9', strict=True) + + def test_uts46_2235(self): + self.assertRaises(idna.IDNAError, idna.decode, '3.1.xn--110d.j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3.1.xn--110d.j', strict=True) + + def test_uts46_2236(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tshd3512p.j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tshd3512p.j', strict=True) + + def test_uts46_2237(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200cⷱ≮.𐹱\U000ad3f44₉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200cⷱ≮.𐹱\U000ad3f44₉', strict=True) + + def test_uts46_2238(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200cⷱ≮.𐹱\U000ad3f44₉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200cⷱ≮.𐹱\U000ad3f44₉', strict=True) + + def test_uts46_2239(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200cⷱ≮.𐹱\U000ad3f449', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200cⷱ≮.𐹱\U000ad3f449', strict=True) + + def test_uts46_2240(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200cⷱ≮.𐹱\U000ad3f449', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200cⷱ≮.𐹱\U000ad3f449', strict=True) + + def test_uts46_2241(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ngo823c.xn--49-ki3om2611f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ngo823c.xn--49-ki3om2611f', strict=True) + + def test_uts46_2242(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----sgn20i14s.xn--49-ki3om2611f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----sgn20i14s.xn--49-ki3om2611f', strict=True) + + def test_uts46_2243(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≯딾。ࡇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≯딾。ࡇ', strict=True) + + def test_uts46_2244(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≯딾。ࡇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≯딾。ࡇ', strict=True) + + def test_uts46_2245(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≯딾。ࡇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≯딾。ࡇ', strict=True) + + def test_uts46_2246(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≯딾。ࡇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≯딾。ࡇ', strict=True) + + def test_uts46_2247(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----pgow547d.xn--5vb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----pgow547d.xn--5vb', strict=True) + + def test_uts46_2248(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑙢⒈𐹠-。\U000e05d0\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑙢⒈𐹠-。\U000e05d0\u200c', strict=True) + + def test_uts46_2249(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑙢1.𐹠-。\U000e05d0\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑙢1.𐹠-。\U000e05d0\u200c', strict=True) + + def test_uts46_2250(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-bf0j.xn----516i.xn--jd46e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-bf0j.xn----516i.xn--jd46e', strict=True) + + def test_uts46_2251(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-bf0j.xn----516i.xn--0ug23321l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-bf0j.xn----516i.xn--0ug23321l', strict=True) + + def test_uts46_2252(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----dcpy090hiyg.xn--jd46e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----dcpy090hiyg.xn--jd46e', strict=True) + + def test_uts46_2253(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----dcpy090hiyg.xn--0ug23321l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----dcpy090hiyg.xn--0ug23321l', strict=True) + + def test_uts46_2254(self): + self.assertRaises(idna.IDNAError, idna.decode, '͊.𐨎', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '͊.𐨎', strict=True) + + def test_uts46_2255(self): + self.assertRaises(idna.IDNAError, idna.decode, '͊.𐨎', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '͊.𐨎', strict=True) + + def test_uts46_2256(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--oua.xn--mr9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--oua.xn--mr9c', strict=True) + + def test_uts46_2257(self): + self.assertRaises(idna.IDNAError, idna.decode, '훉≮。ิ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '훉≮。ิ', strict=True) + + def test_uts46_2258(self): + self.assertRaises(idna.IDNAError, idna.decode, '훉≮。ิ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '훉≮。ิ', strict=True) + + def test_uts46_2259(self): + self.assertRaises(idna.IDNAError, idna.decode, '훉≮。ิ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '훉≮。ิ', strict=True) + + def test_uts46_2260(self): + self.assertRaises(idna.IDNAError, idna.decode, '훉≮。ิ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '훉≮。ิ', strict=True) + + def test_uts46_2261(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh2512e.xn--i4c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh2512e.xn--i4c', strict=True) + + def test_uts46_2262(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⷷ\U0009e8c9🃘.\U00034207𝟸ٙ𞤯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⷷ\U0009e8c9🃘.\U00034207𝟸ٙ𞤯', strict=True) + + def test_uts46_2263(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⷷ\U0009e8c9🃘.\U000342072ٙ𞤯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⷷ\U0009e8c9🃘.\U000342072ٙ𞤯', strict=True) + + def test_uts46_2264(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⷷ\U0009e8c9🃘.\U000342072ٙ𞤍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⷷ\U0009e8c9🃘.\U000342072ٙ𞤍', strict=True) + + def test_uts46_2265(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--trj8045le6s9b.xn--2-upc23918acjsj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--trj8045le6s9b.xn--2-upc23918acjsj', strict=True) + + def test_uts46_2266(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⷷ\U0009e8c9🃘.\U00034207𝟸ٙ𞤍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⷷ\U0009e8c9🃘.\U00034207𝟸ٙ𞤍', strict=True) + + def test_uts46_2267(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d71e9ßᢞ\u200c。٠\U0001edfbﳔ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d71e9ßᢞ\u200c。٠\U0001edfbﳔ-', strict=True) + + def test_uts46_2268(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d71e9ßᢞ\u200c。٠\U0001edfbنخ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d71e9ßᢞ\u200c。٠\U0001edfbنخ-', strict=True) + + def test_uts46_2269(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d71e9SSᢞ\u200c。٠\U0001edfbنخ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d71e9SSᢞ\u200c。٠\U0001edfbنخ-', strict=True) + + def test_uts46_2270(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d71e9ssᢞ\u200c。٠\U0001edfbنخ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d71e9ssᢞ\u200c。٠\U0001edfbنخ-', strict=True) + + def test_uts46_2271(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d71e9Ssᢞ\u200c。٠\U0001edfbنخ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d71e9Ssᢞ\u200c。٠\U0001edfbنخ-', strict=True) + + def test_uts46_2272(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-jepz4596r.xn----dnc5e1er384z', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-jepz4596r.xn----dnc5e1er384z', strict=True) + + def test_uts46_2273(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-jep006bqt765b.xn----dnc5e1er384z', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-jep006bqt765b.xn----dnc5e1er384z', strict=True) + + def test_uts46_2274(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca272jbif10059a.xn----dnc5e1er384z', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca272jbif10059a.xn----dnc5e1er384z', strict=True) + + def test_uts46_2275(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d71e9SSᢞ\u200c。٠\U0001edfbﳔ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d71e9SSᢞ\u200c。٠\U0001edfbﳔ-', strict=True) + + def test_uts46_2276(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d71e9ssᢞ\u200c。٠\U0001edfbﳔ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d71e9ssᢞ\u200c。٠\U0001edfbﳔ-', strict=True) + + def test_uts46_2277(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d71e9Ssᢞ\u200c。٠\U0001edfbﳔ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d71e9Ssᢞ\u200c。٠\U0001edfbﳔ-', strict=True) + + def test_uts46_2278(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡆ。Ↄྵ놮-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡆ。Ↄྵ놮-', strict=True) + + def test_uts46_2279(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡆ。Ↄྵ놮-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡆ。Ↄྵ놮-', strict=True) + + def test_uts46_2280(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡆ。ↄྵ놮-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡆ。ↄྵ놮-', strict=True) + + def test_uts46_2281(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡆ。ↄྵ놮-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡆ。ↄྵ놮-', strict=True) + + def test_uts46_2282(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fc9a.xn----qmg097k469k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fc9a.xn----qmg097k469k', strict=True) + + def test_uts46_2283(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fc9a.xn----qmg787k869k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fc9a.xn----qmg787k869k', strict=True) + + def test_uts46_2284(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﶭ\u200d.\U00065c0cک', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﶭ\u200d.\U00065c0cک', strict=True) + + def test_uts46_2285(self): + self.assertRaises(idna.IDNAError, idna.decode, 'لمي\u200d.\U00065c0cک', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'لمي\u200d.\U00065c0cک', strict=True) + + def test_uts46_2286(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ghbcp.xn--ckb36214f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ghbcp.xn--ckb36214f', strict=True) + + def test_uts46_2287(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ghbcp494x.xn--ckb36214f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ghbcp494x.xn--ckb36214f', strict=True) + + def test_uts46_2288(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴜᰯ𐳒≯。۠ᜲྺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴜᰯ𐳒≯。۠ᜲྺ', strict=True) + + def test_uts46_2289(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴜᰯ𐳒≯。۠ᜲྺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴜᰯ𐳒≯。۠ᜲྺ', strict=True) + + def test_uts46_2290(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴜᰯ𐳒≯。۠ᜲྺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴜᰯ𐳒≯。۠ᜲྺ', strict=True) + + def test_uts46_2291(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴜᰯ𐳒≯。۠ᜲྺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴜᰯ𐳒≯。۠ᜲྺ', strict=True) + + def test_uts46_2292(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴜᰯ𐲒≯。۠ᜲྺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴜᰯ𐲒≯。۠ᜲྺ', strict=True) + + def test_uts46_2293(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴜᰯ𐲒≯。۠ᜲྺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴜᰯ𐲒≯。۠ᜲྺ', strict=True) + + def test_uts46_2294(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--r1f68xh1jgv7u.xn--wlb646b4ng', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--r1f68xh1jgv7u.xn--wlb646b4ng', strict=True) + + def test_uts46_2295(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0nd679cf3eq67y.xn--wlb646b4ng', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0nd679cf3eq67y.xn--wlb646b4ng', strict=True) + + def test_uts46_2296(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋵。ﳬ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋵。ﳬ', strict=True) + + def test_uts46_2297(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋵。كم', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋵。كم', strict=True) + + def test_uts46_2298(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--p97c.xn--fhbe', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--p97c.xn--fhbe', strict=True) + + def test_uts46_2299(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋵.كم', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋵.كم', strict=True) + + def test_uts46_2300(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮\U0001d176.\U00071c81ꫬ⹈\U000f096d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮\U0001d176.\U00071c81ꫬ⹈\U000f096d', strict=True) + + def test_uts46_2301(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮\U0001d176.\U00071c81ꫬ⹈\U000f096d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮\U0001d176.\U00071c81ꫬ⹈\U000f096d', strict=True) + + def test_uts46_2302(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮\U0001d176.\U00071c81ꫬ⹈\U000f096d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮\U0001d176.\U00071c81ꫬ⹈\U000f096d', strict=True) + + def test_uts46_2303(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮\U0001d176.\U00071c81ꫬ⹈\U000f096d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮\U0001d176.\U00071c81ꫬ⹈\U000f096d', strict=True) + + def test_uts46_2304(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh.xn--4tjx101bsg00ds9pyc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh.xn--4tjx101bsg00ds9pyc', strict=True) + + def test_uts46_2305(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh0880o.xn--4tjx101bsg00ds9pyc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh0880o.xn--4tjx101bsg00ds9pyc', strict=True) + + def test_uts46_2306(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⷰ͘ᢕ.͡𐹷\U000e0d0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⷰ͘ᢕ.͡𐹷\U000e0d0d', strict=True) + + def test_uts46_2307(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⷰ͘ᢕ.͡𐹷\U000e0d0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⷰ͘ᢕ.͡𐹷\U000e0d0d', strict=True) + + def test_uts46_2308(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2ua889htsp.xn--cva2687k2tv0g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2ua889htsp.xn--cva2687k2tv0g', strict=True) + + def test_uts46_2309(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﵹᡐ\u200cڭ.𑋪ׇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﵹᡐ\u200cڭ.𑋪ׇ', strict=True) + + def test_uts46_2310(self): + self.assertRaises(idna.IDNAError, idna.decode, 'غممᡐ\u200cڭ.𑋪ׇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'غممᡐ\u200cڭ.𑋪ׇ', strict=True) + + def test_uts46_2311(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5gbwa03bg24e.xn--vdb1198k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5gbwa03bg24e.xn--vdb1198k', strict=True) + + def test_uts46_2312(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5gbwa03bg24eptk.xn--vdb1198k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5gbwa03bg24eptk.xn--vdb1198k', strict=True) + + def test_uts46_2313(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑑂。\u200d\U000e5780🞕\U000a5054', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑑂。\u200d\U000e5780🞕\U000a5054', strict=True) + + def test_uts46_2314(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑑂。\u200d\U000e5780🞕\U000a5054', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑑂。\u200d\U000e5780🞕\U000a5054', strict=True) + + def test_uts46_2315(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8v1d.xn--ye9h41035a2qqs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8v1d.xn--ye9h41035a2qqs', strict=True) + + def test_uts46_2316(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8v1d.xn--1ug1386plvx1cd8vya', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8v1d.xn--1ug1386plvx1cd8vya', strict=True) + + def test_uts46_2317(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ש。⒚', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ש。⒚', strict=True) + + def test_uts46_2318(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ש。19.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ש。19.', strict=True) + + def test_uts46_2319(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----gjc.1j.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----gjc.1j.', strict=True) + + def test_uts46_2320(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----gjc.xn--cth', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----gjc.xn--cth', strict=True) + + def test_uts46_2321(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0010afbbࡅ\u200c。ᢎ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0010afbbࡅ\u200c。ᢎ\u200d', strict=True) + + def test_uts46_2322(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0010afbbࡅ\u200c。ᢎ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0010afbbࡅ\u200c。ᢎ\u200d', strict=True) + + def test_uts46_2323(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3vb50049s.xn--79e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3vb50049s.xn--79e', strict=True) + + def test_uts46_2324(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3vb882jz4411a.xn--79e259a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3vb882jz4411a.xn--79e259a', strict=True) + + def test_uts46_2325(self): + self.assertEqual(idna.decode('ßুᷭ。ؠ8₅', uts46=True, strict=True), 'ßুᷭ.ؠ85') + self.assertEqual(idna.encode('ßুᷭ。ؠ8₅', uts46=True, strict=True), b'xn--zca266bwrr.xn--85-psd') + + def test_uts46_2326(self): + self.assertEqual(idna.decode('ßুᷭ。ؠ85', uts46=True, strict=True), 'ßুᷭ.ؠ85') + self.assertEqual(idna.encode('ßুᷭ。ؠ85', uts46=True, strict=True), b'xn--zca266bwrr.xn--85-psd') + + def test_uts46_2327(self): + self.assertEqual(idna.decode('SSুᷭ。ؠ85', uts46=True, strict=True), 'ssুᷭ.ؠ85') + self.assertEqual(idna.encode('SSুᷭ。ؠ85', uts46=True, strict=True), b'xn--ss-e2f077r.xn--85-psd') + + def test_uts46_2328(self): + self.assertEqual(idna.decode('ssুᷭ。ؠ85', uts46=True, strict=True), 'ssুᷭ.ؠ85') + self.assertEqual(idna.encode('ssুᷭ。ؠ85', uts46=True, strict=True), b'xn--ss-e2f077r.xn--85-psd') + + def test_uts46_2329(self): + self.assertEqual(idna.decode('Ssুᷭ。ؠ85', uts46=True, strict=True), 'ssুᷭ.ؠ85') + self.assertEqual(idna.encode('Ssুᷭ。ؠ85', uts46=True, strict=True), b'xn--ss-e2f077r.xn--85-psd') + + def test_uts46_2330(self): + self.assertEqual(idna.decode('xn--ss-e2f077r.xn--85-psd', uts46=True, strict=True), 'ssুᷭ.ؠ85') + self.assertEqual(idna.encode('xn--ss-e2f077r.xn--85-psd', uts46=True, strict=True), b'xn--ss-e2f077r.xn--85-psd') + + def test_uts46_2331(self): + self.assertEqual(idna.decode('ssুᷭ.ؠ85', uts46=True, strict=True), 'ssুᷭ.ؠ85') + self.assertEqual(idna.encode('ssুᷭ.ؠ85', uts46=True, strict=True), b'xn--ss-e2f077r.xn--85-psd') + + def test_uts46_2332(self): + self.assertEqual(idna.decode('SSুᷭ.ؠ85', uts46=True, strict=True), 'ssুᷭ.ؠ85') + self.assertEqual(idna.encode('SSুᷭ.ؠ85', uts46=True, strict=True), b'xn--ss-e2f077r.xn--85-psd') + + def test_uts46_2333(self): + self.assertEqual(idna.decode('Ssুᷭ.ؠ85', uts46=True, strict=True), 'ssুᷭ.ؠ85') + self.assertEqual(idna.encode('Ssুᷭ.ؠ85', uts46=True, strict=True), b'xn--ss-e2f077r.xn--85-psd') + + def test_uts46_2334(self): + self.assertEqual(idna.decode('xn--zca266bwrr.xn--85-psd', uts46=True, strict=True), 'ßুᷭ.ؠ85') + self.assertEqual(idna.encode('xn--zca266bwrr.xn--85-psd', uts46=True, strict=True), b'xn--zca266bwrr.xn--85-psd') + + def test_uts46_2335(self): + self.assertEqual(idna.decode('ßুᷭ.ؠ85', uts46=True, strict=True), 'ßুᷭ.ؠ85') + self.assertEqual(idna.encode('ßুᷭ.ؠ85', uts46=True, strict=True), b'xn--zca266bwrr.xn--85-psd') + + def test_uts46_2336(self): + self.assertEqual(idna.decode('SSুᷭ。ؠ8₅', uts46=True, strict=True), 'ssুᷭ.ؠ85') + self.assertEqual(idna.encode('SSুᷭ。ؠ8₅', uts46=True, strict=True), b'xn--ss-e2f077r.xn--85-psd') + + def test_uts46_2337(self): + self.assertEqual(idna.decode('ssুᷭ。ؠ8₅', uts46=True, strict=True), 'ssুᷭ.ؠ85') + self.assertEqual(idna.encode('ssুᷭ。ؠ8₅', uts46=True, strict=True), b'xn--ss-e2f077r.xn--85-psd') + + def test_uts46_2338(self): + self.assertEqual(idna.decode('Ssুᷭ。ؠ8₅', uts46=True, strict=True), 'ssুᷭ.ؠ85') + self.assertEqual(idna.encode('Ssুᷭ。ؠ8₅', uts46=True, strict=True), b'xn--ss-e2f077r.xn--85-psd') + + def test_uts46_2339(self): + self.assertRaises(idna.IDNAError, idna.decode, '્҄魅𝟣.₃𐹥ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્҄魅𝟣.₃𐹥ß', strict=True) + + def test_uts46_2340(self): + self.assertRaises(idna.IDNAError, idna.decode, '્҄魅1.3𐹥ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્҄魅1.3𐹥ß', strict=True) + + def test_uts46_2341(self): + self.assertRaises(idna.IDNAError, idna.decode, '્҄魅1.3𐹥SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્҄魅1.3𐹥SS', strict=True) + + def test_uts46_2342(self): + self.assertRaises(idna.IDNAError, idna.decode, '્҄魅1.3𐹥ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્҄魅1.3𐹥ss', strict=True) + + def test_uts46_2343(self): + self.assertRaises(idna.IDNAError, idna.decode, '્҄魅1.3𐹥Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્҄魅1.3𐹥Ss', strict=True) + + def test_uts46_2344(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-0xb049b102o.xn--3ss-nv9t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-0xb049b102o.xn--3ss-nv9t', strict=True) + + def test_uts46_2345(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-0xb049b102o.xn--3-qfa7018r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-0xb049b102o.xn--3-qfa7018r', strict=True) + + def test_uts46_2346(self): + self.assertRaises(idna.IDNAError, idna.decode, '્҄魅𝟣.₃𐹥SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્҄魅𝟣.₃𐹥SS', strict=True) + + def test_uts46_2347(self): + self.assertRaises(idna.IDNAError, idna.decode, '્҄魅𝟣.₃𐹥ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્҄魅𝟣.₃𐹥ss', strict=True) + + def test_uts46_2348(self): + self.assertRaises(idna.IDNAError, idna.decode, '્҄魅𝟣.₃𐹥Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્҄魅𝟣.₃𐹥Ss', strict=True) + + def test_uts46_2349(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܫ。𑓂⒈𑜫\U000e0ffb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܫ。𑓂⒈𑜫\U000e0ffb', strict=True) + + def test_uts46_2350(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܫ。𑓂1.𑜫\U000e0ffb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܫ。𑓂1.𑜫\U000e0ffb', strict=True) + + def test_uts46_2351(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1nb.xn--1-jq9i.xn--ji2dg9877c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1nb.xn--1-jq9i.xn--ji2dg9877c', strict=True) + + def test_uts46_2352(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1nb.xn--tsh7798f6rbrt828c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1nb.xn--tsh7798f6rbrt828c', strict=True) + + def test_uts46_2353(self): + self.assertEqual(idna.decode('︍છ。嵨', uts46=True, strict=True), 'છ.嵨') + self.assertEqual(idna.encode('︍છ。嵨', uts46=True, strict=True), b'xn--6dc.xn--tot') + + def test_uts46_2354(self): + self.assertEqual(idna.decode('xn--6dc.xn--tot', uts46=True, strict=True), 'છ.嵨') + self.assertEqual(idna.encode('xn--6dc.xn--tot', uts46=True, strict=True), b'xn--6dc.xn--tot') + + def test_uts46_2355(self): + self.assertEqual(idna.decode('છ.嵨', uts46=True, strict=True), 'છ.嵨') + self.assertEqual(idna.encode('છ.嵨', uts46=True, strict=True), b'xn--6dc.xn--tot') + + def test_uts46_2356(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴔ≠Ⴀ.𐹥𐹰', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴔ≠Ⴀ.𐹥𐹰', strict=True) + + def test_uts46_2357(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴔ≠Ⴀ.𐹥𐹰', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴔ≠Ⴀ.𐹥𐹰', strict=True) + + def test_uts46_2358(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴔ≠ⴀ.𐹥𐹰', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴔ≠ⴀ.𐹥𐹰', strict=True) + + def test_uts46_2359(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴔ≠ⴀ.𐹥𐹰', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴔ≠ⴀ.𐹥𐹰', strict=True) + + def test_uts46_2360(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch603bxb.xn--do0dwa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch603bxb.xn--do0dwa', strict=True) + + def test_uts46_2361(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7md3b171g.xn--do0dwa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7md3b171g.xn--do0dwa', strict=True) + + def test_uts46_2362(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200c⒙𐫥。𝨵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200c⒙𐫥。𝨵', strict=True) + + def test_uts46_2363(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200c18.𐫥。𝨵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200c18.𐫥。𝨵', strict=True) + + def test_uts46_2364(self): + self.assertRaises(idna.IDNAError, idna.decode, '-18.xn--rx9c.xn--382h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-18.xn--rx9c.xn--382h', strict=True) + + def test_uts46_2365(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---18-9m0a.xn--rx9c.xn--382h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---18-9m0a.xn--rx9c.xn--382h', strict=True) + + def test_uts46_2366(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ddps939g.xn--382h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ddps939g.xn--382h', strict=True) + + def test_uts46_2367(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----sgn18r3191a.xn--382h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----sgn18r3191a.xn--382h', strict=True) + + def test_uts46_2368(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒.ʌᠣ-𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒.ʌᠣ-𐹽', strict=True) + + def test_uts46_2369(self): + self.assertRaises(idna.IDNAError, idna.decode, '。.ʌᠣ-𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。.ʌᠣ-𐹽', strict=True) + + def test_uts46_2370(self): + self.assertRaises(idna.IDNAError, idna.decode, '。.Ʌᠣ-𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。.Ʌᠣ-𐹽', strict=True) + + def test_uts46_2371(self): + self.assertRaises(idna.IDNAError, idna.decode, '..xn----73a596nuh9t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '..xn----73a596nuh9t', strict=True) + + def test_uts46_2372(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒.Ʌᠣ-𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒.Ʌᠣ-𐹽', strict=True) + + def test_uts46_2373(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y86c.xn----73a596nuh9t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y86c.xn----73a596nuh9t', strict=True) + + def test_uts46_2374(self): + self.assertRaises(idna.IDNAError, idna.decode, '︅︒。𦀾᳠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︅︒。𦀾᳠', strict=True) + + def test_uts46_2375(self): + self.assertRaises(idna.IDNAError, idna.decode, '︅。。𦀾᳠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︅。。𦀾᳠', strict=True) + + def test_uts46_2376(self): + self.assertRaises(idna.IDNAError, idna.decode, '..xn--t6f5138v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '..xn--t6f5138v', strict=True) + + def test_uts46_2377(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y86c.xn--t6f5138v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y86c.xn--t6f5138v', strict=True) + + def test_uts46_2378(self): + self.assertEqual(idna.decode('xn--t6f5138v', uts46=True, strict=True), '𦀾᳠') + self.assertEqual(idna.encode('xn--t6f5138v', uts46=True, strict=True), b'xn--t6f5138v') + + def test_uts46_2379(self): + self.assertEqual(idna.decode('𦀾᳠', uts46=True, strict=True), '𦀾᳠') + self.assertEqual(idna.encode('𦀾᳠', uts46=True, strict=True), b'xn--t6f5138v') + + def test_uts46_2380(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001eb91ß\U0010f79e。ᡁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001eb91ß\U0010f79e。ᡁ', strict=True) + + def test_uts46_2381(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001eb91SS\U0010f79e。ᡁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001eb91SS\U0010f79e。ᡁ', strict=True) + + def test_uts46_2382(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001eb91ss\U0010f79e。ᡁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001eb91ss\U0010f79e。ᡁ', strict=True) + + def test_uts46_2383(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001eb91Ss\U0010f79e。ᡁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001eb91Ss\U0010f79e。ᡁ', strict=True) + + def test_uts46_2384(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-o412ac6305g.xn--07e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-o412ac6305g.xn--07e', strict=True) + + def test_uts46_2385(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca9432wb989f.xn--07e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca9432wb989f.xn--07e', strict=True) + + def test_uts46_2386(self): + self.assertRaises(idna.IDNAError, idna.decode, '꥓\u200dج٬。𱆎\U000fb85f\u200c󠅆', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꥓\u200dج٬。𱆎\U000fb85f\u200c󠅆', strict=True) + + def test_uts46_2387(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rgb2k6711c.xn--ec8nj3948b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rgb2k6711c.xn--ec8nj3948b', strict=True) + + def test_uts46_2388(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rgb2k500fhq9j.xn--0ug78870a5sp9d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rgb2k500fhq9j.xn--0ug78870a5sp9d', strict=True) + + def test_uts46_2389(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-ß\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-ß\u200c≠', strict=True) + + def test_uts46_2390(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-ß\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-ß\u200c≠', strict=True) + + def test_uts46_2391(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-ß\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-ß\u200c≠', strict=True) + + def test_uts46_2392(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-ß\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-ß\u200c≠', strict=True) + + def test_uts46_2393(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-SS\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-SS\u200c≠', strict=True) + + def test_uts46_2394(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-SS\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-SS\u200c≠', strict=True) + + def test_uts46_2395(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-ss\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-ss\u200c≠', strict=True) + + def test_uts46_2396(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-ss\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-ss\u200c≠', strict=True) + + def test_uts46_2397(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-Ss\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-Ss\u200c≠', strict=True) + + def test_uts46_2398(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-Ss\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-Ss\u200c≠', strict=True) + + def test_uts46_2399(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--u836e.xn---ss-gl2a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--u836e.xn---ss-gl2a', strict=True) + + def test_uts46_2400(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--u836e.xn---ss-cn0at5l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--u836e.xn---ss-cn0at5l', strict=True) + + def test_uts46_2401(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--u836e.xn----qfa750ve7b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--u836e.xn----qfa750ve7b', strict=True) + + def test_uts46_2402(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-SS\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-SS\u200c≠', strict=True) + + def test_uts46_2403(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-SS\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-SS\u200c≠', strict=True) + + def test_uts46_2404(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-ss\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-ss\u200c≠', strict=True) + + def test_uts46_2405(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-ss\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-ss\u200c≠', strict=True) + + def test_uts46_2406(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-Ss\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-Ss\u200c≠', strict=True) + + def test_uts46_2407(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e054f.-Ss\u200c≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e054f.-Ss\u200c≠', strict=True) + + def test_uts46_2408(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡙ\u200c。≯𐋲≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡙ\u200c。≯𐋲≠', strict=True) + + def test_uts46_2409(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡙ\u200c。≯𐋲≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡙ\u200c。≯𐋲≠', strict=True) + + def test_uts46_2410(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡙ\u200c。≯𐋲≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡙ\u200c。≯𐋲≠', strict=True) + + def test_uts46_2411(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡙ\u200c。≯𐋲≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡙ\u200c。≯𐋲≠', strict=True) + + def test_uts46_2412(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--p8e.xn--1ch3a7084l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--p8e.xn--1ch3a7084l', strict=True) + + def test_uts46_2413(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡙ.≯𐋲≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡙ.≯𐋲≠', strict=True) + + def test_uts46_2414(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡙ.≯𐋲≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡙ.≯𐋲≠', strict=True) + + def test_uts46_2415(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--p8e650b.xn--1ch3a7084l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--p8e650b.xn--1ch3a7084l', strict=True) + + def test_uts46_2416(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹧𞲄\U000e006d\U00046f29。͎🄀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹧𞲄\U000e006d\U00046f29。͎🄀', strict=True) + + def test_uts46_2417(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹧𞲄\U000e006d\U00046f29。͎0.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹧𞲄\U000e006d\U00046f29。͎0.', strict=True) + + def test_uts46_2418(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fo0dw409aq58qrn69d.xn--0-bgb.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fo0dw409aq58qrn69d.xn--0-bgb.', strict=True) + + def test_uts46_2419(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fo0dw409aq58qrn69d.xn--sua6883w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fo0dw409aq58qrn69d.xn--sua6883w', strict=True) + + def test_uts46_2420(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴄ.\u200dܡ\U000fb8cbς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴄ.\u200dܡ\U000fb8cbς', strict=True) + + def test_uts46_2421(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴄ.\u200dܡ\U000fb8cbς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴄ.\u200dܡ\U000fb8cbς', strict=True) + + def test_uts46_2422(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴄ.\u200dܡ\U000fb8cbς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴄ.\u200dܡ\U000fb8cbς', strict=True) + + def test_uts46_2423(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴄ.\u200dܡ\U000fb8cbΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴄ.\u200dܡ\U000fb8cbΣ', strict=True) + + def test_uts46_2424(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴄ.\u200dܡ\U000fb8cbσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴄ.\u200dܡ\U000fb8cbσ', strict=True) + + def test_uts46_2425(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vkj.xn--4xa73ob5892c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vkj.xn--4xa73ob5892c', strict=True) + + def test_uts46_2426(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vkj.xn--4xa73o3t5ajq467a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vkj.xn--4xa73o3t5ajq467a', strict=True) + + def test_uts46_2427(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vkj.xn--3xa93o3t5ajq467a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vkj.xn--3xa93o3t5ajq467a', strict=True) + + def test_uts46_2428(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴄ.\u200dܡ\U000fb8cbς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴄ.\u200dܡ\U000fb8cbς', strict=True) + + def test_uts46_2429(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴄ.\u200dܡ\U000fb8cbΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴄ.\u200dܡ\U000fb8cbΣ', strict=True) + + def test_uts46_2430(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴄ.\u200dܡ\U000fb8cbσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴄ.\u200dܡ\U000fb8cbσ', strict=True) + + def test_uts46_2431(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cnd.xn--4xa73ob5892c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cnd.xn--4xa73ob5892c', strict=True) + + def test_uts46_2432(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cnd.xn--4xa73o3t5ajq467a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cnd.xn--4xa73o3t5ajq467a', strict=True) + + def test_uts46_2433(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cnd.xn--3xa93o3t5ajq467a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cnd.xn--3xa93o3t5ajq467a', strict=True) + + def test_uts46_2434(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000aed5bؓ.Ⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000aed5bؓ.Ⴕ', strict=True) + + def test_uts46_2435(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000aed5bؓ.ⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000aed5bؓ.ⴕ', strict=True) + + def test_uts46_2436(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1fb94204l.xn--dlj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1fb94204l.xn--dlj', strict=True) + + def test_uts46_2437(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1fb94204l.xn--tnd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1fb94204l.xn--tnd', strict=True) + + def test_uts46_2438(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯ᷳ𞤥。\u200c꣄\U000e0a89\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯ᷳ𞤥。\u200c꣄\U000e0a89\u200d', strict=True) + + def test_uts46_2439(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯ᷳ𞤥。\u200c꣄\U000e0a89\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯ᷳ𞤥。\u200c꣄\U000e0a89\u200d', strict=True) + + def test_uts46_2440(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯ᷳ𞤃。\u200c꣄\U000e0a89\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯ᷳ𞤃。\u200c꣄\U000e0a89\u200d', strict=True) + + def test_uts46_2441(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯ᷳ𞤃。\u200c꣄\U000e0a89\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯ᷳ𞤃。\u200c꣄\U000e0a89\u200d', strict=True) + + def test_uts46_2442(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ofg13qyr21c.xn--0f9au6706d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ofg13qyr21c.xn--0f9au6706d', strict=True) + + def test_uts46_2443(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ofg13qyr21c.xn--0ugc0116hix29k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ofg13qyr21c.xn--0ugc0116hix29k', strict=True) + + def test_uts46_2444(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c󠄷。\U00092441', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c󠄷。\U00092441', strict=True) + + def test_uts46_2445(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c󠄷。\U00092441', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c󠄷。\U00092441', strict=True) + + def test_uts46_2446(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--w720c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--w720c', strict=True) + + def test_uts46_2447(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--w720c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--w720c', strict=True) + + def test_uts46_2448(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈ූ焅.\U000d7859\u200dꡟ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈ූ焅.\U000d7859\u200dꡟ', strict=True) + + def test_uts46_2449(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.ූ焅.\U000d7859\u200dꡟ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.ූ焅.\U000d7859\u200dꡟ', strict=True) + + def test_uts46_2450(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--t1c6981c.xn--4c9a21133d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--t1c6981c.xn--4c9a21133d', strict=True) + + def test_uts46_2451(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--t1c6981c.xn--1ugz184c9lw7i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--t1c6981c.xn--1ugz184c9lw7i', strict=True) + + def test_uts46_2452(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--t1c337io97c.xn--4c9a21133d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--t1c337io97c.xn--4c9a21133d', strict=True) + + def test_uts46_2453(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--t1c337io97c.xn--1ugz184c9lw7i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--t1c337io97c.xn--1ugz184c9lw7i', strict=True) + + def test_uts46_2454(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍ς≮.ς𝪦𞤕0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍ς≮.ς𝪦𞤕0', strict=True) + + def test_uts46_2455(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍ς≮.ς𝪦𞤕0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍ς≮.ς𝪦𞤕0', strict=True) + + def test_uts46_2456(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍ς≮.ς𝪦𞤷0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍ς≮.ς𝪦𞤷0', strict=True) + + def test_uts46_2457(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍ς≮.ς𝪦𞤷0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍ς≮.ς𝪦𞤷0', strict=True) + + def test_uts46_2458(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍Σ≮.Σ𝪦𞤕0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍Σ≮.Σ𝪦𞤕0', strict=True) + + def test_uts46_2459(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍Σ≮.Σ𝪦𞤕0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍Σ≮.Σ𝪦𞤕0', strict=True) + + def test_uts46_2460(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍σ≮.σ𝪦𞤷0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍σ≮.σ𝪦𞤷0', strict=True) + + def test_uts46_2461(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍σ≮.σ𝪦𞤷0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍σ≮.σ𝪦𞤷0', strict=True) + + def test_uts46_2462(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍Σ≮.Σ𝪦𞤷0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍Σ≮.Σ𝪦𞤷0', strict=True) + + def test_uts46_2463(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍Σ≮.Σ𝪦𞤷0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍Σ≮.Σ𝪦𞤷0', strict=True) + + def test_uts46_2464(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa544kvid.xn--0-zmb55727aggma', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa544kvid.xn--0-zmb55727aggma', strict=True) + + def test_uts46_2465(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa744kvid.xn--0-xmb85727aggma', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa744kvid.xn--0-xmb85727aggma', strict=True) + + def test_uts46_2466(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍σ≮.σ𝪦𞤕0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍σ≮.σ𝪦𞤕0', strict=True) + + def test_uts46_2467(self): + self.assertRaises(idna.IDNAError, idna.decode, '᷍σ≮.σ𝪦𞤕0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᷍σ≮.σ𝪦𞤕0', strict=True) + + def test_uts46_2468(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a29beßֹ𐫙.֭ࢡ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a29beßֹ𐫙.֭ࢡ', strict=True) + + def test_uts46_2469(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a29beSSֹ𐫙.֭ࢡ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a29beSSֹ𐫙.֭ࢡ', strict=True) + + def test_uts46_2470(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a29bessֹ𐫙.֭ࢡ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a29bessֹ𐫙.֭ࢡ', strict=True) + + def test_uts46_2471(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a29beSsֹ𐫙.֭ࢡ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a29beSsֹ𐫙.֭ࢡ', strict=True) + + def test_uts46_2472(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-xjd6058xlz50g.xn--4cb62m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-xjd6058xlz50g.xn--4cb62m', strict=True) + + def test_uts46_2473(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca89v339zj118e.xn--4cb62m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca89v339zj118e.xn--4cb62m', strict=True) + + def test_uts46_2474(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𞣄。⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𞣄。⒈', strict=True) + + def test_uts46_2475(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𞣄。1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𞣄。1.', strict=True) + + def test_uts46_2476(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----xc8r.b.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----xc8r.b.', strict=True) + + def test_uts46_2477(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----xc8r.xn--tsh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----xc8r.xn--tsh', strict=True) + + def test_uts46_2478(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00048822𐫖𝟡。ؾ𑘿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00048822𐫖𝟡。ؾ𑘿', strict=True) + + def test_uts46_2479(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00048822𐫖9。ؾ𑘿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00048822𐫖9。ؾ𑘿', strict=True) + + def test_uts46_2480(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-el5iv442t.xn--9gb0830l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-el5iv442t.xn--9gb0830l', strict=True) + + def test_uts46_2481(self): + self.assertRaises(idna.IDNAError, idna.decode, '٨ﲌ٨ᩝ.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٨ﲌ٨ᩝ.\u200d', strict=True) + + def test_uts46_2482(self): + self.assertRaises(idna.IDNAError, idna.decode, '٨نم٨ᩝ.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٨نم٨ᩝ.\u200d', strict=True) + + def test_uts46_2483(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hhbb5hc956w.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hhbb5hc956w.', strict=True) + + def test_uts46_2484(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hhbb5hc956w.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hhbb5hc956w.xn--1ug', strict=True) + + def test_uts46_2485(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟘.Ⴇ\U000c0cd1ﵐ\U0006b0f1', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟘.Ⴇ\U000c0cd1ﵐ\U0006b0f1', strict=True) + + def test_uts46_2486(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.Ⴇ\U000c0cd1تجم\U0006b0f1', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.Ⴇ\U000c0cd1تجم\U0006b0f1', strict=True) + + def test_uts46_2487(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.ⴇ\U000c0cd1تجم\U0006b0f1', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.ⴇ\U000c0cd1تجم\U0006b0f1', strict=True) + + def test_uts46_2488(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.xn--pgbe9ez79qd207lvff8b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.xn--pgbe9ez79qd207lvff8b', strict=True) + + def test_uts46_2489(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟘.ⴇ\U000c0cd1ﵐ\U0006b0f1', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟘.ⴇ\U000c0cd1ﵐ\U0006b0f1', strict=True) + + def test_uts46_2490(self): + self.assertRaises(idna.IDNAError, idna.decode, '0.xn--pgbe9e344c2725svff8b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0.xn--pgbe9e344c2725svff8b', strict=True) + + def test_uts46_2491(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑇀▍.⁞ᠰ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑇀▍.⁞ᠰ', strict=True) + + def test_uts46_2492(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9zh3057f.xn--j7e103b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9zh3057f.xn--j7e103b', strict=True) + + def test_uts46_2493(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d-ٺ.\U0008fbe9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d-ٺ.\U0008fbe9', strict=True) + + def test_uts46_2494(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----qrc.xn--ts49b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----qrc.xn--ts49b', strict=True) + + def test_uts46_2495(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----qrc357q.xn--ts49b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----qrc357q.xn--ts49b', strict=True) + + def test_uts46_2496(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᠢ𐮂𐫘寐。\u200c≯✳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᠢ𐮂𐫘寐。\u200c≯✳', strict=True) + + def test_uts46_2497(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᠢ𐮂𐫘寐。\u200c≯✳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᠢ𐮂𐫘寐。\u200c≯✳', strict=True) + + def test_uts46_2498(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᠢ𐮂𐫘寐。\u200c≯✳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᠢ𐮂𐫘寐。\u200c≯✳', strict=True) + + def test_uts46_2499(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᠢ𐮂𐫘寐。\u200c≯✳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᠢ𐮂𐫘寐。\u200c≯✳', strict=True) + + def test_uts46_2500(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--46e6675axzzhota.xn--hdh99p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--46e6675axzzhota.xn--hdh99p', strict=True) + + def test_uts46_2501(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--46e6675axzzhota.xn--0ug06gu8f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--46e6675axzzhota.xn--0ug06gu8f', strict=True) + + def test_uts46_2502(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。\U000f8c9cႺႴ\U0001ea07', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。\U000f8c9cႺႴ\U0001ea07', strict=True) + + def test_uts46_2503(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。\U000f8c9cႺႴ\U0001ea07', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。\U000f8c9cႺႴ\U0001ea07', strict=True) + + def test_uts46_2504(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。\U000f8c9cⴚⴔ\U0001ea07', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。\U000f8c9cⴚⴔ\U0001ea07', strict=True) + + def test_uts46_2505(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。\U000f8c9cႺⴔ\U0001ea07', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。\U000f8c9cႺⴔ\U0001ea07', strict=True) + + def test_uts46_2506(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--cljl81825an3r4h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--cljl81825an3r4h', strict=True) + + def test_uts46_2507(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--cljl81825an3r4h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--cljl81825an3r4h', strict=True) + + def test_uts46_2508(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。\U000f8c9cⴚⴔ\U0001ea07', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。\U000f8c9cⴚⴔ\U0001ea07', strict=True) + + def test_uts46_2509(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。\U000f8c9cႺⴔ\U0001ea07', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。\U000f8c9cႺⴔ\U0001ea07', strict=True) + + def test_uts46_2510(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--ynd036lq981an3r4h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--ynd036lq981an3r4h', strict=True) + + def test_uts46_2511(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--ynd036lq981an3r4h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--ynd036lq981an3r4h', strict=True) + + def test_uts46_2512(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--sndl01647an3h1h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--sndl01647an3h1h', strict=True) + + def test_uts46_2513(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--sndl01647an3h1h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--sndl01647an3h1h', strict=True) + + def test_uts46_2514(self): + self.assertRaises(idna.IDNAError, idna.decode, '-3.\u200dヌᢕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-3.\u200dヌᢕ', strict=True) + + def test_uts46_2515(self): + self.assertRaises(idna.IDNAError, idna.decode, '-3.xn--fbf115j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-3.xn--fbf115j', strict=True) + + def test_uts46_2516(self): + self.assertRaises(idna.IDNAError, idna.decode, '-3.xn--fbf739aq5o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-3.xn--fbf739aq5o', strict=True) + + def test_uts46_2517(self): + self.assertRaises(idna.IDNAError, idna.decode, '🂃٦ß\u200d。\U000e0802\U000adc0d\U0001ea52-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🂃٦ß\u200d。\U000e0802\U000adc0d\U0001ea52-', strict=True) + + def test_uts46_2518(self): + self.assertRaises(idna.IDNAError, idna.decode, '🂃٦SS\u200d。\U000e0802\U000adc0d\U0001ea52-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🂃٦SS\u200d。\U000e0802\U000adc0d\U0001ea52-', strict=True) + + def test_uts46_2519(self): + self.assertRaises(idna.IDNAError, idna.decode, '🂃٦ss\u200d。\U000e0802\U000adc0d\U0001ea52-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🂃٦ss\u200d。\U000e0802\U000adc0d\U0001ea52-', strict=True) + + def test_uts46_2520(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-pyd98921c.xn----nz8rh7531csznt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-pyd98921c.xn----nz8rh7531csznt', strict=True) + + def test_uts46_2521(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-pyd483x5k99b.xn----nz8rh7531csznt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-pyd483x5k99b.xn----nz8rh7531csznt', strict=True) + + def test_uts46_2522(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca34z68yzu83b.xn----nz8rh7531csznt', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca34z68yzu83b.xn----nz8rh7531csznt', strict=True) + + def test_uts46_2523(self): + self.assertRaises(idna.IDNAError, idna.decode, '🂃٦Ss\u200d。\U000e0802\U000adc0d\U0001ea52-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🂃٦Ss\u200d。\U000e0802\U000adc0d\U0001ea52-', strict=True) + + def test_uts46_2524(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꇟ-𐾺ڟ。\U000b003a\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꇟ-𐾺ڟ。\U000b003a\u200c', strict=True) + + def test_uts46_2525(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----utc4430jd3zd.xn--bp20d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----utc4430jd3zd.xn--bp20d', strict=True) + + def test_uts46_2526(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----utc4430jd3zd.xn--0ugx6670i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----utc4430jd3zd.xn--0ugx6670i', strict=True) + + def test_uts46_2527(self): + self.assertRaises(idna.IDNAError, idna.decode, '٥.҄𐨗𝩋\U00034903', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٥.҄𐨗𝩋\U00034903', strict=True) + + def test_uts46_2528(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--eib.xn--n3a0405kus8eft5l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--eib.xn--n3a0405kus8eft5l', strict=True) + + def test_uts46_2529(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.\U00071f13ى𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.\U00071f13ى𐨿', strict=True) + + def test_uts46_2530(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--lhb4124khbq4b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--lhb4124khbq4b', strict=True) + + def test_uts46_2531(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28ς.\U0001ed99녫ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28ς.\U0001ed99녫ß', strict=True) + + def test_uts46_2532(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28ς.\U0001ed99녫ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28ς.\U0001ed99녫ß', strict=True) + + def test_uts46_2533(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28Σ.\U0001ed99녫SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28Σ.\U0001ed99녫SS', strict=True) + + def test_uts46_2534(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28Σ.\U0001ed99녫SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28Σ.\U0001ed99녫SS', strict=True) + + def test_uts46_2535(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28σ.\U0001ed99녫ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28σ.\U0001ed99녫ss', strict=True) + + def test_uts46_2536(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28σ.\U0001ed99녫ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28σ.\U0001ed99녫ss', strict=True) + + def test_uts46_2537(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28Σ.\U0001ed99녫ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28Σ.\U0001ed99녫ss', strict=True) + + def test_uts46_2538(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28Σ.\U0001ed99녫ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28Σ.\U0001ed99녫ss', strict=True) + + def test_uts46_2539(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28Σ.\U0001ed99녫Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28Σ.\U0001ed99녫Ss', strict=True) + + def test_uts46_2540(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28Σ.\U0001ed99녫Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28Σ.\U0001ed99녫Ss', strict=True) + + def test_uts46_2541(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa76659r.xn--ss-d64i8755h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa76659r.xn--ss-d64i8755h', strict=True) + + def test_uts46_2542(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28Σ.\U0001ed99녫ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28Σ.\U0001ed99녫ß', strict=True) + + def test_uts46_2543(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28Σ.\U0001ed99녫ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28Σ.\U0001ed99녫ß', strict=True) + + def test_uts46_2544(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28σ.\U0001ed99녫ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28σ.\U0001ed99녫ß', strict=True) + + def test_uts46_2545(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000feb28σ.\U0001ed99녫ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000feb28σ.\U0001ed99녫ß', strict=True) + + def test_uts46_2546(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa76659r.xn--zca5051g4h4i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa76659r.xn--zca5051g4h4i', strict=True) + + def test_uts46_2547(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa96659r.xn--zca5051g4h4i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa96659r.xn--zca5051g4h4i', strict=True) + + def test_uts46_2548(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⅎ្\u200d。≠\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⅎ្\u200d。≠\u200d\u200c', strict=True) + + def test_uts46_2549(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⅎ្\u200d。≠\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⅎ្\u200d。≠\u200d\u200c', strict=True) + + def test_uts46_2550(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⅎ្\u200d。≠\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⅎ្\u200d。≠\u200d\u200c', strict=True) + + def test_uts46_2551(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⅎ្\u200d。≠\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⅎ្\u200d。≠\u200d\u200c', strict=True) + + def test_uts46_2552(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⅎ្\u200d。≠\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⅎ្\u200d。≠\u200d\u200c', strict=True) + + def test_uts46_2553(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⅎ្\u200d。≠\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⅎ្\u200d。≠\u200d\u200c', strict=True) + + def test_uts46_2554(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--u4e969b.xn--1ch', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--u4e969b.xn--1ch', strict=True) + + def test_uts46_2555(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⅎ្.≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⅎ្.≠', strict=True) + + def test_uts46_2556(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⅎ្.≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⅎ្.≠', strict=True) + + def test_uts46_2557(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⅎ្.≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⅎ្.≠', strict=True) + + def test_uts46_2558(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⅎ្.≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⅎ្.≠', strict=True) + + def test_uts46_2559(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--u4e823bq1a.xn--0ugb89o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--u4e823bq1a.xn--0ugb89o', strict=True) + + def test_uts46_2560(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⅎ្\u200d。≠\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⅎ្\u200d。≠\u200d\u200c', strict=True) + + def test_uts46_2561(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⅎ្\u200d。≠\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⅎ្\u200d。≠\u200d\u200c', strict=True) + + def test_uts46_2562(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--u4e319b.xn--1ch', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--u4e319b.xn--1ch', strict=True) + + def test_uts46_2563(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--u4e823bcza.xn--0ugb89o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--u4e823bcza.xn--0ugb89o', strict=True) + + def test_uts46_2564(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋺꫶꥓\U000e7989.\u200c᜔ڏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋺꫶꥓\U000e7989.\u200c᜔ڏ', strict=True) + + def test_uts46_2565(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋺꫶꥓\U000e7989.\u200c᜔ڏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋺꫶꥓\U000e7989.\u200c᜔ڏ', strict=True) + + def test_uts46_2566(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3j9a14ak27osbz2o.xn--ljb175f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3j9a14ak27osbz2o.xn--ljb175f', strict=True) + + def test_uts46_2567(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3j9a14ak27osbz2o.xn--ljb175f1wg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3j9a14ak27osbz2o.xn--ljb175f1wg', strict=True) + + def test_uts46_2568(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007a52fྨ.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007a52fྨ.≯', strict=True) + + def test_uts46_2569(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007a52fྨ.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007a52fྨ.≯', strict=True) + + def test_uts46_2570(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007a52fྨ.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007a52fྨ.≯', strict=True) + + def test_uts46_2571(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007a52fྨ.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007a52fྨ.≯', strict=True) + + def test_uts46_2572(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4fd57150h.xn--hdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4fd57150h.xn--hdh', strict=True) + + def test_uts46_2573(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𞡄Ⴓ.𐇽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𞡄Ⴓ.𐇽', strict=True) + + def test_uts46_2574(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𞡄Ⴓ.𐇽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𞡄Ⴓ.𐇽', strict=True) + + def test_uts46_2575(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𞡄ⴓ.𐇽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𞡄ⴓ.𐇽', strict=True) + + def test_uts46_2576(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--blj7492l.xn--m27c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--blj7492l.xn--m27c', strict=True) + + def test_uts46_2577(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ugz52c4i16a.xn--m27c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ugz52c4i16a.xn--m27c', strict=True) + + def test_uts46_2578(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d𞡄ⴓ.𐇽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d𞡄ⴓ.𐇽', strict=True) + + def test_uts46_2579(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rnd5552v.xn--m27c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rnd5552v.xn--m27c', strict=True) + + def test_uts46_2580(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rnd379ex885a.xn--m27c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rnd379ex885a.xn--m27c', strict=True) + + def test_uts46_2581(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐪒ß꣪.ᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐪒ß꣪.ᡤ', strict=True) + + def test_uts46_2582(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐪒ß꣪.ᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐪒ß꣪.ᡤ', strict=True) + + def test_uts46_2583(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐪒SS꣪.ᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐪒SS꣪.ᡤ', strict=True) + + def test_uts46_2584(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐪒ss꣪.ᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐪒ss꣪.ᡤ', strict=True) + + def test_uts46_2585(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-tu9hw933a.xn--08e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-tu9hw933a.xn--08e', strict=True) + + def test_uts46_2586(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca2517f2hvc.xn--08e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca2517f2hvc.xn--08e', strict=True) + + def test_uts46_2587(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐪒SS꣪.ᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐪒SS꣪.ᡤ', strict=True) + + def test_uts46_2588(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐪒ss꣪.ᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐪒ss꣪.ᡤ', strict=True) + + def test_uts46_2589(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐪒Ss꣪.ᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐪒Ss꣪.ᡤ', strict=True) + + def test_uts46_2590(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐪒Ss꣪.ᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐪒Ss꣪.ᡤ', strict=True) + + def test_uts46_2591(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨿󠆌鸮𑚶.ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨿󠆌鸮𑚶.ς', strict=True) + + def test_uts46_2592(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨿󠆌鸮𑚶.Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨿󠆌鸮𑚶.Σ', strict=True) + + def test_uts46_2593(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨿󠆌鸮𑚶.σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨿󠆌鸮𑚶.σ', strict=True) + + def test_uts46_2594(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--l76a726rt2h.xn--4xa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--l76a726rt2h.xn--4xa', strict=True) + + def test_uts46_2595(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--l76a726rt2h.xn--3xa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--l76a726rt2h.xn--3xa', strict=True) + + def test_uts46_2596(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒗𞤬。-𑚶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒗𞤬。-𑚶', strict=True) + + def test_uts46_2597(self): + self.assertRaises(idna.IDNAError, idna.decode, '16.𞤬。-𑚶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '16.𞤬。-𑚶', strict=True) + + def test_uts46_2598(self): + self.assertRaises(idna.IDNAError, idna.decode, '16.𞤊。-𑚶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '16.𞤊。-𑚶', strict=True) + + def test_uts46_2599(self): + self.assertRaises(idna.IDNAError, idna.decode, '16.xn--ke6h.xn----4j0j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '16.xn--ke6h.xn----4j0j', strict=True) + + def test_uts46_2600(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒗𞤊。-𑚶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒗𞤊。-𑚶', strict=True) + + def test_uts46_2601(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8shw466n.xn----4j0j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8shw466n.xn----4j0j', strict=True) + + def test_uts46_2602(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࢳ𞤿⾫。𐹣ڏ⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࢳ𞤿⾫。𐹣ڏ⒈', strict=True) + + def test_uts46_2603(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࢳ𞤿隹。𐹣ڏ1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࢳ𞤿隹。𐹣ڏ1.', strict=True) + + def test_uts46_2604(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࢳ𞤝隹。𐹣ڏ1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࢳ𞤝隹。𐹣ڏ1.', strict=True) + + def test_uts46_2605(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8yb0383efiwk.xn--1-wsc3373r.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8yb0383efiwk.xn--1-wsc3373r.', strict=True) + + def test_uts46_2606(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࢳ𞤝⾫。𐹣ڏ⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࢳ𞤝⾫。𐹣ڏ⒈', strict=True) + + def test_uts46_2607(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8yb0383efiwk.xn--ljb064mol4n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8yb0383efiwk.xn--ljb064mol4n', strict=True) + + def test_uts46_2608(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u2433\U0001a39b𝟧١.ᡢ8ི\u0600', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u2433\U0001a39b𝟧١.ᡢ8ི\u0600', strict=True) + + def test_uts46_2609(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u2433\U0001a39b5١.ᡢ8ི\u0600', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u2433\U0001a39b5١.ᡢ8ི\u0600', strict=True) + + def test_uts46_2610(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5-bqc410un435a.xn--8-rkc763epjj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5-bqc410un435a.xn--8-rkc763epjj', strict=True) + + def test_uts46_2611(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹠.🄀⒒-\U000e8c08', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹠.🄀⒒-\U000e8c08', strict=True) + + def test_uts46_2612(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹠.0.11.-\U000e8c08', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹠.0.11.-\U000e8c08', strict=True) + + def test_uts46_2613(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7n0d.0.11.xn----8j07m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7n0d.0.11.xn----8j07m', strict=True) + + def test_uts46_2614(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7n0d.xn----xcp9757q1s13g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7n0d.xn----xcp9757q1s13g', strict=True) + + def test_uts46_2615(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς-。\u200c𝟭-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς-。\u200c𝟭-', strict=True) + + def test_uts46_2616(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς-。\u200c1-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς-。\u200c1-', strict=True) + + def test_uts46_2617(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ-。\u200c1-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ-。\u200c1-', strict=True) + + def test_uts46_2618(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ-。\u200c1-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ-。\u200c1-', strict=True) + + def test_uts46_2619(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----zmb.1-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----zmb.1-', strict=True) + + def test_uts46_2620(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----zmb.xn--1--i1t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----zmb.xn--1--i1t', strict=True) + + def test_uts46_2621(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----xmb.xn--1--i1t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----xmb.xn--1--i1t', strict=True) + + def test_uts46_2622(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ-。\u200c𝟭-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ-。\u200c𝟭-', strict=True) + + def test_uts46_2623(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ-。\u200c𝟭-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ-。\u200c𝟭-', strict=True) + + def test_uts46_2624(self): + self.assertRaises(idna.IDNAError, idna.decode, '᜴-ೢ.󠄩Ⴄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᜴-ೢ.󠄩Ⴄ', strict=True) + + def test_uts46_2625(self): + self.assertRaises(idna.IDNAError, idna.decode, '᜴-ೢ.󠄩Ⴄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᜴-ೢ.󠄩Ⴄ', strict=True) + + def test_uts46_2626(self): + self.assertRaises(idna.IDNAError, idna.decode, '᜴-ೢ.󠄩ⴄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᜴-ೢ.󠄩ⴄ', strict=True) + + def test_uts46_2627(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ggf830f.xn--vkj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ggf830f.xn--vkj', strict=True) + + def test_uts46_2628(self): + self.assertRaises(idna.IDNAError, idna.decode, '᜴-ೢ.󠄩ⴄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᜴-ೢ.󠄩ⴄ', strict=True) + + def test_uts46_2629(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ggf830f.xn--cnd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ggf830f.xn--cnd', strict=True) + + def test_uts46_2630(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ad217♋ڻ𐦥。॔⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ad217♋ڻ𐦥。॔⒈', strict=True) + + def test_uts46_2631(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ad217♋ڻ𐦥。॔1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ad217♋ڻ𐦥。॔1.', strict=True) + + def test_uts46_2632(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ukb372n129m3rs7f.xn--1-fyd.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ukb372n129m3rs7f.xn--1-fyd.', strict=True) + + def test_uts46_2633(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ukb372n129m3rs7f.xn--u3b240l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ukb372n129m3rs7f.xn--u3b240l', strict=True) + + def test_uts46_2634(self): + self.assertRaises(idna.IDNAError, idna.decode, '֤.ہ᪳\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֤.ہ᪳\u200c', strict=True) + + def test_uts46_2635(self): + self.assertRaises(idna.IDNAError, idna.decode, '֤.ہ᪳\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֤.ہ᪳\u200c', strict=True) + + def test_uts46_2636(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vcb.xn--0kb623h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vcb.xn--0kb623h', strict=True) + + def test_uts46_2637(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vcb.xn--0kb623hm1d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vcb.xn--0kb623hm1d', strict=True) + + def test_uts46_2638(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00062b4fࡆ≮્.\U0001e98a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00062b4fࡆ≮્.\U0001e98a', strict=True) + + def test_uts46_2639(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00062b4fࡆ≮્.\U0001e98a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00062b4fࡆ≮્.\U0001e98a', strict=True) + + def test_uts46_2640(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00062b4fࡆ≮્.\U0001e98a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00062b4fࡆ≮્.\U0001e98a', strict=True) + + def test_uts46_2641(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00062b4fࡆ≮્.\U0001e98a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00062b4fࡆ≮્.\U0001e98a', strict=True) + + def test_uts46_2642(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4vb80kq29ayo62l.xn--8g6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4vb80kq29ayo62l.xn--8g6h', strict=True) + + def test_uts46_2643(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。𞀘⒈ꡍ擉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。𞀘⒈ꡍ擉', strict=True) + + def test_uts46_2644(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。𞀘1.ꡍ擉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。𞀘1.ꡍ擉', strict=True) + + def test_uts46_2645(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--1-1p4r.xn--s7uv61m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--1-1p4r.xn--s7uv61m', strict=True) + + def test_uts46_2646(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--1-1p4r.xn--s7uv61m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--1-1p4r.xn--s7uv61m', strict=True) + + def test_uts46_2647(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--tsh026uql4bew9p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--tsh026uql4bew9p', strict=True) + + def test_uts46_2648(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--tsh026uql4bew9p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--tsh026uql4bew9p', strict=True) + + def test_uts46_2649(self): + self.assertRaises(idna.IDNAError, idna.decode, '₈ߋ.ﭤ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '₈ߋ.ﭤ≠', strict=True) + + def test_uts46_2650(self): + self.assertRaises(idna.IDNAError, idna.decode, '₈ߋ.ﭤ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '₈ߋ.ﭤ≠', strict=True) + + def test_uts46_2651(self): + self.assertRaises(idna.IDNAError, idna.decode, '8ߋ.ٿ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8ߋ.ٿ≠', strict=True) + + def test_uts46_2652(self): + self.assertRaises(idna.IDNAError, idna.decode, '8ߋ.ٿ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8ߋ.ٿ≠', strict=True) + + def test_uts46_2653(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-zbd.xn--4ib883l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-zbd.xn--4ib883l', strict=True) + + def test_uts46_2654(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢡߞ\U000b9423.⒒ق𑍦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢡߞ\U000b9423.⒒ق𑍦', strict=True) + + def test_uts46_2655(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢡߞ\U000b9423.11.ق𑍦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢡߞ\U000b9423.11.ق𑍦', strict=True) + + def test_uts46_2656(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5sb596fi873t.11.xn--ehb4198k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5sb596fi873t.11.xn--ehb4198k', strict=True) + + def test_uts46_2657(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5sb596fi873t.xn--ehb336mvy7n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5sb596fi873t.xn--ehb336mvy7n', strict=True) + + def test_uts46_2658(self): + self.assertRaises(idna.IDNAError, idna.decode, '่-𐹺𝟜.ͣۡ⒏', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '่-𐹺𝟜.ͣۡ⒏', strict=True) + + def test_uts46_2659(self): + self.assertRaises(idna.IDNAError, idna.decode, '่-𐹺4.ͣۡ8.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '่-𐹺4.ͣۡ8.', strict=True) + + def test_uts46_2660(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---4-owiz479s.xn--8-ihb69x.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---4-owiz479s.xn--8-ihb69x.', strict=True) + + def test_uts46_2661(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---4-owiz479s.xn--eva20pjv9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---4-owiz479s.xn--eva20pjv9a', strict=True) + + def test_uts46_2662(self): + self.assertRaises(idna.IDNAError, idna.decode, '⫐。Ⴠ-\U000c3422', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⫐。Ⴠ-\U000c3422', strict=True) + + def test_uts46_2663(self): + self.assertRaises(idna.IDNAError, idna.decode, '⫐。Ⴠ-\U000c3422', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⫐。Ⴠ-\U000c3422', strict=True) + + def test_uts46_2664(self): + self.assertRaises(idna.IDNAError, idna.decode, '⫐。ⴠ-\U000c3422', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⫐。ⴠ-\U000c3422', strict=True) + + def test_uts46_2665(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--r3i.xn----2wst7439i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--r3i.xn----2wst7439i', strict=True) + + def test_uts46_2666(self): + self.assertRaises(idna.IDNAError, idna.decode, '⫐。ⴠ-\U000c3422', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⫐。ⴠ-\U000c3422', strict=True) + + def test_uts46_2667(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--r3i.xn----z1g58579u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--r3i.xn----z1g58579u', strict=True) + + def test_uts46_2668(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑑂◊.⦟∠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑑂◊.⦟∠', strict=True) + + def test_uts46_2669(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑑂◊.⦟∠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑑂◊.⦟∠', strict=True) + + def test_uts46_2670(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--01h3338f.xn--79g270a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--01h3338f.xn--79g270a', strict=True) + + def test_uts46_2671(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003f330-٢。\U000cbe1bꡂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003f330-٢。\U000cbe1bꡂ', strict=True) + + def test_uts46_2672(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----dqc20828e.xn--bc9an2879c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----dqc20828e.xn--bc9an2879c', strict=True) + + def test_uts46_2673(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٸ。\U000e03ec݁\U0001eaad𐹪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٸ。\U000e03ec݁\U0001eaad𐹪', strict=True) + + def test_uts46_2674(self): + self.assertRaises(idna.IDNAError, idna.decode, 'يٴ。\U000e03ec݁\U0001eaad𐹪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'يٴ。\U000e03ec݁\U0001eaad𐹪', strict=True) + + def test_uts46_2675(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mhb8f.xn--oob2585kfdsfsbo7h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mhb8f.xn--oob2585kfdsfsbo7h', strict=True) + + def test_uts46_2676(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫆ꌄ。\u200dᣬ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫆ꌄ。\u200dᣬ', strict=True) + + def test_uts46_2677(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫆ꌄ。\u200dᣬ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫆ꌄ。\u200dᣬ', strict=True) + + def test_uts46_2678(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y77ao18q.xn--wdf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y77ao18q.xn--wdf', strict=True) + + def test_uts46_2679(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y77ao18q.xn--wdf367a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y77ao18q.xn--wdf367a', strict=True) + + def test_uts46_2680(self): + self.assertRaises(idna.IDNAError, idna.decode, '₀٢。\U000c5a9e≯-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '₀٢。\U000c5a9e≯-', strict=True) + + def test_uts46_2681(self): + self.assertRaises(idna.IDNAError, idna.decode, '₀٢。\U000c5a9e≯-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '₀٢。\U000c5a9e≯-', strict=True) + + def test_uts46_2682(self): + self.assertRaises(idna.IDNAError, idna.decode, '0٢。\U000c5a9e≯-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0٢。\U000c5a9e≯-', strict=True) + + def test_uts46_2683(self): + self.assertRaises(idna.IDNAError, idna.decode, '0٢。\U000c5a9e≯-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0٢。\U000c5a9e≯-', strict=True) + + def test_uts46_2684(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0-dqc.xn----ogov3342l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0-dqc.xn----ogov3342l', strict=True) + + def test_uts46_2685(self): + self.assertRaises(idna.IDNAError, idna.decode, '̜𐹫-\U0001ebc3.𐋤ࡅ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '̜𐹫-\U0001ebc3.𐋤ࡅ', strict=True) + + def test_uts46_2686(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----gdb7046r692g.xn--3vb1349j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----gdb7046r692g.xn--3vb1349j', strict=True) + + def test_uts46_2687(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。𝩑𐹩Ⴡ֔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。𝩑𐹩Ⴡ֔', strict=True) + + def test_uts46_2688(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。𝩑𐹩Ⴡ֔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。𝩑𐹩Ⴡ֔', strict=True) + + def test_uts46_2689(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。𝩑𐹩Ⴡ֔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。𝩑𐹩Ⴡ֔', strict=True) + + def test_uts46_2690(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。𝩑𐹩Ⴡ֔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。𝩑𐹩Ⴡ֔', strict=True) + + def test_uts46_2691(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。𝩑𐹩ⴡ֔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。𝩑𐹩ⴡ֔', strict=True) + + def test_uts46_2692(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。𝩑𐹩ⴡ֔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。𝩑𐹩ⴡ֔', strict=True) + + def test_uts46_2693(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch.xn--fcb363rk03mypug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch.xn--fcb363rk03mypug', strict=True) + + def test_uts46_2694(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。𝩑𐹩ⴡ֔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。𝩑𐹩ⴡ֔', strict=True) + + def test_uts46_2695(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。𝩑𐹩ⴡ֔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。𝩑𐹩ⴡ֔', strict=True) + + def test_uts46_2696(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch.xn--fcb538c649rypog', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch.xn--fcb538c649rypog', strict=True) + + def test_uts46_2697(self): + self.assertRaises(idna.IDNAError, idna.decode, '𖫳≠.Ⴀ𐮀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𖫳≠.Ⴀ𐮀', strict=True) + + def test_uts46_2698(self): + self.assertRaises(idna.IDNAError, idna.decode, '𖫳≠.Ⴀ𐮀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𖫳≠.Ⴀ𐮀', strict=True) + + def test_uts46_2699(self): + self.assertRaises(idna.IDNAError, idna.decode, '𖫳≠.ⴀ𐮀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𖫳≠.ⴀ𐮀', strict=True) + + def test_uts46_2700(self): + self.assertRaises(idna.IDNAError, idna.decode, '𖫳≠.ⴀ𐮀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𖫳≠.ⴀ𐮀', strict=True) + + def test_uts46_2701(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch9250k.xn--rkj6232e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch9250k.xn--rkj6232e', strict=True) + + def test_uts46_2702(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch9250k.xn--7md2659j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch9250k.xn--7md2659j', strict=True) + + def test_uts46_2703(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅾ܶܦ.ᢚ閪\u08e2𝩟', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅾ܶܦ.ᢚ閪\u08e2𝩟', strict=True) + + def test_uts46_2704(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅾ܶܦ.ᢚ閪\u08e2𝩟', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅾ܶܦ.ᢚ閪\u08e2𝩟', strict=True) + + def test_uts46_2705(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wnb5a.xn--l0b161fis8gbp5m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wnb5a.xn--l0b161fis8gbp5m', strict=True) + + def test_uts46_2706(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d󠇜ۋ꣩。⃝ྰ-ᛟ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d󠇜ۋ꣩。⃝ྰ-ᛟ', strict=True) + + def test_uts46_2707(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d󠇜ۋ꣩。⃝ྰ-ᛟ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d󠇜ۋ꣩。⃝ྰ-ᛟ', strict=True) + + def test_uts46_2708(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--blb8114f.xn----gmg236cj6k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--blb8114f.xn----gmg236cj6k', strict=True) + + def test_uts46_2709(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--blb540ke10h.xn----gmg236cj6k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--blb540ke10h.xn----gmg236cj6k', strict=True) + + def test_uts46_2710(self): + self.assertRaises(idna.IDNAError, idna.decode, '헁\U000d8599ฺ\U000da35a。ں𝟜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '헁\U000d8599ฺ\U000da35a。ں𝟜', strict=True) + + def test_uts46_2711(self): + self.assertRaises(idna.IDNAError, idna.decode, '헁\U000d8599ฺ\U000da35a。ں𝟜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '헁\U000d8599ฺ\U000da35a。ں𝟜', strict=True) + + def test_uts46_2712(self): + self.assertRaises(idna.IDNAError, idna.decode, '헁\U000d8599ฺ\U000da35a。ں4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '헁\U000d8599ฺ\U000da35a。ں4', strict=True) + + def test_uts46_2713(self): + self.assertRaises(idna.IDNAError, idna.decode, '헁\U000d8599ฺ\U000da35a。ں4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '헁\U000d8599ฺ\U000da35a。ں4', strict=True) + + def test_uts46_2714(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--o4c1723h8g85gt4ya.xn--4-dvc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--o4c1723h8g85gt4ya.xn--4-dvc', strict=True) + + def test_uts46_2715(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹭。\U000c3c42\u200cႾ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹭。\U000c3c42\u200cႾ', strict=True) + + def test_uts46_2716(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹭。\U000c3c42\u200cႾ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹭。\U000c3c42\u200cႾ', strict=True) + + def test_uts46_2717(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹭。\U000c3c42\u200cⴞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹭。\U000c3c42\u200cⴞ', strict=True) + + def test_uts46_2718(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lo0d.xn--mljx1099g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lo0d.xn--mljx1099g', strict=True) + + def test_uts46_2719(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lo0d.xn--0ugx72cwi33v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lo0d.xn--0ugx72cwi33v', strict=True) + + def test_uts46_2720(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹭。\U000c3c42\u200cⴞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹭。\U000c3c42\u200cⴞ', strict=True) + + def test_uts46_2721(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lo0d.xn--2nd75260n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lo0d.xn--2nd75260n', strict=True) + + def test_uts46_2722(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lo0d.xn--2nd949eqw95u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lo0d.xn--2nd949eqw95u', strict=True) + + def test_uts46_2723(self): + self.assertRaises(idna.IDNAError, idna.decode, '꥓.̽\U000110bd馋', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꥓.̽\U000110bd馋', strict=True) + + def test_uts46_2724(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3j9a.xn--bua0708eqzrd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3j9a.xn--bua0708eqzrd', strict=True) + + def test_uts46_2725(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c8add\U000aa6f8\u200d。䜖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c8add\U000aa6f8\u200d。䜖', strict=True) + + def test_uts46_2726(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c8add\U000aa6f8\u200d。䜖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c8add\U000aa6f8\u200d。䜖', strict=True) + + def test_uts46_2727(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--g138cxw05a.xn--k0o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--g138cxw05a.xn--k0o', strict=True) + + def test_uts46_2728(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug30527h9mxi.xn--k0o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug30527h9mxi.xn--k0o', strict=True) + + def test_uts46_2729(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡯ⚉姶🄉.۷\u200d🎪\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡯ⚉姶🄉.۷\u200d🎪\u200d', strict=True) + + def test_uts46_2730(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡯ⚉姶8,.۷\u200d🎪\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡯ⚉姶8,.۷\u200d🎪\u200d', strict=True) + + def test_uts46_2731(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8,-g9oy26fzu4d.xn--kmb6733w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8,-g9oy26fzu4d.xn--kmb6733w', strict=True) + + def test_uts46_2732(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8,-g9oy26fzu4d.xn--kmb859ja94998b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8,-g9oy26fzu4d.xn--kmb859ja94998b', strict=True) + + def test_uts46_2733(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--c9e433epi4b3j20a.xn--kmb6733w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--c9e433epi4b3j20a.xn--kmb6733w', strict=True) + + def test_uts46_2734(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--c9e433epi4b3j20a.xn--kmb859ja94998b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--c9e433epi4b3j20a.xn--kmb859ja94998b', strict=True) + + def test_uts46_2735(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ef40.𐹸🚖ฺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ef40.𐹸🚖ฺ', strict=True) + + def test_uts46_2736(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0n7h.xn--o4c9032klszf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0n7h.xn--o4c9032klszf', strict=True) + + def test_uts46_2737(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴔᠵ。𐹧݇۹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴔᠵ。𐹧݇۹', strict=True) + + def test_uts46_2738(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴔᠵ。𐹧݇۹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴔᠵ。𐹧݇۹', strict=True) + + def test_uts46_2739(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴔᠵ。𐹧݇۹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴔᠵ。𐹧݇۹', strict=True) + + def test_uts46_2740(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--o7e997h.xn--mmb9ml895e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--o7e997h.xn--mmb9ml895e', strict=True) + + def test_uts46_2741(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴔᠵ。𐹧݇۹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴔᠵ。𐹧݇۹', strict=True) + + def test_uts46_2742(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--snd659a.xn--mmb9ml895e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--snd659a.xn--mmb9ml895e', strict=True) + + def test_uts46_2743(self): + self.assertRaises(idna.IDNAError, idna.decode, '፟ᡈ\u200c.︒-𖾐-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '፟ᡈ\u200c.︒-𖾐-', strict=True) + + def test_uts46_2744(self): + self.assertRaises(idna.IDNAError, idna.decode, '፟ᡈ\u200c.。-𖾐-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '፟ᡈ\u200c.。-𖾐-', strict=True) + + def test_uts46_2745(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b7d82w..xn-----pe4u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b7d82w..xn-----pe4u', strict=True) + + def test_uts46_2746(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b7d82wo4h..xn-----pe4u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b7d82wo4h..xn-----pe4u', strict=True) + + def test_uts46_2747(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b7d82w.xn-----c82nz547a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b7d82w.xn-----c82nz547a', strict=True) + + def test_uts46_2748(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b7d82wo4h.xn-----c82nz547a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b7d82wo4h.xn-----c82nz547a', strict=True) + + def test_uts46_2749(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈\u0601⒖\u200c.ᷰߛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈\u0601⒖\u200c.ᷰߛ', strict=True) + + def test_uts46_2750(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.\u060115.\u200c.ᷰߛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.\u060115.\u200c.ᷰߛ', strict=True) + + def test_uts46_2751(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--15-1pd..xn--2sb914i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--15-1pd..xn--2sb914i', strict=True) + + def test_uts46_2752(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--15-1pd.xn--0ug.xn--2sb914i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--15-1pd.xn--0ug.xn--2sb914i', strict=True) + + def test_uts46_2753(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jfb347mib.xn--2sb914i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jfb347mib.xn--2sb914i', strict=True) + + def test_uts46_2754(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jfb844kmfdwb.xn--2sb914i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jfb844kmfdwb.xn--2sb914i', strict=True) + + def test_uts46_2755(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝩜。-୍Ⴋ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝩜。-୍Ⴋ', strict=True) + + def test_uts46_2756(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝩜。-୍ⴋ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝩜。-୍ⴋ', strict=True) + + def test_uts46_2757(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--792h.xn----bse820x', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--792h.xn----bse820x', strict=True) + + def test_uts46_2758(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--792h.xn----bse632b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--792h.xn----bse632b', strict=True) + + def test_uts46_2759(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ßჀ.ؠ刯Ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ßჀ.ؠ刯Ⴝ', strict=True) + + def test_uts46_2760(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ßⴠ.ؠ刯ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ßⴠ.ؠ刯ⴝ', strict=True) + + def test_uts46_2761(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SSჀ.ؠ刯Ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SSჀ.ؠ刯Ⴝ', strict=True) + + def test_uts46_2762(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ssⴠ.ؠ刯ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ssⴠ.ؠ刯ⴝ', strict=True) + + def test_uts46_2763(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ssⴠ.ؠ刯Ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ssⴠ.ؠ刯Ⴝ', strict=True) + + def test_uts46_2764(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-j81a.xn--fgb670rovy', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-j81a.xn--fgb670rovy', strict=True) + + def test_uts46_2765(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca277t.xn--fgb670rovy', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca277t.xn--fgb670rovy', strict=True) + + def test_uts46_2766(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-j81a.xn--fgb845cb66c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-j81a.xn--fgb845cb66c', strict=True) + + def test_uts46_2767(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-wgk.xn--fgb845cb66c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-wgk.xn--fgb845cb66c', strict=True) + + def test_uts46_2768(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca442f.xn--fgb845cb66c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca442f.xn--fgb845cb66c', strict=True) + + def test_uts46_2769(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪ႣℲ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪ႣℲ。ᠳ툻ٳ', strict=True) + + def test_uts46_2770(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪ႣℲ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪ႣℲ。ᠳ툻ٳ', strict=True) + + def test_uts46_2771(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪ႣℲ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪ႣℲ。ᠳ툻ٳ', strict=True) + + def test_uts46_2772(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪ႣℲ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪ႣℲ。ᠳ툻ٳ', strict=True) + + def test_uts46_2773(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪ⴃⅎ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪ⴃⅎ。ᠳ툻ٳ', strict=True) + + def test_uts46_2774(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪ⴃⅎ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪ⴃⅎ。ᠳ툻ٳ', strict=True) + + def test_uts46_2775(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪Ⴃⅎ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪Ⴃⅎ。ᠳ툻ٳ', strict=True) + + def test_uts46_2776(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪Ⴃⅎ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪Ⴃⅎ。ᠳ툻ٳ', strict=True) + + def test_uts46_2777(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--yxf24x4ol.xn--sib102gc69k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--yxf24x4ol.xn--sib102gc69k', strict=True) + + def test_uts46_2778(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪ⴃⅎ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪ⴃⅎ。ᠳ툻ٳ', strict=True) + + def test_uts46_2779(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪ⴃⅎ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪ⴃⅎ。ᠳ툻ٳ', strict=True) + + def test_uts46_2780(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪Ⴃⅎ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪Ⴃⅎ。ᠳ툻ٳ', strict=True) + + def test_uts46_2781(self): + self.assertRaises(idna.IDNAError, idna.decode, '᮪Ⴃⅎ。ᠳ툻ٳ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᮪Ⴃⅎ。ᠳ툻ٳ', strict=True) + + def test_uts46_2782(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bnd957c2pe.xn--sib102gc69k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bnd957c2pe.xn--sib102gc69k', strict=True) + + def test_uts46_2783(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bnd957cone.xn--sib102gc69k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bnd957cone.xn--sib102gc69k', strict=True) + + def test_uts46_2784(self): + self.assertRaises(idna.IDNAError, idna.decode, '۬.ࢢ𐹫ټ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '۬.ࢢ𐹫ټ', strict=True) + + def test_uts46_2785(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8lb.xn--1ib31ily45b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8lb.xn--1ib31ily45b', strict=True) + + def test_uts46_2790(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴣ𐹻.\u200c𝪣≮\U000e0a49', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴣ𐹻.\u200c𝪣≮\U000e0a49', strict=True) + + def test_uts46_2791(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴣ𐹻.\u200c𝪣≮\U000e0a49', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴣ𐹻.\u200c𝪣≮\U000e0a49', strict=True) + + def test_uts46_2792(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴣ𐹻.\u200c𝪣≮\U000e0a49', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴣ𐹻.\u200c𝪣≮\U000e0a49', strict=True) + + def test_uts46_2793(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴣ𐹻.\u200c𝪣≮\U000e0a49', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴣ𐹻.\u200c𝪣≮\U000e0a49', strict=True) + + def test_uts46_2794(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rlj6323e.xn--gdh4944ob3x3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rlj6323e.xn--gdh4944ob3x3e', strict=True) + + def test_uts46_2795(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rlj6323e.xn--0ugy6gn120eb103g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rlj6323e.xn--0ugy6gn120eb103g', strict=True) + + def test_uts46_2796(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7nd8101k.xn--gdh4944ob3x3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7nd8101k.xn--gdh4944ob3x3e', strict=True) + + def test_uts46_2797(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7nd8101k.xn--0ugy6gn120eb103g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7nd8101k.xn--0ugy6gn120eb103g', strict=True) + + def test_uts46_2798(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟵隁⯮.᠍\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟵隁⯮.᠍\u200c', strict=True) + + def test_uts46_2799(self): + self.assertRaises(idna.IDNAError, idna.decode, '9隁⯮.᠍\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9隁⯮.᠍\u200c', strict=True) + + def test_uts46_2800(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-mfs8024b.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-mfs8024b.', strict=True) + + def test_uts46_2801(self): + self.assertRaises(idna.IDNAError, idna.decode, '9隁⯮.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9隁⯮.', strict=True) + + def test_uts46_2802(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-mfs8024b.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-mfs8024b.xn--0ug', strict=True) + + def test_uts46_2803(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒏𐹧。Ⴣ྄彦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒏𐹧。Ⴣ྄彦', strict=True) + + def test_uts46_2804(self): + self.assertRaises(idna.IDNAError, idna.decode, '8.𐹧。Ⴣ྄彦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8.𐹧。Ⴣ྄彦', strict=True) + + def test_uts46_2805(self): + self.assertRaises(idna.IDNAError, idna.decode, '8.𐹧。ⴣ྄彦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8.𐹧。ⴣ྄彦', strict=True) + + def test_uts46_2806(self): + self.assertRaises(idna.IDNAError, idna.decode, '8.xn--fo0d.xn--3ed972m6o8a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8.xn--fo0d.xn--3ed972m6o8a', strict=True) + + def test_uts46_2807(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒏𐹧。ⴣ྄彦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒏𐹧。ⴣ྄彦', strict=True) + + def test_uts46_2808(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0sh2466f.xn--3ed972m6o8a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0sh2466f.xn--3ed972m6o8a', strict=True) + + def test_uts46_2809(self): + self.assertRaises(idna.IDNAError, idna.decode, '8.xn--fo0d.xn--3ed15dt93o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8.xn--fo0d.xn--3ed15dt93o', strict=True) + + def test_uts46_2810(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0sh2466f.xn--3ed15dt93o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0sh2466f.xn--3ed15dt93o', strict=True) + + def test_uts46_2811(self): + self.assertRaises(idna.IDNAError, idna.decode, '-问\U0006cc14⒛。\u0604-\U0005c5c9橬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-问\U0006cc14⒛。\u0604-\U0005c5c9橬', strict=True) + + def test_uts46_2812(self): + self.assertRaises(idna.IDNAError, idna.decode, '-问\U0006cc1420.。\u0604-\U0005c5c9橬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-问\U0006cc1420.。\u0604-\U0005c5c9橬', strict=True) + + def test_uts46_2813(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---20-658jx1776d..xn----ykc7228efm46d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---20-658jx1776d..xn----ykc7228efm46d', strict=True) + + def test_uts46_2814(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----hdpu849bhis3e.xn----ykc7228efm46d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----hdpu849bhis3e.xn----ykc7228efm46d', strict=True) + + def test_uts46_2815(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᮬႬ\u200c̥。𝟸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᮬႬ\u200c̥。𝟸', strict=True) + + def test_uts46_2816(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᮬႬ\u200c̥。2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᮬႬ\u200c̥。2', strict=True) + + def test_uts46_2817(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᮬⴌ\u200c̥。2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᮬⴌ\u200c̥。2', strict=True) + + def test_uts46_2818(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mta176jjjm.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mta176jjjm.c', strict=True) + + def test_uts46_2819(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mta176j97cl2q.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mta176j97cl2q.c', strict=True) + + def test_uts46_2820(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᮬⴌ\u200c̥。𝟸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᮬⴌ\u200c̥。𝟸', strict=True) + + def test_uts46_2821(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mta930emri.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mta930emri.c', strict=True) + + def test_uts46_2822(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mta930emribme.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mta930emribme.c', strict=True) + + def test_uts46_2823(self): + self.assertRaises(idna.IDNAError, idna.decode, '?。꠆٩\U000e04a9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '?。꠆٩\U000e04a9', strict=True) + + def test_uts46_2824(self): + self.assertRaises(idna.IDNAError, idna.decode, '?.xn--iib9583fusy0i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '?.xn--iib9583fusy0i', strict=True) + + def test_uts46_2825(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄁͟⾶。₇︒눇≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄁͟⾶。₇︒눇≮', strict=True) + + def test_uts46_2826(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄁͟⾶。₇︒눇≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄁͟⾶。₇︒눇≮', strict=True) + + def test_uts46_2827(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄁͟飛。7。눇≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄁͟飛。7。눇≮', strict=True) + + def test_uts46_2828(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄁͟飛。7。눇≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄁͟飛。7。눇≮', strict=True) + + def test_uts46_2829(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ua0567e.7.xn--gdh6767c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ua0567e.7.xn--gdh6767c', strict=True) + + def test_uts46_2830(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ua0567e.xn--7-ngou006d1ttc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ua0567e.xn--7-ngou006d1ttc', strict=True) + + def test_uts46_2831(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c︉𐹴\u200d.\u200c⿃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c︉𐹴\u200d.\u200c⿃', strict=True) + + def test_uts46_2832(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c︉𐹴\u200d.\u200c鳥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c︉𐹴\u200d.\u200c鳥', strict=True) + + def test_uts46_2833(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--so0d.xn--6x6a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--so0d.xn--6x6a', strict=True) + + def test_uts46_2834(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugc6024p.xn--0ug1920c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugc6024p.xn--0ug1920c', strict=True) + + def test_uts46_2835(self): + self.assertRaises(idna.IDNAError, idna.decode, '🍮.\u200d\U000e05d2𐦁𝨝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🍮.\u200d\U000e05d2𐦁𝨝', strict=True) + + def test_uts46_2836(self): + self.assertRaises(idna.IDNAError, idna.decode, '🍮.\u200d\U000e05d2𐦁𝨝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🍮.\u200d\U000e05d2𐦁𝨝', strict=True) + + def test_uts46_2837(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lj8h.xn--ln9ci476aqmr2g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lj8h.xn--ln9ci476aqmr2g', strict=True) + + def test_uts46_2838(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lj8h.xn--1ug6603gr1pfwq37h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lj8h.xn--1ug6603gr1pfwq37h', strict=True) + + def test_uts46_2839(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٽृ.𞤓\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٽृ.𞤓\u200d', strict=True) + + def test_uts46_2840(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٽृ.𞤵\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٽृ.𞤵\u200d', strict=True) + + def test_uts46_2841(self): + self.assertEqual(idna.decode('xn--2ib43l.xn--te6h', uts46=True, strict=True), 'ٽृ.𞤵') + self.assertEqual(idna.encode('xn--2ib43l.xn--te6h', uts46=True, strict=True), b'xn--2ib43l.xn--te6h') + + def test_uts46_2842(self): + self.assertEqual(idna.decode('ٽृ.𞤵', uts46=True, strict=True), 'ٽृ.𞤵') + self.assertEqual(idna.encode('ٽृ.𞤵', uts46=True, strict=True), b'xn--2ib43l.xn--te6h') + + def test_uts46_2843(self): + self.assertEqual(idna.decode('ٽृ.𞤓', uts46=True, strict=True), 'ٽृ.𞤵') + self.assertEqual(idna.encode('ٽृ.𞤓', uts46=True, strict=True), b'xn--2ib43l.xn--te6h') + + def test_uts46_2844(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2ib43l.xn--1ugy711p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2ib43l.xn--1ugy711p', strict=True) + + def test_uts46_2845(self): + self.assertRaises(idna.IDNAError, idna.decode, '٤੍-.\U000e573d္\U00066990', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٤੍-.\U000e573d္\U00066990', strict=True) + + def test_uts46_2846(self): + self.assertRaises(idna.IDNAError, idna.decode, '٤੍-.\U000e573d္\U00066990', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٤੍-.\U000e573d္\U00066990', strict=True) + + def test_uts46_2847(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----gqc711a.xn--9jd88234f3qm0b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----gqc711a.xn--9jd88234f3qm0b', strict=True) + + def test_uts46_2848(self): + self.assertRaises(idna.IDNAError, idna.decode, '4်-𐹸。ꨩ\u200c𐹴≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4်-𐹸。ꨩ\u200c𐹴≮', strict=True) + + def test_uts46_2849(self): + self.assertRaises(idna.IDNAError, idna.decode, '4်-𐹸。ꨩ\u200c𐹴≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4်-𐹸。ꨩ\u200c𐹴≮', strict=True) + + def test_uts46_2850(self): + self.assertRaises(idna.IDNAError, idna.decode, '4်-𐹸。ꨩ\u200c𐹴≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4်-𐹸。ꨩ\u200c𐹴≮', strict=True) + + def test_uts46_2851(self): + self.assertRaises(idna.IDNAError, idna.decode, '4်-𐹸。ꨩ\u200c𐹴≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4်-𐹸。ꨩ\u200c𐹴≮', strict=True) + + def test_uts46_2852(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4--e4j7831r.xn--gdh8754cz40c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4--e4j7831r.xn--gdh8754cz40c', strict=True) + + def test_uts46_2853(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4--e4j7831r.xn--0ugy6gjy5sl3ud', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4--e4j7831r.xn--0ugy6gjy5sl3ud', strict=True) + + def test_uts46_2854(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。ᅠ྄ྖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。ᅠ྄ྖ', strict=True) + + def test_uts46_2855(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。ᅠ྄ྖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。ᅠ྄ྖ', strict=True) + + def test_uts46_2856(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--3ed0b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--3ed0b', strict=True) + + def test_uts46_2857(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--3ed0b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--3ed0b', strict=True) + + def test_uts46_2858(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--3ed0b20h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--3ed0b20h', strict=True) + + def test_uts46_2859(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--3ed0b20h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--3ed0b20h', strict=True) + + def test_uts46_2860(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--3ed0by082k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--3ed0by082k', strict=True) + + def test_uts46_2861(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--3ed0by082k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--3ed0by082k', strict=True) + + def test_uts46_2862(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯\U0008d605.\u200d𐅼\U000b21db', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯\U0008d605.\u200d𐅼\U000b21db', strict=True) + + def test_uts46_2863(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯\U0008d605.\u200d𐅼\U000b21db', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯\U0008d605.\u200d𐅼\U000b21db', strict=True) + + def test_uts46_2864(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯\U0008d605.\u200d𐅼\U000b21db', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯\U0008d605.\u200d𐅼\U000b21db', strict=True) + + def test_uts46_2865(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯\U0008d605.\u200d𐅼\U000b21db', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯\U0008d605.\u200d𐅼\U000b21db', strict=True) + + def test_uts46_2866(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh84488f.xn--xy7cw2886b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh84488f.xn--xy7cw2886b', strict=True) + + def test_uts46_2867(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh84488f.xn--1ug8099fbjp4e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh84488f.xn--1ug8099fbjp4e', strict=True) + + def test_uts46_2868(self): + self.assertRaises(idna.IDNAError, idna.decode, 'فß𐰯。𝟕𐫫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'فß𐰯。𝟕𐫫', strict=True) + + def test_uts46_2869(self): + self.assertRaises(idna.IDNAError, idna.decode, 'فß𐰯。7𐫫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'فß𐰯。7𐫫', strict=True) + + def test_uts46_2870(self): + self.assertRaises(idna.IDNAError, idna.decode, 'فSS𐰯。7𐫫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'فSS𐰯。7𐫫', strict=True) + + def test_uts46_2871(self): + self.assertRaises(idna.IDNAError, idna.decode, 'فss𐰯。7𐫫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'فss𐰯。7𐫫', strict=True) + + def test_uts46_2872(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-jvd2339x.xn--7-mm5i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-jvd2339x.xn--7-mm5i', strict=True) + + def test_uts46_2873(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca96ys96y.xn--7-mm5i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca96ys96y.xn--7-mm5i', strict=True) + + def test_uts46_2874(self): + self.assertRaises(idna.IDNAError, idna.decode, 'فSS𐰯。𝟕𐫫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'فSS𐰯。𝟕𐫫', strict=True) + + def test_uts46_2875(self): + self.assertRaises(idna.IDNAError, idna.decode, 'فss𐰯。𝟕𐫫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'فss𐰯。𝟕𐫫', strict=True) + + def test_uts46_2876(self): + self.assertRaises(idna.IDNAError, idna.decode, 'فSs𐰯。7𐫫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'فSs𐰯。7𐫫', strict=True) + + def test_uts46_2877(self): + self.assertRaises(idna.IDNAError, idna.decode, 'فSs𐰯。𝟕𐫫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'فSs𐰯。𝟕𐫫', strict=True) + + def test_uts46_2878(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ßެާࢱ。𐭁\U00105b99𐹲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ßެާࢱ。𐭁\U00105b99𐹲', strict=True) + + def test_uts46_2879(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SSެާࢱ。𐭁\U00105b99𐹲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SSެާࢱ。𐭁\U00105b99𐹲', strict=True) + + def test_uts46_2880(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ssެާࢱ。𐭁\U00105b99𐹲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ssެާࢱ。𐭁\U00105b99𐹲', strict=True) + + def test_uts46_2881(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ssެާࢱ。𐭁\U00105b99𐹲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ssެާࢱ。𐭁\U00105b99𐹲', strict=True) + + def test_uts46_2882(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-9qet02k.xn--e09co8cr9861c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-9qet02k.xn--e09co8cr9861c', strict=True) + + def test_uts46_2883(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca685aoa95h.xn--e09co8cr9861c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca685aoa95h.xn--e09co8cr9861c', strict=True) + + def test_uts46_2884(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。\U000e0257⒌\U0001ebdb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。\U000e0257⒌\U0001ebdb', strict=True) + + def test_uts46_2885(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。\U000e02575.\U0001ebdb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。\U000e02575.\U0001ebdb', strict=True) + + def test_uts46_2886(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--5-zz21m.xn--6x6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--5-zz21m.xn--6x6h', strict=True) + + def test_uts46_2887(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--xsh6367n1bi3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--xsh6367n1bi3e', strict=True) + + def test_uts46_2888(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fς.-≮ﲫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fς.-≮ﲫ', strict=True) + + def test_uts46_2889(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fς.-≮ﲫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fς.-≮ﲫ', strict=True) + + def test_uts46_2890(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fς.-≮خج', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fς.-≮خج', strict=True) + + def test_uts46_2891(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fς.-≮خج', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fς.-≮خج', strict=True) + + def test_uts46_2892(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fΣ.-≮خج', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fΣ.-≮خج', strict=True) + + def test_uts46_2893(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fΣ.-≮خج', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fΣ.-≮خج', strict=True) + + def test_uts46_2894(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fσ.-≮خج', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fσ.-≮خج', strict=True) + + def test_uts46_2895(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fσ.-≮خج', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fσ.-≮خج', strict=True) + + def test_uts46_2896(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa92520c.xn----9mcf1400a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa92520c.xn----9mcf1400a', strict=True) + + def test_uts46_2897(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa13520c.xn----9mcf1400a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa13520c.xn----9mcf1400a', strict=True) + + def test_uts46_2898(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fΣ.-≮ﲫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fΣ.-≮ﲫ', strict=True) + + def test_uts46_2899(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fΣ.-≮ﲫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fΣ.-≮ﲫ', strict=True) + + def test_uts46_2900(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fσ.-≮ﲫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fσ.-≮ﲫ', strict=True) + + def test_uts46_2901(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003c38fσ.-≮ﲫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003c38fσ.-≮ﲫ', strict=True) + + def test_uts46_2902(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡗࢸܙ.\U00054914\U000e06d9్ﰾ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡗࢸܙ.\U00054914\U000e06d9్ﰾ', strict=True) + + def test_uts46_2903(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡗࢸܙ.\U00054914\U000e06d9్كي', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡗࢸܙ.\U00054914\U000e06d9్كي', strict=True) + + def test_uts46_2904(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jnb34fs003a.xn--fhbo927bk128mpi24d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jnb34fs003a.xn--fhbo927bk128mpi24d', strict=True) + + def test_uts46_2905(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐠰ࢷ𞤌𐫭。𐋦៍𝩃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐠰ࢷ𞤌𐫭。𐋦៍𝩃', strict=True) + + def test_uts46_2906(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐠰ࢷ𞤮𐫭。𐋦៍𝩃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐠰ࢷ𞤮𐫭。𐋦៍𝩃', strict=True) + + def test_uts46_2907(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dzb5191kezbrw47a.xn--p4e3841jz9tf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dzb5191kezbrw47a.xn--p4e3841jz9tf', strict=True) + + def test_uts46_2908(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐠰ࢷ𞤮𐫭.𐋦៍𝩃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐠰ࢷ𞤮𐫭.𐋦៍𝩃', strict=True) + + def test_uts46_2909(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐠰ࢷ𞤌𐫭.𐋦៍𝩃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐠰ࢷ𞤌𐫭.𐋦៍𝩃', strict=True) + + def test_uts46_2910(self): + self.assertRaises(idna.IDNAError, idna.decode, '₂㘷--。ۓ\u200c𐫆𑖿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '₂㘷--。ۓ\u200c𐫆𑖿', strict=True) + + def test_uts46_2911(self): + self.assertRaises(idna.IDNAError, idna.decode, '₂㘷--。ۓ\u200c𐫆𑖿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '₂㘷--。ۓ\u200c𐫆𑖿', strict=True) + + def test_uts46_2912(self): + self.assertRaises(idna.IDNAError, idna.decode, '2㘷--。ۓ\u200c𐫆𑖿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2㘷--。ۓ\u200c𐫆𑖿', strict=True) + + def test_uts46_2913(self): + self.assertRaises(idna.IDNAError, idna.decode, '2㘷--。ۓ\u200c𐫆𑖿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2㘷--。ۓ\u200c𐫆𑖿', strict=True) + + def test_uts46_2914(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2---u58b.xn--jlb8024k14g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2---u58b.xn--jlb8024k14g', strict=True) + + def test_uts46_2915(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2---u58b.xn--jlb820ku99nbgj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2---u58b.xn--jlb820ku99nbgj', strict=True) + + def test_uts46_2916(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𘊻.ᡮح-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𘊻.ᡮح-', strict=True) + + def test_uts46_2917(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𘊻.ᡮح-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𘊻.ᡮح-', strict=True) + + def test_uts46_2918(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----bp5n.xn----bnc231l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----bp5n.xn----bnc231l', strict=True) + + def test_uts46_2919(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c-ß。ᢣ𐹭ؿ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c-ß。ᢣ𐹭ؿ', strict=True) + + def test_uts46_2920(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c-ß。ᢣ𐹭ؿ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c-ß。ᢣ𐹭ؿ', strict=True) + + def test_uts46_2921(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c-SS。ᢣ𐹭ؿ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c-SS。ᢣ𐹭ؿ', strict=True) + + def test_uts46_2922(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c-ss。ᢣ𐹭ؿ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c-ss。ᢣ𐹭ؿ', strict=True) + + def test_uts46_2923(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c-Ss。ᢣ𐹭ؿ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c-Ss。ᢣ𐹭ؿ', strict=True) + + def test_uts46_2924(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ss.xn--bhb925glx3p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ss.xn--bhb925glx3p', strict=True) + + def test_uts46_2925(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---ss-8m0a.xn--bhb925glx3p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---ss-8m0a.xn--bhb925glx3p', strict=True) + + def test_uts46_2926(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----qfa550v.xn--bhb925glx3p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----qfa550v.xn--bhb925glx3p', strict=True) + + def test_uts46_2927(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c-SS。ᢣ𐹭ؿ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c-SS。ᢣ𐹭ؿ', strict=True) + + def test_uts46_2928(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c-ss。ᢣ𐹭ؿ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c-ss。ᢣ𐹭ؿ', strict=True) + + def test_uts46_2929(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c-Ss。ᢣ𐹭ؿ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c-Ss。ᢣ𐹭ؿ', strict=True) + + def test_uts46_2930(self): + self.assertEqual(idna.decode('꧐Ӏ᮪ࣶ.눵', uts46=True, strict=True), '꧐ӏ᮪ࣶ.눵') + self.assertEqual(idna.encode('꧐Ӏ᮪ࣶ.눵', uts46=True, strict=True), b'xn--s5a04sn4u297k.xn--2e1b') + + def test_uts46_2931(self): + self.assertEqual(idna.decode('꧐Ӏ᮪ࣶ.눵', uts46=True, strict=True), '꧐ӏ᮪ࣶ.눵') + self.assertEqual(idna.encode('꧐Ӏ᮪ࣶ.눵', uts46=True, strict=True), b'xn--s5a04sn4u297k.xn--2e1b') + + def test_uts46_2932(self): + self.assertEqual(idna.decode('꧐Ӏ᮪ࣶ.눵', uts46=True, strict=True), '꧐ӏ᮪ࣶ.눵') + self.assertEqual(idna.encode('꧐Ӏ᮪ࣶ.눵', uts46=True, strict=True), b'xn--s5a04sn4u297k.xn--2e1b') + + def test_uts46_2933(self): + self.assertEqual(idna.decode('꧐Ӏ᮪ࣶ.눵', uts46=True, strict=True), '꧐ӏ᮪ࣶ.눵') + self.assertEqual(idna.encode('꧐Ӏ᮪ࣶ.눵', uts46=True, strict=True), b'xn--s5a04sn4u297k.xn--2e1b') + + def test_uts46_2934(self): + self.assertEqual(idna.decode('꧐ӏ᮪ࣶ.눵', uts46=True, strict=True), '꧐ӏ᮪ࣶ.눵') + self.assertEqual(idna.encode('꧐ӏ᮪ࣶ.눵', uts46=True, strict=True), b'xn--s5a04sn4u297k.xn--2e1b') + + def test_uts46_2935(self): + self.assertEqual(idna.decode('꧐ӏ᮪ࣶ.눵', uts46=True, strict=True), '꧐ӏ᮪ࣶ.눵') + self.assertEqual(idna.encode('꧐ӏ᮪ࣶ.눵', uts46=True, strict=True), b'xn--s5a04sn4u297k.xn--2e1b') + + def test_uts46_2936(self): + self.assertEqual(idna.decode('xn--s5a04sn4u297k.xn--2e1b', uts46=True, strict=True), '꧐ӏ᮪ࣶ.눵') + self.assertEqual(idna.encode('xn--s5a04sn4u297k.xn--2e1b', uts46=True, strict=True), b'xn--s5a04sn4u297k.xn--2e1b') + + def test_uts46_2937(self): + self.assertEqual(idna.decode('꧐ӏ᮪ࣶ.눵', uts46=True, strict=True), '꧐ӏ᮪ࣶ.눵') + self.assertEqual(idna.encode('꧐ӏ᮪ࣶ.눵', uts46=True, strict=True), b'xn--s5a04sn4u297k.xn--2e1b') + + def test_uts46_2938(self): + self.assertEqual(idna.decode('꧐ӏ᮪ࣶ.눵', uts46=True, strict=True), '꧐ӏ᮪ࣶ.눵') + self.assertEqual(idna.encode('꧐ӏ᮪ࣶ.눵', uts46=True, strict=True), b'xn--s5a04sn4u297k.xn--2e1b') + + def test_uts46_2939(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--d5a07sn4u297k.xn--2e1b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--d5a07sn4u297k.xn--2e1b', strict=True) + + def test_uts46_2940(self): + self.assertRaises(idna.IDNAError, idna.decode, '꣪。\U0001613f𑆾󠇗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꣪。\U0001613f𑆾󠇗', strict=True) + + def test_uts46_2941(self): + self.assertRaises(idna.IDNAError, idna.decode, '꣪。\U0001613f𑆾󠇗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꣪。\U0001613f𑆾󠇗', strict=True) + + def test_uts46_2942(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3g9a.xn--ud1dz07k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3g9a.xn--ud1dz07k', strict=True) + + def test_uts46_2943(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c74d3𑚳。\U00050dff≯⾇', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c74d3𑚳。\U00050dff≯⾇', strict=True) + + def test_uts46_2944(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c74d3𑚳。\U00050dff≯⾇', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c74d3𑚳。\U00050dff≯⾇', strict=True) + + def test_uts46_2945(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c74d3𑚳。\U00050dff≯舛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c74d3𑚳。\U00050dff≯舛', strict=True) + + def test_uts46_2946(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c74d3𑚳。\U00050dff≯舛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c74d3𑚳。\U00050dff≯舛', strict=True) + + def test_uts46_2947(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3e2d79770c.xn--hdh0088abyy1c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3e2d79770c.xn--hdh0088abyy1c', strict=True) + + def test_uts46_2948(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫇١\u200c.\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫇١\u200c.\u200d\u200c', strict=True) + + def test_uts46_2949(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫇١\u200c.\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫇١\u200c.\u200d\u200c', strict=True) + + def test_uts46_2952(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9hb652kv99n.xn--0ugb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9hb652kv99n.xn--0ugb', strict=True) + + def test_uts46_2953(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00061148砪≯ᢑ。≯𝩚\U00093d14\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00061148砪≯ᢑ。≯𝩚\U00093d14\u200c', strict=True) + + def test_uts46_2954(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00061148砪≯ᢑ。≯𝩚\U00093d14\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00061148砪≯ᢑ。≯𝩚\U00093d14\u200c', strict=True) + + def test_uts46_2955(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00061148砪≯ᢑ。≯𝩚\U00093d14\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00061148砪≯ᢑ。≯𝩚\U00093d14\u200c', strict=True) + + def test_uts46_2956(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00061148砪≯ᢑ。≯𝩚\U00093d14\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00061148砪≯ᢑ。≯𝩚\U00093d14\u200c', strict=True) + + def test_uts46_2957(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bbf561cf95e57y3e.xn--hdh0834o7mj6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bbf561cf95e57y3e.xn--hdh0834o7mj6b', strict=True) + + def test_uts46_2958(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bbf561cf95e57y3e.xn--0ugz6gc910ejro8c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bbf561cf95e57y3e.xn--0ugz6gc910ejro8c', strict=True) + + def test_uts46_2959(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴥ.𑄳㊸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴥ.𑄳㊸', strict=True) + + def test_uts46_2960(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴥ.𑄳43', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴥ.𑄳43', strict=True) + + def test_uts46_2961(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴥ.𑄳43', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴥ.𑄳43', strict=True) + + def test_uts46_2962(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tlj.xn--43-274o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tlj.xn--43-274o', strict=True) + + def test_uts46_2963(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴥ.𑄳㊸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴥ.𑄳㊸', strict=True) + + def test_uts46_2964(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9nd.xn--43-274o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9nd.xn--43-274o', strict=True) + + def test_uts46_2965(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟎٣。Ⴒᡇࣲ𐹠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟎٣。Ⴒᡇࣲ𐹠', strict=True) + + def test_uts46_2966(self): + self.assertRaises(idna.IDNAError, idna.decode, '0٣。Ⴒᡇࣲ𐹠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0٣。Ⴒᡇࣲ𐹠', strict=True) + + def test_uts46_2967(self): + self.assertRaises(idna.IDNAError, idna.decode, '0٣。ⴒᡇࣲ𐹠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '0٣。ⴒᡇࣲ𐹠', strict=True) + + def test_uts46_2968(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0-fqc.xn--10b369eivp359r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0-fqc.xn--10b369eivp359r', strict=True) + + def test_uts46_2969(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟎٣。ⴒᡇࣲ𐹠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟎٣。ⴒᡇࣲ𐹠', strict=True) + + def test_uts46_2970(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0-fqc.xn--10b180bnwgfy0z', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0-fqc.xn--10b180bnwgfy0z', strict=True) + + def test_uts46_2971(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00057aa8󠄉ᅠྷ.\U000787b0꥓', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00057aa8󠄉ᅠྷ.\U000787b0꥓', strict=True) + + def test_uts46_2972(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00057aa8󠄉ᅠྷ.\U000787b0꥓', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00057aa8󠄉ᅠྷ.\U000787b0꥓', strict=True) + + def test_uts46_2973(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kgd72212e.xn--3j9au7544a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kgd72212e.xn--3j9au7544a', strict=True) + + def test_uts46_2974(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kgd36f9z57y.xn--3j9au7544a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kgd36f9z57y.xn--3j9au7544a', strict=True) + + def test_uts46_2975(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kgd7493jee34a.xn--3j9au7544a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kgd7493jee34a.xn--3j9au7544a', strict=True) + + def test_uts46_2976(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ؘ.۳\u200c꥓', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ؘ.۳\u200c꥓', strict=True) + + def test_uts46_2977(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6fb.xn--gmb0524f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6fb.xn--gmb0524f', strict=True) + + def test_uts46_2978(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6fb.xn--gmb469jjf1h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6fb.xn--gmb469jjf1h', strict=True) + + def test_uts46_2979(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡌ.︒ᢑ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡌ.︒ᢑ', strict=True) + + def test_uts46_2980(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡌ.。ᢑ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡌ.。ᢑ', strict=True) + + def test_uts46_2981(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--c8e..xn--bbf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--c8e..xn--bbf', strict=True) + + def test_uts46_2982(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--c8e.xn--bbf9168i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--c8e.xn--bbf9168i', strict=True) + + def test_uts46_2983(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑋪ၳ。\U0001ef67', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑋪ၳ。\U0001ef67', strict=True) + + def test_uts46_2984(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑋪ၳ。\U0001ef67', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑋪ၳ。\U0001ef67', strict=True) + + def test_uts46_2985(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xld7443k.xn--4o7h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xld7443k.xn--4o7h', strict=True) + + def test_uts46_2986(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001edcf。ᠢ\U00093606', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001edcf。ᠢ\U00093606', strict=True) + + def test_uts46_2987(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hd7h.xn--46e66060j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hd7h.xn--46e66060j', strict=True) + + def test_uts46_2988(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑄳㴼.\u200c𐹡⃫\U0006bea6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑄳㴼.\u200c𐹡⃫\U0006bea6', strict=True) + + def test_uts46_2989(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑄳㴼.\u200c𐹡⃫\U0006bea6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑄳㴼.\u200c𐹡⃫\U0006bea6', strict=True) + + def test_uts46_2990(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--iym9428c.xn--e1g3464g08p3b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--iym9428c.xn--e1g3464g08p3b', strict=True) + + def test_uts46_2991(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--iym9428c.xn--0ug46a7218cllv0c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--iym9428c.xn--0ug46a7218cllv0c', strict=True) + + def test_uts46_2992(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00060edf𐹳𑈯。̝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00060edf𐹳𑈯。̝', strict=True) + + def test_uts46_2993(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00060edf𐹳𑈯。̝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00060edf𐹳𑈯。̝', strict=True) + + def test_uts46_2994(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ro0dw7dey96m.xn--eta', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ro0dw7dey96m.xn--eta', strict=True) + + def test_uts46_2995(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢊ뾜\U000e0c74𑚶。࢝𐹥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢊ뾜\U000e0c74𑚶。࢝𐹥', strict=True) + + def test_uts46_2996(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢊ뾜\U000e0c74𑚶。࢝𐹥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢊ뾜\U000e0c74𑚶。࢝𐹥', strict=True) + + def test_uts46_2997(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--39e4566fjv8bwmt6n.xn--myb6415k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--39e4566fjv8bwmt6n.xn--myb6415k', strict=True) + + def test_uts46_2998(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹥≠。𐋲\U000e09e0\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹥≠。𐋲\U000e09e0\u200c', strict=True) + + def test_uts46_2999(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹥≠。𐋲\U000e09e0\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹥≠。𐋲\U000e09e0\u200c', strict=True) + + def test_uts46_3000(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹥≠。𐋲\U000e09e0\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹥≠。𐋲\U000e09e0\u200c', strict=True) + + def test_uts46_3001(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹥≠。𐋲\U000e09e0\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹥≠。𐋲\U000e09e0\u200c', strict=True) + + def test_uts46_3002(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch6704g.xn--m97cw2999c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch6704g.xn--m97cw2999c', strict=True) + + def test_uts46_3003(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch6704g.xn--0ug3840g51u4g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch6704g.xn--0ug3840g51u4g', strict=True) + + def test_uts46_3004(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟ\U00059be0्.\u200d꥓\U00010aa4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟ\U00059be0्.\u200d꥓\U00010aa4', strict=True) + + def test_uts46_3005(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟ\U00059be0्.\u200d꥓\U00010aa4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟ\U00059be0्.\u200d꥓\U00010aa4', strict=True) + + def test_uts46_3006(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n3b91514e.xn--3j9al95p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n3b91514e.xn--3j9al95p', strict=True) + + def test_uts46_3007(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n3b91514e.xn--1ug6815co9wc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n3b91514e.xn--1ug6815co9wc', strict=True) + + def test_uts46_3008(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n3b542bb085j.xn--3j9al95p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n3b542bb085j.xn--3j9al95p', strict=True) + + def test_uts46_3009(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n3b542bb085j.xn--1ug6815co9wc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n3b542bb085j.xn--1ug6815co9wc', strict=True) + + def test_uts46_3010(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0008c2d4󠆎󠆗𑲕。≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0008c2d4󠆎󠆗𑲕。≮', strict=True) + + def test_uts46_3011(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0008c2d4󠆎󠆗𑲕。≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0008c2d4󠆎󠆗𑲕。≮', strict=True) + + def test_uts46_3012(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4m3dv4354a.xn--gdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4m3dv4354a.xn--gdh', strict=True) + + def test_uts46_3013(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆦.ࣣ暀≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆦.ࣣ暀≠', strict=True) + + def test_uts46_3014(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆦.ࣣ暀≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆦.ࣣ暀≠', strict=True) + + def test_uts46_3015(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--m0b461k3g2c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--m0b461k3g2c', strict=True) + + def test_uts46_3016(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐡤꯭。ﴰ\U0009c585ᷰ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐡤꯭。ﴰ\U0009c585ᷰ', strict=True) + + def test_uts46_3017(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐡤꯭。شم\U0009c585ᷰ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐡤꯭。شم\U0009c585ᷰ', strict=True) + + def test_uts46_3018(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--429ak76o.xn--zgb8a701kox37t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--429ak76o.xn--zgb8a701kox37t', strict=True) + + def test_uts46_3019(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝉃\u200d⒈。Ⴌ\U0001ec53', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝉃\u200d⒈。Ⴌ\U0001ec53', strict=True) + + def test_uts46_3020(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝉃\u200d1.。Ⴌ\U0001ec53', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝉃\u200d1.。Ⴌ\U0001ec53', strict=True) + + def test_uts46_3021(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝉃\u200d1.。ⴌ\U0001ec53', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝉃\u200d1.。ⴌ\U0001ec53', strict=True) + + def test_uts46_3022(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-px8q..xn--3kj4524l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-px8q..xn--3kj4524l', strict=True) + + def test_uts46_3023(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-tgn9827q..xn--3kj4524l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-tgn9827q..xn--3kj4524l', strict=True) + + def test_uts46_3024(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝉃\u200d⒈。ⴌ\U0001ec53', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝉃\u200d⒈。ⴌ\U0001ec53', strict=True) + + def test_uts46_3025(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tshz828m.xn--3kj4524l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tshz828m.xn--3kj4524l', strict=True) + + def test_uts46_3026(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug68oq348b.xn--3kj4524l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug68oq348b.xn--3kj4524l', strict=True) + + def test_uts46_3027(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-px8q..xn--knd8464v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-px8q..xn--knd8464v', strict=True) + + def test_uts46_3028(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-tgn9827q..xn--knd8464v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-tgn9827q..xn--knd8464v', strict=True) + + def test_uts46_3029(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tshz828m.xn--knd8464v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tshz828m.xn--knd8464v', strict=True) + + def test_uts46_3030(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug68oq348b.xn--knd8464v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug68oq348b.xn--knd8464v', strict=True) + + def test_uts46_3031(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e08d9੍𱫘𞤸.ς\U00075bde\U00108c14', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e08d9੍𱫘𞤸.ς\U00075bde\U00108c14', strict=True) + + def test_uts46_3032(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e08d9੍𱫘𞤖.Σ\U00075bde\U00108c14', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e08d9੍𱫘𞤖.Σ\U00075bde\U00108c14', strict=True) + + def test_uts46_3033(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e08d9੍𱫘𞤸.σ\U00075bde\U00108c14', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e08d9੍𱫘𞤸.σ\U00075bde\U00108c14', strict=True) + + def test_uts46_3034(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e08d9੍𱫘𞤖.σ\U00075bde\U00108c14', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e08d9੍𱫘𞤖.σ\U00075bde\U00108c14', strict=True) + + def test_uts46_3035(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ybc0236vjvxgt5q0g.xn--4xa82737giye6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ybc0236vjvxgt5q0g.xn--4xa82737giye6b', strict=True) + + def test_uts46_3036(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e08d9੍𱫘𞤖.ς\U00075bde\U00108c14', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e08d9੍𱫘𞤖.ς\U00075bde\U00108c14', strict=True) + + def test_uts46_3037(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ybc0236vjvxgt5q0g.xn--3xa03737giye6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ybc0236vjvxgt5q0g.xn--3xa03737giye6b', strict=True) + + def test_uts46_3038(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e08d9੍𱫘𞤸.Σ\U00075bde\U00108c14', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e08d9੍𱫘𞤸.Σ\U00075bde\U00108c14', strict=True) + + def test_uts46_3039(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߓ。\u200c𐫀\U0009eb71', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߓ。\u200c𐫀\U0009eb71', strict=True) + + def test_uts46_3040(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--usb.xn--pw9ci1099a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--usb.xn--pw9ci1099a', strict=True) + + def test_uts46_3041(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--usb.xn--0ug9553gm3v5d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--usb.xn--0ug9553gm3v5d', strict=True) + + def test_uts46_3042(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᰮ𞀝.֦ꡟ𞤕󠆖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᰮ𞀝.֦ꡟ𞤕󠆖', strict=True) + + def test_uts46_3043(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᰮ𞀝.֦ꡟ𞤷󠆖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᰮ𞀝.֦ꡟ𞤷󠆖', strict=True) + + def test_uts46_3044(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--q1f4493q.xn--xcb8244fifvj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--q1f4493q.xn--xcb8244fifvj', strict=True) + + def test_uts46_3045(self): + self.assertRaises(idna.IDNAError, idna.decode, '䂹\U000fe585𐋦.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䂹\U000fe585𐋦.\u200d', strict=True) + + def test_uts46_3046(self): + self.assertRaises(idna.IDNAError, idna.decode, '䂹\U000fe585𐋦.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䂹\U000fe585𐋦.\u200d', strict=True) + + def test_uts46_3047(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0on3543c5981i.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0on3543c5981i.', strict=True) + + def test_uts46_3048(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0on3543c5981i.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0on3543c5981i.xn--1ug', strict=True) + + def test_uts46_3049(self): + self.assertRaises(idna.IDNAError, idna.decode, '꧀\u200c𐹲\u200c。ݧ🄉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꧀\u200c𐹲\u200c。ݧ🄉', strict=True) + + def test_uts46_3050(self): + self.assertRaises(idna.IDNAError, idna.decode, '꧀\u200c𐹲\u200c。ݧ8,', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꧀\u200c𐹲\u200c。ݧ8,', strict=True) + + def test_uts46_3051(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7m9an32q.xn--8,-qle', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7m9an32q.xn--8,-qle', strict=True) + + def test_uts46_3052(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0uga8686hdgvd.xn--8,-qle', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0uga8686hdgvd.xn--8,-qle', strict=True) + + def test_uts46_3053(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7m9an32q.xn--rpb6081w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7m9an32q.xn--rpb6081w', strict=True) + + def test_uts46_3054(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0uga8686hdgvd.xn--rpb6081w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0uga8686hdgvd.xn--rpb6081w', strict=True) + + def test_uts46_3055(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒。Ⴃ≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒。Ⴃ≯', strict=True) + + def test_uts46_3056(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒。Ⴃ≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒。Ⴃ≯', strict=True) + + def test_uts46_3057(self): + self.assertRaises(idna.IDNAError, idna.decode, '。。Ⴃ≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。。Ⴃ≯', strict=True) + + def test_uts46_3058(self): + self.assertRaises(idna.IDNAError, idna.decode, '。。Ⴃ≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。。Ⴃ≯', strict=True) + + def test_uts46_3059(self): + self.assertRaises(idna.IDNAError, idna.decode, '。。ⴃ≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。。ⴃ≯', strict=True) + + def test_uts46_3060(self): + self.assertRaises(idna.IDNAError, idna.decode, '。。ⴃ≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。。ⴃ≯', strict=True) + + def test_uts46_3061(self): + self.assertRaises(idna.IDNAError, idna.decode, '..xn--hdh782b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '..xn--hdh782b', strict=True) + + def test_uts46_3062(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒。ⴃ≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒。ⴃ≯', strict=True) + + def test_uts46_3063(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒。ⴃ≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒。ⴃ≯', strict=True) + + def test_uts46_3064(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y86c.xn--hdh782b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y86c.xn--hdh782b', strict=True) + + def test_uts46_3065(self): + self.assertRaises(idna.IDNAError, idna.decode, '..xn--bnd622g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '..xn--bnd622g', strict=True) + + def test_uts46_3066(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y86c.xn--bnd622g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y86c.xn--bnd622g', strict=True) + + def test_uts46_3067(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹮。\U000e08bc\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹮。\U000e08bc\u200d', strict=True) + + def test_uts46_3068(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹮。\U000e08bc\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹮。\U000e08bc\u200d', strict=True) + + def test_uts46_3069(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mo0d.xn--wy46e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mo0d.xn--wy46e', strict=True) + + def test_uts46_3070(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mo0d.xn--1ug18431l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mo0d.xn--1ug18431l', strict=True) + + def test_uts46_3071(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴞ𐹨。︒ݽ\u200dႯ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴞ𐹨。︒ݽ\u200dႯ', strict=True) + + def test_uts46_3072(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴞ𐹨。。ݽ\u200dႯ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴞ𐹨。。ݽ\u200dႯ', strict=True) + + def test_uts46_3073(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴞ𐹨。。ݽ\u200dⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴞ𐹨。。ݽ\u200dⴏ', strict=True) + + def test_uts46_3074(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴞ𐹨。。ݽ\u200dⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴞ𐹨。。ݽ\u200dⴏ', strict=True) + + def test_uts46_3075(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mlju223e..xn--eqb053q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mlju223e..xn--eqb053q', strict=True) + + def test_uts46_3076(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mlju223e..xn--eqb096jpgj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mlju223e..xn--eqb096jpgj', strict=True) + + def test_uts46_3077(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴞ𐹨。︒ݽ\u200dⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴞ𐹨。︒ݽ\u200dⴏ', strict=True) + + def test_uts46_3078(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴞ𐹨。︒ݽ\u200dⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴞ𐹨。︒ݽ\u200dⴏ', strict=True) + + def test_uts46_3079(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mlju223e.xn--eqb053qjk7l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mlju223e.xn--eqb053qjk7l', strict=True) + + def test_uts46_3080(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mlju223e.xn--eqb096jpgj9y7r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mlju223e.xn--eqb096jpgj9y7r', strict=True) + + def test_uts46_3081(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd0990k..xn--eqb053q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd0990k..xn--eqb053q', strict=True) + + def test_uts46_3082(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd0990k..xn--eqb096jpgj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd0990k..xn--eqb096jpgj', strict=True) + + def test_uts46_3083(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd0990k..xn--eqb228b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd0990k..xn--eqb228b', strict=True) + + def test_uts46_3084(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd0990k..xn--eqb228bgzm', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd0990k..xn--eqb228bgzm', strict=True) + + def test_uts46_3085(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd0990k.xn--eqb053qjk7l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd0990k.xn--eqb053qjk7l', strict=True) + + def test_uts46_3086(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd0990k.xn--eqb096jpgj9y7r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd0990k.xn--eqb096jpgj9y7r', strict=True) + + def test_uts46_3087(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd0990k.xn--eqb228b583r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd0990k.xn--eqb228b583r', strict=True) + + def test_uts46_3088(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd0990k.xn--eqb228bgzmvp0t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd0990k.xn--eqb228bgzmvp0t', strict=True) + + def test_uts46_3089(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cႦ𝟹。-⃒-ߑ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cႦ𝟹。-⃒-ߑ', strict=True) + + def test_uts46_3090(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cႦ3。-⃒-ߑ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cႦ3。-⃒-ߑ', strict=True) + + def test_uts46_3091(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴆ3。-⃒-ߑ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴆ3。-⃒-ߑ', strict=True) + + def test_uts46_3092(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-lvs.xn-----vue617w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-lvs.xn-----vue617w', strict=True) + + def test_uts46_3093(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-rgnv99c.xn-----vue617w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-rgnv99c.xn-----vue617w', strict=True) + + def test_uts46_3094(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴆ𝟹。-⃒-ߑ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴆ𝟹。-⃒-ߑ', strict=True) + + def test_uts46_3095(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-i0g.xn-----vue617w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-i0g.xn-----vue617w', strict=True) + + def test_uts46_3096(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-i0g939i.xn-----vue617w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-i0g939i.xn-----vue617w', strict=True) + + def test_uts46_3097(self): + self.assertRaises(idna.IDNAError, idna.decode, '箃Ⴡ-\U000e005d。≠-🤖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '箃Ⴡ-\U000e005d。≠-🤖', strict=True) + + def test_uts46_3098(self): + self.assertRaises(idna.IDNAError, idna.decode, '箃Ⴡ-\U000e005d。≠-🤖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '箃Ⴡ-\U000e005d。≠-🤖', strict=True) + + def test_uts46_3099(self): + self.assertRaises(idna.IDNAError, idna.decode, '箃Ⴡ-\U000e005d。≠-🤖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '箃Ⴡ-\U000e005d。≠-🤖', strict=True) + + def test_uts46_3100(self): + self.assertRaises(idna.IDNAError, idna.decode, '箃Ⴡ-\U000e005d。≠-🤖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '箃Ⴡ-\U000e005d。≠-🤖', strict=True) + + def test_uts46_3101(self): + self.assertRaises(idna.IDNAError, idna.decode, '箃ⴡ-\U000e005d。≠-🤖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '箃ⴡ-\U000e005d。≠-🤖', strict=True) + + def test_uts46_3102(self): + self.assertRaises(idna.IDNAError, idna.decode, '箃ⴡ-\U000e005d。≠-🤖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '箃ⴡ-\U000e005d。≠-🤖', strict=True) + + def test_uts46_3103(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----4wsr321ay823p.xn----tfot873s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----4wsr321ay823p.xn----tfot873s', strict=True) + + def test_uts46_3104(self): + self.assertRaises(idna.IDNAError, idna.decode, '箃ⴡ-\U000e005d。≠-🤖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '箃ⴡ-\U000e005d。≠-🤖', strict=True) + + def test_uts46_3105(self): + self.assertRaises(idna.IDNAError, idna.decode, '箃ⴡ-\U000e005d。≠-🤖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '箃ⴡ-\U000e005d。≠-🤖', strict=True) + + def test_uts46_3106(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----11g3013fy8x5m.xn----tfot873s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----11g3013fy8x5m.xn----tfot873s', strict=True) + + def test_uts46_3107(self): + self.assertEqual(idna.decode('ߥ.ڵ', uts46=True, strict=True), 'ߥ.ڵ') + self.assertEqual(idna.encode('ߥ.ڵ', uts46=True, strict=True), b'xn--dtb.xn--okb') + + def test_uts46_3108(self): + self.assertEqual(idna.decode('xn--dtb.xn--okb', uts46=True, strict=True), 'ߥ.ڵ') + self.assertEqual(idna.encode('xn--dtb.xn--okb', uts46=True, strict=True), b'xn--dtb.xn--okb') + + def test_uts46_3109(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\u200d.𞤿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\u200d.𞤿', strict=True) + + def test_uts46_3110(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\u200d.𞤝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\u200d.𞤝', strict=True) + + def test_uts46_3111(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--3e6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--3e6h', strict=True) + + def test_uts46_3112(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugc.xn--3e6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugc.xn--3e6h', strict=True) + + def test_uts46_3113(self): + self.assertEqual(idna.decode('xn--3e6h', uts46=True, strict=True), '𞤿') + self.assertEqual(idna.encode('xn--3e6h', uts46=True, strict=True), b'xn--3e6h') + + def test_uts46_3114(self): + self.assertEqual(idna.decode('𞤿', uts46=True, strict=True), '𞤿') + self.assertEqual(idna.encode('𞤿', uts46=True, strict=True), b'xn--3e6h') + + def test_uts46_3115(self): + self.assertEqual(idna.decode('𞤝', uts46=True, strict=True), '𞤿') + self.assertEqual(idna.encode('𞤝', uts46=True, strict=True), b'xn--3e6h') + + def test_uts46_3116(self): + self.assertRaises(idna.IDNAError, idna.decode, '🜑𐹧ع.ς𑍍蜹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🜑𐹧ع.ς𑍍蜹', strict=True) + + def test_uts46_3117(self): + self.assertRaises(idna.IDNAError, idna.decode, '🜑𐹧ع.Σ𑍍蜹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🜑𐹧ع.Σ𑍍蜹', strict=True) + + def test_uts46_3118(self): + self.assertRaises(idna.IDNAError, idna.decode, '🜑𐹧ع.σ𑍍蜹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🜑𐹧ع.σ𑍍蜹', strict=True) + + def test_uts46_3119(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4gb3736kk4zf.xn--4xa2248dy27d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4gb3736kk4zf.xn--4xa2248dy27d', strict=True) + + def test_uts46_3120(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4gb3736kk4zf.xn--3xa4248dy27d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4gb3736kk4zf.xn--3xa4248dy27d', strict=True) + + def test_uts46_3121(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ab810ス\U001067e4٩.\U000da0df', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ab810ス\U001067e4٩.\U000da0df', strict=True) + + def test_uts46_3122(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ab810ス\U001067e4٩.\U000da0df', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ab810ス\U001067e4٩.\U000da0df', strict=True) + + def test_uts46_3123(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--iib777sp230oo708a.xn--7824e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--iib777sp230oo708a.xn--7824e', strict=True) + + def test_uts46_3124(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪣\U0009585d.֚?ۂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪣\U0009585d.֚?ۂ', strict=True) + + def test_uts46_3125(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪣\U0009585d.֚?ۂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪣\U0009585d.֚?ۂ', strict=True) + + def test_uts46_3126(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪣\U0009585d.֚?ۂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪣\U0009585d.֚?ۂ', strict=True) + + def test_uts46_3127(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪣\U0009585d.֚?ۂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪣\U0009585d.֚?ۂ', strict=True) + + def test_uts46_3128(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8c3hu7971a.xn--?-wec30g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8c3hu7971a.xn--?-wec30g', strict=True) + + def test_uts46_3129(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8c3hu7971a.֚?ۂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8c3hu7971a.֚?ۂ', strict=True) + + def test_uts46_3130(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8c3hu7971a.֚?ۂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8c3hu7971a.֚?ۂ', strict=True) + + def test_uts46_3131(self): + self.assertRaises(idna.IDNAError, idna.decode, 'XN--8C3HU7971A.֚?ۂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'XN--8C3HU7971A.֚?ۂ', strict=True) + + def test_uts46_3132(self): + self.assertRaises(idna.IDNAError, idna.decode, 'XN--8C3HU7971A.֚?ۂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'XN--8C3HU7971A.֚?ۂ', strict=True) + + def test_uts46_3133(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Xn--8c3hu7971a.֚?ۂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Xn--8c3hu7971a.֚?ۂ', strict=True) + + def test_uts46_3134(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Xn--8c3hu7971a.֚?ۂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Xn--8c3hu7971a.֚?ۂ', strict=True) + + def test_uts46_3135(self): + self.assertRaises(idna.IDNAError, idna.decode, '٠\U000aa4f5\u200c。ݗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٠\U000aa4f5\u200c。ݗ', strict=True) + + def test_uts46_3136(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8hb82030l.xn--bpb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8hb82030l.xn--bpb', strict=True) + + def test_uts46_3137(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8hb852ke991q.xn--bpb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8hb852ke991q.xn--bpb', strict=True) + + def test_uts46_3138(self): + self.assertRaises(idna.IDNAError, idna.decode, '်\u200d\u200c。-\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '်\u200d\u200c。-\u200c', strict=True) + + def test_uts46_3139(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bkd.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bkd.-', strict=True) + + def test_uts46_3140(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bkd412fca.xn----sgn', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bkd412fca.xn----sgn', strict=True) + + def test_uts46_3141(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒。᭄ᡉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒。᭄ᡉ', strict=True) + + def test_uts46_3142(self): + self.assertRaises(idna.IDNAError, idna.decode, '。。᭄ᡉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。。᭄ᡉ', strict=True) + + def test_uts46_3143(self): + self.assertRaises(idna.IDNAError, idna.decode, '..xn--87e93m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '..xn--87e93m', strict=True) + + def test_uts46_3144(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y86c.xn--87e93m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y86c.xn--87e93m', strict=True) + + def test_uts46_3145(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݘß。ጫᢊݨ𝟐', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݘß。ጫᢊݨ𝟐', strict=True) + + def test_uts46_3146(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݘß。ጫᢊݨ2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݘß。ጫᢊݨ2', strict=True) + + def test_uts46_3147(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݘSS。ጫᢊݨ2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݘSS。ጫᢊݨ2', strict=True) + + def test_uts46_3148(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݘss。ጫᢊݨ2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݘss。ጫᢊݨ2', strict=True) + + def test_uts46_3149(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-gke.xn--2-b5c641gfmf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-gke.xn--2-b5c641gfmf', strict=True) + + def test_uts46_3150(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca724a.xn--2-b5c641gfmf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca724a.xn--2-b5c641gfmf', strict=True) + + def test_uts46_3151(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݘSS。ጫᢊݨ𝟐', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݘSS。ጫᢊݨ𝟐', strict=True) + + def test_uts46_3152(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݘss。ጫᢊݨ𝟐', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݘss。ጫᢊݨ𝟐', strict=True) + + def test_uts46_3153(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݘSs。ጫᢊݨ2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݘSs。ጫᢊݨ2', strict=True) + + def test_uts46_3154(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݘSs。ጫᢊݨ𝟐', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݘSs。ጫᢊݨ𝟐', strict=True) + + def test_uts46_3155(self): + self.assertRaises(idna.IDNAError, idna.decode, '߃\U0001ed87ᚲ.ं͓𝟚্', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '߃\U0001ed87ᚲ.ं͓𝟚্', strict=True) + + def test_uts46_3156(self): + self.assertRaises(idna.IDNAError, idna.decode, '߃\U0001ed87ᚲ.ं͓2্', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '߃\U0001ed87ᚲ.ं͓2্', strict=True) + + def test_uts46_3157(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--esb067enh07a.xn--2-lgb874bjxa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--esb067enh07a.xn--2-lgb874bjxa', strict=True) + + def test_uts46_3158(self): + self.assertRaises(idna.IDNAError, idna.decode, '-᮫︒\u200d.\U00052d88\U00065e53', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-᮫︒\u200d.\U00052d88\U00065e53', strict=True) + + def test_uts46_3159(self): + self.assertRaises(idna.IDNAError, idna.decode, '-᮫。\u200d.\U00052d88\U00065e53', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-᮫。\u200d.\U00052d88\U00065e53', strict=True) + + def test_uts46_3160(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----qml..xn--x50zy803a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----qml..xn--x50zy803a', strict=True) + + def test_uts46_3161(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----qml.xn--1ug.xn--x50zy803a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----qml.xn--1ug.xn--x50zy803a', strict=True) + + def test_uts46_3162(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----qml1407i.xn--x50zy803a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----qml1407i.xn--x50zy803a', strict=True) + + def test_uts46_3163(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----qmlv7tw180a.xn--x50zy803a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----qmlv7tw180a.xn--x50zy803a', strict=True) + + def test_uts46_3164(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e09ae.≯𞀆', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e09ae.≯𞀆', strict=True) + + def test_uts46_3165(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e09ae.≯𞀆', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e09ae.≯𞀆', strict=True) + + def test_uts46_3166(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--t546e.xn--hdh5166o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--t546e.xn--hdh5166o', strict=True) + + def test_uts46_3167(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𑄳\U000e0297𐹩。\U0001ebb1', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𑄳\U000e0297𐹩。\U0001ebb1', strict=True) + + def test_uts46_3168(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----p26i72em2894c.xn--zw6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----p26i72em2894c.xn--zw6h', strict=True) + + def test_uts46_3169(self): + self.assertEqual(idna.decode('ڹ.ᡳᅟ', uts46=True, strict=True), 'ڹ.ᡳ') + self.assertEqual(idna.encode('ڹ.ᡳᅟ', uts46=True, strict=True), b'xn--skb.xn--g9e') + + def test_uts46_3170(self): + self.assertEqual(idna.decode('ڹ.ᡳᅟ', uts46=True, strict=True), 'ڹ.ᡳ') + self.assertEqual(idna.encode('ڹ.ᡳᅟ', uts46=True, strict=True), b'xn--skb.xn--g9e') + + def test_uts46_3171(self): + self.assertEqual(idna.decode('xn--skb.xn--g9e', uts46=True, strict=True), 'ڹ.ᡳ') + self.assertEqual(idna.encode('xn--skb.xn--g9e', uts46=True, strict=True), b'xn--skb.xn--g9e') + + def test_uts46_3172(self): + self.assertEqual(idna.decode('ڹ.ᡳ', uts46=True, strict=True), 'ڹ.ᡳ') + self.assertEqual(idna.encode('ڹ.ᡳ', uts46=True, strict=True), b'xn--skb.xn--g9e') + + def test_uts46_3173(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--skb.xn--osd737a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--skb.xn--osd737a', strict=True) + + def test_uts46_3174(self): + self.assertRaises(idna.IDNAError, idna.decode, '㨛𘱎.︒𝟕ഁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㨛𘱎.︒𝟕ഁ', strict=True) + + def test_uts46_3175(self): + self.assertRaises(idna.IDNAError, idna.decode, '㨛𘱎.。7ഁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㨛𘱎.。7ഁ', strict=True) + + def test_uts46_3176(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mbm8237g..xn--7-7hf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mbm8237g..xn--7-7hf', strict=True) + + def test_uts46_3177(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mbm8237g.xn--7-7hf1526p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mbm8237g.xn--7-7hf1526p', strict=True) + + def test_uts46_3178(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤣≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤣≮', strict=True) + + def test_uts46_3179(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤣≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤣≮', strict=True) + + def test_uts46_3180(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤣≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤣≮', strict=True) + + def test_uts46_3181(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤣≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤣≮', strict=True) + + def test_uts46_3182(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤁≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤁≮', strict=True) + + def test_uts46_3183(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤁≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤁≮', strict=True) + + def test_uts46_3184(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----dxc06304e.xn--gdh5020pk5c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----dxc06304e.xn--gdh5020pk5c', strict=True) + + def test_uts46_3185(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤁≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤁≮', strict=True) + + def test_uts46_3186(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤁≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u06dd\U0003bc67-。\U0001edc1\u2064𞤁≮', strict=True) + + def test_uts46_3187(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß\u200c꫶ᢥ.⊶ჁႶ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß\u200c꫶ᢥ.⊶ჁႶ', strict=True) + + def test_uts46_3188(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß\u200c꫶ᢥ.⊶ჁႶ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß\u200c꫶ᢥ.⊶ჁႶ', strict=True) + + def test_uts46_3189(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß\u200c꫶ᢥ.⊶ⴡⴖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß\u200c꫶ᢥ.⊶ⴡⴖ', strict=True) + + def test_uts46_3190(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS\u200c꫶ᢥ.⊶ჁႶ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS\u200c꫶ᢥ.⊶ჁႶ', strict=True) + + def test_uts46_3191(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss\u200c꫶ᢥ.⊶ⴡⴖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss\u200c꫶ᢥ.⊶ⴡⴖ', strict=True) + + def test_uts46_3192(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss\u200c꫶ᢥ.⊶Ⴡⴖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss\u200c꫶ᢥ.⊶Ⴡⴖ', strict=True) + + def test_uts46_3193(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-4epx629f.xn--ifh802b6a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-4epx629f.xn--ifh802b6a', strict=True) + + def test_uts46_3194(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss꫶ᢥ.⊶ⴡⴖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss꫶ᢥ.⊶ⴡⴖ', strict=True) + + def test_uts46_3195(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS꫶ᢥ.⊶ჁႶ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS꫶ᢥ.⊶ჁႶ', strict=True) + + def test_uts46_3196(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss꫶ᢥ.⊶Ⴡⴖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss꫶ᢥ.⊶Ⴡⴖ', strict=True) + + def test_uts46_3197(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-4ep585bkm5p.xn--ifh802b6a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-4ep585bkm5p.xn--ifh802b6a', strict=True) + + def test_uts46_3198(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca682johfi89m.xn--ifh802b6a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca682johfi89m.xn--ifh802b6a', strict=True) + + def test_uts46_3199(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß\u200c꫶ᢥ.⊶ⴡⴖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß\u200c꫶ᢥ.⊶ⴡⴖ', strict=True) + + def test_uts46_3200(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS\u200c꫶ᢥ.⊶ჁႶ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS\u200c꫶ᢥ.⊶ჁႶ', strict=True) + + def test_uts46_3201(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss\u200c꫶ᢥ.⊶ⴡⴖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss\u200c꫶ᢥ.⊶ⴡⴖ', strict=True) + + def test_uts46_3202(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss\u200c꫶ᢥ.⊶Ⴡⴖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss\u200c꫶ᢥ.⊶Ⴡⴖ', strict=True) + + def test_uts46_3203(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-4epx629f.xn--5nd703gyrh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-4epx629f.xn--5nd703gyrh', strict=True) + + def test_uts46_3204(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-4ep585bkm5p.xn--5nd703gyrh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-4ep585bkm5p.xn--5nd703gyrh', strict=True) + + def test_uts46_3205(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-4epx629f.xn--undv409k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-4epx629f.xn--undv409k', strict=True) + + def test_uts46_3206(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-4ep585bkm5p.xn--undv409k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-4ep585bkm5p.xn--undv409k', strict=True) + + def test_uts46_3207(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca682johfi89m.xn--undv409k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca682johfi89m.xn--undv409k', strict=True) + + def test_uts46_3208(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。ς\U000e0049', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。ς\U000e0049', strict=True) + + def test_uts46_3209(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。Σ\U000e0049', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。Σ\U000e0049', strict=True) + + def test_uts46_3210(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。σ\U000e0049', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。σ\U000e0049', strict=True) + + def test_uts46_3211(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--4xa24344p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--4xa24344p', strict=True) + + def test_uts46_3212(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--4xa24344p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--4xa24344p', strict=True) + + def test_uts46_3213(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--3xa44344p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--3xa44344p', strict=True) + + def test_uts46_3214(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ed51ß.ݑ\u200d𞤛-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ed51ß.ݑ\u200d𞤛-', strict=True) + + def test_uts46_3215(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ed51ß.ݑ\u200d𞤽-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ed51ß.ݑ\u200d𞤽-', strict=True) + + def test_uts46_3216(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ed51SS.ݑ\u200d𞤛-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ed51SS.ݑ\u200d𞤛-', strict=True) + + def test_uts46_3217(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ed51ss.ݑ\u200d𞤽-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ed51ss.ݑ\u200d𞤽-', strict=True) + + def test_uts46_3218(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ed51Ss.ݑ\u200d𞤽-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ed51Ss.ݑ\u200d𞤽-', strict=True) + + def test_uts46_3219(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-2722a.xn----z3c03218a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-2722a.xn----z3c03218a', strict=True) + + def test_uts46_3220(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-2722a.xn----z3c011q9513b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-2722a.xn----z3c011q9513b', strict=True) + + def test_uts46_3221(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca5423w.xn----z3c011q9513b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca5423w.xn----z3c011q9513b', strict=True) + + def test_uts46_3222(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ed51ss.ݑ\u200d𞤛-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ed51ss.ݑ\u200d𞤛-', strict=True) + + def test_uts46_3223(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ed51Ss.ݑ\u200d𞤛-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ed51Ss.ݑ\u200d𞤛-', strict=True) + + def test_uts46_3224(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑘽\u200d𞤧.𐹧\U000e19aa-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑘽\u200d𞤧.𐹧\U000e19aa-', strict=True) + + def test_uts46_3225(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑘽\u200d𞤧.𐹧\U000e19aa-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑘽\u200d𞤧.𐹧\U000e19aa-', strict=True) + + def test_uts46_3226(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑘽\u200d𞤅.𐹧\U000e19aa-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑘽\u200d𞤅.𐹧\U000e19aa-', strict=True) + + def test_uts46_3227(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qb2ds317a.xn----k26iq1483f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qb2ds317a.xn----k26iq1483f', strict=True) + + def test_uts46_3228(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ugz808gdimf.xn----k26iq1483f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ugz808gdimf.xn----k26iq1483f', strict=True) + + def test_uts46_3229(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑘽\u200d𞤅.𐹧\U000e19aa-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑘽\u200d𞤅.𐹧\U000e19aa-', strict=True) + + def test_uts46_3230(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒒\U000a8619\U000b3ce0𑓀.-\U000de84a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒒\U000a8619\U000b3ce0𑓀.-\U000de84a', strict=True) + + def test_uts46_3231(self): + self.assertRaises(idna.IDNAError, idna.decode, '11.\U000a8619\U000b3ce0𑓀.-\U000de84a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '11.\U000a8619\U000b3ce0𑓀.-\U000de84a', strict=True) + + def test_uts46_3232(self): + self.assertRaises(idna.IDNAError, idna.decode, '11.xn--uz1d59632bxujd.xn----x310m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '11.xn--uz1d59632bxujd.xn----x310m', strict=True) + + def test_uts46_3233(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3shy698frsu9dt1me.xn----x310m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3shy698frsu9dt1me.xn----x310m', strict=True) + + def test_uts46_3234(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。\u200d', strict=True) + + def test_uts46_3235(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。\u200d', strict=True) + + def test_uts46_3236(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.', strict=True) + + def test_uts46_3237(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--1ug', strict=True) + + def test_uts46_3238(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.ς¹-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.ς¹-?', strict=True) + + def test_uts46_3239(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.ς¹-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.ς¹-?', strict=True) + + def test_uts46_3240(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.ς1-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.ς1-?', strict=True) + + def test_uts46_3241(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.ς1-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.ς1-?', strict=True) + + def test_uts46_3242(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.Σ1-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.Σ1-?', strict=True) + + def test_uts46_3243(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.Σ1-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.Σ1-?', strict=True) + + def test_uts46_3244(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.σ1-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.σ1-?', strict=True) + + def test_uts46_3245(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.σ1-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.σ1-?', strict=True) + + def test_uts46_3246(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--88e732c.xn--1-?-pzc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--88e732c.xn--1-?-pzc', strict=True) + + def test_uts46_3247(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--88e732c.xn--1-?-lzc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--88e732c.xn--1-?-lzc', strict=True) + + def test_uts46_3248(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.Σ¹-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.Σ¹-?', strict=True) + + def test_uts46_3249(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.Σ¹-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.Σ¹-?', strict=True) + + def test_uts46_3250(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.σ¹-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.σ¹-?', strict=True) + + def test_uts46_3251(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ᡬ.σ¹-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ᡬ.σ¹-?', strict=True) + + def test_uts46_3252(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--88e732c.σ1-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--88e732c.σ1-?', strict=True) + + def test_uts46_3253(self): + self.assertRaises(idna.IDNAError, idna.decode, 'XN--88E732C.Σ1-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'XN--88E732C.Σ1-?', strict=True) + + def test_uts46_3254(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--88e732c.ς1-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--88e732c.ς1-?', strict=True) + + def test_uts46_3255(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Xn--88e732c.ς1-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Xn--88e732c.ς1-?', strict=True) + + def test_uts46_3256(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Xn--88e732c.σ1-?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Xn--88e732c.σ1-?', strict=True) + + def test_uts46_3257(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ቬ\U0009483c\U000415f6。𐨬𝟠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ቬ\U0009483c\U000415f6。𐨬𝟠', strict=True) + + def test_uts46_3258(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ቬ\U0009483c\U000415f6。𐨬8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ቬ\U0009483c\U000415f6。𐨬8', strict=True) + + def test_uts46_3259(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--d0d41273c887z.xn--8-ob5i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--d0d41273c887z.xn--8-ob5i', strict=True) + + def test_uts46_3260(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010c72。蔫ݦ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010c72。蔫ݦ', strict=True) + + def test_uts46_3261(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--389c.xn--qpb7055d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--389c.xn--qpb7055d', strict=True) + + def test_uts46_3262(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00092ca7₃。ꡚ𛇑󠄳ه', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00092ca7₃。ꡚ𛇑󠄳ه', strict=True) + + def test_uts46_3263(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00092ca73。ꡚ𛇑󠄳ه', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00092ca73。ꡚ𛇑󠄳ه', strict=True) + + def test_uts46_3264(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-ep59g.xn--jhb5904fcp0h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-ep59g.xn--jhb5904fcp0h', strict=True) + + def test_uts46_3265(self): + self.assertRaises(idna.IDNAError, idna.decode, '蓸ق≠.ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '蓸ق≠.ß', strict=True) + + def test_uts46_3266(self): + self.assertRaises(idna.IDNAError, idna.decode, '蓸ق≠.ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '蓸ق≠.ß', strict=True) + + def test_uts46_3267(self): + self.assertRaises(idna.IDNAError, idna.decode, '蓸ق≠.SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '蓸ق≠.SS', strict=True) + + def test_uts46_3268(self): + self.assertRaises(idna.IDNAError, idna.decode, '蓸ق≠.SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '蓸ق≠.SS', strict=True) + + def test_uts46_3269(self): + self.assertRaises(idna.IDNAError, idna.decode, '蓸ق≠.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '蓸ق≠.ss', strict=True) + + def test_uts46_3270(self): + self.assertRaises(idna.IDNAError, idna.decode, '蓸ق≠.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '蓸ق≠.ss', strict=True) + + def test_uts46_3271(self): + self.assertRaises(idna.IDNAError, idna.decode, '蓸ق≠.Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '蓸ق≠.Ss', strict=True) + + def test_uts46_3272(self): + self.assertRaises(idna.IDNAError, idna.decode, '蓸ق≠.Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '蓸ق≠.Ss', strict=True) + + def test_uts46_3273(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ehb015lnt1e.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ehb015lnt1e.ss', strict=True) + + def test_uts46_3274(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ehb015lnt1e.xn--zca', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ehb015lnt1e.xn--zca', strict=True) + + def test_uts46_3275(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡎٺී⒊.𐹹\U0001ec69\U000e00ea\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡎٺී⒊.𐹹\U0001ec69\U000e00ea\u200c', strict=True) + + def test_uts46_3276(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡎٺී3..𐹹\U0001ec69\U000e00ea\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡎٺී3..𐹹\U0001ec69\U000e00ea\u200c', strict=True) + + def test_uts46_3277(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-prc71ls9j..xn--xo0dw109an237f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-prc71ls9j..xn--xo0dw109an237f', strict=True) + + def test_uts46_3278(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-prc71ls9j..xn--0ug3205g7eyf3c96h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-prc71ls9j..xn--0ug3205g7eyf3c96h', strict=True) + + def test_uts46_3279(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zib94gfziuq1a.xn--xo0dw109an237f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zib94gfziuq1a.xn--xo0dw109an237f', strict=True) + + def test_uts46_3280(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zib94gfziuq1a.xn--0ug3205g7eyf3c96h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zib94gfziuq1a.xn--0ug3205g7eyf3c96h', strict=True) + + def test_uts46_3281(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς\u200d-.Ⴣ𦟙', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς\u200d-.Ⴣ𦟙', strict=True) + + def test_uts46_3282(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς\u200d-.ⴣ𦟙', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς\u200d-.ⴣ𦟙', strict=True) + + def test_uts46_3283(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ\u200d-.Ⴣ𦟙', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ\u200d-.Ⴣ𦟙', strict=True) + + def test_uts46_3284(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ\u200d-.ⴣ𦟙', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ\u200d-.ⴣ𦟙', strict=True) + + def test_uts46_3285(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----zmb.xn--rlj2573p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----zmb.xn--rlj2573p', strict=True) + + def test_uts46_3286(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----zmb048s.xn--rlj2573p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----zmb048s.xn--rlj2573p', strict=True) + + def test_uts46_3287(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----xmb348s.xn--rlj2573p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----xmb348s.xn--rlj2573p', strict=True) + + def test_uts46_3288(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----zmb.xn--7nd64871a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----zmb.xn--7nd64871a', strict=True) + + def test_uts46_3289(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----zmb048s.xn--7nd64871a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----zmb048s.xn--7nd64871a', strict=True) + + def test_uts46_3290(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----xmb348s.xn--7nd64871a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----xmb348s.xn--7nd64871a', strict=True) + + def test_uts46_3291(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。🞳𝟲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。🞳𝟲', strict=True) + + def test_uts46_3292(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。🞳𝟲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。🞳𝟲', strict=True) + + def test_uts46_3293(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。🞳6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。🞳6', strict=True) + + def test_uts46_3294(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠。🞳6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠。🞳6', strict=True) + + def test_uts46_3295(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch.xn--6-dl4s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch.xn--6-dl4s', strict=True) + + def test_uts46_3296(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.🞳6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.🞳6', strict=True) + + def test_uts46_3297(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.🞳6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.🞳6', strict=True) + + def test_uts46_3298(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c5b3d.蠔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c5b3d.蠔', strict=True) + + def test_uts46_3299(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--g747d.xn--xl2a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--g747d.xn--xl2a', strict=True) + + def test_uts46_3300(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣦ\u200d.뼽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣦ\u200d.뼽', strict=True) + + def test_uts46_3301(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣦ\u200d.뼽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣦ\u200d.뼽', strict=True) + + def test_uts46_3302(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣦ\u200d.뼽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣦ\u200d.뼽', strict=True) + + def test_uts46_3303(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣦ\u200d.뼽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣦ\u200d.뼽', strict=True) + + def test_uts46_3304(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--p0b.xn--e43b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--p0b.xn--e43b', strict=True) + + def test_uts46_3305(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--p0b869i.xn--e43b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--p0b869i.xn--e43b', strict=True) + + def test_uts46_3306(self): + self.assertRaises(idna.IDNAError, idna.decode, '₇்\U001030b7ے。👖ٵ-\U0001ea91', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '₇்\U001030b7ے。👖ٵ-\U0001ea91', strict=True) + + def test_uts46_3307(self): + self.assertRaises(idna.IDNAError, idna.decode, '7்\U001030b7ے。👖اٴ-\U0001ea91', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '7்\U001030b7ے。👖اٴ-\U0001ea91', strict=True) + + def test_uts46_3308(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7-rwc839aj3073c.xn----ymc5uv818oghka', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7-rwc839aj3073c.xn----ymc5uv818oghka', strict=True) + + def test_uts46_3309(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。ݻ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。ݻ', strict=True) + + def test_uts46_3310(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。ݻ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。ݻ', strict=True) + + def test_uts46_3311(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--cqb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--cqb', strict=True) + + def test_uts46_3312(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑇌\U000356d3。-⒈ꡏܫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑇌\U000356d3。-⒈ꡏܫ', strict=True) + + def test_uts46_3313(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑇌\U000356d3。-1.ꡏܫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑇌\U000356d3。-1.ꡏܫ', strict=True) + + def test_uts46_3314(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8d1dg030h.-1.xn--1nb7163f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8d1dg030h.-1.xn--1nb7163f', strict=True) + + def test_uts46_3315(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8d1dg030h.xn----u1c466tp10j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8d1dg030h.xn----u1c466tp10j', strict=True) + + def test_uts46_3316(self): + self.assertRaises(idna.IDNAError, idna.decode, '璛᜴گ.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '璛᜴گ.-', strict=True) + + def test_uts46_3317(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ikb175frt4e.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ikb175frt4e.-', strict=True) + + def test_uts46_3318(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆰ࢡ੍샕.𐹲휁', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆰ࢡ੍샕.𐹲휁', strict=True) + + def test_uts46_3319(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆰ࢡ੍샕.𐹲휁', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆰ࢡ੍샕.𐹲휁', strict=True) + + def test_uts46_3320(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆰ࢡ੍샕.𐹲휁', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆰ࢡ੍샕.𐹲휁', strict=True) + + def test_uts46_3321(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆰ࢡ੍샕.𐹲휁', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆰ࢡ੍샕.𐹲휁', strict=True) + + def test_uts46_3322(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qyb07fj857a.xn--728bv72h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qyb07fj857a.xn--728bv72h', strict=True) + + def test_uts46_3323(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004da3d.\U0004be15', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004da3d.\U0004be15', strict=True) + + def test_uts46_3324(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004da3d.\U0004be15', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004da3d.\U0004be15', strict=True) + + def test_uts46_3325(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pr3x.xn--rv7w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pr3x.xn--rv7w', strict=True) + + def test_uts46_3326(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٽ𞥕。𑑂𞤶Ⴍ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٽ𞥕。𑑂𞤶Ⴍ-', strict=True) + + def test_uts46_3327(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٽ𞥕。𑑂𞤶Ⴍ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٽ𞥕。𑑂𞤶Ⴍ-', strict=True) + + def test_uts46_3328(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٽ𞥕。𑑂𞤶ⴍ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٽ𞥕。𑑂𞤶ⴍ-', strict=True) + + def test_uts46_3329(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٽ𞥕。𑑂𞤔Ⴍ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٽ𞥕。𑑂𞤔Ⴍ-', strict=True) + + def test_uts46_3330(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٽ𞥕。𑑂𞤔ⴍ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٽ𞥕。𑑂𞤔ⴍ-', strict=True) + + def test_uts46_3331(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2ib0338v.xn----zvs0199fo91g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2ib0338v.xn----zvs0199fo91g', strict=True) + + def test_uts46_3332(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٽ𞥕。𑑂𞤶ⴍ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٽ𞥕。𑑂𞤶ⴍ-', strict=True) + + def test_uts46_3333(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٽ𞥕。𑑂𞤔Ⴍ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٽ𞥕。𑑂𞤔Ⴍ-', strict=True) + + def test_uts46_3334(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٽ𞥕。𑑂𞤔ⴍ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٽ𞥕。𑑂𞤔ⴍ-', strict=True) + + def test_uts46_3335(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2ib0338v.xn----w0g2740ro9vg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2ib0338v.xn----w0g2740ro9vg', strict=True) + + def test_uts46_3336(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010bc0\U00010e09\U0001e9cf。\U000626a7₄Ⴋ\U00042e6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010bc0\U00010e09\U0001e9cf。\U000626a7₄Ⴋ\U00042e6b', strict=True) + + def test_uts46_3337(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010bc0\U00010e09\U0001e9cf。\U000626a74Ⴋ\U00042e6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010bc0\U00010e09\U0001e9cf。\U000626a74Ⴋ\U00042e6b', strict=True) + + def test_uts46_3338(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010bc0\U00010e09\U0001e9cf。\U000626a74ⴋ\U00042e6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010bc0\U00010e09\U0001e9cf。\U000626a74ⴋ\U00042e6b', strict=True) + + def test_uts46_3339(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--039c42bq865a.xn--4-wvs27840bnrzm', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--039c42bq865a.xn--4-wvs27840bnrzm', strict=True) + + def test_uts46_3340(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010bc0\U00010e09\U0001e9cf。\U000626a7₄ⴋ\U00042e6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010bc0\U00010e09\U0001e9cf。\U000626a7₄ⴋ\U00042e6b', strict=True) + + def test_uts46_3341(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--039c42bq865a.xn--4-t0g49302fnrzm', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--039c42bq865a.xn--4-t0g49302fnrzm', strict=True) + + def test_uts46_3342(self): + self.assertRaises(idna.IDNAError, idna.decode, '4ڽ︒\U000e0465.≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4ڽ︒\U000e0465.≠', strict=True) + + def test_uts46_3343(self): + self.assertRaises(idna.IDNAError, idna.decode, '4ڽ︒\U000e0465.≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4ڽ︒\U000e0465.≠', strict=True) + + def test_uts46_3344(self): + self.assertRaises(idna.IDNAError, idna.decode, '4ڽ。\U000e0465.≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4ڽ。\U000e0465.≠', strict=True) + + def test_uts46_3345(self): + self.assertRaises(idna.IDNAError, idna.decode, '4ڽ。\U000e0465.≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4ڽ。\U000e0465.≠', strict=True) + + def test_uts46_3346(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-kvc.xn--5136e.xn--1ch', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-kvc.xn--5136e.xn--1ch', strict=True) + + def test_uts46_3347(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-kvc5601q2h50i.xn--1ch', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-kvc5601q2h50i.xn--1ch', strict=True) + + def test_uts46_3348(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟓。ۗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟓。ۗ', strict=True) + + def test_uts46_3349(self): + self.assertRaises(idna.IDNAError, idna.decode, '5。ۗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '5。ۗ', strict=True) + + def test_uts46_3350(self): + self.assertRaises(idna.IDNAError, idna.decode, '5.xn--nlb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '5.xn--nlb', strict=True) + + def test_uts46_3351(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000bae29.⾕', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000bae29.⾕', strict=True) + + def test_uts46_3352(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000bae29.谷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000bae29.谷', strict=True) + + def test_uts46_3353(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--i183d.xn--6g3a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--i183d.xn--6g3a', strict=True) + + def test_uts46_3354(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug26167i.xn--6g3a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug26167i.xn--6g3a', strict=True) + + def test_uts46_3355(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒\U000cec07\u200d.-ܼ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒\U000cec07\u200d.-ܼ\u200c', strict=True) + + def test_uts46_3356(self): + self.assertRaises(idna.IDNAError, idna.decode, '。\U000cec07\u200d.-ܼ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。\U000cec07\u200d.-ܼ\u200c', strict=True) + + def test_uts46_3357(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--hh50e.xn----t2c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--hh50e.xn----t2c', strict=True) + + def test_uts46_3358(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--1ug05310k.xn----t2c071q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--1ug05310k.xn----t2c071q', strict=True) + + def test_uts46_3359(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y86c71305c.xn----t2c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y86c71305c.xn----t2c', strict=True) + + def test_uts46_3360(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug1658ftw26f.xn----t2c071q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug1658ftw26f.xn----t2c071q', strict=True) + + def test_uts46_3361(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𞤟。ᡨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𞤟。ᡨ', strict=True) + + def test_uts46_3362(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𞤟。ᡨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𞤟。ᡨ', strict=True) + + def test_uts46_3363(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𞥁。ᡨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𞥁。ᡨ', strict=True) + + def test_uts46_3364(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𞥁。ᡨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𞥁。ᡨ', strict=True) + + def test_uts46_3365(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdhz520p.xn--48e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdhz520p.xn--48e', strict=True) + + def test_uts46_3366(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ུ𫫰𝨄。ܓ𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ུ𫫰𝨄。ܓ𐹦', strict=True) + + def test_uts46_3367(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ned8985uo92e.xn--dnb6395k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ned8985uo92e.xn--dnb6395k', strict=True) + + def test_uts46_3368(self): + self.assertRaises(idna.IDNAError, idna.decode, '̼ߛ⁷𝟹。𝟬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '̼ߛ⁷𝟹。𝟬', strict=True) + + def test_uts46_3369(self): + self.assertRaises(idna.IDNAError, idna.decode, '̼ߛ73。0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '̼ߛ73。0', strict=True) + + def test_uts46_3370(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--73-9yb648b.a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--73-9yb648b.a', strict=True) + + def test_uts46_3371(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d.𝟗', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d.𝟗', strict=True) + + def test_uts46_3372(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d.j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d.j', strict=True) + + def test_uts46_3373(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d.J', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d.J', strict=True) + + def test_uts46_3374(self): + self.assertRaises(idna.IDNAError, idna.decode, '.j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.j', strict=True) + + def test_uts46_3375(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.j', strict=True) + + def test_uts46_3376(self): + self.assertEqual(idna.decode('j', uts46=True, strict=True), 'j') + self.assertEqual(idna.encode('j', uts46=True, strict=True), b'j') + + def test_uts46_3377(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݹᡭ𪕈。ڶࣙ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݹᡭ𪕈。ڶࣙ', strict=True) + + def test_uts46_3378(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9pb497fs270c.xn--pkb80i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9pb497fs270c.xn--pkb80i', strict=True) + + def test_uts46_3379(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܦ5ߢ겙。᳴\U00010dda', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܦ5ߢ겙。᳴\U00010dda', strict=True) + + def test_uts46_3380(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܦ5ߢ겙。᳴\U00010dda', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܦ5ߢ겙。᳴\U00010dda', strict=True) + + def test_uts46_3381(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܦ5ߢ겙。᳴\U00010dda', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܦ5ߢ겙。᳴\U00010dda', strict=True) + + def test_uts46_3382(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܦ5ߢ겙。᳴\U00010dda', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܦ5ߢ겙。᳴\U00010dda', strict=True) + + def test_uts46_3383(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5-j1c97c2483c.xn--e7f2093h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5-j1c97c2483c.xn--e7f2093h', strict=True) + + def test_uts46_3384(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴍ\U0003f8cdꡨ֮。Ⴞ\u200c\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴍ\U0003f8cdꡨ֮。Ⴞ\u200c\u200c', strict=True) + + def test_uts46_3385(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴍ\U0003f8cdꡨ֮。ⴞ\u200c\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴍ\U0003f8cdꡨ֮。ⴞ\u200c\u200c', strict=True) + + def test_uts46_3386(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5cb172r175fug38a.xn--mlj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5cb172r175fug38a.xn--mlj', strict=True) + + def test_uts46_3387(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5cb172r175fug38a.xn--0uga051h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5cb172r175fug38a.xn--0uga051h', strict=True) + + def test_uts46_3388(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5cb347co96jug15a.xn--2nd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5cb347co96jug15a.xn--2nd', strict=True) + + def test_uts46_3389(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5cb347co96jug15a.xn--2nd059ea', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5cb347co96jug15a.xn--2nd059ea', strict=True) + + def test_uts46_3390(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋰。\U000d14f1', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋰。\U000d14f1', strict=True) + + def test_uts46_3391(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--k97c.xn--q031e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--k97c.xn--q031e', strict=True) + + def test_uts46_3392(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e13a6឴୍.𐹾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e13a6឴୍.𐹾', strict=True) + + def test_uts46_3393(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ic59305p.xn--2o0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ic59305p.xn--2o0d', strict=True) + + def test_uts46_3394(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ic364dho91z.xn--2o0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ic364dho91z.xn--2o0d', strict=True) + + def test_uts46_3395(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣟႫ\U00036ff8귤.\U000a017c𝟢휪ૣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣟႫ\U00036ff8귤.\U000a017c𝟢휪ૣ', strict=True) + + def test_uts46_3396(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣟႫ\U00036ff8귤.\U000a017c𝟢휪ૣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣟႫ\U00036ff8귤.\U000a017c𝟢휪ૣ', strict=True) + + def test_uts46_3397(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣟႫ\U00036ff8귤.\U000a017c0휪ૣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣟႫ\U00036ff8귤.\U000a017c0휪ૣ', strict=True) + + def test_uts46_3398(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣟႫ\U00036ff8귤.\U000a017c0휪ૣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣟႫ\U00036ff8귤.\U000a017c0휪ૣ', strict=True) + + def test_uts46_3399(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣟⴋ\U00036ff8귤.\U000a017c0휪ૣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣟⴋ\U00036ff8귤.\U000a017c0휪ૣ', strict=True) + + def test_uts46_3400(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣟⴋ\U00036ff8귤.\U000a017c0휪ૣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣟⴋ\U00036ff8귤.\U000a017c0휪ૣ', strict=True) + + def test_uts46_3401(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--i0b436pkl2g2h42a.xn--0-8le8997mulr5f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--i0b436pkl2g2h42a.xn--0-8le8997mulr5f', strict=True) + + def test_uts46_3402(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣟⴋ\U00036ff8귤.\U000a017c𝟢휪ૣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣟⴋ\U00036ff8귤.\U000a017c𝟢휪ૣ', strict=True) + + def test_uts46_3403(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣟⴋ\U00036ff8귤.\U000a017c𝟢휪ૣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣟⴋ\U00036ff8귤.\U000a017c𝟢휪ૣ', strict=True) + + def test_uts46_3404(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--i0b601b6r7l2hs0a.xn--0-8le8997mulr5f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--i0b601b6r7l2hs0a.xn--0-8le8997mulr5f', strict=True) + + def test_uts46_3405(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ބ.𞡝\u0601', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ބ.𞡝\u0601', strict=True) + + def test_uts46_3406(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ބ.𞡝\u0601', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ބ.𞡝\u0601', strict=True) + + def test_uts46_3407(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lqb.xn--jfb1808v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lqb.xn--jfb1808v', strict=True) + + def test_uts46_3408(self): + self.assertRaises(idna.IDNAError, idna.decode, '્₃.8꣄\u200d🃤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્₃.8꣄\u200d🃤', strict=True) + + def test_uts46_3409(self): + self.assertRaises(idna.IDNAError, idna.decode, '્3.8꣄\u200d🃤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્3.8꣄\u200d🃤', strict=True) + + def test_uts46_3410(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-yke.xn--8-sl4et308f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-yke.xn--8-sl4et308f', strict=True) + + def test_uts46_3411(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-yke.xn--8-ugnv982dbkwm', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-yke.xn--8-ugnv982dbkwm', strict=True) + + def test_uts46_3412(self): + self.assertRaises(idna.IDNAError, idna.decode, '℻⩷𝆆。𞤠󠆁᠌', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '℻⩷𝆆。𞤠󠆁᠌', strict=True) + + def test_uts46_3413(self): + self.assertRaises(idna.IDNAError, idna.decode, 'FAX⩷𝆆。𞤠󠆁᠌', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'FAX⩷𝆆。𞤠󠆁᠌', strict=True) + + def test_uts46_3414(self): + self.assertRaises(idna.IDNAError, idna.decode, 'fax⩷𝆆。𞥂󠆁᠌', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'fax⩷𝆆。𞥂󠆁᠌', strict=True) + + def test_uts46_3415(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Fax⩷𝆆。𞤠󠆁᠌', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Fax⩷𝆆。𞤠󠆁᠌', strict=True) + + def test_uts46_3416(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fax-4c9a1676t.xn--6e6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fax-4c9a1676t.xn--6e6h', strict=True) + + def test_uts46_3417(self): + self.assertRaises(idna.IDNAError, idna.decode, '℻⩷𝆆。𞥂󠆁᠌', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '℻⩷𝆆。𞥂󠆁᠌', strict=True) + + def test_uts46_3418(self): + self.assertRaises(idna.IDNAError, idna.decode, 'FAX⩷𝆆。𞥂󠆁᠌', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'FAX⩷𝆆。𞥂󠆁᠌', strict=True) + + def test_uts46_3419(self): + self.assertRaises(idna.IDNAError, idna.decode, 'fax⩷𝆆。𞤠󠆁᠌', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'fax⩷𝆆。𞤠󠆁᠌', strict=True) + + def test_uts46_3420(self): + self.assertRaises(idna.IDNAError, idna.decode, 'fax⩷𝆆.𞥂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'fax⩷𝆆.𞥂', strict=True) + + def test_uts46_3421(self): + self.assertRaises(idna.IDNAError, idna.decode, 'FAX⩷𝆆.𞤠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'FAX⩷𝆆.𞤠', strict=True) + + def test_uts46_3422(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Fax⩷𝆆.𞤠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Fax⩷𝆆.𞤠', strict=True) + + def test_uts46_3423(self): + self.assertRaises(idna.IDNAError, idna.decode, 'FAX⩷𝆆.𞥂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'FAX⩷𝆆.𞥂', strict=True) + + def test_uts46_3424(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Fax⩷𝆆.𞥂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Fax⩷𝆆.𞥂', strict=True) + + def test_uts46_3425(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡕ≠ၞ\U000eeff1。\U00010d67󠄫ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡕ≠ၞ\U000eeff1。\U00010d67󠄫ᅠ', strict=True) + + def test_uts46_3426(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡕ≠ၞ\U000eeff1。\U00010d67󠄫ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡕ≠ၞ\U000eeff1。\U00010d67󠄫ᅠ', strict=True) + + def test_uts46_3427(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡕ≠ၞ\U000eeff1。\U00010d67󠄫ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡕ≠ၞ\U000eeff1。\U00010d67󠄫ᅠ', strict=True) + + def test_uts46_3428(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡕ≠ၞ\U000eeff1。\U00010d67󠄫ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡕ≠ၞ\U000eeff1。\U00010d67󠄫ᅠ', strict=True) + + def test_uts46_3429(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cld333gn31h0158l.xn--3g0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cld333gn31h0158l.xn--3g0d', strict=True) + + def test_uts46_3430(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cld333gn31h0158l.xn--psd1510k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cld333gn31h0158l.xn--psd1510k', strict=True) + + def test_uts46_3431(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cld333gn31h0158l.xn--cl7c96v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cld333gn31h0158l.xn--cl7c96v', strict=True) + + def test_uts46_3432(self): + self.assertRaises(idna.IDNAError, idna.decode, '鱊。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '鱊。\u200c', strict=True) + + def test_uts46_3435(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rt6a.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rt6a.xn--0ug', strict=True) + + def test_uts46_3436(self): + self.assertRaises(idna.IDNAError, idna.decode, '8𐹣.𑍨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8𐹣.𑍨', strict=True) + + def test_uts46_3437(self): + self.assertRaises(idna.IDNAError, idna.decode, '8𐹣.𑍨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8𐹣.𑍨', strict=True) + + def test_uts46_3438(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-d26i.xn--0p1d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-d26i.xn--0p1d', strict=True) + + def test_uts46_3439(self): + self.assertRaises(idna.IDNAError, idna.decode, '⏹𐧀.𐫯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⏹𐧀.𐫯', strict=True) + + def test_uts46_3440(self): + self.assertRaises(idna.IDNAError, idna.decode, '⏹𐧀.𐫯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⏹𐧀.𐫯', strict=True) + + def test_uts46_3441(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qoh9161g.xn--1x9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qoh9161g.xn--1x9c', strict=True) + + def test_uts46_3442(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤺ߌ4.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤺ߌ4.\u200d', strict=True) + + def test_uts46_3443(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤺ߌ4.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤺ߌ4.\u200d', strict=True) + + def test_uts46_3444(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤘ߌ4.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤘ߌ4.\u200d', strict=True) + + def test_uts46_3447(self): + self.assertEqual(idna.decode('𞤘ߌ4.', uts46=True, strict=True), '𞤺ߌ4.') + self.assertRaises(idna.IDNAError, idna.encode, '𞤘ߌ4.', strict=True) + + def test_uts46_3448(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-0bd15808a.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-0bd15808a.xn--1ug', strict=True) + + def test_uts46_3449(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤘ߌ4.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤘ߌ4.\u200d', strict=True) + + def test_uts46_3450(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒗ঁ⃯-.\u08e2•', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒗ঁ⃯-.\u08e2•', strict=True) + + def test_uts46_3451(self): + self.assertRaises(idna.IDNAError, idna.decode, '16.ঁ⃯-.\u08e2•', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '16.ঁ⃯-.\u08e2•', strict=True) + + def test_uts46_3452(self): + self.assertRaises(idna.IDNAError, idna.decode, '16.xn----z0d801p.xn--l0b810j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '16.xn----z0d801p.xn--l0b810j', strict=True) + + def test_uts46_3453(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----z0d801p6kd.xn--l0b810j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----z0d801p6kd.xn--l0b810j', strict=True) + + def test_uts46_3454(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。䏛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。䏛', strict=True) + + def test_uts46_3455(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。䏛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。䏛', strict=True) + + def test_uts46_3456(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--xco', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--xco', strict=True) + + def test_uts46_3457(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000520e0.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000520e0.\u200d', strict=True) + + def test_uts46_3458(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000520e0.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000520e0.\u200d', strict=True) + + def test_uts46_3459(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dj8y.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dj8y.', strict=True) + + def test_uts46_3460(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugz7551c.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugz7551c.xn--1ug', strict=True) + + def test_uts46_3461(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈⓰\U000e58c7。𐹠\u200d\U00097de6Ⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈⓰\U000e58c7。𐹠\u200d\U00097de6Ⴕ', strict=True) + + def test_uts46_3462(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.⓰\U000e58c7。𐹠\u200d\U00097de6Ⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.⓰\U000e58c7。𐹠\u200d\U00097de6Ⴕ', strict=True) + + def test_uts46_3463(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.⓰\U000e58c7。𐹠\u200d\U00097de6ⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.⓰\U000e58c7。𐹠\u200d\U00097de6ⴕ', strict=True) + + def test_uts46_3464(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--svh00804k.xn--dljv223ee5t2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--svh00804k.xn--dljv223ee5t2d', strict=True) + + def test_uts46_3465(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--svh00804k.xn--1ug352csp0psg45e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--svh00804k.xn--1ug352csp0psg45e', strict=True) + + def test_uts46_3466(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈⓰\U000e58c7。𐹠\u200d\U00097de6ⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈⓰\U000e58c7。𐹠\u200d\U00097de6ⴕ', strict=True) + + def test_uts46_3467(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh0nz9380h.xn--dljv223ee5t2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh0nz9380h.xn--dljv223ee5t2d', strict=True) + + def test_uts46_3468(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh0nz9380h.xn--1ug352csp0psg45e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh0nz9380h.xn--1ug352csp0psg45e', strict=True) + + def test_uts46_3469(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--svh00804k.xn--tnd1990ke579c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--svh00804k.xn--tnd1990ke579c', strict=True) + + def test_uts46_3470(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--svh00804k.xn--tnd969erj4psgl3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--svh00804k.xn--tnd969erj4psgl3e', strict=True) + + def test_uts46_3471(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh0nz9380h.xn--tnd1990ke579c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh0nz9380h.xn--tnd1990ke579c', strict=True) + + def test_uts46_3472(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh0nz9380h.xn--tnd969erj4psgl3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh0nz9380h.xn--tnd969erj4psgl3e', strict=True) + + def test_uts46_3473(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠊ᠮ-ß。᳐効\u0601\U000378ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠊ᠮ-ß。᳐効\u0601\U000378ed', strict=True) + + def test_uts46_3474(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠊ᠮ-ß。᳐効\u0601\U000378ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠊ᠮ-ß。᳐効\u0601\U000378ed', strict=True) + + def test_uts46_3475(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠊ᠮ-SS。᳐効\u0601\U000378ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠊ᠮ-SS。᳐効\u0601\U000378ed', strict=True) + + def test_uts46_3476(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠊ᠮ-ss。᳐効\u0601\U000378ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠊ᠮ-ss。᳐効\u0601\U000378ed', strict=True) + + def test_uts46_3477(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠊ᠮ-Ss。᳐効\u0601\U000378ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠊ᠮ-Ss。᳐効\u0601\U000378ed', strict=True) + + def test_uts46_3478(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---ss-21t18904a.xn--jfb197i791bi6x4c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---ss-21t18904a.xn--jfb197i791bi6x4c', strict=True) + + def test_uts46_3479(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----qfa310pg973b.xn--jfb197i791bi6x4c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----qfa310pg973b.xn--jfb197i791bi6x4c', strict=True) + + def test_uts46_3480(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠊ᠮ-SS。᳐効\u0601\U000378ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠊ᠮ-SS。᳐効\u0601\U000378ed', strict=True) + + def test_uts46_3481(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠊ᠮ-ss。᳐効\u0601\U000378ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠊ᠮ-ss。᳐効\u0601\U000378ed', strict=True) + + def test_uts46_3482(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠊ᠮ-Ss。᳐効\u0601\U000378ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠊ᠮ-Ss。᳐効\u0601\U000378ed', strict=True) + + def test_uts46_3483(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑇀.\U000e0a31', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑇀.\U000e0a31', strict=True) + + def test_uts46_3484(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wd1d.xn--k946e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wd1d.xn--k946e', strict=True) + + def test_uts46_3485(self): + self.assertRaises(idna.IDNAError, idna.decode, '␒3ﮈ。𝟘𐨿\U00010e46', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '␒3ﮈ。𝟘𐨿\U00010e46', strict=True) + + def test_uts46_3486(self): + self.assertRaises(idna.IDNAError, idna.decode, '␒3ڈ。0𐨿\U00010e46', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '␒3ڈ。0𐨿\U00010e46', strict=True) + + def test_uts46_3487(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-jsc897t.xn--0-sc5iy3h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-jsc897t.xn--0-sc5iy3h', strict=True) + + def test_uts46_3488(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݫ6ઁࢦ。ᷣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݫ6ઁࢦ。ᷣ', strict=True) + + def test_uts46_3489(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݫ6ઁࢦ。ᷣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݫ6ઁࢦ。ᷣ', strict=True) + + def test_uts46_3490(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-h5c06gj6c.xn--7eg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-h5c06gj6c.xn--7eg', strict=True) + + def test_uts46_3491(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0605-\U0003d91eႢ。\U00085936\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0605-\U0003d91eႢ。\U00085936\u200d', strict=True) + + def test_uts46_3492(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0605-\U0003d91eⴂ。\U00085936\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0605-\U0003d91eⴂ。\U00085936\u200d', strict=True) + + def test_uts46_3493(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----0kc8501a5399e.xn--ss06b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----0kc8501a5399e.xn--ss06b', strict=True) + + def test_uts46_3494(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----0kc8501a5399e.xn--1ugy3204f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----0kc8501a5399e.xn--1ugy3204f', strict=True) + + def test_uts46_3495(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----0kc662fc152h.xn--ss06b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----0kc662fc152h.xn--ss06b', strict=True) + + def test_uts46_3496(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----0kc662fc152h.xn--1ugy3204f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----0kc662fc152h.xn--1ugy3204f', strict=True) + + def test_uts46_3497(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾆.ꡈ5≯ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾆.ꡈ5≯ß', strict=True) + + def test_uts46_3498(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾆.ꡈ5≯ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾆.ꡈ5≯ß', strict=True) + + def test_uts46_3499(self): + self.assertRaises(idna.IDNAError, idna.decode, '舌.ꡈ5≯ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '舌.ꡈ5≯ß', strict=True) + + def test_uts46_3500(self): + self.assertRaises(idna.IDNAError, idna.decode, '舌.ꡈ5≯ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '舌.ꡈ5≯ß', strict=True) + + def test_uts46_3501(self): + self.assertRaises(idna.IDNAError, idna.decode, '舌.ꡈ5≯SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '舌.ꡈ5≯SS', strict=True) + + def test_uts46_3502(self): + self.assertRaises(idna.IDNAError, idna.decode, '舌.ꡈ5≯SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '舌.ꡈ5≯SS', strict=True) + + def test_uts46_3503(self): + self.assertRaises(idna.IDNAError, idna.decode, '舌.ꡈ5≯ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '舌.ꡈ5≯ss', strict=True) + + def test_uts46_3504(self): + self.assertRaises(idna.IDNAError, idna.decode, '舌.ꡈ5≯ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '舌.ꡈ5≯ss', strict=True) + + def test_uts46_3505(self): + self.assertRaises(idna.IDNAError, idna.decode, '舌.ꡈ5≯Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '舌.ꡈ5≯Ss', strict=True) + + def test_uts46_3506(self): + self.assertRaises(idna.IDNAError, idna.decode, '舌.ꡈ5≯Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '舌.ꡈ5≯Ss', strict=True) + + def test_uts46_3507(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tc1a.xn--5ss-3m2a5009e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tc1a.xn--5ss-3m2a5009e', strict=True) + + def test_uts46_3508(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tc1a.xn--5-qfa988w745i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tc1a.xn--5-qfa988w745i', strict=True) + + def test_uts46_3509(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾆.ꡈ5≯SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾆.ꡈ5≯SS', strict=True) + + def test_uts46_3510(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾆.ꡈ5≯SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾆.ꡈ5≯SS', strict=True) + + def test_uts46_3511(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾆.ꡈ5≯ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾆.ꡈ5≯ss', strict=True) + + def test_uts46_3512(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾆.ꡈ5≯ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾆.ꡈ5≯ss', strict=True) + + def test_uts46_3513(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾆.ꡈ5≯Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾆.ꡈ5≯Ss', strict=True) + + def test_uts46_3514(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾆.ꡈ5≯Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾆.ꡈ5≯Ss', strict=True) + + def test_uts46_3515(self): + self.assertRaises(idna.IDNAError, idna.decode, '્8\u200d.\U000be088ݜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્8\u200d.\U000be088ݜ', strict=True) + + def test_uts46_3516(self): + self.assertRaises(idna.IDNAError, idna.decode, '્8\u200d.\U000be088ݜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '્8\u200d.\U000be088ݜ', strict=True) + + def test_uts46_3517(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-yke.xn--gpb79046m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-yke.xn--gpb79046m', strict=True) + + def test_uts46_3518(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-yke534n.xn--gpb79046m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-yke534n.xn--gpb79046m', strict=True) + + def test_uts46_3519(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000b8dc6ੰ≮\U000b94d9.\U0005e3a7⁷\U000e0bd9ڶ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000b8dc6ੰ≮\U000b94d9.\U0005e3a7⁷\U000e0bd9ڶ', strict=True) + + def test_uts46_3520(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000b8dc6ੰ≮\U000b94d9.\U0005e3a7⁷\U000e0bd9ڶ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000b8dc6ੰ≮\U000b94d9.\U0005e3a7⁷\U000e0bd9ڶ', strict=True) + + def test_uts46_3521(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000b8dc6ੰ≮\U000b94d9.\U0005e3a77\U000e0bd9ڶ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000b8dc6ੰ≮\U000b94d9.\U0005e3a77\U000e0bd9ڶ', strict=True) + + def test_uts46_3522(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000b8dc6ੰ≮\U000b94d9.\U0005e3a77\U000e0bd9ڶ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000b8dc6ੰ≮\U000b94d9.\U0005e3a77\U000e0bd9ڶ', strict=True) + + def test_uts46_3523(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ycc893jqh38rb6fa.xn--7-5uc53836ixt41c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ycc893jqh38rb6fa.xn--7-5uc53836ixt41c', strict=True) + + def test_uts46_3524(self): + self.assertEqual(idna.decode('𞤪.ς', uts46=True, strict=True), '𞤪.ς') + self.assertEqual(idna.encode('𞤪.ς', uts46=True, strict=True), b'xn--ie6h.xn--3xa') + + def test_uts46_3525(self): + self.assertEqual(idna.decode('𞤈.Σ', uts46=True, strict=True), '𞤪.σ') + self.assertEqual(idna.encode('𞤈.Σ', uts46=True, strict=True), b'xn--ie6h.xn--4xa') + + def test_uts46_3526(self): + self.assertEqual(idna.decode('𞤪.σ', uts46=True, strict=True), '𞤪.σ') + self.assertEqual(idna.encode('𞤪.σ', uts46=True, strict=True), b'xn--ie6h.xn--4xa') + + def test_uts46_3527(self): + self.assertEqual(idna.decode('𞤈.σ', uts46=True, strict=True), '𞤪.σ') + self.assertEqual(idna.encode('𞤈.σ', uts46=True, strict=True), b'xn--ie6h.xn--4xa') + + def test_uts46_3528(self): + self.assertEqual(idna.decode('xn--ie6h.xn--4xa', uts46=True, strict=True), '𞤪.σ') + self.assertEqual(idna.encode('xn--ie6h.xn--4xa', uts46=True, strict=True), b'xn--ie6h.xn--4xa') + + def test_uts46_3529(self): + self.assertEqual(idna.decode('𞤈.ς', uts46=True, strict=True), '𞤪.ς') + self.assertEqual(idna.encode('𞤈.ς', uts46=True, strict=True), b'xn--ie6h.xn--3xa') + + def test_uts46_3530(self): + self.assertEqual(idna.decode('xn--ie6h.xn--3xa', uts46=True, strict=True), '𞤪.ς') + self.assertEqual(idna.encode('xn--ie6h.xn--3xa', uts46=True, strict=True), b'xn--ie6h.xn--3xa') + + def test_uts46_3531(self): + self.assertEqual(idna.decode('𞤪.Σ', uts46=True, strict=True), '𞤪.σ') + self.assertEqual(idna.encode('𞤪.Σ', uts46=True, strict=True), b'xn--ie6h.xn--4xa') + + def test_uts46_3532(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cႺ。ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cႺ。ς', strict=True) + + def test_uts46_3533(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cႺ。ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cႺ。ς', strict=True) + + def test_uts46_3534(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴚ。ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴚ。ς', strict=True) + + def test_uts46_3535(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cႺ。Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cႺ。Σ', strict=True) + + def test_uts46_3536(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴚ。σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴚ。σ', strict=True) + + def test_uts46_3537(self): + self.assertEqual(idna.decode('xn--ilj.xn--4xa', uts46=True, strict=True), 'ⴚ.σ') + self.assertEqual(idna.encode('xn--ilj.xn--4xa', uts46=True, strict=True), b'xn--ilj.xn--4xa') + + def test_uts46_3538(self): + self.assertEqual(idna.decode('ⴚ.σ', uts46=True, strict=True), 'ⴚ.σ') + self.assertEqual(idna.encode('ⴚ.σ', uts46=True, strict=True), b'xn--ilj.xn--4xa') + + def test_uts46_3539(self): + self.assertEqual(idna.decode('Ⴚ.Σ', uts46=True, strict=True), 'ⴚ.σ') + self.assertEqual(idna.encode('Ⴚ.Σ', uts46=True, strict=True), b'xn--ilj.xn--4xa') + + def test_uts46_3540(self): + self.assertEqual(idna.decode('ⴚ.ς', uts46=True, strict=True), 'ⴚ.ς') + self.assertEqual(idna.encode('ⴚ.ς', uts46=True, strict=True), b'xn--ilj.xn--3xa') + + def test_uts46_3541(self): + self.assertEqual(idna.decode('Ⴚ.ς', uts46=True, strict=True), 'ⴚ.ς') + self.assertEqual(idna.encode('Ⴚ.ς', uts46=True, strict=True), b'xn--ilj.xn--3xa') + + def test_uts46_3542(self): + self.assertEqual(idna.decode('xn--ilj.xn--3xa', uts46=True, strict=True), 'ⴚ.ς') + self.assertEqual(idna.encode('xn--ilj.xn--3xa', uts46=True, strict=True), b'xn--ilj.xn--3xa') + + def test_uts46_3543(self): + self.assertEqual(idna.decode('Ⴚ.σ', uts46=True, strict=True), 'ⴚ.σ') + self.assertEqual(idna.encode('Ⴚ.σ', uts46=True, strict=True), b'xn--ilj.xn--4xa') + + def test_uts46_3544(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug262c.xn--4xa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug262c.xn--4xa', strict=True) + + def test_uts46_3545(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug262c.xn--3xa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug262c.xn--3xa', strict=True) + + def test_uts46_3546(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴚ。ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴚ。ς', strict=True) + + def test_uts46_3547(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cႺ。Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cႺ。Σ', strict=True) + + def test_uts46_3548(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴚ。σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴚ。σ', strict=True) + + def test_uts46_3549(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ynd.xn--4xa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ynd.xn--4xa', strict=True) + + def test_uts46_3550(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ynd.xn--3xa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ynd.xn--3xa', strict=True) + + def test_uts46_3551(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ynd759e.xn--4xa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ynd759e.xn--4xa', strict=True) + + def test_uts46_3552(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ynd759e.xn--3xa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ynd759e.xn--3xa', strict=True) + + def test_uts46_3553(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤃.𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤃.𐹦', strict=True) + + def test_uts46_3554(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤃.𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤃.𐹦', strict=True) + + def test_uts46_3555(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤥.𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤥.𐹦', strict=True) + + def test_uts46_3556(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--de6h.xn--eo0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--de6h.xn--eo0d', strict=True) + + def test_uts46_3557(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤥.𐹦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤥.𐹦', strict=True) + + def test_uts46_3558(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d⾕。\u200c꥓̐ꡎ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d⾕。\u200c꥓̐ꡎ', strict=True) + + def test_uts46_3559(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d⾕。\u200c꥓̐ꡎ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d⾕。\u200c꥓̐ꡎ', strict=True) + + def test_uts46_3560(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d谷。\u200c꥓̐ꡎ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d谷。\u200c꥓̐ꡎ', strict=True) + + def test_uts46_3561(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6g3a.xn--0sa8175flwa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6g3a.xn--0sa8175flwa', strict=True) + + def test_uts46_3562(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug0273b.xn--0sa359l6n7g13a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug0273b.xn--0sa359l6n7g13a', strict=True) + + def test_uts46_3563(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڪ-뉔.𞤐\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڪ-뉔.𞤐\u200c', strict=True) + + def test_uts46_3564(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڪ-뉔.𞤐\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڪ-뉔.𞤐\u200c', strict=True) + + def test_uts46_3565(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڪ-뉔.𞤐\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڪ-뉔.𞤐\u200c', strict=True) + + def test_uts46_3566(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڪ-뉔.𞤐\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڪ-뉔.𞤐\u200c', strict=True) + + def test_uts46_3567(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڪ-뉔.𞤲\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڪ-뉔.𞤲\u200c', strict=True) + + def test_uts46_3568(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڪ-뉔.𞤲\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڪ-뉔.𞤲\u200c', strict=True) + + def test_uts46_3569(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----guc3592k.xn--qe6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----guc3592k.xn--qe6h', strict=True) + + def test_uts46_3570(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----guc3592k.xn--0ug7611p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----guc3592k.xn--0ug7611p', strict=True) + + def test_uts46_3571(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڪ-뉔.𞤲\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڪ-뉔.𞤲\u200c', strict=True) + + def test_uts46_3572(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڪ-뉔.𞤲\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڪ-뉔.𞤲\u200c', strict=True) + + def test_uts46_3573(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00054cb55ᦛς.꣄ݻܸ᳒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00054cb55ᦛς.꣄ݻܸ᳒', strict=True) + + def test_uts46_3574(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00054cb55ᦛς.꣄ݻܸ᳒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00054cb55ᦛς.꣄ݻܸ᳒', strict=True) + + def test_uts46_3575(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00054cb55ᦛς.꣄ݻܸ᳒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00054cb55ᦛς.꣄ݻܸ᳒', strict=True) + + def test_uts46_3576(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00054cb55ᦛΣ.꣄ݻܸ᳒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00054cb55ᦛΣ.꣄ݻܸ᳒', strict=True) + + def test_uts46_3577(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00054cb55ᦛσ.꣄ݻܸ᳒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00054cb55ᦛσ.꣄ݻܸ᳒', strict=True) + + def test_uts46_3578(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5-0mb988ng603j.xn--fob7kk44dl41k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5-0mb988ng603j.xn--fob7kk44dl41k', strict=True) + + def test_uts46_3579(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5-ymb298ng603j.xn--fob7kk44dl41k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5-ymb298ng603j.xn--fob7kk44dl41k', strict=True) + + def test_uts46_3580(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00054cb55ᦛΣ.꣄ݻܸ᳒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00054cb55ᦛΣ.꣄ݻܸ᳒', strict=True) + + def test_uts46_3581(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00054cb55ᦛσ.꣄ݻܸ᳒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00054cb55ᦛσ.꣄ݻܸ᳒', strict=True) + + def test_uts46_3582(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00054cb55ᦛΣ.꣄ݻܸ᳒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00054cb55ᦛΣ.꣄ݻܸ᳒', strict=True) + + def test_uts46_3583(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00054cb55ᦛσ.꣄ݻܸ᳒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00054cb55ᦛσ.꣄ݻܸ᳒', strict=True) + + def test_uts46_3584(self): + self.assertEqual(idna.decode('淽。ᠾ', uts46=True, strict=True), '淽.ᠾ') + self.assertEqual(idna.encode('淽。ᠾ', uts46=True, strict=True), b'xn--34w.xn--x7e') + + def test_uts46_3585(self): + self.assertEqual(idna.decode('xn--34w.xn--x7e', uts46=True, strict=True), '淽.ᠾ') + self.assertEqual(idna.encode('xn--34w.xn--x7e', uts46=True, strict=True), b'xn--34w.xn--x7e') + + def test_uts46_3586(self): + self.assertEqual(idna.decode('淽.ᠾ', uts46=True, strict=True), '淽.ᠾ') + self.assertEqual(idna.encode('淽.ᠾ', uts46=True, strict=True), b'xn--34w.xn--x7e') + + def test_uts46_3587(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹴𑘷。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹴𑘷。-', strict=True) + + def test_uts46_3588(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--so0do6k.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--so0do6k.-', strict=True) + + def test_uts46_3589(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000aca29Ⴓ❓。𑄨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000aca29Ⴓ❓。𑄨', strict=True) + + def test_uts46_3590(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000aca29Ⴓ❓。𑄨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000aca29Ⴓ❓。𑄨', strict=True) + + def test_uts46_3591(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000aca29ⴓ❓。𑄨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000aca29ⴓ❓。𑄨', strict=True) + + def test_uts46_3592(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8di78qvw32y.xn--k80d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8di78qvw32y.xn--k80d', strict=True) + + def test_uts46_3593(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000aca29ⴓ❓。𑄨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000aca29ⴓ❓。𑄨', strict=True) + + def test_uts46_3594(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rnd896i0j14q.xn--k80d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rnd896i0j14q.xn--k80d', strict=True) + + def test_uts46_3595(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌Ⴇ。ßႣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌Ⴇ。ßႣ', strict=True) + + def test_uts46_3596(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌Ⴇ。ßႣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌Ⴇ。ßႣ', strict=True) + + def test_uts46_3597(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤮ⴇ。ßⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤮ⴇ。ßⴃ', strict=True) + + def test_uts46_3598(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌Ⴇ。SSႣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌Ⴇ。SSႣ', strict=True) + + def test_uts46_3599(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤮ⴇ。ssⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤮ⴇ。ssⴃ', strict=True) + + def test_uts46_3600(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌ⴇ。Ssⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌ⴇ。Ssⴃ', strict=True) + + def test_uts46_3601(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ykj9323eegwf.xn--ss-151a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ykj9323eegwf.xn--ss-151a', strict=True) + + def test_uts46_3602(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug332c3q0pr56g.xn--ss-151a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug332c3q0pr56g.xn--ss-151a', strict=True) + + def test_uts46_3603(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug332c3q0pr56g.xn--zca417t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug332c3q0pr56g.xn--zca417t', strict=True) + + def test_uts46_3604(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤮ⴇ。ßⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤮ⴇ。ßⴃ', strict=True) + + def test_uts46_3605(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌Ⴇ。SSႣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌Ⴇ。SSႣ', strict=True) + + def test_uts46_3606(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤮ⴇ。ssⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤮ⴇ。ssⴃ', strict=True) + + def test_uts46_3607(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌ⴇ。Ssⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌ⴇ。Ssⴃ', strict=True) + + def test_uts46_3608(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fnd1201kegrf.xn--ss-fek', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fnd1201kegrf.xn--ss-fek', strict=True) + + def test_uts46_3609(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fnd599eyj4pr50g.xn--ss-fek', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fnd599eyj4pr50g.xn--ss-fek', strict=True) + + def test_uts46_3610(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fnd599eyj4pr50g.xn--zca681f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fnd599eyj4pr50g.xn--zca681f', strict=True) + + def test_uts46_3611(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌ⴇ。ßⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌ⴇ。ßⴃ', strict=True) + + def test_uts46_3612(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌ⴇ。ssⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌ⴇ。ssⴃ', strict=True) + + def test_uts46_3613(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌Ⴇ。Ssⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌Ⴇ。Ssⴃ', strict=True) + + def test_uts46_3614(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fnd1201kegrf.xn--ss-151a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fnd1201kegrf.xn--ss-151a', strict=True) + + def test_uts46_3615(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fnd599eyj4pr50g.xn--ss-151a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fnd599eyj4pr50g.xn--ss-151a', strict=True) + + def test_uts46_3616(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌ⴇ。ßⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌ⴇ。ßⴃ', strict=True) + + def test_uts46_3617(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌ⴇ。ssⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌ⴇ。ssⴃ', strict=True) + + def test_uts46_3618(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐹡𞤌Ⴇ。Ssⴃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐹡𞤌Ⴇ。Ssⴃ', strict=True) + + def test_uts46_3619(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u17ff。\U0001eb33', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u17ff。\U0001eb33', strict=True) + + def test_uts46_3620(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u17ff。\U0001eb33', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u17ff。\U0001eb33', strict=True) + + def test_uts46_3621(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--45e.xn--et6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--45e.xn--et6h', strict=True) + + def test_uts46_3622(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ْ\u200d。್𑚳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ْ\u200d。್𑚳', strict=True) + + def test_uts46_3623(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ْ\u200d。್𑚳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ْ\u200d。್𑚳', strict=True) + + def test_uts46_3624(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--uhb.xn--8tc4527k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--uhb.xn--8tc4527k', strict=True) + + def test_uts46_3625(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--uhb882k.xn--8tc4527k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--uhb882k.xn--8tc4527k', strict=True) + + def test_uts46_3626(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠ᠻ.ݭ𞥃≮\U000dfdfa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠ᠻ.ݭ𞥃≮\U000dfdfa', strict=True) + + def test_uts46_3627(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠ᠻ.ݭ𞥃≮\U000dfdfa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠ᠻ.ݭ𞥃≮\U000dfdfa', strict=True) + + def test_uts46_3628(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠ᠻ.ݭ𞥃≮\U000dfdfa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠ᠻ.ݭ𞥃≮\U000dfdfa', strict=True) + + def test_uts46_3629(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠ᠻ.ݭ𞥃≮\U000dfdfa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠ᠻ.ݭ𞥃≮\U000dfdfa', strict=True) + + def test_uts46_3630(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠ᠻ.ݭ𞤡≮\U000dfdfa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠ᠻ.ݭ𞤡≮\U000dfdfa', strict=True) + + def test_uts46_3631(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠ᠻ.ݭ𞤡≮\U000dfdfa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠ᠻ.ݭ𞤡≮\U000dfdfa', strict=True) + + def test_uts46_3632(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----g6j886c.xn--xpb049kk353abj99f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----g6j886c.xn--xpb049kk353abj99f', strict=True) + + def test_uts46_3633(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠ᠻ.ݭ𞤡≮\U000dfdfa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠ᠻ.ݭ𞤡≮\U000dfdfa', strict=True) + + def test_uts46_3634(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠ᠻ.ݭ𞤡≮\U000dfdfa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠ᠻ.ݭ𞤡≮\U000dfdfa', strict=True) + + def test_uts46_3635(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0c06≯\u07b5\U00010eea.\U0008a955≮𑁆ࡌ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0c06≯\u07b5\U00010eea.\U0008a955≮𑁆ࡌ', strict=True) + + def test_uts46_3636(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0c06≯\u07b5\U00010eea.\U0008a955≮𑁆ࡌ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0c06≯\u07b5\U00010eea.\U0008a955≮𑁆ࡌ', strict=True) + + def test_uts46_3637(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0c06≯\u07b5\U00010eea.\U0008a955≮𑁆ࡌ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0c06≯\u07b5\U00010eea.\U0008a955≮𑁆ࡌ', strict=True) + + def test_uts46_3638(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0c06≯\u07b5\U00010eea.\U0008a955≮𑁆ࡌ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0c06≯\u07b5\U00010eea.\U0008a955≮𑁆ࡌ', strict=True) + + def test_uts46_3639(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zrb797kdm1oes34i.xn--bwb394k8k2o25n6d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zrb797kdm1oes34i.xn--bwb394k8k2o25n6d', strict=True) + + def test_uts46_3640(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠\U000e62c2.\u0600்-ڹ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠\U000e62c2.\u0600்-ڹ', strict=True) + + def test_uts46_3641(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠\U000e62c2.\u0600்-ڹ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠\U000e62c2.\u0600்-ڹ', strict=True) + + def test_uts46_3642(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch22084l.xn----qkc07co6n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch22084l.xn----qkc07co6n', strict=True) + + def test_uts46_3643(self): + self.assertRaises(idna.IDNAError, idna.decode, '៝\U000e0063≠。𐹼𐋤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '៝\U000e0063≠。𐹼𐋤', strict=True) + + def test_uts46_3644(self): + self.assertRaises(idna.IDNAError, idna.decode, '៝\U000e0063≠。𐹼𐋤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '៝\U000e0063≠。𐹼𐋤', strict=True) + + def test_uts46_3645(self): + self.assertRaises(idna.IDNAError, idna.decode, '៝\U000e0063≠。𐹼𐋤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '៝\U000e0063≠。𐹼𐋤', strict=True) + + def test_uts46_3646(self): + self.assertRaises(idna.IDNAError, idna.decode, '៝\U000e0063≠。𐹼𐋤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '៝\U000e0063≠。𐹼𐋤', strict=True) + + def test_uts46_3647(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--54e694cn389z.xn--787ct8r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--54e694cn389z.xn--787ct8r', strict=True) + + def test_uts46_3648(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß𰀻\U00046b17。𝩨🕮ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß𰀻\U00046b17。𝩨🕮ß', strict=True) + + def test_uts46_3649(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß𰀻\U00046b17。𝩨🕮ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß𰀻\U00046b17。𝩨🕮ß', strict=True) + + def test_uts46_3650(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS𰀻\U00046b17。𝩨🕮SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS𰀻\U00046b17。𝩨🕮SS', strict=True) + + def test_uts46_3651(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss𰀻\U00046b17。𝩨🕮ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss𰀻\U00046b17。𝩨🕮ss', strict=True) + + def test_uts46_3652(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss𰀻\U00046b17。𝩨🕮Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss𰀻\U00046b17。𝩨🕮Ss', strict=True) + + def test_uts46_3653(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-jl59biy67d.xn--ss-4d11aw87d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-jl59biy67d.xn--ss-4d11aw87d', strict=True) + + def test_uts46_3654(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca20040bgrkh.xn--zca3653v86qa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca20040bgrkh.xn--zca3653v86qa', strict=True) + + def test_uts46_3655(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS𰀻\U00046b17。𝩨🕮SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS𰀻\U00046b17。𝩨🕮SS', strict=True) + + def test_uts46_3656(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss𰀻\U00046b17。𝩨🕮ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss𰀻\U00046b17。𝩨🕮ss', strict=True) + + def test_uts46_3657(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss𰀻\U00046b17。𝩨🕮Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss𰀻\U00046b17。𝩨🕮Ss', strict=True) + + def test_uts46_3658(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。\u200c', strict=True) + + def test_uts46_3659(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--0ug', strict=True) + + def test_uts46_3660(self): + self.assertRaises(idna.IDNAError, idna.decode, '҃𐭞\u200d.ឹ\U0001ebcc\U0009fa5a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '҃𐭞\u200d.ឹ\U0001ebcc\U0009fa5a', strict=True) + + def test_uts46_3661(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--m3a6965k.xn--43e8670vmd79b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--m3a6965k.xn--43e8670vmd79b', strict=True) + + def test_uts46_3662(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--m3a412lrr0o.xn--43e8670vmd79b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--m3a412lrr0o.xn--43e8670vmd79b', strict=True) + + def test_uts46_3663(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐠨\u200c临。ꡢ\U00084ddeⶏ𐹣', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐠨\u200c临。ꡢ\U00084ddeⶏ𐹣', strict=True) + + def test_uts46_3664(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--miq9646b.xn--uojv340bk71c99u9f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--miq9646b.xn--uojv340bk71c99u9f', strict=True) + + def test_uts46_3665(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0uga2656aop9k.xn--uojv340bk71c99u9f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0uga2656aop9k.xn--uojv340bk71c99u9f', strict=True) + + def test_uts46_3666(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0458.󠄮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0458.󠄮', strict=True) + + def test_uts46_3667(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0458.󠄮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0458.󠄮', strict=True) + + def test_uts46_3668(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--s136e.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--s136e.', strict=True) + + def test_uts46_3669(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫄്.꫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫄്.꫶', strict=True) + + def test_uts46_3670(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫄്.꫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫄്.꫶', strict=True) + + def test_uts46_3671(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wxc7880k.xn--2v9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wxc7880k.xn--2v9a', strict=True) + + def test_uts46_3672(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꦷ\U000ddd59멹。⒛\U000e0a07', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꦷ\U000ddd59멹。⒛\U000e0a07', strict=True) + + def test_uts46_3673(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꦷ\U000ddd59멹。⒛\U000e0a07', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꦷ\U000ddd59멹。⒛\U000e0a07', strict=True) + + def test_uts46_3674(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꦷ\U000ddd59멹。20.\U000e0a07', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꦷ\U000ddd59멹。20.\U000e0a07', strict=True) + + def test_uts46_3675(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꦷ\U000ddd59멹。20.\U000e0a07', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꦷ\U000ddd59멹。20.\U000e0a07', strict=True) + + def test_uts46_3676(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ym9av13acp85w.20.xn--d846e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ym9av13acp85w.20.xn--d846e', strict=True) + + def test_uts46_3677(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ym9av13acp85w.xn--dth22121k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ym9av13acp85w.xn--dth22121k', strict=True) + + def test_uts46_3678(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳⒊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳⒊', strict=True) + + def test_uts46_3679(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳⒊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳⒊', strict=True) + + def test_uts46_3680(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳3.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳3.', strict=True) + + def test_uts46_3681(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳3.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳3.', strict=True) + + def test_uts46_3682(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳3.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳3.', strict=True) + + def test_uts46_3683(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳3.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳3.', strict=True) + + def test_uts46_3684(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wkj8016bne45io02g.xn--3-55c6803r.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wkj8016bne45io02g.xn--3-55c6803r.', strict=True) + + def test_uts46_3685(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳⒊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳⒊', strict=True) + + def test_uts46_3686(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳⒊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴅ\U000f2b39릖\U000e0d9a.ݷ𐹳⒊', strict=True) + + def test_uts46_3687(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wkj8016bne45io02g.xn--7pb000mwm4n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wkj8016bne45io02g.xn--7pb000mwm4n', strict=True) + + def test_uts46_3688(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dnd2167fnet0io02g.xn--3-55c6803r.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dnd2167fnet0io02g.xn--3-55c6803r.', strict=True) + + def test_uts46_3689(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dnd2167fnet0io02g.xn--7pb000mwm4n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dnd2167fnet0io02g.xn--7pb000mwm4n', strict=True) + + def test_uts46_3690(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。︒', strict=True) + + def test_uts46_3691(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c。。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c。。', strict=True) + + def test_uts46_3692(self): + self.assertRaises(idna.IDNAError, idna.decode, '..', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '..', strict=True) + + def test_uts46_3693(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug..', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug..', strict=True) + + def test_uts46_3694(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--y86c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--y86c', strict=True) + + def test_uts46_3695(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--y86c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--y86c', strict=True) + + def test_uts46_3696(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯ݭ.₄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯ݭ.₄', strict=True) + + def test_uts46_3697(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯ݭ.₄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯ݭ.₄', strict=True) + + def test_uts46_3698(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯ݭ.e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯ݭ.e', strict=True) + + def test_uts46_3699(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯ݭ.e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯ݭ.e', strict=True) + + def test_uts46_3700(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯ݭ.E', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯ݭ.E', strict=True) + + def test_uts46_3701(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯ݭ.E', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯ݭ.E', strict=True) + + def test_uts46_3702(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xpb149k.e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xpb149k.e', strict=True) + + def test_uts46_3703(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡲ-𝟹.ß-\u200c-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡲ-𝟹.ß-\u200c-', strict=True) + + def test_uts46_3704(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡲ-3.ß-\u200c-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡲ-3.ß-\u200c-', strict=True) + + def test_uts46_3705(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡲ-3.SS-\u200c-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡲ-3.SS-\u200c-', strict=True) + + def test_uts46_3706(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡲ-3.ss-\u200c-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡲ-3.ss-\u200c-', strict=True) + + def test_uts46_3707(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡲ-3.Ss-\u200c-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡲ-3.Ss-\u200c-', strict=True) + + def test_uts46_3708(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---3-p9o.ss--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---3-p9o.ss--', strict=True) + + def test_uts46_3709(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---3-p9o.xn--ss---276a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---3-p9o.xn--ss---276a', strict=True) + + def test_uts46_3710(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---3-p9o.xn-----fia9303a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---3-p9o.xn-----fia9303a', strict=True) + + def test_uts46_3711(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡲ-𝟹.SS-\u200c-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡲ-𝟹.SS-\u200c-', strict=True) + + def test_uts46_3712(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡲ-𝟹.ss-\u200c-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡲ-𝟹.ss-\u200c-', strict=True) + + def test_uts46_3713(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡲ-𝟹.Ss-\u200c-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡲ-𝟹.Ss-\u200c-', strict=True) + + def test_uts46_3714(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﴈ𝟦ه\U000ce2af。Ӏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﴈ𝟦ه\U000ce2af。Ӏ', strict=True) + + def test_uts46_3715(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ضي4ه\U000ce2af。Ӏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ضي4ه\U000ce2af。Ӏ', strict=True) + + def test_uts46_3716(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ضي4ه\U000ce2af。ӏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ضي4ه\U000ce2af。ӏ', strict=True) + + def test_uts46_3717(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-tnc6ck183523b.xn--s5a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-tnc6ck183523b.xn--s5a', strict=True) + + def test_uts46_3718(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﴈ𝟦ه\U000ce2af。ӏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﴈ𝟦ه\U000ce2af。ӏ', strict=True) + + def test_uts46_3719(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-tnc6ck183523b.xn--d5a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-tnc6ck183523b.xn--d5a', strict=True) + + def test_uts46_3720(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.\u0602آ𑆾🐹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.\u0602آ𑆾🐹', strict=True) + + def test_uts46_3721(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.\u0602آ𑆾🐹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.\u0602آ𑆾🐹', strict=True) + + def test_uts46_3722(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--kfb8dy983hgl7g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--kfb8dy983hgl7g', strict=True) + + def test_uts46_3723(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d9d9cᢘ。᩿⺢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d9d9cᢘ。᩿⺢', strict=True) + + def test_uts46_3724(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ibf35138o.xn--fpfz94g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ibf35138o.xn--fpfz94g', strict=True) + + def test_uts46_3725(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ႷᠤႫ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ႷᠤႫ。?͌س觴', strict=True) + + def test_uts46_3726(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ႷᠤႫ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ႷᠤႫ。?͌س觴', strict=True) + + def test_uts46_3727(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ႷᠤႫ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ႷᠤႫ。?͌س觴', strict=True) + + def test_uts46_3728(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ႷᠤႫ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ႷᠤႫ。?͌س觴', strict=True) + + def test_uts46_3729(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ⴗᠤⴋ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ⴗᠤⴋ。?͌س觴', strict=True) + + def test_uts46_3730(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ⴗᠤⴋ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ⴗᠤⴋ。?͌س觴', strict=True) + + def test_uts46_3731(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠Ⴗᠤⴋ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠Ⴗᠤⴋ。?͌س觴', strict=True) + + def test_uts46_3732(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠Ⴗᠤⴋ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠Ⴗᠤⴋ。?͌س觴', strict=True) + + def test_uts46_3733(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--66e353ce0ilb.xn--?-7fb34t0u7s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--66e353ce0ilb.xn--?-7fb34t0u7s', strict=True) + + def test_uts46_3734(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ⴗᠤⴋ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ⴗᠤⴋ。?͌س觴', strict=True) + + def test_uts46_3735(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠ⴗᠤⴋ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠ⴗᠤⴋ。?͌س觴', strict=True) + + def test_uts46_3736(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠Ⴗᠤⴋ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠Ⴗᠤⴋ。?͌س觴', strict=True) + + def test_uts46_3737(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠Ⴗᠤⴋ。?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠Ⴗᠤⴋ。?͌س觴', strict=True) + + def test_uts46_3738(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vnd619as6ig6k.xn--?-7fb34t0u7s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vnd619as6ig6k.xn--?-7fb34t0u7s', strict=True) + + def test_uts46_3739(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jndx718cnnl.xn--?-7fb34t0u7s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jndx718cnnl.xn--?-7fb34t0u7s', strict=True) + + def test_uts46_3740(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vnd619as6ig6k.?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vnd619as6ig6k.?͌س觴', strict=True) + + def test_uts46_3741(self): + self.assertRaises(idna.IDNAError, idna.decode, 'XN--VND619AS6IG6K.?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'XN--VND619AS6IG6K.?͌س觴', strict=True) + + def test_uts46_3742(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Xn--Vnd619as6ig6k.?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Xn--Vnd619as6ig6k.?͌س觴', strict=True) + + def test_uts46_3743(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--66e353ce0ilb.?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--66e353ce0ilb.?͌س觴', strict=True) + + def test_uts46_3744(self): + self.assertRaises(idna.IDNAError, idna.decode, 'XN--66E353CE0ILB.?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'XN--66E353CE0ILB.?͌س觴', strict=True) + + def test_uts46_3745(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Xn--66e353ce0ilb.?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Xn--66e353ce0ilb.?͌س觴', strict=True) + + def test_uts46_3746(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jndx718cnnl.?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jndx718cnnl.?͌س觴', strict=True) + + def test_uts46_3747(self): + self.assertRaises(idna.IDNAError, idna.decode, 'XN--JNDX718CNNL.?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'XN--JNDX718CNNL.?͌س觴', strict=True) + + def test_uts46_3748(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Xn--Jndx718cnnl.?͌س觴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Xn--Jndx718cnnl.?͌س觴', strict=True) + + def test_uts46_3749(self): + self.assertRaises(idna.IDNAError, idna.decode, '٧.\U00010968', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٧.\U00010968', strict=True) + + def test_uts46_3750(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gib.xn--vm9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gib.xn--vm9c', strict=True) + + def test_uts46_3751(self): + self.assertRaises(idna.IDNAError, idna.decode, '꧀𝟯。\u200d\U0007c465𐹪᯳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꧀𝟯。\u200d\U0007c465𐹪᯳', strict=True) + + def test_uts46_3752(self): + self.assertRaises(idna.IDNAError, idna.decode, '꧀3。\u200d\U0007c465𐹪᯳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꧀3。\u200d\U0007c465𐹪᯳', strict=True) + + def test_uts46_3753(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-5z4e.xn--1zfz754hncv8b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-5z4e.xn--1zfz754hncv8b', strict=True) + + def test_uts46_3754(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-5z4e.xn--1zf96ony8ygd68c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-5z4e.xn--1zf96ony8ygd68c', strict=True) + + def test_uts46_3755(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a35444\U000605bd.≯٤𑀾\U000e0e0c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a35444\U000605bd.≯٤𑀾\U000e0e0c', strict=True) + + def test_uts46_3756(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a35444\U000605bd.≯٤𑀾\U000e0e0c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a35444\U000605bd.≯٤𑀾\U000e0e0c', strict=True) + + def test_uts46_3757(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-fg85dl688i.xn--dib174li86ntdy0i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-fg85dl688i.xn--dib174li86ntdy0i', strict=True) + + def test_uts46_3758(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000971a7𝟯。⒈᩶𝟚\U000a060c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000971a7𝟯。⒈᩶𝟚\U000a060c', strict=True) + + def test_uts46_3759(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000971a73。1.᩶2\U000a060c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000971a73。1.᩶2\U000a060c', strict=True) + + def test_uts46_3760(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-rj42h.1.xn--2-13k96240l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-rj42h.1.xn--2-13k96240l', strict=True) + + def test_uts46_3761(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-rj42h.xn--2-13k746cq465x', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-rj42h.xn--2-13k746cq465x', strict=True) + + def test_uts46_3762(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d₅⒈。≯𝟴\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d₅⒈。≯𝟴\u200d', strict=True) + + def test_uts46_3763(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d₅⒈。≯𝟴\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d₅⒈。≯𝟴\u200d', strict=True) + + def test_uts46_3764(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d51.。≯8\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d51.。≯8\u200d', strict=True) + + def test_uts46_3765(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d51.。≯8\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d51.。≯8\u200d', strict=True) + + def test_uts46_3766(self): + self.assertRaises(idna.IDNAError, idna.decode, '51..xn--8-ogo', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '51..xn--8-ogo', strict=True) + + def test_uts46_3767(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--51-l1t..xn--8-ugn00i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--51-l1t..xn--8-ugn00i', strict=True) + + def test_uts46_3768(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5-ecp.xn--8-ogo', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5-ecp.xn--8-ogo', strict=True) + + def test_uts46_3769(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5-tgnz5r.xn--8-ugn00i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5-tgnz5r.xn--8-ugn00i', strict=True) + + def test_uts46_3770(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡰڗႆ.\U000aa619ܯ≠\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡰڗႆ.\U000aa619ܯ≠\u200c', strict=True) + + def test_uts46_3771(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡰڗႆ.\U000aa619ܯ≠\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡰڗႆ.\U000aa619ܯ≠\u200c', strict=True) + + def test_uts46_3772(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡰڗႆ.\U000aa619ܯ≠\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡰڗႆ.\U000aa619ܯ≠\u200c', strict=True) + + def test_uts46_3773(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡰڗႆ.\U000aa619ܯ≠\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡰڗႆ.\U000aa619ܯ≠\u200c', strict=True) + + def test_uts46_3774(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tjb002cn51k.xn--5nb630lbj91q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tjb002cn51k.xn--5nb630lbj91q', strict=True) + + def test_uts46_3775(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tjb002cn51k.xn--5nb448jcubcz547b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tjb002cn51k.xn--5nb448jcubcz547b', strict=True) + + def test_uts46_3776(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑄱。\U000aa33f𐹵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑄱。\U000aa33f𐹵', strict=True) + + def test_uts46_3777(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑄱。\U000aa33f𐹵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑄱。\U000aa33f𐹵', strict=True) + + def test_uts46_3778(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--t80d.xn--to0d14792b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--t80d.xn--to0d14792b', strict=True) + + def test_uts46_3779(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟥\u0600。ܽ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟥\u0600。ܽ', strict=True) + + def test_uts46_3780(self): + self.assertRaises(idna.IDNAError, idna.decode, '3\u0600。ܽ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3\u0600。ܽ', strict=True) + + def test_uts46_3781(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-rkc.xn--kob', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-rkc.xn--kob', strict=True) + + def test_uts46_3782(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ط𐹣٦.ݭ긷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ط𐹣٦.ݭ긷', strict=True) + + def test_uts46_3783(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ط𐹣٦.ݭ긷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ط𐹣٦.ݭ긷', strict=True) + + def test_uts46_3784(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2gb8gu829f.xn--xpb0156f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2gb8gu829f.xn--xpb0156f', strict=True) + + def test_uts46_3785(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒Ↄⷧ\U000be003.Ⴗ\U000108de', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒Ↄⷧ\U000be003.Ⴗ\U000108de', strict=True) + + def test_uts46_3786(self): + self.assertRaises(idna.IDNAError, idna.decode, '。Ↄⷧ\U000be003.Ⴗ\U000108de', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。Ↄⷧ\U000be003.Ⴗ\U000108de', strict=True) + + def test_uts46_3787(self): + self.assertRaises(idna.IDNAError, idna.decode, '。ↄⷧ\U000be003.ⴗ\U000108de', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。ↄⷧ\U000be003.ⴗ\U000108de', strict=True) + + def test_uts46_3788(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--r5gy00cll06u.xn--flj4541e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--r5gy00cll06u.xn--flj4541e', strict=True) + + def test_uts46_3789(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒ↄⷧ\U000be003.ⴗ\U000108de', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒ↄⷧ\U000be003.ⴗ\U000108de', strict=True) + + def test_uts46_3790(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--r5gy00c056n0226g.xn--flj4541e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--r5gy00c056n0226g.xn--flj4541e', strict=True) + + def test_uts46_3791(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--q5g000cll06u.xn--vnd8618j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--q5g000cll06u.xn--vnd8618j', strict=True) + + def test_uts46_3792(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--q5g000c056n0226g.xn--vnd8618j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--q5g000c056n0226g.xn--vnd8618j', strict=True) + + def test_uts46_3793(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0600.ֱ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0600.ֱ', strict=True) + + def test_uts46_3794(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ifb.xn--8cb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ifb.xn--8cb', strict=True) + + def test_uts46_3795(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς≯。𐹽', strict=True) + + def test_uts46_3796(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς≯。𐹽', strict=True) + + def test_uts46_3797(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς≯。𐹽', strict=True) + + def test_uts46_3798(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς≯。𐹽', strict=True) + + def test_uts46_3799(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ≯。𐹽', strict=True) + + def test_uts46_3800(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ≯。𐹽', strict=True) + + def test_uts46_3801(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ≯。𐹽', strict=True) + + def test_uts46_3802(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ≯。𐹽', strict=True) + + def test_uts46_3803(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa818m.xn--1o0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa818m.xn--1o0d', strict=True) + + def test_uts46_3804(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa028m.xn--1o0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa028m.xn--1o0d', strict=True) + + def test_uts46_3805(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ≯。𐹽', strict=True) + + def test_uts46_3806(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ≯。𐹽', strict=True) + + def test_uts46_3807(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ≯。𐹽', strict=True) + + def test_uts46_3808(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ≯。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ≯。𐹽', strict=True) + + def test_uts46_3809(self): + self.assertRaises(idna.IDNAError, idna.decode, '្\u200dݟ。𐹶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '្\u200dݟ。𐹶', strict=True) + + def test_uts46_3810(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jpb535f.xn--uo0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jpb535f.xn--uo0d', strict=True) + + def test_uts46_3811(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jpb535fv9f.xn--uo0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jpb535fv9f.xn--uo0d', strict=True) + + def test_uts46_3812(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003edc2ੂႪ\U0004209f.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003edc2ੂႪ\U0004209f.≮', strict=True) + + def test_uts46_3813(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003edc2ੂႪ\U0004209f.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003edc2ੂႪ\U0004209f.≮', strict=True) + + def test_uts46_3814(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003edc2ੂⴊ\U0004209f.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003edc2ੂⴊ\U0004209f.≮', strict=True) + + def test_uts46_3815(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003edc2ੂⴊ\U0004209f.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003edc2ੂⴊ\U0004209f.≮', strict=True) + + def test_uts46_3816(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nbc229o4y27dgskb.xn--gdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nbc229o4y27dgskb.xn--gdh', strict=True) + + def test_uts46_3817(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nbc493aro75ggskb.xn--gdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nbc493aro75ggskb.xn--gdh', strict=True) + + def test_uts46_3818(self): + self.assertEqual(idna.decode('ꡠ.۲', uts46=True, strict=True), 'ꡠ.۲') + self.assertEqual(idna.encode('ꡠ.۲', uts46=True, strict=True), b'xn--5c9a.xn--fmb') + + def test_uts46_3819(self): + self.assertEqual(idna.decode('ꡠ.۲', uts46=True, strict=True), 'ꡠ.۲') + self.assertEqual(idna.encode('ꡠ.۲', uts46=True, strict=True), b'xn--5c9a.xn--fmb') + + def test_uts46_3820(self): + self.assertEqual(idna.decode('xn--5c9a.xn--fmb', uts46=True, strict=True), 'ꡠ.۲') + self.assertEqual(idna.encode('xn--5c9a.xn--fmb', uts46=True, strict=True), b'xn--5c9a.xn--fmb') + + def test_uts46_3821(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣\U00044dc4。ꡬ🄄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣\U00044dc4。ꡬ🄄', strict=True) + + def test_uts46_3822(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣\U00044dc4。ꡬ3,', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣\U00044dc4。ꡬ3,', strict=True) + + def test_uts46_3823(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bo0d0203l.xn--3,-yj9h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bo0d0203l.xn--3,-yj9h', strict=True) + + def test_uts46_3824(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bo0d0203l.xn--id9a4443d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bo0d0203l.xn--id9a4443d', strict=True) + + def test_uts46_3825(self): + self.assertRaises(idna.IDNAError, idna.decode, '-్\U0001ef80𑲓。\u200d്', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-్\U0001ef80𑲓。\u200d്', strict=True) + + def test_uts46_3826(self): + self.assertRaises(idna.IDNAError, idna.decode, '-్\U0001ef80𑲓。\u200d്', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-్\U0001ef80𑲓。\u200d്', strict=True) + + def test_uts46_3827(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----x6e0220sclug.xn--wxc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----x6e0220sclug.xn--wxc', strict=True) + + def test_uts46_3828(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----x6e0220sclug.xn--wxc317g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----x6e0220sclug.xn--wxc317g', strict=True) + + def test_uts46_3829(self): + self.assertRaises(idna.IDNAError, idna.decode, '꙽\u200c霣🄆。\u200c𑁂ᬁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꙽\u200c霣🄆。\u200c𑁂ᬁ', strict=True) + + def test_uts46_3830(self): + self.assertRaises(idna.IDNAError, idna.decode, '꙽\u200c霣🄆。\u200c𑁂ᬁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꙽\u200c霣🄆。\u200c𑁂ᬁ', strict=True) + + def test_uts46_3831(self): + self.assertRaises(idna.IDNAError, idna.decode, '꙽\u200c霣5,。\u200c𑁂ᬁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꙽\u200c霣5,。\u200c𑁂ᬁ', strict=True) + + def test_uts46_3832(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5,-op8g373c.xn--4sf0725i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5,-op8g373c.xn--4sf0725i', strict=True) + + def test_uts46_3833(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5,-i1tz135dnbqa.xn--4sf36u6u4w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5,-i1tz135dnbqa.xn--4sf36u6u4w', strict=True) + + def test_uts46_3834(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2q5a751a653w.xn--4sf0725i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2q5a751a653w.xn--4sf0725i', strict=True) + + def test_uts46_3835(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug4208b2vjuk63a.xn--4sf36u6u4w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug4208b2vjuk63a.xn--4sf36u6u4w', strict=True) + + def test_uts46_3836(self): + self.assertRaises(idna.IDNAError, idna.decode, '兎。ᠼ\U000e0d1c𑚶𑰿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '兎。ᠼ\U000e0d1c𑚶𑰿', strict=True) + + def test_uts46_3837(self): + self.assertRaises(idna.IDNAError, idna.decode, '兎。ᠼ\U000e0d1c𑚶𑰿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '兎。ᠼ\U000e0d1c𑚶𑰿', strict=True) + + def test_uts46_3838(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b5q.xn--v7e6041kqqd4m251b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b5q.xn--v7e6041kqqd4m251b', strict=True) + + def test_uts46_3839(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟙。\u200d𝟸\u200d⁷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟙。\u200d𝟸\u200d⁷', strict=True) + + def test_uts46_3840(self): + self.assertRaises(idna.IDNAError, idna.decode, '1。\u200d2\u200d7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1。\u200d2\u200d7', strict=True) + + def test_uts46_3841(self): + self.assertEqual(idna.decode('1.2h', uts46=True, strict=True), '1.2h') + self.assertEqual(idna.encode('1.2h', uts46=True, strict=True), b'1.2h') + + def test_uts46_3842(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--27-l1tb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--27-l1tb', strict=True) + + def test_uts46_3843(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡨ-。\U000e0ecb𝟷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡨ-。\U000e0ecb𝟷', strict=True) + + def test_uts46_3844(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡨ-。\U000e0ecb1', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡨ-。\U000e0ecb1', strict=True) + + def test_uts46_3845(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----z8j.xn--1-5671m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----z8j.xn--1-5671m', strict=True) + + def test_uts46_3846(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰻\U00075010𐫚.٨⁹', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰻\U00075010𐫚.٨⁹', strict=True) + + def test_uts46_3847(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰻\U00075010𐫚.٨9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰻\U00075010𐫚.٨9', strict=True) + + def test_uts46_3848(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gx9cr01aul57i.xn--9-oqc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gx9cr01aul57i.xn--9-oqc', strict=True) + + def test_uts46_3849(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴜ\U00088dedྀ⾇。Ⴏ♀\u200c\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴜ\U00088dedྀ⾇。Ⴏ♀\u200c\u200c', strict=True) + + def test_uts46_3850(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴜ\U00088dedྀ舛。Ⴏ♀\u200c\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴜ\U00088dedྀ舛。Ⴏ♀\u200c\u200c', strict=True) + + def test_uts46_3851(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴜ\U00088dedྀ舛。ⴏ♀\u200c\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴜ\U00088dedྀ舛。ⴏ♀\u200c\u200c', strict=True) + + def test_uts46_3852(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zed372mdj2do3v4h.xn--e5h11w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zed372mdj2do3v4h.xn--e5h11w', strict=True) + + def test_uts46_3853(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zed372mdj2do3v4h.xn--0uga678bgyh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zed372mdj2do3v4h.xn--0uga678bgyh', strict=True) + + def test_uts46_3854(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴜ\U00088dedྀ⾇。ⴏ♀\u200c\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴜ\U00088dedྀ⾇。ⴏ♀\u200c\u200c', strict=True) + + def test_uts46_3855(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zed54dz10wo343g.xn--nnd651i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zed54dz10wo343g.xn--nnd651i', strict=True) + + def test_uts46_3856(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zed54dz10wo343g.xn--nnd089ea464d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zed54dz10wo343g.xn--nnd089ea464d', strict=True) + + def test_uts46_3857(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑁆𝟰.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑁆𝟰.\u200d', strict=True) + + def test_uts46_3858(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑁆4.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑁆4.\u200d', strict=True) + + def test_uts46_3859(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-xu7i.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-xu7i.', strict=True) + + def test_uts46_3860(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-xu7i.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-xu7i.xn--1ug', strict=True) + + def test_uts46_3861(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006ed18Ⴞ癀。𑘿\u200d\u200c붼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006ed18Ⴞ癀。𑘿\u200d\u200c붼', strict=True) + + def test_uts46_3862(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006ed18Ⴞ癀。𑘿\u200d\u200c붼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006ed18Ⴞ癀。𑘿\u200d\u200c붼', strict=True) + + def test_uts46_3863(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006ed18Ⴞ癀。𑘿\u200d\u200c붼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006ed18Ⴞ癀。𑘿\u200d\u200c붼', strict=True) + + def test_uts46_3864(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006ed18Ⴞ癀。𑘿\u200d\u200c붼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006ed18Ⴞ癀。𑘿\u200d\u200c붼', strict=True) + + def test_uts46_3865(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006ed18ⴞ癀。𑘿\u200d\u200c붼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006ed18ⴞ癀。𑘿\u200d\u200c붼', strict=True) + + def test_uts46_3866(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006ed18ⴞ癀。𑘿\u200d\u200c붼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006ed18ⴞ癀。𑘿\u200d\u200c붼', strict=True) + + def test_uts46_3867(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mlju35u7qx2f.xn--et3bn23n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mlju35u7qx2f.xn--et3bn23n', strict=True) + + def test_uts46_3868(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mlju35u7qx2f.xn--0ugb6122js83c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mlju35u7qx2f.xn--0ugb6122js83c', strict=True) + + def test_uts46_3869(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006ed18ⴞ癀。𑘿\u200d\u200c붼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006ed18ⴞ癀。𑘿\u200d\u200c붼', strict=True) + + def test_uts46_3870(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006ed18ⴞ癀。𑘿\u200d\u200c붼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006ed18ⴞ癀。𑘿\u200d\u200c붼', strict=True) + + def test_uts46_3871(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd6803c7q37d.xn--et3bn23n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd6803c7q37d.xn--et3bn23n', strict=True) + + def test_uts46_3872(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd6803c7q37d.xn--0ugb6122js83c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd6803c7q37d.xn--0ugb6122js83c', strict=True) + + def test_uts46_3873(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000da005-்。ڹ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000da005-்。ڹ', strict=True) + + def test_uts46_3874(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----mze84808x.xn--skb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----mze84808x.xn--skb', strict=True) + + def test_uts46_3875(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡃ𝟧≯ᠣ.氁\U000683f1ꁫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡃ𝟧≯ᠣ.氁\U000683f1ꁫ', strict=True) + + def test_uts46_3876(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡃ𝟧≯ᠣ.氁\U000683f1ꁫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡃ𝟧≯ᠣ.氁\U000683f1ꁫ', strict=True) + + def test_uts46_3877(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡃ5≯ᠣ.氁\U000683f1ꁫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡃ5≯ᠣ.氁\U000683f1ꁫ', strict=True) + + def test_uts46_3878(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡃ5≯ᠣ.氁\U000683f1ꁫ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡃ5≯ᠣ.氁\U000683f1ꁫ', strict=True) + + def test_uts46_3879(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5-24jyf768b.xn--lqw213ime95g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5-24jyf768b.xn--lqw213ime95g', strict=True) + + def test_uts46_3880(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹬𝩇.ྲྀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹬𝩇.ྲྀ', strict=True) + + def test_uts46_3881(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹬𝩇.ྲྀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹬𝩇.ྲྀ', strict=True) + + def test_uts46_3882(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹬𝩇.ྲྀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹬𝩇.ྲྀ', strict=True) + + def test_uts46_3883(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ko0d8295a.xn--zed3h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ko0d8295a.xn--zed3h', strict=True) + + def test_uts46_3884(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𑈶⒏.⒎𰛢\U000e03ad', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𑈶⒏.⒎𰛢\U000e03ad', strict=True) + + def test_uts46_3885(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𑈶8..7.𰛢\U000e03ad', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𑈶8..7.𰛢\U000e03ad', strict=True) + + def test_uts46_3886(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---8-bv5o..7.xn--c35nf1622b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---8-bv5o..7.xn--c35nf1622b', strict=True) + + def test_uts46_3887(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----scp6252h.xn--zshy411yzpx2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----scp6252h.xn--zshy411yzpx2d', strict=True) + + def test_uts46_3888(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cႡ畝\u200d.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cႡ畝\u200d.≮', strict=True) + + def test_uts46_3889(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cႡ畝\u200d.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cႡ畝\u200d.≮', strict=True) + + def test_uts46_3890(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cႡ畝\u200d.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cႡ畝\u200d.≮', strict=True) + + def test_uts46_3891(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cႡ畝\u200d.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cႡ畝\u200d.≮', strict=True) + + def test_uts46_3892(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴁ畝\u200d.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴁ畝\u200d.≮', strict=True) + + def test_uts46_3893(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴁ畝\u200d.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴁ畝\u200d.≮', strict=True) + + def test_uts46_3894(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--skjy82u.xn--gdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--skjy82u.xn--gdh', strict=True) + + def test_uts46_3895(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴁ畝.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴁ畝.≮', strict=True) + + def test_uts46_3896(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴁ畝.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴁ畝.≮', strict=True) + + def test_uts46_3897(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴁ畝.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴁ畝.≮', strict=True) + + def test_uts46_3898(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴁ畝.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴁ畝.≮', strict=True) + + def test_uts46_3899(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugc160hb36e.xn--gdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugc160hb36e.xn--gdh', strict=True) + + def test_uts46_3900(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴁ畝\u200d.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴁ畝\u200d.≮', strict=True) + + def test_uts46_3901(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cⴁ畝\u200d.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cⴁ畝\u200d.≮', strict=True) + + def test_uts46_3902(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8md0962c.xn--gdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8md0962c.xn--gdh', strict=True) + + def test_uts46_3903(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8md700fea3748f.xn--gdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8md700fea3748f.xn--gdh', strict=True) + + def test_uts46_3904(self): + self.assertRaises(idna.IDNAError, idna.decode, '歷。𐹻≯\U000f36fd\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '歷。𐹻≯\U000f36fd\u200d', strict=True) + + def test_uts46_3905(self): + self.assertRaises(idna.IDNAError, idna.decode, '歷。𐹻≯\U000f36fd\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '歷。𐹻≯\U000f36fd\u200d', strict=True) + + def test_uts46_3906(self): + self.assertRaises(idna.IDNAError, idna.decode, '歷。𐹻≯\U000f36fd\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '歷。𐹻≯\U000f36fd\u200d', strict=True) + + def test_uts46_3907(self): + self.assertRaises(idna.IDNAError, idna.decode, '歷。𐹻≯\U000f36fd\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '歷。𐹻≯\U000f36fd\u200d', strict=True) + + def test_uts46_3908(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nmw.xn--hdh7804gdms2h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nmw.xn--hdh7804gdms2h', strict=True) + + def test_uts46_3909(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nmw.xn--1ugx6gs128a1134j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nmw.xn--1ugx6gs128a1134j', strict=True) + + def test_uts46_3910(self): + self.assertRaises(idna.IDNAError, idna.decode, '໋\u200d.鎁\U000e0c11', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '໋\u200d.鎁\U000e0c11', strict=True) + + def test_uts46_3911(self): + self.assertRaises(idna.IDNAError, idna.decode, '໋\u200d.鎁\U000e0c11', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '໋\u200d.鎁\U000e0c11', strict=True) + + def test_uts46_3912(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--t8c.xn--iz4a43209d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--t8c.xn--iz4a43209d', strict=True) + + def test_uts46_3913(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--t8c059f.xn--iz4a43209d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--t8c059f.xn--iz4a43209d', strict=True) + + def test_uts46_3914(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c𞤀。𱘅\U00010d83', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c𞤀。𱘅\U00010d83', strict=True) + + def test_uts46_3915(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c𞤀。𱘅\U00010d83', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c𞤀。𱘅\U00010d83', strict=True) + + def test_uts46_3916(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c𞤢。𱘅\U00010d83', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c𞤢。𱘅\U00010d83', strict=True) + + def test_uts46_3917(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c𞤀。𱘅\U00010d63', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c𞤀。𱘅\U00010d63', strict=True) + + def test_uts46_3918(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9d6h.xn--wh0dj799f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9d6h.xn--wh0dj799f', strict=True) + + def test_uts46_3919(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugb45126a.xn--wh0dj799f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugb45126a.xn--wh0dj799f', strict=True) + + def test_uts46_3920(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c𞤢。𱘅\U00010d83', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c𞤢。𱘅\U00010d83', strict=True) + + def test_uts46_3921(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c𞤀。𱘅\U00010d63', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c𞤀。𱘅\U00010d63', strict=True) + + def test_uts46_3922(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠𝟫-.ς⒍𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠𝟫-.ς⒍𐹦≠', strict=True) + + def test_uts46_3923(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠𝟫-.ς⒍𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠𝟫-.ς⒍𐹦≠', strict=True) + + def test_uts46_3924(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠9-.ς6.𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠9-.ς6.𐹦≠', strict=True) + + def test_uts46_3925(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠9-.ς6.𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠9-.ς6.𐹦≠', strict=True) + + def test_uts46_3926(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠9-.Σ6.𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠9-.Σ6.𐹦≠', strict=True) + + def test_uts46_3927(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠9-.Σ6.𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠9-.Σ6.𐹦≠', strict=True) + + def test_uts46_3928(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠9-.σ6.𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠9-.σ6.𐹦≠', strict=True) + + def test_uts46_3929(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠9-.σ6.𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠9-.σ6.𐹦≠', strict=True) + + def test_uts46_3930(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9--etd0100a.xn--6-zmb.xn--1ch8704g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9--etd0100a.xn--6-zmb.xn--1ch8704g', strict=True) + + def test_uts46_3931(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9--etd0100a.xn--6-xmb.xn--1ch8704g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9--etd0100a.xn--6-xmb.xn--1ch8704g', strict=True) + + def test_uts46_3932(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠𝟫-.Σ⒍𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠𝟫-.Σ⒍𐹦≠', strict=True) + + def test_uts46_3933(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠𝟫-.Σ⒍𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠𝟫-.Σ⒍𐹦≠', strict=True) + + def test_uts46_3934(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠𝟫-.σ⒍𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠𝟫-.σ⒍𐹦≠', strict=True) + + def test_uts46_3935(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ب≠𝟫-.σ⒍𐹦≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ب≠𝟫-.σ⒍𐹦≠', strict=True) + + def test_uts46_3936(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9--etd0100a.xn--4xa887mzpbzz04b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9--etd0100a.xn--4xa887mzpbzz04b', strict=True) + + def test_uts46_3937(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9--etd0100a.xn--3xa097mzpbzz04b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9--etd0100a.xn--3xa097mzpbzz04b', strict=True) + + def test_uts46_3938(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000896f4.-ᡢ֒𝨠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000896f4.-ᡢ֒𝨠', strict=True) + + def test_uts46_3939(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ep37b.xn----hec165lho83b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ep37b.xn----hec165lho83b', strict=True) + + def test_uts46_3940(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۋ⒈ß󠄽。\U000772cd-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۋ⒈ß󠄽。\U000772cd-', strict=True) + + def test_uts46_3941(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۋ1.ß󠄽。\U000772cd-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۋ1.ß󠄽。\U000772cd-', strict=True) + + def test_uts46_3942(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۋ1.SS󠄽。\U000772cd-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۋ1.SS󠄽。\U000772cd-', strict=True) + + def test_uts46_3943(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۋ1.ss󠄽。\U000772cd-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۋ1.ss󠄽。\U000772cd-', strict=True) + + def test_uts46_3944(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۋ1.Ss󠄽。\U000772cd-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۋ1.Ss󠄽。\U000772cd-', strict=True) + + def test_uts46_3945(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-cwc.ss.xn----q001f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-cwc.ss.xn----q001f', strict=True) + + def test_uts46_3946(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-cwc.xn--zca.xn----q001f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-cwc.xn--zca.xn----q001f', strict=True) + + def test_uts46_3947(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۋ⒈SS󠄽。\U000772cd-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۋ⒈SS󠄽。\U000772cd-', strict=True) + + def test_uts46_3948(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۋ⒈ss󠄽。\U000772cd-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۋ⒈ss󠄽。\U000772cd-', strict=True) + + def test_uts46_3949(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۋ⒈Ss󠄽。\U000772cd-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۋ⒈Ss󠄽。\U000772cd-', strict=True) + + def test_uts46_3950(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-d7d6651a.xn----q001f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-d7d6651a.xn----q001f', strict=True) + + def test_uts46_3951(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca541ato3a.xn----q001f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca541ato3a.xn----q001f', strict=True) + + def test_uts46_3952(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003f02b.᮪ςႦ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003f02b.᮪ςႦ\u200d', strict=True) + + def test_uts46_3953(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003f02b.᮪ςႦ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003f02b.᮪ςႦ\u200d', strict=True) + + def test_uts46_3954(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003f02b.᮪ςⴆ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003f02b.᮪ςⴆ\u200d', strict=True) + + def test_uts46_3955(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003f02b.᮪ΣႦ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003f02b.᮪ΣႦ\u200d', strict=True) + + def test_uts46_3956(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003f02b.᮪σⴆ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003f02b.᮪σⴆ\u200d', strict=True) + + def test_uts46_3957(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003f02b.᮪Σⴆ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003f02b.᮪Σⴆ\u200d', strict=True) + + def test_uts46_3958(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nu4s.xn--4xa153j7im', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nu4s.xn--4xa153j7im', strict=True) + + def test_uts46_3959(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nu4s.xn--4xa153jk8cs1q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nu4s.xn--4xa153jk8cs1q', strict=True) + + def test_uts46_3960(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nu4s.xn--3xa353jk8cs1q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nu4s.xn--3xa353jk8cs1q', strict=True) + + def test_uts46_3961(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003f02b.᮪ςⴆ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003f02b.᮪ςⴆ\u200d', strict=True) + + def test_uts46_3962(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003f02b.᮪ΣႦ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003f02b.᮪ΣႦ\u200d', strict=True) + + def test_uts46_3963(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003f02b.᮪σⴆ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003f02b.᮪σⴆ\u200d', strict=True) + + def test_uts46_3964(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003f02b.᮪Σⴆ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003f02b.᮪Σⴆ\u200d', strict=True) + + def test_uts46_3965(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nu4s.xn--4xa217dxri', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nu4s.xn--4xa217dxri', strict=True) + + def test_uts46_3966(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nu4s.xn--4xa217dxriome', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nu4s.xn--4xa217dxriome', strict=True) + + def test_uts46_3967(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nu4s.xn--3xa417dxriome', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nu4s.xn--3xa417dxriome', strict=True) + + def test_uts46_3968(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾆\u08e2.𝈴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾆\u08e2.𝈴', strict=True) + + def test_uts46_3969(self): + self.assertRaises(idna.IDNAError, idna.decode, '舌\u08e2.𝈴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '舌\u08e2.𝈴', strict=True) + + def test_uts46_3970(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--l0b9413d.xn--kl1h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--l0b9413d.xn--kl1h', strict=True) + + def test_uts46_3971(self): + self.assertRaises(idna.IDNAError, idna.decode, '⫞𐹶𖫴。⭠⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⫞𐹶𖫴。⭠⒈', strict=True) + + def test_uts46_3972(self): + self.assertRaises(idna.IDNAError, idna.decode, '⫞𐹶𖫴。⭠1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⫞𐹶𖫴。⭠1.', strict=True) + + def test_uts46_3973(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--53ix188et88b.xn--1-h6r.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--53ix188et88b.xn--1-h6r.', strict=True) + + def test_uts46_3974(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--53ix188et88b.xn--tsh52w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--53ix188et88b.xn--tsh52w', strict=True) + + def test_uts46_3975(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈\u200cꫬ︒.્', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈\u200cꫬ︒.્', strict=True) + + def test_uts46_3976(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.\u200cꫬ。.્', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.\u200cꫬ。.્', strict=True) + + def test_uts46_3977(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--sv9a..xn--mfc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--sv9a..xn--mfc', strict=True) + + def test_uts46_3978(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--0ug7185c..xn--mfc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--0ug7185c..xn--mfc', strict=True) + + def test_uts46_3979(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh0720cse8b.xn--mfc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh0720cse8b.xn--mfc', strict=True) + + def test_uts46_3980(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug78o720myr1c.xn--mfc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug78o720myr1c.xn--mfc', strict=True) + + def test_uts46_3981(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ె。䰀٨\U0001eb45󠅼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ె。䰀٨\U0001eb45󠅼', strict=True) + + def test_uts46_3982(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--eqc.xn--hib5476aim6t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--eqc.xn--hib5476aim6t', strict=True) + + def test_uts46_3983(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß\u200d.᯲\U00044fbc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß\u200d.᯲\U00044fbc', strict=True) + + def test_uts46_3984(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS\u200d.᯲\U00044fbc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS\u200d.᯲\U00044fbc', strict=True) + + def test_uts46_3985(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss\u200d.᯲\U00044fbc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss\u200d.᯲\U00044fbc', strict=True) + + def test_uts46_3986(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss\u200d.᯲\U00044fbc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss\u200d.᯲\U00044fbc', strict=True) + + def test_uts46_3987(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss.xn--0zf22107b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss.xn--0zf22107b', strict=True) + + def test_uts46_3988(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-n1t.xn--0zf22107b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-n1t.xn--0zf22107b', strict=True) + + def test_uts46_3989(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca870n.xn--0zf22107b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca870n.xn--0zf22107b', strict=True) + + def test_uts46_3990(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑓂\u200c≮.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑓂\u200c≮.≮', strict=True) + + def test_uts46_3991(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑓂\u200c≮.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑓂\u200c≮.≮', strict=True) + + def test_uts46_3992(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdhz656g.xn--gdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdhz656g.xn--gdh', strict=True) + + def test_uts46_3993(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugy6glz29a.xn--gdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugy6glz29a.xn--gdh', strict=True) + + def test_uts46_3994(self): + self.assertRaises(idna.IDNAError, idna.decode, '🕼.ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🕼.ᅠ', strict=True) + + def test_uts46_3995(self): + self.assertRaises(idna.IDNAError, idna.decode, '🕼.ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🕼.ᅠ', strict=True) + + def test_uts46_3996(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--my8h.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--my8h.', strict=True) + + def test_uts46_3997(self): + self.assertRaises(idna.IDNAError, idna.decode, '🕼.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🕼.', strict=True) + + def test_uts46_3998(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--my8h.xn--psd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--my8h.xn--psd', strict=True) + + def test_uts46_3999(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--my8h.xn--cl7c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--my8h.xn--cl7c', strict=True) + + def test_uts46_4000(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡔﶂ。\U0007760e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡔﶂ。\U0007760e', strict=True) + + def test_uts46_4001(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡔلحى。\U0007760e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡔلحى。\U0007760e', strict=True) + + def test_uts46_4002(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--sgb9bq785p.xn--bc31b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--sgb9bq785p.xn--bc31b', strict=True) + + def test_uts46_4003(self): + self.assertRaises(idna.IDNAError, idna.decode, '爕\U000b3651.𝟰気', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '爕\U000b3651.𝟰気', strict=True) + + def test_uts46_4004(self): + self.assertRaises(idna.IDNAError, idna.decode, '爕\U000b3651.4気', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '爕\U000b3651.4気', strict=True) + + def test_uts46_4005(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1zxq3199c.xn--4-678b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1zxq3199c.xn--4-678b', strict=True) + + def test_uts46_4006(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒋𑍍Ⴝ-.\U0001eb2a්ֵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒋𑍍Ⴝ-.\U0001eb2a්ֵ', strict=True) + + def test_uts46_4007(self): + self.assertRaises(idna.IDNAError, idna.decode, '4.𑍍Ⴝ-.\U0001eb2a්ֵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4.𑍍Ⴝ-.\U0001eb2a්ֵ', strict=True) + + def test_uts46_4008(self): + self.assertRaises(idna.IDNAError, idna.decode, '4.𑍍ⴝ-.\U0001eb2a්ֵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4.𑍍ⴝ-.\U0001eb2a්ֵ', strict=True) + + def test_uts46_4009(self): + self.assertRaises(idna.IDNAError, idna.decode, '4.xn----wwsx259f.xn--ddb152b7y23b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4.xn----wwsx259f.xn--ddb152b7y23b', strict=True) + + def test_uts46_4010(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒋𑍍ⴝ-.\U0001eb2a්ֵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒋𑍍ⴝ-.\U0001eb2a්ֵ', strict=True) + + def test_uts46_4011(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----jcp487avl3w.xn--ddb152b7y23b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----jcp487avl3w.xn--ddb152b7y23b', strict=True) + + def test_uts46_4012(self): + self.assertRaises(idna.IDNAError, idna.decode, '4.xn----t1g9869q.xn--ddb152b7y23b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4.xn----t1g9869q.xn--ddb152b7y23b', strict=True) + + def test_uts46_4013(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----t1g323mnk9t.xn--ddb152b7y23b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----t1g323mnk9t.xn--ddb152b7y23b', strict=True) + + def test_uts46_4014(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000de743。\U00091183\U00049897--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000de743。\U00091183\U00049897--', strict=True) + + def test_uts46_4015(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2y75e.xn-----1l15eer88n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2y75e.xn-----1l15eer88n', strict=True) + + def test_uts46_4016(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dߟ。\u200c꯭', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dߟ。\u200c꯭', strict=True) + + def test_uts46_4017(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dߟ。\u200c꯭', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dߟ。\u200c꯭', strict=True) + + def test_uts46_4018(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6sb.xn--429a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6sb.xn--429a', strict=True) + + def test_uts46_4019(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6sb394j.xn--0ug1126c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6sb394j.xn--0ug1126c', strict=True) + + def test_uts46_4020(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ebbd߿ࡎ。ᢍ\U0009de41𐫘', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ebbd߿ࡎ。ᢍ\U0009de41𐫘', strict=True) + + def test_uts46_4021(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ebbd߿ࡎ。ᢍ\U0009de41𐫘', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ebbd߿ࡎ。ᢍ\U0009de41𐫘', strict=True) + + def test_uts46_4022(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3tb2nz468k.xn--69e8615j5rn5d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3tb2nz468k.xn--69e8615j5rn5d', strict=True) + + def test_uts46_4023(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۭ𞺌𑄚᜔.ꡞࢷ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۭ𞺌𑄚᜔.ꡞࢷ', strict=True) + + def test_uts46_4024(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۭم𑄚᜔.ꡞࢷ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۭم𑄚᜔.ꡞࢷ', strict=True) + + def test_uts46_4025(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hhb94ag41b739u.xn--dzb5582f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hhb94ag41b739u.xn--dzb5582f', strict=True) + + def test_uts46_4026(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。ςؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。ςؼς', strict=True) + + def test_uts46_4027(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。ςؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。ςؼς', strict=True) + + def test_uts46_4028(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。ςؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。ςؼς', strict=True) + + def test_uts46_4029(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。ςؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。ςؼς', strict=True) + + def test_uts46_4030(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。ΣؼΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。ΣؼΣ', strict=True) + + def test_uts46_4031(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。ΣؼΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。ΣؼΣ', strict=True) + + def test_uts46_4032(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。σؼσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。σؼσ', strict=True) + + def test_uts46_4033(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。σؼσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。σؼσ', strict=True) + + def test_uts46_4034(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。Σؼσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。Σؼσ', strict=True) + + def test_uts46_4035(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。Σؼσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。Σؼσ', strict=True) + + def test_uts46_4036(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3sb7483hoyvbbe76g.xn--4xaa21q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3sb7483hoyvbbe76g.xn--4xaa21q', strict=True) + + def test_uts46_4037(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。Σؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。Σؼς', strict=True) + + def test_uts46_4038(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。Σؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。Σؼς', strict=True) + + def test_uts46_4039(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。σؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。σؼς', strict=True) + + def test_uts46_4040(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。σؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。σؼς', strict=True) + + def test_uts46_4041(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3sb7483hoyvbbe76g.xn--3xab31q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3sb7483hoyvbbe76g.xn--3xab31q', strict=True) + + def test_uts46_4042(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3sb7483hoyvbbe76g.xn--3xaa51q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3sb7483hoyvbbe76g.xn--3xaa51q', strict=True) + + def test_uts46_4043(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。ΣؼΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。ΣؼΣ', strict=True) + + def test_uts46_4044(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。ΣؼΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。ΣؼΣ', strict=True) + + def test_uts46_4045(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。σؼσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。σؼσ', strict=True) + + def test_uts46_4046(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。σؼσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。σؼσ', strict=True) + + def test_uts46_4047(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。Σؼσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。Σؼσ', strict=True) + + def test_uts46_4048(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。Σؼσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。Σؼσ', strict=True) + + def test_uts46_4049(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。Σؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。Σؼς', strict=True) + + def test_uts46_4050(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。Σؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。Σؼς', strict=True) + + def test_uts46_4051(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。σؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。σؼς', strict=True) + + def test_uts46_4052(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007b0b5킃𑘶ߜ。σؼς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007b0b5킃𑘶ߜ。σؼς', strict=True) + + def test_uts46_4053(self): + self.assertRaises(idna.IDNAError, idna.decode, '蔰。\U000e0079ࣝ-𑈵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '蔰。\U000e0079ࣝ-𑈵', strict=True) + + def test_uts46_4054(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--sz1a.xn----mrd9984r3dl0i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--sz1a.xn----mrd9984r3dl0i', strict=True) + + def test_uts46_4055(self): + self.assertEqual(idna.decode('ςჅ。ݚ', uts46=True, strict=True), 'ςⴥ.ݚ') + self.assertEqual(idna.encode('ςჅ。ݚ', uts46=True, strict=True), b'xn--3xa403s.xn--epb') + + def test_uts46_4056(self): + self.assertEqual(idna.decode('ςⴥ。ݚ', uts46=True, strict=True), 'ςⴥ.ݚ') + self.assertEqual(idna.encode('ςⴥ。ݚ', uts46=True, strict=True), b'xn--3xa403s.xn--epb') + + def test_uts46_4057(self): + self.assertEqual(idna.decode('ΣჅ。ݚ', uts46=True, strict=True), 'σⴥ.ݚ') + self.assertEqual(idna.encode('ΣჅ。ݚ', uts46=True, strict=True), b'xn--4xa203s.xn--epb') + + def test_uts46_4058(self): + self.assertEqual(idna.decode('σⴥ。ݚ', uts46=True, strict=True), 'σⴥ.ݚ') + self.assertEqual(idna.encode('σⴥ。ݚ', uts46=True, strict=True), b'xn--4xa203s.xn--epb') + + def test_uts46_4059(self): + self.assertEqual(idna.decode('Σⴥ。ݚ', uts46=True, strict=True), 'σⴥ.ݚ') + self.assertEqual(idna.encode('Σⴥ。ݚ', uts46=True, strict=True), b'xn--4xa203s.xn--epb') + + def test_uts46_4060(self): + self.assertEqual(idna.decode('xn--4xa203s.xn--epb', uts46=True, strict=True), 'σⴥ.ݚ') + self.assertEqual(idna.encode('xn--4xa203s.xn--epb', uts46=True, strict=True), b'xn--4xa203s.xn--epb') + + def test_uts46_4061(self): + self.assertEqual(idna.decode('σⴥ.ݚ', uts46=True, strict=True), 'σⴥ.ݚ') + self.assertEqual(idna.encode('σⴥ.ݚ', uts46=True, strict=True), b'xn--4xa203s.xn--epb') + + def test_uts46_4062(self): + self.assertEqual(idna.decode('ΣჅ.ݚ', uts46=True, strict=True), 'σⴥ.ݚ') + self.assertEqual(idna.encode('ΣჅ.ݚ', uts46=True, strict=True), b'xn--4xa203s.xn--epb') + + def test_uts46_4063(self): + self.assertEqual(idna.decode('Σⴥ.ݚ', uts46=True, strict=True), 'σⴥ.ݚ') + self.assertEqual(idna.encode('Σⴥ.ݚ', uts46=True, strict=True), b'xn--4xa203s.xn--epb') + + def test_uts46_4064(self): + self.assertEqual(idna.decode('xn--3xa403s.xn--epb', uts46=True, strict=True), 'ςⴥ.ݚ') + self.assertEqual(idna.encode('xn--3xa403s.xn--epb', uts46=True, strict=True), b'xn--3xa403s.xn--epb') + + def test_uts46_4065(self): + self.assertEqual(idna.decode('ςⴥ.ݚ', uts46=True, strict=True), 'ςⴥ.ݚ') + self.assertEqual(idna.encode('ςⴥ.ݚ', uts46=True, strict=True), b'xn--3xa403s.xn--epb') + + def test_uts46_4066(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa477d.xn--epb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa477d.xn--epb', strict=True) + + def test_uts46_4067(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa677d.xn--epb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa677d.xn--epb', strict=True) + + def test_uts46_4068(self): + self.assertRaises(idna.IDNAError, idna.decode, '్Ⴉ\U0001ec13.᭲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '్Ⴉ\U0001ec13.᭲', strict=True) + + def test_uts46_4069(self): + self.assertRaises(idna.IDNAError, idna.decode, '్Ⴉ\U0001ec13.᭲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '్Ⴉ\U0001ec13.᭲', strict=True) + + def test_uts46_4070(self): + self.assertRaises(idna.IDNAError, idna.decode, '్ⴉ\U0001ec13.᭲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '్ⴉ\U0001ec13.᭲', strict=True) + + def test_uts46_4071(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lqc478nlr02a.xn--dwf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lqc478nlr02a.xn--dwf', strict=True) + + def test_uts46_4072(self): + self.assertRaises(idna.IDNAError, idna.decode, '్ⴉ\U0001ec13.᭲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '్ⴉ\U0001ec13.᭲', strict=True) + + def test_uts46_4073(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lqc64t7t26c.xn--dwf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lqc64t7t26c.xn--dwf', strict=True) + + def test_uts46_4074(self): + self.assertRaises(idna.IDNAError, idna.decode, '⮷≮\U0004e234󠄟。𐠄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⮷≮\U0004e234󠄟。𐠄', strict=True) + + def test_uts46_4075(self): + self.assertRaises(idna.IDNAError, idna.decode, '⮷≮\U0004e234󠄟。𐠄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⮷≮\U0004e234󠄟。𐠄', strict=True) + + def test_uts46_4076(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh877a3513h.xn--pc9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh877a3513h.xn--pc9c', strict=True) + + def test_uts46_4077(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڼ。\u200dẏ\u200cᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڼ。\u200dẏ\u200cᡤ', strict=True) + + def test_uts46_4078(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڼ。\u200dẏ\u200cᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڼ。\u200dẏ\u200cᡤ', strict=True) + + def test_uts46_4079(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڼ。\u200dẏ\u200cᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڼ。\u200dẏ\u200cᡤ', strict=True) + + def test_uts46_4080(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڼ。\u200dẏ\u200cᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڼ。\u200dẏ\u200cᡤ', strict=True) + + def test_uts46_4081(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڼ。\u200dẎ\u200cᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڼ。\u200dẎ\u200cᡤ', strict=True) + + def test_uts46_4082(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڼ。\u200dẎ\u200cᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڼ。\u200dẎ\u200cᡤ', strict=True) + + def test_uts46_4083(self): + self.assertEqual(idna.decode('xn--vkb.xn--08e172a', uts46=True, strict=True), 'ڼ.ẏᡤ') + self.assertEqual(idna.encode('xn--vkb.xn--08e172a', uts46=True, strict=True), b'xn--vkb.xn--08e172a') + + def test_uts46_4084(self): + self.assertEqual(idna.decode('ڼ.ẏᡤ', uts46=True, strict=True), 'ڼ.ẏᡤ') + self.assertEqual(idna.encode('ڼ.ẏᡤ', uts46=True, strict=True), b'xn--vkb.xn--08e172a') + + def test_uts46_4085(self): + self.assertEqual(idna.decode('ڼ.ẏᡤ', uts46=True, strict=True), 'ڼ.ẏᡤ') + self.assertEqual(idna.encode('ڼ.ẏᡤ', uts46=True, strict=True), b'xn--vkb.xn--08e172a') + + def test_uts46_4086(self): + self.assertEqual(idna.decode('ڼ.Ẏᡤ', uts46=True, strict=True), 'ڼ.ẏᡤ') + self.assertEqual(idna.encode('ڼ.Ẏᡤ', uts46=True, strict=True), b'xn--vkb.xn--08e172a') + + def test_uts46_4087(self): + self.assertEqual(idna.decode('ڼ.Ẏᡤ', uts46=True, strict=True), 'ڼ.ẏᡤ') + self.assertEqual(idna.encode('ڼ.Ẏᡤ', uts46=True, strict=True), b'xn--vkb.xn--08e172a') + + def test_uts46_4088(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vkb.xn--08e172ax6aca', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vkb.xn--08e172ax6aca', strict=True) + + def test_uts46_4089(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڼ。\u200dẎ\u200cᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڼ。\u200dẎ\u200cᡤ', strict=True) + + def test_uts46_4090(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڼ。\u200dẎ\u200cᡤ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڼ。\u200dẎ\u200cᡤ', strict=True) + + def test_uts46_4091(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹹𑲛。\U00051090්', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹹𑲛。\U00051090්', strict=True) + + def test_uts46_4092(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xo0dg5v.xn--h1c39876d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xo0dg5v.xn--h1c39876d', strict=True) + + def test_uts46_4093(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠𑈵。嵕ﻱ۴꥓', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠𑈵。嵕ﻱ۴꥓', strict=True) + + def test_uts46_4094(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠𑈵。嵕ﻱ۴꥓', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠𑈵。嵕ﻱ۴꥓', strict=True) + + def test_uts46_4095(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠𑈵。嵕ي۴꥓', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠𑈵。嵕ي۴꥓', strict=True) + + def test_uts46_4096(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≠𑈵。嵕ي۴꥓', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≠𑈵。嵕ي۴꥓', strict=True) + + def test_uts46_4097(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ufo4749h.xn--mhb45a235sns3c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ufo4749h.xn--mhb45a235sns3c', strict=True) + + def test_uts46_4098(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U0004de30𐹶ݮ.ہ\u200d≯\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U0004de30𐹶ݮ.ہ\u200d≯\u200d', strict=True) + + def test_uts46_4099(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U0004de30𐹶ݮ.ہ\u200d≯\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U0004de30𐹶ݮ.ہ\u200d≯\u200d', strict=True) + + def test_uts46_4100(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U0004de30𐹶ݮ.ہ\u200d≯\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U0004de30𐹶ݮ.ہ\u200d≯\u200d', strict=True) + + def test_uts46_4101(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U0004de30𐹶ݮ.ہ\u200d≯\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U0004de30𐹶ݮ.ہ\u200d≯\u200d', strict=True) + + def test_uts46_4102(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ypb5875khz9y.xn--0kb682l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ypb5875khz9y.xn--0kb682l', strict=True) + + def test_uts46_4103(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ypb717jrx2o7v94a.xn--0kb660ka35v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ypb717jrx2o7v94a.xn--0kb660ka35v', strict=True) + + def test_uts46_4104(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮.឵ࡕ𐫔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮.឵ࡕ𐫔', strict=True) + + def test_uts46_4105(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮.឵ࡕ𐫔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮.឵ࡕ𐫔', strict=True) + + def test_uts46_4106(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮.឵ࡕ𐫔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮.឵ࡕ𐫔', strict=True) + + def test_uts46_4107(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮.឵ࡕ𐫔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮.឵ࡕ𐫔', strict=True) + + def test_uts46_4108(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh.xn--kwb4643k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh.xn--kwb4643k', strict=True) + + def test_uts46_4109(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh.xn--kwb589e217p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh.xn--kwb589e217p', strict=True) + + def test_uts46_4110(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩗\u200d。ႩႵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩗\u200d。ႩႵ', strict=True) + + def test_uts46_4111(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩗\u200d。ႩႵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩗\u200d。ႩႵ', strict=True) + + def test_uts46_4112(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩗\u200d。ⴉⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩗\u200d。ⴉⴕ', strict=True) + + def test_uts46_4113(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩗\u200d。Ⴉⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩗\u200d。Ⴉⴕ', strict=True) + + def test_uts46_4114(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pt9c.xn--0kjya', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pt9c.xn--0kjya', strict=True) + + def test_uts46_4115(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩗.ⴉⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩗.ⴉⴕ', strict=True) + + def test_uts46_4116(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩗.ႩႵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩗.ႩႵ', strict=True) + + def test_uts46_4117(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩗.Ⴉⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩗.Ⴉⴕ', strict=True) + + def test_uts46_4118(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug4933g.xn--0kjya', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug4933g.xn--0kjya', strict=True) + + def test_uts46_4119(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩗\u200d。ⴉⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩗\u200d。ⴉⴕ', strict=True) + + def test_uts46_4120(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩗\u200d。Ⴉⴕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩗\u200d。Ⴉⴕ', strict=True) + + def test_uts46_4121(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pt9c.xn--hnd666l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pt9c.xn--hnd666l', strict=True) + + def test_uts46_4122(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug4933g.xn--hnd666l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug4933g.xn--hnd666l', strict=True) + + def test_uts46_4123(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pt9c.xn--hndy', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pt9c.xn--hndy', strict=True) + + def test_uts46_4124(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug4933g.xn--hndy', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug4933g.xn--hndy', strict=True) + + def test_uts46_4125(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\u200cㄤ.̮\U000d5a11ূ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\u200cㄤ.̮\U000d5a11ূ', strict=True) + + def test_uts46_4126(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\u200cㄤ.̮\U000d5a11ূ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\u200cㄤ.̮\U000d5a11ূ', strict=True) + + def test_uts46_4127(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1fk.xn--vta284a9o563a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1fk.xn--vta284a9o563a', strict=True) + + def test_uts46_4128(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0uga242k.xn--vta284a9o563a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0uga242k.xn--vta284a9o563a', strict=True) + + def test_uts46_4129(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋻。-\u200c𐫄Ⴗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋻。-\u200c𐫄Ⴗ', strict=True) + + def test_uts46_4130(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋻。-\u200c𐫄Ⴗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋻。-\u200c𐫄Ⴗ', strict=True) + + def test_uts46_4131(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋻。-\u200c𐫄ⴗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋻。-\u200c𐫄ⴗ', strict=True) + + def test_uts46_4132(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--v97c.xn----lws0526f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--v97c.xn----lws0526f', strict=True) + + def test_uts46_4133(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--v97c.xn----sgnv20du99s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--v97c.xn----sgnv20du99s', strict=True) + + def test_uts46_4134(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋻。-\u200c𐫄ⴗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋻。-\u200c𐫄ⴗ', strict=True) + + def test_uts46_4135(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--v97c.xn----i1g2513q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--v97c.xn----i1g2513q', strict=True) + + def test_uts46_4136(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--v97c.xn----i1g888ih12u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--v97c.xn----i1g888ih12u', strict=True) + + def test_uts46_4137(self): + self.assertRaises(idna.IDNAError, idna.decode, '🙑\U00010dfa.≠\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🙑\U00010dfa.≠\u200c', strict=True) + + def test_uts46_4138(self): + self.assertRaises(idna.IDNAError, idna.decode, '🙑\U00010dfa.≠\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🙑\U00010dfa.≠\u200c', strict=True) + + def test_uts46_4139(self): + self.assertRaises(idna.IDNAError, idna.decode, '🙑\U00010dfa.≠\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🙑\U00010dfa.≠\u200c', strict=True) + + def test_uts46_4140(self): + self.assertRaises(idna.IDNAError, idna.decode, '🙑\U00010dfa.≠\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🙑\U00010dfa.≠\u200c', strict=True) + + def test_uts46_4141(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bl0dh970b.xn--1ch', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bl0dh970b.xn--1ch', strict=True) + + def test_uts46_4142(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bl0dh970b.xn--0ug83g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bl0dh970b.xn--0ug83g', strict=True) + + def test_uts46_4143(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٌ᳒。\U0001eb9e⵿⧎', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٌ᳒。\U0001eb9e⵿⧎', strict=True) + + def test_uts46_4144(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٌ᳒。\U0001eb9e⵿⧎', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٌ᳒。\U0001eb9e⵿⧎', strict=True) + + def test_uts46_4145(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ohb646i.xn--ewi38jf765c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ohb646i.xn--ewi38jf765c', strict=True) + + def test_uts46_4146(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴔ𝨨₃\U000e0066.𝟳𑂹ஂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴔ𝨨₃\U000e0066.𝟳𑂹ஂ', strict=True) + + def test_uts46_4147(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴔ𝨨3\U000e0066.7𑂹ஂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴔ𝨨3\U000e0066.7𑂹ஂ', strict=True) + + def test_uts46_4148(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴔ𝨨3\U000e0066.7𑂹ஂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴔ𝨨3\U000e0066.7𑂹ஂ', strict=True) + + def test_uts46_4149(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-ews6985n35s3g.xn--7-cve6271r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-ews6985n35s3g.xn--7-cve6271r', strict=True) + + def test_uts46_4150(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴔ𝨨₃\U000e0066.𝟳𑂹ஂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴔ𝨨₃\U000e0066.𝟳𑂹ஂ', strict=True) + + def test_uts46_4151(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-b1g83426a35t0g.xn--7-cve6271r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-b1g83426a35t0g.xn--7-cve6271r', strict=True) + + def test_uts46_4152(self): + self.assertRaises(idna.IDNAError, idna.decode, '䏈\u200c。\u200c⒈\U00071895', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䏈\u200c。\u200c⒈\U00071895', strict=True) + + def test_uts46_4153(self): + self.assertRaises(idna.IDNAError, idna.decode, '䏈\u200c。\u200c1.\U00071895', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䏈\u200c。\u200c1.\U00071895', strict=True) + + def test_uts46_4154(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--eco.1.xn--ms39a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--eco.1.xn--ms39a', strict=True) + + def test_uts46_4155(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug491l.xn--1-rgn.xn--ms39a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug491l.xn--1-rgn.xn--ms39a', strict=True) + + def test_uts46_4156(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--eco.xn--tsh21126d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--eco.xn--tsh21126d', strict=True) + + def test_uts46_4157(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug491l.xn--0ug88oot66q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug491l.xn--0ug88oot66q', strict=True) + + def test_uts46_4158(self): + self.assertRaises(idna.IDNAError, idna.decode, '1꫶ß𑲥。ᷘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1꫶ß𑲥。ᷘ', strict=True) + + def test_uts46_4159(self): + self.assertRaises(idna.IDNAError, idna.decode, '1꫶ß𑲥。ᷘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1꫶ß𑲥。ᷘ', strict=True) + + def test_uts46_4160(self): + self.assertRaises(idna.IDNAError, idna.decode, '1꫶SS𑲥。ᷘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1꫶SS𑲥。ᷘ', strict=True) + + def test_uts46_4161(self): + self.assertRaises(idna.IDNAError, idna.decode, '1꫶ss𑲥。ᷘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1꫶ss𑲥。ᷘ', strict=True) + + def test_uts46_4162(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ss-ir6ln166b.xn--weg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ss-ir6ln166b.xn--weg', strict=True) + + def test_uts46_4163(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-qfa2471kdb0d.xn--weg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-qfa2471kdb0d.xn--weg', strict=True) + + def test_uts46_4164(self): + self.assertRaises(idna.IDNAError, idna.decode, '1꫶SS𑲥。ᷘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1꫶SS𑲥。ᷘ', strict=True) + + def test_uts46_4165(self): + self.assertRaises(idna.IDNAError, idna.decode, '1꫶ss𑲥。ᷘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1꫶ss𑲥。ᷘ', strict=True) + + def test_uts46_4166(self): + self.assertRaises(idna.IDNAError, idna.decode, '1꫶Ss𑲥。ᷘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1꫶Ss𑲥。ᷘ', strict=True) + + def test_uts46_4167(self): + self.assertRaises(idna.IDNAError, idna.decode, '1꫶Ss𑲥。ᷘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1꫶Ss𑲥。ᷘ', strict=True) + + def test_uts46_4168(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U0006bda9\U0001eaaf್。ݼ⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U0006bda9\U0001eaaf್。ݼ⒈', strict=True) + + def test_uts46_4169(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U0006bda9\U0001eaaf್。ݼ1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U0006bda9\U0001eaaf್。ݼ1.', strict=True) + + def test_uts46_4170(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8tc9875v5is1a.xn--1-g6c.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8tc9875v5is1a.xn--1-g6c.', strict=True) + + def test_uts46_4171(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8tc969gzn94a4lm8a.xn--1-g6c.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8tc969gzn94a4lm8a.xn--1-g6c.', strict=True) + + def test_uts46_4172(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8tc9875v5is1a.xn--dqb689l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8tc9875v5is1a.xn--dqb689l', strict=True) + + def test_uts46_4173(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8tc969gzn94a4lm8a.xn--dqb689l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8tc969gzn94a4lm8a.xn--dqb689l', strict=True) + + def test_uts46_4174(self): + self.assertRaises(idna.IDNAError, idna.decode, '᪶.𞤳\U00093896\U000bb252ߗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᪶.𞤳\U00093896\U000bb252ߗ', strict=True) + + def test_uts46_4175(self): + self.assertRaises(idna.IDNAError, idna.decode, '᪶.𞤳\U00093896\U000bb252ߗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᪶.𞤳\U00093896\U000bb252ߗ', strict=True) + + def test_uts46_4176(self): + self.assertRaises(idna.IDNAError, idna.decode, '᪶.𞤑\U00093896\U000bb252ߗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᪶.𞤑\U00093896\U000bb252ߗ', strict=True) + + def test_uts46_4177(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zqf.xn--ysb9657vuiz5bj0ep', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zqf.xn--ysb9657vuiz5bj0ep', strict=True) + + def test_uts46_4178(self): + self.assertRaises(idna.IDNAError, idna.decode, '᪶.𞤑\U00093896\U000bb252ߗ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᪶.𞤑\U00093896\U000bb252ߗ', strict=True) + + def test_uts46_4179(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡂ\U0001ea5a⒈.\U000e0b0c8\U0008fccfݰ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡂ\U0001ea5a⒈.\U000e0b0c8\U0008fccfݰ', strict=True) + + def test_uts46_4180(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡂ\U0001ea5a1..\U000e0b0c8\U0008fccfݰ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡂ\U0001ea5a1..\U000e0b0c8\U0008fccfݰ', strict=True) + + def test_uts46_4181(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-rid26318a..xn--8-s5c22427ox454a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-rid26318a..xn--8-s5c22427ox454a', strict=True) + + def test_uts46_4182(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0vb095ldg52a.xn--8-s5c22427ox454a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0vb095ldg52a.xn--8-s5c22427ox454a', strict=True) + + def test_uts46_4183(self): + self.assertRaises(idna.IDNAError, idna.decode, '͡𐫫ͩᡷ。-\U000e0c1b鞰', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '͡𐫫ͩᡷ。-\U000e0c1b鞰', strict=True) + + def test_uts46_4184(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cvaq482npv5t.xn----yg7dt1332g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cvaq482npv5t.xn----yg7dt1332g', strict=True) + + def test_uts46_4185(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.્剘ß𐫃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.્剘ß𐫃', strict=True) + + def test_uts46_4186(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.્剘SS𐫃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.્剘SS𐫃', strict=True) + + def test_uts46_4187(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.્剘ss𐫃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.્剘ss𐫃', strict=True) + + def test_uts46_4188(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.્剘Ss𐫃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.્剘Ss𐫃', strict=True) + + def test_uts46_4189(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--ss-bqg4734erywk', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--ss-bqg4734erywk', strict=True) + + def test_uts46_4190(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--zca791c493duf8i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--zca791c493duf8i', strict=True) + + def test_uts46_4191(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣻ\U0001ed78。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣻ\U0001ed78。-', strict=True) + + def test_uts46_4192(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࣻ\U0001ed78。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࣻ\U0001ed78。-', strict=True) + + def test_uts46_4193(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b1b2719v.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b1b2719v.-', strict=True) + + def test_uts46_4194(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈\U000e023b𐹲。≠\u0603𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈\U000e023b𐹲。≠\u0603𐹽', strict=True) + + def test_uts46_4195(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈\U000e023b𐹲。≠\u0603𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈\U000e023b𐹲。≠\u0603𐹽', strict=True) + + def test_uts46_4196(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.\U000e023b𐹲。≠\u0603𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.\U000e023b𐹲。≠\u0603𐹽', strict=True) + + def test_uts46_4197(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.\U000e023b𐹲。≠\u0603𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.\U000e023b𐹲。≠\u0603𐹽', strict=True) + + def test_uts46_4198(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--qo0dl3077c.xn--lfb536lb35n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--qo0dl3077c.xn--lfb536lb35n', strict=True) + + def test_uts46_4199(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tshw766f1153g.xn--lfb536lb35n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tshw766f1153g.xn--lfb536lb35n', strict=True) + + def test_uts46_4200(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹢\U000e021aႮ\u200c.㖾𐹡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹢\U000e021aႮ\u200c.㖾𐹡', strict=True) + + def test_uts46_4201(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹢\U000e021aⴎ\u200c.㖾𐹡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹢\U000e021aⴎ\u200c.㖾𐹡', strict=True) + + def test_uts46_4202(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5kjx323em053g.xn--pelu572d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5kjx323em053g.xn--pelu572d', strict=True) + + def test_uts46_4203(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug342clq0pqxv4i.xn--pelu572d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug342clq0pqxv4i.xn--pelu572d', strict=True) + + def test_uts46_4204(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mnd9001km0o0g.xn--pelu572d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mnd9001km0o0g.xn--pelu572d', strict=True) + + def test_uts46_4205(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mnd289ezj4pqxp0i.xn--pelu572d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mnd289ezj4pqxp0i.xn--pelu572d', strict=True) + + def test_uts46_4206(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a9f17.߇ᡖႳႧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a9f17.߇ᡖႳႧ', strict=True) + + def test_uts46_4207(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a9f17.߇ᡖႳႧ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a9f17.߇ᡖႳႧ', strict=True) + + def test_uts46_4208(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a9f17.߇ᡖⴓⴇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a9f17.߇ᡖⴓⴇ', strict=True) + + def test_uts46_4209(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--te28c.xn--isb295fbtpmb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--te28c.xn--isb295fbtpmb', strict=True) + + def test_uts46_4210(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a9f17.߇ᡖⴓⴇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a9f17.߇ᡖⴓⴇ', strict=True) + + def test_uts46_4211(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--te28c.xn--isb856b9a631d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--te28c.xn--isb856b9a631d', strict=True) + + def test_uts46_4212(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a9f17.߇ᡖႳⴇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a9f17.߇ᡖႳⴇ', strict=True) + + def test_uts46_4213(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--te28c.xn--isb286btrgo7w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--te28c.xn--isb286btrgo7w', strict=True) + + def test_uts46_4214(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a9f17.߇ᡖႳⴇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a9f17.߇ᡖႳⴇ', strict=True) + + def test_uts46_4215(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\U00105349.ڳݵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\U00105349.ڳݵ', strict=True) + + def test_uts46_4216(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3j78f.xn--mkb20b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3j78f.xn--mkb20b', strict=True) + + def test_uts46_4217(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug39444n.xn--mkb20b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug39444n.xn--mkb20b', strict=True) + + def test_uts46_4218(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00032931⒛⾳.ꡦ⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00032931⒛⾳.ꡦ⒈', strict=True) + + def test_uts46_4219(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003293120.音.ꡦ1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003293120.音.ꡦ1.', strict=True) + + def test_uts46_4220(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--20-9802c.xn--0w5a.xn--1-eg4e.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--20-9802c.xn--0w5a.xn--1-eg4e.', strict=True) + + def test_uts46_4221(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dth6033bzbvx.xn--tsh9439b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dth6033bzbvx.xn--tsh9439b', strict=True) + + def test_uts46_4222(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߜ8\U00073993-。\U0009ec99𑁿𐩥্', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߜ8\U00073993-。\U0009ec99𑁿𐩥্', strict=True) + + def test_uts46_4223(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߜ8\U00073993-。\U0009ec99𑁿𐩥্', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߜ8\U00073993-。\U0009ec99𑁿𐩥্', strict=True) + + def test_uts46_4224(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8--rve13079p.xn--b7b9842k42df776x', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8--rve13079p.xn--b7b9842k42df776x', strict=True) + + def test_uts46_4225(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴕ。۰≮ß݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴕ。۰≮ß݅', strict=True) + + def test_uts46_4226(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴕ。۰≮ß݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴕ。۰≮ß݅', strict=True) + + def test_uts46_4227(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴕ。۰≮ß݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴕ。۰≮ß݅', strict=True) + + def test_uts46_4228(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴕ。۰≮ß݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴕ。۰≮ß݅', strict=True) + + def test_uts46_4229(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴕ。۰≮SS݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴕ。۰≮SS݅', strict=True) + + def test_uts46_4230(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴕ。۰≮SS݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴕ。۰≮SS݅', strict=True) + + def test_uts46_4231(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴕ。۰≮ss݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴕ。۰≮ss݅', strict=True) + + def test_uts46_4232(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴕ。۰≮ss݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴕ。۰≮ss݅', strict=True) + + def test_uts46_4233(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴕ。۰≮Ss݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴕ。۰≮Ss݅', strict=True) + + def test_uts46_4234(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴕ。۰≮Ss݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴕ。۰≮Ss݅', strict=True) + + def test_uts46_4235(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dlj.xn--ss-jbe65aw27i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dlj.xn--ss-jbe65aw27i', strict=True) + + def test_uts46_4236(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴕ.۰≮ss݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴕ.۰≮ss݅', strict=True) + + def test_uts46_4237(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴕ.۰≮ss݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴕ.۰≮ss݅', strict=True) + + def test_uts46_4238(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴕ.۰≮SS݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴕ.۰≮SS݅', strict=True) + + def test_uts46_4239(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴕ.۰≮SS݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴕ.۰≮SS݅', strict=True) + + def test_uts46_4240(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴕ.۰≮Ss݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴕ.۰≮Ss݅', strict=True) + + def test_uts46_4241(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴕ.۰≮Ss݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴕ.۰≮Ss݅', strict=True) + + def test_uts46_4242(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dlj.xn--zca912alh227g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dlj.xn--zca912alh227g', strict=True) + + def test_uts46_4243(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴕ.۰≮ß݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴕ.۰≮ß݅', strict=True) + + def test_uts46_4244(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴕ.۰≮ß݅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴕ.۰≮ß݅', strict=True) + + def test_uts46_4245(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tnd.xn--ss-jbe65aw27i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tnd.xn--ss-jbe65aw27i', strict=True) + + def test_uts46_4246(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tnd.xn--zca912alh227g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tnd.xn--zca912alh227g', strict=True) + + def test_uts46_4247(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߩ-.𝨗꒱᭲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߩ-.𝨗꒱᭲', strict=True) + + def test_uts46_4248(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----odd.xn--dwf8994dc8wj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----odd.xn--dwf8994dc8wj', strict=True) + + def test_uts46_4249(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ef38\u200c.≯䕵⫧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ef38\u200c.≯䕵⫧', strict=True) + + def test_uts46_4250(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ef38\u200c.≯䕵⫧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ef38\u200c.≯䕵⫧', strict=True) + + def test_uts46_4251(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--sn7h.xn--hdh754ax6w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--sn7h.xn--hdh754ax6w', strict=True) + + def test_uts46_4252(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugx453p.xn--hdh754ax6w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugx453p.xn--hdh754ax6w', strict=True) + + def test_uts46_4253(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨅ßﱗ.ڬ۳︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨅ßﱗ.ڬ۳︒', strict=True) + + def test_uts46_4254(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨅ßيخ.ڬ۳。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨅ßيخ.ڬ۳。', strict=True) + + def test_uts46_4255(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨅SSيخ.ڬ۳。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨅SSيخ.ڬ۳。', strict=True) + + def test_uts46_4256(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨅ssيخ.ڬ۳。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨅ssيخ.ڬ۳。', strict=True) + + def test_uts46_4257(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨅Ssيخ.ڬ۳。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨅Ssيخ.ڬ۳。', strict=True) + + def test_uts46_4258(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-ytd5i7765l.xn--fkb6l.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-ytd5i7765l.xn--fkb6l.', strict=True) + + def test_uts46_4259(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca23yncs877j.xn--fkb6l.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca23yncs877j.xn--fkb6l.', strict=True) + + def test_uts46_4260(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨅SSﱗ.ڬ۳︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨅SSﱗ.ڬ۳︒', strict=True) + + def test_uts46_4261(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨅ssﱗ.ڬ۳︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨅ssﱗ.ڬ۳︒', strict=True) + + def test_uts46_4262(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐨅Ssﱗ.ڬ۳︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐨅Ssﱗ.ڬ۳︒', strict=True) + + def test_uts46_4263(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-ytd5i7765l.xn--fkb6lp314e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-ytd5i7765l.xn--fkb6lp314e', strict=True) + + def test_uts46_4264(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca23yncs877j.xn--fkb6lp314e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca23yncs877j.xn--fkb6lp314e', strict=True) + + def test_uts46_4265(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≮🡒᳭.\U0004fffeႡܔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≮🡒᳭.\U0004fffeႡܔ', strict=True) + + def test_uts46_4266(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≮🡒᳭.\U0004fffeႡܔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≮🡒᳭.\U0004fffeႡܔ', strict=True) + + def test_uts46_4267(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≮🡒᳭.\U0004fffeⴁܔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≮🡒᳭.\U0004fffeⴁܔ', strict=True) + + def test_uts46_4268(self): + self.assertRaises(idna.IDNAError, idna.decode, '-≮🡒᳭.\U0004fffeⴁܔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-≮🡒᳭.\U0004fffeⴁܔ', strict=True) + + def test_uts46_4269(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----44l04zxt68c.xn--enb135qf106f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----44l04zxt68c.xn--enb135qf106f', strict=True) + + def test_uts46_4270(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----44l04zxt68c.xn--enb300c1597h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----44l04zxt68c.xn--enb300c1597h', strict=True) + + def test_uts46_4271(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤨。ꡏ\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤨。ꡏ\u200d\u200c', strict=True) + + def test_uts46_4272(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤨。ꡏ\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤨。ꡏ\u200d\u200c', strict=True) + + def test_uts46_4273(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤆。ꡏ\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤆。ꡏ\u200d\u200c', strict=True) + + def test_uts46_4274(self): + self.assertEqual(idna.decode('xn--ge6h.xn--oc9a', uts46=True, strict=True), '𞤨.ꡏ') + self.assertEqual(idna.encode('xn--ge6h.xn--oc9a', uts46=True, strict=True), b'xn--ge6h.xn--oc9a') + + def test_uts46_4275(self): + self.assertEqual(idna.decode('𞤨.ꡏ', uts46=True, strict=True), '𞤨.ꡏ') + self.assertEqual(idna.encode('𞤨.ꡏ', uts46=True, strict=True), b'xn--ge6h.xn--oc9a') + + def test_uts46_4276(self): + self.assertEqual(idna.decode('𞤆.ꡏ', uts46=True, strict=True), '𞤨.ꡏ') + self.assertEqual(idna.encode('𞤆.ꡏ', uts46=True, strict=True), b'xn--ge6h.xn--oc9a') + + def test_uts46_4277(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ge6h.xn--0ugb9575h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ge6h.xn--0ugb9575h', strict=True) + + def test_uts46_4278(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤆。ꡏ\u200d\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤆。ꡏ\u200d\u200c', strict=True) + + def test_uts46_4279(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅹𑂶.ᢌ𑂹٩', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅹𑂶.ᢌ𑂹٩', strict=True) + + def test_uts46_4280(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅹𑂶.ᢌ𑂹٩', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅹𑂶.ᢌ𑂹٩', strict=True) + + def test_uts46_4281(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b50d.xn--iib993gyp5p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b50d.xn--iib993gyp5p', strict=True) + + def test_uts46_4282(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⅎ󠅺\U0005dd52。≯⾑', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⅎ󠅺\U0005dd52。≯⾑', strict=True) + + def test_uts46_4283(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⅎ󠅺\U0005dd52。≯⾑', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⅎ󠅺\U0005dd52。≯⾑', strict=True) + + def test_uts46_4284(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⅎ󠅺\U0005dd52。≯襾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⅎ󠅺\U0005dd52。≯襾', strict=True) + + def test_uts46_4285(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⅎ󠅺\U0005dd52。≯襾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⅎ󠅺\U0005dd52。≯襾', strict=True) + + def test_uts46_4286(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⅎ󠅺\U0005dd52。≯襾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⅎ󠅺\U0005dd52。≯襾', strict=True) + + def test_uts46_4287(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⅎ󠅺\U0005dd52。≯襾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⅎ󠅺\U0005dd52。≯襾', strict=True) + + def test_uts46_4288(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--73g39298c.xn--hdhz171b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--73g39298c.xn--hdhz171b', strict=True) + + def test_uts46_4289(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⅎ󠅺\U0005dd52。≯⾑', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⅎ󠅺\U0005dd52。≯⾑', strict=True) + + def test_uts46_4290(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⅎ󠅺\U0005dd52。≯⾑', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⅎ󠅺\U0005dd52。≯⾑', strict=True) + + def test_uts46_4291(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--f3g73398c.xn--hdhz171b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--f3g73398c.xn--hdhz171b', strict=True) + + def test_uts46_4292(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς\u200dු٠。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς\u200dු٠。-', strict=True) + + def test_uts46_4293(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς\u200dු٠。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς\u200dු٠。-', strict=True) + + def test_uts46_4294(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ\u200dු٠。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ\u200dු٠。-', strict=True) + + def test_uts46_4295(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ\u200dු٠。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ\u200dු٠。-', strict=True) + + def test_uts46_4296(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa25ks2j.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa25ks2j.-', strict=True) + + def test_uts46_4297(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa25ks2jenu.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa25ks2jenu.-', strict=True) + + def test_uts46_4298(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa45ks2jenu.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa45ks2jenu.-', strict=True) + + def test_uts46_4299(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ\u200dු٠。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ\u200dු٠。-', strict=True) + + def test_uts46_4300(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ\u200dු٠。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ\u200dු٠。-', strict=True) + + def test_uts46_4301(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.ßႩ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.ßႩ-', strict=True) + + def test_uts46_4302(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.ßⴉ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.ßⴉ-', strict=True) + + def test_uts46_4303(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.SSႩ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.SSႩ-', strict=True) + + def test_uts46_4304(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.ssⴉ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.ssⴉ-', strict=True) + + def test_uts46_4305(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.Ssⴉ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.Ssⴉ-', strict=True) + + def test_uts46_4306(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--ss--bi1b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--ss--bi1b', strict=True) + + def test_uts46_4307(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--ss--bi1b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--ss--bi1b', strict=True) + + def test_uts46_4308(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn----pfa2305a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn----pfa2305a', strict=True) + + def test_uts46_4309(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--ss--4rn', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--ss--4rn', strict=True) + + def test_uts46_4310(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--ss--4rn', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--ss--4rn', strict=True) + + def test_uts46_4311(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn----pfa042j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn----pfa042j', strict=True) + + def test_uts46_4312(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000cdb72𐫍㓱。⾑', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000cdb72𐫍㓱。⾑', strict=True) + + def test_uts46_4313(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000cdb72𐫍㓱。襾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000cdb72𐫍㓱。襾', strict=True) + + def test_uts46_4314(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--u7kt691dlj09f.xn--9v2a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--u7kt691dlj09f.xn--9v2a', strict=True) + + def test_uts46_4315(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڠ𐮋𐹰≮。≯\U000e0997\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڠ𐮋𐹰≮。≯\U000e0997\u200d', strict=True) + + def test_uts46_4316(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڠ𐮋𐹰≮。≯\U000e0997\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڠ𐮋𐹰≮。≯\U000e0997\u200d', strict=True) + + def test_uts46_4317(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2jb053lf13nyoc.xn--hdh08821l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2jb053lf13nyoc.xn--hdh08821l', strict=True) + + def test_uts46_4318(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2jb053lf13nyoc.xn--1ugx6gc8096c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2jb053lf13nyoc.xn--1ugx6gc8096c', strict=True) + + def test_uts46_4319(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟞。\U00043c36ݷࢰ⩋', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟞。\U00043c36ݷࢰ⩋', strict=True) + + def test_uts46_4320(self): + self.assertRaises(idna.IDNAError, idna.decode, '6。\U00043c36ݷࢰ⩋', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '6。\U00043c36ݷࢰ⩋', strict=True) + + def test_uts46_4321(self): + self.assertRaises(idna.IDNAError, idna.decode, '6.xn--7pb04do15eq748f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '6.xn--7pb04do15eq748f', strict=True) + + def test_uts46_4322(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ﳽ。𑇀𑍴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ﳽ。𑇀𑍴', strict=True) + + def test_uts46_4323(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ﳽ。𑇀𑍴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ﳽ。𑇀𑍴', strict=True) + + def test_uts46_4324(self): + self.assertRaises(idna.IDNAError, idna.decode, '-شى。𑇀𑍴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-شى。𑇀𑍴', strict=True) + + def test_uts46_4325(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----qnc7d.xn--wd1d62a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----qnc7d.xn--wd1d62a', strict=True) + + def test_uts46_4326(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000e02b6𝟏.ൃ\U000aa950𐹬\U000ca4f6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000e02b6𝟏.ൃ\U000aa950𐹬\U000ca4f6', strict=True) + + def test_uts46_4327(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000e02b61.ൃ\U000aa950𐹬\U000ca4f6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000e02b61.ൃ\U000aa950𐹬\U000ca4f6', strict=True) + + def test_uts46_4328(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-f521m.xn--mxc0872kcu37dnmem', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-f521m.xn--mxc0872kcu37dnmem', strict=True) + + def test_uts46_4329(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-rgnu0071n.xn--mxc0872kcu37dnmem', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-rgnu0071n.xn--mxc0872kcu37dnmem', strict=True) + + def test_uts46_4330(self): + self.assertEqual(idna.decode('齙--𝟰.ß', uts46=True, strict=True), '齙--4.ß') + self.assertEqual(idna.encode('齙--𝟰.ß', uts46=True, strict=True), b'xn----4-p16k.xn--zca') + + def test_uts46_4331(self): + self.assertEqual(idna.decode('齙--4.ß', uts46=True, strict=True), '齙--4.ß') + self.assertEqual(idna.encode('齙--4.ß', uts46=True, strict=True), b'xn----4-p16k.xn--zca') + + def test_uts46_4332(self): + self.assertEqual(idna.decode('齙--4.SS', uts46=True, strict=True), '齙--4.ss') + self.assertEqual(idna.encode('齙--4.SS', uts46=True, strict=True), b'xn----4-p16k.ss') + + def test_uts46_4333(self): + self.assertEqual(idna.decode('齙--4.ss', uts46=True, strict=True), '齙--4.ss') + self.assertEqual(idna.encode('齙--4.ss', uts46=True, strict=True), b'xn----4-p16k.ss') + + def test_uts46_4334(self): + self.assertEqual(idna.decode('齙--4.Ss', uts46=True, strict=True), '齙--4.ss') + self.assertEqual(idna.encode('齙--4.Ss', uts46=True, strict=True), b'xn----4-p16k.ss') + + def test_uts46_4335(self): + self.assertEqual(idna.decode('xn----4-p16k.ss', uts46=True, strict=True), '齙--4.ss') + self.assertEqual(idna.encode('xn----4-p16k.ss', uts46=True, strict=True), b'xn----4-p16k.ss') + + def test_uts46_4336(self): + self.assertEqual(idna.decode('xn----4-p16k.xn--zca', uts46=True, strict=True), '齙--4.ß') + self.assertEqual(idna.encode('xn----4-p16k.xn--zca', uts46=True, strict=True), b'xn----4-p16k.xn--zca') + + def test_uts46_4337(self): + self.assertEqual(idna.decode('齙--𝟰.SS', uts46=True, strict=True), '齙--4.ss') + self.assertEqual(idna.encode('齙--𝟰.SS', uts46=True, strict=True), b'xn----4-p16k.ss') + + def test_uts46_4338(self): + self.assertEqual(idna.decode('齙--𝟰.ss', uts46=True, strict=True), '齙--4.ss') + self.assertEqual(idna.encode('齙--𝟰.ss', uts46=True, strict=True), b'xn----4-p16k.ss') + + def test_uts46_4339(self): + self.assertEqual(idna.decode('齙--𝟰.Ss', uts46=True, strict=True), '齙--4.ss') + self.assertEqual(idna.encode('齙--𝟰.Ss', uts46=True, strict=True), b'xn----4-p16k.ss') + + def test_uts46_4340(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯲.𐹢𞀖\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯲.𐹢𞀖\u200c', strict=True) + + def test_uts46_4341(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0zf.xn--9n0d2296a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0zf.xn--9n0d2296a', strict=True) + + def test_uts46_4342(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0zf.xn--0ug9894grqqf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0zf.xn--0ug9894grqqf', strict=True) + + def test_uts46_4343(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c3c99\U000e02d8。?-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c3c99\U000e02d8。?-\u200d', strict=True) + + def test_uts46_4344(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c3c99\U000e02d8。?-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c3c99\U000e02d8。?-\u200d', strict=True) + + def test_uts46_4345(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ct86d8w51a.?-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ct86d8w51a.?-', strict=True) + + def test_uts46_4346(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ct86d8w51a.xn--?--n1t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ct86d8w51a.xn--?--n1t', strict=True) + + def test_uts46_4347(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ct86d8w51a.?-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ct86d8w51a.?-\u200d', strict=True) + + def test_uts46_4348(self): + self.assertRaises(idna.IDNAError, idna.decode, 'XN--CT86D8W51A.?-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'XN--CT86D8W51A.?-\u200d', strict=True) + + def test_uts46_4349(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Xn--Ct86d8w51a.?-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Xn--Ct86d8w51a.?-\u200d', strict=True) + + def test_uts46_4350(self): + self.assertRaises(idna.IDNAError, idna.decode, '᩠.\U0001ed77-𝪩悎', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᩠.\U0001ed77-𝪩悎', strict=True) + + def test_uts46_4351(self): + self.assertRaises(idna.IDNAError, idna.decode, '᩠.\U0001ed77-𝪩悎', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᩠.\U0001ed77-𝪩悎', strict=True) + + def test_uts46_4352(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jof.xn----gf4bq282iezpa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jof.xn----gf4bq282iezpa', strict=True) + + def test_uts46_4353(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001b72f\U000e029b.𞤳\U0004f97e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001b72f\U000e029b.𞤳\U0004f97e', strict=True) + + def test_uts46_4354(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001b72f\U000e029b.𞤳\U0004f97e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001b72f\U000e029b.𞤳\U0004f97e', strict=True) + + def test_uts46_4355(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001b72f\U000e029b.𞤑\U0004f97e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001b72f\U000e029b.𞤑\U0004f97e', strict=True) + + def test_uts46_4356(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xx5gy2741c.xn--re6hw266j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xx5gy2741c.xn--re6hw266j', strict=True) + + def test_uts46_4357(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001b72f\U000e029b.𞤑\U0004f97e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001b72f\U000e029b.𞤑\U0004f97e', strict=True) + + def test_uts46_4358(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܜ𐫒خ.𐋲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܜ𐫒خ.𐋲', strict=True) + + def test_uts46_4359(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tgb98b8643d.xn--m97c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tgb98b8643d.xn--m97c', strict=True) + + def test_uts46_4360(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐼑𞤓ط\u08e2.?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐼑𞤓ط\u08e2.?', strict=True) + + def test_uts46_4361(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐼑𞤵ط\u08e2.?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐼑𞤵ط\u08e2.?', strict=True) + + def test_uts46_4362(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2gb08k9w69agm0g.?', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2gb08k9w69agm0g.?', strict=True) + + def test_uts46_4363(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ↄ。᳔੍\U0001ede3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ↄ。᳔੍\U0001ede3', strict=True) + + def test_uts46_4364(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ↄ。᳔੍\U0001ede3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ↄ。᳔੍\U0001ede3', strict=True) + + def test_uts46_4365(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ↄ。᳔੍\U0001ede3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ↄ。᳔੍\U0001ede3', strict=True) + + def test_uts46_4366(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--r5g.xn--ybc995g0835a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--r5g.xn--ybc995g0835a', strict=True) + + def test_uts46_4367(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ↄ。᳔੍\U0001ede3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ↄ。᳔੍\U0001ede3', strict=True) + + def test_uts46_4368(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--q5g.xn--ybc995g0835a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--q5g.xn--ybc995g0835a', strict=True) + + def test_uts46_4369(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0aa2-。\U0009b08f≮𑜫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0aa2-。\U0009b08f≮𑜫', strict=True) + + def test_uts46_4370(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0aa2-。\U0009b08f≮𑜫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0aa2-。\U0009b08f≮𑜫', strict=True) + + def test_uts46_4371(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----bh61m.xn--gdhz157g0em1d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----bh61m.xn--gdhz157g0em1d', strict=True) + + def test_uts46_4372(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000e0279\u200d。\U0008cfe7≮Ⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000e0279\u200d。\U0008cfe7≮Ⴉ', strict=True) + + def test_uts46_4373(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000e0279\u200d。\U0008cfe7≮Ⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000e0279\u200d。\U0008cfe7≮Ⴉ', strict=True) + + def test_uts46_4374(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000e0279\u200d。\U0008cfe7≮ⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000e0279\u200d。\U0008cfe7≮ⴉ', strict=True) + + def test_uts46_4375(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000e0279\u200d。\U0008cfe7≮ⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000e0279\u200d。\U0008cfe7≮ⴉ', strict=True) + + def test_uts46_4376(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3n36e.xn--gdh992byu01p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3n36e.xn--gdh992byu01p', strict=True) + + def test_uts46_4377(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugc90904y.xn--gdh992byu01p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugc90904y.xn--gdh992byu01p', strict=True) + + def test_uts46_4378(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3n36e.xn--hnd112gpz83n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3n36e.xn--hnd112gpz83n', strict=True) + + def test_uts46_4379(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugc90904y.xn--hnd112gpz83n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugc90904y.xn--hnd112gpz83n', strict=True) + + def test_uts46_4380(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹯-𑄴ࢼ。︒䖐⾆', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹯-𑄴ࢼ。︒䖐⾆', strict=True) + + def test_uts46_4381(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹯-𑄴ࢼ。。䖐舌', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹯-𑄴ࢼ。。䖐舌', strict=True) + + def test_uts46_4382(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----rpd7902rclc..xn--fpo216m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----rpd7902rclc..xn--fpo216m', strict=True) + + def test_uts46_4383(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----rpd7902rclc.xn--fpo216mn07e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----rpd7902rclc.xn--fpo216mn07e', strict=True) + + def test_uts46_4384(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪞Ⴐ。쪡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪞Ⴐ。쪡', strict=True) + + def test_uts46_4385(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪞Ⴐ。쪡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪞Ⴐ。쪡', strict=True) + + def test_uts46_4386(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪞Ⴐ。쪡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪞Ⴐ。쪡', strict=True) + + def test_uts46_4387(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪞Ⴐ。쪡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪞Ⴐ。쪡', strict=True) + + def test_uts46_4388(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪞ⴐ。쪡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪞ⴐ。쪡', strict=True) + + def test_uts46_4389(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪞ⴐ。쪡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪞ⴐ。쪡', strict=True) + + def test_uts46_4390(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7kj1858k.xn--pi6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7kj1858k.xn--pi6b', strict=True) + + def test_uts46_4391(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪞ⴐ。쪡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪞ⴐ。쪡', strict=True) + + def test_uts46_4392(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝪞ⴐ。쪡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝪞ⴐ。쪡', strict=True) + + def test_uts46_4393(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ond3755u.xn--pi6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ond3755u.xn--pi6b', strict=True) + + def test_uts46_4394(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ฺ쩁𐹬.\U0010b273', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ฺ쩁𐹬.\U0010b273', strict=True) + + def test_uts46_4395(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ฺ쩁𐹬.\U0010b273', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ฺ쩁𐹬.\U0010b273', strict=True) + + def test_uts46_4396(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--o4c4837g2zvb.xn--5f70g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--o4c4837g2zvb.xn--5f70g', strict=True) + + def test_uts46_4397(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡅ0\u200c。⎢\U000e4a04', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡅ0\u200c。⎢\U000e4a04', strict=True) + + def test_uts46_4398(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡅ0\u200c。⎢\U000e4a04', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡅ0\u200c。⎢\U000e4a04', strict=True) + + def test_uts46_4399(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0-z6j.xn--8lh28773l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0-z6j.xn--8lh28773l', strict=True) + + def test_uts46_4400(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0-z6jy93b.xn--8lh28773l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0-z6jy93b.xn--8lh28773l', strict=True) + + def test_uts46_4401(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00032b9a9ꍩ៓.\u200dß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00032b9a9ꍩ៓.\u200dß', strict=True) + + def test_uts46_4402(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00032b9a9ꍩ៓.\u200dß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00032b9a9ꍩ៓.\u200dß', strict=True) + + def test_uts46_4403(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00032b9a9ꍩ៓.\u200dSS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00032b9a9ꍩ៓.\u200dSS', strict=True) + + def test_uts46_4404(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00032b9a9ꍩ៓.\u200dss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00032b9a9ꍩ៓.\u200dss', strict=True) + + def test_uts46_4405(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-i0j5967eg3qz.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-i0j5967eg3qz.ss', strict=True) + + def test_uts46_4406(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-i0j5967eg3qz.xn--ss-l1t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-i0j5967eg3qz.xn--ss-l1t', strict=True) + + def test_uts46_4407(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-i0j5967eg3qz.xn--zca770n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-i0j5967eg3qz.xn--zca770n', strict=True) + + def test_uts46_4408(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00032b9a9ꍩ៓.\u200dSS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00032b9a9ꍩ៓.\u200dSS', strict=True) + + def test_uts46_4409(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00032b9a9ꍩ៓.\u200dss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00032b9a9ꍩ៓.\u200dss', strict=True) + + def test_uts46_4410(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00032b9a9ꍩ៓.\u200dSs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00032b9a9ꍩ៓.\u200dSs', strict=True) + + def test_uts46_4411(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00032b9a9ꍩ៓.\u200dSs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00032b9a9ꍩ៓.\u200dSs', strict=True) + + def test_uts46_4412(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꗷ𑆀.ݝ𐩒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꗷ𑆀.ݝ𐩒', strict=True) + + def test_uts46_4413(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ju8a625r.xn--hpb0073k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ju8a625r.xn--hpb0073k', strict=True) + + def test_uts46_4414(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒐≯-。︒\U000a9463-\U0005e6e0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒐≯-。︒\U000a9463-\U0005e6e0', strict=True) + + def test_uts46_4415(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒐≯-。︒\U000a9463-\U0005e6e0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒐≯-。︒\U000a9463-\U0005e6e0', strict=True) + + def test_uts46_4416(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.≯-。。\U000a9463-\U0005e6e0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.≯-。。\U000a9463-\U0005e6e0', strict=True) + + def test_uts46_4417(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.≯-。。\U000a9463-\U0005e6e0', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.≯-。。\U000a9463-\U0005e6e0', strict=True) + + def test_uts46_4418(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.xn----ogo..xn----xj54d1s69k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.xn----ogo..xn----xj54d1s69k', strict=True) + + def test_uts46_4419(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ogot9g.xn----n89hl0522az9u2a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ogot9g.xn----n89hl0522az9u2a', strict=True) + + def test_uts46_4420(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00088a9aೣჁ\U000e088f.؝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00088a9aೣჁ\U000e088f.؝', strict=True) + + def test_uts46_4421(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00088a9aೣჁ\U000e088f.؝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00088a9aೣჁ\U000e088f.؝', strict=True) + + def test_uts46_4422(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00088a9aೣⴡ\U000e088f.؝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00088a9aೣⴡ\U000e088f.؝', strict=True) + + def test_uts46_4423(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vuc226n8n28lmju7a.xn--cgb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vuc226n8n28lmju7a.xn--cgb', strict=True) + + def test_uts46_4424(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00088a9aೣⴡ\U000e088f.؝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00088a9aೣⴡ\U000e088f.؝', strict=True) + + def test_uts46_4425(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vuc49qvu85xmju7a.xn--cgb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vuc49qvu85xmju7a.xn--cgb', strict=True) + + def test_uts46_4426(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᷫ。𐋩ظ-𐫮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᷫ。𐋩ظ-𐫮', strict=True) + + def test_uts46_4427(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gfg.xn----xnc0815qyyg', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gfg.xn----xnc0815qyyg', strict=True) + + def test_uts46_4428(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。⾇𐳋Ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。⾇𐳋Ⴝ', strict=True) + + def test_uts46_4429(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。⾇𐳋Ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。⾇𐳋Ⴝ', strict=True) + + def test_uts46_4430(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。舛𐳋Ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。舛𐳋Ⴝ', strict=True) + + def test_uts46_4431(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。舛𐳋Ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。舛𐳋Ⴝ', strict=True) + + def test_uts46_4432(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。舛𐳋ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。舛𐳋ⴝ', strict=True) + + def test_uts46_4433(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。舛𐳋ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。舛𐳋ⴝ', strict=True) + + def test_uts46_4434(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。舛𐲋Ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。舛𐲋Ⴝ', strict=True) + + def test_uts46_4435(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。舛𐲋Ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。舛𐲋Ⴝ', strict=True) + + def test_uts46_4436(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。舛𐲋ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。舛𐲋ⴝ', strict=True) + + def test_uts46_4437(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。舛𐲋ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。舛𐲋ⴝ', strict=True) + + def test_uts46_4438(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9u4b.xn--llj123yh74e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9u4b.xn--llj123yh74e', strict=True) + + def test_uts46_4439(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。⾇𐳋ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。⾇𐳋ⴝ', strict=True) + + def test_uts46_4440(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。⾇𐳋ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。⾇𐳋ⴝ', strict=True) + + def test_uts46_4441(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。⾇𐲋Ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。⾇𐲋Ⴝ', strict=True) + + def test_uts46_4442(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。⾇𐲋Ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。⾇𐲋Ⴝ', strict=True) + + def test_uts46_4443(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。⾇𐲋ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。⾇𐲋ⴝ', strict=True) + + def test_uts46_4444(self): + self.assertRaises(idna.IDNAError, idna.decode, '싇。⾇𐲋ⴝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '싇。⾇𐲋ⴝ', strict=True) + + def test_uts46_4445(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9u4b.xn--1nd7519ch79d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9u4b.xn--1nd7519ch79d', strict=True) + + def test_uts46_4446(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹠ς。\u200cڿჀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹠ς。\u200cڿჀ', strict=True) + + def test_uts46_4447(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹠ς。\u200cڿⴠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹠ς。\u200cڿⴠ', strict=True) + + def test_uts46_4448(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹠Σ。\u200cڿჀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹠Σ。\u200cڿჀ', strict=True) + + def test_uts46_4449(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹠σ。\u200cڿⴠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹠σ。\u200cڿⴠ', strict=True) + + def test_uts46_4450(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹠Σ。\u200cڿⴠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹠Σ。\u200cڿⴠ', strict=True) + + def test_uts46_4451(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa9167k.xn--ykb467q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa9167k.xn--ykb467q', strict=True) + + def test_uts46_4452(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa9167k.xn--ykb760k9hj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa9167k.xn--ykb760k9hj', strict=True) + + def test_uts46_4453(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa1267k.xn--ykb760k9hj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa1267k.xn--ykb760k9hj', strict=True) + + def test_uts46_4454(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa9167k.xn--ykb632c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa9167k.xn--ykb632c', strict=True) + + def test_uts46_4455(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa9167k.xn--ykb632cvxm', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa9167k.xn--ykb632cvxm', strict=True) + + def test_uts46_4456(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa1267k.xn--ykb632cvxm', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa1267k.xn--ykb632cvxm', strict=True) + + def test_uts46_4457(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00087490\u200c\u0604.ښ-ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00087490\u200c\u0604.ښ-ß', strict=True) + + def test_uts46_4458(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00087490\u200c\u0604.ښ-SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00087490\u200c\u0604.ښ-SS', strict=True) + + def test_uts46_4459(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00087490\u200c\u0604.ښ-ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00087490\u200c\u0604.ښ-ss', strict=True) + + def test_uts46_4460(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00087490\u200c\u0604.ښ-Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00087490\u200c\u0604.ښ-Ss', strict=True) + + def test_uts46_4461(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mfb98261i.xn---ss-sdf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mfb98261i.xn---ss-sdf', strict=True) + + def test_uts46_4462(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mfb144kqo32m.xn---ss-sdf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mfb144kqo32m.xn---ss-sdf', strict=True) + + def test_uts46_4463(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mfb144kqo32m.xn----qfa315b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mfb144kqo32m.xn----qfa315b', strict=True) + + def test_uts46_4464(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\u200d឵ٺ.-ﮰ\U000c511e\U00010e1a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\u200d឵ٺ.-ﮰ\U000c511e\U00010e1a', strict=True) + + def test_uts46_4465(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\u200d឵ٺ.-ۓ\U000c511e\U00010e1a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\u200d឵ٺ.-ۓ\U000c511e\U00010e1a', strict=True) + + def test_uts46_4466(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\u200d឵ٺ.-ۓ\U000c511e\U00010e1a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\u200d឵ٺ.-ۓ\U000c511e\U00010e1a', strict=True) + + def test_uts46_4467(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zib.xn----twc1133r17r6g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zib.xn----twc1133r17r6g', strict=True) + + def test_uts46_4468(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zib502kda.xn----twc1133r17r6g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zib502kda.xn----twc1133r17r6g', strict=True) + + def test_uts46_4469(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zib539f.xn----twc1133r17r6g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zib539f.xn----twc1133r17r6g', strict=True) + + def test_uts46_4470(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zib539f8igea.xn----twc1133r17r6g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zib539f8igea.xn----twc1133r17r6g', strict=True) + + def test_uts46_4471(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a1db1。𐮬≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a1db1。𐮬≠', strict=True) + + def test_uts46_4472(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a1db1。𐮬≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a1db1。𐮬≠', strict=True) + + def test_uts46_4473(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a1db1。𐮬≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a1db1。𐮬≠', strict=True) + + def test_uts46_4474(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a1db1。𐮬≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a1db1。𐮬≠', strict=True) + + def test_uts46_4475(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dd55c.xn--1ch3003g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dd55c.xn--1ch3003g', strict=True) + + def test_uts46_4476(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྲ\U0001ed85。𐹮𐹷덝۵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྲ\U0001ed85。𐹮𐹷덝۵', strict=True) + + def test_uts46_4477(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྲ\U0001ed85。𐹮𐹷덝۵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྲ\U0001ed85。𐹮𐹷덝۵', strict=True) + + def test_uts46_4478(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྲ\U0001ed85。𐹮𐹷덝۵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྲ\U0001ed85。𐹮𐹷덝۵', strict=True) + + def test_uts46_4479(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྲ\U0001ed85。𐹮𐹷덝۵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྲ\U0001ed85。𐹮𐹷덝۵', strict=True) + + def test_uts46_4480(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fgd0675v.xn--imb5839fidpcbba', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fgd0675v.xn--imb5839fidpcbba', strict=True) + + def test_uts46_4481(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴏ󠅋-.\u200dႩ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴏ󠅋-.\u200dႩ', strict=True) + + def test_uts46_4482(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴏ󠅋-.\u200dႩ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴏ󠅋-.\u200dႩ', strict=True) + + def test_uts46_4483(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴏ󠅋-.\u200dⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴏ󠅋-.\u200dⴉ', strict=True) + + def test_uts46_4484(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----3vs.xn--0kj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----3vs.xn--0kj', strict=True) + + def test_uts46_4485(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----3vs.xn--1ug532c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----3vs.xn--1ug532c', strict=True) + + def test_uts46_4486(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴏ󠅋-.\u200dⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴏ󠅋-.\u200dⴉ', strict=True) + + def test_uts46_4487(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----00g.xn--hnd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----00g.xn--hnd', strict=True) + + def test_uts46_4488(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----00g.xn--hnd399e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----00g.xn--hnd399e', strict=True) + + def test_uts46_4489(self): + self.assertRaises(idna.IDNAError, idna.decode, '⇧𐨏\U000e0f88\U000efd85。\u0600\U000e0235󠆉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⇧𐨏\U000e0f88\U000efd85。\u0600\U000e0235󠆉', strict=True) + + def test_uts46_4490(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--l8g5552g64t4g46xf.xn--ifb08144p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--l8g5552g64t4g46xf.xn--ifb08144p', strict=True) + + def test_uts46_4491(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠𐮂.↑🄇⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠𐮂.↑🄇⒈', strict=True) + + def test_uts46_4492(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠𐮂.↑🄇⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠𐮂.↑🄇⒈', strict=True) + + def test_uts46_4493(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠𐮂.↑6,1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠𐮂.↑6,1.', strict=True) + + def test_uts46_4494(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠𐮂.↑6,1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠𐮂.↑6,1.', strict=True) + + def test_uts46_4495(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1chy492g.xn--6,1-pw1a.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1chy492g.xn--6,1-pw1a.', strict=True) + + def test_uts46_4496(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1chy492g.xn--6,-uzus5m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1chy492g.xn--6,-uzus5m', strict=True) + + def test_uts46_4497(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1chy492g.xn--45gx9iuy44d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1chy492g.xn--45gx9iuy44d', strict=True) + + def test_uts46_4498(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝩏\U000e0c89ß.ᢤ\U0008498c\u200c𐹫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝩏\U000e0c89ß.ᢤ\U0008498c\u200c𐹫', strict=True) + + def test_uts46_4499(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝩏\U000e0c89SS.ᢤ\U0008498c\u200c𐹫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝩏\U000e0c89SS.ᢤ\U0008498c\u200c𐹫', strict=True) + + def test_uts46_4500(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝩏\U000e0c89ss.ᢤ\U0008498c\u200c𐹫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝩏\U000e0c89ss.ᢤ\U0008498c\u200c𐹫', strict=True) + + def test_uts46_4501(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝩏\U000e0c89Ss.ᢤ\U0008498c\u200c𐹫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝩏\U000e0c89Ss.ᢤ\U0008498c\u200c𐹫', strict=True) + + def test_uts46_4502(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-zb11ap1427e.xn--ubf2596jbt61c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-zb11ap1427e.xn--ubf2596jbt61c', strict=True) + + def test_uts46_4503(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-zb11ap1427e.xn--ubf609atw1tynn3d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-zb11ap1427e.xn--ubf609atw1tynn3d', strict=True) + + def test_uts46_4504(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca3153vupz3e.xn--ubf609atw1tynn3d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca3153vupz3e.xn--ubf609atw1tynn3d', strict=True) + + def test_uts46_4505(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + + def test_uts46_4506(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + + def test_uts46_4507(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß\U00010d73\U00057601ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß\U00010d73\U00057601ⴇ。ꙺ', strict=True) + + def test_uts46_4508(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS\U00010d53\U00057601Ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS\U00010d53\U00057601Ⴇ。ꙺ', strict=True) + + def test_uts46_4509(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss\U00010d73\U00057601ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss\U00010d73\U00057601ⴇ。ꙺ', strict=True) + + def test_uts46_4510(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + + def test_uts46_4511(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-e61ar955h4hs7b.xn--9x8a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-e61ar955h4hs7b.xn--9x8a', strict=True) + + def test_uts46_4512(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca227tpy4lkns1b.xn--9x8a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca227tpy4lkns1b.xn--9x8a', strict=True) + + def test_uts46_4513(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß\U00010d73\U00057601ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß\U00010d73\U00057601ⴇ。ꙺ', strict=True) + + def test_uts46_4514(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS\U00010d53\U00057601Ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS\U00010d53\U00057601Ⴇ。ꙺ', strict=True) + + def test_uts46_4515(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss\U00010d73\U00057601ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss\U00010d73\U00057601ⴇ。ꙺ', strict=True) + + def test_uts46_4516(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + + def test_uts46_4517(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + + def test_uts46_4518(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-rek7420r4hs7b.xn--9x8a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-rek7420r4hs7b.xn--9x8a', strict=True) + + def test_uts46_4519(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca491fci5qkn79a.xn--9x8a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca491fci5qkn79a.xn--9x8a', strict=True) + + def test_uts46_4520(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS\U00010d73\U00057601Ⴇ。ꙺ', strict=True) + + def test_uts46_4521(self): + self.assertRaises(idna.IDNAError, idna.decode, '᜔。󠆣-𑋪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᜔。󠆣-𑋪', strict=True) + + def test_uts46_4522(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fze.xn----ly8i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fze.xn----ly8i', strict=True) + + def test_uts46_4523(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꯨ-.\U000a83dcֽß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꯨ-.\U000a83dcֽß', strict=True) + + def test_uts46_4524(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꯨ-.\U000a83dcֽß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꯨ-.\U000a83dcֽß', strict=True) + + def test_uts46_4525(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꯨ-.\U000a83dcֽSS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꯨ-.\U000a83dcֽSS', strict=True) + + def test_uts46_4526(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꯨ-.\U000a83dcֽss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꯨ-.\U000a83dcֽss', strict=True) + + def test_uts46_4527(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꯨ-.\U000a83dcֽSs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꯨ-.\U000a83dcֽSs', strict=True) + + def test_uts46_4528(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----pw5e.xn--ss-7jd10716y', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----pw5e.xn--ss-7jd10716y', strict=True) + + def test_uts46_4529(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----pw5e.xn--zca50wfv060a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----pw5e.xn--zca50wfv060a', strict=True) + + def test_uts46_4530(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꯨ-.\U000a83dcֽSS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꯨ-.\U000a83dcֽSS', strict=True) + + def test_uts46_4531(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꯨ-.\U000a83dcֽss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꯨ-.\U000a83dcֽss', strict=True) + + def test_uts46_4532(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꯨ-.\U000a83dcֽSs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꯨ-.\U000a83dcֽSs', strict=True) + + def test_uts46_4533(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡓ-≮。٫󠅱ᡄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡓ-≮。٫󠅱ᡄ', strict=True) + + def test_uts46_4534(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡓ-≮。٫󠅱ᡄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡓ-≮。٫󠅱ᡄ', strict=True) + + def test_uts46_4535(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----s7j866c.xn--kib252g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----s7j866c.xn--kib252g', strict=True) + + def test_uts46_4536(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟥♮𑜫࣭.្𑜫8󠆏', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟥♮𑜫࣭.្𑜫8󠆏', strict=True) + + def test_uts46_4537(self): + self.assertRaises(idna.IDNAError, idna.decode, '3♮𑜫࣭.្𑜫8󠆏', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3♮𑜫࣭.្𑜫8󠆏', strict=True) + + def test_uts46_4538(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-ksd277tlo7s.xn--8-f0jx021l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-ksd277tlo7s.xn--8-f0jx021l', strict=True) + + def test_uts46_4539(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。\U00095300\u200d❡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。\U00095300\u200d❡', strict=True) + + def test_uts46_4540(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。\U00095300\u200d❡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。\U00095300\u200d❡', strict=True) + + def test_uts46_4541(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--nei54421f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--nei54421f', strict=True) + + def test_uts46_4542(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--1ug800aq795s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--1ug800aq795s', strict=True) + + def test_uts46_4543(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟓☱𝟐\U000a5c35。𝪮\U00050873', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟓☱𝟐\U000a5c35。𝪮\U00050873', strict=True) + + def test_uts46_4544(self): + self.assertRaises(idna.IDNAError, idna.decode, '5☱2\U000a5c35。𝪮\U00050873', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '5☱2\U000a5c35。𝪮\U00050873', strict=True) + + def test_uts46_4545(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--52-dwx47758j.xn--kd3hk431k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--52-dwx47758j.xn--kd3hk431k', strict=True) + + def test_uts46_4546(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.-├\U000969a3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.-├\U000969a3', strict=True) + + def test_uts46_4547(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn----ukp70432h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn----ukp70432h', strict=True) + + def test_uts46_4548(self): + self.assertRaises(idna.IDNAError, idna.decode, '֥ݭ。\u200d\U000e0018', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֥ݭ。\u200d\U000e0018', strict=True) + + def test_uts46_4549(self): + self.assertRaises(idna.IDNAError, idna.decode, '֥ݭ。\u200d\U000e0018', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '֥ݭ。\u200d\U000e0018', strict=True) + + def test_uts46_4550(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wcb62g.xn--p526e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wcb62g.xn--p526e', strict=True) + + def test_uts46_4551(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wcb62g.xn--1ugy8001l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wcb62g.xn--1ugy8001l', strict=True) + + def test_uts46_4552(self): + self.assertRaises(idna.IDNAError, idna.decode, '쥥\U000d43c9Ⴎ.\u200c⒈⒈𐫒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '쥥\U000d43c9Ⴎ.\u200c⒈⒈𐫒', strict=True) + + def test_uts46_4553(self): + self.assertRaises(idna.IDNAError, idna.decode, '쥥\U000d43c9Ⴎ.\u200c⒈⒈𐫒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '쥥\U000d43c9Ⴎ.\u200c⒈⒈𐫒', strict=True) + + def test_uts46_4554(self): + self.assertRaises(idna.IDNAError, idna.decode, '쥥\U000d43c9Ⴎ.\u200c1.1.𐫒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '쥥\U000d43c9Ⴎ.\u200c1.1.𐫒', strict=True) + + def test_uts46_4555(self): + self.assertRaises(idna.IDNAError, idna.decode, '쥥\U000d43c9Ⴎ.\u200c1.1.𐫒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '쥥\U000d43c9Ⴎ.\u200c1.1.𐫒', strict=True) + + def test_uts46_4556(self): + self.assertRaises(idna.IDNAError, idna.decode, '쥥\U000d43c9ⴎ.\u200c1.1.𐫒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '쥥\U000d43c9ⴎ.\u200c1.1.𐫒', strict=True) + + def test_uts46_4557(self): + self.assertRaises(idna.IDNAError, idna.decode, '쥥\U000d43c9ⴎ.\u200c1.1.𐫒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '쥥\U000d43c9ⴎ.\u200c1.1.𐫒', strict=True) + + def test_uts46_4558(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5kj3511ccyw3h.1.1.xn--7w9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5kj3511ccyw3h.1.1.xn--7w9c', strict=True) + + def test_uts46_4559(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5kj3511ccyw3h.xn--1-rgn.1.xn--7w9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5kj3511ccyw3h.xn--1-rgn.1.xn--7w9c', strict=True) + + def test_uts46_4560(self): + self.assertRaises(idna.IDNAError, idna.decode, '쥥\U000d43c9ⴎ.\u200c⒈⒈𐫒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '쥥\U000d43c9ⴎ.\u200c⒈⒈𐫒', strict=True) + + def test_uts46_4561(self): + self.assertRaises(idna.IDNAError, idna.decode, '쥥\U000d43c9ⴎ.\u200c⒈⒈𐫒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '쥥\U000d43c9ⴎ.\u200c⒈⒈𐫒', strict=True) + + def test_uts46_4562(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5kj3511ccyw3h.xn--tsha6797o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5kj3511ccyw3h.xn--tsha6797o', strict=True) + + def test_uts46_4563(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5kj3511ccyw3h.xn--0ug88oa0396u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5kj3511ccyw3h.xn--0ug88oa0396u', strict=True) + + def test_uts46_4564(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mnd7865gcy28g.1.1.xn--7w9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mnd7865gcy28g.1.1.xn--7w9c', strict=True) + + def test_uts46_4565(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mnd7865gcy28g.xn--1-rgn.1.xn--7w9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mnd7865gcy28g.xn--1-rgn.1.xn--7w9c', strict=True) + + def test_uts46_4566(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mnd7865gcy28g.xn--tsha6797o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mnd7865gcy28g.xn--tsha6797o', strict=True) + + def test_uts46_4567(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mnd7865gcy28g.xn--0ug88oa0396u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mnd7865gcy28g.xn--0ug88oa0396u', strict=True) + + def test_uts46_4568(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࠧ𝟶ڠ-。𑄳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࠧ𝟶ڠ-。𑄳', strict=True) + + def test_uts46_4569(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࠧ0ڠ-。𑄳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࠧ0ڠ-。𑄳', strict=True) + + def test_uts46_4570(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0--p3d67m.xn--v80d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0--p3d67m.xn--v80d', strict=True) + + def test_uts46_4571(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς.ﷁ🞛⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς.ﷁ🞛⒈', strict=True) + + def test_uts46_4572(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς.فمي🞛1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς.فمي🞛1.', strict=True) + + def test_uts46_4573(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ.فمي🞛1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ.فمي🞛1.', strict=True) + + def test_uts46_4574(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ.فمي🞛1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ.فمي🞛1.', strict=True) + + def test_uts46_4575(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa.xn--1-gocmu97674d.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa.xn--1-gocmu97674d.', strict=True) + + def test_uts46_4576(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa.xn--1-gocmu97674d.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa.xn--1-gocmu97674d.', strict=True) + + def test_uts46_4577(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ.ﷁ🞛⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ.ﷁ🞛⒈', strict=True) + + def test_uts46_4578(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ.ﷁ🞛⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ.ﷁ🞛⒈', strict=True) + + def test_uts46_4579(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa.xn--dhbip2802atb20c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa.xn--dhbip2802atb20c', strict=True) + + def test_uts46_4580(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa.xn--dhbip2802atb20c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa.xn--dhbip2802atb20c', strict=True) + + def test_uts46_4581(self): + self.assertRaises(idna.IDNAError, idna.decode, '🗩-。𐹻\U000d0786\U0006526e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🗩-。𐹻\U000d0786\U0006526e', strict=True) + + def test_uts46_4582(self): + self.assertRaises(idna.IDNAError, idna.decode, '🗩-。𐹻\U000d0786\U0006526e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🗩-。𐹻\U000d0786\U0006526e', strict=True) + + def test_uts46_4583(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----6t3s.xn--zo0d4811u6ru6a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----6t3s.xn--zo0d4811u6ru6a', strict=True) + + def test_uts46_4584(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐡜-🔪。𝟻\u200c𐿀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐡜-🔪。𝟻\u200c𐿀', strict=True) + + def test_uts46_4585(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐡜-🔪。5\u200c𐿀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐡜-🔪。5\u200c𐿀', strict=True) + + def test_uts46_4586(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----5j4iv089c.xn--5-bn7i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----5j4iv089c.xn--5-bn7i', strict=True) + + def test_uts46_4587(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----5j4iv089c.xn--5-sgn7149h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----5j4iv089c.xn--5-sgn7149h', strict=True) + + def test_uts46_4588(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dß.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dß.ߏ0ּ', strict=True) + + def test_uts46_4589(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dß.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dß.ߏ0ּ', strict=True) + + def test_uts46_4590(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dß.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dß.ߏ0ּ', strict=True) + + def test_uts46_4591(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dß.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dß.ߏ0ּ', strict=True) + + def test_uts46_4592(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dSS.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dSS.ߏ0ּ', strict=True) + + def test_uts46_4593(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dSS.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dSS.ߏ0ּ', strict=True) + + def test_uts46_4594(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dss.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dss.ߏ0ּ', strict=True) + + def test_uts46_4595(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dss.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dss.ߏ0ּ', strict=True) + + def test_uts46_4596(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-i05i7041a.xn--0-vgc50n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-i05i7041a.xn--0-vgc50n', strict=True) + + def test_uts46_4597(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-l1tu910fo0xd.xn--0-vgc50n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-l1tu910fo0xd.xn--0-vgc50n', strict=True) + + def test_uts46_4598(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dSs.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dSs.ߏ0ּ', strict=True) + + def test_uts46_4599(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dSs.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dSs.ߏ0ּ', strict=True) + + def test_uts46_4600(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca770n5s4hev6c.xn--0-vgc50n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca770n5s4hev6c.xn--0-vgc50n', strict=True) + + def test_uts46_4601(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dSS.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dSS.ߏ0ּ', strict=True) + + def test_uts46_4602(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dSS.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dSS.ߏ0ּ', strict=True) + + def test_uts46_4603(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dss.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dss.ߏ0ּ', strict=True) + + def test_uts46_4604(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dss.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dss.ߏ0ּ', strict=True) + + def test_uts46_4605(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dSs.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dSs.ߏ0ּ', strict=True) + + def test_uts46_4606(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹣늿\u200dSs.ߏ0ּ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹣늿\u200dSs.ߏ0ּ', strict=True) + + def test_uts46_4607(self): + self.assertRaises(idna.IDNAError, idna.decode, '9󠇥.\U000ead34ᢓ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9󠇥.\U000ead34ᢓ', strict=True) + + def test_uts46_4608(self): + self.assertRaises(idna.IDNAError, idna.decode, '9󠇥.\U000ead34ᢓ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9󠇥.\U000ead34ᢓ', strict=True) + + def test_uts46_4609(self): + self.assertRaises(idna.IDNAError, idna.decode, '9.xn--dbf91222q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '9.xn--dbf91222q', strict=True) + + def test_uts46_4610(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cᅠ.𐫭🠗ß⽟', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cᅠ.𐫭🠗ß⽟', strict=True) + + def test_uts46_4611(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cᅠ.𐫭🠗ß玉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cᅠ.𐫭🠗ß玉', strict=True) + + def test_uts46_4612(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cᅠ.𐫭🠗SS玉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cᅠ.𐫭🠗SS玉', strict=True) + + def test_uts46_4613(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cᅠ.𐫭🠗ss玉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cᅠ.𐫭🠗ss玉', strict=True) + + def test_uts46_4614(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cᅠ.𐫭🠗Ss玉', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cᅠ.𐫭🠗Ss玉', strict=True) + + def test_uts46_4615(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--ss-je6eq954cp25j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--ss-je6eq954cp25j', strict=True) + + def test_uts46_4616(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--ss-je6eq954cp25j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--ss-je6eq954cp25j', strict=True) + + def test_uts46_4617(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--zca2289c550e0iwi', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--zca2289c550e0iwi', strict=True) + + def test_uts46_4618(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cᅠ.𐫭🠗SS⽟', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cᅠ.𐫭🠗SS⽟', strict=True) + + def test_uts46_4619(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cᅠ.𐫭🠗ss⽟', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cᅠ.𐫭🠗ss⽟', strict=True) + + def test_uts46_4620(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cᅠ.𐫭🠗Ss⽟', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cᅠ.𐫭🠗Ss⽟', strict=True) + + def test_uts46_4621(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--psd.xn--ss-je6eq954cp25j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--psd.xn--ss-je6eq954cp25j', strict=True) + + def test_uts46_4622(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--psd526e.xn--ss-je6eq954cp25j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--psd526e.xn--ss-je6eq954cp25j', strict=True) + + def test_uts46_4623(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--psd526e.xn--zca2289c550e0iwi', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--psd526e.xn--zca2289c550e0iwi', strict=True) + + def test_uts46_4624(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cl7c.xn--ss-je6eq954cp25j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cl7c.xn--ss-je6eq954cp25j', strict=True) + + def test_uts46_4625(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug7719f.xn--ss-je6eq954cp25j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug7719f.xn--ss-je6eq954cp25j', strict=True) + + def test_uts46_4626(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug7719f.xn--zca2289c550e0iwi', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug7719f.xn--zca2289c550e0iwi', strict=True) + + def test_uts46_4627(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒Ⴖͦ.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒Ⴖͦ.\u200c', strict=True) + + def test_uts46_4628(self): + self.assertRaises(idna.IDNAError, idna.decode, '。Ⴖͦ.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。Ⴖͦ.\u200c', strict=True) + + def test_uts46_4629(self): + self.assertRaises(idna.IDNAError, idna.decode, '。ⴖͦ.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。ⴖͦ.\u200c', strict=True) + + def test_uts46_4630(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--hva754s.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--hva754s.', strict=True) + + def test_uts46_4631(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--hva754s.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--hva754s.xn--0ug', strict=True) + + def test_uts46_4632(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒ⴖͦ.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒ⴖͦ.\u200c', strict=True) + + def test_uts46_4633(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hva754sy94k.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hva754sy94k.', strict=True) + + def test_uts46_4634(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hva754sy94k.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hva754sy94k.xn--0ug', strict=True) + + def test_uts46_4635(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--hva929d.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--hva929d.', strict=True) + + def test_uts46_4636(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--hva929d.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--hva929d.xn--0ug', strict=True) + + def test_uts46_4637(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hva929dl29p.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hva929dl29p.', strict=True) + + def test_uts46_4638(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hva929dl29p.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hva929dl29p.xn--0ug', strict=True) + + def test_uts46_4641(self): + self.assertEqual(idna.decode('Ⴖͦ.', uts46=True, strict=True), 'ⴖͦ.') + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴖͦ.', strict=True) + + def test_uts46_4642(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hva929d.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hva929d.', strict=True) + + def test_uts46_4643(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࢻ.\u200cႣ𞀒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࢻ.\u200cႣ𞀒', strict=True) + + def test_uts46_4644(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࢻ.\u200cႣ𞀒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࢻ.\u200cႣ𞀒', strict=True) + + def test_uts46_4645(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࢻ.\u200cⴃ𞀒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࢻ.\u200cⴃ𞀒', strict=True) + + def test_uts46_4646(self): + self.assertEqual(idna.decode('xn--hzb.xn--ukj4430l', uts46=True, strict=True), 'ࢻ.ⴃ𞀒') + self.assertEqual(idna.encode('xn--hzb.xn--ukj4430l', uts46=True, strict=True), b'xn--hzb.xn--ukj4430l') + + def test_uts46_4647(self): + self.assertEqual(idna.decode('ࢻ.ⴃ𞀒', uts46=True, strict=True), 'ࢻ.ⴃ𞀒') + self.assertEqual(idna.encode('ࢻ.ⴃ𞀒', uts46=True, strict=True), b'xn--hzb.xn--ukj4430l') + + def test_uts46_4648(self): + self.assertEqual(idna.decode('ࢻ.Ⴃ𞀒', uts46=True, strict=True), 'ࢻ.ⴃ𞀒') + self.assertEqual(idna.encode('ࢻ.Ⴃ𞀒', uts46=True, strict=True), b'xn--hzb.xn--ukj4430l') + + def test_uts46_4649(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hzb.xn--0ug822cp045a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hzb.xn--0ug822cp045a', strict=True) + + def test_uts46_4650(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࢻ.\u200cⴃ𞀒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࢻ.\u200cⴃ𞀒', strict=True) + + def test_uts46_4651(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hzb.xn--bnd2938u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hzb.xn--bnd2938u', strict=True) + + def test_uts46_4652(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hzb.xn--bnd300f7225a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hzb.xn--bnd300f7225a', strict=True) + + def test_uts46_4653(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c。2䫷\U000e09f7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c。2䫷\U000e09f7', strict=True) + + def test_uts46_4654(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c。2䫷\U000e09f7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c。2䫷\U000e09f7', strict=True) + + def test_uts46_4655(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--2-me5ay1273i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--2-me5ay1273i', strict=True) + + def test_uts46_4656(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugb.xn--2-me5ay1273i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugb.xn--2-me5ay1273i', strict=True) + + def test_uts46_4657(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𞀤\U000dc810。\U00088b16', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𞀤\U000dc810。\U00088b16', strict=True) + + def test_uts46_4658(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----rq4re4997d.xn--l707b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----rq4re4997d.xn--l707b', strict=True) + + def test_uts46_4659(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000f36c2︒\u200c㟀.ؤ⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000f36c2︒\u200c㟀.ؤ⒈', strict=True) + + def test_uts46_4660(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000f36c2︒\u200c㟀.ؤ⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000f36c2︒\u200c㟀.ؤ⒈', strict=True) + + def test_uts46_4661(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000f36c2。\u200c㟀.ؤ1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000f36c2。\u200c㟀.ؤ1.', strict=True) + + def test_uts46_4662(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000f36c2。\u200c㟀.ؤ1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000f36c2。\u200c㟀.ؤ1.', strict=True) + + def test_uts46_4663(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--z272f.xn--etl.xn--1-smc.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--z272f.xn--etl.xn--1-smc.', strict=True) + + def test_uts46_4664(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--z272f.xn--0ug754g.xn--1-smc.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--z272f.xn--0ug754g.xn--1-smc.', strict=True) + + def test_uts46_4665(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--etlt457ccrq7h.xn--jgb476m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--etlt457ccrq7h.xn--jgb476m', strict=True) + + def test_uts46_4666(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug754gxl4ldlt0k.xn--jgb476m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug754gxl4ldlt0k.xn--jgb476m', strict=True) + + def test_uts46_4667(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑲜ߊ𝅼。-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑲜ߊ𝅼。-\u200d', strict=True) + + def test_uts46_4668(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lsb5482l7nre.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lsb5482l7nre.-', strict=True) + + def test_uts46_4669(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lsb5482l7nre.xn----ugn', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lsb5482l7nre.xn----ugn', strict=True) + + def test_uts46_4670(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.Ⴉ≠𐫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.Ⴉ≠𐫶', strict=True) + + def test_uts46_4671(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.Ⴉ≠𐫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.Ⴉ≠𐫶', strict=True) + + def test_uts46_4672(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.Ⴉ≠𐫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.Ⴉ≠𐫶', strict=True) + + def test_uts46_4673(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.Ⴉ≠𐫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.Ⴉ≠𐫶', strict=True) + + def test_uts46_4674(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.ⴉ≠𐫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.ⴉ≠𐫶', strict=True) + + def test_uts46_4675(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.ⴉ≠𐫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.ⴉ≠𐫶', strict=True) + + def test_uts46_4676(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--1chx23bzj4p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--1chx23bzj4p', strict=True) + + def test_uts46_4677(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--1chx23bzj4p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--1chx23bzj4p', strict=True) + + def test_uts46_4678(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.ⴉ≠𐫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.ⴉ≠𐫶', strict=True) + + def test_uts46_4679(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.ⴉ≠𐫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.ⴉ≠𐫶', strict=True) + + def test_uts46_4680(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--hnd481gv73o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--hnd481gv73o', strict=True) + + def test_uts46_4681(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--hnd481gv73o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--hnd481gv73o', strict=True) + + def test_uts46_4682(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݐ。≯ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݐ。≯ς', strict=True) + + def test_uts46_4683(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݐ。≯ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݐ。≯ς', strict=True) + + def test_uts46_4684(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݐ。≯Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݐ。≯Σ', strict=True) + + def test_uts46_4685(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݐ。≯Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݐ。≯Σ', strict=True) + + def test_uts46_4686(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݐ。≯σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݐ。≯σ', strict=True) + + def test_uts46_4687(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݐ。≯σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݐ。≯σ', strict=True) + + def test_uts46_4688(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3ob.xn--4xa718m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3ob.xn--4xa718m', strict=True) + + def test_uts46_4689(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3ob.xn--3xa918m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3ob.xn--3xa918m', strict=True) + + def test_uts46_4690(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u07fc\U00010e06.\U0001358f︒\U0004aa29Ⴐ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u07fc\U00010e06.\U0001358f︒\U0004aa29Ⴐ', strict=True) + + def test_uts46_4691(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u07fc\U00010e06.\U0001358f。\U0004aa29Ⴐ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u07fc\U00010e06.\U0001358f。\U0004aa29Ⴐ', strict=True) + + def test_uts46_4692(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u07fc\U00010e06.\U0001358f。\U0004aa29ⴐ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u07fc\U00010e06.\U0001358f。\U0004aa29ⴐ', strict=True) + + def test_uts46_4693(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0tb8725k.xn--tu8d.xn--7kj73887a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0tb8725k.xn--tu8d.xn--7kj73887a', strict=True) + + def test_uts46_4694(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u07fc\U00010e06.\U0001358f︒\U0004aa29ⴐ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u07fc\U00010e06.\U0001358f︒\U0004aa29ⴐ', strict=True) + + def test_uts46_4695(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0tb8725k.xn--7kj9008dt18a7py9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0tb8725k.xn--7kj9008dt18a7py9c', strict=True) + + def test_uts46_4696(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0tb8725k.xn--tu8d.xn--ond97931d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0tb8725k.xn--tu8d.xn--ond97931d', strict=True) + + def test_uts46_4697(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0tb8725k.xn--ond3562jt18a7py9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0tb8725k.xn--ond3562jt18a7py9c', strict=True) + + def test_uts46_4698(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴥ⚭\U000e05ab⋃。𑌼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴥ⚭\U000e05ab⋃。𑌼', strict=True) + + def test_uts46_4699(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴥ⚭\U000e05ab⋃。𑌼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴥ⚭\U000e05ab⋃。𑌼', strict=True) + + def test_uts46_4700(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴥ⚭\U000e05ab⋃。𑌼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴥ⚭\U000e05ab⋃。𑌼', strict=True) + + def test_uts46_4701(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vfh16m67gx1162b.xn--ro1d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vfh16m67gx1162b.xn--ro1d', strict=True) + + def test_uts46_4702(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴥ⚭\U000e05ab⋃。𑌼', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴥ⚭\U000e05ab⋃。𑌼', strict=True) + + def test_uts46_4703(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9nd623g4zc5z060c.xn--ro1d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9nd623g4zc5z060c.xn--ro1d', strict=True) + + def test_uts46_4704(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄈。\U000e0df3ࡄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄈。\U000e0df3ࡄ', strict=True) + + def test_uts46_4705(self): + self.assertRaises(idna.IDNAError, idna.decode, '7,。\U000e0df3ࡄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '7,。\U000e0df3ࡄ', strict=True) + + def test_uts46_4706(self): + self.assertRaises(idna.IDNAError, idna.decode, '7,.xn--2vb13094p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '7,.xn--2vb13094p', strict=True) + + def test_uts46_4707(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--107h.xn--2vb13094p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--107h.xn--2vb13094p', strict=True) + + def test_uts46_4708(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ࡆ。섖쮖ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ࡆ。섖쮖ß', strict=True) + + def test_uts46_4709(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ࡆ。섖쮖ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ࡆ。섖쮖ß', strict=True) + + def test_uts46_4710(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ࡆ。섖쮖SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ࡆ。섖쮖SS', strict=True) + + def test_uts46_4711(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ࡆ。섖쮖SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ࡆ。섖쮖SS', strict=True) + + def test_uts46_4712(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ࡆ。섖쮖ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ࡆ。섖쮖ss', strict=True) + + def test_uts46_4713(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ࡆ。섖쮖ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ࡆ。섖쮖ss', strict=True) + + def test_uts46_4714(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4vb505k.xn--ss-5z4j006a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4vb505k.xn--ss-5z4j006a', strict=True) + + def test_uts46_4715(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ࡆ。섖쮖Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ࡆ。섖쮖Ss', strict=True) + + def test_uts46_4716(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮ࡆ。섖쮖Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮ࡆ。섖쮖Ss', strict=True) + + def test_uts46_4717(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4vb505k.xn--zca7259goug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4vb505k.xn--zca7259goug', strict=True) + + def test_uts46_4718(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆓⛏-。ꡒ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆓⛏-。ꡒ', strict=True) + + def test_uts46_4719(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----o9p.xn--rc9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----o9p.xn--rc9a', strict=True) + + def test_uts46_4720(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u07bb𐹳ئ𑁆。ࢧڰ\u200cᢒ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u07bb𐹳ئ𑁆。ࢧڰ\u200cᢒ', strict=True) + + def test_uts46_4721(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u07bb𐹳ئ𑁆。ࢧڰ\u200cᢒ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u07bb𐹳ئ𑁆。ࢧڰ\u200cᢒ', strict=True) + + def test_uts46_4722(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lgb32f2753cosb.xn--jkb91hlz1a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lgb32f2753cosb.xn--jkb91hlz1a', strict=True) + + def test_uts46_4723(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lgb32f2753cosb.xn--jkb91hlz1azih', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lgb32f2753cosb.xn--jkb91hlz1azih', strict=True) + + def test_uts46_4724(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࠖ.𐨕\U0001a695', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࠖ.𐨕\U0001a695', strict=True) + + def test_uts46_4725(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rub.xn--tr9c248x', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rub.xn--tr9c248x', strict=True) + + def test_uts46_4726(self): + self.assertRaises(idna.IDNAError, idna.decode, '--。\U0003d286ݧ𐽋𞠬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '--。\U0003d286ݧ𐽋𞠬', strict=True) + + def test_uts46_4727(self): + self.assertRaises(idna.IDNAError, idna.decode, '--.xn--rpb6226k77pfh58p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '--.xn--rpb6226k77pfh58p', strict=True) + + def test_uts46_4728(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0009bb66𐋥\U00039e10.≯ࢰࢦ\U000d46e3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0009bb66𐋥\U00039e10.≯ࢰࢦ\U000d46e3', strict=True) + + def test_uts46_4729(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0009bb66𐋥\U00039e10.≯ࢰࢦ\U000d46e3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0009bb66𐋥\U00039e10.≯ࢰࢦ\U000d46e3', strict=True) + + def test_uts46_4730(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--887c2298i5mv6a.xn--vybt688qm8981a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--887c2298i5mv6a.xn--vybt688qm8981a', strict=True) + + def test_uts46_4731(self): + self.assertRaises(idna.IDNAError, idna.decode, '䔛󠇒\U000a4e1e𐹧.-䤷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䔛󠇒\U000a4e1e𐹧.-䤷', strict=True) + + def test_uts46_4732(self): + self.assertRaises(idna.IDNAError, idna.decode, '䔛󠇒\U000a4e1e𐹧.-䤷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䔛󠇒\U000a4e1e𐹧.-䤷', strict=True) + + def test_uts46_4733(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2loy662coo60e.xn----0n4a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2loy662coo60e.xn----0n4a', strict=True) + + def test_uts46_4734(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹩.\u200d-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹩.\u200d-', strict=True) + + def test_uts46_4735(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹩.\u200d-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹩.\u200d-', strict=True) + + def test_uts46_4736(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ho0d.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ho0d.-', strict=True) + + def test_uts46_4737(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ho0d.xn----tgn', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ho0d.xn----tgn', strict=True) + + def test_uts46_4738(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00042226帷。≯萺᷈-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00042226帷。≯萺᷈-', strict=True) + + def test_uts46_4739(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00042226帷。≯萺᷈-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00042226帷。≯萺᷈-', strict=True) + + def test_uts46_4740(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00042226帷。≯萺᷈-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00042226帷。≯萺᷈-', strict=True) + + def test_uts46_4741(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00042226帷。≯萺᷈-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00042226帷。≯萺᷈-', strict=True) + + def test_uts46_4742(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qutw175s.xn----mimu6tf67j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qutw175s.xn----mimu6tf67j', strict=True) + + def test_uts46_4743(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d攌꯭。ᢖ-Ⴘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d攌꯭。ᢖ-Ⴘ', strict=True) + + def test_uts46_4744(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d攌꯭。ᢖ-ⴘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d攌꯭。ᢖ-ⴘ', strict=True) + + def test_uts46_4745(self): + self.assertEqual(idna.decode('xn--p9ut19m.xn----mck373i', uts46=True, strict=True), '攌꯭.ᢖ-ⴘ') + self.assertEqual(idna.encode('xn--p9ut19m.xn----mck373i', uts46=True, strict=True), b'xn--p9ut19m.xn----mck373i') + + def test_uts46_4746(self): + self.assertEqual(idna.decode('攌꯭.ᢖ-ⴘ', uts46=True, strict=True), '攌꯭.ᢖ-ⴘ') + self.assertEqual(idna.encode('攌꯭.ᢖ-ⴘ', uts46=True, strict=True), b'xn--p9ut19m.xn----mck373i') + + def test_uts46_4747(self): + self.assertEqual(idna.decode('攌꯭.ᢖ-Ⴘ', uts46=True, strict=True), '攌꯭.ᢖ-ⴘ') + self.assertEqual(idna.encode('攌꯭.ᢖ-Ⴘ', uts46=True, strict=True), b'xn--p9ut19m.xn----mck373i') + + def test_uts46_4748(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug592ykp6b.xn----mck373i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug592ykp6b.xn----mck373i', strict=True) + + def test_uts46_4749(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--p9ut19m.xn----k1g451d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--p9ut19m.xn----k1g451d', strict=True) + + def test_uts46_4750(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug592ykp6b.xn----k1g451d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug592ykp6b.xn----k1g451d', strict=True) + + def test_uts46_4751(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cꖨ.⒗3툒۳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cꖨ.⒗3툒۳', strict=True) + + def test_uts46_4752(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cꖨ.⒗3툒۳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cꖨ.⒗3툒۳', strict=True) + + def test_uts46_4753(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cꖨ.16.3툒۳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cꖨ.16.3툒۳', strict=True) + + def test_uts46_4754(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cꖨ.16.3툒۳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cꖨ.16.3툒۳', strict=True) + + def test_uts46_4755(self): + self.assertEqual(idna.decode('xn--9r8a.16.xn--3-nyc0117m', uts46=True, strict=True), 'ꖨ.16.3툒۳') + self.assertEqual(idna.encode('xn--9r8a.16.xn--3-nyc0117m', uts46=True, strict=True), b'xn--9r8a.16.xn--3-nyc0117m') + + def test_uts46_4756(self): + self.assertEqual(idna.decode('ꖨ.16.3툒۳', uts46=True, strict=True), 'ꖨ.16.3툒۳') + self.assertEqual(idna.encode('ꖨ.16.3툒۳', uts46=True, strict=True), b'xn--9r8a.16.xn--3-nyc0117m') + + def test_uts46_4757(self): + self.assertEqual(idna.decode('ꖨ.16.3툒۳', uts46=True, strict=True), 'ꖨ.16.3툒۳') + self.assertEqual(idna.encode('ꖨ.16.3툒۳', uts46=True, strict=True), b'xn--9r8a.16.xn--3-nyc0117m') + + def test_uts46_4758(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug2473c.16.xn--3-nyc0117m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug2473c.16.xn--3-nyc0117m', strict=True) + + def test_uts46_4759(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9r8a.xn--3-nyc678tu07m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9r8a.xn--3-nyc678tu07m', strict=True) + + def test_uts46_4760(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug2473c.xn--3-nyc678tu07m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug2473c.xn--3-nyc678tu07m', strict=True) + + def test_uts46_4761(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈걾6.𐱁ې', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈걾6.𐱁ې', strict=True) + + def test_uts46_4762(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈걾6.𐱁ې', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈걾6.𐱁ې', strict=True) + + def test_uts46_4766(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-dcps419c.xn--glb1794k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-dcps419c.xn--glb1794k', strict=True) + + def test_uts46_4767(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐲞𝟶≮≮.\U000e0027ع', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐲞𝟶≮≮.\U000e0027ع', strict=True) + + def test_uts46_4768(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐲞𝟶≮≮.\U000e0027ع', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐲞𝟶≮≮.\U000e0027ع', strict=True) + + def test_uts46_4769(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐲞0≮≮.\U000e0027ع', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐲞0≮≮.\U000e0027ع', strict=True) + + def test_uts46_4770(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐲞0≮≮.\U000e0027ع', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐲞0≮≮.\U000e0027ع', strict=True) + + def test_uts46_4771(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐳞0≮≮.\U000e0027ع', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐳞0≮≮.\U000e0027ع', strict=True) + + def test_uts46_4772(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐳞0≮≮.\U000e0027ع', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐳞0≮≮.\U000e0027ع', strict=True) + + def test_uts46_4773(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0-ngoa5711v.xn--4gb31034p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0-ngoa5711v.xn--4gb31034p', strict=True) + + def test_uts46_4774(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐳞𝟶≮≮.\U000e0027ع', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐳞𝟶≮≮.\U000e0027ع', strict=True) + + def test_uts46_4775(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐳞𝟶≮≮.\U000e0027ع', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐳞𝟶≮≮.\U000e0027ع', strict=True) + + def test_uts46_4776(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ૣ.𐹺ᅟ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ૣ.𐹺ᅟ', strict=True) + + def test_uts46_4777(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8fc.xn--yo0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8fc.xn--yo0d', strict=True) + + def test_uts46_4778(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8fc.xn--osd3070k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8fc.xn--osd3070k', strict=True) + + def test_uts46_4779(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟏𝨙⸖.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟏𝨙⸖.\u200d', strict=True) + + def test_uts46_4780(self): + self.assertRaises(idna.IDNAError, idna.decode, '1𝨙⸖.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1𝨙⸖.\u200d', strict=True) + + def test_uts46_4781(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-5bt6845n.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-5bt6845n.', strict=True) + + def test_uts46_4782(self): + self.assertRaises(idna.IDNAError, idna.decode, '1𝨙⸖.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1𝨙⸖.', strict=True) + + def test_uts46_4783(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-5bt6845n.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-5bt6845n.xn--1ug', strict=True) + + def test_uts46_4784(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤐≠ܦ᩠。-\u200cߕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤐≠ܦ᩠。-\u200cߕ', strict=True) + + def test_uts46_4785(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤐≠ܦ᩠。-\u200cߕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤐≠ܦ᩠。-\u200cߕ', strict=True) + + def test_uts46_4786(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤐≠ܦ᩠。-\u200cߕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤐≠ܦ᩠。-\u200cߕ', strict=True) + + def test_uts46_4787(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤐≠ܦ᩠。-\u200cߕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤐≠ܦ᩠。-\u200cߕ', strict=True) + + def test_uts46_4788(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤲≠ܦ᩠。-\u200cߕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤲≠ܦ᩠。-\u200cߕ', strict=True) + + def test_uts46_4789(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤲≠ܦ᩠。-\u200cߕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤲≠ܦ᩠。-\u200cߕ', strict=True) + + def test_uts46_4790(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wnb859grzfzw60c.xn----kcd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wnb859grzfzw60c.xn----kcd', strict=True) + + def test_uts46_4791(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wnb859grzfzw60c.xn----kcd017p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wnb859grzfzw60c.xn----kcd017p', strict=True) + + def test_uts46_4792(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤲≠ܦ᩠。-\u200cߕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤲≠ܦ᩠。-\u200cߕ', strict=True) + + def test_uts46_4793(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤲≠ܦ᩠。-\u200cߕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤲≠ܦ᩠。-\u200cߕ', strict=True) + + def test_uts46_4794(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹰ͨ-ꡧ。ٵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹰ͨ-ꡧ。ٵ', strict=True) + + def test_uts46_4795(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹰ͨ-ꡧ。اٴ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹰ͨ-ꡧ。اٴ', strict=True) + + def test_uts46_4796(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----shb2387jgkqd.xn--mgb8m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----shb2387jgkqd.xn--mgb8m', strict=True) + + def test_uts46_4797(self): + self.assertRaises(idna.IDNAError, idna.decode, 'F󠅟。\U0008f5c5♚', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'F󠅟。\U0008f5c5♚', strict=True) + + def test_uts46_4798(self): + self.assertRaises(idna.IDNAError, idna.decode, 'F󠅟。\U0008f5c5♚', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'F󠅟。\U0008f5c5♚', strict=True) + + def test_uts46_4799(self): + self.assertRaises(idna.IDNAError, idna.decode, 'f󠅟。\U0008f5c5♚', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'f󠅟。\U0008f5c5♚', strict=True) + + def test_uts46_4800(self): + self.assertRaises(idna.IDNAError, idna.decode, 'f.xn--45hz6953f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'f.xn--45hz6953f', strict=True) + + def test_uts46_4801(self): + self.assertRaises(idna.IDNAError, idna.decode, 'f󠅟。\U0008f5c5♚', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'f󠅟。\U0008f5c5♚', strict=True) + + def test_uts46_4802(self): + self.assertRaises(idna.IDNAError, idna.decode, '୍𑄴ᷩ。𝟮Ⴘ𞀨\U00043947', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '୍𑄴ᷩ。𝟮Ⴘ𞀨\U00043947', strict=True) + + def test_uts46_4803(self): + self.assertRaises(idna.IDNAError, idna.decode, '୍𑄴ᷩ。2Ⴘ𞀨\U00043947', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '୍𑄴ᷩ。2Ⴘ𞀨\U00043947', strict=True) + + def test_uts46_4804(self): + self.assertRaises(idna.IDNAError, idna.decode, '୍𑄴ᷩ。2ⴘ𞀨\U00043947', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '୍𑄴ᷩ。2ⴘ𞀨\U00043947', strict=True) + + def test_uts46_4805(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ic246gs21p.xn--2-nws2918ndrjr', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ic246gs21p.xn--2-nws2918ndrjr', strict=True) + + def test_uts46_4806(self): + self.assertRaises(idna.IDNAError, idna.decode, '୍𑄴ᷩ。𝟮ⴘ𞀨\U00043947', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '୍𑄴ᷩ。𝟮ⴘ𞀨\U00043947', strict=True) + + def test_uts46_4807(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ic246gs21p.xn--2-k1g43076adrwq', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ic246gs21p.xn--2-k1g43076adrwq', strict=True) + + def test_uts46_4808(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0009382d\u200c\u200c⒈。勉𑁅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0009382d\u200c\u200c⒈。勉𑁅', strict=True) + + def test_uts46_4809(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0009382d\u200c\u200c1.。勉𑁅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0009382d\u200c\u200c1.。勉𑁅', strict=True) + + def test_uts46_4810(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-yi00h..xn--4grs325b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-yi00h..xn--4grs325b', strict=True) + + def test_uts46_4811(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-rgna61159u..xn--4grs325b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-rgna61159u..xn--4grs325b', strict=True) + + def test_uts46_4812(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh11906f.xn--4grs325b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh11906f.xn--4grs325b', strict=True) + + def test_uts46_4813(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0uga855aez302a.xn--4grs325b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0uga855aez302a.xn--4grs325b', strict=True) + + def test_uts46_4814(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡃ.玿\U0006b21c\U000d5790', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡃ.玿\U0006b21c\U000d5790', strict=True) + + def test_uts46_4815(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--27e.xn--7cy81125a0yq4a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--27e.xn--7cy81125a0yq4a', strict=True) + + def test_uts46_4816(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\u200c。⒈≯𝟵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\u200c。⒈≯𝟵', strict=True) + + def test_uts46_4817(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\u200c。⒈≯𝟵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\u200c。⒈≯𝟵', strict=True) + + def test_uts46_4818(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\u200c。1.≯9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\u200c。1.≯9', strict=True) + + def test_uts46_4819(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\u200c。1.≯9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\u200c。1.≯9', strict=True) + + def test_uts46_4820(self): + self.assertRaises(idna.IDNAError, idna.decode, '.1.xn--9-ogo', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.1.xn--9-ogo', strict=True) + + def test_uts46_4821(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0uga.1.xn--9-ogo', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0uga.1.xn--9-ogo', strict=True) + + def test_uts46_4822(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--9-ogo37g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--9-ogo37g', strict=True) + + def test_uts46_4823(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0uga.xn--9-ogo37g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0uga.xn--9-ogo37g', strict=True) + + def test_uts46_4824(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟᷠ\U00090001.\U0003aec6≯𐮁', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟᷠ\U00090001.\U0003aec6≯𐮁', strict=True) + + def test_uts46_4825(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟᷠ\U00090001.\U0003aec6≯𐮁', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟᷠ\U00090001.\U0003aec6≯𐮁', strict=True) + + def test_uts46_4826(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4eg41418g.xn--hdh5192gkm6r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4eg41418g.xn--hdh5192gkm6r', strict=True) + + def test_uts46_4827(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--osd615d5659o.xn--hdh5192gkm6r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--osd615d5659o.xn--hdh5192gkm6r', strict=True) + + def test_uts46_4828(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄫𝩤\u200dؾ.𝩩-ࠞ\U000d1f29', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄫𝩤\u200dؾ.𝩩-ࠞ\U000d1f29', strict=True) + + def test_uts46_4829(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9gb5080v.xn----qgd52296avol4f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9gb5080v.xn----qgd52296avol4f', strict=True) + + def test_uts46_4830(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9gb723kg862a.xn----qgd52296avol4f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9gb723kg862a.xn----qgd52296avol4f', strict=True) + + def test_uts46_4831(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃚.𑘿-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃚.𑘿-', strict=True) + + def test_uts46_4832(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃚.𑘿-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃚.𑘿-', strict=True) + + def test_uts46_4833(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--w0g.xn----bd0j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--w0g.xn----bd0j', strict=True) + + def test_uts46_4834(self): + self.assertRaises(idna.IDNAError, idna.decode, '䮸ß.\U000e0d5f\U000e0b4e紙ࢨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䮸ß.\U000e0d5f\U000e0b4e紙ࢨ', strict=True) + + def test_uts46_4835(self): + self.assertRaises(idna.IDNAError, idna.decode, '䮸SS.\U000e0d5f\U000e0b4e紙ࢨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䮸SS.\U000e0d5f\U000e0b4e紙ࢨ', strict=True) + + def test_uts46_4836(self): + self.assertRaises(idna.IDNAError, idna.decode, '䮸ss.\U000e0d5f\U000e0b4e紙ࢨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䮸ss.\U000e0d5f\U000e0b4e紙ࢨ', strict=True) + + def test_uts46_4837(self): + self.assertRaises(idna.IDNAError, idna.decode, '䮸Ss.\U000e0d5f\U000e0b4e紙ࢨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䮸Ss.\U000e0d5f\U000e0b4e紙ࢨ', strict=True) + + def test_uts46_4838(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-sf1c.xn--xyb1370div70kpzba', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-sf1c.xn--xyb1370div70kpzba', strict=True) + + def test_uts46_4839(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca5349a.xn--xyb1370div70kpzba', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca5349a.xn--xyb1370div70kpzba', strict=True) + + def test_uts46_4840(self): + self.assertRaises(idna.IDNAError, idna.decode, '-Ⴞ.-𝩨⅔𐦕', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-Ⴞ.-𝩨⅔𐦕', strict=True) + + def test_uts46_4841(self): + self.assertRaises(idna.IDNAError, idna.decode, '-Ⴞ.-𝩨2⁄3𐦕', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-Ⴞ.-𝩨2⁄3𐦕', strict=True) + + def test_uts46_4842(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ⴞ.-𝩨2⁄3𐦕', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ⴞ.-𝩨2⁄3𐦕', strict=True) + + def test_uts46_4843(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----zws.xn---23-pt0a0433lk3jj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----zws.xn---23-pt0a0433lk3jj', strict=True) + + def test_uts46_4844(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ⴞ.-𝩨⅔𐦕', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ⴞ.-𝩨⅔𐦕', strict=True) + + def test_uts46_4845(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----w1g.xn---23-pt0a0433lk3jj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----w1g.xn---23-pt0a0433lk3jj', strict=True) + + def test_uts46_4846(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e722f𐹯ૂ。\U000968a8𐮁\U00047f16ᡂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e722f𐹯ૂ。\U000968a8𐮁\U00047f16ᡂ', strict=True) + + def test_uts46_4847(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e722f𐹯ૂ。\U000968a8𐮁\U00047f16ᡂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e722f𐹯ૂ。\U000968a8𐮁\U00047f16ᡂ', strict=True) + + def test_uts46_4848(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bfc7604kv8m3g.xn--17e5565jl7zw4h16a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bfc7604kv8m3g.xn--17e5565jl7zw4h16a', strict=True) + + def test_uts46_4849(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ႂ-\u200d꣪.ꡊ\u200d\U0007ce33', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ႂ-\u200d꣪.ꡊ\u200d\U0007ce33', strict=True) + + def test_uts46_4850(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ႂ-\u200d꣪.ꡊ\u200d\U0007ce33', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ႂ-\u200d꣪.ꡊ\u200d\U0007ce33', strict=True) + + def test_uts46_4851(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----gyg3618i.xn--jc9ao4185a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----gyg3618i.xn--jc9ao4185a', strict=True) + + def test_uts46_4852(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----gyg250jio7k.xn--1ug8774cri56d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----gyg250jio7k.xn--1ug8774cri56d', strict=True) + + def test_uts46_4853(self): + self.assertRaises(idna.IDNAError, idna.decode, '۱。≠٨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '۱。≠٨', strict=True) + + def test_uts46_4854(self): + self.assertRaises(idna.IDNAError, idna.decode, '۱。≠٨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '۱。≠٨', strict=True) + + def test_uts46_4855(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--emb.xn--hib334l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--emb.xn--hib334l', strict=True) + + def test_uts46_4856(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑈵廊.𐠍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑈵廊.𐠍', strict=True) + + def test_uts46_4857(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xytw701b.xn--yc9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xytw701b.xn--yc9c', strict=True) + + def test_uts46_4858(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d͖-.-Ⴐ١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d͖-.-Ⴐ١', strict=True) + + def test_uts46_4859(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d͖-.-Ⴐ١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d͖-.-Ⴐ١', strict=True) + + def test_uts46_4860(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d͖-.-ⴐ١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d͖-.-ⴐ١', strict=True) + + def test_uts46_4861(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----rgb.xn----bqc2280a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----rgb.xn----bqc2280a', strict=True) + + def test_uts46_4862(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----rgb661t.xn----bqc2280a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----rgb661t.xn----bqc2280a', strict=True) + + def test_uts46_4863(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d͖-.-ⴐ١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d͖-.-ⴐ١', strict=True) + + def test_uts46_4864(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----rgb.xn----bqc030f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----rgb.xn----bqc030f', strict=True) + + def test_uts46_4865(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----rgb661t.xn----bqc030f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----rgb661t.xn----bqc030f', strict=True) + + def test_uts46_4866(self): + self.assertRaises(idna.IDNAError, idna.decode, 'غ١挏\U000febd0.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'غ١挏\U000febd0.-', strict=True) + + def test_uts46_4867(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5gb2f4205aqi47p.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5gb2f4205aqi47p.-', strict=True) + + def test_uts46_4868(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۯ。𐹧𞤽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۯ。𐹧𞤽', strict=True) + + def test_uts46_4869(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۯ。𐹧𞤽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۯ。𐹧𞤽', strict=True) + + def test_uts46_4870(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۯ。𐹧𞤛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۯ。𐹧𞤛', strict=True) + + def test_uts46_4871(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--cmb.xn--fo0dy848a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--cmb.xn--fo0dy848a', strict=True) + + def test_uts46_4872(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ۯ。𐹧𞤛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ۯ。𐹧𞤛', strict=True) + + def test_uts46_4873(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + + def test_uts46_4874(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + + def test_uts46_4875(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + + def test_uts46_4876(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + + def test_uts46_4877(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + + def test_uts46_4878(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + + def test_uts46_4879(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mlj0486jgl2j.xn--hbf6853f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mlj0486jgl2j.xn--hbf6853f', strict=True) + + def test_uts46_4880(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + + def test_uts46_4881(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴞ\U000366c0\U0001b5fb.ᢗ릫', strict=True) + + def test_uts46_4882(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2nd8876sgl2j.xn--hbf6853f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2nd8876sgl2j.xn--hbf6853f', strict=True) + + def test_uts46_4883(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0383\U000d7b5eڷ𐹷。≯\u200c᷾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0383\U000d7b5eڷ𐹷。≯\u200c᷾', strict=True) + + def test_uts46_4884(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0383\U000d7b5eڷ𐹷。≯\u200c᷾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0383\U000d7b5eڷ𐹷。≯\u200c᷾', strict=True) + + def test_uts46_4885(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0383\U000d7b5eڷ𐹷。≯\u200c᷾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0383\U000d7b5eڷ𐹷。≯\u200c᷾', strict=True) + + def test_uts46_4886(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0383\U000d7b5eڷ𐹷。≯\u200c᷾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0383\U000d7b5eڷ𐹷。≯\u200c᷾', strict=True) + + def test_uts46_4887(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qkb4516kbi06fg2id.xn--zfg31q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qkb4516kbi06fg2id.xn--zfg31q', strict=True) + + def test_uts46_4888(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qkb4516kbi06fg2id.xn--zfg59fm0c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qkb4516kbi06fg2id.xn--zfg59fm0c', strict=True) + + def test_uts46_4889(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᛎ󠅍\U000e0415\u200d。𐹾𐹪\U00010edd-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᛎ󠅍\U000e0415\u200d。𐹾𐹪\U00010edd-', strict=True) + + def test_uts46_4890(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᛎ󠅍\U000e0415\u200d。𐹾𐹪\U00010edd-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᛎ󠅍\U000e0415\u200d。𐹾𐹪\U00010edd-', strict=True) + + def test_uts46_4891(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fxe63563p.xn----q26i2bvu', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fxe63563p.xn----q26i2bvu', strict=True) + + def test_uts46_4892(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fxe848bq3411a.xn----q26i2bvu', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fxe848bq3411a.xn----q26i2bvu', strict=True) + + def test_uts46_4893(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹶.𐫂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹶.𐫂', strict=True) + + def test_uts46_4894(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--uo0d.xn--rw9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--uo0d.xn--rw9c', strict=True) + + def test_uts46_4895(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß\u200d်。⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß\u200d်。⒈', strict=True) + + def test_uts46_4896(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß\u200d်。1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß\u200d်。1.', strict=True) + + def test_uts46_4897(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS\u200d်。1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS\u200d်。1.', strict=True) + + def test_uts46_4898(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss\u200d်。1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss\u200d်。1.', strict=True) + + def test_uts46_4899(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss\u200d်。1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss\u200d်。1.', strict=True) + + def test_uts46_4902(self): + self.assertEqual(idna.decode('SS်.B.', uts46=True, strict=True), 'ss်.b.') + self.assertRaises(idna.IDNAError, idna.encode, 'SS်.B.', strict=True) + + def test_uts46_4903(self): + self.assertEqual(idna.decode('Ss်.b.', uts46=True, strict=True), 'ss်.b.') + self.assertRaises(idna.IDNAError, idna.encode, 'Ss်.b.', strict=True) + + def test_uts46_4904(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-f4j585j.b.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-f4j585j.b.', strict=True) + + def test_uts46_4905(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca679eh2l.b.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca679eh2l.b.', strict=True) + + def test_uts46_4906(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS\u200d်。⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS\u200d်。⒈', strict=True) + + def test_uts46_4907(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss\u200d်。⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss\u200d်。⒈', strict=True) + + def test_uts46_4908(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss\u200d်。⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss\u200d်。⒈', strict=True) + + def test_uts46_4909(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-f4j.xn--tsh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-f4j.xn--tsh', strict=True) + + def test_uts46_4910(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-f4j585j.xn--tsh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-f4j585j.xn--tsh', strict=True) + + def test_uts46_4911(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca679eh2l.xn--tsh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca679eh2l.xn--tsh', strict=True) + + def test_uts46_4912(self): + self.assertEqual(idna.decode('SS်.b.', uts46=True, strict=True), 'ss်.b.') + self.assertRaises(idna.IDNAError, idna.encode, 'SS်.b.', strict=True) + + def test_uts46_4913(self): + self.assertRaises(idna.IDNAError, idna.decode, '୍\u200c\U00019db5\U0001eed8。\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '୍\u200c\U00019db5\U0001eed8。\u200d', strict=True) + + def test_uts46_4914(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ic6417rn4xb.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ic6417rn4xb.', strict=True) + + def test_uts46_4915(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9ic637hz82z32jc.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9ic637hz82z32jc.xn--1ug', strict=True) + + def test_uts46_4916(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐮅。ڼ🁕', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐮅。ڼ🁕', strict=True) + + def test_uts46_4917(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐮅。ڼ🁕', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐮅。ڼ🁕', strict=True) + + def test_uts46_4918(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--c29c.xn--vkb8871w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--c29c.xn--vkb8871w', strict=True) + + def test_uts46_4919(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ؠ្。𐫔\U000e0027\u200c𑈵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ؠ្。𐫔\U000e0027\u200c𑈵', strict=True) + + def test_uts46_4920(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fgb471g.xn--9w9c29jw3931a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fgb471g.xn--9w9c29jw3931a', strict=True) + + def test_uts46_4921(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fgb471g.xn--0ug9853g7verp838a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fgb471g.xn--0ug9853g7verp838a', strict=True) + + def test_uts46_4922(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004b255.𞣕𞤊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004b255.𞣕𞤊', strict=True) + + def test_uts46_4923(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0004b255.𞣕𞤬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0004b255.𞣕𞤬', strict=True) + + def test_uts46_4924(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tf5w.xn--2b6hof', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tf5w.xn--2b6hof', strict=True) + + def test_uts46_4925(self): + self.assertEqual(idna.decode('ی𐨿.ß྄𑍬', uts46=True, strict=True), 'ی𐨿.ß྄𑍬') + self.assertEqual(idna.encode('ی𐨿.ß྄𑍬', uts46=True, strict=True), b'xn--clb2593k.xn--zca216edt0r') + + def test_uts46_4926(self): + self.assertEqual(idna.decode('ی𐨿.ß྄𑍬', uts46=True, strict=True), 'ی𐨿.ß྄𑍬') + self.assertEqual(idna.encode('ی𐨿.ß྄𑍬', uts46=True, strict=True), b'xn--clb2593k.xn--zca216edt0r') + + def test_uts46_4927(self): + self.assertEqual(idna.decode('ی𐨿.SS྄𑍬', uts46=True, strict=True), 'ی𐨿.ss྄𑍬') + self.assertEqual(idna.encode('ی𐨿.SS྄𑍬', uts46=True, strict=True), b'xn--clb2593k.xn--ss-toj6092t') + + def test_uts46_4928(self): + self.assertEqual(idna.decode('ی𐨿.ss྄𑍬', uts46=True, strict=True), 'ی𐨿.ss྄𑍬') + self.assertEqual(idna.encode('ی𐨿.ss྄𑍬', uts46=True, strict=True), b'xn--clb2593k.xn--ss-toj6092t') + + def test_uts46_4929(self): + self.assertEqual(idna.decode('xn--clb2593k.xn--ss-toj6092t', uts46=True, strict=True), 'ی𐨿.ss྄𑍬') + self.assertEqual(idna.encode('xn--clb2593k.xn--ss-toj6092t', uts46=True, strict=True), b'xn--clb2593k.xn--ss-toj6092t') + + def test_uts46_4930(self): + self.assertEqual(idna.decode('xn--clb2593k.xn--zca216edt0r', uts46=True, strict=True), 'ی𐨿.ß྄𑍬') + self.assertEqual(idna.encode('xn--clb2593k.xn--zca216edt0r', uts46=True, strict=True), b'xn--clb2593k.xn--zca216edt0r') + + def test_uts46_4931(self): + self.assertEqual(idna.decode('ی𐨿.SS྄𑍬', uts46=True, strict=True), 'ی𐨿.ss྄𑍬') + self.assertEqual(idna.encode('ی𐨿.SS྄𑍬', uts46=True, strict=True), b'xn--clb2593k.xn--ss-toj6092t') + + def test_uts46_4932(self): + self.assertEqual(idna.decode('ی𐨿.ss྄𑍬', uts46=True, strict=True), 'ی𐨿.ss྄𑍬') + self.assertEqual(idna.encode('ی𐨿.ss྄𑍬', uts46=True, strict=True), b'xn--clb2593k.xn--ss-toj6092t') + + def test_uts46_4933(self): + self.assertEqual(idna.decode('ی𐨿.Ss྄𑍬', uts46=True, strict=True), 'ی𐨿.ss྄𑍬') + self.assertEqual(idna.encode('ی𐨿.Ss྄𑍬', uts46=True, strict=True), b'xn--clb2593k.xn--ss-toj6092t') + + def test_uts46_4934(self): + self.assertEqual(idna.decode('ی𐨿.Ss྄𑍬', uts46=True, strict=True), 'ی𐨿.ss྄𑍬') + self.assertEqual(idna.encode('ی𐨿.Ss྄𑍬', uts46=True, strict=True), b'xn--clb2593k.xn--ss-toj6092t') + + def test_uts46_4935(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟠≮\u200c。󠅱឴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟠≮\u200c。󠅱឴', strict=True) + + def test_uts46_4936(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟠≮\u200c。󠅱឴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟠≮\u200c。󠅱឴', strict=True) + + def test_uts46_4937(self): + self.assertRaises(idna.IDNAError, idna.decode, '8≮\u200c。󠅱឴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8≮\u200c。󠅱឴', strict=True) + + def test_uts46_4938(self): + self.assertRaises(idna.IDNAError, idna.decode, '8≮\u200c。󠅱឴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8≮\u200c。󠅱឴', strict=True) + + def test_uts46_4939(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-ngo.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-ngo.', strict=True) + + def test_uts46_4940(self): + self.assertRaises(idna.IDNAError, idna.decode, '8≮.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8≮.', strict=True) + + def test_uts46_4941(self): + self.assertRaises(idna.IDNAError, idna.decode, '8≮.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8≮.', strict=True) + + def test_uts46_4942(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-sgn10i.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-sgn10i.', strict=True) + + def test_uts46_4943(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-ngo.xn--z3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-ngo.xn--z3e', strict=True) + + def test_uts46_4944(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-sgn10i.xn--z3e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-sgn10i.xn--z3e', strict=True) + + def test_uts46_4945(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢕ≯︒\U000440af.Ⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢕ≯︒\U000440af.Ⴀ', strict=True) + + def test_uts46_4946(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢕ≯︒\U000440af.Ⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢕ≯︒\U000440af.Ⴀ', strict=True) + + def test_uts46_4947(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢕ≯。\U000440af.Ⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢕ≯。\U000440af.Ⴀ', strict=True) + + def test_uts46_4948(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢕ≯。\U000440af.Ⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢕ≯。\U000440af.Ⴀ', strict=True) + + def test_uts46_4949(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢕ≯。\U000440af.ⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢕ≯。\U000440af.ⴀ', strict=True) + + def test_uts46_4950(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢕ≯。\U000440af.ⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢕ≯。\U000440af.ⴀ', strict=True) + + def test_uts46_4951(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fbf851c.xn--ko1u.xn--rkj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fbf851c.xn--ko1u.xn--rkj', strict=True) + + def test_uts46_4952(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢕ≯︒\U000440af.ⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢕ≯︒\U000440af.ⴀ', strict=True) + + def test_uts46_4953(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢕ≯︒\U000440af.ⴀ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢕ≯︒\U000440af.ⴀ', strict=True) + + def test_uts46_4954(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fbf851cq98poxw1a.xn--rkj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fbf851cq98poxw1a.xn--rkj', strict=True) + + def test_uts46_4955(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fbf851c.xn--ko1u.xn--7md', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fbf851c.xn--ko1u.xn--7md', strict=True) + + def test_uts46_4956(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fbf851cq98poxw1a.xn--7md', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fbf851cq98poxw1a.xn--7md', strict=True) + + def test_uts46_4957(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྟ.-ࠪ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྟ.-ࠪ', strict=True) + + def test_uts46_4958(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྟ.-ࠪ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྟ.-ࠪ', strict=True) + + def test_uts46_4959(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vfd.xn----fhd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vfd.xn----fhd', strict=True) + + def test_uts46_4960(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᵬ󠆠.핒⒒⒈\U00108126', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᵬ󠆠.핒⒒⒈\U00108126', strict=True) + + def test_uts46_4961(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᵬ󠆠.핒⒒⒈\U00108126', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᵬ󠆠.핒⒒⒈\U00108126', strict=True) + + def test_uts46_4962(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᵬ󠆠.핒11.1.\U00108126', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᵬ󠆠.핒11.1.\U00108126', strict=True) + + def test_uts46_4963(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᵬ󠆠.핒11.1.\U00108126', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᵬ󠆠.핒11.1.\U00108126', strict=True) + + def test_uts46_4964(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tbg.xn--11-5o7k.1.xn--k469f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tbg.xn--11-5o7k.1.xn--k469f', strict=True) + + def test_uts46_4965(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tbg.xn--tsht7586kyts9l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tbg.xn--tsht7586kyts9l', strict=True) + + def test_uts46_4966(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς𑓂𐋢.٨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς𑓂𐋢.٨', strict=True) + + def test_uts46_4967(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς𑓂𐋢.٨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς𑓂𐋢.٨', strict=True) + + def test_uts46_4968(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ𑓂𐋢.٨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ𑓂𐋢.٨', strict=True) + + def test_uts46_4969(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ𑓂𐋢.٨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ𑓂𐋢.٨', strict=True) + + def test_uts46_4970(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa6371khhl.xn--hib', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa6371khhl.xn--hib', strict=True) + + def test_uts46_4971(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa8371khhl.xn--hib', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa8371khhl.xn--hib', strict=True) + + def test_uts46_4972(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ𑓂𐋢.٨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ𑓂𐋢.٨', strict=True) + + def test_uts46_4973(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ𑓂𐋢.٨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ𑓂𐋢.٨', strict=True) + + def test_uts46_4974(self): + self.assertRaises(idna.IDNAError, idna.decode, '꥓\u200c𐋻\u200d.ⷸ\U0001efc4𐹲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꥓\u200c𐋻\u200d.ⷸ\U0001efc4𐹲', strict=True) + + def test_uts46_4975(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3j9a531o.xn--urju692efj0f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3j9a531o.xn--urju692efj0f', strict=True) + + def test_uts46_4976(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugc8356he76c.xn--urju692efj0f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugc8356he76c.xn--urju692efj0f', strict=True) + + def test_uts46_4977(self): + self.assertRaises(idna.IDNAError, idna.decode, '⊼。\U0006a9d6ڕ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⊼。\U0006a9d6ڕ', strict=True) + + def test_uts46_4978(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ofh.xn--rjb13118f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ofh.xn--rjb13118f', strict=True) + + def test_uts46_4979(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010bec\U000562d4。\U000dcce5', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010bec\U000562d4。\U000dcce5', strict=True) + + def test_uts46_4980(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--949co370q.xn--7g25e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--949co370q.xn--7g25e', strict=True) + + def test_uts46_4981(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0601𑍧ߝ。ς\U000ac358🀞឵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0601𑍧ߝ。ς\U000ac358🀞឵', strict=True) + + def test_uts46_4982(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0601𑍧ߝ。Σ\U000ac358🀞឵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0601𑍧ߝ。Σ\U000ac358🀞឵', strict=True) + + def test_uts46_4983(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0601𑍧ߝ。σ\U000ac358🀞឵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0601𑍧ߝ。σ\U000ac358🀞឵', strict=True) + + def test_uts46_4984(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jfb66gt010c.xn--4xa0023w4nq4c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jfb66gt010c.xn--4xa0023w4nq4c', strict=True) + + def test_uts46_4985(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jfb66gt010c.xn--3xa2023w4nq4c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jfb66gt010c.xn--3xa2023w4nq4c', strict=True) + + def test_uts46_4986(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jfb66gt010c.xn--4xa623h9p95ars26d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jfb66gt010c.xn--4xa623h9p95ars26d', strict=True) + + def test_uts46_4987(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jfb66gt010c.xn--3xa823h9p95ars26d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jfb66gt010c.xn--3xa823h9p95ars26d', strict=True) + + def test_uts46_4988(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𐳲ن\U000e0e90。꯭𝟥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𐳲ن\U000e0e90。꯭𝟥', strict=True) + + def test_uts46_4989(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𐳲ن\U000e0e90。꯭3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𐳲ن\U000e0e90。꯭3', strict=True) + + def test_uts46_4990(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𐲲ن\U000e0e90。꯭3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𐲲ن\U000e0e90。꯭3', strict=True) + + def test_uts46_4991(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----roc5482rek10i.xn--3-zw5e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----roc5482rek10i.xn--3-zw5e', strict=True) + + def test_uts46_4992(self): + self.assertRaises(idna.IDNAError, idna.decode, '-𐲲ن\U000e0e90。꯭𝟥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-𐲲ن\U000e0e90。꯭𝟥', strict=True) + + def test_uts46_4993(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000e0d26。\U00072a15≮𐦜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000e0d26。\U00072a15≮𐦜', strict=True) + + def test_uts46_4994(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000e0d26。\U00072a15≮𐦜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000e0d26。\U00072a15≮𐦜', strict=True) + + def test_uts46_4995(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000e0d26。\U00072a15≮𐦜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000e0d26。\U00072a15≮𐦜', strict=True) + + def test_uts46_4996(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U000e0d26。\U00072a15≮𐦜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U000e0d26。\U00072a15≮𐦜', strict=True) + + def test_uts46_4997(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6v56e.xn--gdhz712gzlr6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6v56e.xn--gdhz712gzlr6b', strict=True) + + def test_uts46_4998(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug22251l.xn--gdhz712gzlr6b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug22251l.xn--gdhz712gzlr6b', strict=True) + + def test_uts46_4999(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈✌\U0009fb1f.𝟡\U00060c63', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈✌\U0009fb1f.𝟡\U00060c63', strict=True) + + def test_uts46_5000(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.✌\U0009fb1f.9\U00060c63', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.✌\U0009fb1f.9\U00060c63', strict=True) + + def test_uts46_5001(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--7bi44996f.xn--9-o706d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--7bi44996f.xn--9-o706d', strict=True) + + def test_uts46_5002(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh24g49550b.xn--9-o706d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh24g49550b.xn--9-o706d', strict=True) + + def test_uts46_5003(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑆾𞤬𐮆.٦ᷔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑆾𞤬𐮆.٦ᷔ', strict=True) + + def test_uts46_5004(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑆾𞤊𐮆.٦ᷔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑆾𞤊𐮆.٦ᷔ', strict=True) + + def test_uts46_5005(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--d29c79hf98r.xn--fib011j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--d29c79hf98r.xn--fib011j', strict=True) + + def test_uts46_5006(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς.꧀꣄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς.꧀꣄', strict=True) + + def test_uts46_5007(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς.꧀꣄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς.꧀꣄', strict=True) + + def test_uts46_5008(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ.꧀꣄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ.꧀꣄', strict=True) + + def test_uts46_5009(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ.꧀꣄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ.꧀꣄', strict=True) + + def test_uts46_5010(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa.xn--0f9ars', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa.xn--0f9ars', strict=True) + + def test_uts46_5011(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa.xn--0f9ars', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa.xn--0f9ars', strict=True) + + def test_uts46_5012(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ.꧀꣄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ.꧀꣄', strict=True) + + def test_uts46_5013(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ.꧀꣄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ.꧀꣄', strict=True) + + def test_uts46_5014(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰶\u200c≯𐳐.࡛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰶\u200c≯𐳐.࡛', strict=True) + + def test_uts46_5015(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰶\u200c≯𐳐.࡛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰶\u200c≯𐳐.࡛', strict=True) + + def test_uts46_5016(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰶\u200c≯𐳐.࡛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰶\u200c≯𐳐.࡛', strict=True) + + def test_uts46_5017(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰶\u200c≯𐳐.࡛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰶\u200c≯𐳐.࡛', strict=True) + + def test_uts46_5018(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰶\u200c≯𐲐.࡛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰶\u200c≯𐲐.࡛', strict=True) + + def test_uts46_5019(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰶\u200c≯𐲐.࡛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰶\u200c≯𐲐.࡛', strict=True) + + def test_uts46_5020(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdhz343g3wj.xn--qwb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdhz343g3wj.xn--qwb', strict=True) + + def test_uts46_5021(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug06g7697ap4ma.xn--qwb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug06g7697ap4ma.xn--qwb', strict=True) + + def test_uts46_5022(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰶\u200c≯𐲐.࡛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰶\u200c≯𐲐.࡛', strict=True) + + def test_uts46_5023(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰶\u200c≯𐲐.࡛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰶\u200c≯𐲐.࡛', strict=True) + + def test_uts46_5024(self): + self.assertRaises(idna.IDNAError, idna.decode, '羚。≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '羚。≯', strict=True) + + def test_uts46_5025(self): + self.assertRaises(idna.IDNAError, idna.decode, '羚。≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '羚。≯', strict=True) + + def test_uts46_5026(self): + self.assertRaises(idna.IDNAError, idna.decode, '羚。≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '羚。≯', strict=True) + + def test_uts46_5027(self): + self.assertRaises(idna.IDNAError, idna.decode, '羚。≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '羚。≯', strict=True) + + def test_uts46_5028(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xt0a.xn--hdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xt0a.xn--hdh', strict=True) + + def test_uts46_5029(self): + self.assertRaises(idna.IDNAError, idna.decode, '羚.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '羚.≯', strict=True) + + def test_uts46_5030(self): + self.assertRaises(idna.IDNAError, idna.decode, '羚.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '羚.≯', strict=True) + + def test_uts46_5031(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑓂\u1759.ࢨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑓂\u1759.ࢨ', strict=True) + + def test_uts46_5032(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑓂\u1759.ࢨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑓂\u1759.ࢨ', strict=True) + + def test_uts46_5033(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--e1e9580k.xn--xyb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--e1e9580k.xn--xyb', strict=True) + + def test_uts46_5034(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e88ff󠇀\u200d。٣ҠჀ𝟑', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e88ff󠇀\u200d。٣ҠჀ𝟑', strict=True) + + def test_uts46_5035(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e88ff󠇀\u200d。٣ҠჀ3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e88ff󠇀\u200d。٣ҠჀ3', strict=True) + + def test_uts46_5036(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e88ff󠇀\u200d。٣ҡⴠ3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e88ff󠇀\u200d。٣ҡⴠ3', strict=True) + + def test_uts46_5037(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1r19e.xn--3-ozb36ko13f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1r19e.xn--3-ozb36ko13f', strict=True) + + def test_uts46_5038(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug89936l.xn--3-ozb36ko13f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug89936l.xn--3-ozb36ko13f', strict=True) + + def test_uts46_5039(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e88ff󠇀\u200d。٣ҡⴠ𝟑', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e88ff󠇀\u200d。٣ҡⴠ𝟑', strict=True) + + def test_uts46_5040(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1r19e.xn--3-ozb36kixu', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1r19e.xn--3-ozb36kixu', strict=True) + + def test_uts46_5041(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug89936l.xn--3-ozb36kixu', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug89936l.xn--3-ozb36kixu', strict=True) + + def test_uts46_5042(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e88ff󠇀\u200d。٣Ҡⴠ3', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e88ff󠇀\u200d。٣Ҡⴠ3', strict=True) + + def test_uts46_5043(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e88ff󠇀\u200d。٣Ҡⴠ𝟑', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e88ff󠇀\u200d。٣Ҡⴠ𝟑', strict=True) + + def test_uts46_5044(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡷ。𐹢࣠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡷ。𐹢࣠', strict=True) + + def test_uts46_5045(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--k9e.xn--j0b5005k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--k9e.xn--j0b5005k', strict=True) + + def test_uts46_5046(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00095b87᯳。٦\U0005773c្ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00095b87᯳。٦\U0005773c្ß', strict=True) + + def test_uts46_5047(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00095b87᯳。٦\U0005773c្ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00095b87᯳。٦\U0005773c្ß', strict=True) + + def test_uts46_5048(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00095b87᯳。٦\U0005773c្SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00095b87᯳。٦\U0005773c្SS', strict=True) + + def test_uts46_5049(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00095b87᯳。٦\U0005773c្ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00095b87᯳。٦\U0005773c្ss', strict=True) + + def test_uts46_5050(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00095b87᯳。٦\U0005773c្Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00095b87᯳。٦\U0005773c្Ss', strict=True) + + def test_uts46_5051(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1zf58212h.xn--ss-pyd459o3258m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1zf58212h.xn--ss-pyd459o3258m', strict=True) + + def test_uts46_5052(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1zf58212h.xn--zca34zk4qx711k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1zf58212h.xn--zca34zk4qx711k', strict=True) + + def test_uts46_5053(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00095b87᯳。٦\U0005773c្SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00095b87᯳。٦\U0005773c្SS', strict=True) + + def test_uts46_5054(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00095b87᯳。٦\U0005773c្ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00095b87᯳。٦\U0005773c្ss', strict=True) + + def test_uts46_5055(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00095b87᯳。٦\U0005773c្Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00095b87᯳。٦\U0005773c្Ss', strict=True) + + def test_uts46_5056(self): + self.assertRaises(idna.IDNAError, idna.decode, '٤\U000a4f4e𑲛.\U000e0522︒≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٤\U000a4f4e𑲛.\U000e0522︒≠', strict=True) + + def test_uts46_5057(self): + self.assertRaises(idna.IDNAError, idna.decode, '٤\U000a4f4e𑲛.\U000e0522︒≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٤\U000a4f4e𑲛.\U000e0522︒≠', strict=True) + + def test_uts46_5058(self): + self.assertRaises(idna.IDNAError, idna.decode, '٤\U000a4f4e𑲛.\U000e0522。≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٤\U000a4f4e𑲛.\U000e0522。≠', strict=True) + + def test_uts46_5059(self): + self.assertRaises(idna.IDNAError, idna.decode, '٤\U000a4f4e𑲛.\U000e0522。≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٤\U000a4f4e𑲛.\U000e0522。≠', strict=True) + + def test_uts46_5060(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dib0653l2i02d.xn--k736e.xn--1ch', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dib0653l2i02d.xn--k736e.xn--1ch', strict=True) + + def test_uts46_5061(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dib0653l2i02d.xn--1ch7467f14u4g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dib0653l2i02d.xn--1ch7467f14u4g', strict=True) + + def test_uts46_5062(self): + self.assertRaises(idna.IDNAError, idna.decode, '➆\U000779d5ỗ⒈.\U00091b12\U0006162e࡛𝟫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '➆\U000779d5ỗ⒈.\U00091b12\U0006162e࡛𝟫', strict=True) + + def test_uts46_5063(self): + self.assertRaises(idna.IDNAError, idna.decode, '➆\U000779d5ỗ⒈.\U00091b12\U0006162e࡛𝟫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '➆\U000779d5ỗ⒈.\U00091b12\U0006162e࡛𝟫', strict=True) + + def test_uts46_5064(self): + self.assertRaises(idna.IDNAError, idna.decode, '➆\U000779d5ỗ1..\U00091b12\U0006162e࡛9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '➆\U000779d5ỗ1..\U00091b12\U0006162e࡛9', strict=True) + + def test_uts46_5065(self): + self.assertRaises(idna.IDNAError, idna.decode, '➆\U000779d5ỗ1..\U00091b12\U0006162e࡛9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '➆\U000779d5ỗ1..\U00091b12\U0006162e࡛9', strict=True) + + def test_uts46_5066(self): + self.assertRaises(idna.IDNAError, idna.decode, '➆\U000779d5Ỗ1..\U00091b12\U0006162e࡛9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '➆\U000779d5Ỗ1..\U00091b12\U0006162e࡛9', strict=True) + + def test_uts46_5067(self): + self.assertRaises(idna.IDNAError, idna.decode, '➆\U000779d5Ỗ1..\U00091b12\U0006162e࡛9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '➆\U000779d5Ỗ1..\U00091b12\U0006162e࡛9', strict=True) + + def test_uts46_5068(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-3xm292b6044r..xn--9-6jd87310jtcqs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-3xm292b6044r..xn--9-6jd87310jtcqs', strict=True) + + def test_uts46_5069(self): + self.assertRaises(idna.IDNAError, idna.decode, '➆\U000779d5Ỗ⒈.\U00091b12\U0006162e࡛𝟫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '➆\U000779d5Ỗ⒈.\U00091b12\U0006162e࡛𝟫', strict=True) + + def test_uts46_5070(self): + self.assertRaises(idna.IDNAError, idna.decode, '➆\U000779d5Ỗ⒈.\U00091b12\U0006162e࡛𝟫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '➆\U000779d5Ỗ⒈.\U00091b12\U0006162e࡛𝟫', strict=True) + + def test_uts46_5071(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6lg26tvvc6v99z.xn--9-6jd87310jtcqs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6lg26tvvc6v99z.xn--9-6jd87310jtcqs', strict=True) + + def test_uts46_5072(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。𞤘', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。𞤘', strict=True) + + def test_uts46_5073(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。𞤘', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。𞤘', strict=True) + + def test_uts46_5074(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。𞤺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。𞤺', strict=True) + + def test_uts46_5075(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--ye6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--ye6h', strict=True) + + def test_uts46_5076(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--ye6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--ye6h', strict=True) + + def test_uts46_5077(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d。𞤺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d。𞤺', strict=True) + + def test_uts46_5078(self): + self.assertEqual(idna.decode('xn--ye6h', uts46=True, strict=True), '𞤺') + self.assertEqual(idna.encode('xn--ye6h', uts46=True, strict=True), b'xn--ye6h') + + def test_uts46_5079(self): + self.assertEqual(idna.decode('𞤺', uts46=True, strict=True), '𞤺') + self.assertEqual(idna.encode('𞤺', uts46=True, strict=True), b'xn--ye6h') + + def test_uts46_5080(self): + self.assertEqual(idna.decode('𞤘', uts46=True, strict=True), '𞤺') + self.assertEqual(idna.encode('𞤘', uts46=True, strict=True), b'xn--ye6h') + + def test_uts46_5081(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࠩܤ.ᢣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࠩܤ.ᢣ', strict=True) + + def test_uts46_5082(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--unb53c.xn--tbf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--unb53c.xn--tbf', strict=True) + + def test_uts46_5083(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܼ\u200c-。\U0001343eß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܼ\u200c-。\U0001343eß', strict=True) + + def test_uts46_5084(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܼ\u200c-。\U0001343eSS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܼ\u200c-。\U0001343eSS', strict=True) + + def test_uts46_5085(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܼ\u200c-。\U0001343ess', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܼ\u200c-。\U0001343ess', strict=True) + + def test_uts46_5086(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܼ\u200c-。\U0001343eSs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܼ\u200c-。\U0001343eSs', strict=True) + + def test_uts46_5087(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----s2c.xn--ss-066q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----s2c.xn--ss-066q', strict=True) + + def test_uts46_5088(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----s2c071q.xn--ss-066q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----s2c071q.xn--ss-066q', strict=True) + + def test_uts46_5089(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----s2c071q.xn--zca7848m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----s2c071q.xn--zca7848m', strict=True) + + def test_uts46_5090(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cς🃡⒗.ೆ仧ݖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cς🃡⒗.ೆ仧ݖ', strict=True) + + def test_uts46_5091(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cς🃡16..ೆ仧ݖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cς🃡16..ೆ仧ݖ', strict=True) + + def test_uts46_5092(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cΣ🃡16..ೆ仧ݖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cΣ🃡16..ೆ仧ݖ', strict=True) + + def test_uts46_5093(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cσ🃡16..ೆ仧ݖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cσ🃡16..ೆ仧ݖ', strict=True) + + def test_uts46_5094(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--16-ubc66061c..xn--9ob79ycx2e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--16-ubc66061c..xn--9ob79ycx2e', strict=True) + + def test_uts46_5095(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--16-ubc7700avy99b..xn--9ob79ycx2e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--16-ubc7700avy99b..xn--9ob79ycx2e', strict=True) + + def test_uts46_5096(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--16-rbc1800avy99b..xn--9ob79ycx2e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--16-rbc1800avy99b..xn--9ob79ycx2e', strict=True) + + def test_uts46_5097(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cΣ🃡⒗.ೆ仧ݖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cΣ🃡⒗.ೆ仧ݖ', strict=True) + + def test_uts46_5098(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cσ🃡⒗.ೆ仧ݖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cσ🃡⒗.ೆ仧ݖ', strict=True) + + def test_uts46_5099(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa229nbu92a.xn--9ob79ycx2e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa229nbu92a.xn--9ob79ycx2e', strict=True) + + def test_uts46_5100(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa595lz9czy52d.xn--9ob79ycx2e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa595lz9czy52d.xn--9ob79ycx2e', strict=True) + + def test_uts46_5101(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa795lz9czy52d.xn--9ob79ycx2e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa795lz9czy52d.xn--9ob79ycx2e', strict=True) + + def test_uts46_5102(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.𞸚', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.𞸚', strict=True) + + def test_uts46_5103(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.ظ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.ظ', strict=True) + + def test_uts46_5104(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--3gb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--3gb', strict=True) + + def test_uts46_5105(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0008f6d3ڃ.ཾش', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0008f6d3ڃ.ཾش', strict=True) + + def test_uts46_5106(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8ib92728i.xn--zgb968b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8ib92728i.xn--zgb968b', strict=True) + + def test_uts46_5107(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0fe6ࡃ\U0007ddac.𐮏', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0fe6ࡃ\U0007ddac.𐮏', strict=True) + + def test_uts46_5108(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1vb320b5m04p.xn--m29c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1vb320b5m04p.xn--m29c', strict=True) + + def test_uts46_5109(self): + self.assertRaises(idna.IDNAError, idna.decode, '2\U0004ea20ߋß。ᠽ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2\U0004ea20ߋß。ᠽ', strict=True) + + def test_uts46_5110(self): + self.assertRaises(idna.IDNAError, idna.decode, '2\U0004ea20ߋSS。ᠽ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2\U0004ea20ߋSS。ᠽ', strict=True) + + def test_uts46_5111(self): + self.assertRaises(idna.IDNAError, idna.decode, '2\U0004ea20ߋss。ᠽ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2\U0004ea20ߋss。ᠽ', strict=True) + + def test_uts46_5112(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2ss-odg83511n.xn--w7e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2ss-odg83511n.xn--w7e', strict=True) + + def test_uts46_5113(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2-qfa924cez02l.xn--w7e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2-qfa924cez02l.xn--w7e', strict=True) + + def test_uts46_5114(self): + self.assertRaises(idna.IDNAError, idna.decode, '2\U0004ea20ߋSs。ᠽ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2\U0004ea20ߋSs。ᠽ', strict=True) + + def test_uts46_5115(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێß-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێß-\u200d', strict=True) + + def test_uts46_5116(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێß-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێß-\u200d', strict=True) + + def test_uts46_5117(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێß-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێß-\u200d', strict=True) + + def test_uts46_5118(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێß-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێß-\u200d', strict=True) + + def test_uts46_5119(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێSS-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێSS-\u200d', strict=True) + + def test_uts46_5120(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێSS-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێSS-\u200d', strict=True) + + def test_uts46_5121(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێss-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێss-\u200d', strict=True) + + def test_uts46_5122(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێss-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێss-\u200d', strict=True) + + def test_uts46_5123(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lsb457kkut.xn--ss--qjf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lsb457kkut.xn--ss--qjf', strict=True) + + def test_uts46_5124(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lsb457kkut.xn--ss--qjf2343a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lsb457kkut.xn--ss--qjf2343a', strict=True) + + def test_uts46_5125(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lsb457kkut.xn----pfa076bys4a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lsb457kkut.xn----pfa076bys4a', strict=True) + + def test_uts46_5126(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێSS-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێSS-\u200d', strict=True) + + def test_uts46_5127(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێSS-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێSS-\u200d', strict=True) + + def test_uts46_5128(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێss-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێss-\u200d', strict=True) + + def test_uts46_5129(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێss-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێss-\u200d', strict=True) + + def test_uts46_5130(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێSs-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێSs-\u200d', strict=True) + + def test_uts46_5131(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێSs-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێSs-\u200d', strict=True) + + def test_uts46_5132(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێSs-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێSs-\u200d', strict=True) + + def test_uts46_5133(self): + self.assertRaises(idna.IDNAError, idna.decode, '㸳ߊ≮.ێSs-\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㸳ߊ≮.ێSs-\u200d', strict=True) + + def test_uts46_5134(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U000b776c፞𑜧.ᷫ-︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U000b776c፞𑜧.ᷫ-︒', strict=True) + + def test_uts46_5135(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U000b776c፞𑜧.ᷫ-。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U000b776c፞𑜧.ᷫ-。', strict=True) + + def test_uts46_5136(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----b5h1837n2ok9f.xn----mkm.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----b5h1837n2ok9f.xn----mkm.', strict=True) + + def test_uts46_5137(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----b5h1837n2ok9f.xn----mkmw278h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----b5h1837n2ok9f.xn----mkmw278h', strict=True) + + def test_uts46_5138(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒.\U0009a821ᩙ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒.\U0009a821ᩙ', strict=True) + + def test_uts46_5139(self): + self.assertRaises(idna.IDNAError, idna.decode, '。.\U0009a821ᩙ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。.\U0009a821ᩙ', strict=True) + + def test_uts46_5140(self): + self.assertRaises(idna.IDNAError, idna.decode, '..xn--cof61594i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '..xn--cof61594i', strict=True) + + def test_uts46_5141(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y86c.xn--cof61594i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y86c.xn--cof61594i', strict=True) + + def test_uts46_5142(self): + self.assertRaises(idna.IDNAError, idna.decode, '̣ⷡ。\u200c⓾\u200cڹ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '̣ⷡ。\u200c⓾\u200cڹ', strict=True) + + def test_uts46_5143(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kta899s.xn--skb116m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kta899s.xn--skb116m', strict=True) + + def test_uts46_5144(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kta899s.xn--skb970ka771c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kta899s.xn--skb970ka771c', strict=True) + + def test_uts46_5145(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠶ᠴ\u06dd。ၴ𞤵󠅦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠶ᠴ\u06dd。ၴ𞤵󠅦', strict=True) + + def test_uts46_5146(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠶ᠴ\u06dd。ၴ𞤵󠅦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠶ᠴ\u06dd。ၴ𞤵󠅦', strict=True) + + def test_uts46_5147(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠶ᠴ\u06dd。ၴ𞤓󠅦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠶ᠴ\u06dd。ၴ𞤓󠅦', strict=True) + + def test_uts46_5148(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tlb199fwl35a.xn--yld4613v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tlb199fwl35a.xn--yld4613v', strict=True) + + def test_uts46_5149(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠶ᠴ\u06dd。ၴ𞤓󠅦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠶ᠴ\u06dd。ၴ𞤓󠅦', strict=True) + + def test_uts46_5150(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰺.-\U000917cf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰺.-\U000917cf', strict=True) + + def test_uts46_5151(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jk3d.xn----iz68g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jk3d.xn----iz68g', strict=True) + + def test_uts46_5152(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0ee9.赏', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0ee9.赏', strict=True) + + def test_uts46_5153(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0ee9.赏', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0ee9.赏', strict=True) + + def test_uts46_5154(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2856e.xn--6o3a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2856e.xn--6o3a', strict=True) + + def test_uts46_5155(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڰᠡ。Ⴁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڰᠡ。Ⴁ', strict=True) + + def test_uts46_5156(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڰᠡ。Ⴁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڰᠡ。Ⴁ', strict=True) + + def test_uts46_5157(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڰᠡ。ⴁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڰᠡ。ⴁ', strict=True) + + def test_uts46_5158(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jkb440g.xn--skj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jkb440g.xn--skj', strict=True) + + def test_uts46_5159(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڰᠡ。ⴁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڰᠡ。ⴁ', strict=True) + + def test_uts46_5160(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jkb440g.xn--8md', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jkb440g.xn--8md', strict=True) + + def test_uts46_5161(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃞Ⴊڻς。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃞Ⴊڻς。-', strict=True) + + def test_uts46_5162(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃞Ⴊڻς。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃞Ⴊڻς。-', strict=True) + + def test_uts46_5163(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃞ⴊڻς。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃞ⴊڻς。-', strict=True) + + def test_uts46_5164(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃞ႪڻΣ。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃞ႪڻΣ。-', strict=True) + + def test_uts46_5165(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃞ⴊڻσ。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃞ⴊڻσ。-', strict=True) + + def test_uts46_5166(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃞Ⴊڻσ。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃞Ⴊڻσ。-', strict=True) + + def test_uts46_5167(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa33mr38aeel.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa33mr38aeel.-', strict=True) + + def test_uts46_5168(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa53mr38aeel.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa53mr38aeel.-', strict=True) + + def test_uts46_5169(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃞ⴊڻς。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃞ⴊڻς。-', strict=True) + + def test_uts46_5170(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃞ႪڻΣ。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃞ႪڻΣ。-', strict=True) + + def test_uts46_5171(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃞ⴊڻσ。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃞ⴊڻσ。-', strict=True) + + def test_uts46_5172(self): + self.assertRaises(idna.IDNAError, idna.decode, '⃞Ⴊڻσ。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⃞Ⴊڻσ。-', strict=True) + + def test_uts46_5173(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa33m7zmb0q.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa33m7zmb0q.-', strict=True) + + def test_uts46_5174(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa53m7zmb0q.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa53m7zmb0q.-', strict=True) + + def test_uts46_5175(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴍ.\U0004d1e6\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴍ.\U0004d1e6\u200c', strict=True) + + def test_uts46_5176(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴍ.\U0004d1e6\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴍ.\U0004d1e6\u200c', strict=True) + + def test_uts46_5177(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴍ.\U0004d1e6\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴍ.\U0004d1e6\u200c', strict=True) + + def test_uts46_5178(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4kj.xn--p01x', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4kj.xn--p01x', strict=True) + + def test_uts46_5179(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4kj.xn--0ug56448b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4kj.xn--0ug56448b', strict=True) + + def test_uts46_5180(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴍ.\U0004d1e6\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴍ.\U0004d1e6\u200c', strict=True) + + def test_uts46_5181(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lnd.xn--p01x', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lnd.xn--p01x', strict=True) + + def test_uts46_5182(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lnd.xn--0ug56448b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lnd.xn--0ug56448b', strict=True) + + def test_uts46_5183(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000897c2\U000e0d63.𐫫᩠\U000f4e96᭄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000897c2\U000e0d63.𐫫᩠\U000f4e96᭄', strict=True) + + def test_uts46_5184(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9u37blu98h.xn--jof13bt568cork1j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9u37blu98h.xn--jof13bt568cork1j', strict=True) + + def test_uts46_5185(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯❊ᠯ。𐹱⺨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯❊ᠯ。𐹱⺨', strict=True) + + def test_uts46_5186(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯❊ᠯ。𐹱⺨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯❊ᠯ。𐹱⺨', strict=True) + + def test_uts46_5187(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯❊ᠯ。𐹱⺨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯❊ᠯ。𐹱⺨', strict=True) + + def test_uts46_5188(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯❊ᠯ。𐹱⺨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯❊ᠯ。𐹱⺨', strict=True) + + def test_uts46_5189(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--i7e163ct2d.xn--vwj7372e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--i7e163ct2d.xn--vwj7372e', strict=True) + + def test_uts46_5190(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0010155c𐹧\U0001eb41𐹩。Ⴈ𐫮Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0010155c𐹧\U0001eb41𐹩。Ⴈ𐫮Ⴏ', strict=True) + + def test_uts46_5191(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0010155c𐹧\U0001eb41𐹩。ⴈ𐫮ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0010155c𐹧\U0001eb41𐹩。ⴈ𐫮ⴏ', strict=True) + + def test_uts46_5192(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fo0de1270ope54j.xn--zkjo0151o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fo0de1270ope54j.xn--zkjo0151o', strict=True) + + def test_uts46_5193(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fo0de1270ope54j.xn--gndo2033q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fo0de1270ope54j.xn--gndo2033q', strict=True) + + def test_uts46_5194(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞠂。ꤦ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞠂。ꤦ', strict=True) + + def test_uts46_5195(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--145h.xn--ti9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--145h.xn--ti9a', strict=True) + + def test_uts46_5196(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟔𐹫.့ܳ9ꡇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟔𐹫.့ܳ9ꡇ', strict=True) + + def test_uts46_5197(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟔𐹫.့ܳ9ꡇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟔𐹫.့ܳ9ꡇ', strict=True) + + def test_uts46_5198(self): + self.assertRaises(idna.IDNAError, idna.decode, '6𐹫.့ܳ9ꡇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '6𐹫.့ܳ9ꡇ', strict=True) + + def test_uts46_5199(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-t26i.xn--9-91c730e8u8n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-t26i.xn--9-91c730e8u8n', strict=True) + + def test_uts46_5200(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܤ\u0603\U0001ecb6.ۘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܤ\u0603\U0001ecb6.ۘ', strict=True) + + def test_uts46_5201(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܤ\u0603\U0001ecb6.ۘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܤ\u0603\U0001ecb6.ۘ', strict=True) + + def test_uts46_5202(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lfb19ct414i.xn--olb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lfb19ct414i.xn--olb', strict=True) + + def test_uts46_5203(self): + self.assertRaises(idna.IDNAError, idna.decode, '✆\U00071529ꡋ.ز\u200d\U0001e8f4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '✆\U00071529ꡋ.ز\u200d\U0001e8f4', strict=True) + + def test_uts46_5204(self): + self.assertRaises(idna.IDNAError, idna.decode, '✆\U00071529ꡋ.ز\u200d\U0001e8f4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '✆\U00071529ꡋ.ز\u200d\U0001e8f4', strict=True) + + def test_uts46_5205(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1biv525bcix0d.xn--xgb6828v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1biv525bcix0d.xn--xgb6828v', strict=True) + + def test_uts46_5206(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1biv525bcix0d.xn--xgb253k0m73a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1biv525bcix0d.xn--xgb253k0m73a', strict=True) + + def test_uts46_5207(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡅ\U00043fb0𞸍-.≠\U0008305f𑋪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡅ\U00043fb0𞸍-.≠\U0008305f𑋪', strict=True) + + def test_uts46_5208(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡅ\U00043fb0𞸍-.≠\U0008305f𑋪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡅ\U00043fb0𞸍-.≠\U0008305f𑋪', strict=True) + + def test_uts46_5209(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡅ\U00043fb0ن-.≠\U0008305f𑋪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡅ\U00043fb0ن-.≠\U0008305f𑋪', strict=True) + + def test_uts46_5210(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡅ\U00043fb0ن-.≠\U0008305f𑋪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡅ\U00043fb0ن-.≠\U0008305f𑋪', strict=True) + + def test_uts46_5211(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----qoc64my971s.xn--1ch7585g76o3c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----qoc64my971s.xn--1ch7585g76o3c', strict=True) + + def test_uts46_5212(self): + self.assertEqual(idna.decode('𝟛.笠', uts46=True, strict=True), '3.笠') + self.assertEqual(idna.encode('𝟛.笠', uts46=True, strict=True), b'3.xn--6vz') + + def test_uts46_5213(self): + self.assertEqual(idna.decode('𝟛.笠', uts46=True, strict=True), '3.笠') + self.assertEqual(idna.encode('𝟛.笠', uts46=True, strict=True), b'3.xn--6vz') + + def test_uts46_5214(self): + self.assertEqual(idna.decode('3.笠', uts46=True, strict=True), '3.笠') + self.assertEqual(idna.encode('3.笠', uts46=True, strict=True), b'3.xn--6vz') + + def test_uts46_5215(self): + self.assertEqual(idna.decode('3.xn--6vz', uts46=True, strict=True), '3.笠') + self.assertEqual(idna.encode('3.xn--6vz', uts46=True, strict=True), b'3.xn--6vz') + + def test_uts46_5216(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200d.Ⴞ𐋷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200d.Ⴞ𐋷', strict=True) + + def test_uts46_5217(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200d.ⴞ𐋷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200d.ⴞ𐋷', strict=True) + + def test_uts46_5218(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--mlj8559d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--mlj8559d', strict=True) + + def test_uts46_5219(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ugn.xn--mlj8559d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ugn.xn--mlj8559d', strict=True) + + def test_uts46_5220(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--2nd2315j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--2nd2315j', strict=True) + + def test_uts46_5221(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ugn.xn--2nd2315j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ugn.xn--2nd2315j', strict=True) + + def test_uts46_5222(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dςßܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dςßܱ.்', strict=True) + + def test_uts46_5223(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dςßܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dςßܱ.்', strict=True) + + def test_uts46_5224(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dΣSSܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dΣSSܱ.்', strict=True) + + def test_uts46_5225(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dσssܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dσssܱ.்', strict=True) + + def test_uts46_5226(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dΣssܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dΣssܱ.்', strict=True) + + def test_uts46_5227(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-ubc826a.xn--xmc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-ubc826a.xn--xmc', strict=True) + + def test_uts46_5228(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-ubc826ab34b.xn--xmc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-ubc826ab34b.xn--xmc', strict=True) + + def test_uts46_5229(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dΣßܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dΣßܱ.்', strict=True) + + def test_uts46_5230(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dσßܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dσßܱ.்', strict=True) + + def test_uts46_5231(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca39lk1di19a.xn--xmc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca39lk1di19a.xn--xmc', strict=True) + + def test_uts46_5232(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca19ln1di19a.xn--xmc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca19ln1di19a.xn--xmc', strict=True) + + def test_uts46_5233(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dΣSSܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dΣSSܱ.்', strict=True) + + def test_uts46_5234(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dσssܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dσssܱ.்', strict=True) + + def test_uts46_5235(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dΣssܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dΣssܱ.்', strict=True) + + def test_uts46_5236(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dΣßܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dΣßܱ.்', strict=True) + + def test_uts46_5237(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dσßܱ.்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dσßܱ.்', strict=True) + + def test_uts46_5238(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.\u200d', strict=True) + + def test_uts46_5239(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.\u200d', strict=True) + + def test_uts46_5240(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.\u200d', strict=True) + + def test_uts46_5241(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.\u200d', strict=True) + + def test_uts46_5242(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch.', strict=True) + + def test_uts46_5243(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.', strict=True) + + def test_uts46_5244(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠.', strict=True) + + def test_uts46_5245(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch.xn--1ug', strict=True) + + def test_uts46_5246(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﰁ。ಁᠼ▗\U0009204b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﰁ。ಁᠼ▗\U0009204b', strict=True) + + def test_uts46_5247(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ئح。ಁᠼ▗\U0009204b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ئح。ಁᠼ▗\U0009204b', strict=True) + + def test_uts46_5248(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ئح。ಁᠼ▗\U0009204b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ئح。ಁᠼ▗\U0009204b', strict=True) + + def test_uts46_5249(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lgbo.xn--2rc021dcxkrx55t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lgbo.xn--2rc021dcxkrx55t', strict=True) + + def test_uts46_5250(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্ς.ς𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্ς.ς𐨿', strict=True) + + def test_uts46_5251(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্ς.ς𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্ς.ς𐨿', strict=True) + + def test_uts46_5252(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্Σ.Σ𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্Σ.Σ𐨿', strict=True) + + def test_uts46_5253(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্σ.ς𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্σ.ς𐨿', strict=True) + + def test_uts46_5254(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্σ.σ𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্σ.σ𐨿', strict=True) + + def test_uts46_5255(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্Σ.σ𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্Σ.σ𐨿', strict=True) + + def test_uts46_5256(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa502av8297a.xn--4xa6055k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa502av8297a.xn--4xa6055k', strict=True) + + def test_uts46_5257(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্Σ.ς𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্Σ.ς𐨿', strict=True) + + def test_uts46_5258(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa502av8297a.xn--3xa8055k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa502av8297a.xn--3xa8055k', strict=True) + + def test_uts46_5259(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa702av8297a.xn--3xa8055k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa702av8297a.xn--3xa8055k', strict=True) + + def test_uts46_5260(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্Σ.Σ𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্Σ.Σ𐨿', strict=True) + + def test_uts46_5261(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্σ.ς𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্σ.ς𐨿', strict=True) + + def test_uts46_5262(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্σ.σ𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্σ.σ𐨿', strict=True) + + def test_uts46_5263(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্Σ.σ𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্Σ.σ𐨿', strict=True) + + def test_uts46_5264(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e72f5্Σ.ς𐨿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e72f5্Σ.ς𐨿', strict=True) + + def test_uts46_5265(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫓ߘ牅ࣸ。\U0001e9a4ᨗ\U000b1370Ⴙ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫓ߘ牅ࣸ。\U0001e9a4ᨗ\U000b1370Ⴙ', strict=True) + + def test_uts46_5266(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫓ߘ牅ࣸ。\U0001e9a4ᨗ\U000b1370Ⴙ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫓ߘ牅ࣸ。\U0001e9a4ᨗ\U000b1370Ⴙ', strict=True) + + def test_uts46_5267(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫓ߘ牅ࣸ。\U0001e9a4ᨗ\U000b1370ⴙ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫓ߘ牅ࣸ。\U0001e9a4ᨗ\U000b1370ⴙ', strict=True) + + def test_uts46_5268(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zsb09cu46vjs6f.xn--gmf469fr883am5r1e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zsb09cu46vjs6f.xn--gmf469fr883am5r1e', strict=True) + + def test_uts46_5269(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫓ߘ牅ࣸ。\U0001e9a4ᨗ\U000b1370ⴙ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫓ߘ牅ࣸ。\U0001e9a4ᨗ\U000b1370ⴙ', strict=True) + + def test_uts46_5270(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zsb09cu46vjs6f.xn--xnd909bv540bm5k9d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zsb09cu46vjs6f.xn--xnd909bv540bm5k9d', strict=True) + + def test_uts46_5271(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00063912。륧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00063912。륧', strict=True) + + def test_uts46_5272(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00063912。륧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00063912。륧', strict=True) + + def test_uts46_5273(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00063912。륧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00063912。륧', strict=True) + + def test_uts46_5274(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00063912。륧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00063912。륧', strict=True) + + def test_uts46_5275(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--s264a.xn--pw2b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--s264a.xn--pw2b', strict=True) + + def test_uts46_5276(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹷\u200d。\U000c9d62', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹷\u200d。\U000c9d62', strict=True) + + def test_uts46_5277(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vo0d.xn--8088d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vo0d.xn--8088d', strict=True) + + def test_uts46_5278(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ugx205g.xn--8088d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ugx205g.xn--8088d', strict=True) + + def test_uts46_5279(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴘۂ𑲭。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴘۂ𑲭。-', strict=True) + + def test_uts46_5280(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴘۂ𑲭。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴘۂ𑲭。-', strict=True) + + def test_uts46_5281(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴘۂ𑲭。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴘۂ𑲭。-', strict=True) + + def test_uts46_5282(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴘۂ𑲭。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴘۂ𑲭。-', strict=True) + + def test_uts46_5283(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴘۂ𑲭。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴘۂ𑲭。-', strict=True) + + def test_uts46_5284(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴘۂ𑲭。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴘۂ𑲭。-', strict=True) + + def test_uts46_5285(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1kb147qfk3n.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1kb147qfk3n.-', strict=True) + + def test_uts46_5286(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴘۂ𑲭。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴘۂ𑲭。-', strict=True) + + def test_uts46_5287(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴘۂ𑲭。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴘۂ𑲭。-', strict=True) + + def test_uts46_5288(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1kb312c139t.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1kb312c139t.-', strict=True) + + def test_uts46_5289(self): + self.assertRaises(idna.IDNAError, idna.decode, '꠆ٻ₆ᡐ。🛇ﳝ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꠆ٻ₆ᡐ。🛇ﳝ', strict=True) + + def test_uts46_5290(self): + self.assertRaises(idna.IDNAError, idna.decode, '꠆ٻ6ᡐ。🛇يم', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꠆ٻ6ᡐ。🛇يم', strict=True) + + def test_uts46_5291(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-rrc018krt9k.xn--hhbj61429a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-rrc018krt9k.xn--hhbj61429a', strict=True) + + def test_uts46_5292(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000b8342.㇄ᡟ𐫂آ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000b8342.㇄ᡟ𐫂آ', strict=True) + + def test_uts46_5293(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000b8342.㇄ᡟ𐫂آ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000b8342.㇄ᡟ𐫂آ', strict=True) + + def test_uts46_5294(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--p292d.xn--hgb154ghrsvm2r', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--p292d.xn--hgb154ghrsvm2r', strict=True) + + def test_uts46_5295(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߟ\U000b568c。-ߩ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߟ\U000b568c。-ߩ', strict=True) + + def test_uts46_5296(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6sb88139l.xn----pdd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6sb88139l.xn----pdd', strict=True) + + def test_uts46_5297(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ςك⾑.\u200cᢟ\u200c⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ςك⾑.\u200cᢟ\u200c⒈', strict=True) + + def test_uts46_5298(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ςك襾.\u200cᢟ\u200c1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ςك襾.\u200cᢟ\u200c1.', strict=True) + + def test_uts46_5299(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σك襾.\u200cᢟ\u200c1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σك襾.\u200cᢟ\u200c1.', strict=True) + + def test_uts46_5300(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σك襾.\u200cᢟ\u200c1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σك襾.\u200cᢟ\u200c1.', strict=True) + + def test_uts46_5301(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa49jux8r.xn--1-4ck.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa49jux8r.xn--1-4ck.', strict=True) + + def test_uts46_5302(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa49jux8r.xn--1-4ck691bba.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa49jux8r.xn--1-4ck691bba.', strict=True) + + def test_uts46_5303(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa69jux8r.xn--1-4ck691bba.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa69jux8r.xn--1-4ck691bba.', strict=True) + + def test_uts46_5304(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σك⾑.\u200cᢟ\u200c⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σك⾑.\u200cᢟ\u200c⒈', strict=True) + + def test_uts46_5305(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σك⾑.\u200cᢟ\u200c⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σك⾑.\u200cᢟ\u200c⒈', strict=True) + + def test_uts46_5306(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa49jux8r.xn--pbf212d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa49jux8r.xn--pbf212d', strict=True) + + def test_uts46_5307(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa49jux8r.xn--pbf519aba607b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa49jux8r.xn--pbf519aba607b', strict=True) + + def test_uts46_5308(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa69jux8r.xn--pbf519aba607b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa69jux8r.xn--pbf519aba607b', strict=True) + + def test_uts46_5309(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡆ\U000114dd.\U0001ed46', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡆ\U000114dd.\U0001ed46', strict=True) + + def test_uts46_5310(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡆ\U000114dd.\U0001ed46', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡆ\U000114dd.\U0001ed46', strict=True) + + def test_uts46_5311(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--57e0440k.xn--k86h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--57e0440k.xn--k86h', strict=True) + + def test_uts46_5312(self): + self.assertRaises(idna.IDNAError, idna.decode, '੍𦍓ᷮ。\u200cࢽ\U0005de72', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '੍𦍓ᷮ。\u200cࢽ\U0005de72', strict=True) + + def test_uts46_5313(self): + self.assertRaises(idna.IDNAError, idna.decode, '੍𦍓ᷮ。\u200cࢽ\U0005de72', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '੍𦍓ᷮ。\u200cࢽ\U0005de72', strict=True) + + def test_uts46_5314(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ybc461hph93b.xn--jzb29857e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ybc461hph93b.xn--jzb29857e', strict=True) + + def test_uts46_5315(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ybc461hph93b.xn--jzb740j1y45h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ybc461hph93b.xn--jzb740j1y45h', strict=True) + + def test_uts46_5316(self): + self.assertRaises(idna.IDNAError, idna.decode, 'خ݈\U00045aaa-.\u200c먿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'خ݈\U00045aaa-.\u200c먿', strict=True) + + def test_uts46_5317(self): + self.assertRaises(idna.IDNAError, idna.decode, 'خ݈\U00045aaa-.\u200c먿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'خ݈\U00045aaa-.\u200c먿', strict=True) + + def test_uts46_5318(self): + self.assertRaises(idna.IDNAError, idna.decode, 'خ݈\U00045aaa-.\u200c먿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'خ݈\U00045aaa-.\u200c먿', strict=True) + + def test_uts46_5319(self): + self.assertRaises(idna.IDNAError, idna.decode, 'خ݈\U00045aaa-.\u200c먿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'خ݈\U00045aaa-.\u200c먿', strict=True) + + def test_uts46_5320(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----dnc06f42153a.xn--v22b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----dnc06f42153a.xn--v22b', strict=True) + + def test_uts46_5321(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----dnc06f42153a.xn--0ug1581d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----dnc06f42153a.xn--0ug1581d', strict=True) + + def test_uts46_5322(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0010bfe6。ᠽ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0010bfe6。ᠽ', strict=True) + + def test_uts46_5323(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0010bfe6。ᠽ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0010bfe6。ᠽ', strict=True) + + def test_uts46_5324(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--j890g.xn--w7e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--j890g.xn--w7e', strict=True) + + def test_uts46_5325(self): + self.assertRaises(idna.IDNAError, idna.decode, '嬃𝍌.\u200dୄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '嬃𝍌.\u200dୄ', strict=True) + + def test_uts46_5326(self): + self.assertRaises(idna.IDNAError, idna.decode, '嬃𝍌.\u200dୄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '嬃𝍌.\u200dୄ', strict=True) + + def test_uts46_5327(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b6s0078f.xn--0ic', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b6s0078f.xn--0ic', strict=True) + + def test_uts46_5328(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b6s0078f.xn--0ic557h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b6s0078f.xn--0ic557h', strict=True) + + def test_uts46_5329(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0602𝌪≯.\U0001a2f2\U000b5068', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0602𝌪≯.\U0001a2f2\U000b5068', strict=True) + + def test_uts46_5330(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0602𝌪≯.\U0001a2f2\U000b5068', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0602𝌪≯.\U0001a2f2\U000b5068', strict=True) + + def test_uts46_5331(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0602𝌪≯.\U0001a2f2\U000b5068', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0602𝌪≯.\U0001a2f2\U000b5068', strict=True) + + def test_uts46_5332(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0602𝌪≯.\U0001a2f2\U000b5068', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0602𝌪≯.\U0001a2f2\U000b5068', strict=True) + + def test_uts46_5333(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kfb866llx01a.xn--wp1gm3570b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kfb866llx01a.xn--wp1gm3570b', strict=True) + + def test_uts46_5334(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000abfa5ࢷ៌꧀.\U0001ef20', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000abfa5ࢷ៌꧀.\U0001ef20', strict=True) + + def test_uts46_5335(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dzb638ewm4i1iy1h.xn--3m7h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dzb638ewm4i1iy1h.xn--3m7h', strict=True) + + def test_uts46_5336(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.\U0005f6e4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.\U0005f6e4', strict=True) + + def test_uts46_5337(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--q823a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--q823a', strict=True) + + def test_uts46_5338(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--q823a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--q823a', strict=True) + + def test_uts46_5339(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ba6d5Ⴃ䠅.\U00010e11', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ba6d5Ⴃ䠅.\U00010e11', strict=True) + + def test_uts46_5340(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ba6d5Ⴃ䠅.\U00010e11', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ba6d5Ⴃ䠅.\U00010e11', strict=True) + + def test_uts46_5341(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ba6d5ⴃ䠅.\U00010e11', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ba6d5ⴃ䠅.\U00010e11', strict=True) + + def test_uts46_5342(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ukju77frl47r.xn--yl0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ukju77frl47r.xn--yl0d', strict=True) + + def test_uts46_5343(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ba6d5ⴃ䠅.\U00010e11', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ba6d5ⴃ䠅.\U00010e11', strict=True) + + def test_uts46_5344(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bnd074zr557n.xn--yl0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bnd074zr557n.xn--yl0d', strict=True) + + def test_uts46_5345(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᯱ𐹳𐹵𞤚。𝟨Ⴅ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᯱ𐹳𐹵𞤚。𝟨Ⴅ', strict=True) + + def test_uts46_5346(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᯱ𐹳𐹵𞤚。6Ⴅ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᯱ𐹳𐹵𞤚。6Ⴅ', strict=True) + + def test_uts46_5347(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᯱ𐹳𐹵𞤼。6ⴅ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᯱ𐹳𐹵𞤼。6ⴅ', strict=True) + + def test_uts46_5348(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᯱ𐹳𐹵𞤚。6ⴅ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᯱ𐹳𐹵𞤚。6ⴅ', strict=True) + + def test_uts46_5349(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zzfy954hga2415t.xn--6-kvs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zzfy954hga2415t.xn--6-kvs', strict=True) + + def test_uts46_5350(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᯱ𐹳𐹵𞤼。𝟨ⴅ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᯱ𐹳𐹵𞤼。𝟨ⴅ', strict=True) + + def test_uts46_5351(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᯱ𐹳𐹵𞤚。𝟨ⴅ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᯱ𐹳𐹵𞤚。𝟨ⴅ', strict=True) + + def test_uts46_5352(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zzfy954hga2415t.xn--6-h0g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zzfy954hga2415t.xn--6-h0g', strict=True) + + def test_uts46_5353(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。︒', strict=True) + + def test_uts46_5354(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。。', strict=True) + + def test_uts46_5355(self): + self.assertRaises(idna.IDNAError, idna.decode, '-..', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-..', strict=True) + + def test_uts46_5356(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--y86c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--y86c', strict=True) + + def test_uts46_5357(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߛჀ。-⁵--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߛჀ。-⁵--', strict=True) + + def test_uts46_5358(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߛჀ。-5--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߛჀ。-5--', strict=True) + + def test_uts46_5359(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߛⴠ。-5--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߛⴠ。-5--', strict=True) + + def test_uts46_5360(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2sb691q.-5--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2sb691q.-5--', strict=True) + + def test_uts46_5361(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߛⴠ。-⁵--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߛⴠ。-⁵--', strict=True) + + def test_uts46_5362(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2sb866b.-5--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2sb866b.-5--', strict=True) + + def test_uts46_5363(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯?\U000e0455。𐹷𐹻≯\U00010dd2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯?\U000e0455。𐹷𐹻≯\U00010dd2', strict=True) + + def test_uts46_5364(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯?\U000e0455。𐹷𐹻≯\U00010dd2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯?\U000e0455。𐹷𐹻≯\U00010dd2', strict=True) + + def test_uts46_5365(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯?\U000e0455。𐹷𐹻≯\U00010dd2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯?\U000e0455。𐹷𐹻≯\U00010dd2', strict=True) + + def test_uts46_5366(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯?\U000e0455。𐹷𐹻≯\U00010dd2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯?\U000e0455。𐹷𐹻≯\U00010dd2', strict=True) + + def test_uts46_5367(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--?-ogo25661n.xn--hdh8283gdoaqa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--?-ogo25661n.xn--hdh8283gdoaqa', strict=True) + + def test_uts46_5368(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯?\U000e0455.xn--hdh8283gdoaqa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯?\U000e0455.xn--hdh8283gdoaqa', strict=True) + + def test_uts46_5369(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯?\U000e0455.xn--hdh8283gdoaqa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯?\U000e0455.xn--hdh8283gdoaqa', strict=True) + + def test_uts46_5370(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯?\U000e0455.XN--HDH8283GDOAQA', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯?\U000e0455.XN--HDH8283GDOAQA', strict=True) + + def test_uts46_5371(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯?\U000e0455.XN--HDH8283GDOAQA', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯?\U000e0455.XN--HDH8283GDOAQA', strict=True) + + def test_uts46_5372(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯?\U000e0455.Xn--Hdh8283gdoaqa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯?\U000e0455.Xn--Hdh8283gdoaqa', strict=True) + + def test_uts46_5373(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯?\U000e0455.Xn--Hdh8283gdoaqa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯?\U000e0455.Xn--Hdh8283gdoaqa', strict=True) + + def test_uts46_5374(self): + self.assertRaises(idna.IDNAError, idna.decode, '㍔ࣦݼ\u200d。͆\U00081cca\U0001d176\u0604', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㍔ࣦݼ\u200d。͆\U00081cca\U0001d176\u0604', strict=True) + + def test_uts46_5375(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ルーブルࣦݼ\u200d。͆\U00081cca\U0001d176\u0604', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ルーブルࣦݼ\u200d。͆\U00081cca\U0001d176\u0604', strict=True) + + def test_uts46_5376(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ルーブルࣦݼ\u200d。͆\U00081cca\U0001d176\u0604', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ルーブルࣦݼ\u200d。͆\U00081cca\U0001d176\u0604', strict=True) + + def test_uts46_5377(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dqb73el09fncab4h.xn--kua81lx7141a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dqb73el09fncab4h.xn--kua81lx7141a', strict=True) + + def test_uts46_5378(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dqb73ec22c9kp8cb1j.xn--kua81lx7141a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dqb73ec22c9kp8cb1j.xn--kua81lx7141a', strict=True) + + def test_uts46_5379(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dqb73el09fncab4h.xn--kua81ls548d3608b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dqb73el09fncab4h.xn--kua81ls548d3608b', strict=True) + + def test_uts46_5380(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dqb73ec22c9kp8cb1j.xn--kua81ls548d3608b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dqb73ec22c9kp8cb1j.xn--kua81ls548d3608b', strict=True) + + def test_uts46_5381(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d.F', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d.F', strict=True) + + def test_uts46_5382(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d.f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d.f', strict=True) + + def test_uts46_5383(self): + self.assertRaises(idna.IDNAError, idna.decode, '.f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.f', strict=True) + + def test_uts46_5384(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.f', strict=True) + + def test_uts46_5385(self): + self.assertEqual(idna.decode('f', uts46=True, strict=True), 'f') + self.assertEqual(idna.encode('f', uts46=True, strict=True), b'f') + + def test_uts46_5386(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d㨲。ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d㨲。ß', strict=True) + + def test_uts46_5387(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d㨲。ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d㨲。ß', strict=True) + + def test_uts46_5388(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d㨲。SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d㨲。SS', strict=True) + + def test_uts46_5389(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d㨲。ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d㨲。ss', strict=True) + + def test_uts46_5390(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d㨲。Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d㨲。Ss', strict=True) + + def test_uts46_5391(self): + self.assertEqual(idna.decode('xn--9bm.ss', uts46=True, strict=True), '㨲.ss') + self.assertEqual(idna.encode('xn--9bm.ss', uts46=True, strict=True), b'xn--9bm.ss') + + def test_uts46_5392(self): + self.assertEqual(idna.decode('㨲.ss', uts46=True, strict=True), '㨲.ss') + self.assertEqual(idna.encode('㨲.ss', uts46=True, strict=True), b'xn--9bm.ss') + + def test_uts46_5393(self): + self.assertEqual(idna.decode('㨲.SS', uts46=True, strict=True), '㨲.ss') + self.assertEqual(idna.encode('㨲.SS', uts46=True, strict=True), b'xn--9bm.ss') + + def test_uts46_5394(self): + self.assertEqual(idna.decode('㨲.Ss', uts46=True, strict=True), '㨲.ss') + self.assertEqual(idna.encode('㨲.Ss', uts46=True, strict=True), b'xn--9bm.ss') + + def test_uts46_5395(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug914h.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug914h.ss', strict=True) + + def test_uts46_5396(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug914h.xn--zca', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug914h.xn--zca', strict=True) + + def test_uts46_5397(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d㨲。SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d㨲。SS', strict=True) + + def test_uts46_5398(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d㨲。ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d㨲。ss', strict=True) + + def test_uts46_5399(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d㨲。Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d㨲。Ss', strict=True) + + def test_uts46_5400(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0605پ。ࢨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0605پ。ࢨ', strict=True) + + def test_uts46_5401(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0605پ。ࢨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0605پ。ࢨ', strict=True) + + def test_uts46_5402(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nfb6v.xn--xyb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nfb6v.xn--xyb', strict=True) + + def test_uts46_5403(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾑ݓ𞤁。𐹵ڂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾑ݓ𞤁。𐹵ڂ', strict=True) + + def test_uts46_5404(self): + self.assertRaises(idna.IDNAError, idna.decode, '襾ݓ𞤁。𐹵ڂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '襾ݓ𞤁。𐹵ڂ', strict=True) + + def test_uts46_5405(self): + self.assertRaises(idna.IDNAError, idna.decode, '襾ݓ𞤣。𐹵ڂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '襾ݓ𞤣。𐹵ڂ', strict=True) + + def test_uts46_5406(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6ob9577deqwl.xn--7ib5526k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6ob9577deqwl.xn--7ib5526k', strict=True) + + def test_uts46_5407(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾑ݓ𞤣。𐹵ڂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾑ݓ𞤣。𐹵ڂ', strict=True) + + def test_uts46_5408(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00066d3bς-⃫。ݔ-ꡛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00066d3bς-⃫。ݔ-ꡛ', strict=True) + + def test_uts46_5409(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00066d3bς-⃫。ݔ-ꡛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00066d3bς-⃫。ݔ-ꡛ', strict=True) + + def test_uts46_5410(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00066d3bΣ-⃫。ݔ-ꡛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00066d3bΣ-⃫。ݔ-ꡛ', strict=True) + + def test_uts46_5411(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00066d3bσ-⃫。ݔ-ꡛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00066d3bσ-⃫。ݔ-ꡛ', strict=True) + + def test_uts46_5412(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----zmb705tuo34l.xn----53c4874j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----zmb705tuo34l.xn----53c4874j', strict=True) + + def test_uts46_5413(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----xmb015tuo34l.xn----53c4874j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----xmb015tuo34l.xn----53c4874j', strict=True) + + def test_uts46_5414(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00066d3bΣ-⃫。ݔ-ꡛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00066d3bΣ-⃫。ݔ-ꡛ', strict=True) + + def test_uts46_5415(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00066d3bσ-⃫。ݔ-ꡛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00066d3bσ-⃫。ݔ-ꡛ', strict=True) + + def test_uts46_5416(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d.\U00100e28', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d.\U00100e28', strict=True) + + def test_uts46_5417(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d.\U00100e28', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d.\U00100e28', strict=True) + + def test_uts46_5418(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--h327f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--h327f', strict=True) + + def test_uts46_5419(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--h327f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--h327f', strict=True) + + def test_uts46_5420(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00063b7b\U0004c941。≠𝟲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00063b7b\U0004c941。≠𝟲', strict=True) + + def test_uts46_5421(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00063b7b\U0004c941。≠𝟲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00063b7b\U0004c941。≠𝟲', strict=True) + + def test_uts46_5422(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00063b7b\U0004c941。≠6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00063b7b\U0004c941。≠6', strict=True) + + def test_uts46_5423(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00063b7b\U0004c941。≠6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00063b7b\U0004c941。≠6', strict=True) + + def test_uts46_5424(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--h79w4z99a.xn--6-tfo', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--h79w4z99a.xn--6-tfo', strict=True) + + def test_uts46_5425(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅊ᡭ\u200d.\U00010961', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅊ᡭ\u200d.\U00010961', strict=True) + + def test_uts46_5426(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--98e.xn--om9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--98e.xn--om9c', strict=True) + + def test_uts46_5427(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--98e810b.xn--om9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--98e810b.xn--om9c', strict=True) + + def test_uts46_5428(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ీࡕ\U0001095b𑄴.\U000edc35', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ీࡕ\U0001095b𑄴.\U000edc35', strict=True) + + def test_uts46_5429(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ీࡕ\U0001095b𑄴.\U000edc35', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ీࡕ\U0001095b𑄴.\U000edc35', strict=True) + + def test_uts46_5430(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--kwb91r5112avtg.xn--o580f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--kwb91r5112avtg.xn--o580f', strict=True) + + def test_uts46_5431(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤮。𑇊\u200c≯᳦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤮。𑇊\u200c≯᳦', strict=True) + + def test_uts46_5432(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤮。𑇊\u200c≯᳦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤮。𑇊\u200c≯᳦', strict=True) + + def test_uts46_5433(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤌。𑇊\u200c≯᳦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤌。𑇊\u200c≯᳦', strict=True) + + def test_uts46_5434(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤌。𑇊\u200c≯᳦', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤌。𑇊\u200c≯᳦', strict=True) + + def test_uts46_5435(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--me6h.xn--z6fz8ueq2v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--me6h.xn--z6fz8ueq2v', strict=True) + + def test_uts46_5436(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--me6h.xn--z6f16kn9b2642b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--me6h.xn--z6f16kn9b2642b', strict=True) + + def test_uts46_5437(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄀𝟕.𞤌\U0005b5d3Ⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄀𝟕.𞤌\U0005b5d3Ⴉ', strict=True) + + def test_uts46_5438(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄀7.𞤌\U0005b5d3Ⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄀7.𞤌\U0005b5d3Ⴉ', strict=True) + + def test_uts46_5439(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄀7.𞤮\U0005b5d3ⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄀7.𞤮\U0005b5d3ⴉ', strict=True) + + def test_uts46_5440(self): + self.assertRaises(idna.IDNAError, idna.decode, '7.xn--0kjz523lv1vv', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '7.xn--0kjz523lv1vv', strict=True) + + def test_uts46_5441(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄀𝟕.𞤮\U0005b5d3ⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄀𝟕.𞤮\U0005b5d3ⴉ', strict=True) + + def test_uts46_5442(self): + self.assertRaises(idna.IDNAError, idna.decode, '7.xn--hnd3403vv1vv', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '7.xn--hnd3403vv1vv', strict=True) + + def test_uts46_5443(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄀7.𞤌\U0005b5d3ⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄀7.𞤌\U0005b5d3ⴉ', strict=True) + + def test_uts46_5444(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄀𝟕.𞤌\U0005b5d3ⴉ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄀𝟕.𞤌\U0005b5d3ⴉ', strict=True) + + def test_uts46_5445(self): + self.assertRaises(idna.IDNAError, idna.decode, '閃9𝩍。Ↄ٩ࢱ୍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '閃9𝩍。Ↄ٩ࢱ୍', strict=True) + + def test_uts46_5446(self): + self.assertRaises(idna.IDNAError, idna.decode, '閃9𝩍。ↄ٩ࢱ୍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '閃9𝩍。ↄ٩ࢱ୍', strict=True) + + def test_uts46_5447(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-3j6dk517f.xn--iib28ij3c4t9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-3j6dk517f.xn--iib28ij3c4t9a', strict=True) + + def test_uts46_5448(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-3j6dk517f.xn--iib28ij3c0t9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-3j6dk517f.xn--iib28ij3c0t9a', strict=True) + + def test_uts46_5449(self): + self.assertRaises(idna.IDNAError, idna.decode, '꫶ᢏฺ2.𐋢݅ྟ︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꫶ᢏฺ2.𐋢݅ྟ︒', strict=True) + + def test_uts46_5450(self): + self.assertRaises(idna.IDNAError, idna.decode, '꫶ᢏฺ2.𐋢݅ྟ。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꫶ᢏฺ2.𐋢݅ྟ。', strict=True) + + def test_uts46_5451(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2-2zf840fk16m.xn--sob093b2m7s.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2-2zf840fk16m.xn--sob093b2m7s.', strict=True) + + def test_uts46_5452(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2-2zf840fk16m.xn--sob093bj62sz9d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2-2zf840fk16m.xn--sob093bj62sz9d', strict=True) + + def test_uts46_5453(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c5d27。≠-\U000e0644⾛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c5d27。≠-\U000e0644⾛', strict=True) + + def test_uts46_5454(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c5d27。≠-\U000e0644⾛', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c5d27。≠-\U000e0644⾛', strict=True) + + def test_uts46_5455(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c5d27。≠-\U000e0644走', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c5d27。≠-\U000e0644走', strict=True) + + def test_uts46_5456(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c5d27。≠-\U000e0644走', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c5d27。≠-\U000e0644走', strict=True) + + def test_uts46_5457(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gm57d.xn----tfo4949b3664m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gm57d.xn----tfo4949b3664m', strict=True) + + def test_uts46_5458(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݮ\u0604Ⴊ。-≠ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݮ\u0604Ⴊ。-≠ᅠ', strict=True) + + def test_uts46_5459(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݮ\u0604Ⴊ。-≠ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݮ\u0604Ⴊ。-≠ᅠ', strict=True) + + def test_uts46_5460(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݮ\u0604ⴊ。-≠ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݮ\u0604ⴊ。-≠ᅠ', strict=True) + + def test_uts46_5461(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݮ\u0604ⴊ。-≠ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݮ\u0604ⴊ。-≠ᅠ', strict=True) + + def test_uts46_5462(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mfb73ek93f.xn----ufo', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mfb73ek93f.xn----ufo', strict=True) + + def test_uts46_5463(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mfb73ek93f.xn----5bh589i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mfb73ek93f.xn----5bh589i', strict=True) + + def test_uts46_5464(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mfb73ex6r.xn----5bh589i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mfb73ex6r.xn----5bh589i', strict=True) + + def test_uts46_5465(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﭏ𐹧𝟒≯。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﭏ𐹧𝟒≯。\u200c', strict=True) + + def test_uts46_5466(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﭏ𐹧𝟒≯。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﭏ𐹧𝟒≯。\u200c', strict=True) + + def test_uts46_5467(self): + self.assertRaises(idna.IDNAError, idna.decode, 'אל𐹧4≯。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'אל𐹧4≯。\u200c', strict=True) + + def test_uts46_5468(self): + self.assertRaises(idna.IDNAError, idna.decode, 'אל𐹧4≯。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'אל𐹧4≯。\u200c', strict=True) + + def test_uts46_5469(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-zhc0by36txt0w.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-zhc0by36txt0w.', strict=True) + + def test_uts46_5470(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-zhc0by36txt0w.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-zhc0by36txt0w.xn--0ug', strict=True) + + def test_uts46_5471(self): + self.assertEqual(idna.decode('𝟎。甯', uts46=True, strict=True), '0.甯') + self.assertEqual(idna.encode('𝟎。甯', uts46=True, strict=True), b'0.xn--qny') + + def test_uts46_5472(self): + self.assertEqual(idna.decode('0。甯', uts46=True, strict=True), '0.甯') + self.assertEqual(idna.encode('0。甯', uts46=True, strict=True), b'0.xn--qny') + + def test_uts46_5473(self): + self.assertEqual(idna.decode('0.xn--qny', uts46=True, strict=True), '0.甯') + self.assertEqual(idna.encode('0.xn--qny', uts46=True, strict=True), b'0.xn--qny') + + def test_uts46_5474(self): + self.assertEqual(idna.decode('0.甯', uts46=True, strict=True), '0.甯') + self.assertEqual(idna.encode('0.甯', uts46=True, strict=True), b'0.xn--qny') + + def test_uts46_5475(self): + self.assertRaises(idna.IDNAError, idna.decode, '-⾆.꫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-⾆.꫶', strict=True) + + def test_uts46_5476(self): + self.assertRaises(idna.IDNAError, idna.decode, '-舌.꫶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-舌.꫶', strict=True) + + def test_uts46_5477(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ef8c.xn--2v9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ef8c.xn--2v9a', strict=True) + + def test_uts46_5478(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。ᢘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。ᢘ', strict=True) + + def test_uts46_5479(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。ᢘ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。ᢘ', strict=True) + + def test_uts46_5480(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--ibf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--ibf', strict=True) + + def test_uts46_5481(self): + self.assertRaises(idna.IDNAError, idna.decode, '🂴Ⴋ.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🂴Ⴋ.≮', strict=True) + + def test_uts46_5482(self): + self.assertRaises(idna.IDNAError, idna.decode, '🂴Ⴋ.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🂴Ⴋ.≮', strict=True) + + def test_uts46_5483(self): + self.assertRaises(idna.IDNAError, idna.decode, '🂴ⴋ.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🂴ⴋ.≮', strict=True) + + def test_uts46_5484(self): + self.assertRaises(idna.IDNAError, idna.decode, '🂴ⴋ.≮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🂴ⴋ.≮', strict=True) + + def test_uts46_5485(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2kj7565l.xn--gdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2kj7565l.xn--gdh', strict=True) + + def test_uts46_5486(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jnd1986v.xn--gdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jnd1986v.xn--gdh', strict=True) + + def test_uts46_5487(self): + self.assertRaises(idna.IDNAError, idna.decode, '璼𝨭。\u200c󠇟', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '璼𝨭。\u200c󠇟', strict=True) + + def test_uts46_5488(self): + self.assertRaises(idna.IDNAError, idna.decode, '璼𝨭。\u200c󠇟', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '璼𝨭。\u200c󠇟', strict=True) + + def test_uts46_5491(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gky8837e.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gky8837e.xn--0ug', strict=True) + + def test_uts46_5492(self): + self.assertRaises(idna.IDNAError, idna.decode, '٩8\U0004237d。-5🞥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٩8\U0004237d。-5🞥', strict=True) + + def test_uts46_5493(self): + self.assertRaises(idna.IDNAError, idna.decode, '٩8\U0004237d。-5🞥', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٩8\U0004237d。-5🞥', strict=True) + + def test_uts46_5494(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-qqc97891f.xn---5-rp92a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-qqc97891f.xn---5-rp92a', strict=True) + + def test_uts46_5495(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.\u200c', strict=True) + + def test_uts46_5496(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--0ug', strict=True) + + def test_uts46_5497(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d튛.ܖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d튛.ܖ', strict=True) + + def test_uts46_5498(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d튛.ܖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d튛.ܖ', strict=True) + + def test_uts46_5499(self): + self.assertEqual(idna.decode('xn--157b.xn--gnb', uts46=True, strict=True), '튛.ܖ') + self.assertEqual(idna.encode('xn--157b.xn--gnb', uts46=True, strict=True), b'xn--157b.xn--gnb') + + def test_uts46_5500(self): + self.assertEqual(idna.decode('튛.ܖ', uts46=True, strict=True), '튛.ܖ') + self.assertEqual(idna.encode('튛.ܖ', uts46=True, strict=True), b'xn--157b.xn--gnb') + + def test_uts46_5501(self): + self.assertEqual(idna.decode('튛.ܖ', uts46=True, strict=True), '튛.ܖ') + self.assertEqual(idna.encode('튛.ܖ', uts46=True, strict=True), b'xn--157b.xn--gnb') + + def test_uts46_5502(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug4441e.xn--gnb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug4441e.xn--gnb', strict=True) + + def test_uts46_5503(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡋ𐹰\U0001ef73.ݹⴞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡋ𐹰\U0001ef73.ݹⴞ', strict=True) + + def test_uts46_5504(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᡋ𐹰\U0001ef73.ݹႾ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᡋ𐹰\U0001ef73.ݹႾ', strict=True) + + def test_uts46_5505(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b8e0417jocvf.xn--9pb883q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b8e0417jocvf.xn--9pb883q', strict=True) + + def test_uts46_5506(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--b8e0417jocvf.xn--9pb068b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--b8e0417jocvf.xn--9pb068b', strict=True) + + def test_uts46_5507(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010dc3٢𝅻𝟧.𐹮𐹬Ⴇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010dc3٢𝅻𝟧.𐹮𐹬Ⴇ', strict=True) + + def test_uts46_5508(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010dc3٢𝅻5.𐹮𐹬Ⴇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010dc3٢𝅻5.𐹮𐹬Ⴇ', strict=True) + + def test_uts46_5509(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010dc3٢𝅻5.𐹮𐹬ⴇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010dc3٢𝅻5.𐹮𐹬ⴇ', strict=True) + + def test_uts46_5510(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5-cqc8833rhv7f.xn--ykjz523efa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5-cqc8833rhv7f.xn--ykjz523efa', strict=True) + + def test_uts46_5511(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00010dc3٢𝅻𝟧.𐹮𐹬ⴇ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00010dc3٢𝅻𝟧.𐹮𐹬ⴇ', strict=True) + + def test_uts46_5512(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5-cqc8833rhv7f.xn--fnd3401kfa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5-cqc8833rhv7f.xn--fnd3401kfa', strict=True) + + def test_uts46_5513(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + + def test_uts46_5514(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + + def test_uts46_5515(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + + def test_uts46_5516(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + + def test_uts46_5517(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--flj.xn--qdb0605f14ycrms3c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--flj.xn--qdb0605f14ycrms3c', strict=True) + + def test_uts46_5518(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + + def test_uts46_5519(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴗ.𑄴ׂꦷ\U000580e8', strict=True) + + def test_uts46_5520(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vnd.xn--qdb0605f14ycrms3c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vnd.xn--qdb0605f14ycrms3c', strict=True) + + def test_uts46_5521(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟾\U0003e918.\U0008755b٬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟾\U0003e918.\U0008755b٬', strict=True) + + def test_uts46_5522(self): + self.assertRaises(idna.IDNAError, idna.decode, '8\U0003e918.\U0008755b٬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8\U0003e918.\U0008755b٬', strict=True) + + def test_uts46_5523(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-kh23b.xn--lib78461i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-kh23b.xn--lib78461i', strict=True) + + def test_uts46_5524(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈酫︒。ࣖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈酫︒。ࣖ', strict=True) + + def test_uts46_5525(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.酫。。ࣖ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.酫。。ࣖ', strict=True) + + def test_uts46_5526(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--8j4a..xn--8zb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--8j4a..xn--8zb', strict=True) + + def test_uts46_5527(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh4490bfe8c.xn--8zb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh4490bfe8c.xn--8zb', strict=True) + + def test_uts46_5528(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⷣ\u200c≮ᩫ.\u200cฺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⷣ\u200c≮ᩫ.\u200cฺ', strict=True) + + def test_uts46_5529(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⷣ\u200c≮ᩫ.\u200cฺ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⷣ\u200c≮ᩫ.\u200cฺ', strict=True) + + def test_uts46_5530(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--uof548an0j.xn--o4c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--uof548an0j.xn--o4c', strict=True) + + def test_uts46_5531(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--uof63xk4bf3s.xn--o4c732g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--uof63xk4bf3s.xn--o4c732g', strict=True) + + def test_uts46_5532(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ea82。ႷႽ¹\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ea82。ႷႽ¹\u200d', strict=True) + + def test_uts46_5533(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ea82。ႷႽ1\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ea82。ႷႽ1\u200d', strict=True) + + def test_uts46_5534(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ea82。ⴗⴝ1\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ea82。ⴗⴝ1\u200d', strict=True) + + def test_uts46_5535(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ea82。Ⴗⴝ1\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ea82。Ⴗⴝ1\u200d', strict=True) + + def test_uts46_5536(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--co6h.xn--1-kwssa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--co6h.xn--1-kwssa', strict=True) + + def test_uts46_5537(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--co6h.xn--1-ugn710dya', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--co6h.xn--1-ugn710dya', strict=True) + + def test_uts46_5538(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ea82。ⴗⴝ¹\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ea82。ⴗⴝ¹\u200d', strict=True) + + def test_uts46_5539(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001ea82。Ⴗⴝ¹\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001ea82。Ⴗⴝ¹\u200d', strict=True) + + def test_uts46_5540(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--co6h.xn--1-h1g429s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--co6h.xn--1-h1g429s', strict=True) + + def test_uts46_5541(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--co6h.xn--1-h1g398iewm', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--co6h.xn--1-h1g398iewm', strict=True) + + def test_uts46_5542(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--co6h.xn--1-h1gs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--co6h.xn--1-h1gs', strict=True) + + def test_uts46_5543(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--co6h.xn--1-h1gs597m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--co6h.xn--1-h1gs597m', strict=True) + + def test_uts46_5544(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑄴𑄳2.\U0001ecff\U000e0033-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑄴𑄳2.\U0001ecff\U000e0033-', strict=True) + + def test_uts46_5545(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2-h87ic.xn----s39r33498d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2-h87ic.xn----s39r33498d', strict=True) + + def test_uts46_5546(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0572\U000dfdb6٥。\U00040041𑄳𞤃ܐ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0572\U000dfdb6٥。\U00040041𑄳𞤃ܐ', strict=True) + + def test_uts46_5547(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0572\U000dfdb6٥。\U00040041𑄳𞤃ܐ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0572\U000dfdb6٥。\U00040041𑄳𞤃ܐ', strict=True) + + def test_uts46_5548(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0572\U000dfdb6٥。\U00040041𑄳𞤥ܐ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0572\U000dfdb6٥。\U00040041𑄳𞤥ܐ', strict=True) + + def test_uts46_5549(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--eib57614py3ea.xn--9mb5737kqnpfzkwr', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--eib57614py3ea.xn--9mb5737kqnpfzkwr', strict=True) + + def test_uts46_5550(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0572\U000dfdb6٥。\U00040041𑄳𞤥ܐ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0572\U000dfdb6٥。\U00040041𑄳𞤥ܐ', strict=True) + + def test_uts46_5551(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܠ\U000b283d𐹢ុ。ςᢈ🝭\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܠ\U000b283d𐹢ុ。ςᢈ🝭\u200c', strict=True) + + def test_uts46_5552(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܠ\U000b283d𐹢ុ。ςᢈ🝭\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܠ\U000b283d𐹢ុ。ςᢈ🝭\u200c', strict=True) + + def test_uts46_5553(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܠ\U000b283d𐹢ុ。Σᢈ🝭\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܠ\U000b283d𐹢ុ。Σᢈ🝭\u200c', strict=True) + + def test_uts46_5554(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܠ\U000b283d𐹢ុ。σᢈ🝭\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܠ\U000b283d𐹢ុ。σᢈ🝭\u200c', strict=True) + + def test_uts46_5555(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qnb616fis0qzt36f.xn--4xa847hli46a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qnb616fis0qzt36f.xn--4xa847hli46a', strict=True) + + def test_uts46_5556(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qnb616fis0qzt36f.xn--4xa847h6ofgl44c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qnb616fis0qzt36f.xn--4xa847h6ofgl44c', strict=True) + + def test_uts46_5557(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qnb616fis0qzt36f.xn--3xa057h6ofgl44c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qnb616fis0qzt36f.xn--3xa057h6ofgl44c', strict=True) + + def test_uts46_5558(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܠ\U000b283d𐹢ុ。Σᢈ🝭\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܠ\U000b283d𐹢ុ。Σᢈ🝭\u200c', strict=True) + + def test_uts46_5559(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܠ\U000b283d𐹢ុ。σᢈ🝭\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܠ\U000b283d𐹢ុ。σᢈ🝭\u200c', strict=True) + + def test_uts46_5560(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d--≮。𐹧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d--≮。𐹧', strict=True) + + def test_uts46_5561(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d--≮。𐹧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d--≮。𐹧', strict=True) + + def test_uts46_5562(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn-----ujv.xn--fo0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn-----ujv.xn--fo0d', strict=True) + + def test_uts46_5563(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn-----l1tz1k.xn--fo0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn-----l1tz1k.xn--fo0d', strict=True) + + def test_uts46_5564(self): + self.assertRaises(idna.IDNAError, idna.decode, '꠆。\U0003b68fྰ⒕', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꠆。\U0003b68fྰ⒕', strict=True) + + def test_uts46_5565(self): + self.assertRaises(idna.IDNAError, idna.decode, '꠆。\U0003b68fྰ14.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꠆。\U0003b68fྰ14.', strict=True) + + def test_uts46_5566(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--l98a.xn--14-jsj57880f.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--l98a.xn--14-jsj57880f.', strict=True) + + def test_uts46_5567(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--l98a.xn--dgd218hhp28d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--l98a.xn--dgd218hhp28d', strict=True) + + def test_uts46_5568(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ae242ڼ.𑆺٩', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ae242ڼ.𑆺٩', strict=True) + + def test_uts46_5569(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ae242ڼ.𑆺٩', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ae242ڼ.𑆺٩', strict=True) + + def test_uts46_5570(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vkb92243l.xn--iib9797k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vkb92243l.xn--iib9797k', strict=True) + + def test_uts46_5571(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e004eې-。𞤴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e004eې-。𞤴', strict=True) + + def test_uts46_5572(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e004eې-。𞤒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e004eې-。𞤒', strict=True) + + def test_uts46_5573(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----mwc72685y.xn--se6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----mwc72685y.xn--se6h', strict=True) + + def test_uts46_5574(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟠4󠇗𝈻.\u200d𐋵⛧\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟠4󠇗𝈻.\u200d𐋵⛧\u200d', strict=True) + + def test_uts46_5575(self): + self.assertRaises(idna.IDNAError, idna.decode, '84󠇗𝈻.\u200d𐋵⛧\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '84󠇗𝈻.\u200d𐋵⛧\u200d', strict=True) + + def test_uts46_5576(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--84-s850a.xn--59h6326e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--84-s850a.xn--59h6326e', strict=True) + + def test_uts46_5577(self): + self.assertRaises(idna.IDNAError, idna.decode, '84𝈻.𐋵⛧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '84𝈻.𐋵⛧', strict=True) + + def test_uts46_5578(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--84-s850a.xn--1uga573cfq1w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--84-s850a.xn--1uga573cfq1w', strict=True) + + def test_uts46_5579(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u0601。ᡪ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u0601。ᡪ', strict=True) + + def test_uts46_5580(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u0601。ᡪ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u0601。ᡪ', strict=True) + + def test_uts46_5581(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----tkc.xn--68e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----tkc.xn--68e', strict=True) + + def test_uts46_5582(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𝟕.謖ß≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𝟕.謖ß≯', strict=True) + + def test_uts46_5583(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𝟕.謖ß≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𝟕.謖ß≯', strict=True) + + def test_uts46_5584(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮7.謖ß≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮7.謖ß≯', strict=True) + + def test_uts46_5585(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮7.謖ß≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮7.謖ß≯', strict=True) + + def test_uts46_5586(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮7.謖SS≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮7.謖SS≯', strict=True) + + def test_uts46_5587(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮7.謖SS≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮7.謖SS≯', strict=True) + + def test_uts46_5588(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮7.謖ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮7.謖ss≯', strict=True) + + def test_uts46_5589(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮7.謖ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮7.謖ss≯', strict=True) + + def test_uts46_5590(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮7.謖Ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮7.謖Ss≯', strict=True) + + def test_uts46_5591(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮7.謖Ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮7.謖Ss≯', strict=True) + + def test_uts46_5592(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7-mgo.xn--ss-xjvv174c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7-mgo.xn--ss-xjvv174c', strict=True) + + def test_uts46_5593(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7-mgo.xn--zca892oly5e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7-mgo.xn--zca892oly5e', strict=True) + + def test_uts46_5594(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𝟕.謖SS≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𝟕.謖SS≯', strict=True) + + def test_uts46_5595(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𝟕.謖SS≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𝟕.謖SS≯', strict=True) + + def test_uts46_5596(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𝟕.謖ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𝟕.謖ss≯', strict=True) + + def test_uts46_5597(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𝟕.謖ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𝟕.謖ss≯', strict=True) + + def test_uts46_5598(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𝟕.謖Ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𝟕.謖Ss≯', strict=True) + + def test_uts46_5599(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𝟕.謖Ss≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𝟕.謖Ss≯', strict=True) + + def test_uts46_5600(self): + self.assertRaises(idna.IDNAError, idna.decode, '朶Ⴉ\U0001eaa1.𝨽ࠥ📻-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '朶Ⴉ\U0001eaa1.𝨽ࠥ📻-', strict=True) + + def test_uts46_5601(self): + self.assertRaises(idna.IDNAError, idna.decode, '朶ⴉ\U0001eaa1.𝨽ࠥ📻-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '朶ⴉ\U0001eaa1.𝨽ࠥ📻-', strict=True) + + def test_uts46_5602(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0kjz47pd57t.xn----3gd37096apmwa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0kjz47pd57t.xn----3gd37096apmwa', strict=True) + + def test_uts46_5603(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hnd7245bd56p.xn----3gd37096apmwa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hnd7245bd56p.xn----3gd37096apmwa', strict=True) + + def test_uts46_5604(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐤎。\U000d1ff0\u200c≮\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐤎。\U000d1ff0\u200c≮\u200d', strict=True) + + def test_uts46_5605(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐤎。\U000d1ff0\u200c≮\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐤎。\U000d1ff0\u200c≮\u200d', strict=True) + + def test_uts46_5606(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bk9c.xn--gdhx6802k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bk9c.xn--gdhx6802k', strict=True) + + def test_uts46_5607(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--bk9c.xn--0ugc04p2u638c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--bk9c.xn--0ugc04p2u638c', strict=True) + + def test_uts46_5608(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006d70e⒈。\u200c𝟤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006d70e⒈。\u200c𝟤', strict=True) + + def test_uts46_5609(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006d70e1.。\u200c2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006d70e1.。\u200c2', strict=True) + + def test_uts46_5610(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-ex54e..c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-ex54e..c', strict=True) + + def test_uts46_5611(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-ex54e..xn--2-rgn', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-ex54e..xn--2-rgn', strict=True) + + def test_uts46_5612(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh94183d.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh94183d.c', strict=True) + + def test_uts46_5613(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh94183d.xn--2-rgn', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh94183d.xn--2-rgn', strict=True) + + def test_uts46_5614(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e07ca𐹤\u200d.𐹳\U000d9135𐹶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e07ca𐹤\u200d.𐹳\U000d9135𐹶', strict=True) + + def test_uts46_5615(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e07ca𐹤\u200d.𐹳\U000d9135𐹶', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e07ca𐹤\u200d.𐹳\U000d9135𐹶', strict=True) + + def test_uts46_5616(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--co0d98977c.xn--ro0dga22807v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--co0d98977c.xn--ro0dga22807v', strict=True) + + def test_uts46_5617(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ugy994g7k93g.xn--ro0dga22807v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ugy994g7k93g.xn--ro0dga22807v', strict=True) + + def test_uts46_5618(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤴𐹻𑓂𐭝.्︇\U001096ef', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤴𐹻𑓂𐭝.्︇\U001096ef', strict=True) + + def test_uts46_5619(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤴𐹻𑓂𐭝.्︇\U001096ef', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤴𐹻𑓂𐭝.्︇\U001096ef', strict=True) + + def test_uts46_5620(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤒𐹻𑓂𐭝.्︇\U001096ef', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤒𐹻𑓂𐭝.्︇\U001096ef', strict=True) + + def test_uts46_5621(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--609c96c09grp2w.xn--n3b28708s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--609c96c09grp2w.xn--n3b28708s', strict=True) + + def test_uts46_5622(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤒𐹻𑓂𐭝.्︇\U001096ef', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤒𐹻𑓂𐭝.्︇\U001096ef', strict=True) + + def test_uts46_5623(self): + self.assertRaises(idna.IDNAError, idna.decode, '٨。𐹠𐹽\U00057bb6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٨。𐹠𐹽\U00057bb6', strict=True) + + def test_uts46_5624(self): + self.assertRaises(idna.IDNAError, idna.decode, '٨。𐹠𐹽\U00057bb6', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٨。𐹠𐹽\U00057bb6', strict=True) + + def test_uts46_5625(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hib.xn--7n0d2bu9196b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hib.xn--7n0d2bu9196b', strict=True) + + def test_uts46_5626(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅠ\U0004d01c.8\U000b6fb5ڜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅠ\U0004d01c.8\U000b6fb5ڜ', strict=True) + + def test_uts46_5627(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mn1x.xn--8-otc61545t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mn1x.xn--8-otc61545t', strict=True) + + def test_uts46_5628(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--psd85033d.xn--8-otc61545t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--psd85033d.xn--8-otc61545t', strict=True) + + def test_uts46_5629(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c󠆪。ß𑓃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c󠆪。ß𑓃', strict=True) + + def test_uts46_5630(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c󠆪。ß𑓃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c󠆪。ß𑓃', strict=True) + + def test_uts46_5631(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c󠆪。SS𑓃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c󠆪。SS𑓃', strict=True) + + def test_uts46_5632(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c󠆪。ss𑓃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c󠆪。ss𑓃', strict=True) + + def test_uts46_5633(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c󠆪。Ss𑓃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c󠆪。Ss𑓃', strict=True) + + def test_uts46_5634(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--ss-bh7o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--ss-bh7o', strict=True) + + def test_uts46_5635(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugb.xn--ss-bh7o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugb.xn--ss-bh7o', strict=True) + + def test_uts46_5636(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugb.xn--zca0732l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugb.xn--zca0732l', strict=True) + + def test_uts46_5637(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c󠆪。SS𑓃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c󠆪。SS𑓃', strict=True) + + def test_uts46_5638(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c󠆪。ss𑓃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c󠆪。ss𑓃', strict=True) + + def test_uts46_5639(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200c󠆪。Ss𑓃', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200c󠆪。Ss𑓃', strict=True) + + def test_uts46_5640(self): + self.assertEqual(idna.decode('xn--ss-bh7o', uts46=True, strict=True), 'ss𑓃') + self.assertEqual(idna.encode('xn--ss-bh7o', uts46=True, strict=True), b'xn--ss-bh7o') + + def test_uts46_5641(self): + self.assertEqual(idna.decode('ss𑓃', uts46=True, strict=True), 'ss𑓃') + self.assertEqual(idna.encode('ss𑓃', uts46=True, strict=True), b'xn--ss-bh7o') + + def test_uts46_5642(self): + self.assertEqual(idna.decode('SS𑓃', uts46=True, strict=True), 'ss𑓃') + self.assertEqual(idna.encode('SS𑓃', uts46=True, strict=True), b'xn--ss-bh7o') + + def test_uts46_5643(self): + self.assertEqual(idna.decode('Ss𑓃', uts46=True, strict=True), 'ss𑓃') + self.assertEqual(idna.encode('Ss𑓃', uts46=True, strict=True), b'xn--ss-bh7o') + + def test_uts46_5644(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒\u200cヶ䒩.ꡪ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒\u200cヶ䒩.ꡪ', strict=True) + + def test_uts46_5645(self): + self.assertRaises(idna.IDNAError, idna.decode, '。\u200cヶ䒩.ꡪ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。\u200cヶ䒩.ꡪ', strict=True) + + def test_uts46_5646(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--qekw60d.xn--gd9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--qekw60d.xn--gd9a', strict=True) + + def test_uts46_5647(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--0ug287dj0o.xn--gd9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--0ug287dj0o.xn--gd9a', strict=True) + + def test_uts46_5648(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qekw60dns9k.xn--gd9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qekw60dns9k.xn--gd9a', strict=True) + + def test_uts46_5649(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug287dj0or48o.xn--gd9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug287dj0or48o.xn--gd9a', strict=True) + + def test_uts46_5650(self): + self.assertEqual(idna.decode('xn--qekw60d.xn--gd9a', uts46=True, strict=True), 'ヶ䒩.ꡪ') + self.assertEqual(idna.encode('xn--qekw60d.xn--gd9a', uts46=True, strict=True), b'xn--qekw60d.xn--gd9a') + + def test_uts46_5651(self): + self.assertEqual(idna.decode('ヶ䒩.ꡪ', uts46=True, strict=True), 'ヶ䒩.ꡪ') + self.assertEqual(idna.encode('ヶ䒩.ꡪ', uts46=True, strict=True), b'xn--qekw60d.xn--gd9a') + + def test_uts46_5652(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c⒈𤮍.\U000e24cb᩠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c⒈𤮍.\U000e24cb᩠', strict=True) + + def test_uts46_5653(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c1.𤮍.\U000e24cb᩠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c1.𤮍.\U000e24cb᩠', strict=True) + + def test_uts46_5654(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--4x6j.xn--jof45148n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--4x6j.xn--jof45148n', strict=True) + + def test_uts46_5655(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-rgn.xn--4x6j.xn--jof45148n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-rgn.xn--4x6j.xn--jof45148n', strict=True) + + def test_uts46_5656(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tshw462r.xn--jof45148n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tshw462r.xn--jof45148n', strict=True) + + def test_uts46_5657(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug88o7471d.xn--jof45148n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug88o7471d.xn--jof45148n', strict=True) + + def test_uts46_5658(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈\u200c𐫓\U000e003a。᩠\U00064c35\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈\u200c𐫓\U000e003a。᩠\U00064c35\u200d', strict=True) + + def test_uts46_5659(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.\u200c𐫓\U000e003a。᩠\U00064c35\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.\u200c𐫓\U000e003a。᩠\U00064c35\u200d', strict=True) + + def test_uts46_5660(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--8w9c40377c.xn--jofz5294e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--8w9c40377c.xn--jofz5294e', strict=True) + + def test_uts46_5661(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--0ug8853gk263g.xn--jof95xex98m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--0ug8853gk263g.xn--jof95xex98m', strict=True) + + def test_uts46_5662(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tsh4435fk263g.xn--jofz5294e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tsh4435fk263g.xn--jofz5294e', strict=True) + + def test_uts46_5663(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug78ol75wzcx4i.xn--jof95xex98m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug78ol75wzcx4i.xn--jof95xex98m', strict=True) + + def test_uts46_5664(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001d175。𝟫𞀈䬺⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001d175。𝟫𞀈䬺⒈', strict=True) + + def test_uts46_5665(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001d175。9𞀈䬺1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001d175。9𞀈䬺1.', strict=True) + + def test_uts46_5666(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--91-030c1650n.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--91-030c1650n.', strict=True) + + def test_uts46_5667(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--9-ecp936non25a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--9-ecp936non25a', strict=True) + + def test_uts46_5668(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3f1h.xn--91-030c1650n.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3f1h.xn--91-030c1650n.', strict=True) + + def test_uts46_5669(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3f1h.xn--9-ecp936non25a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3f1h.xn--9-ecp936non25a', strict=True) + + def test_uts46_5670(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a1f3a≯。盚ص', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a1f3a≯。盚ص', strict=True) + + def test_uts46_5671(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000a1f3a≯。盚ص', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000a1f3a≯。盚ص', strict=True) + + def test_uts46_5672(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hdh30181h.xn--0gb7878c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hdh30181h.xn--0gb7878c', strict=True) + + def test_uts46_5673(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0007fc2dִ。-\U000e004a\U000108b8≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0007fc2dִ。-\U000e004a\U000108b8≯', strict=True) + + def test_uts46_5674(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0007fc2dִ。-\U000e004a\U000108b8≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0007fc2dִ。-\U000e004a\U000108b8≯', strict=True) + + def test_uts46_5675(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----fgc06667m.xn----pgoy615he5y4i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----fgc06667m.xn----pgoy615he5y4i', strict=True) + + def test_uts46_5676(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ffb53᭄\u200c੍.𐭛\U000732d4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ffb53᭄\u200c੍.𐭛\U000732d4', strict=True) + + def test_uts46_5677(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ffb53᭄\u200c੍.𐭛\U000732d4', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ffb53᭄\u200c੍.𐭛\U000732d4', strict=True) + + def test_uts46_5678(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ybc997fb5881a.xn--409c6100y', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ybc997fb5881a.xn--409c6100y', strict=True) + + def test_uts46_5679(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ybc997f6rd2n772c.xn--409c6100y', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ybc997f6rd2n772c.xn--409c6100y', strict=True) + + def test_uts46_5680(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾇.ٽ𞤴ڻ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾇.ٽ𞤴ڻ\u200d', strict=True) + + def test_uts46_5681(self): + self.assertRaises(idna.IDNAError, idna.decode, '舛.ٽ𞤴ڻ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '舛.ٽ𞤴ڻ\u200d', strict=True) + + def test_uts46_5682(self): + self.assertRaises(idna.IDNAError, idna.decode, '舛.ٽ𞤒ڻ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '舛.ٽ𞤒ڻ\u200d', strict=True) + + def test_uts46_5683(self): + self.assertEqual(idna.decode('xn--8c1a.xn--2ib8jn539l', uts46=True, strict=True), '舛.ٽ𞤴ڻ') + self.assertEqual(idna.encode('xn--8c1a.xn--2ib8jn539l', uts46=True, strict=True), b'xn--8c1a.xn--2ib8jn539l') + + def test_uts46_5684(self): + self.assertEqual(idna.decode('舛.ٽ𞤴ڻ', uts46=True, strict=True), '舛.ٽ𞤴ڻ') + self.assertEqual(idna.encode('舛.ٽ𞤴ڻ', uts46=True, strict=True), b'xn--8c1a.xn--2ib8jn539l') + + def test_uts46_5685(self): + self.assertEqual(idna.decode('舛.ٽ𞤒ڻ', uts46=True, strict=True), '舛.ٽ𞤴ڻ') + self.assertEqual(idna.encode('舛.ٽ𞤒ڻ', uts46=True, strict=True), b'xn--8c1a.xn--2ib8jn539l') + + def test_uts46_5686(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8c1a.xn--2ib8jv19e6413b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8c1a.xn--2ib8jv19e6413b', strict=True) + + def test_uts46_5687(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾇.ٽ𞤒ڻ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾇.ٽ𞤒ڻ\u200d', strict=True) + + def test_uts46_5688(self): + self.assertRaises(idna.IDNAError, idna.decode, '4\U000ad1a5。ݧ≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4\U000ad1a5。ݧ≯', strict=True) + + def test_uts46_5689(self): + self.assertRaises(idna.IDNAError, idna.decode, '4\U000ad1a5。ݧ≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4\U000ad1a5。ݧ≯', strict=True) + + def test_uts46_5690(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-xn17i.xn--rpb459k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-xn17i.xn--rpb459k', strict=True) + + def test_uts46_5691(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003250f\U0001eae8\U0007afc2硲.ڭ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003250f\U0001eae8\U0007afc2硲.ڭ', strict=True) + + def test_uts46_5692(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003250f\U0001eae8\U0007afc2硲.ڭ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003250f\U0001eae8\U0007afc2硲.ڭ', strict=True) + + def test_uts46_5693(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lcz1610fn78gk609a.xn--gkb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lcz1610fn78gk609a.xn--gkb', strict=True) + + def test_uts46_5694(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.︈٦Ⴆ℮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.︈٦Ⴆ℮', strict=True) + + def test_uts46_5695(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c.︈٦ⴆ℮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c.︈٦ⴆ℮', strict=True) + + def test_uts46_5696(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--fib628k4li', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--fib628k4li', strict=True) + + def test_uts46_5697(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--fib628k4li', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--fib628k4li', strict=True) + + def test_uts46_5698(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--fib263c0yn', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--fib263c0yn', strict=True) + + def test_uts46_5699(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--fib263c0yn', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--fib263c0yn', strict=True) + + def test_uts46_5700(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڣ.്\u200dϞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڣ.്\u200dϞ', strict=True) + + def test_uts46_5701(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڣ.്\u200dϞ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڣ.്\u200dϞ', strict=True) + + def test_uts46_5702(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڣ.്\u200dϟ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڣ.്\u200dϟ', strict=True) + + def test_uts46_5703(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5jb.xn--xya149b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5jb.xn--xya149b', strict=True) + + def test_uts46_5704(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--5jb.xn--xya149bpvp', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--5jb.xn--xya149bpvp', strict=True) + + def test_uts46_5705(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڣ.്\u200dϟ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڣ.്\u200dϟ', strict=True) + + def test_uts46_5706(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𞸇𑘿。أ𐮂-腍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𞸇𑘿。أ𐮂-腍', strict=True) + + def test_uts46_5707(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𞸇𑘿。أ𐮂-腍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𞸇𑘿。أ𐮂-腍', strict=True) + + def test_uts46_5708(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cح𑘿。أ𐮂-腍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cح𑘿。أ𐮂-腍', strict=True) + + def test_uts46_5709(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200cح𑘿。أ𐮂-腍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200cح𑘿。أ𐮂-腍', strict=True) + + def test_uts46_5710(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--sgb4140l.xn----qmc5075grs9e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--sgb4140l.xn----qmc5075grs9e', strict=True) + + def test_uts46_5711(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--sgb953kmi8o.xn----qmc5075grs9e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--sgb953kmi8o.xn----qmc5075grs9e', strict=True) + + def test_uts46_5712(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U000addd9٫纛。𝟛\U0006d907🄅', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U000addd9٫纛。𝟛\U0006d907🄅', strict=True) + + def test_uts46_5713(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U000addd9٫纛。3\U0006d9074,', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U000addd9٫纛。3\U0006d9074,', strict=True) + + def test_uts46_5714(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----vqc8143g0tt4i.xn--34,-8787l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----vqc8143g0tt4i.xn--34,-8787l', strict=True) + + def test_uts46_5715(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----vqc8143g0tt4i.xn--3-os1sn476y', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----vqc8143g0tt4i.xn--3-os1sn476y', strict=True) + + def test_uts46_5716(self): + self.assertRaises(idna.IDNAError, idna.decode, '🔔.Ⴂߌ்𐋮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🔔.Ⴂߌ்𐋮', strict=True) + + def test_uts46_5717(self): + self.assertRaises(idna.IDNAError, idna.decode, '🔔.Ⴂߌ்𐋮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🔔.Ⴂߌ்𐋮', strict=True) + + def test_uts46_5718(self): + self.assertRaises(idna.IDNAError, idna.decode, '🔔.ⴂߌ்𐋮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🔔.ⴂߌ்𐋮', strict=True) + + def test_uts46_5719(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nv8h.xn--nsb46rvz1b222p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nv8h.xn--nsb46rvz1b222p', strict=True) + + def test_uts46_5720(self): + self.assertRaises(idna.IDNAError, idna.decode, '🔔.ⴂߌ்𐋮', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🔔.ⴂߌ்𐋮', strict=True) + + def test_uts46_5721(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nv8h.xn--nsb46r83e8112a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nv8h.xn--nsb46r83e8112a', strict=True) + + def test_uts46_5722(self): + self.assertRaises(idna.IDNAError, idna.decode, '軥ڳ.-𖬵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '軥ڳ.-𖬵', strict=True) + + def test_uts46_5723(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mkb5480e.xn----6u5m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mkb5480e.xn----6u5m', strict=True) + + def test_uts46_5724(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹤ߊڶ.𐨂-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹤ߊڶ.𐨂-', strict=True) + + def test_uts46_5725(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pkb56cn614d.xn----974i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pkb56cn614d.xn----974i', strict=True) + + def test_uts46_5726(self): + self.assertRaises(idna.IDNAError, idna.decode, '-󠅱0。៏᷽톇십', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-󠅱0。៏᷽톇십', strict=True) + + def test_uts46_5727(self): + self.assertRaises(idna.IDNAError, idna.decode, '-󠅱0。៏᷽톇십', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-󠅱0。៏᷽톇십', strict=True) + + def test_uts46_5728(self): + self.assertRaises(idna.IDNAError, idna.decode, '-󠅱0。៏᷽톇십', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-󠅱0。៏᷽톇십', strict=True) + + def test_uts46_5729(self): + self.assertRaises(idna.IDNAError, idna.decode, '-󠅱0。៏᷽톇십', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-󠅱0。៏᷽톇십', strict=True) + + def test_uts46_5730(self): + self.assertRaises(idna.IDNAError, idna.decode, '-0.xn--r4e872ah77nghm', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-0.xn--r4e872ah77nghm', strict=True) + + def test_uts46_5731(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡰ︒--。៌靈𐹢\U00058cee', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡰ︒--。៌靈𐹢\U00058cee', strict=True) + + def test_uts46_5732(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡰ。--。៌靈𐹢\U00058cee', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡰ。--。៌靈𐹢\U00058cee', strict=True) + + def test_uts46_5733(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--md9a.--.xn--o4e6836dpxudz0v1c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--md9a.--.xn--o4e6836dpxudz0v1c', strict=True) + + def test_uts46_5734(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn-----bk9hu24z.xn--o4e6836dpxudz0v1c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn-----bk9hu24z.xn--o4e6836dpxudz0v1c', strict=True) + + def test_uts46_5735(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟႿႵრ。୍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟႿႵრ。୍', strict=True) + + def test_uts46_5736(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟႿႵრ。୍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟႿႵრ。୍', strict=True) + + def test_uts46_5737(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟⴟⴕრ。୍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟⴟⴕრ。୍', strict=True) + + def test_uts46_5738(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟႿႵᲠ。୍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟႿႵᲠ。୍', strict=True) + + def test_uts46_5739(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1od555l3a.xn--9ic', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1od555l3a.xn--9ic', strict=True) + + def test_uts46_5740(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟⴟⴕრ。୍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟⴟⴕრ。୍', strict=True) + + def test_uts46_5741(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟႿႵᲠ。୍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟႿႵᲠ。୍', strict=True) + + def test_uts46_5742(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tndt4hvw.xn--9ic', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tndt4hvw.xn--9ic', strict=True) + + def test_uts46_5743(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1od7wz74eeb.xn--9ic', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1od7wz74eeb.xn--9ic', strict=True) + + def test_uts46_5744(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟႿⴕრ。୍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟႿⴕრ。୍', strict=True) + + def test_uts46_5745(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3nd0etsm92g.xn--9ic', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3nd0etsm92g.xn--9ic', strict=True) + + def test_uts46_5746(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᅟႿⴕრ。୍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᅟႿⴕრ。୍', strict=True) + + def test_uts46_5747(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄃𐹠.٤󠅇', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄃𐹠.٤󠅇', strict=True) + + def test_uts46_5748(self): + self.assertRaises(idna.IDNAError, idna.decode, '2,𐹠.٤󠅇', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '2,𐹠.٤󠅇', strict=True) + + def test_uts46_5749(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2,-5g3o.xn--dib', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2,-5g3o.xn--dib', strict=True) + + def test_uts46_5750(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7n0d1189a.xn--dib', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7n0d1189a.xn--dib', strict=True) + + def test_uts46_5751(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000bbcbc\u200cﱛ.ߒࡈ᯳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000bbcbc\u200cﱛ.ߒࡈ᯳', strict=True) + + def test_uts46_5752(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000bbcbc\u200cذٰ.ߒࡈ᯳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000bbcbc\u200cذٰ.ߒࡈ᯳', strict=True) + + def test_uts46_5753(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vgb2kp1223g.xn--tsb0vz43c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vgb2kp1223g.xn--tsb0vz43c', strict=True) + + def test_uts46_5754(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vgb2kq00fl213y.xn--tsb0vz43c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vgb2kq00fl213y.xn--tsb0vz43c', strict=True) + + def test_uts46_5755(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200d\U0001ed6a\u200c。ᡘ𑲭឵', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200d\U0001ed6a\u200c。ᡘ𑲭឵', strict=True) + + def test_uts46_5756(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--l96h.xn--o8e4044k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--l96h.xn--o8e4044k', strict=True) + + def test_uts46_5757(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugba05538b.xn--o8e4044k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugba05538b.xn--o8e4044k', strict=True) + + def test_uts46_5758(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--l96h.xn--03e93aq365d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--l96h.xn--03e93aq365d', strict=True) + + def test_uts46_5759(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugba05538b.xn--03e93aq365d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugba05538b.xn--03e93aq365d', strict=True) + + def test_uts46_5760(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001edfb。⚄\U00057447𑁿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001edfb。⚄\U00057447𑁿', strict=True) + + def test_uts46_5761(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qe7h.xn--c7h2966f7so4a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qe7h.xn--c7h2966f7so4a', strict=True) + + def test_uts46_5762(self): + self.assertRaises(idna.IDNAError, idna.decode, '꣄≠.𞠨٧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꣄≠.𞠨٧', strict=True) + + def test_uts46_5763(self): + self.assertRaises(idna.IDNAError, idna.decode, '꣄≠.𞠨٧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꣄≠.𞠨٧', strict=True) + + def test_uts46_5764(self): + self.assertRaises(idna.IDNAError, idna.decode, '꣄≠.𞠨٧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꣄≠.𞠨٧', strict=True) + + def test_uts46_5765(self): + self.assertRaises(idna.IDNAError, idna.decode, '꣄≠.𞠨٧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꣄≠.𞠨٧', strict=True) + + def test_uts46_5766(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1chy504c.xn--gib1777v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1chy504c.xn--gib1777v', strict=True) + + def test_uts46_5767(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟛꣄𝆪。꣪-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟛꣄𝆪。꣪-', strict=True) + + def test_uts46_5768(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟛꣄𝆪。꣪-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟛꣄𝆪。꣪-', strict=True) + + def test_uts46_5769(self): + self.assertRaises(idna.IDNAError, idna.decode, '3꣄𝆪。꣪-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '3꣄𝆪。꣪-', strict=True) + + def test_uts46_5770(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3-sl4eu679e.xn----xn4e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3-sl4eu679e.xn----xn4e', strict=True) + + def test_uts46_5771(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݟᮢ်Ⴇ.e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݟᮢ်Ⴇ.e', strict=True) + + def test_uts46_5772(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݟᮢ်ⴇ.e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݟᮢ်ⴇ.e', strict=True) + + def test_uts46_5773(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ݟᮢ်Ⴇ.E', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ݟᮢ်Ⴇ.E', strict=True) + + def test_uts46_5774(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jpb846bjzj7pr.e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jpb846bjzj7pr.e', strict=True) + + def test_uts46_5775(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jpb846bmjw88a.e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jpb846bmjw88a.e', strict=True) + + def test_uts46_5776(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᄹ。໊\U000a0be4󠄞', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᄹ。໊\U000a0be4󠄞', strict=True) + + def test_uts46_5777(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᄹ。໊\U000a0be4󠄞', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᄹ。໊\U000a0be4󠄞', strict=True) + + def test_uts46_5778(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lrd.xn--s8c05302k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lrd.xn--s8c05302k', strict=True) + + def test_uts46_5779(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴆ\U000bb8a9.󠆡︉𞤍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴆ\U000bb8a9.󠆡︉𞤍', strict=True) + + def test_uts46_5780(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴆ\U000bb8a9.󠆡︉𞤍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴆ\U000bb8a9.󠆡︉𞤍', strict=True) + + def test_uts46_5781(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴆ\U000bb8a9.󠆡︉𞤯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴆ\U000bb8a9.󠆡︉𞤯', strict=True) + + def test_uts46_5782(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xkjw3965g.xn--ne6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xkjw3965g.xn--ne6h', strict=True) + + def test_uts46_5783(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴆ\U000bb8a9.󠆡︉𞤯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴆ\U000bb8a9.󠆡︉𞤯', strict=True) + + def test_uts46_5784(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--end82983m.xn--ne6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--end82983m.xn--ne6h', strict=True) + + def test_uts46_5785(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴆ\U000bb8a9.󠆡︉𞤍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴆ\U000bb8a9.󠆡︉𞤍', strict=True) + + def test_uts46_5786(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴆ\U000bb8a9.󠆡︉𞤍', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴆ\U000bb8a9.󠆡︉𞤍', strict=True) + + def test_uts46_5787(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ßࠋ︒ٻ.帼F∬\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ßࠋ︒ٻ.帼F∬\u200c', strict=True) + + def test_uts46_5788(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ßࠋ。ٻ.帼F∫∫\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ßࠋ。ٻ.帼F∫∫\u200c', strict=True) + + def test_uts46_5789(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ßࠋ。ٻ.帼f∫∫\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ßࠋ。ٻ.帼f∫∫\u200c', strict=True) + + def test_uts46_5790(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SSࠋ。ٻ.帼F∫∫\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SSࠋ。ٻ.帼F∫∫\u200c', strict=True) + + def test_uts46_5791(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ssࠋ。ٻ.帼f∫∫\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ssࠋ。ٻ.帼f∫∫\u200c', strict=True) + + def test_uts46_5792(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ssࠋ。ٻ.帼F∫∫\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ssࠋ。ٻ.帼F∫∫\u200c', strict=True) + + def test_uts46_5793(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-uze.xn--0ib.xn--f-tcoa9162d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-uze.xn--0ib.xn--f-tcoa9162d', strict=True) + + def test_uts46_5794(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-uze.xn--0ib.xn--f-sgn48ga6997e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-uze.xn--0ib.xn--f-sgn48ga6997e', strict=True) + + def test_uts46_5795(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca687a.xn--0ib.xn--f-sgn48ga6997e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca687a.xn--0ib.xn--f-sgn48ga6997e', strict=True) + + def test_uts46_5796(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ßࠋ︒ٻ.帼f∬\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ßࠋ︒ٻ.帼f∬\u200c', strict=True) + + def test_uts46_5797(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SSࠋ︒ٻ.帼F∬\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SSࠋ︒ٻ.帼F∬\u200c', strict=True) + + def test_uts46_5798(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ssࠋ︒ٻ.帼f∬\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ssࠋ︒ٻ.帼f∬\u200c', strict=True) + + def test_uts46_5799(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ssࠋ︒ٻ.帼F∬\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ssࠋ︒ٻ.帼F∬\u200c', strict=True) + + def test_uts46_5800(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-k0d31nu121d.xn--f-tcoa9162d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-k0d31nu121d.xn--f-tcoa9162d', strict=True) + + def test_uts46_5801(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-k0d31nu121d.xn--f-sgn48ga6997e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-k0d31nu121d.xn--f-sgn48ga6997e', strict=True) + + def test_uts46_5802(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca68zj8ac956c.xn--f-sgn48ga6997e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca68zj8ac956c.xn--f-sgn48ga6997e', strict=True) + + def test_uts46_5803(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d8a97。𐹴\U0001ea0c\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d8a97。𐹴\U0001ea0c\u200d', strict=True) + + def test_uts46_5804(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000d8a97。𐹴\U0001ea0c\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000d8a97。𐹴\U0001ea0c\u200d', strict=True) + + def test_uts46_5805(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8l83e.xn--so0dw168a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8l83e.xn--so0dw168a', strict=True) + + def test_uts46_5806(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8l83e.xn--1ug4105gsxwf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8l83e.xn--1ug4105gsxwf', strict=True) + + def test_uts46_5807(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000576e8.\U000857e2𝟨꣄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000576e8.\U000857e2𝟨꣄', strict=True) + + def test_uts46_5808(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000576e8.\U000857e26꣄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000576e8.\U000857e26꣄', strict=True) + + def test_uts46_5809(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mi60a.xn--6-sl4es8023c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mi60a.xn--6-sl4es8023c', strict=True) + + def test_uts46_5810(self): + self.assertRaises(idna.IDNAError, idna.decode, '᪲ﶎ。-۹ႱႨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᪲ﶎ。-۹ႱႨ', strict=True) + + def test_uts46_5811(self): + self.assertRaises(idna.IDNAError, idna.decode, '᪲مخج。-۹ႱႨ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᪲مخج。-۹ႱႨ', strict=True) + + def test_uts46_5812(self): + self.assertRaises(idna.IDNAError, idna.decode, '᪲مخج。-۹ⴑⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᪲مخج。-۹ⴑⴈ', strict=True) + + def test_uts46_5813(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rgbd2e831i.xn----zyc3430a9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rgbd2e831i.xn----zyc3430a9a', strict=True) + + def test_uts46_5814(self): + self.assertRaises(idna.IDNAError, idna.decode, '᪲ﶎ。-۹ⴑⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᪲ﶎ。-۹ⴑⴈ', strict=True) + + def test_uts46_5815(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rgbd2e831i.xn----zyc155e9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rgbd2e831i.xn----zyc155e9a', strict=True) + + def test_uts46_5816(self): + self.assertRaises(idna.IDNAError, idna.decode, '᪲مخج。-۹Ⴑⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᪲مخج。-۹Ⴑⴈ', strict=True) + + def test_uts46_5817(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rgbd2e831i.xn----zyc875efr3a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rgbd2e831i.xn----zyc875efr3a', strict=True) + + def test_uts46_5818(self): + self.assertRaises(idna.IDNAError, idna.decode, '᪲ﶎ。-۹Ⴑⴈ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᪲ﶎ。-۹Ⴑⴈ', strict=True) + + def test_uts46_5819(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤤.-ࢣ︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤤.-ࢣ︒', strict=True) + + def test_uts46_5820(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤤.-ࢣ。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤤.-ࢣ。', strict=True) + + def test_uts46_5821(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤂.-ࢣ。', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤂.-ࢣ。', strict=True) + + def test_uts46_5822(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ce6h.xn----cod.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ce6h.xn----cod.', strict=True) + + def test_uts46_5823(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤂.-ࢣ︒', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤂.-ࢣ︒', strict=True) + + def test_uts46_5824(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ce6h.xn----cod7069p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ce6h.xn----cod7069p', strict=True) + + def test_uts46_5825(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𐺨.࡙--', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𐺨.࡙--', strict=True) + + def test_uts46_5826(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9p0d.xn-----h6e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9p0d.xn-----h6e', strict=True) + + def test_uts46_5827(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug7905g.xn-----h6e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug7905g.xn-----h6e', strict=True) + + def test_uts46_5828(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋸\U000ee60bჂ.Ⴁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋸\U000ee60bჂ.Ⴁ', strict=True) + + def test_uts46_5829(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋸\U000ee60bⴢ.ⴁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋸\U000ee60bⴢ.ⴁ', strict=True) + + def test_uts46_5830(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋸\U000ee60bჂ.ⴁ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋸\U000ee60bჂ.ⴁ', strict=True) + + def test_uts46_5831(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qlj1559dr224h.xn--skj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qlj1559dr224h.xn--skj', strict=True) + + def test_uts46_5832(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6nd5215jr2u0h.xn--skj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6nd5215jr2u0h.xn--skj', strict=True) + + def test_uts46_5833(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6nd5215jr2u0h.xn--8md', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6nd5215jr2u0h.xn--8md', strict=True) + + def test_uts46_5834(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0005747f꠆₄\U000a9786。\U00032a67\U000e04b9ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0005747f꠆₄\U000a9786。\U00032a67\U000e04b9ς', strict=True) + + def test_uts46_5835(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0005747f꠆4\U000a9786。\U00032a67\U000e04b9ς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0005747f꠆4\U000a9786。\U00032a67\U000e04b9ς', strict=True) + + def test_uts46_5836(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0005747f꠆4\U000a9786。\U00032a67\U000e04b9Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0005747f꠆4\U000a9786。\U00032a67\U000e04b9Σ', strict=True) + + def test_uts46_5837(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0005747f꠆4\U000a9786。\U00032a67\U000e04b9σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0005747f꠆4\U000a9786。\U00032a67\U000e04b9σ', strict=True) + + def test_uts46_5838(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-w93ej7463a9io5a.xn--4xa31142bk3f0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-w93ej7463a9io5a.xn--4xa31142bk3f0d', strict=True) + + def test_uts46_5839(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-w93ej7463a9io5a.xn--3xa51142bk3f0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-w93ej7463a9io5a.xn--3xa51142bk3f0d', strict=True) + + def test_uts46_5840(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0005747f꠆₄\U000a9786。\U00032a67\U000e04b9Σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0005747f꠆₄\U000a9786。\U00032a67\U000e04b9Σ', strict=True) + + def test_uts46_5841(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0005747f꠆₄\U000a9786。\U00032a67\U000e04b9σ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0005747f꠆₄\U000a9786。\U00032a67\U000e04b9σ', strict=True) + + def test_uts46_5842(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆀ܣ。ᷴݵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆀ܣ。ᷴݵ', strict=True) + + def test_uts46_5843(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tnb.xn--5pb136i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tnb.xn--5pb136i', strict=True) + + def test_uts46_5844(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹱ࡂ𝪨。𬼖Ⴑ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹱ࡂ𝪨。𬼖Ⴑ\u200d', strict=True) + + def test_uts46_5845(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹱ࡂ𝪨。𬼖Ⴑ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹱ࡂ𝪨。𬼖Ⴑ\u200d', strict=True) + + def test_uts46_5846(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹱ࡂ𝪨。𬼖ⴑ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹱ࡂ𝪨。𬼖ⴑ\u200d', strict=True) + + def test_uts46_5847(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0vb1535kdb6e.xn--8kjz186s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0vb1535kdb6e.xn--8kjz186s', strict=True) + + def test_uts46_5848(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0vb1535kdb6e.xn--1ug742c5714c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0vb1535kdb6e.xn--1ug742c5714c', strict=True) + + def test_uts46_5849(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹱ࡂ𝪨。𬼖ⴑ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹱ࡂ𝪨。𬼖ⴑ\u200d', strict=True) + + def test_uts46_5850(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0vb1535kdb6e.xn--pnd93707a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0vb1535kdb6e.xn--pnd93707a', strict=True) + + def test_uts46_5851(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0vb1535kdb6e.xn--pnd879eqy33c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0vb1535kdb6e.xn--pnd879eqy33c', strict=True) + + def test_uts46_5852(self): + self.assertRaises(idna.IDNAError, idna.decode, '᜔𐭪\U000e0658\u200d。-𐹴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᜔𐭪\U000e0658\u200d。-𐹴', strict=True) + + def test_uts46_5853(self): + self.assertRaises(idna.IDNAError, idna.decode, '᜔𐭪\U000e0658\u200d。-𐹴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᜔𐭪\U000e0658\u200d。-𐹴', strict=True) + + def test_uts46_5854(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fze4126jujt0g.xn----c36i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fze4126jujt0g.xn----c36i', strict=True) + + def test_uts46_5855(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fze807bso0spy14i.xn----c36i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fze807bso0spy14i.xn----c36i', strict=True) + + def test_uts46_5856(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003e8ac。ܩ︒쯙𝟧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003e8ac。ܩ︒쯙𝟧', strict=True) + + def test_uts46_5857(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003e8ac。ܩ︒쯙𝟧', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003e8ac。ܩ︒쯙𝟧', strict=True) + + def test_uts46_5858(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003e8ac。ܩ。쯙5', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003e8ac。ܩ。쯙5', strict=True) + + def test_uts46_5859(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0003e8ac。ܩ。쯙5', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0003e8ac。ܩ。쯙5', strict=True) + + def test_uts46_5860(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--t92s.xn--znb.xn--5-y88f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--t92s.xn--znb.xn--5-y88f', strict=True) + + def test_uts46_5861(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--t92s.xn--5-p1c0712mm8rb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--t92s.xn--5-p1c0712mm8rb', strict=True) + + def test_uts46_5862(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤟-。ݢ≮뻐', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤟-。ݢ≮뻐', strict=True) + + def test_uts46_5863(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞤟-。ݢ≮뻐', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞤟-。ݢ≮뻐', strict=True) + + def test_uts46_5864(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞥁-。ݢ≮뻐', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞥁-。ݢ≮뻐', strict=True) + + def test_uts46_5865(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞥁-。ݢ≮뻐', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞥁-。ݢ≮뻐', strict=True) + + def test_uts46_5866(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----1j8r.xn--mpb269krv4i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----1j8r.xn--mpb269krv4i', strict=True) + + def test_uts46_5867(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001e969-\U0008aae0.ࢴ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001e969-\U0008aae0.ࢴ≠', strict=True) + + def test_uts46_5868(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001e969-\U0008aae0.ࢴ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001e969-\U0008aae0.ࢴ≠', strict=True) + + def test_uts46_5869(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001e969-\U0008aae0.ࢴ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001e969-\U0008aae0.ࢴ≠', strict=True) + + def test_uts46_5870(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001e969-\U0008aae0.ࢴ≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001e969-\U0008aae0.ࢴ≠', strict=True) + + def test_uts46_5871(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----cm8rp3609a.xn--9yb852k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----cm8rp3609a.xn--9yb852k', strict=True) + + def test_uts46_5872(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0004508fςႼ.١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0004508fςႼ.١', strict=True) + + def test_uts46_5873(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0004508fςႼ.١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0004508fςႼ.١', strict=True) + + def test_uts46_5874(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0004508fςⴜ.١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0004508fςⴜ.١', strict=True) + + def test_uts46_5875(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0004508fΣႼ.١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0004508fΣႼ.١', strict=True) + + def test_uts46_5876(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0004508fσⴜ.١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0004508fσⴜ.١', strict=True) + + def test_uts46_5877(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0004508fΣⴜ.١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0004508fΣⴜ.١', strict=True) + + def test_uts46_5878(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----0mb9682aov12f.xn--9hb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----0mb9682aov12f.xn--9hb', strict=True) + + def test_uts46_5879(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ymb2782aov12f.xn--9hb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ymb2782aov12f.xn--9hb', strict=True) + + def test_uts46_5880(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0004508fςⴜ.١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0004508fςⴜ.١', strict=True) + + def test_uts46_5881(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0004508fΣႼ.١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0004508fΣႼ.١', strict=True) + + def test_uts46_5882(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0004508fσⴜ.١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0004508fσⴜ.١', strict=True) + + def test_uts46_5883(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U0004508fΣⴜ.١', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U0004508fΣⴜ.١', strict=True) + + def test_uts46_5884(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----0mb770hun11i.xn--9hb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----0mb770hun11i.xn--9hb', strict=True) + + def test_uts46_5885(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ymb080hun11i.xn--9hb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ymb080hun11i.xn--9hb', strict=True) + + def test_uts46_5886(self): + self.assertRaises(idna.IDNAError, idna.decode, '៊.\u200d𝟮𑀿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '៊.\u200d𝟮𑀿', strict=True) + + def test_uts46_5887(self): + self.assertRaises(idna.IDNAError, idna.decode, '៊.\u200d2𑀿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '៊.\u200d2𑀿', strict=True) + + def test_uts46_5888(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--m4e.xn--2-ku7i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--m4e.xn--2-ku7i', strict=True) + + def test_uts46_5889(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--m4e.xn--2-tgnv469h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--m4e.xn--2-tgnv469h', strict=True) + + def test_uts46_5890(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𝟖。᩠𐫓\U0009f1d1', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𝟖。᩠𐫓\U0009f1d1', strict=True) + + def test_uts46_5891(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯𝟖。᩠𐫓\U0009f1d1', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯𝟖。᩠𐫓\U0009f1d1', strict=True) + + def test_uts46_5892(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯8。᩠𐫓\U0009f1d1', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯8。᩠𐫓\U0009f1d1', strict=True) + + def test_uts46_5893(self): + self.assertRaises(idna.IDNAError, idna.decode, '≯8。᩠𐫓\U0009f1d1', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≯8。᩠𐫓\U0009f1d1', strict=True) + + def test_uts46_5894(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-ogo.xn--jof5303iv1z5d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-ogo.xn--jof5303iv1z5d', strict=True) + + def test_uts46_5895(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑲫Ↄ٤。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑲫Ↄ٤。\u200c', strict=True) + + def test_uts46_5896(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑲫Ↄ٤。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑲫Ↄ٤。\u200c', strict=True) + + def test_uts46_5897(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑲫ↄ٤。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑲫ↄ٤。\u200c', strict=True) + + def test_uts46_5898(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dib100l8x1p.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dib100l8x1p.', strict=True) + + def test_uts46_5899(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dib100l8x1p.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dib100l8x1p.xn--0ug', strict=True) + + def test_uts46_5900(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑲫ↄ٤。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑲫ↄ٤。\u200c', strict=True) + + def test_uts46_5901(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dib999kcy1p.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dib999kcy1p.', strict=True) + + def test_uts46_5902(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--dib999kcy1p.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--dib999kcy1p.xn--0ug', strict=True) + + def test_uts46_5903(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ఀ𝟵\u200dﲝ.\u200dݐ⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ఀ𝟵\u200dﲝ.\u200dݐ⒈', strict=True) + + def test_uts46_5904(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ఀ9\u200dبح.\u200dݐ1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ఀ9\u200dبح.\u200dݐ1.', strict=True) + + def test_uts46_5905(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-1mcp570d.xn--1-x3c.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-1mcp570d.xn--1-x3c.', strict=True) + + def test_uts46_5906(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-1mcp570dl51a.xn--1-x3c211q.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-1mcp570dl51a.xn--1-x3c211q.', strict=True) + + def test_uts46_5907(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-1mcp570d.xn--3ob470m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-1mcp570d.xn--3ob470m', strict=True) + + def test_uts46_5908(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-1mcp570dl51a.xn--3ob977jmfd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-1mcp570dl51a.xn--3ob977jmfd', strict=True) + + def test_uts46_5909(self): + self.assertRaises(idna.IDNAError, idna.decode, '꫶。嬶ß葽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꫶。嬶ß葽', strict=True) + + def test_uts46_5910(self): + self.assertRaises(idna.IDNAError, idna.decode, '꫶。嬶SS葽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꫶。嬶SS葽', strict=True) + + def test_uts46_5911(self): + self.assertRaises(idna.IDNAError, idna.decode, '꫶。嬶ss葽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꫶。嬶ss葽', strict=True) + + def test_uts46_5912(self): + self.assertRaises(idna.IDNAError, idna.decode, '꫶。嬶Ss葽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '꫶。嬶Ss葽', strict=True) + + def test_uts46_5913(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2v9a.xn--ss-q40dp97m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2v9a.xn--ss-q40dp97m', strict=True) + + def test_uts46_5914(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2v9a.xn--zca7637b14za', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2v9a.xn--zca7637b14za', strict=True) + + def test_uts46_5915(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑚶⒈。\U0005eee1𐹺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑚶⒈。\U0005eee1𐹺', strict=True) + + def test_uts46_5916(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑚶1.。\U0005eee1𐹺', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑚶1.。\U0005eee1𐹺', strict=True) + + def test_uts46_5917(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-3j0j..xn--yo0d5914s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-3j0j..xn--yo0d5914s', strict=True) + + def test_uts46_5918(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tshz969f.xn--yo0d5914s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tshz969f.xn--yo0d5914s', strict=True) + + def test_uts46_5919(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑜤︒≮.\U0005a57dט\U0001efa9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑜤︒≮.\U0005a57dט\U0001efa9', strict=True) + + def test_uts46_5920(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑜤︒≮.\U0005a57dט\U0001efa9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑜤︒≮.\U0005a57dט\U0001efa9', strict=True) + + def test_uts46_5921(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑜤。≮.\U0005a57dט\U0001efa9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑜤。≮.\U0005a57dט\U0001efa9', strict=True) + + def test_uts46_5922(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑜤。≮.\U0005a57dט\U0001efa9', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑜤。≮.\U0005a57dט\U0001efa9', strict=True) + + def test_uts46_5923(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ci2d.xn--gdh.xn--deb0091w5q9u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ci2d.xn--gdh.xn--deb0091w5q9u', strict=True) + + def test_uts46_5924(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh5267fdzpa.xn--deb0091w5q9u', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh5267fdzpa.xn--deb0091w5q9u', strict=True) + + def test_uts46_5925(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆋\u0603\U0004f9a4.⇁ς\U0008f2c8\U000ba1e5', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆋\u0603\U0004f9a4.⇁ς\U0008f2c8\U000ba1e5', strict=True) + + def test_uts46_5926(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆋\u0603\U0004f9a4.⇁Σ\U0008f2c8\U000ba1e5', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆋\u0603\U0004f9a4.⇁Σ\U0008f2c8\U000ba1e5', strict=True) + + def test_uts46_5927(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠆋\u0603\U0004f9a4.⇁σ\U0008f2c8\U000ba1e5', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠆋\u0603\U0004f9a4.⇁σ\U0008f2c8\U000ba1e5', strict=True) + + def test_uts46_5928(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lfb04106d.xn--4xa964mxv16m8moq', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lfb04106d.xn--4xa964mxv16m8moq', strict=True) + + def test_uts46_5929(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--lfb04106d.xn--3xa174mxv16m8moq', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--lfb04106d.xn--3xa174mxv16m8moq', strict=True) + + def test_uts46_5930(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + + def test_uts46_5931(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + + def test_uts46_5932(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + + def test_uts46_5933(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + + def test_uts46_5934(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa2260lk3b8z15g.xn--tw9ct349a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa2260lk3b8z15g.xn--tw9ct349a', strict=True) + + def test_uts46_5935(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa2260lk3b8z15g.xn--0ug4653g2xzf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa2260lk3b8z15g.xn--0ug4653g2xzf', strict=True) + + def test_uts46_5936(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa4260lk3b8z15g.xn--0ug4653g2xzf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa4260lk3b8z15g.xn--0ug4653g2xzf', strict=True) + + def test_uts46_5937(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + + def test_uts46_5938(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ𑐽\U00035888𑜫。\U0001eb29\u200c𐫄', strict=True) + + def test_uts46_5939(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U000b53fd。-ﱌݛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U000b53fd。-ﱌݛ', strict=True) + + def test_uts46_5940(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U000b53fd。-نحݛ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U000b53fd。-نحݛ', strict=True) + + def test_uts46_5941(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----o452j.xn----cnc8e38c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----o452j.xn----cnc8e38c', strict=True) + + def test_uts46_5942(self): + self.assertRaises(idna.IDNAError, idna.decode, '⺢\U00087e85𝟤。\u200d🚷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⺢\U00087e85𝟤。\u200d🚷', strict=True) + + def test_uts46_5943(self): + self.assertRaises(idna.IDNAError, idna.decode, '⺢\U00087e852。\u200d🚷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⺢\U00087e852。\u200d🚷', strict=True) + + def test_uts46_5944(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2-4jtr4282f.xn--m78h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2-4jtr4282f.xn--m78h', strict=True) + + def test_uts46_5945(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2-4jtr4282f.xn--1ugz946p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2-4jtr4282f.xn--1ugz946p', strict=True) + + def test_uts46_5946(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0cf8\u200dⷾ𐹲。\U000a4436', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0cf8\u200dⷾ𐹲。\U000a4436', strict=True) + + def test_uts46_5947(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u0cf8\u200dⷾ𐹲。\U000a4436', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u0cf8\u200dⷾ𐹲。\U000a4436', strict=True) + + def test_uts46_5948(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hvc220of37m.xn--3e36c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hvc220of37m.xn--3e36c', strict=True) + + def test_uts46_5949(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hvc488g69j402t.xn--3e36c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hvc488g69j402t.xn--3e36c', strict=True) + + def test_uts46_5950(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹢.Ⴍ₉⁸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹢.Ⴍ₉⁸', strict=True) + + def test_uts46_5951(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹢.Ⴍ98', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹢.Ⴍ98', strict=True) + + def test_uts46_5952(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹢.ⴍ98', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹢.ⴍ98', strict=True) + + def test_uts46_5953(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9n0d.xn--98-u61a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9n0d.xn--98-u61a', strict=True) + + def test_uts46_5954(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹢.ⴍ₉⁸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹢.ⴍ₉⁸', strict=True) + + def test_uts46_5955(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9n0d.xn--98-7ek', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9n0d.xn--98-7ek', strict=True) + + def test_uts46_5956(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。ß\u08e2⒚≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。ß\u08e2⒚≯', strict=True) + + def test_uts46_5957(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。ß\u08e2⒚≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。ß\u08e2⒚≯', strict=True) + + def test_uts46_5958(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。ß\u08e219.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。ß\u08e219.≯', strict=True) + + def test_uts46_5959(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。ß\u08e219.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。ß\u08e219.≯', strict=True) + + def test_uts46_5960(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。SS\u08e219.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。SS\u08e219.≯', strict=True) + + def test_uts46_5961(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。SS\u08e219.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。SS\u08e219.≯', strict=True) + + def test_uts46_5962(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。ss\u08e219.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。ss\u08e219.≯', strict=True) + + def test_uts46_5963(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。ss\u08e219.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。ss\u08e219.≯', strict=True) + + def test_uts46_5964(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。Ss\u08e219.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。Ss\u08e219.≯', strict=True) + + def test_uts46_5965(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。Ss\u08e219.≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。Ss\u08e219.≯', strict=True) + + def test_uts46_5966(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--ss19-w0i.xn--hdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--ss19-w0i.xn--hdh', strict=True) + + def test_uts46_5967(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--ss19-w0i.xn--hdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--ss19-w0i.xn--hdh', strict=True) + + def test_uts46_5968(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--19-fia813f.xn--hdh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--19-fia813f.xn--hdh', strict=True) + + def test_uts46_5969(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。SS\u08e2⒚≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。SS\u08e2⒚≯', strict=True) + + def test_uts46_5970(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。SS\u08e2⒚≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。SS\u08e2⒚≯', strict=True) + + def test_uts46_5971(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。ss\u08e2⒚≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。ss\u08e2⒚≯', strict=True) + + def test_uts46_5972(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。ss\u08e2⒚≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。ss\u08e2⒚≯', strict=True) + + def test_uts46_5973(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。Ss\u08e2⒚≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。Ss\u08e2⒚≯', strict=True) + + def test_uts46_5974(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c͏。Ss\u08e2⒚≯', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c͏。Ss\u08e2⒚≯', strict=True) + + def test_uts46_5975(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--ss-9if872xjjc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--ss-9if872xjjc', strict=True) + + def test_uts46_5976(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--ss-9if872xjjc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--ss-9if872xjjc', strict=True) + + def test_uts46_5977(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug.xn--zca612bx9vo5b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug.xn--zca612bx9vo5b', strict=True) + + def test_uts46_5978(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U0001e94dᡌ.𣃔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U0001e94dᡌ.𣃔', strict=True) + + def test_uts46_5979(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c\U0001e94dᡌ.𣃔', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c\U0001e94dᡌ.𣃔', strict=True) + + def test_uts46_5980(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--c8e5919u.xn--od1j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--c8e5919u.xn--od1j', strict=True) + + def test_uts46_5981(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--c8e180bqz13b.xn--od1j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--c8e180bqz13b.xn--od1j', strict=True) + + def test_uts46_5982(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߐ\U0009cb1d-\U000618ac。ྠႻ\U0001edcf𝆬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߐ\U0009cb1d-\U000618ac。ྠႻ\U0001edcf𝆬', strict=True) + + def test_uts46_5983(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ߐ\U0009cb1d-\U000618ac。ྠⴛ\U0001edcf𝆬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ߐ\U0009cb1d-\U000618ac。ྠⴛ\U0001edcf𝆬', strict=True) + + def test_uts46_5984(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----8bd11730jefvw.xn--wfd802mpm20agsxa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----8bd11730jefvw.xn--wfd802mpm20agsxa', strict=True) + + def test_uts46_5985(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----8bd11730jefvw.xn--wfd08cd265hgsxa', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----8bd11730jefvw.xn--wfd08cd265hgsxa', strict=True) + + def test_uts46_5986(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝨥。⫟𑈾', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝨥。⫟𑈾', strict=True) + + def test_uts46_5987(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--n82h.xn--63iw010f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--n82h.xn--63iw010f', strict=True) + + def test_uts46_5988(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾛ݓ.Ⴕ𞠬\u0604\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾛ݓ.Ⴕ𞠬\u0604\u200d', strict=True) + + def test_uts46_5989(self): + self.assertRaises(idna.IDNAError, idna.decode, '走ݓ.Ⴕ𞠬\u0604\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '走ݓ.Ⴕ𞠬\u0604\u200d', strict=True) + + def test_uts46_5990(self): + self.assertRaises(idna.IDNAError, idna.decode, '走ݓ.ⴕ𞠬\u0604\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '走ݓ.ⴕ𞠬\u0604\u200d', strict=True) + + def test_uts46_5991(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6ob9779d.xn--mfb511rxu80a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6ob9779d.xn--mfb511rxu80a', strict=True) + + def test_uts46_5992(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6ob9779d.xn--mfb444k5gjt754b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6ob9779d.xn--mfb444k5gjt754b', strict=True) + + def test_uts46_5993(self): + self.assertRaises(idna.IDNAError, idna.decode, '⾛ݓ.ⴕ𞠬\u0604\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⾛ݓ.ⴕ𞠬\u0604\u200d', strict=True) + + def test_uts46_5994(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6ob9779d.xn--mfb785ck569a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6ob9779d.xn--mfb785ck569a', strict=True) + + def test_uts46_5995(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6ob9779d.xn--mfb785czmm0y85b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6ob9779d.xn--mfb785czmm0y85b', strict=True) + + def test_uts46_5996(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ᢗ\u200c🄄.𑜢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ᢗ\u200c🄄.𑜢', strict=True) + + def test_uts46_5997(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ᢗ\u200c3,.𑜢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ᢗ\u200c3,.𑜢', strict=True) + + def test_uts46_5998(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---3,-3eu.xn--9h2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---3,-3eu.xn--9h2d', strict=True) + + def test_uts46_5999(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn---3,-3eu051c.xn--9h2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn---3,-3eu051c.xn--9h2d', strict=True) + + def test_uts46_6000(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----pck1820x.xn--9h2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----pck1820x.xn--9h2d', strict=True) + + def test_uts46_6001(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----pck312bx563c.xn--9h2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----pck312bx563c.xn--9h2d', strict=True) + + def test_uts46_6002(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠\U00010e01\U000393c1\u200c.Ⴚ\U000b3120', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠\U00010e01\U000393c1\u200c.Ⴚ\U000b3120', strict=True) + + def test_uts46_6003(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠\U00010e01\U000393c1\u200c.Ⴚ\U000b3120', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠\U00010e01\U000393c1\u200c.Ⴚ\U000b3120', strict=True) + + def test_uts46_6004(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠\U00010e01\U000393c1\u200c.ⴚ\U000b3120', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠\U00010e01\U000393c1\u200c.ⴚ\U000b3120', strict=True) + + def test_uts46_6005(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠\U00010e01\U000393c1\u200c.ⴚ\U000b3120', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠\U00010e01\U000393c1\u200c.ⴚ\U000b3120', strict=True) + + def test_uts46_6006(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch2293gv3nr.xn--ilj23531g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch2293gv3nr.xn--ilj23531g', strict=True) + + def test_uts46_6007(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug83gn618a21ov.xn--ilj23531g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug83gn618a21ov.xn--ilj23531g', strict=True) + + def test_uts46_6008(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch2293gv3nr.xn--ynd49496l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch2293gv3nr.xn--ynd49496l', strict=True) + + def test_uts46_6009(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ug83gn618a21ov.xn--ynd49496l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ug83gn618a21ov.xn--ynd49496l', strict=True) + + def test_uts46_6010(self): + self.assertRaises(idna.IDNAError, idna.decode, '٩。󠇀𑇊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٩。󠇀𑇊', strict=True) + + def test_uts46_6011(self): + self.assertRaises(idna.IDNAError, idna.decode, '٩。󠇀𑇊', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٩。󠇀𑇊', strict=True) + + def test_uts46_6012(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--iib.xn--6d1d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--iib.xn--6d1d', strict=True) + + def test_uts46_6013(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ႆ\U0001ed80≯⒍。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ႆ\U0001ed80≯⒍。-', strict=True) + + def test_uts46_6014(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ႆ\U0001ed80≯⒍。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ႆ\U0001ed80≯⒍。-', strict=True) + + def test_uts46_6015(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ႆ\U0001ed80≯6.。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ႆ\U0001ed80≯6.。-', strict=True) + + def test_uts46_6016(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ႆ\U0001ed80≯6.。-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ႆ\U0001ed80≯6.。-', strict=True) + + def test_uts46_6017(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-oyg968k7h74b..-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-oyg968k7h74b..-', strict=True) + + def test_uts46_6018(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--hmd482gqqb8730g.-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--hmd482gqqb8730g.-', strict=True) + + def test_uts46_6019(self): + self.assertRaises(idna.IDNAError, idna.decode, '឴.쮇-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '឴.쮇-', strict=True) + + def test_uts46_6020(self): + self.assertRaises(idna.IDNAError, idna.decode, '឴.쮇-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '឴.쮇-', strict=True) + + def test_uts46_6021(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn----938f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn----938f', strict=True) + + def test_uts46_6022(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--z3e.xn----938f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--z3e.xn----938f', strict=True) + + def test_uts46_6023(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𑓂。⒈-\U00100a9b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𑓂。⒈-\U00100a9b', strict=True) + + def test_uts46_6024(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200c𑓂。1.-\U00100a9b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200c𑓂。1.-\U00100a9b', strict=True) + + def test_uts46_6025(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wz1d.1.xn----rg03o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wz1d.1.xn----rg03o', strict=True) + + def test_uts46_6026(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugy057g.1.xn----rg03o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugy057g.1.xn----rg03o', strict=True) + + def test_uts46_6027(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wz1d.xn----dcp29674o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wz1d.xn----dcp29674o', strict=True) + + def test_uts46_6028(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0ugy057g.xn----dcp29674o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0ugy057g.xn----dcp29674o', strict=True) + + def test_uts46_6029(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒈ﺮ\u200c。⃩🖞\u200c𖬴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒈ﺮ\u200c。⃩🖞\u200c𖬴', strict=True) + + def test_uts46_6030(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.ر\u200c。⃩🖞\u200c𖬴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.ر\u200c。⃩🖞\u200c𖬴', strict=True) + + def test_uts46_6031(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--wgb.xn--c1g6021kg18c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--wgb.xn--c1g6021kg18c', strict=True) + + def test_uts46_6032(self): + self.assertRaises(idna.IDNAError, idna.decode, '1.xn--wgb253k.xn--0ugz6a8040fty5d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '1.xn--wgb253k.xn--0ugz6a8040fty5d', strict=True) + + def test_uts46_6033(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wgb746m.xn--c1g6021kg18c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wgb746m.xn--c1g6021kg18c', strict=True) + + def test_uts46_6034(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--wgb253kmfd.xn--0ugz6a8040fty5d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--wgb253kmfd.xn--0ugz6a8040fty5d', strict=True) + + def test_uts46_6035(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ccb47。𝟐ᮨߔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ccb47。𝟐ᮨߔ', strict=True) + + def test_uts46_6036(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000ccb47。2ᮨߔ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000ccb47。2ᮨߔ', strict=True) + + def test_uts46_6037(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--xm89d.xn--2-icd143m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--xm89d.xn--2-icd143m', strict=True) + + def test_uts46_6038(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﶏ\U000abcfa.ς\u200d𐹷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﶏ\U000abcfa.ς\u200d𐹷', strict=True) + + def test_uts46_6039(self): + self.assertRaises(idna.IDNAError, idna.decode, 'مخم\U000abcfa.ς\u200d𐹷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'مخم\U000abcfa.ς\u200d𐹷', strict=True) + + def test_uts46_6040(self): + self.assertRaises(idna.IDNAError, idna.decode, 'مخم\U000abcfa.Σ\u200d𐹷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'مخم\U000abcfa.Σ\u200d𐹷', strict=True) + + def test_uts46_6041(self): + self.assertRaises(idna.IDNAError, idna.decode, 'مخم\U000abcfa.σ\u200d𐹷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'مخم\U000abcfa.σ\u200d𐹷', strict=True) + + def test_uts46_6042(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tgb9bb64691z.xn--4xa6667k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tgb9bb64691z.xn--4xa6667k', strict=True) + + def test_uts46_6043(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tgb9bb64691z.xn--4xa895lrp7n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tgb9bb64691z.xn--4xa895lrp7n', strict=True) + + def test_uts46_6044(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--tgb9bb64691z.xn--3xa006lrp7n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--tgb9bb64691z.xn--3xa006lrp7n', strict=True) + + def test_uts46_6045(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﶏ\U000abcfa.Σ\u200d𐹷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﶏ\U000abcfa.Σ\u200d𐹷', strict=True) + + def test_uts46_6046(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﶏ\U000abcfa.σ\u200d𐹷', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﶏ\U000abcfa.σ\u200d𐹷', strict=True) + + def test_uts46_6047(self): + self.assertRaises(idna.IDNAError, idna.decode, '⒎ہ\u0605。꫶۵𐇽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⒎ہ\u0605。꫶۵𐇽', strict=True) + + def test_uts46_6048(self): + self.assertRaises(idna.IDNAError, idna.decode, '7.ہ\u0605。꫶۵𐇽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '7.ہ\u0605。꫶۵𐇽', strict=True) + + def test_uts46_6049(self): + self.assertRaises(idna.IDNAError, idna.decode, '7.xn--nfb98a.xn--imb3805fxt8b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '7.xn--nfb98a.xn--imb3805fxt8b', strict=True) + + def test_uts46_6050(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nfb98ai25e.xn--imb3805fxt8b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nfb98ai25e.xn--imb3805fxt8b', strict=True) + + def test_uts46_6051(self): + self.assertRaises(idna.IDNAError, idna.decode, '-ᡥ᠆\U000cdcad。\u0605ᩝ𐹡', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-ᡥ᠆\U000cdcad。\u0605ᩝ𐹡', strict=True) + + def test_uts46_6052(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----f3j6s87156i.xn--nfb035hoo2p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----f3j6s87156i.xn--nfb035hoo2p', strict=True) + + def test_uts46_6053(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d.ڽ٣֖', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d.ڽ٣֖', strict=True) + + def test_uts46_6054(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--hcb32bni', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--hcb32bni', strict=True) + + def test_uts46_6055(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug.xn--hcb32bni', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug.xn--hcb32bni', strict=True) + + def test_uts46_6056(self): + self.assertEqual(idna.decode('xn--hcb32bni', uts46=True, strict=True), 'ڽ٣֖') + self.assertEqual(idna.encode('xn--hcb32bni', uts46=True, strict=True), b'xn--hcb32bni') + + def test_uts46_6057(self): + self.assertEqual(idna.decode('ڽ٣֖', uts46=True, strict=True), 'ڽ٣֖') + self.assertEqual(idna.encode('ڽ٣֖', uts46=True, strict=True), b'xn--hcb32bni') + + def test_uts46_6058(self): + self.assertRaises(idna.IDNAError, idna.decode, '㒧۱.Ⴚٸ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㒧۱.Ⴚٸ\u200d', strict=True) + + def test_uts46_6059(self): + self.assertRaises(idna.IDNAError, idna.decode, '㒧۱.Ⴚيٴ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㒧۱.Ⴚيٴ\u200d', strict=True) + + def test_uts46_6060(self): + self.assertRaises(idna.IDNAError, idna.decode, '㒧۱.ⴚيٴ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㒧۱.ⴚيٴ\u200d', strict=True) + + def test_uts46_6061(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--emb715u.xn--mhb8fy26k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--emb715u.xn--mhb8fy26k', strict=True) + + def test_uts46_6062(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--emb715u.xn--mhb8f960g03l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--emb715u.xn--mhb8f960g03l', strict=True) + + def test_uts46_6063(self): + self.assertRaises(idna.IDNAError, idna.decode, '㒧۱.ⴚٸ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '㒧۱.ⴚٸ\u200d', strict=True) + + def test_uts46_6064(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--emb715u.xn--mhb8f817a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--emb715u.xn--mhb8f817a', strict=True) + + def test_uts46_6065(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--emb715u.xn--mhb8f817ao2p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--emb715u.xn--mhb8f817ao2p', strict=True) + + def test_uts46_6066(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྔꡋ-.-𖬴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྔꡋ-.-𖬴', strict=True) + + def test_uts46_6067(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ྔꡋ-.-𖬴', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ྔꡋ-.-𖬴', strict=True) + + def test_uts46_6068(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ukg9938i.xn----4u5m', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ukg9938i.xn----4u5m', strict=True) + + def test_uts46_6069(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007f4b3-⋢\u200c.标-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007f4b3-⋢\u200c.标-', strict=True) + + def test_uts46_6070(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007f4b3-⋢\u200c.标-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007f4b3-⋢\u200c.标-', strict=True) + + def test_uts46_6071(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007f4b3-⋢\u200c.标-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007f4b3-⋢\u200c.标-', strict=True) + + def test_uts46_6072(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007f4b3-⋢\u200c.标-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007f4b3-⋢\u200c.标-', strict=True) + + def test_uts46_6073(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----9mo67451g.xn----qj7b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----9mo67451g.xn----qj7b', strict=True) + + def test_uts46_6074(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----sgn90kn5663a.xn----qj7b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----sgn90kn5663a.xn----qj7b', strict=True) + + def test_uts46_6075(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٱ.ςߜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٱ.ςߜ', strict=True) + + def test_uts46_6076(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٱ.ςߜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٱ.ςߜ', strict=True) + + def test_uts46_6077(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٱ.Σߜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٱ.Σߜ', strict=True) + + def test_uts46_6078(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٱ.σߜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٱ.σߜ', strict=True) + + def test_uts46_6079(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qib.xn--4xa21s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qib.xn--4xa21s', strict=True) + + def test_uts46_6080(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--qib.xn--3xa41s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--qib.xn--3xa41s', strict=True) + + def test_uts46_6081(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٱ.Σߜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٱ.Σߜ', strict=True) + + def test_uts46_6082(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٱ.σߜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٱ.σߜ', strict=True) + + def test_uts46_6083(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007c236\u0605.ࣁ\u200d𑑂𱼱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007c236\u0605.ࣁ\u200d𑑂𱼱', strict=True) + + def test_uts46_6084(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007c236\u0605.ࣁ\u200d𑑂𱼱', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007c236\u0605.ࣁ\u200d𑑂𱼱', strict=True) + + def test_uts46_6085(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nfb17942h.xn--nzb6708kx3pn', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nfb17942h.xn--nzb6708kx3pn', strict=True) + + def test_uts46_6086(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nfb17942h.xn--nzb240jv06otevq', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nfb17942h.xn--nzb240jv06otevq', strict=True) + + def test_uts46_6087(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹾𐋩\U0001ed5c。᯲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹾𐋩\U0001ed5c。᯲', strict=True) + + def test_uts46_6088(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹾𐋩\U0001ed5c。᯲', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹾𐋩\U0001ed5c。᯲', strict=True) + + def test_uts46_6089(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--d97cn8rn44p.xn--0zf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--d97cn8rn44p.xn--0zf', strict=True) + + def test_uts46_6090(self): + self.assertRaises(idna.IDNAError, idna.decode, '6ᅠᰳ\U000e0e27.\U0009f70a锰ܬς', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '6ᅠᰳ\U000e0e27.\U0009f70a锰ܬς', strict=True) + + def test_uts46_6091(self): + self.assertRaises(idna.IDNAError, idna.decode, '6ᅠᰳ\U000e0e27.\U0009f70a锰ܬΣ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '6ᅠᰳ\U000e0e27.\U0009f70a锰ܬΣ', strict=True) + + def test_uts46_6092(self): + self.assertRaises(idna.IDNAError, idna.decode, '6ᅠᰳ\U000e0e27.\U0009f70a锰ܬσ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '6ᅠᰳ\U000e0e27.\U0009f70a锰ܬσ', strict=True) + + def test_uts46_6093(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-iuly4983p.xn--4xa95ohw6pk078g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-iuly4983p.xn--4xa95ohw6pk078g', strict=True) + + def test_uts46_6094(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-iuly4983p.xn--3xa16ohw6pk078g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-iuly4983p.xn--3xa16ohw6pk078g', strict=True) + + def test_uts46_6095(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-5bh476ewr517a.xn--4xa95ohw6pk078g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-5bh476ewr517a.xn--4xa95ohw6pk078g', strict=True) + + def test_uts46_6096(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-5bh476ewr517a.xn--3xa16ohw6pk078g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-5bh476ewr517a.xn--3xa16ohw6pk078g', strict=True) + + def test_uts46_6097(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڳ︄\U000453a6𝟽。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڳ︄\U000453a6𝟽。𐹽', strict=True) + + def test_uts46_6098(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ڳ︄\U000453a67。𐹽', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ڳ︄\U000453a67。𐹽', strict=True) + + def test_uts46_6099(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7-yuc34665f.xn--1o0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7-yuc34665f.xn--1o0d', strict=True) + + def test_uts46_6100(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001eba7.\u200c⫞', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001eba7.\u200c⫞', strict=True) + + def test_uts46_6101(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001eba7.\u200c⫞', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001eba7.\u200c⫞', strict=True) + + def test_uts46_6102(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pw6h.xn--53i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pw6h.xn--53i', strict=True) + + def test_uts46_6103(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pw6h.xn--0ug283b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pw6h.xn--0ug283b', strict=True) + + def test_uts46_6104(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\U00055274.۠ᢚ-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\U00055274.۠ᢚ-', strict=True) + + def test_uts46_6105(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----qi38c.xn----jxc827k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----qi38c.xn----jxc827k', strict=True) + + def test_uts46_6106(self): + self.assertRaises(idna.IDNAError, idna.decode, '⌁\u200d𑄴.\u200c𝟩٬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⌁\u200d𑄴.\u200c𝟩٬', strict=True) + + def test_uts46_6107(self): + self.assertRaises(idna.IDNAError, idna.decode, '⌁\u200d𑄴.\u200c7٬', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '⌁\u200d𑄴.\u200c7٬', strict=True) + + def test_uts46_6108(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nhh5394g.xn--7-xqc', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nhh5394g.xn--7-xqc', strict=True) + + def test_uts46_6109(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug38i2093a.xn--7-xqc297q', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug38i2093a.xn--7-xqc297q', strict=True) + + def test_uts46_6110(self): + self.assertRaises(idna.IDNAError, idna.decode, '︒ﴅืﻼ。岓᯲\U000e0f83ᡂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '︒ﴅืﻼ。岓᯲\U000e0f83ᡂ', strict=True) + + def test_uts46_6111(self): + self.assertRaises(idna.IDNAError, idna.decode, '。صىืلا。岓᯲\U000e0f83ᡂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '。صىืلا。岓᯲\U000e0f83ᡂ', strict=True) + + def test_uts46_6112(self): + self.assertRaises(idna.IDNAError, idna.decode, '.xn--mgb1a7bt462h.xn--17e10qe61f9r71s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '.xn--mgb1a7bt462h.xn--17e10qe61f9r71s', strict=True) + + def test_uts46_6113(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mgb1a7bt462hf267a.xn--17e10qe61f9r71s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mgb1a7bt462hf267a.xn--17e10qe61f9r71s', strict=True) + + def test_uts46_6114(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹨。8𑁆', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹨。8𑁆', strict=True) + + def test_uts46_6115(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--go0d.xn--8-yu7i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--go0d.xn--8-yu7i', strict=True) + + def test_uts46_6116(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞀕ൃ.ꡚࣺ𐹰ൄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞀕ൃ.ꡚࣺ𐹰ൄ', strict=True) + + def test_uts46_6117(self): + self.assertRaises(idna.IDNAError, idna.decode, '𞀕ൃ.ꡚࣺ𐹰ൄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𞀕ൃ.ꡚࣺ𐹰ൄ', strict=True) + + def test_uts46_6118(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--mxc5210v.xn--90b01t8u2p1ltd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--mxc5210v.xn--90b01t8u2p1ltd', strict=True) + + def test_uts46_6119(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c6a4f\U000109b9̃。\U000e0345', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c6a4f\U000109b9̃。\U000e0345', strict=True) + + def test_uts46_6120(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c6a4f\U000109b9̃。\U000e0345', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c6a4f\U000109b9̃。\U000e0345', strict=True) + + def test_uts46_6121(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--nsa1265kp9z9e.xn--xt36e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--nsa1265kp9z9e.xn--xt36e', strict=True) + + def test_uts46_6122(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢌ.-࡚', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢌ.-࡚', strict=True) + + def test_uts46_6123(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢌ.-࡚', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢌ.-࡚', strict=True) + + def test_uts46_6124(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--59e.xn----5jd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--59e.xn----5jd', strict=True) + + def test_uts46_6125(self): + self.assertRaises(idna.IDNAError, idna.decode, '𥛛𑘶。𐹬\U00010cb8்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𥛛𑘶。𐹬\U00010cb8்', strict=True) + + def test_uts46_6126(self): + self.assertRaises(idna.IDNAError, idna.decode, '𥛛𑘶。𐹬\U00010cb8்', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𥛛𑘶。𐹬\U00010cb8்', strict=True) + + def test_uts46_6127(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--jb2dj685c.xn--xmc5562kmcb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--jb2dj685c.xn--xmc5562kmcb', strict=True) + + def test_uts46_6128(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴐݿ.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴐݿ.\u200c', strict=True) + + def test_uts46_6129(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴐݿ.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴐݿ.\u200c', strict=True) + + def test_uts46_6130(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴐݿ.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴐݿ.\u200c', strict=True) + + def test_uts46_6131(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gqb743q.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gqb743q.', strict=True) + + def test_uts46_6132(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gqb743q.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gqb743q.xn--0ug', strict=True) + + def test_uts46_6133(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴐݿ.\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴐݿ.\u200c', strict=True) + + def test_uts46_6134(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gqb918b.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gqb918b.', strict=True) + + def test_uts46_6135(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gqb918b.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gqb918b.xn--0ug', strict=True) + + def test_uts46_6136(self): + self.assertRaises(idna.IDNAError, idna.decode, '🄅𑲞-⒈。\u200dᠩڥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '🄅𑲞-⒈。\u200dᠩڥ', strict=True) + + def test_uts46_6137(self): + self.assertRaises(idna.IDNAError, idna.decode, '4,𑲞-1.。\u200dᠩڥ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '4,𑲞-1.。\u200dᠩڥ', strict=True) + + def test_uts46_6138(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4,-1-w401a..xn--7jb180g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4,-1-w401a..xn--7jb180g', strict=True) + + def test_uts46_6139(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4,-1-w401a..xn--7jb180gexf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4,-1-w401a..xn--7jb180gexf', strict=True) + + def test_uts46_6140(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4,--je4aw745l.xn--7jb180g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4,--je4aw745l.xn--7jb180g', strict=True) + + def test_uts46_6141(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4,--je4aw745l.xn--7jb180gexf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4,--je4aw745l.xn--7jb180gexf', strict=True) + + def test_uts46_6142(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ecp8796hjtvg.xn--7jb180g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ecp8796hjtvg.xn--7jb180g', strict=True) + + def test_uts46_6143(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ecp8796hjtvg.xn--7jb180gexf', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ecp8796hjtvg.xn--7jb180gexf', strict=True) + + def test_uts46_6144(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00057024。𞤪\U000aefcb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00057024。𞤪\U000aefcb', strict=True) + + def test_uts46_6145(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00057024。𞤈\U000aefcb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00057024。𞤈\U000aefcb', strict=True) + + def test_uts46_6146(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4240a.xn--ie6h83808a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4240a.xn--ie6h83808a', strict=True) + + def test_uts46_6147(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ׁ۲。𐮊٬𝨊鄨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ׁ۲。𐮊٬𝨊鄨', strict=True) + + def test_uts46_6148(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ׁ۲。𐮊٬𝨊鄨', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ׁ۲。𐮊٬𝨊鄨', strict=True) + + def test_uts46_6149(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pdb42d.xn--lib6412enztdwv6h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pdb42d.xn--lib6412enztdwv6h', strict=True) + + def test_uts46_6150(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0001eb73-ꡁ。ᩩ்-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0001eb73-ꡁ。ᩩ்-', strict=True) + + def test_uts46_6151(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----be4e4276f.xn----lze333i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----be4e4276f.xn----lze333i', strict=True) + + def test_uts46_6152(self): + self.assertRaises(idna.IDNAError, idna.decode, '္-\U0001abad🞢.ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '္-\U0001abad🞢.ß', strict=True) + + def test_uts46_6153(self): + self.assertRaises(idna.IDNAError, idna.decode, '္-\U0001abad🞢.ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '္-\U0001abad🞢.ß', strict=True) + + def test_uts46_6154(self): + self.assertRaises(idna.IDNAError, idna.decode, '္-\U0001abad🞢.SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '္-\U0001abad🞢.SS', strict=True) + + def test_uts46_6155(self): + self.assertRaises(idna.IDNAError, idna.decode, '္-\U0001abad🞢.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '္-\U0001abad🞢.ss', strict=True) + + def test_uts46_6156(self): + self.assertRaises(idna.IDNAError, idna.decode, '္-\U0001abad🞢.Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '္-\U0001abad🞢.Ss', strict=True) + + def test_uts46_6157(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----9tg11172akr8b.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----9tg11172akr8b.ss', strict=True) + + def test_uts46_6158(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----9tg11172akr8b.xn--zca', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----9tg11172akr8b.xn--zca', strict=True) + + def test_uts46_6159(self): + self.assertRaises(idna.IDNAError, idna.decode, '္-\U0001abad🞢.SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '္-\U0001abad🞢.SS', strict=True) + + def test_uts46_6160(self): + self.assertRaises(idna.IDNAError, idna.decode, '္-\U0001abad🞢.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '္-\U0001abad🞢.ss', strict=True) + + def test_uts46_6161(self): + self.assertRaises(idna.IDNAError, idna.decode, '္-\U0001abad🞢.Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '္-\U0001abad🞢.Ss', strict=True) + + def test_uts46_6162(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﳲ-\u200c。Ⴟ\u200c␣', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﳲ-\u200c。Ⴟ\u200c␣', strict=True) + + def test_uts46_6163(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ـَّ-\u200c。Ⴟ\u200c␣', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ـَّ-\u200c。Ⴟ\u200c␣', strict=True) + + def test_uts46_6164(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ـَّ-\u200c。ⴟ\u200c␣', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ـَّ-\u200c。ⴟ\u200c␣', strict=True) + + def test_uts46_6165(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----eoc6bm.xn--xph904a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----eoc6bm.xn--xph904a', strict=True) + + def test_uts46_6166(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----eoc6bm0504a.xn--0ug13nd0j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----eoc6bm0504a.xn--0ug13nd0j', strict=True) + + def test_uts46_6167(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ﳲ-\u200c。ⴟ\u200c␣', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ﳲ-\u200c。ⴟ\u200c␣', strict=True) + + def test_uts46_6168(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----eoc6bm.xn--3nd240h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----eoc6bm.xn--3nd240h', strict=True) + + def test_uts46_6169(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----eoc6bm0504a.xn--3nd849e05c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----eoc6bm0504a.xn--3nd849e05c', strict=True) + + def test_uts46_6170(self): + self.assertRaises(idna.IDNAError, idna.decode, '്-\u200d\u200c。\U000657a7₅≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '്-\u200d\u200c。\U000657a7₅≠', strict=True) + + def test_uts46_6171(self): + self.assertRaises(idna.IDNAError, idna.decode, '്-\u200d\u200c。\U000657a7₅≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '്-\u200d\u200c。\U000657a7₅≠', strict=True) + + def test_uts46_6172(self): + self.assertRaises(idna.IDNAError, idna.decode, '്-\u200d\u200c。\U000657a75≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '്-\u200d\u200c。\U000657a75≠', strict=True) + + def test_uts46_6173(self): + self.assertRaises(idna.IDNAError, idna.decode, '്-\u200d\u200c。\U000657a75≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '്-\u200d\u200c。\U000657a75≠', strict=True) + + def test_uts46_6174(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----jmf.xn--5-ufo50192e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----jmf.xn--5-ufo50192e', strict=True) + + def test_uts46_6175(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----jmf215lda.xn--5-ufo50192e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----jmf215lda.xn--5-ufo50192e', strict=True) + + def test_uts46_6176(self): + self.assertRaises(idna.IDNAError, idna.decode, '锣。੍\U000e063b\U000e0686', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '锣。੍\U000e063b\U000e0686', strict=True) + + def test_uts46_6177(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gc5a.xn--ybc83044ppga', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gc5a.xn--ybc83044ppga', strict=True) + + def test_uts46_6178(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ؽ𑈾.ى\u200d꤫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ؽ𑈾.ى\u200d꤫', strict=True) + + def test_uts46_6179(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ؽ𑈾.ى\u200d꤫', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ؽ𑈾.ى\u200d꤫', strict=True) + + def test_uts46_6180(self): + self.assertEqual(idna.decode('xn--8gb2338k.xn--lhb0154f', uts46=True, strict=True), 'ؽ𑈾.ى꤫') + self.assertEqual(idna.encode('xn--8gb2338k.xn--lhb0154f', uts46=True, strict=True), b'xn--8gb2338k.xn--lhb0154f') + + def test_uts46_6181(self): + self.assertEqual(idna.decode('ؽ𑈾.ى꤫', uts46=True, strict=True), 'ؽ𑈾.ى꤫') + self.assertEqual(idna.encode('ؽ𑈾.ى꤫', uts46=True, strict=True), b'xn--8gb2338k.xn--lhb0154f') + + def test_uts46_6182(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8gb2338k.xn--lhb603k060h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8gb2338k.xn--lhb603k060h', strict=True) + + def test_uts46_6183(self): + self.assertRaises(idna.IDNAError, idna.decode, '٦⁴Ⴅ.ࢽ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٦⁴Ⴅ.ࢽ\u200c', strict=True) + + def test_uts46_6184(self): + self.assertRaises(idna.IDNAError, idna.decode, '٦4Ⴅ.ࢽ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٦4Ⴅ.ࢽ\u200c', strict=True) + + def test_uts46_6185(self): + self.assertRaises(idna.IDNAError, idna.decode, '٦4ⴅ.ࢽ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٦4ⴅ.ࢽ\u200c', strict=True) + + def test_uts46_6186(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-kqc6770a.xn--jzb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-kqc6770a.xn--jzb', strict=True) + + def test_uts46_6187(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-kqc6770a.xn--jzb840j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-kqc6770a.xn--jzb840j', strict=True) + + def test_uts46_6188(self): + self.assertRaises(idna.IDNAError, idna.decode, '٦⁴ⴅ.ࢽ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '٦⁴ⴅ.ࢽ\u200c', strict=True) + + def test_uts46_6189(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-kqc489e.xn--jzb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-kqc489e.xn--jzb', strict=True) + + def test_uts46_6190(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4-kqc489e.xn--jzb840j', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4-kqc489e.xn--jzb840j', strict=True) + + def test_uts46_6191(self): + self.assertEqual(idna.decode('ჁႱ6̘。ßᬃ', uts46=True, strict=True), 'ⴡⴑ6̘.ßᬃ') + self.assertEqual(idna.encode('ჁႱ6̘。ßᬃ', uts46=True, strict=True), b'xn--6-8cb7433a2ba.xn--zca894k') + + def test_uts46_6192(self): + self.assertEqual(idna.decode('ⴡⴑ6̘。ßᬃ', uts46=True, strict=True), 'ⴡⴑ6̘.ßᬃ') + self.assertEqual(idna.encode('ⴡⴑ6̘。ßᬃ', uts46=True, strict=True), b'xn--6-8cb7433a2ba.xn--zca894k') + + def test_uts46_6193(self): + self.assertEqual(idna.decode('ჁႱ6̘。SSᬃ', uts46=True, strict=True), 'ⴡⴑ6̘.ssᬃ') + self.assertEqual(idna.encode('ჁႱ6̘。SSᬃ', uts46=True, strict=True), b'xn--6-8cb7433a2ba.xn--ss-2vq') + + def test_uts46_6194(self): + self.assertEqual(idna.decode('ⴡⴑ6̘。ssᬃ', uts46=True, strict=True), 'ⴡⴑ6̘.ssᬃ') + self.assertEqual(idna.encode('ⴡⴑ6̘。ssᬃ', uts46=True, strict=True), b'xn--6-8cb7433a2ba.xn--ss-2vq') + + def test_uts46_6195(self): + self.assertEqual(idna.decode('Ⴡⴑ6̘。Ssᬃ', uts46=True, strict=True), 'ⴡⴑ6̘.ssᬃ') + self.assertEqual(idna.encode('Ⴡⴑ6̘。Ssᬃ', uts46=True, strict=True), b'xn--6-8cb7433a2ba.xn--ss-2vq') + + def test_uts46_6196(self): + self.assertEqual(idna.decode('xn--6-8cb7433a2ba.xn--ss-2vq', uts46=True, strict=True), 'ⴡⴑ6̘.ssᬃ') + self.assertEqual(idna.encode('xn--6-8cb7433a2ba.xn--ss-2vq', uts46=True, strict=True), b'xn--6-8cb7433a2ba.xn--ss-2vq') + + def test_uts46_6197(self): + self.assertEqual(idna.decode('ⴡⴑ6̘.ssᬃ', uts46=True, strict=True), 'ⴡⴑ6̘.ssᬃ') + self.assertEqual(idna.encode('ⴡⴑ6̘.ssᬃ', uts46=True, strict=True), b'xn--6-8cb7433a2ba.xn--ss-2vq') + + def test_uts46_6198(self): + self.assertEqual(idna.decode('ჁႱ6̘.SSᬃ', uts46=True, strict=True), 'ⴡⴑ6̘.ssᬃ') + self.assertEqual(idna.encode('ჁႱ6̘.SSᬃ', uts46=True, strict=True), b'xn--6-8cb7433a2ba.xn--ss-2vq') + + def test_uts46_6199(self): + self.assertEqual(idna.decode('Ⴡⴑ6̘.Ssᬃ', uts46=True, strict=True), 'ⴡⴑ6̘.ssᬃ') + self.assertEqual(idna.encode('Ⴡⴑ6̘.Ssᬃ', uts46=True, strict=True), b'xn--6-8cb7433a2ba.xn--ss-2vq') + + def test_uts46_6200(self): + self.assertEqual(idna.decode('xn--6-8cb7433a2ba.xn--zca894k', uts46=True, strict=True), 'ⴡⴑ6̘.ßᬃ') + self.assertEqual(idna.encode('xn--6-8cb7433a2ba.xn--zca894k', uts46=True, strict=True), b'xn--6-8cb7433a2ba.xn--zca894k') + + def test_uts46_6201(self): + self.assertEqual(idna.decode('ⴡⴑ6̘.ßᬃ', uts46=True, strict=True), 'ⴡⴑ6̘.ßᬃ') + self.assertEqual(idna.encode('ⴡⴑ6̘.ßᬃ', uts46=True, strict=True), b'xn--6-8cb7433a2ba.xn--zca894k') + + def test_uts46_6202(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-8cb306hms1a.xn--ss-2vq', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-8cb306hms1a.xn--ss-2vq', strict=True) + + def test_uts46_6203(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-8cb555h2b.xn--ss-2vq', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-8cb555h2b.xn--ss-2vq', strict=True) + + def test_uts46_6204(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--6-8cb555h2b.xn--zca894k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--6-8cb555h2b.xn--zca894k', strict=True) + + def test_uts46_6205(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0008b850。≯𑋪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0008b850。≯𑋪', strict=True) + + def test_uts46_6206(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0008b850。≯𑋪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0008b850。≯𑋪', strict=True) + + def test_uts46_6207(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0008b850。≯𑋪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0008b850。≯𑋪', strict=True) + + def test_uts46_6208(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0008b850。≯𑋪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0008b850。≯𑋪', strict=True) + + def test_uts46_6209(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--eo08b.xn--hdh3385g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--eo08b.xn--hdh3385g', strict=True) + + def test_uts46_6210(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ٚ۲。\u200c-᯳\u08e2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ٚ۲。\u200c-᯳\u08e2', strict=True) + + def test_uts46_6211(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2hb81a.xn----xrd657l', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2hb81a.xn----xrd657l', strict=True) + + def test_uts46_6212(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2hb81a.xn----xrd657l30d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2hb81a.xn----xrd657l30d', strict=True) + + def test_uts46_6213(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄏𖬴\U000e0cbd。ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄏𖬴\U000e0cbd。ᅠ', strict=True) + + def test_uts46_6214(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠄏𖬴\U000e0cbd。ᅠ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠄏𖬴\U000e0cbd。ᅠ', strict=True) + + def test_uts46_6215(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--619ep9154c.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--619ep9154c.', strict=True) + + def test_uts46_6216(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--619ep9154c.xn--psd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--619ep9154c.xn--psd', strict=True) + + def test_uts46_6217(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--619ep9154c.xn--cl7c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--619ep9154c.xn--cl7c', strict=True) + + def test_uts46_6218(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß⒈ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß⒈ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + + def test_uts46_6219(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ß1.ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ß1.ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + + def test_uts46_6220(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS1.ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS1.ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + + def test_uts46_6221(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss1.ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss1.ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + + def test_uts46_6222(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss1.ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss1.ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + + def test_uts46_6223(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss1.xn--kpb6677h.xn--nfb09923ifkyyb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss1.xn--kpb6677h.xn--nfb09923ifkyyb', strict=True) + + def test_uts46_6224(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-pfa.xn--kpb6677h.xn--nfb09923ifkyyb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-pfa.xn--kpb6677h.xn--nfb09923ifkyyb', strict=True) + + def test_uts46_6225(self): + self.assertRaises(idna.IDNAError, idna.decode, 'SS⒈ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'SS⒈ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + + def test_uts46_6226(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ss⒈ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ss⒈ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + + def test_uts46_6227(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ss⒈ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ss⒈ݠ\ud7ae.\U001095b2󠅄\u0605\U0008952f', strict=True) + + def test_uts46_6228(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ss-6ke9690a0g1q.xn--nfb09923ifkyyb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ss-6ke9690a0g1q.xn--nfb09923ifkyyb', strict=True) + + def test_uts46_6229(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--zca444a0s1ao12n.xn--nfb09923ifkyyb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--zca444a0s1ao12n.xn--nfb09923ifkyyb', strict=True) + + def test_uts46_6230(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0b54.𐋱₂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0b54.𐋱₂', strict=True) + + def test_uts46_6231(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0b54.𐋱2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0b54.𐋱2', strict=True) + + def test_uts46_6232(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--vi56e.xn--2-w91i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--vi56e.xn--2-w91i', strict=True) + + def test_uts46_6233(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܖे。-ßڥ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܖे。-ßڥ\u200c', strict=True) + + def test_uts46_6234(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܖे。-SSڥ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܖे。-SSڥ\u200c', strict=True) + + def test_uts46_6235(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܖे。-ssڥ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܖे。-ssڥ\u200c', strict=True) + + def test_uts46_6236(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ܖे。-Ssڥ\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ܖे。-Ssڥ\u200c', strict=True) + + def test_uts46_6237(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gnb63i.xn---ss-4ef', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gnb63i.xn---ss-4ef', strict=True) + + def test_uts46_6238(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gnb63i.xn---ss-4ef9263a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gnb63i.xn---ss-4ef9263a', strict=True) + + def test_uts46_6239(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gnb63i.xn----qfa845bhx4a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gnb63i.xn----qfa845bhx4a', strict=True) + + def test_uts46_6240(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᮩ\u200dت\U00061688.᳕䷉Ⴡ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᮩ\u200dت\U00061688.᳕䷉Ⴡ', strict=True) + + def test_uts46_6241(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᮩ\u200dت\U00061688.᳕䷉Ⴡ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᮩ\u200dت\U00061688.᳕䷉Ⴡ', strict=True) + + def test_uts46_6242(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᮩ\u200dت\U00061688.᳕䷉ⴡ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᮩ\u200dت\U00061688.᳕䷉ⴡ', strict=True) + + def test_uts46_6243(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pgb911izv33i.xn--i6f270etuy', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pgb911izv33i.xn--i6f270etuy', strict=True) + + def test_uts46_6244(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pgb911imgdrw34r.xn--i6f270etuy', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pgb911imgdrw34r.xn--i6f270etuy', strict=True) + + def test_uts46_6245(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᮩ\u200dت\U00061688.᳕䷉ⴡ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᮩ\u200dت\U00061688.᳕䷉ⴡ', strict=True) + + def test_uts46_6246(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pgb911izv33i.xn--5nd792dgv3b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pgb911izv33i.xn--5nd792dgv3b', strict=True) + + def test_uts46_6247(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--pgb911imgdrw34r.xn--5nd792dgv3b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--pgb911imgdrw34r.xn--5nd792dgv3b', strict=True) + + def test_uts46_6248(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u2dbf.ß\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u2dbf.ß\u200d', strict=True) + + def test_uts46_6249(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u2dbf.SS\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u2dbf.SS\u200d', strict=True) + + def test_uts46_6250(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u2dbf.ss\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u2dbf.ss\u200d', strict=True) + + def test_uts46_6251(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u2dbf.Ss\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u2dbf.Ss\u200d', strict=True) + + def test_uts46_6252(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7pj.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7pj.ss', strict=True) + + def test_uts46_6253(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7pj.xn--ss-n1t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7pj.xn--ss-n1t', strict=True) + + def test_uts46_6254(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7pj.xn--zca870n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7pj.xn--zca870n', strict=True) + + def test_uts46_6255(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯳︒.ت≯ꡂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯳︒.ت≯ꡂ', strict=True) + + def test_uts46_6256(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯳︒.ت≯ꡂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯳︒.ت≯ꡂ', strict=True) + + def test_uts46_6257(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯳。.ت≯ꡂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯳。.ت≯ꡂ', strict=True) + + def test_uts46_6258(self): + self.assertRaises(idna.IDNAError, idna.decode, '᯳。.ت≯ꡂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '᯳。.ت≯ꡂ', strict=True) + + def test_uts46_6259(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1zf..xn--pgb885lry5g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1zf..xn--pgb885lry5g', strict=True) + + def test_uts46_6260(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1zf8957g.xn--pgb885lry5g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1zf8957g.xn--pgb885lry5g', strict=True) + + def test_uts46_6261(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮≠\U0004fec3。-𫠆ڷ𐹪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮≠\U0004fec3。-𫠆ڷ𐹪', strict=True) + + def test_uts46_6262(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮≠\U0004fec3。-𫠆ڷ𐹪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮≠\U0004fec3。-𫠆ڷ𐹪', strict=True) + + def test_uts46_6263(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮≠\U0004fec3。-𫠆ڷ𐹪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮≠\U0004fec3。-𫠆ڷ𐹪', strict=True) + + def test_uts46_6264(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮≠\U0004fec3。-𫠆ڷ𐹪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮≠\U0004fec3。-𫠆ڷ𐹪', strict=True) + + def test_uts46_6265(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ch1a29470f.xn----7uc5363rc1rn', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ch1a29470f.xn----7uc5363rc1rn', strict=True) + + def test_uts46_6266(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹡ݷ。ꡂ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹡ݷ。ꡂ', strict=True) + + def test_uts46_6267(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7pb5275k.xn--bc9a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7pb5275k.xn--bc9a', strict=True) + + def test_uts46_6268(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴉ𝆅\U00054ec5ؙ.ß𐧦𐹳ݵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴉ𝆅\U00054ec5ؙ.ß𐧦𐹳ݵ', strict=True) + + def test_uts46_6269(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴉ𝆅\U00054ec5ؙ.ß𐧦𐹳ݵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴉ𝆅\U00054ec5ؙ.ß𐧦𐹳ݵ', strict=True) + + def test_uts46_6270(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴉ𝆅\U00054ec5ؙ.SS𐧦𐹳ݵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴉ𝆅\U00054ec5ؙ.SS𐧦𐹳ݵ', strict=True) + + def test_uts46_6271(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ⴉ𝆅\U00054ec5ؙ.ss𐧦𐹳ݵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ⴉ𝆅\U00054ec5ؙ.ss𐧦𐹳ݵ', strict=True) + + def test_uts46_6272(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Ⴉ𝆅\U00054ec5ؙ.Ss𐧦𐹳ݵ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Ⴉ𝆅\U00054ec5ؙ.Ss𐧦𐹳ݵ', strict=True) + + def test_uts46_6273(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7fb940rwt3z7xvz.xn--ss-zme7575xp0e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7fb940rwt3z7xvz.xn--ss-zme7575xp0e', strict=True) + + def test_uts46_6274(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7fb940rwt3z7xvz.xn--zca684a699vf2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7fb940rwt3z7xvz.xn--zca684a699vf2d', strict=True) + + def test_uts46_6275(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7fb125cjv87a7xvz.xn--ss-zme7575xp0e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7fb125cjv87a7xvz.xn--ss-zme7575xp0e', strict=True) + + def test_uts46_6276(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7fb125cjv87a7xvz.xn--zca684a699vf2d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7fb125cjv87a7xvz.xn--zca684a699vf2d', strict=True) + + def test_uts46_6277(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200dك𐧾↙.\U0004af61', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200dك𐧾↙.\U0004af61', strict=True) + + def test_uts46_6278(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fhb011lnp8n.xn--7s4w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fhb011lnp8n.xn--7s4w', strict=True) + + def test_uts46_6279(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fhb713k87ag053c.xn--7s4w', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fhb713k87ag053c.xn--7s4w', strict=True) + + def test_uts46_6280(self): + self.assertRaises(idna.IDNAError, idna.decode, '梉。\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '梉。\u200c', strict=True) + + def test_uts46_6283(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--7zv.xn--0ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--7zv.xn--0ug', strict=True) + + def test_uts46_6284(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡣ-≠.\u200d𞤗𐅢Ↄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡣ-≠.\u200d𞤗𐅢Ↄ', strict=True) + + def test_uts46_6285(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡣ-≠.\u200d𞤗𐅢Ↄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡣ-≠.\u200d𞤗𐅢Ↄ', strict=True) + + def test_uts46_6286(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡣ-≠.\u200d𞤹𐅢ↄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡣ-≠.\u200d𞤹𐅢ↄ', strict=True) + + def test_uts46_6287(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡣ-≠.\u200d𞤹𐅢ↄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡣ-≠.\u200d𞤹𐅢ↄ', strict=True) + + def test_uts46_6288(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡣ-≠.\u200d𞤗𐅢ↄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡣ-≠.\u200d𞤗𐅢ↄ', strict=True) + + def test_uts46_6289(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꡣ-≠.\u200d𞤗𐅢ↄ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꡣ-≠.\u200d𞤗𐅢ↄ', strict=True) + + def test_uts46_6290(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ufo9661d.xn--r5gy929fhm4f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ufo9661d.xn--r5gy929fhm4f', strict=True) + + def test_uts46_6291(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ufo9661d.xn--1ug99cj620c71sh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ufo9661d.xn--1ug99cj620c71sh', strict=True) + + def test_uts46_6292(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ufo9661d.xn--q5g0929fhm4f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ufo9661d.xn--q5g0929fhm4f', strict=True) + + def test_uts46_6293(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ufo9661d.xn--1ug79cm620c71sh', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ufo9661d.xn--1ug79cm620c71sh', strict=True) + + def test_uts46_6294(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς⒐𝆫⸵。\U00010c62🄊𝟳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς⒐𝆫⸵。\U00010c62🄊𝟳', strict=True) + + def test_uts46_6295(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς9.𝆫⸵。\U00010c629,7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς9.𝆫⸵。\U00010c629,7', strict=True) + + def test_uts46_6296(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ9.𝆫⸵。\U00010c629,7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ9.𝆫⸵。\U00010c629,7', strict=True) + + def test_uts46_6297(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ9.𝆫⸵。\U00010c629,7', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ9.𝆫⸵。\U00010c629,7', strict=True) + + def test_uts46_6298(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-zmb.xn--ltj1535k.xn--9,7-r67t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-zmb.xn--ltj1535k.xn--9,7-r67t', strict=True) + + def test_uts46_6299(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--9-xmb.xn--ltj1535k.xn--9,7-r67t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--9-xmb.xn--ltj1535k.xn--9,7-r67t', strict=True) + + def test_uts46_6300(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ⒐𝆫⸵。\U00010c62🄊𝟳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ⒐𝆫⸵。\U00010c62🄊𝟳', strict=True) + + def test_uts46_6301(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ⒐𝆫⸵。\U00010c62🄊𝟳', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ⒐𝆫⸵。\U00010c62🄊𝟳', strict=True) + + def test_uts46_6302(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa809nwtghi25b.xn--9,7-r67t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa809nwtghi25b.xn--9,7-r67t', strict=True) + + def test_uts46_6303(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa019nwtghi25b.xn--9,7-r67t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa019nwtghi25b.xn--9,7-r67t', strict=True) + + def test_uts46_6304(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa809nwtghi25b.xn--7-075iy877c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa809nwtghi25b.xn--7-075iy877c', strict=True) + + def test_uts46_6305(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa019nwtghi25b.xn--7-075iy877c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa019nwtghi25b.xn--7-075iy877c', strict=True) + + def test_uts46_6306(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡓ.\u200cß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡓ.\u200cß', strict=True) + + def test_uts46_6307(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡓ.\u200cß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡓ.\u200cß', strict=True) + + def test_uts46_6308(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡓ.\u200cSS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡓ.\u200cSS', strict=True) + + def test_uts46_6309(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡓ.\u200css', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡓ.\u200css', strict=True) + + def test_uts46_6310(self): + self.assertEqual(idna.decode('xn--iwb.ss', uts46=True, strict=True), 'ࡓ.ss') + self.assertEqual(idna.encode('xn--iwb.ss', uts46=True, strict=True), b'xn--iwb.ss') + + def test_uts46_6311(self): + self.assertEqual(idna.decode('ࡓ.ss', uts46=True, strict=True), 'ࡓ.ss') + self.assertEqual(idna.encode('ࡓ.ss', uts46=True, strict=True), b'xn--iwb.ss') + + def test_uts46_6312(self): + self.assertEqual(idna.decode('ࡓ.SS', uts46=True, strict=True), 'ࡓ.ss') + self.assertEqual(idna.encode('ࡓ.SS', uts46=True, strict=True), b'xn--iwb.ss') + + def test_uts46_6313(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--iwb.xn--ss-i1t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--iwb.xn--ss-i1t', strict=True) + + def test_uts46_6314(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--iwb.xn--zca570n', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--iwb.xn--zca570n', strict=True) + + def test_uts46_6315(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡓ.\u200cSS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡓ.\u200cSS', strict=True) + + def test_uts46_6316(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡓ.\u200css', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡓ.\u200css', strict=True) + + def test_uts46_6317(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡓ.\u200cSs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡓ.\u200cSs', strict=True) + + def test_uts46_6318(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ࡓ.\u200cSs', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ࡓ.\u200cSs', strict=True) + + def test_uts46_6319(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0006fda3-.\u200dݎꥍ\U000e0ee8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0006fda3-.\u200dݎꥍ\U000e0ee8', strict=True) + + def test_uts46_6320(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----s116e.xn--1ob6504fmf40i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----s116e.xn--1ob6504fmf40i', strict=True) + + def test_uts46_6321(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----s116e.xn--1ob387jy90hq459k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----s116e.xn--1ob387jy90hq459k', strict=True) + + def test_uts46_6322(self): + self.assertRaises(idna.IDNAError, idna.decode, '䃚蟥-。-\U0007d498⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䃚蟥-。-\U0007d498⒈', strict=True) + + def test_uts46_6323(self): + self.assertRaises(idna.IDNAError, idna.decode, '䃚蟥-。-\U0007d4981.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '䃚蟥-。-\U0007d4981.', strict=True) + + def test_uts46_6324(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----n50a258u.xn---1-up07j.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----n50a258u.xn---1-up07j.', strict=True) + + def test_uts46_6325(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----n50a258u.xn----ecp33805f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----n50a258u.xn----ecp33805f', strict=True) + + def test_uts46_6326(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹸䚵-ꡡ。⺇', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹸䚵-ꡡ。⺇', strict=True) + + def test_uts46_6327(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----bm3an932a1l5d.xn--xvj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----bm3an932a1l5d.xn--xvj', strict=True) + + def test_uts46_6328(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑄳。\u1adc𐹻', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑄳。\u1adc𐹻', strict=True) + + def test_uts46_6329(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--v80d.xn--2rf1154i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--v80d.xn--2rf1154i', strict=True) + + def test_uts46_6330(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𐹻.⒎𑂵ں\u0602', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𐹻.⒎𑂵ں\u0602', strict=True) + + def test_uts46_6331(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𐹻.⒎𑂵ں\u0602', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𐹻.⒎𑂵ں\u0602', strict=True) + + def test_uts46_6332(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𐹻.7.𑂵ں\u0602', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𐹻.7.𑂵ں\u0602', strict=True) + + def test_uts46_6333(self): + self.assertRaises(idna.IDNAError, idna.decode, '≮𐹻.7.𑂵ں\u0602', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≮𐹻.7.𑂵ں\u0602', strict=True) + + def test_uts46_6334(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdhx904g.7.xn--kfb18an307d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdhx904g.7.xn--kfb18an307d', strict=True) + + def test_uts46_6335(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdhx904g.xn--kfb18a325efm3s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdhx904g.xn--kfb18a325efm3s', strict=True) + + def test_uts46_6336(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢔ≠\U0010b242.\u200d𐋢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢔ≠\U0010b242.\u200d𐋢', strict=True) + + def test_uts46_6337(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ᢔ≠\U0010b242.\u200d𐋢', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ᢔ≠\U0010b242.\u200d𐋢', strict=True) + + def test_uts46_6338(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ebf031cf7196a.xn--587c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ebf031cf7196a.xn--587c', strict=True) + + def test_uts46_6339(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ebf031cf7196a.xn--1ug9540g', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ebf031cf7196a.xn--1ug9540g', strict=True) + + def test_uts46_6340(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩁≮\U0006329b≯.٬\U0001ed55⳿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩁≮\U0006329b≯.٬\U0001ed55⳿', strict=True) + + def test_uts46_6341(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩁≮\U0006329b≯.٬\U0001ed55⳿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩁≮\U0006329b≯.٬\U0001ed55⳿', strict=True) + + def test_uts46_6342(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩁≮\U0006329b≯.٬\U0001ed55⳿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩁≮\U0006329b≯.٬\U0001ed55⳿', strict=True) + + def test_uts46_6343(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐩁≮\U0006329b≯.٬\U0001ed55⳿', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐩁≮\U0006329b≯.٬\U0001ed55⳿', strict=True) + + def test_uts46_6344(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdhc0519o0y27b.xn--lib468q0d21a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdhc0519o0y27b.xn--lib468q0d21a', strict=True) + + def test_uts46_6345(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。⺐', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。⺐', strict=True) + + def test_uts46_6346(self): + self.assertRaises(idna.IDNAError, idna.decode, '-。⺐', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-。⺐', strict=True) + + def test_uts46_6347(self): + self.assertRaises(idna.IDNAError, idna.decode, '-.xn--6vj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-.xn--6vj', strict=True) + + def test_uts46_6348(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0c29𑲬.ٜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0c29𑲬.ٜ', strict=True) + + def test_uts46_6349(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000e0c29𑲬.ٜ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000e0c29𑲬.ٜ', strict=True) + + def test_uts46_6350(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--sn3d59267c.xn--4hb', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--sn3d59267c.xn--4hb', strict=True) + + def test_uts46_6351(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐍺.\U0005a1c3\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐍺.\U0005a1c3\u200c', strict=True) + + def test_uts46_6352(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ie8c.xn--2g51a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ie8c.xn--2g51a', strict=True) + + def test_uts46_6353(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--ie8c.xn--0ug03366c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--ie8c.xn--0ug03366c', strict=True) + + def test_uts46_6354(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ؽۣ.𐨎', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ؽۣ.𐨎', strict=True) + + def test_uts46_6355(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8gb64a.xn--mr9c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8gb64a.xn--mr9c', strict=True) + + def test_uts46_6356(self): + self.assertRaises(idna.IDNAError, idna.decode, '漦Ⴙς.\U00061ec0𐴄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '漦Ⴙς.\U00061ec0𐴄', strict=True) + + def test_uts46_6357(self): + self.assertRaises(idna.IDNAError, idna.decode, '漦ⴙς.\U00061ec0𐴄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '漦ⴙς.\U00061ec0𐴄', strict=True) + + def test_uts46_6358(self): + self.assertRaises(idna.IDNAError, idna.decode, '漦ႹΣ.\U00061ec0𐴄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '漦ႹΣ.\U00061ec0𐴄', strict=True) + + def test_uts46_6359(self): + self.assertRaises(idna.IDNAError, idna.decode, '漦ⴙσ.\U00061ec0𐴄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '漦ⴙσ.\U00061ec0𐴄', strict=True) + + def test_uts46_6360(self): + self.assertRaises(idna.IDNAError, idna.decode, '漦Ⴙσ.\U00061ec0𐴄', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '漦Ⴙσ.\U00061ec0𐴄', strict=True) + + def test_uts46_6361(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa772sl47b.xn--9d0d3162t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa772sl47b.xn--9d0d3162t', strict=True) + + def test_uts46_6362(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa972sl47b.xn--9d0d3162t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa972sl47b.xn--9d0d3162t', strict=True) + + def test_uts46_6363(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa947d717e.xn--9d0d3162t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa947d717e.xn--9d0d3162t', strict=True) + + def test_uts46_6364(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa157d717e.xn--9d0d3162t', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa157d717e.xn--9d0d3162t', strict=True) + + def test_uts46_6365(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹫踧್\U000ab687.\U000dc003⒈𝨤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹫踧್\U000ab687.\U000dc003⒈𝨤', strict=True) + + def test_uts46_6366(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐹫踧್\U000ab687.\U000dc0031.𝨤', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐹫踧್\U000ab687.\U000dc0031.𝨤', strict=True) + + def test_uts46_6367(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8tc1437dro0d6q06h.xn--1-p948l.xn--m82h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8tc1437dro0d6q06h.xn--1-p948l.xn--m82h', strict=True) + + def test_uts46_6368(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8tc1437dro0d6q06h.xn--tsh2611ncu71e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8tc1437dro0d6q06h.xn--tsh2611ncu71e', strict=True) + + def test_uts46_6369(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d≮.\U000e07ea\U00039acf-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d≮.\U000e07ea\U00039acf-', strict=True) + + def test_uts46_6370(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d≮.\U000e07ea\U00039acf-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d≮.\U000e07ea\U00039acf-', strict=True) + + def test_uts46_6371(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d≮.\U000e07ea\U00039acf-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d≮.\U000e07ea\U00039acf-', strict=True) + + def test_uts46_6372(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d≮.\U000e07ea\U00039acf-', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d≮.\U000e07ea\U00039acf-', strict=True) + + def test_uts46_6373(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--gdh.xn----cr99a1w710b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--gdh.xn----cr99a1w710b', strict=True) + + def test_uts46_6374(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug95g.xn----cr99a1w710b', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug95g.xn----cr99a1w710b', strict=True) + + def test_uts46_6375(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200d襔。Ⴜ5ꡮ\U0007574f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200d襔。Ⴜ5ꡮ\U0007574f', strict=True) + + def test_uts46_6376(self): + self.assertRaises(idna.IDNAError, idna.decode, '\u200d\u200d襔。ⴜ5ꡮ\U0007574f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\u200d\u200d襔。ⴜ5ꡮ\U0007574f', strict=True) + + def test_uts46_6377(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2u2a.xn--5-uws5848bpf44e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2u2a.xn--5-uws5848bpf44e', strict=True) + + def test_uts46_6378(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1uga7691f.xn--5-uws5848bpf44e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1uga7691f.xn--5-uws5848bpf44e', strict=True) + + def test_uts46_6379(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2u2a.xn--5-r1g7167ipfw8d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2u2a.xn--5-r1g7167ipfw8d', strict=True) + + def test_uts46_6380(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1uga7691f.xn--5-r1g7167ipfw8d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1uga7691f.xn--5-r1g7167ipfw8d', strict=True) + + def test_uts46_6381(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫜𑌼\u200d.婀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫜𑌼\u200d.婀', strict=True) + + def test_uts46_6382(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐫜𑌼\u200d.婀', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐫜𑌼\u200d.婀', strict=True) + + def test_uts46_6383(self): + self.assertEqual(idna.decode('xn--ix9c26l.xn--q0s', uts46=True, strict=True), '𐫜𑌼.婀') + self.assertEqual(idna.encode('xn--ix9c26l.xn--q0s', uts46=True, strict=True), b'xn--ix9c26l.xn--q0s') + + def test_uts46_6384(self): + self.assertEqual(idna.decode('𐫜𑌼.婀', uts46=True, strict=True), '𐫜𑌼.婀') + self.assertEqual(idna.encode('𐫜𑌼.婀', uts46=True, strict=True), b'xn--ix9c26l.xn--q0s') + + def test_uts46_6385(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ugx063g1if.xn--q0s', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ugx063g1if.xn--q0s', strict=True) + + def test_uts46_6386(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅽︒︒𐹯。⬳᩸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅽︒︒𐹯。⬳᩸', strict=True) + + def test_uts46_6387(self): + self.assertRaises(idna.IDNAError, idna.decode, '󠅽。。𐹯。⬳᩸', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '󠅽。。𐹯。⬳᩸', strict=True) + + def test_uts46_6388(self): + self.assertRaises(idna.IDNAError, idna.decode, '..xn--no0d.xn--7of309e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '..xn--no0d.xn--7of309e', strict=True) + + def test_uts46_6389(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--y86ca186j.xn--7of309e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--y86ca186j.xn--7of309e', strict=True) + + def test_uts46_6390(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟖ß.󠄐-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟖ß.󠄐-?Ⴏ', strict=True) + + def test_uts46_6391(self): + self.assertRaises(idna.IDNAError, idna.decode, '8ß.󠄐-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8ß.󠄐-?Ⴏ', strict=True) + + def test_uts46_6392(self): + self.assertRaises(idna.IDNAError, idna.decode, '8ß.󠄐-?ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8ß.󠄐-?ⴏ', strict=True) + + def test_uts46_6393(self): + self.assertRaises(idna.IDNAError, idna.decode, '8SS.󠄐-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8SS.󠄐-?Ⴏ', strict=True) + + def test_uts46_6394(self): + self.assertRaises(idna.IDNAError, idna.decode, '8ss.󠄐-?ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8ss.󠄐-?ⴏ', strict=True) + + def test_uts46_6395(self): + self.assertRaises(idna.IDNAError, idna.decode, '8ss.󠄐-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8ss.󠄐-?Ⴏ', strict=True) + + def test_uts46_6396(self): + self.assertRaises(idna.IDNAError, idna.decode, '8ss.xn---?-261a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8ss.xn---?-261a', strict=True) + + def test_uts46_6397(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-qfa.xn---?-261a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-qfa.xn---?-261a', strict=True) + + def test_uts46_6398(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟖ß.󠄐-?ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟖ß.󠄐-?ⴏ', strict=True) + + def test_uts46_6399(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟖SS.󠄐-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟖SS.󠄐-?Ⴏ', strict=True) + + def test_uts46_6400(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟖ss.󠄐-?ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟖ss.󠄐-?ⴏ', strict=True) + + def test_uts46_6401(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟖ss.󠄐-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟖ss.󠄐-?Ⴏ', strict=True) + + def test_uts46_6402(self): + self.assertRaises(idna.IDNAError, idna.decode, '8ss.xn---?-gfk', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8ss.xn---?-gfk', strict=True) + + def test_uts46_6403(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-qfa.xn---?-gfk', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-qfa.xn---?-gfk', strict=True) + + def test_uts46_6404(self): + self.assertRaises(idna.IDNAError, idna.decode, '8ss.-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8ss.-?Ⴏ', strict=True) + + def test_uts46_6405(self): + self.assertRaises(idna.IDNAError, idna.decode, '8ss.-?ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8ss.-?ⴏ', strict=True) + + def test_uts46_6406(self): + self.assertRaises(idna.IDNAError, idna.decode, '8SS.-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8SS.-?Ⴏ', strict=True) + + def test_uts46_6407(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-qfa.-?ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-qfa.-?ⴏ', strict=True) + + def test_uts46_6408(self): + self.assertRaises(idna.IDNAError, idna.decode, 'XN--8-QFA.-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'XN--8-QFA.-?Ⴏ', strict=True) + + def test_uts46_6409(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Xn--8-Qfa.-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Xn--8-Qfa.-?Ⴏ', strict=True) + + def test_uts46_6410(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--8-qfa.-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--8-qfa.-?Ⴏ', strict=True) + + def test_uts46_6411(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝟖Ss.󠄐-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝟖Ss.󠄐-?Ⴏ', strict=True) + + def test_uts46_6412(self): + self.assertRaises(idna.IDNAError, idna.decode, '8Ss.󠄐-?Ⴏ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '8Ss.󠄐-?Ⴏ', strict=True) + + def test_uts46_6413(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200d\U000e02df.\u200c𐹣Ⴅ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200d\U000e02df.\u200c𐹣Ⴅ', strict=True) + + def test_uts46_6414(self): + self.assertRaises(idna.IDNAError, idna.decode, '-\u200d\U000e02df.\u200c𐹣ⴅ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '-\u200d\U000e02df.\u200c𐹣ⴅ', strict=True) + + def test_uts46_6415(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----s721m.xn--wkj1423e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----s721m.xn--wkj1423e', strict=True) + + def test_uts46_6416(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ugnv7071n.xn--0ugz32cgr0p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ugnv7071n.xn--0ugz32cgr0p', strict=True) + + def test_uts46_6417(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----s721m.xn--dnd9201k', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----s721m.xn--dnd9201k', strict=True) + + def test_uts46_6418(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----ugnv7071n.xn--dnd999e4j4p', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----ugnv7071n.xn--dnd999e4j4p', strict=True) + + def test_uts46_6419(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꦹ\u200d큷\U0003bda1。₂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꦹ\u200d큷\U0003bda1。₂', strict=True) + + def test_uts46_6420(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꦹ\u200d큷\U0003bda1。₂', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꦹ\u200d큷\U0003bda1。₂', strict=True) + + def test_uts46_6421(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꦹ\u200d큷\U0003bda1。2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꦹ\u200d큷\U0003bda1。2', strict=True) + + def test_uts46_6422(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ꦹ\u200d큷\U0003bda1。2', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ꦹ\u200d큷\U0003bda1。2', strict=True) + + def test_uts46_6423(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--0m9as84e2e21c.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--0m9as84e2e21c.c', strict=True) + + def test_uts46_6424(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1ug1435cfkyaoi04d.c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1ug1435cfkyaoi04d.c', strict=True) + + def test_uts46_6425(self): + self.assertRaises(idna.IDNAError, idna.decode, '?.🄄\U0001ebd8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '?.🄄\U0001ebd8', strict=True) + + def test_uts46_6426(self): + self.assertRaises(idna.IDNAError, idna.decode, '?.3,\U0001ebd8', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '?.3,\U0001ebd8', strict=True) + + def test_uts46_6427(self): + self.assertRaises(idna.IDNAError, idna.decode, '?.xn--3,-tb22a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '?.xn--3,-tb22a', strict=True) + + def test_uts46_6428(self): + self.assertRaises(idna.IDNAError, idna.decode, '?.xn--3x6hx6f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '?.xn--3x6hx6f', strict=True) + + def test_uts46_6429(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝨖\U00010a59。\u06dd\U000c0876ꣅ⒈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝨖\U00010a59。\u06dd\U000c0876ꣅ⒈', strict=True) + + def test_uts46_6430(self): + self.assertRaises(idna.IDNAError, idna.decode, '𝨖\U00010a59。\u06dd\U000c0876ꣅ1.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𝨖\U00010a59。\u06dd\U000c0876ꣅ1.', strict=True) + + def test_uts46_6431(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rt9cl956a.xn--1-dxc8545j0693i.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rt9cl956a.xn--1-dxc8545j0693i.', strict=True) + + def test_uts46_6432(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--rt9cl956a.xn--tlb403mxv4g06s9i', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--rt9cl956a.xn--tlb403mxv4g06s9i', strict=True) + + def test_uts46_6433(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00092223סڸ。Ⴈ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00092223סڸ。Ⴈ\u200d', strict=True) + + def test_uts46_6434(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U00092223סڸ。ⴈ\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U00092223סڸ。ⴈ\u200d', strict=True) + + def test_uts46_6435(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--meb44b57607c.xn--zkj', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--meb44b57607c.xn--zkj', strict=True) + + def test_uts46_6436(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--meb44b57607c.xn--1ug232c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--meb44b57607c.xn--1ug232c', strict=True) + + def test_uts46_6437(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--meb44b57607c.xn--gnd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--meb44b57607c.xn--gnd', strict=True) + + def test_uts46_6438(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--meb44b57607c.xn--gnd699e', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--meb44b57607c.xn--gnd699e', strict=True) + + def test_uts46_6439(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c06b6𝨱ߦ⒈.𑗝髯\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c06b6𝨱ߦ⒈.𑗝髯\u200c', strict=True) + + def test_uts46_6440(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U000c06b6𝨱ߦ1..𑗝髯\u200c', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U000c06b6𝨱ߦ1..𑗝髯\u200c', strict=True) + + def test_uts46_6441(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-idd62296a1fr6e..xn--uj6at43v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-idd62296a1fr6e..xn--uj6at43v', strict=True) + + def test_uts46_6442(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1-idd62296a1fr6e..xn--0ugx259bocxd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1-idd62296a1fr6e..xn--0ugx259bocxd', strict=True) + + def test_uts46_6443(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--etb477lq931a1f58e.xn--uj6at43v', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--etb477lq931a1f58e.xn--uj6at43v', strict=True) + + def test_uts46_6444(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--etb477lq931a1f58e.xn--0ugx259bocxd', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--etb477lq931a1f58e.xn--0ugx259bocxd', strict=True) + + def test_uts46_6445(self): + self.assertEqual(idna.decode('𐫀.ډ𑌀', uts46=True, strict=True), '𐫀.ډ𑌀') + self.assertEqual(idna.encode('𐫀.ډ𑌀', uts46=True, strict=True), b'xn--pw9c.xn--fjb8658k') + + def test_uts46_6446(self): + self.assertEqual(idna.decode('𐫀.ډ𑌀', uts46=True, strict=True), '𐫀.ډ𑌀') + self.assertEqual(idna.encode('𐫀.ډ𑌀', uts46=True, strict=True), b'xn--pw9c.xn--fjb8658k') + + def test_uts46_6447(self): + self.assertEqual(idna.decode('xn--pw9c.xn--fjb8658k', uts46=True, strict=True), '𐫀.ډ𑌀') + self.assertEqual(idna.encode('xn--pw9c.xn--fjb8658k', uts46=True, strict=True), b'xn--pw9c.xn--fjb8658k') + + def test_uts46_6448(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑋪.𐳝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑋪.𐳝', strict=True) + + def test_uts46_6449(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑋪.𐳝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑋪.𐳝', strict=True) + + def test_uts46_6450(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑋪.𐲝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑋪.𐲝', strict=True) + + def test_uts46_6451(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--fm1d.xn--5c0d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--fm1d.xn--5c0d', strict=True) + + def test_uts46_6452(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑋪.𐲝', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑋪.𐲝', strict=True) + + def test_uts46_6453(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠膣。ྃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠膣。ྃ', strict=True) + + def test_uts46_6454(self): + self.assertRaises(idna.IDNAError, idna.decode, '≠膣。ྃ', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '≠膣。ྃ', strict=True) + + def test_uts46_6455(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1chy468a.xn--2ed', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1chy468a.xn--2ed', strict=True) + + def test_uts46_6456(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007000e-ݽ。ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007000e-ݽ。ß', strict=True) + + def test_uts46_6457(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007000e-ݽ。ß', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007000e-ݽ。ß', strict=True) + + def test_uts46_6458(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007000e-ݽ。SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007000e-ݽ。SS', strict=True) + + def test_uts46_6459(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007000e-ݽ。ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007000e-ݽ。ss', strict=True) + + def test_uts46_6460(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007000e-ݽ。Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007000e-ݽ。Ss', strict=True) + + def test_uts46_6461(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----j6c95618k.ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----j6c95618k.ss', strict=True) + + def test_uts46_6462(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn----j6c95618k.xn--zca', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn----j6c95618k.xn--zca', strict=True) + + def test_uts46_6463(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007000e-ݽ。SS', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007000e-ݽ。SS', strict=True) + + def test_uts46_6464(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007000e-ݽ。ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007000e-ݽ。ss', strict=True) + + def test_uts46_6465(self): + self.assertRaises(idna.IDNAError, idna.decode, '\U0007000e-ݽ。Ss', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '\U0007000e-ݽ。Ss', strict=True) + + def test_uts46_6466(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς𐹠ᡚ𑄳.⾭𐹽\U0003d416𐫜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς𐹠ᡚ𑄳.⾭𐹽\U0003d416𐫜', strict=True) + + def test_uts46_6467(self): + self.assertRaises(idna.IDNAError, idna.decode, 'ς𐹠ᡚ𑄳.靑𐹽\U0003d416𐫜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'ς𐹠ᡚ𑄳.靑𐹽\U0003d416𐫜', strict=True) + + def test_uts46_6468(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ𐹠ᡚ𑄳.靑𐹽\U0003d416𐫜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ𐹠ᡚ𑄳.靑𐹽\U0003d416𐫜', strict=True) + + def test_uts46_6469(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ𐹠ᡚ𑄳.靑𐹽\U0003d416𐫜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ𐹠ᡚ𑄳.靑𐹽\U0003d416𐫜', strict=True) + + def test_uts46_6470(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--4xa656hp23pxmc.xn--es5a888tvjc2u15h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--4xa656hp23pxmc.xn--es5a888tvjc2u15h', strict=True) + + def test_uts46_6471(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--3xa856hp23pxmc.xn--es5a888tvjc2u15h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--3xa856hp23pxmc.xn--es5a888tvjc2u15h', strict=True) + + def test_uts46_6472(self): + self.assertRaises(idna.IDNAError, idna.decode, 'Σ𐹠ᡚ𑄳.⾭𐹽\U0003d416𐫜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'Σ𐹠ᡚ𑄳.⾭𐹽\U0003d416𐫜', strict=True) + + def test_uts46_6473(self): + self.assertRaises(idna.IDNAError, idna.decode, 'σ𐹠ᡚ𑄳.⾭𐹽\U0003d416𐫜', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'σ𐹠ᡚ𑄳.⾭𐹽\U0003d416𐫜', strict=True) + + def test_uts46_6474(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋷。\u200d', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋷。\u200d', strict=True) + + def test_uts46_6475(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--r97c.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--r97c.', strict=True) + + def test_uts46_6476(self): + self.assertRaises(idna.IDNAError, idna.decode, '𐋷.', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𐋷.', strict=True) + + def test_uts46_6477(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--r97c.xn--1ug', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--r97c.xn--1ug', strict=True) + + def test_uts46_6478(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑰳𑈯。⥪', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑰳𑈯。⥪', strict=True) + + def test_uts46_6479(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--2g1d14o.xn--jti', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--2g1d14o.xn--jti', strict=True) + + def test_uts46_6480(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑆀䁴\U000649e3.Ⴕ𝟜\u200c͈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑆀䁴\U000649e3.Ⴕ𝟜\u200c͈', strict=True) + + def test_uts46_6481(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑆀䁴\U000649e3.Ⴕ4\u200c͈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑆀䁴\U000649e3.Ⴕ4\u200c͈', strict=True) + + def test_uts46_6482(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑆀䁴\U000649e3.ⴕ4\u200c͈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑆀䁴\U000649e3.ⴕ4\u200c͈', strict=True) + + def test_uts46_6483(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1mnx647cg3x1b.xn--4-zfb5123a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1mnx647cg3x1b.xn--4-zfb5123a', strict=True) + + def test_uts46_6484(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1mnx647cg3x1b.xn--4-zfb502tlsl', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1mnx647cg3x1b.xn--4-zfb502tlsl', strict=True) + + def test_uts46_6485(self): + self.assertRaises(idna.IDNAError, idna.decode, '𑆀䁴\U000649e3.ⴕ𝟜\u200c͈', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '𑆀䁴\U000649e3.ⴕ𝟜\u200c͈', strict=True) + + def test_uts46_6486(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1mnx647cg3x1b.xn--4-zfb324h', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1mnx647cg3x1b.xn--4-zfb324h', strict=True) + + def test_uts46_6487(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--1mnx647cg3x1b.xn--4-zfb324h32o', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--1mnx647cg3x1b.xn--4-zfb324h32o', strict=True) + + def test_uts46_6488(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?\u200cႴ.𐋮\u200d≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?\u200cႴ.𐋮\u200d≠', strict=True) + + def test_uts46_6489(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?\u200cႴ.𐋮\u200d≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?\u200cႴ.𐋮\u200d≠', strict=True) + + def test_uts46_6490(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?\u200cⴔ.𐋮\u200d≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?\u200cⴔ.𐋮\u200d≠', strict=True) + + def test_uts46_6491(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?\u200cⴔ.𐋮\u200d≠', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?\u200cⴔ.𐋮\u200d≠', strict=True) + + def test_uts46_6492(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--?-fwsr13r.xn--1chz659f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--?-fwsr13r.xn--1chz659f', strict=True) + + def test_uts46_6493(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--?-sgn310doh5c.xn--1ug73gl146a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--?-sgn310doh5c.xn--1ug73gl146a', strict=True) + + def test_uts46_6494(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--?-c1g3623d.xn--1chz659f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--?-c1g3623d.xn--1chz659f', strict=True) + + def test_uts46_6495(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--?-c1g798iy27d.xn--1ug73gl146a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--?-c1g798iy27d.xn--1ug73gl146a', strict=True) + + def test_uts46_6496(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?ⴔ.xn--1chz659f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?ⴔ.xn--1chz659f', strict=True) + + def test_uts46_6497(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?Ⴔ.XN--1CHZ659F', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?Ⴔ.XN--1CHZ659F', strict=True) + + def test_uts46_6498(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?Ⴔ.xn--1chz659f', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?Ⴔ.xn--1chz659f', strict=True) + + def test_uts46_6499(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?\u200cⴔ.xn--1ug73gl146a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?\u200cⴔ.xn--1ug73gl146a', strict=True) + + def test_uts46_6500(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?\u200cႴ.XN--1UG73GL146A', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?\u200cႴ.XN--1UG73GL146A', strict=True) + + def test_uts46_6501(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?\u200cႴ.xn--1ug73gl146a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?\u200cႴ.xn--1ug73gl146a', strict=True) + + def test_uts46_6502(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--?-fwsr13r.xn--1ug73gl146a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--?-fwsr13r.xn--1ug73gl146a', strict=True) + + def test_uts46_6503(self): + self.assertRaises(idna.IDNAError, idna.decode, 'xn--?-c1g3623d.xn--1ug73gl146a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, 'xn--?-c1g3623d.xn--1ug73gl146a', strict=True) + + def test_uts46_6504(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?Ⴔ.xn--1ug73gl146a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?Ⴔ.xn--1ug73gl146a', strict=True) + + def test_uts46_6505(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?ⴔ.xn--1ug73gl146a', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?ⴔ.xn--1ug73gl146a', strict=True) + + def test_uts46_6506(self): + self.assertRaises(idna.IDNAError, idna.decode, '憡?Ⴔ.XN--1UG73GL146A', strict=True) + self.assertRaises(idna.IDNAError, idna.encode, '憡?Ⴔ.XN--1UG73GL146A', strict=True) + diff --git a/contrib/python/idna/py3/tests/ya.make b/contrib/python/idna/py3/tests/ya.make index a481e959b1f..41ad8e8cccf 100644 --- a/contrib/python/idna/py3/tests/ya.make +++ b/contrib/python/idna/py3/tests/ya.make @@ -4,14 +4,7 @@ PEERDIR( contrib/python/idna ) -TEST_SRCS( - test_idna_compat.py - test_idna.py - test_intranges.py - test_idna_codec.py - test_idna_other.py - test_idna_uts46.py -) +ALL_PYTEST_SRCS() NO_LINT() diff --git a/contrib/python/idna/py3/ya.make b/contrib/python/idna/py3/ya.make index 24aa33c7333..2dfd2939362 100644 --- a/contrib/python/idna/py3/ya.make +++ b/contrib/python/idna/py3/ya.make @@ -2,7 +2,7 @@ PY3_LIBRARY() -VERSION(3.10) +VERSION(3.11) LICENSE(BSD-3-Clause) diff --git a/contrib/python/psutil/py3/.dist-info/METADATA b/contrib/python/psutil/py3/.dist-info/METADATA index 685d2e23f38..df3c87860ee 100644 --- a/contrib/python/psutil/py3/.dist-info/METADATA +++ b/contrib/python/psutil/py3/.dist-info/METADATA @@ -1,7 +1,7 @@ Metadata-Version: 2.1 Name: psutil -Version: 7.0.0 -Summary: Cross-platform lib for process and system monitoring in Python. NOTE: the syntax of this script MUST be kept compatible with Python 2.7. +Version: 7.1.2 +Summary: Cross-platform lib for process and system monitoring. Home-page: https://github.com/giampaolo/psutil Author: Giampaolo Rodola Author-email: [email protected] @@ -10,19 +10,19 @@ Keywords: ps,top,kill,free,lsof,netstat,nice,tty,ionice,uptime,taskmgr,process,d Platform: Platform Independent Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console -Classifier: Environment :: Win32 (MS Windows) Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Information Technology Classifier: Intended Audience :: System Administrators -Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: MacOS :: MacOS X Classifier: Operating System :: Microsoft :: Windows :: Windows 10 +Classifier: Operating System :: Microsoft :: Windows :: Windows 11 Classifier: Operating System :: Microsoft :: Windows :: Windows 7 Classifier: Operating System :: Microsoft :: Windows :: Windows 8 Classifier: Operating System :: Microsoft :: Windows :: Windows 8.1 Classifier: Operating System :: Microsoft :: Windows :: Windows Server 2003 Classifier: Operating System :: Microsoft :: Windows :: Windows Server 2008 Classifier: Operating System :: Microsoft :: Windows :: Windows Vista +Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: Microsoft Classifier: Operating System :: OS Independent Classifier: Operating System :: POSIX :: AIX @@ -41,7 +41,6 @@ Classifier: Programming Language :: Python Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Software Development :: Libraries Classifier: Topic :: System :: Benchmark -Classifier: Topic :: System :: Hardware :: Hardware Drivers Classifier: Topic :: System :: Hardware Classifier: Topic :: System :: Monitoring Classifier: Topic :: System :: Networking :: Monitoring :: Hardware Watchdog @@ -55,10 +54,12 @@ Description-Content-Type: text/x-rst License-File: LICENSE Provides-Extra: dev Requires-Dist: pytest ; extra == 'dev' +Requires-Dist: pytest-instafail ; extra == 'dev' +Requires-Dist: pytest-subtests ; extra == 'dev' Requires-Dist: pytest-xdist ; extra == 'dev' Requires-Dist: setuptools ; extra == 'dev' Requires-Dist: abi3audit ; extra == 'dev' -Requires-Dist: black (==24.10.0) ; extra == 'dev' +Requires-Dist: black ; extra == 'dev' Requires-Dist: check-manifest ; extra == 'dev' Requires-Dist: coverage ; extra == 'dev' Requires-Dist: packaging ; extra == 'dev' @@ -73,20 +74,30 @@ Requires-Dist: sphinx ; extra == 'dev' Requires-Dist: sphinx-rtd-theme ; extra == 'dev' Requires-Dist: toml-sort ; extra == 'dev' Requires-Dist: twine ; extra == 'dev' +Requires-Dist: validate-pyproject[all] ; extra == 'dev' Requires-Dist: virtualenv ; extra == 'dev' Requires-Dist: vulture ; extra == 'dev' Requires-Dist: wheel ; extra == 'dev' +Requires-Dist: pyreadline ; (os_name == "nt") and extra == 'dev' +Requires-Dist: pywin32 ; (os_name == "nt" and platform_python_implementation != "PyPy") and extra == 'dev' +Requires-Dist: wheel ; (os_name == "nt" and platform_python_implementation != "PyPy") and extra == 'dev' +Requires-Dist: wmi ; (os_name == "nt" and platform_python_implementation != "PyPy") and extra == 'dev' Provides-Extra: test Requires-Dist: pytest ; extra == 'test' +Requires-Dist: pytest-instafail ; extra == 'test' +Requires-Dist: pytest-subtests ; extra == 'test' Requires-Dist: pytest-xdist ; extra == 'test' Requires-Dist: setuptools ; extra == 'test' +Requires-Dist: pywin32 ; (os_name == "nt" and platform_python_implementation != "PyPy") and extra == 'test' +Requires-Dist: wheel ; (os_name == "nt" and platform_python_implementation != "PyPy") and extra == 'test' +Requires-Dist: wmi ; (os_name == "nt" and platform_python_implementation != "PyPy") and extra == 'test' | |downloads| |stars| |forks| |contributors| |coverage| -| |version| |py-versions| |packages| |license| +| |version| |packages| |license| | |github-actions-wheels| |github-actions-bsd| |doc| |twitter| |tidelift| .. |downloads| image:: https://img.shields.io/pypi/dm/psutil.svg - :target: https://pepy.tech/project/psutil + :target: https://clickpy.clickhouse.com/dashboard/psutil :alt: Downloads .. |stars| image:: https://img.shields.io/github/stars/giampaolo/psutil.svg @@ -121,9 +132,6 @@ Requires-Dist: setuptools ; extra == 'test' :target: https://pypi.org/project/psutil :alt: Latest version -.. |py-versions| image:: https://img.shields.io/pypi/pyversions/psutil.svg - :alt: Supported Python versions - .. |packages| image:: https://repology.org/badge/tiny-repos/python:psutil.svg :target: https://repology.org/metapackage/python:psutil/versions :alt: Binary packages @@ -542,5 +550,3 @@ Portings - Rust: https://github.com/rust-psutil/rust-psutil - Nim: https://github.com/johnscillieri/psutil-nim - - diff --git a/contrib/python/psutil/py3/.yandex_meta/yamaker.yaml b/contrib/python/psutil/py3/.yandex_meta/yamaker.yaml index 7659f66f4fc..9ea6d958618 100644 --- a/contrib/python/psutil/py3/.yandex_meta/yamaker.yaml +++ b/contrib/python/psutil/py3/.yandex_meta/yamaker.yaml @@ -1,6 +1,9 @@ disable_includes: - arch/aix/ifaddrs.h - - arch/solaris/v10/ifaddrs.h + - ../../arch/bsd/init.h + - ../../arch/freebsd/init.h + - ../../arch/openbsd/init.h + - ../../arch/netbsd/init.h exclude: - psutil/_psutil_aix.c - psutil/_psutil_bsd.c diff --git a/contrib/python/psutil/py3/README.rst b/contrib/python/psutil/py3/README.rst index 16c756c50e2..9eb011aa0c6 100644 --- a/contrib/python/psutil/py3/README.rst +++ b/contrib/python/psutil/py3/README.rst @@ -1,9 +1,9 @@ | |downloads| |stars| |forks| |contributors| |coverage| -| |version| |py-versions| |packages| |license| +| |version| |packages| |license| | |github-actions-wheels| |github-actions-bsd| |doc| |twitter| |tidelift| .. |downloads| image:: https://img.shields.io/pypi/dm/psutil.svg - :target: https://pepy.tech/project/psutil + :target: https://clickpy.clickhouse.com/dashboard/psutil :alt: Downloads .. |stars| image:: https://img.shields.io/github/stars/giampaolo/psutil.svg @@ -38,9 +38,6 @@ :target: https://pypi.org/project/psutil :alt: Latest version -.. |py-versions| image:: https://img.shields.io/pypi/pyversions/psutil.svg - :alt: Supported Python versions - .. |packages| image:: https://repology.org/badge/tiny-repos/python:psutil.svg :target: https://repology.org/metapackage/python:psutil/versions :alt: Binary packages diff --git a/contrib/python/psutil/py3/patches/01-arcadia.patch b/contrib/python/psutil/py3/patches/01-arcadia.patch index 6a0b3aff1df..b050ab5beea 100644 --- a/contrib/python/psutil/py3/patches/01-arcadia.patch +++ b/contrib/python/psutil/py3/patches/01-arcadia.patch @@ -6,5 +6,5 @@ #include <tchar.h> +#include <winioctl.h> - #include "../../_psutil_common.h" + #include "../../arch/all/init.h" diff --git a/contrib/python/psutil/py3/patches/02-unaccepted-pr2064-missing-extern.patch b/contrib/python/psutil/py3/patches/02-unaccepted-pr2064-missing-extern.patch index 330b9a4d24a..26a9cdc814a 100644 --- a/contrib/python/psutil/py3/patches/02-unaccepted-pr2064-missing-extern.patch +++ b/contrib/python/psutil/py3/patches/02-unaccepted-pr2064-missing-extern.patch @@ -1,29 +1,12 @@ -commit a03e18c3d85dd0e4c50be4630afd5bf5cffd9a0e (HEAD -> ymake-refactoring) -author: thegeorg -date: 2022-01-24T14:25:44+03:00 - - Make psutil compile with -fno-common - ---- contrib/python/psutil/py3/psutil/_psutil_common.c (dd7c6db013778a31c03086c567edb72a9dfa4604) -+++ contrib/python/psutil/py3/psutil/_psutil_common.c (a03e18c3d85dd0e4c50be4630afd5bf5cffd9a0e) -@@ -7,6 +7,7 @@ - */ - +--- contrib/python/psutil/py3/psutil/_psutil_windows.c (index) ++++ contrib/python/psutil/py3/psutil/_psutil_windows.c (working tree) +@@ -17,6 +17,9 @@ #include <Python.h> -+#define PSUTIL_MAYBE_EXTERN - #include "_psutil_common.h" - - // ==================================================================== ---- contrib/python/psutil/py3/psutil/arch/windows/ntextapi.h (dd7c6db013778a31c03086c567edb72a9dfa4604) -+++ contrib/python/psutil/py3/psutil/arch/windows/ntextapi.h (a03e18c3d85dd0e4c50be4630afd5bf5cffd9a0e) -@@ -10,6 +10,10 @@ - #include <winternl.h> - #include <iphlpapi.h> + #include <windows.h> -+#ifndef PSUTIL_MAYBE_EXTERN -+#define PSUTIL_MAYBE_EXTERN extern -+#endif ++#undef PSUTIL_MAYBE_EXTERN ++#define PSUTIL_MAYBE_EXTERN + - typedef LONG NTSTATUS; + #include "arch/all/init.h" + #include "arch/windows/init.h" - // https://github.com/ajkhoury/TestDll/blob/master/nt_ddk.h diff --git a/contrib/python/psutil/py3/patches/03-fix-build-on-win.patch b/contrib/python/psutil/py3/patches/03-fix-build-on-win.patch index bd6f7a9e6cd..7b4ffa16251 100644 --- a/contrib/python/psutil/py3/patches/03-fix-build-on-win.patch +++ b/contrib/python/psutil/py3/patches/03-fix-build-on-win.patch @@ -1,5 +1,5 @@ ---- contrib/python/psutil/py3/psutil/arch/windows/proc.h (index) -+++ contrib/python/psutil/py3/psutil/arch/windows/proc.h (working tree) +--- contrib/python/psutil/py3/psutil/arch/windows/init.h (index) ++++ contrib/python/psutil/py3/psutil/arch/windows/init.h (working tree) @@ -9,2 +9,2 @@ -PyObject *TimeoutExpired; -PyObject *TimeoutAbandoned; diff --git a/contrib/python/psutil/py3/patches/04-fix-build-on-osx-arm64.patch b/contrib/python/psutil/py3/patches/04-fix-build-on-osx-arm64.patch deleted file mode 100644 index 0d49690eaa1..00000000000 --- a/contrib/python/psutil/py3/patches/04-fix-build-on-osx-arm64.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- contrib/python/psutil/py3/psutil/arch/osx/cpu.c (index) -+++ contrib/python/psutil/py3/psutil/arch/osx/cpu.c (working tree) -@@ -31,6 +31,10 @@ For reference, here's the git history with original implementations: - #include <IOKit/IOKitLib.h> - #endif - -+#if (defined __MAC_OS_X_VERSION_MIN_REQUIRED) && (__MAC_OS_X_VERSION_MIN_REQUIRED < 120000) -+#define kIOMainPortDefault kIOMasterPortDefault -+#endif -+ - #include "../../_psutil_common.h" - #include "../../_psutil_posix.h" - diff --git a/contrib/python/psutil/py3/patches/99-fix-ya.make.patch b/contrib/python/psutil/py3/patches/99-fix-ya.make.patch index 114f652aab7..a9aee73f4e0 100644 --- a/contrib/python/psutil/py3/patches/99-fix-ya.make.patch +++ b/contrib/python/psutil/py3/patches/99-fix-ya.make.patch @@ -1,33 +1,50 @@ ---- contrib/python/psutil/py3/ya.make (index) -+++ contrib/python/psutil/py3/ya.make (working tree) -@@ -32,6 +29,0 @@ CFLAGS( +--- contrib/python/psutil/py3/ya.make (index) ++++ contrib/python/psutil/py3/ya.make (working tree) +@@ -32,7 +29,0 @@ CFLAGS( - -DPSUTIL_POSIX=1 - -DPSUTIL_LINUX=1 - -DPSUTIL_POSIX=1 - -DPSUTIL_OSX=1 - -DPSUTIL_WINDOWS=1 - -DPSUTIL_SIZEOF_PID_T=4 -@@ -42,30 +33,0 @@ SRCS( +- -DPSUTIL_MAYBE_EXTERN=extern +@@ -42,46 +33,2 @@ SRCS( - psutil/_psutil_linux.c - psutil/_psutil_osx.c -- psutil/_psutil_posix.c - psutil/_psutil_windows.c + psutil/arch/all/init.c + psutil/arch/all/pids.c - psutil/arch/linux/disk.c - psutil/arch/linux/mem.c - psutil/arch/linux/net.c - psutil/arch/linux/proc.c -- psutil/arch/linux/users.c - psutil/arch/osx/cpu.c - psutil/arch/osx/disk.c +- psutil/arch/osx/init.c - psutil/arch/osx/mem.c - psutil/arch/osx/net.c +- psutil/arch/osx/pids.c - psutil/arch/osx/proc.c - psutil/arch/osx/sensors.c - psutil/arch/osx/sys.c +- psutil/arch/posix/init.c +- psutil/arch/posix/net.c +- psutil/arch/posix/proc.c +- psutil/arch/posix/sysctl.c +- psutil/arch/posix/users.c +- psutil/arch/sunos/cpu.c +- psutil/arch/sunos/disk.c +- psutil/arch/sunos/environ.c +- psutil/arch/sunos/mem.c +- psutil/arch/sunos/net.c +- psutil/arch/sunos/proc.c +- psutil/arch/sunos/sys.c - psutil/arch/windows/cpu.c - psutil/arch/windows/disk.c +- psutil/arch/windows/init.c - psutil/arch/windows/mem.c - psutil/arch/windows/net.c +- psutil/arch/windows/pids.c - psutil/arch/windows/proc.c - psutil/arch/windows/proc_handles.c - psutil/arch/windows/proc_info.c @@ -38,11 +55,10 @@ - psutil/arch/windows/socks.c - psutil/arch/windows/sys.c - psutil/arch/windows/wmi.c -@@ -74,6 +36,86 @@ SRCS( +@@ -74,5 +36,96 @@ SRCS( -PY_REGISTER( - psutil._psutil_linux - psutil._psutil_osx -- psutil._psutil_posix - psutil._psutil_windows -) +IF (OS_LINUX) @@ -53,17 +69,19 @@ + + SRCS( + psutil/_psutil_linux.c -+ psutil/_psutil_posix.c + psutil/arch/linux/disk.c + psutil/arch/linux/mem.c + psutil/arch/linux/net.c + psutil/arch/linux/proc.c -+ psutil/arch/linux/users.c ++ psutil/arch/posix/init.c ++ psutil/arch/posix/net.c ++ psutil/arch/posix/proc.c ++ psutil/arch/posix/sysctl.c ++ psutil/arch/posix/users.c + ) + + PY_REGISTER( + psutil._psutil_linux -+ psutil._psutil_posix + ) +ENDIF() + @@ -80,19 +98,24 @@ + + SRCS( + psutil/_psutil_osx.c -+ psutil/_psutil_posix.c + psutil/arch/osx/cpu.c + psutil/arch/osx/disk.c ++ psutil/arch/osx/init.c + psutil/arch/osx/mem.c + psutil/arch/osx/net.c ++ psutil/arch/osx/pids.c + psutil/arch/osx/proc.c + psutil/arch/osx/sensors.c + psutil/arch/osx/sys.c ++ psutil/arch/posix/init.c ++ psutil/arch/posix/net.c ++ psutil/arch/posix/proc.c ++ psutil/arch/posix/sysctl.c ++ psutil/arch/posix/users.c + ) + + PY_REGISTER( + psutil._psutil_osx -+ psutil._psutil_posix + ) +ENDIF() + @@ -100,6 +123,7 @@ + CFLAGS( + -DPSUTIL_WINDOWS=1 + -DPSUTIL_SIZEOF_PID_T=4 ++ -DPSUTIL_MAYBE_EXTERN=extern + ) + + LDFLAGS( @@ -113,8 +137,10 @@ + psutil/_psutil_windows.c + psutil/arch/windows/cpu.c + psutil/arch/windows/disk.c ++ psutil/arch/windows/init.c + psutil/arch/windows/mem.c + psutil/arch/windows/net.c ++ psutil/arch/windows/pids.c + psutil/arch/windows/proc.c + psutil/arch/windows/proc_handles.c + psutil/arch/windows/proc_info.c diff --git a/contrib/python/psutil/py3/psutil/__init__.py b/contrib/python/psutil/py3/psutil/__init__.py index cf4a58057f9..b289c161703 100644 --- a/contrib/python/psutil/py3/psutil/__init__.py +++ b/contrib/python/psutil/py3/psutil/__init__.py @@ -30,7 +30,6 @@ import sys import threading import time - try: import pwd except ImportError: @@ -86,7 +85,6 @@ from ._common import debug from ._common import memoize_when_activated from ._common import wrap_numbers as _wrap_numbers - if LINUX: # This is public API and it will be retrieved from _pslinux.py # via sys.modules. @@ -194,20 +192,18 @@ __all__.extend(_psplatform.__extra__all__) # Linux, FreeBSD if hasattr(_psplatform.Process, "rlimit"): # Populate global namespace with RLIM* constants. - from . import _psutil_posix - _globals = globals() _name = None - for _name in dir(_psutil_posix): + for _name in dir(_psplatform.cext): if _name.startswith('RLIM') and _name.isupper(): - _globals[_name] = getattr(_psutil_posix, _name) + _globals[_name] = getattr(_psplatform.cext, _name) __all__.append(_name) del _globals, _name AF_LINK = _psplatform.AF_LINK __author__ = "Giampaolo Rodola'" -__version__ = "7.0.0" +__version__ = "7.1.2" version_info = tuple(int(num) for num in __version__.split('.')) _timer = getattr(time, 'monotonic', time.time) @@ -377,7 +373,11 @@ class Process: won't reuse the same PID after such a short period of time (0.01 secs). Technically this is inherently racy, but practically it should be good enough. + + NOTE: unreliable on FreeBSD and OpenBSD as ctime is subject to + system clock updates. """ + if WINDOWS: # Use create_time() fast method in order to speedup # `process_iter()`. This means we'll get AccessDenied for @@ -386,6 +386,11 @@ class Process: # https://github.com/giampaolo/psutil/issues/2366#issuecomment-2381646555 self._create_time = self._proc.create_time(fast_only=True) return (self.pid, self._create_time) + elif LINUX or NETBSD or OSX: + # Use 'monotonic' process starttime since boot to form unique + # process identity, since it is stable over changes to system + # time. + return (self.pid, self._proc.create_time(monotonic=True)) else: return (self.pid, self.create_time()) @@ -426,12 +431,12 @@ class Process: # on PID and creation time. if not isinstance(other, Process): return NotImplemented - if OPENBSD or NETBSD: # pragma: no cover - # Zombie processes on Open/NetBSD have a creation time of - # 0.0. This covers the case when a process started normally - # (so it has a ctime), then it turned into a zombie. It's - # important to do this because is_running() depends on - # __eq__. + if OPENBSD or NETBSD or SUNOS: # pragma: no cover + # Zombie processes on Open/NetBSD/illumos/Solaris have a + # creation time of 0.0. This covers the case when a process + # started normally (so it has a ctime), then it turned into a + # zombie. It's important to do this because is_running() + # depends on __eq__. pid1, ident1 = self._ident pid2, ident2 = other._ident if pid1 == pid2: @@ -593,10 +598,13 @@ class Process: return None ppid = self.ppid() if ppid is not None: - ctime = self.create_time() + # Get a fresh (non-cached) ctime in case the system clock + # was updated. TODO: use a monotonic ctime on platforms + # where it's supported. + proc_ctime = Process(self.pid).create_time() try: parent = Process(ppid) - if parent.create_time() <= ctime: + if parent.create_time() <= proc_ctime: return parent # ...else ppid has been reused by another process except NoSuchProcess: @@ -765,8 +773,11 @@ class Process: def create_time(self): """The process creation time as a floating point number - expressed in seconds since the epoch. - The return value is cached after first call. + expressed in seconds since the epoch (seconds since January 1, + 1970, at midnight UTC). The return value, which is cached after + first call, is based on the system clock, which means it may be + affected by changes such as manual adjustments or time + synchronization (e.g. NTP). """ if self._create_time is None: self._create_time = self._proc.create_time() @@ -964,6 +975,10 @@ class Process: """ self._raise_if_pid_reused() ppid_map = _ppid_map() + # Get a fresh (non-cached) ctime in case the system clock was + # updated. TODO: use a monotonic ctime on platforms where it's + # supported. + proc_ctime = Process(self.pid).create_time() ret = [] if not recursive: for pid, ppid in ppid_map.items(): @@ -972,7 +987,7 @@ class Process: child = Process(pid) # if child happens to be older than its parent # (self) it means child's PID has been reused - if self.create_time() <= child.create_time(): + if proc_ctime <= child.create_time(): ret.append(child) except (NoSuchProcess, ZombieProcess): pass @@ -998,7 +1013,7 @@ class Process: child = Process(child_pid) # if child happens to be older than its parent # (self) it means child's PID has been reused - intime = self.create_time() <= child.create_time() + intime = proc_ctime <= child.create_time() if intime: ret.append(child) stack.append(child_pid) @@ -1484,7 +1499,7 @@ def process_iter(attrs=None, ad_value=None): Every new Process instance is only created once and then cached into an internal table which is updated every time this is used. - Cache can optionally be cleared via `process_iter.clear_cache()`. + Cache can optionally be cleared via `process_iter.cache_clear()`. The sorting order in which processes are yielded is based on their PIDs. @@ -2352,9 +2367,12 @@ if hasattr(_psplatform, "sensors_battery"): def boot_time(): - """Return the system boot time expressed in seconds since the epoch.""" - # Note: we are not caching this because it is subject to - # system clock updates. + """Return the system boot time expressed in seconds since the epoch + (seconds since January 1, 1970, at midnight UTC). The returned + value is based on the system clock, which means it may be affected + by changes such as manual adjustments or time synchronization (e.g. + NTP). + """ return _psplatform.boot_time() diff --git a/contrib/python/psutil/py3/psutil/_common.py b/contrib/python/psutil/py3/psutil/_common.py index 4096c0a18c8..51c798b4c67 100644 --- a/contrib/python/psutil/py3/psutil/_common.py +++ b/contrib/python/psutil/py3/psutil/_common.py @@ -22,7 +22,6 @@ from socket import AF_INET from socket import SOCK_DGRAM from socket import SOCK_STREAM - try: from socket import AF_INET6 except ImportError: @@ -409,7 +408,7 @@ def memoize(fun): except KeyError: try: ret = cache[key] = fun(*args, **kwargs) - except Exception as err: # noqa: BLE001 + except Exception as err: raise err from None return ret @@ -458,14 +457,14 @@ def memoize_when_activated(fun): # case 2: we never entered oneshot() ctx try: return fun(self) - except Exception as err: # noqa: BLE001 + except Exception as err: raise err from None except KeyError: # case 3: we entered oneshot() ctx but there's no cache # for this entry yet try: ret = fun(self) - except Exception as err: # noqa: BLE001 + except Exception as err: raise err from None try: self._cache[fun] = ret @@ -523,7 +522,6 @@ def path_exists_strict(path): return True -@memoize def supports_ipv6(): """Return True if IPv6 is supported on this platform.""" if not socket.has_ipv6 or AF_INET6 is None: diff --git a/contrib/python/psutil/py3/psutil/_psaix.py b/contrib/python/psutil/py3/psutil/_psaix.py index ba2725fdc10..a84abe3f53f 100644 --- a/contrib/python/psutil/py3/psutil/_psaix.py +++ b/contrib/python/psutil/py3/psutil/_psaix.py @@ -17,7 +17,6 @@ from collections import namedtuple from . import _common from . import _psposix from . import _psutil_aix as cext -from . import _psutil_posix as cext_posix from ._common import NIC_DUPLEX_FULL from ._common import NIC_DUPLEX_HALF from ._common import NIC_DUPLEX_UNKNOWN @@ -29,7 +28,6 @@ from ._common import get_procfs_path from ._common import memoize_when_activated from ._common import usage_percent - __extra__all__ = ["PROCFS_PATH"] @@ -42,8 +40,8 @@ HAS_THREADS = hasattr(cext, "proc_threads") HAS_NET_IO_COUNTERS = hasattr(cext, "net_io_counters") HAS_PROC_IO_COUNTERS = hasattr(cext, "proc_io_counters") -PAGE_SIZE = cext_posix.getpagesize() -AF_LINK = cext_posix.AF_LINK +PAGE_SIZE = cext.getpagesize() +AF_LINK = cext.AF_LINK PROC_STATUSES = { cext.SIDL: _common.STATUS_IDLE, @@ -195,7 +193,7 @@ def disk_partitions(all=False): # ===================================================================== -net_if_addrs = cext_posix.net_if_addrs +net_if_addrs = cext.net_if_addrs if HAS_NET_IO_COUNTERS: net_io_counters = cext.net_io_counters @@ -234,8 +232,8 @@ def net_if_stats(): names = {x[0] for x in net_if_addrs()} ret = {} for name in names: - mtu = cext_posix.net_if_mtu(name) - flags = cext_posix.net_if_flags(name) + mtu = cext.net_if_mtu(name) + flags = cext.net_if_flags(name) # try to get speed and duplex # TODO: rewrite this in C (entstat forks, so use truss -f to follow. @@ -449,11 +447,11 @@ class Process: @wrap_exceptions def nice_get(self): - return cext_posix.getpriority(self.pid) + return cext.proc_priority_get(self.pid) @wrap_exceptions def nice_set(self, value): - return cext_posix.setpriority(self.pid, value) + return cext.proc_priority_set(self.pid, value) @wrap_exceptions def ppid(self): diff --git a/contrib/python/psutil/py3/psutil/_psbsd.py b/contrib/python/psutil/py3/psutil/_psbsd.py index 13bd926fabf..e96a29914e0 100644 --- a/contrib/python/psutil/py3/psutil/_psbsd.py +++ b/contrib/python/psutil/py3/psutil/_psbsd.py @@ -15,7 +15,6 @@ from xml.etree import ElementTree # noqa: ICN001 from . import _common from . import _psposix from . import _psutil_bsd as cext -from . import _psutil_posix as cext_posix from ._common import FREEBSD from ._common import NETBSD from ._common import OPENBSD @@ -29,7 +28,6 @@ from ._common import memoize from ._common import memoize_when_activated from ._common import usage_percent - __extra__all__ = [] @@ -95,13 +93,10 @@ TCP_STATUSES = { cext.PSUTIL_CONN_NONE: _common.CONN_NONE, } -PAGESIZE = cext_posix.getpagesize() -AF_LINK = cext_posix.AF_LINK +PAGESIZE = cext.getpagesize() +AF_LINK = cext.AF_LINK -HAS_PER_CPU_TIMES = hasattr(cext, "per_cpu_times") HAS_PROC_NUM_THREADS = hasattr(cext, "proc_num_threads") -HAS_PROC_OPEN_FILES = hasattr(cext, 'proc_open_files') -HAS_PROC_NUM_FDS = hasattr(cext, 'proc_num_fds') kinfo_proc_map = dict( ppid=0, @@ -240,36 +235,14 @@ def cpu_times(): return scputimes(user, nice, system, idle, irq) -if HAS_PER_CPU_TIMES: - - def per_cpu_times(): - """Return system CPU times as a namedtuple.""" - ret = [] - for cpu_t in cext.per_cpu_times(): - user, nice, system, idle, irq = cpu_t - item = scputimes(user, nice, system, idle, irq) - ret.append(item) - return ret - -else: - # XXX - # Ok, this is very dirty. - # On FreeBSD < 8 we cannot gather per-cpu information, see: - # https://github.com/giampaolo/psutil/issues/226 - # If num cpus > 1, on first call we return single cpu times to avoid a - # crash at psutil import time. - # Next calls will fail with NotImplementedError - def per_cpu_times(): - """Return system CPU times as a namedtuple.""" - if cpu_count_logical() == 1: - return [cpu_times()] - if per_cpu_times.__called__: - msg = "supported only starting from FreeBSD 8" - raise NotImplementedError(msg) - per_cpu_times.__called__ = True - return [cpu_times()] - - per_cpu_times.__called__ = False +def per_cpu_times(): + """Return system CPU times as a namedtuple.""" + ret = [] + for cpu_t in cext.per_cpu_times(): + user, nice, system, idle, irq = cpu_t + item = scputimes(user, nice, system, idle, irq) + ret.append(item) + return ret def cpu_count_logical(): @@ -406,7 +379,7 @@ disk_io_counters = cext.disk_io_counters net_io_counters = cext.net_io_counters -net_if_addrs = cext_posix.net_if_addrs +net_if_addrs = cext.net_if_addrs def net_if_stats(): @@ -415,9 +388,9 @@ def net_if_stats(): ret = {} for name in names: try: - mtu = cext_posix.net_if_mtu(name) - flags = cext_posix.net_if_flags(name) - duplex, speed = cext_posix.net_if_duplex_speed(name) + mtu = cext.net_if_mtu(name) + flags = cext.net_if_flags(name) + duplex, speed = cext.net_if_duplex_speed(name) except OSError as err: # https://github.com/giampaolo/psutil/issues/1279 if err.errno != errno.ENODEV: @@ -505,15 +478,36 @@ def boot_time(): return cext.boot_time() +if NETBSD: + + try: + INIT_BOOT_TIME = boot_time() + except Exception as err: # noqa: BLE001 + # Don't want to crash at import time. + debug(f"ignoring exception on import: {err!r}") + INIT_BOOT_TIME = 0 + + def adjust_proc_create_time(ctime): + """Account for system clock updates.""" + if INIT_BOOT_TIME == 0: + return ctime + + diff = INIT_BOOT_TIME - boot_time() + if diff == 0 or abs(diff) < 1: + return ctime + + debug("system clock was updated; adjusting process create_time()") + if diff < 0: + return ctime - diff + return ctime + diff + + def users(): """Return currently connected users as a list of namedtuples.""" retlist = [] rawlist = cext.users() for item in rawlist: user, tty, hostname, tstamp, pid = item - if pid == -1: - assert OPENBSD - pid = None if tty == '~': continue # reboot or shutdown nt = _common.suser(user, tty or None, hostname, tstamp, pid) @@ -779,13 +773,17 @@ class Process: memory_full_info = memory_info @wrap_exceptions - def create_time(self): - return self.oneshot()[kinfo_proc_map['create_time']] + def create_time(self, monotonic=False): + ctime = self.oneshot()[kinfo_proc_map['create_time']] + if NETBSD and not monotonic: + # NetBSD: ctime subject to system clock updates. + ctime = adjust_proc_create_time(ctime) + return ctime @wrap_exceptions def num_threads(self): if HAS_PROC_NUM_THREADS: - # FreeBSD + # FreeBSD / NetBSD return cext.proc_num_threads(self.pid) else: return len(self.threads()) @@ -841,11 +839,11 @@ class Process: @wrap_exceptions def nice_get(self): - return cext_posix.getpriority(self.pid) + return cext.proc_priority_get(self.pid) @wrap_exceptions def nice_set(self, value): - return cext_posix.setpriority(self.pid, value) + return cext.proc_priority_set(self.pid, value) @wrap_exceptions def status(self): @@ -870,14 +868,7 @@ class Process: # it into None if OPENBSD and self.pid == 0: return "" # ...else it would raise EINVAL - elif NETBSD or HAS_PROC_OPEN_FILES: - # FreeBSD < 8 does not support functions based on - # kinfo_getfile() and kinfo_getvmmap() - return cext.proc_cwd(self.pid) - else: - raise NotImplementedError( - "supported only starting from FreeBSD 8" if FREEBSD else "" - ) + return cext.proc_cwd(self.pid) nt_mmap_grouped = namedtuple( 'mmap', 'path rss, private, ref_count, shadow_count' @@ -886,36 +877,19 @@ class Process: 'mmap', 'addr, perms path rss, private, ref_count, shadow_count' ) - def _not_implemented(self): - raise NotImplementedError - - # FreeBSD < 8 does not support functions based on kinfo_getfile() - # and kinfo_getvmmap() - if HAS_PROC_OPEN_FILES: - - @wrap_exceptions - def open_files(self): - """Return files opened by process as a list of namedtuples.""" - rawlist = cext.proc_open_files(self.pid) - return [_common.popenfile(path, fd) for path, fd in rawlist] - - else: - open_files = _not_implemented - - # FreeBSD < 8 does not support functions based on kinfo_getfile() - # and kinfo_getvmmap() - if HAS_PROC_NUM_FDS: - - @wrap_exceptions - def num_fds(self): - """Return the number of file descriptors opened by this process.""" - ret = cext.proc_num_fds(self.pid) - if NETBSD: - self._assert_alive() - return ret + @wrap_exceptions + def open_files(self): + """Return files opened by process as a list of namedtuples.""" + rawlist = cext.proc_open_files(self.pid) + return [_common.popenfile(path, fd) for path, fd in rawlist] - else: - num_fds = _not_implemented + @wrap_exceptions + def num_fds(self): + """Return the number of file descriptors opened by this process.""" + ret = cext.proc_num_fds(self.pid) + if NETBSD: + self._assert_alive() + return ret # --- FreeBSD only APIs diff --git a/contrib/python/psutil/py3/psutil/_pslinux.py b/contrib/python/psutil/py3/psutil/_pslinux.py index 8cc64e9a100..821c4eb7178 100644 --- a/contrib/python/psutil/py3/psutil/_pslinux.py +++ b/contrib/python/psutil/py3/psutil/_pslinux.py @@ -24,7 +24,6 @@ from collections import namedtuple from . import _common from . import _psposix from . import _psutil_linux as cext -from . import _psutil_posix as cext_posix from ._common import ENCODING from ._common import NIC_DUPLEX_FULL from ._common import NIC_DUPLEX_HALF @@ -47,7 +46,6 @@ from ._common import path_exists_strict from ._common import supports_ipv6 from ._common import usage_percent - # fmt: off __extra__all__ = [ 'PROCFS_PATH', @@ -59,11 +57,6 @@ __extra__all__ = [ "CONN_FIN_WAIT2", "CONN_TIME_WAIT", "CONN_CLOSE", "CONN_CLOSE_WAIT", "CONN_LAST_ACK", "CONN_LISTEN", "CONN_CLOSING", ] - -if hasattr(resource, "prlimit"): - __extra__all__.extend( - [x for x in dir(cext) if x.startswith('RLIM') and x.isupper()] - ) # fmt: on @@ -80,9 +73,9 @@ HAS_CPU_AFFINITY = hasattr(cext, "proc_cpu_affinity_get") # Number of clock ticks per second CLOCK_TICKS = os.sysconf("SC_CLK_TCK") -PAGESIZE = cext_posix.getpagesize() -BOOT_TIME = None # set later +PAGESIZE = cext.getpagesize() LITTLE_ENDIAN = sys.byteorder == 'little' +UNSET = object() # "man iostat" states that sectors are equivalent with blocks and have # a size of 512 bytes. Despite this value can be queried at runtime @@ -421,12 +414,6 @@ def virtual_memory(): except KeyError: slab = 0 - used = total - free - cached - buffers - if used < 0: - # May be symptomatic of running within a LCX container where such - # values will be dramatically distorted over those of the host. - used = total - free - # - starting from 4.4.0 we match free's "available" column. # Before 4.4.0 we calculated it as (free + buffers + cached) # which matched htop. @@ -457,6 +444,8 @@ def virtual_memory(): # 24fd2605c51fccc375ab0287cec33aa767f06718/proc/sysinfo.c#L764 avail = free + used = total - avail + percent = usage_percent((total - avail), total, round_=1) # Warn about missing metrics which are set to 0. @@ -739,7 +728,7 @@ else: # ===================================================================== -net_if_addrs = cext_posix.net_if_addrs +net_if_addrs = cext.net_if_addrs class _Ipv6UnsupportedError(Exception): @@ -1050,8 +1039,8 @@ def net_if_stats(): ret = {} for name in names: try: - mtu = cext_posix.net_if_mtu(name) - flags = cext_posix.net_if_flags(name) + mtu = cext.net_if_mtu(name) + flags = cext.net_if_flags(name) duplex, speed = cext.net_if_duplex_speed(name) except OSError as err: # https://github.com/giampaolo/psutil/issues/1279 @@ -1525,7 +1514,7 @@ def sensors_battery(): secsleft = _common.POWER_TIME_UNLIMITED elif energy_now is not None and power_now is not None: try: - secsleft = int(energy_now / power_now * 3600) + secsleft = int(energy_now / abs(power_now) * 3600) except ZeroDivisionError: secsleft = _common.POWER_TIME_UNKNOWN elif time_to_empty is not None: @@ -1556,14 +1545,11 @@ def users(): def boot_time(): """Return the system boot time expressed in seconds since the epoch.""" - global BOOT_TIME path = f"{get_procfs_path()}/stat" with open_binary(path) as f: for line in f: if line.startswith(b'btime'): - ret = float(line.strip().split()[1]) - BOOT_TIME = ret - return ret + return float(line.strip().split()[1]) msg = f"line 'btime' not found in {path}" raise RuntimeError(msg) @@ -1623,9 +1609,9 @@ def ppid_map(): with open_binary(f"{procfs_path}/{pid}/stat") as f: data = f.read() except (FileNotFoundError, ProcessLookupError): - # Note: we should be able to access /stat for all processes - # aka it's unlikely we'll bump into EPERM, which is good. pass + except PermissionError as err: + raise AccessDenied(pid) from err else: rpar = data.rfind(b')') dset = data[rpar + 2 :].split() @@ -1664,12 +1650,20 @@ def wrap_exceptions(fun): class Process: """Linux process implementation.""" - __slots__ = ["_cache", "_name", "_ppid", "_procfs_path", "pid"] + __slots__ = [ + "_cache", + "_ctime", + "_name", + "_ppid", + "_procfs_path", + "pid", + ] def __init__(self, pid): self.pid = pid self._name = None self._ppid = None + self._ctime = None self._procfs_path = get_procfs_path() def _is_zombie(self): @@ -1698,6 +1692,22 @@ class Process: # incorrect or incomplete result. os.stat(f"{self._procfs_path}/{self.pid}") + def _readlink(self, path, fallback=UNSET): + # * https://github.com/giampaolo/psutil/issues/503 + # os.readlink('/proc/pid/exe') may raise ESRCH (ProcessLookupError) + # instead of ENOENT (FileNotFoundError) when it races. + # * ENOENT may occur also if the path actually exists if PID is + # a low PID (~0-20 range). + # * https://github.com/giampaolo/psutil/issues/2514 + try: + return readlink(path) + except (FileNotFoundError, ProcessLookupError): + if os.path.lexists(f"{self._procfs_path}/{self.pid}"): + self._raise_if_zombie() + if fallback is not UNSET: + return fallback + raise + @wrap_exceptions @memoize_when_activated def _parse_stat_file(self): @@ -1770,16 +1780,9 @@ class Process: @wrap_exceptions def exe(self): - try: - return readlink(f"{self._procfs_path}/{self.pid}/exe") - except (FileNotFoundError, ProcessLookupError): - self._raise_if_zombie() - # no such file error; might be raised also if the - # path actually exists for system processes with - # low pids (about 0-20) - if os.path.lexists(f"{self._procfs_path}/{self.pid}"): - return "" - raise + return self._readlink( + f"{self._procfs_path}/{self.pid}/exe", fallback="" + ) @wrap_exceptions def cmdline(self): @@ -1880,15 +1883,21 @@ class Process: return _psposix.wait_pid(self.pid, timeout, self._name) @wrap_exceptions - def create_time(self): - ctime = float(self._parse_stat_file()['create_time']) - # According to documentation, starttime is in field 21 and the - # unit is jiffies (clock ticks). - # We first divide it for clock ticks and then add uptime returning - # seconds since the epoch. - # Also use cached value if available. - bt = BOOT_TIME or boot_time() - return (ctime / CLOCK_TICKS) + bt + def create_time(self, monotonic=False): + # The 'starttime' field in /proc/[pid]/stat is expressed in + # jiffies (clock ticks per second), a relative value which + # represents the number of clock ticks that have passed since + # the system booted until the process was created. It never + # changes and is unaffected by system clock updates. + if self._ctime is None: + self._ctime = ( + float(self._parse_stat_file()['create_time']) / CLOCK_TICKS + ) + if monotonic: + return self._ctime + # Add the boot time, returning time expressed in seconds since + # the epoch. This is subject to system clock updates. + return self._ctime + boot_time() @wrap_exceptions def memory_info(self): @@ -2001,7 +2010,7 @@ class Process: else: try: data[fields[0]] = int(fields[1]) * 1024 - except ValueError: + except (ValueError, IndexError): if fields[0].startswith(b'VmFlags:'): # see issue #369 continue @@ -2054,7 +2063,9 @@ class Process: @wrap_exceptions def cwd(self): - return readlink(f"{self._procfs_path}/{self.pid}/cwd") + return self._readlink( + f"{self._procfs_path}/{self.pid}/cwd", fallback="" + ) @wrap_exceptions def num_ctx_switches( @@ -2112,11 +2123,11 @@ class Process: # return int(data.split()[18]) # Use C implementation - return cext_posix.getpriority(self.pid) + return cext.proc_priority_get(self.pid) @wrap_exceptions def nice_set(self, value): - return cext_posix.setpriority(self.pid, value) + return cext.proc_priority_set(self.pid, value) # starting from CentOS 6. if HAS_CPU_AFFINITY: diff --git a/contrib/python/psutil/py3/psutil/_psosx.py b/contrib/python/psutil/py3/psutil/_psosx.py index 620497b30a0..e1030b654b0 100644 --- a/contrib/python/psutil/py3/psutil/_psosx.py +++ b/contrib/python/psutil/py3/psutil/_psosx.py @@ -12,18 +12,17 @@ from collections import namedtuple from . import _common from . import _psposix from . import _psutil_osx as cext -from . import _psutil_posix as cext_posix from ._common import AccessDenied from ._common import NoSuchProcess from ._common import ZombieProcess from ._common import conn_tmap from ._common import conn_to_ntuple +from ._common import debug from ._common import isfile_strict from ._common import memoize_when_activated from ._common import parse_environ_block from ._common import usage_percent - __extra__all__ = [] @@ -32,8 +31,8 @@ __extra__all__ = [] # ===================================================================== -PAGESIZE = cext_posix.getpagesize() -AF_LINK = cext_posix.AF_LINK +PAGESIZE = cext.getpagesize() +AF_LINK = cext.AF_LINK TCP_STATUSES = { cext.TCPS_ESTABLISHED: _common.CONN_ESTABLISHED, @@ -170,14 +169,16 @@ def cpu_stats(): ) -def cpu_freq(): - """Return CPU frequency. - On macOS per-cpu frequency is not supported. - Also, the returned frequency never changes, see: - https://arstechnica.com/civis/viewtopic.php?f=19&t=465002. - """ - curr, min_, max_ = cext.cpu_freq() - return [_common.scpufreq(curr, min_, max_)] +if cext.has_cpu_freq(): # not always available on ARM64 + + def cpu_freq(): + """Return CPU frequency. + On macOS per-cpu frequency is not supported. + Also, the returned frequency never changes, see: + https://arstechnica.com/civis/viewtopic.php?f=19&t=465002. + """ + curr, min_, max_ = cext.cpu_freq() + return [_common.scpufreq(curr, min_, max_)] # ===================================================================== @@ -233,7 +234,7 @@ def sensors_battery(): net_io_counters = cext.net_io_counters -net_if_addrs = cext_posix.net_if_addrs +net_if_addrs = cext.net_if_addrs def net_connections(kind='inet'): @@ -260,9 +261,9 @@ def net_if_stats(): ret = {} for name in names: try: - mtu = cext_posix.net_if_mtu(name) - flags = cext_posix.net_if_flags(name) - duplex, speed = cext_posix.net_if_duplex_speed(name) + mtu = cext.net_if_mtu(name) + flags = cext.net_if_flags(name) + duplex, speed = cext.net_if_duplex_speed(name) except OSError as err: # https://github.com/giampaolo/psutil/issues/1279 if err.errno != errno.ENODEV: @@ -288,6 +289,29 @@ def boot_time(): return cext.boot_time() +try: + INIT_BOOT_TIME = boot_time() +except Exception as err: # noqa: BLE001 + # Don't want to crash at import time. + debug(f"ignoring exception on import: {err!r}") + INIT_BOOT_TIME = 0 + + +def adjust_proc_create_time(ctime): + """Account for system clock updates.""" + if INIT_BOOT_TIME == 0: + return ctime + + diff = INIT_BOOT_TIME - boot_time() + if diff == 0 or abs(diff) < 1: + return ctime + + debug("system clock was updated; adjusting process create_time()") + if diff < 0: + return ctime - diff + return ctime + diff + + def users(): """Return currently connected users as a list of namedtuples.""" retlist = [] @@ -327,14 +351,6 @@ def pids(): pid_exists = _psposix.pid_exists -def is_zombie(pid): - try: - st = cext.proc_kinfo_oneshot(pid)[kinfo_proc_map['status']] - return st == cext.SZOMB - except OSError: - return False - - def wrap_exceptions(fun): """Decorator which translates bare OSError exceptions into NoSuchProcess and AccessDenied. @@ -346,11 +362,13 @@ def wrap_exceptions(fun): try: return fun(self, *args, **kwargs) except ProcessLookupError as err: - if is_zombie(pid): + if cext.proc_is_zombie(pid): raise ZombieProcess(pid, name, ppid) from err raise NoSuchProcess(pid, name) from err except PermissionError as err: raise AccessDenied(pid, name) from err + except cext.ZombieProcessError as err: + raise ZombieProcess(pid, name, ppid) from err return wrapper @@ -470,8 +488,11 @@ class Process: ) @wrap_exceptions - def create_time(self): - return self._get_kinfo_proc()[kinfo_proc_map['ctime']] + def create_time(self, monotonic=False): + ctime = self._get_kinfo_proc()[kinfo_proc_map['ctime']] + if not monotonic: + ctime = adjust_proc_create_time(ctime) + return ctime @wrap_exceptions def num_ctx_switches(self): @@ -522,11 +543,11 @@ class Process: @wrap_exceptions def nice_get(self): - return cext_posix.getpriority(self.pid) + return cext.proc_priority_get(self.pid) @wrap_exceptions def nice_set(self, value): - return cext_posix.setpriority(self.pid, value) + return cext.proc_priority_set(self.pid, value) @wrap_exceptions def status(self): diff --git a/contrib/python/psutil/py3/psutil/_psposix.py b/contrib/python/psutil/py3/psutil/_psposix.py index 88703fdbd26..83f1acdbe31 100644 --- a/contrib/python/psutil/py3/psutil/_psposix.py +++ b/contrib/python/psutil/py3/psutil/_psposix.py @@ -16,7 +16,6 @@ from ._common import memoize from ._common import sdiskusage from ._common import usage_percent - if MACOS: from . import _psutil_osx diff --git a/contrib/python/psutil/py3/psutil/_pssunos.py b/contrib/python/psutil/py3/psutil/_pssunos.py index 78d941cc5ff..e3268932f64 100644 --- a/contrib/python/psutil/py3/psutil/_pssunos.py +++ b/contrib/python/psutil/py3/psutil/_pssunos.py @@ -15,7 +15,6 @@ from socket import AF_INET from . import _common from . import _psposix -from . import _psutil_posix as cext_posix from . import _psutil_sunos as cext from ._common import AF_INET6 from ._common import ENCODING @@ -30,7 +29,6 @@ from ._common import sockfam_to_enum from ._common import socktype_to_enum from ._common import usage_percent - __extra__all__ = ["CONN_IDLE", "CONN_BOUND", "PROCFS_PATH"] @@ -39,8 +37,8 @@ __extra__all__ = ["CONN_IDLE", "CONN_BOUND", "PROCFS_PATH"] # ===================================================================== -PAGE_SIZE = cext_posix.getpagesize() -AF_LINK = cext_posix.AF_LINK +PAGE_SIZE = cext.getpagesize() +AF_LINK = cext.AF_LINK IS_64_BIT = sys.maxsize > 2**32 CONN_IDLE = "IDLE" @@ -253,7 +251,7 @@ def disk_partitions(all=False): net_io_counters = cext.net_io_counters -net_if_addrs = cext_posix.net_if_addrs +net_if_addrs = cext.net_if_addrs def net_connections(kind, _pid=-1): @@ -439,7 +437,7 @@ class Process: @wrap_exceptions def cmdline(self): - return self._proc_name_and_args()[1].split(' ') + return self._proc_name_and_args()[1] @wrap_exceptions def environ(self): @@ -468,7 +466,7 @@ class Process: # The process actually exists though, as it has a name, # creation time, etc. raise AccessDenied(self.pid, self._name) - return cext_posix.setpriority(self.pid, value) + return cext.proc_priority_set(self.pid, value) @wrap_exceptions def ppid(self): diff --git a/contrib/python/psutil/py3/psutil/_psutil_common.h b/contrib/python/psutil/py3/psutil/_psutil_common.h deleted file mode 100644 index 024452630f3..00000000000 --- a/contrib/python/psutil/py3/psutil/_psutil_common.h +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -// ==================================================================== -// --- Global vars / constants -// ==================================================================== - -extern int PSUTIL_DEBUG; -// a signaler for connections without an actual status -static const int PSUTIL_CONN_NONE = 128; - -// strncpy() variant which appends a null terminator. -#define PSUTIL_STRNCPY(dst, src, n) \ - strncpy(dst, src, n - 1); \ - dst[n - 1] = '\0' - -// ==================================================================== -// --- Backward compatibility with missing Python.h APIs -// ==================================================================== - -#if defined(PSUTIL_WINDOWS) && defined(PYPY_VERSION) - #if !defined(PyErr_SetFromWindowsErrWithFilename) - PyObject *PyErr_SetFromWindowsErrWithFilename(int ierr, - const char *filename); - #endif - #if !defined(PyErr_SetExcFromWindowsErrWithFilenameObject) - PyObject *PyErr_SetExcFromWindowsErrWithFilenameObject( - PyObject *type, int ierr, PyObject *filename); - #endif -#endif - -// --- _Py_PARSE_PID - -// SIZEOF_INT|LONG is missing on Linux + PyPy (only?). -// In this case we guess it from setup.py. It's not 100% bullet proof, -// If wrong we'll probably get compiler warnings. -// FWIW on all UNIX platforms I've seen pid_t is defined as an int. -// _getpid() on Windows also returns an int. -#if !defined(SIZEOF_INT) - #define SIZEOF_INT 4 -#endif -#if !defined(SIZEOF_LONG) - #define SIZEOF_LONG 8 -#endif -#if !defined(SIZEOF_PID_T) - #define SIZEOF_PID_T PSUTIL_SIZEOF_PID_T // set as a macro in setup.py -#endif - -// _Py_PARSE_PID was added in Python 3, but since it's private we make -// sure it's always present. -#ifndef _Py_PARSE_PID - #if SIZEOF_PID_T == SIZEOF_INT - #define _Py_PARSE_PID "i" - #elif SIZEOF_PID_T == SIZEOF_LONG - #define _Py_PARSE_PID "l" - #elif defined(SIZEOF_LONG_LONG) && SIZEOF_PID_T == SIZEOF_LONG_LONG - #define _Py_PARSE_PID "L" - #else - #error "_Py_PARSE_PID: sizeof(pid_t) is neither sizeof(int), " - "sizeof(long) or sizeof(long long)" - #endif -#endif - -// PyPy on Windows -#ifndef PyLong_FromPid - #if ((SIZEOF_PID_T == SIZEOF_INT) || (SIZEOF_PID_T == SIZEOF_LONG)) - #define PyLong_FromPid PyLong_FromLong - #elif defined(SIZEOF_LONG_LONG) && SIZEOF_PID_T == SIZEOF_LONG_LONG - #define PyLong_FromPid PyLong_FromLongLong - #else - #error "PyLong_FromPid: sizeof(pid_t) is neither sizeof(int), " - "sizeof(long) or sizeof(long long)" - #endif -#endif - -// ==================================================================== -// --- Custom exceptions -// ==================================================================== - -PyObject* AccessDenied(const char *msg); -PyObject* NoSuchProcess(const char *msg); -PyObject* psutil_PyErr_SetFromOSErrnoWithSyscall(const char *syscall); - -// ==================================================================== -// --- Global utils -// ==================================================================== - -PyObject* psutil_check_pid_range(PyObject *self, PyObject *args); -PyObject* psutil_set_debug(PyObject *self, PyObject *args); -int psutil_setup(void); - - -// Print a debug message on stderr. -#define psutil_debug(...) do { \ - if (! PSUTIL_DEBUG) \ - break; \ - fprintf(stderr, "psutil-debug [%s:%d]> ", __FILE__, __LINE__); \ - fprintf(stderr, __VA_ARGS__); \ - fprintf(stderr, "\n");} while(0) - - -// ==================================================================== -// --- BSD -// ==================================================================== - -void convert_kvm_err(const char *syscall, char *errbuf); - -// ==================================================================== -// --- macOS -// ==================================================================== - -#ifdef PSUTIL_OSX - #include <mach/mach_time.h> - - extern struct mach_timebase_info PSUTIL_MACH_TIMEBASE_INFO; -#endif - -// ==================================================================== -// --- Windows -// ==================================================================== - -#ifdef PSUTIL_WINDOWS - #include <windows.h> - // make it available to any file which includes this module - #include "arch/windows/ntextapi.h" - - extern int PSUTIL_WINVER; - extern SYSTEM_INFO PSUTIL_SYSTEM_INFO; - extern CRITICAL_SECTION PSUTIL_CRITICAL_SECTION; - - #define PSUTIL_WINDOWS_VISTA 60 - #define PSUTIL_WINDOWS_7 61 - #define PSUTIL_WINDOWS_8 62 - #define PSUTIL_WINDOWS_8_1 63 - #define PSUTIL_WINDOWS_10 100 - #define PSUTIL_WINDOWS_NEW MAXLONG - - #define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x)) - #define MALLOC_ZERO(x) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (x)) - #define FREE(x) HeapFree(GetProcessHeap(), 0, (x)) - - #define _NT_FACILITY_MASK 0xfff - #define _NT_FACILITY_SHIFT 16 - #define _NT_FACILITY(status) \ - ((((ULONG)(status)) >> _NT_FACILITY_SHIFT) & _NT_FACILITY_MASK) - - #define NT_NTWIN32(status) (_NT_FACILITY(status) == FACILITY_WIN32) - #define WIN32_FROM_NTSTATUS(status) (((ULONG)(status)) & 0xffff) - - #define LO_T 1e-7 - #define HI_T 429.4967296 - - #ifndef AF_INET6 - #define AF_INET6 23 - #endif - - PVOID psutil_GetProcAddress(LPCSTR libname, LPCSTR procname); - PVOID psutil_GetProcAddressFromLib(LPCSTR libname, LPCSTR procname); - PVOID psutil_SetFromNTStatusErr(NTSTATUS Status, const char *syscall); - double psutil_FiletimeToUnixTime(FILETIME ft); - double psutil_LargeIntegerToUnixTime(LARGE_INTEGER li); -#endif diff --git a/contrib/python/psutil/py3/psutil/_psutil_linux.c b/contrib/python/psutil/py3/psutil/_psutil_linux.c index fcd886bfb61..2cfb4e47c42 100644 --- a/contrib/python/psutil/py3/psutil/_psutil_linux.c +++ b/contrib/python/psutil/py3/psutil/_psutil_linux.c @@ -12,12 +12,7 @@ #include <Python.h> #include <linux/ethtool.h> // DUPLEX_* -#include "_psutil_common.h" -#include "arch/linux/disk.h" -#include "arch/linux/mem.h" -#include "arch/linux/net.h" -#include "arch/linux/proc.h" -#include "arch/linux/users.h" +#include "arch/all/init.h" // May happen on old RedHat versions, see: // https://github.com/giampaolo/psutil/issues/607 @@ -25,21 +20,18 @@ #define DUPLEX_UNKNOWN 0xff #endif -#define INITERR return NULL - static PyMethodDef mod_methods[] = { // --- per-process functions -#ifdef PSUTIL_HAVE_IOPRIO +#ifdef PSUTIL_HAS_IOPRIO {"proc_ioprio_get", psutil_proc_ioprio_get, METH_VARARGS}, {"proc_ioprio_set", psutil_proc_ioprio_set, METH_VARARGS}, #endif -#ifdef PSUTIL_HAVE_CPU_AFFINITY +#ifdef PSUTIL_HAS_CPU_AFFINITY {"proc_cpu_affinity_get", psutil_proc_cpu_affinity_get, METH_VARARGS}, {"proc_cpu_affinity_set", psutil_proc_cpu_affinity_set, METH_VARARGS}, #endif // --- system related functions {"disk_partitions", psutil_disk_partitions, METH_VARARGS}, - {"users", psutil_users, METH_VARARGS}, {"net_if_duplex_speed", psutil_net_if_duplex_speed, METH_VARARGS}, // --- linux specific {"linux_sysinfo", psutil_linux_sysinfo, METH_VARARGS}, @@ -67,20 +59,28 @@ PyObject * PyInit__psutil_linux(void) { PyObject *mod = PyModule_Create(&moduledef); if (mod == NULL) - INITERR; + return NULL; #ifdef Py_GIL_DISABLED - PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED); + if (PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED)) + return NULL; #endif - if (PyModule_AddIntConstant(mod, "version", PSUTIL_VERSION)) INITERR; - if (PyModule_AddIntConstant(mod, "DUPLEX_HALF", DUPLEX_HALF)) INITERR; - if (PyModule_AddIntConstant(mod, "DUPLEX_FULL", DUPLEX_FULL)) INITERR; - if (PyModule_AddIntConstant(mod, "DUPLEX_UNKNOWN", DUPLEX_UNKNOWN)) INITERR; + if (psutil_setup() != 0) + return NULL; + if (psutil_posix_add_constants(mod) != 0) + return NULL; + if (psutil_posix_add_methods(mod) != 0) + return NULL; - psutil_setup(); + if (PyModule_AddIntConstant(mod, "version", PSUTIL_VERSION)) + return NULL; + if (PyModule_AddIntConstant(mod, "DUPLEX_HALF", DUPLEX_HALF)) + return NULL; + if (PyModule_AddIntConstant(mod, "DUPLEX_FULL", DUPLEX_FULL)) + return NULL; + if (PyModule_AddIntConstant(mod, "DUPLEX_UNKNOWN", DUPLEX_UNKNOWN)) + return NULL; - if (mod == NULL) - INITERR; return mod; } diff --git a/contrib/python/psutil/py3/psutil/_psutil_osx.c b/contrib/python/psutil/py3/psutil/_psutil_osx.c index b16103379be..dbb33efc0b0 100644 --- a/contrib/python/psutil/py3/psutil/_psutil_osx.c +++ b/contrib/python/psutil/py3/psutil/_psutil_osx.c @@ -11,28 +11,21 @@ #include <sys/proc.h> #include <netinet/tcp_fsm.h> -#include "_psutil_common.h" -#include "arch/osx/cpu.h" -#include "arch/osx/disk.h" -#include "arch/osx/mem.h" -#include "arch/osx/net.h" -#include "arch/osx/proc.h" -#include "arch/osx/sensors.h" -#include "arch/osx/sys.h" +#include "arch/all/init.h" +#include "arch/osx/init.h" -#define INITERR return NULL - static PyMethodDef mod_methods[] = { // --- per-process functions {"proc_cmdline", psutil_proc_cmdline, METH_VARARGS}, - {"proc_net_connections", psutil_proc_net_connections, METH_VARARGS}, {"proc_cwd", psutil_proc_cwd, METH_VARARGS}, {"proc_environ", psutil_proc_environ, METH_VARARGS}, {"proc_exe", psutil_proc_exe, METH_VARARGS}, + {"proc_is_zombie", psutil_proc_is_zombie, METH_VARARGS}, {"proc_kinfo_oneshot", psutil_proc_kinfo_oneshot, METH_VARARGS}, {"proc_memory_uss", psutil_proc_memory_uss, METH_VARARGS}, {"proc_name", psutil_proc_name, METH_VARARGS}, + {"proc_net_connections", psutil_proc_net_connections, METH_VARARGS}, {"proc_num_fds", psutil_proc_num_fds, METH_VARARGS}, {"proc_open_files", psutil_proc_open_files, METH_VARARGS}, {"proc_pidtaskinfo_oneshot", psutil_proc_pidtaskinfo_oneshot, METH_VARARGS}, @@ -48,12 +41,12 @@ static PyMethodDef mod_methods[] = { {"disk_io_counters", psutil_disk_io_counters, METH_VARARGS}, {"disk_partitions", psutil_disk_partitions, METH_VARARGS}, {"disk_usage_used", psutil_disk_usage_used, METH_VARARGS}, + {"has_cpu_freq", psutil_has_cpu_freq, METH_VARARGS}, {"net_io_counters", psutil_net_io_counters, METH_VARARGS}, {"per_cpu_times", psutil_per_cpu_times, METH_VARARGS}, {"pids", psutil_pids, METH_VARARGS}, {"sensors_battery", psutil_sensors_battery, METH_VARARGS}, {"swap_mem", psutil_swap_mem, METH_VARARGS}, - {"users", psutil_users, METH_VARARGS}, {"virtual_mem", psutil_virtual_mem, METH_VARARGS}, // --- others @@ -81,56 +74,61 @@ PyObject * PyInit__psutil_osx(void) { PyObject *mod = PyModule_Create(&moduledef); if (mod == NULL) - INITERR; + return NULL; #ifdef Py_GIL_DISABLED - PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED); + if (PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED)) + return NULL; #endif if (psutil_setup() != 0) - INITERR; + return NULL; + if (psutil_setup_osx() != 0) + return NULL; + if (psutil_posix_add_constants(mod) != 0) + return NULL; + if (psutil_posix_add_methods(mod) != 0) + return NULL; if (PyModule_AddIntConstant(mod, "version", PSUTIL_VERSION)) - INITERR; + return NULL; // process status constants, defined in: // http://fxr.watson.org/fxr/source/bsd/sys/proc.h?v=xnu-792.6.70#L149 if (PyModule_AddIntConstant(mod, "SIDL", SIDL)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "SRUN", SRUN)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "SSLEEP", SSLEEP)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "SSTOP", SSTOP)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "SZOMB", SZOMB)) - INITERR; + return NULL; // connection status constants if (PyModule_AddIntConstant(mod, "TCPS_CLOSED", TCPS_CLOSED)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "TCPS_CLOSING", TCPS_CLOSING)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "TCPS_CLOSE_WAIT", TCPS_CLOSE_WAIT)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "TCPS_LISTEN", TCPS_LISTEN)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "TCPS_ESTABLISHED", TCPS_ESTABLISHED)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "TCPS_SYN_SENT", TCPS_SYN_SENT)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "TCPS_SYN_RECEIVED", TCPS_SYN_RECEIVED)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "TCPS_FIN_WAIT_1", TCPS_FIN_WAIT_1)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "TCPS_FIN_WAIT_2", TCPS_FIN_WAIT_2)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "TCPS_LAST_ACK", TCPS_LAST_ACK)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "TCPS_TIME_WAIT", TCPS_TIME_WAIT)) - INITERR; + return NULL; if (PyModule_AddIntConstant(mod, "PSUTIL_CONN_NONE", PSUTIL_CONN_NONE)) - INITERR; + return NULL; - if (mod == NULL) - INITERR; return mod; } diff --git a/contrib/python/psutil/py3/psutil/_psutil_posix.h b/contrib/python/psutil/py3/psutil/_psutil_posix.h deleted file mode 100644 index 5a37e48b158..00000000000 --- a/contrib/python/psutil/py3/psutil/_psutil_posix.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -long psutil_getpagesize(void); -int psutil_pid_exists(pid_t pid); -void psutil_raise_for_pid(pid_t pid, char *msg); diff --git a/contrib/python/psutil/py3/psutil/_psutil_windows.c b/contrib/python/psutil/py3/psutil/_psutil_windows.c index 0af18f3e263..88bd5e0131c 100644 --- a/contrib/python/psutil/py3/psutil/_psutil_windows.c +++ b/contrib/python/psutil/py3/psutil/_psutil_windows.c @@ -17,24 +17,13 @@ #include <Python.h> #include <windows.h> -#include "_psutil_common.h" -#include "arch/windows/cpu.h" -#include "arch/windows/disk.h" -#include "arch/windows/mem.h" -#include "arch/windows/net.h" -#include "arch/windows/proc.h" -#include "arch/windows/proc_handles.h" -#include "arch/windows/proc_info.h" -#include "arch/windows/proc_utils.h" -#include "arch/windows/security.h" -#include "arch/windows/sensors.h" -#include "arch/windows/services.h" -#include "arch/windows/socks.h" -#include "arch/windows/sys.h" -#include "arch/windows/wmi.h" +#undef PSUTIL_MAYBE_EXTERN +#define PSUTIL_MAYBE_EXTERN + +#include "arch/all/init.h" +#include "arch/windows/init.h" -#define INITERROR return NULL #define GETSTATE(m) ((struct module_state*)PyModule_GetState(m)) @@ -72,7 +61,7 @@ PsutilMethods[] = { {"proc_info", psutil_proc_info, METH_VARARGS}, // --- system-related functions - {"boot_time", psutil_boot_time, METH_VARARGS}, + {"uptime", psutil_uptime, METH_VARARGS}, {"cpu_count_cores", psutil_cpu_count_cores, METH_VARARGS}, {"cpu_count_logical", psutil_cpu_count_logical, METH_VARARGS}, {"cpu_freq", psutil_cpu_freq, METH_VARARGS}, @@ -148,129 +137,110 @@ static struct PyModuleDef moduledef = { PyMODINIT_FUNC PyInit__psutil_windows(void) { - struct module_state *st = NULL; - - PyObject *module = PyModule_Create(&moduledef); - if (module == NULL) - INITERROR; + PyObject *mod = PyModule_Create(&moduledef); + if (mod == NULL) + return NULL; #ifdef Py_GIL_DISABLED - PyUnstable_Module_SetGIL(module, Py_MOD_GIL_NOT_USED); + if (PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED)) + return NULL; #endif if (psutil_setup() != 0) - INITERROR; + return NULL; + if (psutil_setup_windows() != 0) + return NULL; if (psutil_set_se_debug() != 0) - INITERROR; - - st = GETSTATE(module); - st->error = PyErr_NewException("_psutil_windows.Error", NULL, NULL); - if (st->error == NULL) { - Py_DECREF(module); - INITERROR; - } + return NULL; - // Exceptions. + // Exceptions TimeoutExpired = PyErr_NewException( "_psutil_windows.TimeoutExpired", NULL, NULL); - Py_INCREF(TimeoutExpired); - PyModule_AddObject(module, "TimeoutExpired", TimeoutExpired); + if (TimeoutExpired == NULL) + return NULL; + if (PyModule_AddObject(mod, "TimeoutExpired", TimeoutExpired)) + return NULL; TimeoutAbandoned = PyErr_NewException( "_psutil_windows.TimeoutAbandoned", NULL, NULL); - Py_INCREF(TimeoutAbandoned); - PyModule_AddObject(module, "TimeoutAbandoned", TimeoutAbandoned); + if (TimeoutAbandoned == NULL) + return NULL; + if (PyModule_AddObject(mod, "TimeoutAbandoned", TimeoutAbandoned)) + return NULL; // version constant - PyModule_AddIntConstant(module, "version", PSUTIL_VERSION); + if (PyModule_AddIntConstant(mod, "version", PSUTIL_VERSION)) + return NULL; // process status constants // http://msdn.microsoft.com/en-us/library/ms683211(v=vs.85).aspx - PyModule_AddIntConstant( - module, "ABOVE_NORMAL_PRIORITY_CLASS", ABOVE_NORMAL_PRIORITY_CLASS); - PyModule_AddIntConstant( - module, "BELOW_NORMAL_PRIORITY_CLASS", BELOW_NORMAL_PRIORITY_CLASS); - PyModule_AddIntConstant( - module, "HIGH_PRIORITY_CLASS", HIGH_PRIORITY_CLASS); - PyModule_AddIntConstant( - module, "IDLE_PRIORITY_CLASS", IDLE_PRIORITY_CLASS); - PyModule_AddIntConstant( - module, "NORMAL_PRIORITY_CLASS", NORMAL_PRIORITY_CLASS); - PyModule_AddIntConstant( - module, "REALTIME_PRIORITY_CLASS", REALTIME_PRIORITY_CLASS); + if (PyModule_AddIntConstant(mod, "ABOVE_NORMAL_PRIORITY_CLASS", ABOVE_NORMAL_PRIORITY_CLASS)) + return NULL; + if (PyModule_AddIntConstant(mod, "BELOW_NORMAL_PRIORITY_CLASS", BELOW_NORMAL_PRIORITY_CLASS)) + return NULL; + if (PyModule_AddIntConstant(mod, "HIGH_PRIORITY_CLASS", HIGH_PRIORITY_CLASS)) + return NULL; + if (PyModule_AddIntConstant(mod, "IDLE_PRIORITY_CLASS", IDLE_PRIORITY_CLASS)) + return NULL; + if (PyModule_AddIntConstant(mod, "NORMAL_PRIORITY_CLASS", NORMAL_PRIORITY_CLASS)) + return NULL; + if (PyModule_AddIntConstant(mod, "REALTIME_PRIORITY_CLASS", REALTIME_PRIORITY_CLASS)) + return NULL; // connection status constants // http://msdn.microsoft.com/en-us/library/cc669305.aspx - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_CLOSED", MIB_TCP_STATE_CLOSED); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_CLOSING", MIB_TCP_STATE_CLOSING); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_CLOSE_WAIT", MIB_TCP_STATE_CLOSE_WAIT); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_LISTEN", MIB_TCP_STATE_LISTEN); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_ESTAB", MIB_TCP_STATE_ESTAB); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_SYN_SENT", MIB_TCP_STATE_SYN_SENT); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_SYN_RCVD", MIB_TCP_STATE_SYN_RCVD); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_FIN_WAIT1", MIB_TCP_STATE_FIN_WAIT1); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_FIN_WAIT2", MIB_TCP_STATE_FIN_WAIT2); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_LAST_ACK", MIB_TCP_STATE_LAST_ACK); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_TIME_WAIT", MIB_TCP_STATE_TIME_WAIT); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_TIME_WAIT", MIB_TCP_STATE_TIME_WAIT); - PyModule_AddIntConstant( - module, "MIB_TCP_STATE_DELETE_TCB", MIB_TCP_STATE_DELETE_TCB); - PyModule_AddIntConstant( - module, "PSUTIL_CONN_NONE", PSUTIL_CONN_NONE); - - // service status constants - /* - PyModule_AddIntConstant( - module, "SERVICE_CONTINUE_PENDING", SERVICE_CONTINUE_PENDING); - PyModule_AddIntConstant( - module, "SERVICE_PAUSE_PENDING", SERVICE_PAUSE_PENDING); - PyModule_AddIntConstant( - module, "SERVICE_PAUSED", SERVICE_PAUSED); - PyModule_AddIntConstant( - module, "SERVICE_RUNNING", SERVICE_RUNNING); - PyModule_AddIntConstant( - module, "SERVICE_START_PENDING", SERVICE_START_PENDING); - PyModule_AddIntConstant( - module, "SERVICE_STOP_PENDING", SERVICE_STOP_PENDING); - PyModule_AddIntConstant( - module, "SERVICE_STOPPED", SERVICE_STOPPED); - */ + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_CLOSED", MIB_TCP_STATE_CLOSED)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_CLOSING", MIB_TCP_STATE_CLOSING)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_CLOSE_WAIT", MIB_TCP_STATE_CLOSE_WAIT)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_LISTEN", MIB_TCP_STATE_LISTEN)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_ESTAB", MIB_TCP_STATE_ESTAB)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_SYN_SENT", MIB_TCP_STATE_SYN_SENT)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_SYN_RCVD", MIB_TCP_STATE_SYN_RCVD)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_FIN_WAIT1", MIB_TCP_STATE_FIN_WAIT1)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_FIN_WAIT2", MIB_TCP_STATE_FIN_WAIT2)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_LAST_ACK", MIB_TCP_STATE_LAST_ACK)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_TIME_WAIT", MIB_TCP_STATE_TIME_WAIT)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_TIME_WAIT", MIB_TCP_STATE_TIME_WAIT)) + return NULL; + if (PyModule_AddIntConstant(mod, "MIB_TCP_STATE_DELETE_TCB", MIB_TCP_STATE_DELETE_TCB)) + return NULL; + if (PyModule_AddIntConstant(mod, "PSUTIL_CONN_NONE", PSUTIL_CONN_NONE)) + return NULL; // ...for internal use in _psutil_windows.py - PyModule_AddIntConstant( - module, "INFINITE", INFINITE); - PyModule_AddIntConstant( - module, "ERROR_ACCESS_DENIED", ERROR_ACCESS_DENIED); - PyModule_AddIntConstant( - module, "ERROR_INVALID_NAME", ERROR_INVALID_NAME); - PyModule_AddIntConstant( - module, "ERROR_SERVICE_DOES_NOT_EXIST", ERROR_SERVICE_DOES_NOT_EXIST); - PyModule_AddIntConstant( - module, "ERROR_PRIVILEGE_NOT_HELD", ERROR_PRIVILEGE_NOT_HELD); - PyModule_AddIntConstant( - module, "WINVER", PSUTIL_WINVER); - PyModule_AddIntConstant( - module, "WINDOWS_VISTA", PSUTIL_WINDOWS_VISTA); - PyModule_AddIntConstant( - module, "WINDOWS_7", PSUTIL_WINDOWS_7); - PyModule_AddIntConstant( - module, "WINDOWS_8", PSUTIL_WINDOWS_8); - PyModule_AddIntConstant( - module, "WINDOWS_8_1", PSUTIL_WINDOWS_8_1); - PyModule_AddIntConstant( - module, "WINDOWS_10", PSUTIL_WINDOWS_10); - - return module; + if (PyModule_AddIntConstant(mod, "INFINITE", INFINITE)) + return NULL; + if (PyModule_AddIntConstant(mod, "ERROR_ACCESS_DENIED", ERROR_ACCESS_DENIED)) + return NULL; + if (PyModule_AddIntConstant(mod, "ERROR_INVALID_NAME", ERROR_INVALID_NAME)) + return NULL; + if (PyModule_AddIntConstant(mod, "ERROR_SERVICE_DOES_NOT_EXIST", ERROR_SERVICE_DOES_NOT_EXIST)) + return NULL; + if (PyModule_AddIntConstant(mod, "ERROR_PRIVILEGE_NOT_HELD", ERROR_PRIVILEGE_NOT_HELD)) + return NULL; + if (PyModule_AddIntConstant(mod, "WINVER", PSUTIL_WINVER)) + return NULL; + if (PyModule_AddIntConstant(mod, "WINDOWS_VISTA", PSUTIL_WINDOWS_VISTA)) + return NULL; + if (PyModule_AddIntConstant(mod, "WINDOWS_7", PSUTIL_WINDOWS_7)) + return NULL; + if (PyModule_AddIntConstant(mod, "WINDOWS_8", PSUTIL_WINDOWS_8)) + return NULL; + if (PyModule_AddIntConstant(mod, "WINDOWS_8_1", PSUTIL_WINDOWS_8_1)) + return NULL; + if (PyModule_AddIntConstant(mod, "WINDOWS_10", PSUTIL_WINDOWS_10)) + return NULL; + + return mod; } diff --git a/contrib/python/psutil/py3/psutil/_pswindows.py b/contrib/python/psutil/py3/psutil/_pswindows.py index e5af3c90f43..c6c8fffa4b0 100644 --- a/contrib/python/psutil/py3/psutil/_pswindows.py +++ b/contrib/python/psutil/py3/psutil/_pswindows.py @@ -10,6 +10,7 @@ import functools import os import signal import sys +import threading import time from collections import namedtuple @@ -33,7 +34,6 @@ from ._psutil_windows import IDLE_PRIORITY_CLASS from ._psutil_windows import NORMAL_PRIORITY_CLASS from ._psutil_windows import REALTIME_PRIORITY_CLASS - try: from . import _psutil_windows as cext except ImportError as err: @@ -184,12 +184,21 @@ pio = namedtuple('pio', ['read_count', 'write_count', @functools.lru_cache(maxsize=512) def convert_dos_path(s): r"""Convert paths using native DOS format like: - "\Device\HarddiskVolume1\Windows\systemew\file.txt" + "\Device\HarddiskVolume1\Windows\systemew\file.txt" or + "\??\C:\Windows\systemew\file.txt" into: "C:\Windows\systemew\file.txt". """ + if s.startswith('\\\\'): + return s rawdrive = '\\'.join(s.split('\\')[:3]) - driveletter = cext.QueryDosDevice(rawdrive) + if rawdrive in {"\\??\\UNC", "\\Device\\Mup"}: + rawdrive = '\\'.join(s.split('\\')[:5]) + driveletter = '\\\\' + '\\'.join(s.split('\\')[3:5]) + elif rawdrive.startswith('\\??\\'): + driveletter = s.split('\\')[2] + else: + driveletter = cext.QueryDosDevice(rawdrive) remainder = s[len(rawdrive) :] return os.path.join(driveletter, remainder) @@ -322,22 +331,31 @@ def cpu_freq(): return [_common.scpufreq(float(curr), min_, float(max_))] -_loadavg_inititialized = False +_loadavg_initialized = False +_lock = threading.Lock() + + +def _getloadavg_impl(): + # Drop to 2 decimal points which is what Linux does + raw_loads = cext.getloadavg() + return tuple(round(load, 2) for load in raw_loads) def getloadavg(): """Return the number of processes in the system run queue averaged over the last 1, 5, and 15 minutes respectively as a tuple. """ - global _loadavg_inititialized + global _loadavg_initialized - if not _loadavg_inititialized: - cext.init_loadavg_counter() - _loadavg_inititialized = True + if _loadavg_initialized: + return _getloadavg_impl() - # Drop to 2 decimal points which is what Linux does - raw_loads = cext.getloadavg() - return tuple(round(load, 2) for load in raw_loads) + with _lock: + if not _loadavg_initialized: + cext.init_loadavg_counter() + _loadavg_initialized = True + + return _getloadavg_impl() # ===================================================================== @@ -426,12 +444,14 @@ _last_btime = 0 def boot_time(): - """The system boot time expressed in seconds since the epoch.""" + """The system boot time expressed in seconds since the epoch. This + also includes the time spent during hybernate / suspend. + """ # This dirty hack is to adjust the precision of the returned # value which may have a 1 second fluctuation, see: # https://github.com/giampaolo/psutil/issues/1007 global _last_btime - ret = float(cext.boot_time()) + ret = time.time() - cext.uptime() if abs(ret - _last_btime) <= 1: return _last_btime else: diff --git a/contrib/python/psutil/py3/psutil/arch/all/init.c b/contrib/python/psutil/py3/psutil/arch/all/init.c new file mode 100644 index 00000000000..82e7c4b6541 --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/all/init.c @@ -0,0 +1,134 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +// Global names shared by all platforms. + +#include <Python.h> +#ifdef PSUTIL_WINDOWS +#include <windows.h> +#endif + +#include "init.h" + +int PSUTIL_DEBUG = 0; +int PSUTIL_CONN_NONE = 128; + +#ifdef Py_GIL_DISABLED +PyMutex utxent_lock = {0}; +#endif + + +// Set OSError(errno=ESRCH, strerror="No such process (originated from") +// Python exception. +PyObject * +NoSuchProcess(const char *syscall) { + PyObject *exc; + char msg[1024]; + + sprintf(msg, "assume no such process (originated from %s)", syscall); + exc = PyObject_CallFunction(PyExc_OSError, "(is)", ESRCH, msg); + PyErr_SetObject(PyExc_OSError, exc); + Py_XDECREF(exc); + return NULL; +} + + +// Set OSError(errno=EACCES, strerror="Permission denied" (originated from ...) +// Python exception. +PyObject * +AccessDenied(const char *syscall) { + PyObject *exc; + char msg[1024]; + + sprintf(msg, "assume access denied (originated from %s)", syscall); + exc = PyObject_CallFunction(PyExc_OSError, "(is)", EACCES, msg); + PyErr_SetObject(PyExc_OSError, exc); + Py_XDECREF(exc); + return NULL; +} + + +// Same as PyErr_SetFromErrno(0) but adds the syscall to the exception +// message. +PyObject * +psutil_PyErr_SetFromOSErrnoWithSyscall(const char *syscall) { + char fullmsg[1024]; + +#ifdef PSUTIL_WINDOWS + DWORD dwLastError = GetLastError(); + sprintf(fullmsg, "(originated from %s)", syscall); + PyErr_SetFromWindowsErrWithFilename(dwLastError, fullmsg); +#else + PyObject *exc; + sprintf(fullmsg, "%s (originated from %s)", strerror(errno), syscall); + exc = PyObject_CallFunction(PyExc_OSError, "(is)", errno, fullmsg); + PyErr_SetObject(PyExc_OSError, exc); + Py_XDECREF(exc); +#endif + return NULL; +} + + +// Enable or disable PSUTIL_DEBUG messages. +PyObject * +psutil_set_debug(PyObject *self, PyObject *args) { + PyObject *value; + int x; + + if (!PyArg_ParseTuple(args, "O", &value)) + return NULL; + x = PyObject_IsTrue(value); + if (x < 0) { + return NULL; + } + else if (x == 0) { + PSUTIL_DEBUG = 0; + } + else { + PSUTIL_DEBUG = 1; + } + Py_RETURN_NONE; +} + + +// Raise OverflowError if Python int value overflowed when converting +// to pid_t. Raise ValueError if Python int value is negative. +// Otherwise, return None. +PyObject * +psutil_check_pid_range(PyObject *self, PyObject *args) { +#ifdef PSUTIL_WINDOWS + DWORD pid; +#else + pid_t pid; +#endif + + if (!PyArg_ParseTuple(args, _Py_PARSE_PID, &pid)) + return NULL; + if (pid < 0) { + PyErr_SetString(PyExc_ValueError, "pid must be a positive integer"); + return NULL; + } + Py_RETURN_NONE; +} + + +// Use it when invalid args are passed to a C function. +int +psutil_badargs(const char *funcname) { + PyErr_Format( + PyExc_RuntimeError, "%s() invalid args passed to function", funcname + ); + return -1; +} + + +// Called on module import on all platforms. +int +psutil_setup(void) { + if (getenv("PSUTIL_DEBUG") != NULL) + PSUTIL_DEBUG = 1; + return 0; +} diff --git a/contrib/python/psutil/py3/psutil/arch/all/init.h b/contrib/python/psutil/py3/psutil/arch/all/init.h new file mode 100644 index 00000000000..2b3e20ff81c --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/all/init.h @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +// Global names shared by all platforms. + +#include <Python.h> + +// We do this so that all .c files have to include only one header +// (ourselves, init.h). + +#if defined(PSUTIL_POSIX) + #include "../../arch/posix/init.h" +#endif +#if defined(PSUTIL_BSD) + #error #include "../../arch/bsd/init.h" +#endif + +#if defined(PSUTIL_LINUX) + #include "../../arch/linux/init.h" +#elif defined(PSUTIL_WINDOWS) + #include "../../arch/windows/init.h" +#elif defined(PSUTIL_OSX) + #include "../../arch/osx/init.h" +#elif defined(PSUTIL_FREEBSD) + #error #include "../../arch/freebsd/init.h" +#elif defined(PSUTIL_OPENBSD) + #error #include "../../arch/openbsd/init.h" +#elif defined(PSUTIL_NETBSD) + #error #include "../../arch/netbsd/init.h" +#elif defined(PSUTIL_SUNOS) + #include "../../arch/sunos/init.h" +#endif + +// print debug messages when set to 1 +extern int PSUTIL_DEBUG; +// a signaler for connections without an actual status +extern int PSUTIL_CONN_NONE; + +#ifdef Py_GIL_DISABLED + extern PyMutex utxent_lock; + #define UTXENT_MUTEX_LOCK() PyMutex_Lock(&utxent_lock) + #define UTXENT_MUTEX_UNLOCK() PyMutex_Unlock(&utxent_lock) +#else + #define UTXENT_MUTEX_LOCK() + #define UTXENT_MUTEX_UNLOCK() +#endif + +// Print a debug message on stderr. +#define psutil_debug(...) do { \ + if (! PSUTIL_DEBUG) \ + break; \ + fprintf(stderr, "psutil-debug [%s:%d]> ", __FILE__, __LINE__); \ + fprintf(stderr, __VA_ARGS__); \ + fprintf(stderr, "\n");} while(0) + + +// strncpy() variant which appends a null terminator. +#define PSUTIL_STRNCPY(dst, src, n) \ + strncpy(dst, src, n - 1); \ + dst[n - 1] = '\0' + +// ==================================================================== +// --- Custom exceptions +// ==================================================================== + +PyObject *AccessDenied(const char *msg); +PyObject *NoSuchProcess(const char *msg); +PyObject *psutil_PyErr_SetFromOSErrnoWithSyscall(const char *syscall); + +// ==================================================================== +// --- Backward compatibility with missing Python.h APIs +// ==================================================================== + +// --- _Py_PARSE_PID + +// SIZEOF_INT|LONG is missing on Linux + PyPy (only?). +// In this case we guess it from setup.py. It's not 100% bullet proof, +// If wrong we'll probably get compiler warnings. +// FWIW on all UNIX platforms I've seen pid_t is defined as an int. +// _getpid() on Windows also returns an int. +#if !defined(SIZEOF_INT) + #define SIZEOF_INT 4 +#endif +#if !defined(SIZEOF_LONG) + #define SIZEOF_LONG 8 +#endif +#if !defined(SIZEOF_PID_T) + #define SIZEOF_PID_T PSUTIL_SIZEOF_PID_T // set as a macro in setup.py +#endif + +// _Py_PARSE_PID was added in Python 3, but since it's private we make +// sure it's always present. +#ifndef _Py_PARSE_PID + #if SIZEOF_PID_T == SIZEOF_INT + #define _Py_PARSE_PID "i" + #elif SIZEOF_PID_T == SIZEOF_LONG + #define _Py_PARSE_PID "l" + #elif defined(SIZEOF_LONG_LONG) && SIZEOF_PID_T == SIZEOF_LONG_LONG + #define _Py_PARSE_PID "L" + #else + #error "_Py_PARSE_PID: sizeof(pid_t) is neither sizeof(int), " + "sizeof(long) or sizeof(long long)" + #endif +#endif + +// PyPy on Windows +#ifndef PyLong_FromPid + #if ((SIZEOF_PID_T == SIZEOF_INT) || (SIZEOF_PID_T == SIZEOF_LONG)) + #define PyLong_FromPid PyLong_FromLong + #elif defined(SIZEOF_LONG_LONG) && SIZEOF_PID_T == SIZEOF_LONG_LONG + #define PyLong_FromPid PyLong_FromLongLong + #else + #error "PyLong_FromPid: sizeof(pid_t) is neither sizeof(int), " + "sizeof(long) or sizeof(long long)" + #endif +#endif + +int psutil_badargs(const char *funcname); +int psutil_setup(void); + +#if defined(PSUTIL_WINDOWS) || defined(PSUTIL_BSD) || defined(PSUTIL_OSX) +PyObject *psutil_pids(PyObject *self, PyObject *args); +#endif +PyObject *psutil_set_debug(PyObject *self, PyObject *args); +PyObject *psutil_check_pid_range(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/all/pids.c b/contrib/python/psutil/py3/psutil/arch/all/pids.c new file mode 100644 index 00000000000..d88c10dd6b1 --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/all/pids.c @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#if defined(PSUTIL_WINDOWS) || defined(PSUTIL_BSD) || defined(PSUTIL_OSX) +#include <Python.h> + +#include "init.h" + + +PyObject * +psutil_pids(PyObject *self, PyObject *args) { +#ifdef PSUTIL_WINDOWS + DWORD *pids_array = NULL; +#else + pid_t *pids_array = NULL; +#endif + int pids_count = 0; + int i; + PyObject *py_retlist = PyList_New(0); + PyObject *py_pid = NULL; + + if (!py_retlist) + return NULL; + + if (_psutil_pids(&pids_array, &pids_count) != 0) + goto error; + + if (pids_count == 0) { + PyErr_Format(PyExc_RuntimeError, "no PIDs found"); + goto error; + } + + for (i = 0; i < pids_count; i++) { + py_pid = PyLong_FromPid(pids_array[i]); + if (!py_pid) + goto error; + if (PyList_Append(py_retlist, py_pid)) + goto error; + Py_CLEAR(py_pid); + } + + free(pids_array); + return py_retlist; + +error: + Py_XDECREF(py_pid); + Py_DECREF(py_retlist); + free(pids_array); + return NULL; +} +#endif diff --git a/contrib/python/psutil/py3/psutil/arch/linux/disk.c b/contrib/python/psutil/py3/psutil/arch/linux/disk.c index 692a7d5d476..fb6726af989 100644 --- a/contrib/python/psutil/py3/psutil/arch/linux/disk.c +++ b/contrib/python/psutil/py3/psutil/arch/linux/disk.c @@ -4,11 +4,11 @@ * found in the LICENSE file. */ +#include "../../arch/all/init.h" + #include <Python.h> #include <mntent.h> -#include "../../_psutil_common.h" - // Return disk mounted partitions as a list of tuples including device, // mount point and filesystem type. diff --git a/contrib/python/psutil/py3/psutil/arch/linux/disk.h b/contrib/python/psutil/py3/psutil/arch/linux/disk.h deleted file mode 100644 index 90a86d611b8..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/linux/disk.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_disk_partitions(PyObject* self, PyObject* args); diff --git a/contrib/python/psutil/py3/psutil/arch/linux/proc.h b/contrib/python/psutil/py3/psutil/arch/linux/init.h index 94a84c62ec6..77c83c6b355 100644 --- a/contrib/python/psutil/py3/psutil/arch/linux/proc.h +++ b/contrib/python/psutil/py3/psutil/arch/linux/init.h @@ -8,9 +8,13 @@ #include <sys/syscall.h> // __NR_* #include <sched.h> // CPU_ALLOC +PyObject *psutil_disk_partitions(PyObject *self, PyObject *args); +PyObject *psutil_linux_sysinfo(PyObject *self, PyObject *args); +PyObject *psutil_net_if_duplex_speed(PyObject *self, PyObject *args); + // Linux >= 2.6.13 #if defined(__NR_ioprio_get) && defined(__NR_ioprio_set) - #define PSUTIL_HAVE_IOPRIO + #define PSUTIL_HAS_IOPRIO PyObject *psutil_proc_ioprio_get(PyObject *self, PyObject *args); PyObject *psutil_proc_ioprio_set(PyObject *self, PyObject *args); @@ -18,7 +22,7 @@ // Should exist starting from CentOS 6 (year 2011). #ifdef CPU_ALLOC - #define PSUTIL_HAVE_CPU_AFFINITY + #define PSUTIL_HAS_CPU_AFFINITY PyObject *psutil_proc_cpu_affinity_get(PyObject *self, PyObject *args); PyObject *psutil_proc_cpu_affinity_set(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/linux/mem.c b/contrib/python/psutil/py3/psutil/arch/linux/mem.c index 3b9b4fef3fd..cacf1e7766c 100644 --- a/contrib/python/psutil/py3/psutil/arch/linux/mem.c +++ b/contrib/python/psutil/py3/psutil/arch/linux/mem.c @@ -7,7 +7,7 @@ #include <Python.h> #include <sys/sysinfo.h> -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" PyObject * diff --git a/contrib/python/psutil/py3/psutil/arch/linux/mem.h b/contrib/python/psutil/py3/psutil/arch/linux/mem.h deleted file mode 100644 index 582d3e0314f..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/linux/mem.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_linux_sysinfo(PyObject* self, PyObject* args); diff --git a/contrib/python/psutil/py3/psutil/arch/linux/net.c b/contrib/python/psutil/py3/psutil/arch/linux/net.c index 6d2785ee636..2488d9ab278 100644 --- a/contrib/python/psutil/py3/psutil/arch/linux/net.c +++ b/contrib/python/psutil/py3/psutil/arch/linux/net.c @@ -12,6 +12,8 @@ #include <linux/version.h> #include <unistd.h> +#include "../../arch/all/init.h" + // see: https://github.com/giampaolo/psutil/issues/659 #ifdef PSUTIL_ETHTOOL_MISSING_TYPES #include <linux/types.h> @@ -25,8 +27,6 @@ #define _LINUX_SYSINFO_H #include <linux/ethtool.h> -#include "../../_psutil_common.h" - // * defined in linux/ethtool.h but not always available (e.g. Android) // * #ifdef check needed for old kernels, see: diff --git a/contrib/python/psutil/py3/psutil/arch/linux/net.h b/contrib/python/psutil/py3/psutil/arch/linux/net.h deleted file mode 100644 index 55095c06c92..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/linux/net.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_net_if_duplex_speed(PyObject* self, PyObject* args); diff --git a/contrib/python/psutil/py3/psutil/arch/linux/proc.c b/contrib/python/psutil/py3/psutil/arch/linux/proc.c index f8230ee75b0..9024c818424 100644 --- a/contrib/python/psutil/py3/psutil/arch/linux/proc.c +++ b/contrib/python/psutil/py3/psutil/arch/linux/proc.c @@ -4,16 +4,14 @@ * found in the LICENSE file. */ +#include "../../arch/all/init.h" + #include <Python.h> #include <sys/syscall.h> #include <sched.h> #include <unistd.h> -#include "proc.h" -#include "../../_psutil_common.h" - - -#ifdef PSUTIL_HAVE_IOPRIO +#ifdef PSUTIL_HAS_IOPRIO enum { IOPRIO_WHO_PROCESS = 1, }; @@ -72,10 +70,10 @@ psutil_proc_ioprio_set(PyObject *self, PyObject *args) { return PyErr_SetFromErrno(PyExc_OSError); Py_RETURN_NONE; } -#endif // PSUTIL_HAVE_IOPRIO +#endif // PSUTIL_HAS_IOPRIO -#ifdef PSUTIL_HAVE_CPU_AFFINITY +#ifdef PSUTIL_HAS_CPU_AFFINITY // Return process CPU affinity as a Python list. PyObject * @@ -186,4 +184,4 @@ psutil_proc_cpu_affinity_set(PyObject *self, PyObject *args) { Py_RETURN_NONE; } -#endif // PSUTIL_HAVE_CPU_AFFINITY +#endif // PSUTIL_HAS_CPU_AFFINITY diff --git a/contrib/python/psutil/py3/psutil/arch/linux/users.h b/contrib/python/psutil/py3/psutil/arch/linux/users.h deleted file mode 100644 index ba2735d1d29..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/linux/users.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_users(PyObject* self, PyObject* args); diff --git a/contrib/python/psutil/py3/psutil/arch/osx/cpu.c b/contrib/python/psutil/py3/psutil/arch/osx/cpu.c index a3531536416..e556037d57b 100644 --- a/contrib/python/psutil/py3/psutil/arch/osx/cpu.c +++ b/contrib/python/psutil/py3/psutil/arch/osx/cpu.c @@ -27,39 +27,34 @@ For reference, here's the git history with original implementations: #include <sys/vmmeter.h> #include <mach/mach.h> #if defined(__arm64__) || defined(__aarch64__) -#include <CoreFoundation/CoreFoundation.h> -#include <IOKit/IOKitLib.h> + #include <CoreFoundation/CoreFoundation.h> + #include <IOKit/IOKitLib.h> #endif -#if (defined __MAC_OS_X_VERSION_MIN_REQUIRED) && (__MAC_OS_X_VERSION_MIN_REQUIRED < 120000) -#define kIOMainPortDefault kIOMasterPortDefault -#endif - -#include "../../_psutil_common.h" -#include "../../_psutil_posix.h" +#include "../../arch/all/init.h" +// added in macOS 12 +#ifndef kIOMainPortDefault + #define kIOMainPortDefault 0 +#endif PyObject * psutil_cpu_count_logical(PyObject *self, PyObject *args) { int num; - size_t size = sizeof(int); - if (sysctlbyname("hw.logicalcpu", &num, &size, NULL, 2)) - Py_RETURN_NONE; // mimic os.cpu_count() - else - return Py_BuildValue("i", num); + if (psutil_sysctlbyname("hw.logicalcpu", &num, sizeof(num)) != 0) + Py_RETURN_NONE; + return Py_BuildValue("i", num); } PyObject * psutil_cpu_count_cores(PyObject *self, PyObject *args) { int num; - size_t size = sizeof(int); - if (sysctlbyname("hw.physicalcpu", &num, &size, NULL, 0)) - Py_RETURN_NONE; // mimic os.cpu_count() - else - return Py_BuildValue("i", num); + if (psutil_sysctlbyname("hw.physicalcpu", &num, sizeof(num)) != 0) + Py_RETURN_NONE; + return Py_BuildValue("i", num); } @@ -68,17 +63,25 @@ psutil_cpu_times(PyObject *self, PyObject *args) { mach_msg_type_number_t count = HOST_CPU_LOAD_INFO_COUNT; kern_return_t error; host_cpu_load_info_data_t r_load; + mach_port_t mport = mach_host_self(); + + if (mport == MACH_PORT_NULL) { + PyErr_SetString(PyExc_RuntimeError, + "mach_host_self() returned MACH_PORT_NULL"); + return NULL; + } - mach_port_t host_port = mach_host_self(); - error = host_statistics(host_port, HOST_CPU_LOAD_INFO, + error = host_statistics(mport, HOST_CPU_LOAD_INFO, (host_info_t)&r_load, &count); + mach_port_deallocate(mach_task_self(), mport); + if (error != KERN_SUCCESS) { return PyErr_Format( PyExc_RuntimeError, "host_statistics(HOST_CPU_LOAD_INFO) syscall failed: %s", - mach_error_string(error)); + mach_error_string(error) + ); } - mach_port_deallocate(mach_task_self(), host_port); return Py_BuildValue( "(dddd)", @@ -92,235 +95,259 @@ psutil_cpu_times(PyObject *self, PyObject *args) { PyObject * psutil_cpu_stats(PyObject *self, PyObject *args) { - struct vmmeter vmstat; kern_return_t ret; - mach_msg_type_number_t count = sizeof(vmstat) / sizeof(integer_t); + mach_msg_type_number_t count = HOST_VM_INFO_COUNT; mach_port_t mport = mach_host_self(); + struct vmmeter vmstat; + + if (mport == MACH_PORT_NULL) { + PyErr_SetString(PyExc_RuntimeError, + "mach_host_self() returned MACH_PORT_NULL"); + return NULL; + } ret = host_statistics(mport, HOST_VM_INFO, (host_info_t)&vmstat, &count); + mach_port_deallocate(mach_task_self(), mport); + if (ret != KERN_SUCCESS) { PyErr_Format( PyExc_RuntimeError, "host_statistics(HOST_VM_INFO) failed: %s", - mach_error_string(ret)); + mach_error_string(ret) + ); return NULL; } - mach_port_deallocate(mach_task_self(), mport); return Py_BuildValue( "IIIII", - vmstat.v_swtch, // ctx switches - vmstat.v_intr, // interrupts - vmstat.v_soft, // software interrupts - vmstat.v_syscall, // syscalls - vmstat.v_trap // traps + vmstat.v_swtch, + vmstat.v_intr, + vmstat.v_soft, +#if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) \ + && __MAC_OS_X_VERSION_MIN_REQUIRED__ >= 120000 + 0, +#else + vmstat.v_syscall, +#endif + vmstat.v_trap ); } + #if defined(__arm64__) || defined(__aarch64__) -PyObject * -psutil_cpu_freq(PyObject *self, PyObject *args) { - uint32_t min; - uint32_t curr; - uint32_t pMin; - uint32_t eMin; - uint32_t max; + +// Helper to locate the 'pmgr' entry in AppleARMIODevice. Returns 0 on +// failure, nonzero on success, and stores the found entry in +// *out_entry. Caller is responsible for IOObjectRelease(*out_entry). +// Needed because on GitHub CI sometimes (but not all the times) +// "AppleARMIODevice" is not available. +static int +psutil_find_pmgr_entry(io_registry_entry_t *out_entry) { kern_return_t status; - CFDictionaryRef matching = NULL; - CFTypeRef pCoreRef = NULL; - CFTypeRef eCoreRef = NULL; - io_iterator_t iter = 0; - io_registry_entry_t entry = 0; - io_name_t name; + io_iterator_t iter = IO_OBJECT_NULL; + io_registry_entry_t entry = IO_OBJECT_NULL; + CFDictionaryRef matching = IOServiceMatching("AppleARMIODevice"); + int found = 0; - matching = IOServiceMatching("AppleARMIODevice"); - if (matching == 0) { - return PyErr_Format( - PyExc_RuntimeError, - "IOServiceMatching call failed, 'AppleARMIODevice' not found" - ); - } + if (!out_entry || !matching) + return 0; status = IOServiceGetMatchingServices(kIOMainPortDefault, matching, &iter); - if (status != KERN_SUCCESS) { - PyErr_Format( - PyExc_RuntimeError, "IOServiceGetMatchingServices call failed" - ); - goto error; - } - - while ((entry = IOIteratorNext(iter)) != 0) { - status = IORegistryEntryGetName(entry, name); - if (status != KERN_SUCCESS) { - IOObjectRelease(entry); - continue; - } - if (strcmp(name, "pmgr") == 0) { + if (status != KERN_SUCCESS || iter == IO_OBJECT_NULL) + return 0; + + while ((entry = IOIteratorNext(iter)) != IO_OBJECT_NULL) { + io_name_t name; + if (IORegistryEntryGetName(entry, name) == KERN_SUCCESS && + strcmp(name, "pmgr") == 0) { + found = 1; break; } IOObjectRelease(entry); } - if (entry == 0) { - PyErr_Format( - PyExc_RuntimeError, - "'pmgr' entry was not found in AppleARMIODevice service" - ); - goto error; - } + IOObjectRelease(iter); - pCoreRef = IORegistryEntryCreateCFProperty( - entry, CFSTR("voltage-states5-sram"), kCFAllocatorDefault, 0); - if (pCoreRef == NULL) { - PyErr_Format( - PyExc_RuntimeError, "'voltage-states5-sram' property not found"); - goto error; + if (found) { + *out_entry = entry; + return 1; } + return 0; +} - eCoreRef = IORegistryEntryCreateCFProperty( - entry, CFSTR("voltage-states1-sram"), kCFAllocatorDefault, 0); - if (eCoreRef == NULL) { - PyErr_Format( - PyExc_RuntimeError, "'voltage-states1-sram' property not found"); - goto error; - } +// Python wrapper: return True/False. +PyObject * +psutil_has_cpu_freq(PyObject *self, PyObject *args) { + io_registry_entry_t entry = IO_OBJECT_NULL; + int ok = psutil_find_pmgr_entry(&entry); + if (entry != IO_OBJECT_NULL) + IOObjectRelease(entry); + if (ok) + Py_RETURN_TRUE; + Py_RETURN_FALSE; +} - size_t pCoreLength = CFDataGetLength(pCoreRef); - size_t eCoreLength = CFDataGetLength(eCoreRef); - if (pCoreLength < 8) { - PyErr_Format( + +PyObject * +psutil_cpu_freq(PyObject *self, PyObject *args) { + io_registry_entry_t entry = IO_OBJECT_NULL; + CFTypeRef pCoreRef = NULL; + CFTypeRef eCoreRef = NULL; + size_t pCoreLength = 0; + uint32_t pMin = 0, eMin = 0, min = 0, max = 0, curr = 0; + + if (!psutil_find_pmgr_entry(&entry)) { + PyErr_SetString( PyExc_RuntimeError, - "expected 'voltage-states5-sram' buffer to have at least size 8" + "'pmgr' entry not found in AppleARMIODevice" ); - goto error; + return NULL; } - if (eCoreLength < 4) { - PyErr_Format( - PyExc_RuntimeError, - "expected 'voltage-states1-sram' buffer to have at least size 4" - ); - goto error; + + pCoreRef = IORegistryEntryCreateCFProperty( + entry, CFSTR("voltage-states5-sram"), kCFAllocatorDefault, 0 + ); + eCoreRef = IORegistryEntryCreateCFProperty( + entry, CFSTR("voltage-states1-sram"), kCFAllocatorDefault, 0 + ); + + if (!pCoreRef || + !eCoreRef || + CFGetTypeID(pCoreRef) != CFDataGetTypeID() || + CFGetTypeID(eCoreRef) != CFDataGetTypeID() || + CFDataGetLength(pCoreRef) < 8 || + CFDataGetLength(eCoreRef) < 4) + { + PyErr_SetString(PyExc_RuntimeError, "invalid CPU frequency data"); + goto cleanup; } - CFDataGetBytes(pCoreRef, CFRangeMake(0, 4), (UInt8 *) &pMin); - CFDataGetBytes(eCoreRef, CFRangeMake(0, 4), (UInt8 *) &eMin); - CFDataGetBytes(pCoreRef, CFRangeMake(pCoreLength - 8, 4), (UInt8 *) &max); + pCoreLength = CFDataGetLength(pCoreRef); + CFDataGetBytes(pCoreRef, CFRangeMake(0, 4), (UInt8 *)&pMin); + CFDataGetBytes(eCoreRef, CFRangeMake(0, 4), (UInt8 *)&eMin); + CFDataGetBytes(pCoreRef, CFRangeMake(pCoreLength - 8, 4), (UInt8 *)&max); - min = pMin < eMin ? pMin : eMin; + min = (pMin < eMin) ? pMin : eMin; curr = max; - CFRelease(pCoreRef); - CFRelease(eCoreRef); - IOObjectRelease(iter); - IOObjectRelease(entry); +cleanup: + if (pCoreRef) + CFRelease(pCoreRef); + if (eCoreRef) + CFRelease(eCoreRef); + if (entry != IO_OBJECT_NULL) + IOObjectRelease(entry); return Py_BuildValue( - "IKK", - curr / 1000 / 1000, - min / 1000 / 1000, - max / 1000 / 1000 + "KKK", + (unsigned long long)(curr / 1000 / 1000), + (unsigned long long)(min / 1000 / 1000), + (unsigned long long)(max / 1000 / 1000) ); +} -error: - if (pCoreRef != NULL) - CFRelease(pCoreRef); - if (eCoreRef != NULL) - CFRelease(eCoreRef); - if (iter != 0) - IOObjectRelease(iter); - if (entry != 0) - IOObjectRelease(entry); - return NULL; +#else // not ARM64 / ARCH64 + +PyObject * +psutil_has_cpu_freq(PyObject *self, PyObject *args) { + Py_RETURN_TRUE; } -#else + PyObject * psutil_cpu_freq(PyObject *self, PyObject *args) { unsigned int curr; - int64_t min = 0; - int64_t max = 0; - int mib[2]; - size_t len = sizeof(curr); - size_t size = sizeof(min); - - // also available as "hw.cpufrequency" but it's deprecated - mib[0] = CTL_HW; - mib[1] = HW_CPU_FREQ; + int64_t min = 0, max = 0; + int mib[2] = {CTL_HW, HW_CPU_FREQ}; - if (sysctl(mib, 2, &curr, &len, NULL, 0) < 0) + if (psutil_sysctl(mib, 2, &curr, sizeof(curr)) < 0) return psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl(HW_CPU_FREQ)"); - if (sysctlbyname("hw.cpufrequency_min", &min, &size, NULL, 0)) - psutil_debug("sysctl('hw.cpufrequency_min') failed (set to 0)"); + if (psutil_sysctlbyname("hw.cpufrequency_min", &min, sizeof(min)) != 0) { + min = 0; + psutil_debug("sysctlbyname('hw.cpufrequency_min') failed (set to 0)"); + } - if (sysctlbyname("hw.cpufrequency_max", &max, &size, NULL, 0)) - psutil_debug("sysctl('hw.cpufrequency_min') failed (set to 0)"); + if (psutil_sysctlbyname("hw.cpufrequency_max", &max, sizeof(max)) != 0) { + max = 0; + psutil_debug("sysctlbyname('hw.cpufrequency_max') failed (set to 0)"); + } return Py_BuildValue( - "IKK", - curr / 1000 / 1000, - min / 1000 / 1000, - max / 1000 / 1000); + "KKK", + (unsigned long long)(curr / 1000 / 1000), + (unsigned long long)(min / 1000 / 1000), + (unsigned long long)(max / 1000 / 1000) + ); } -#endif + +#endif // ARM64 PyObject * psutil_per_cpu_times(PyObject *self, PyObject *args) { - natural_t cpu_count; - natural_t i; - processor_info_array_t info_array; - mach_msg_type_number_t info_count; - kern_return_t error; + natural_t cpu_count = 0; + mach_msg_type_number_t info_count = 0; processor_cpu_load_info_data_t *cpu_load_info = NULL; - int ret; + processor_info_array_t info_array = NULL; + kern_return_t error; + mach_port_t mport = mach_host_self(); PyObject *py_retlist = PyList_New(0); - PyObject *py_cputime = NULL; - if (py_retlist == NULL) + if (!py_retlist) return NULL; - mach_port_t host_port = mach_host_self(); - error = host_processor_info(host_port, PROCESSOR_CPU_LOAD_INFO, - &cpu_count, &info_array, &info_count); - if (error != KERN_SUCCESS) { + if (mport == MACH_PORT_NULL) { + PyErr_SetString(PyExc_RuntimeError, "mach_host_self() returned NULL"); + goto error; + } + + error = host_processor_info( + mport, PROCESSOR_CPU_LOAD_INFO, &cpu_count, &info_array, &info_count + ); + mach_port_deallocate(mach_task_self(), mport); + + if (error != KERN_SUCCESS || !info_array) { PyErr_Format( PyExc_RuntimeError, - "host_processor_info(PROCESSOR_CPU_LOAD_INFO) syscall failed: %s", - mach_error_string(error)); + "host_processor_info failed: %s", + mach_error_string(error) + ); goto error; } - mach_port_deallocate(mach_task_self(), host_port); - cpu_load_info = (processor_cpu_load_info_data_t *) info_array; + cpu_load_info = (processor_cpu_load_info_data_t *)info_array; - for (i = 0; i < cpu_count; i++) { - py_cputime = Py_BuildValue( + for (natural_t i = 0; i < cpu_count; i++) { + PyObject *py_cputime = Py_BuildValue( "(dddd)", (double)cpu_load_info[i].cpu_ticks[CPU_STATE_USER] / CLK_TCK, (double)cpu_load_info[i].cpu_ticks[CPU_STATE_NICE] / CLK_TCK, (double)cpu_load_info[i].cpu_ticks[CPU_STATE_SYSTEM] / CLK_TCK, (double)cpu_load_info[i].cpu_ticks[CPU_STATE_IDLE] / CLK_TCK ); - if (!py_cputime) + if (!py_cputime) { goto error; - if (PyList_Append(py_retlist, py_cputime)) + } + if (PyList_Append(py_retlist, py_cputime)) { + Py_DECREF(py_cputime); goto error; - Py_CLEAR(py_cputime); + } + Py_DECREF(py_cputime); } - ret = vm_deallocate(mach_task_self(), (vm_address_t)info_array, - info_count * sizeof(int)); - if (ret != KERN_SUCCESS) - PyErr_WarnEx(PyExc_RuntimeWarning, "vm_deallocate() failed", 2); + vm_deallocate( + mach_task_self(), + (vm_address_t)info_array, + info_count * sizeof(integer_t) + ); return py_retlist; error: - Py_XDECREF(py_cputime); - Py_DECREF(py_retlist); - if (cpu_load_info != NULL) { - ret = vm_deallocate(mach_task_self(), (vm_address_t)info_array, - info_count * sizeof(int)); - if (ret != KERN_SUCCESS) - PyErr_WarnEx(PyExc_RuntimeWarning, "vm_deallocate() failed", 2); - } + Py_XDECREF(py_retlist); + if (info_array) + vm_deallocate( + mach_task_self(), + (vm_address_t)info_array, + info_count * sizeof(integer_t) + ); return NULL; } diff --git a/contrib/python/psutil/py3/psutil/arch/osx/cpu.h b/contrib/python/psutil/py3/psutil/arch/osx/cpu.h deleted file mode 100644 index 6cf92f82b3f..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/osx/cpu.h +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_cpu_count_cores(PyObject *self, PyObject *args); -PyObject *psutil_cpu_count_logical(PyObject *self, PyObject *args); -PyObject *psutil_cpu_freq(PyObject *self, PyObject *args); -PyObject *psutil_cpu_stats(PyObject *self, PyObject *args); -PyObject *psutil_cpu_times(PyObject *self, PyObject *args); -PyObject *psutil_per_cpu_times(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/osx/disk.c b/contrib/python/psutil/py3/psutil/arch/osx/disk.c index e1a8f5a4927..052d19996b3 100644 --- a/contrib/python/psutil/py3/psutil/arch/osx/disk.c +++ b/contrib/python/psutil/py3/psutil/arch/osx/disk.c @@ -18,7 +18,7 @@ #include <IOKit/storage/IOMedia.h> #include <IOKit/IOBSD.h> -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" /* @@ -188,6 +188,8 @@ psutil_disk_usage_used(PyObject *self, PyObject *args) { attrs.bitmapcount = ATTR_BIT_MAP_COUNT; attrs.volattr = ATTR_VOL_INFO | ATTR_VOL_SPACEUSED; + attrbuf.size = sizeof(attrbuf); + Py_BEGIN_ALLOW_THREADS ret = getattrlist(mount_point, &attrs, &attrbuf, sizeof(attrbuf), 0); Py_END_ALLOW_THREADS @@ -208,170 +210,162 @@ psutil_disk_usage_used(PyObject *self, PyObject *args) { */ PyObject * psutil_disk_io_counters(PyObject *self, PyObject *args) { - CFDictionaryRef parent_dict; - CFDictionaryRef props_dict; - CFDictionaryRef stats_dict; - io_registry_entry_t parent; - io_registry_entry_t disk; - io_iterator_t disk_list; + CFDictionaryRef parent_dict = NULL; + CFDictionaryRef props_dict = NULL; + CFDictionaryRef stats_dict = NULL; + io_registry_entry_t parent = IO_OBJECT_NULL; + io_registry_entry_t disk = IO_OBJECT_NULL; + io_iterator_t disk_list = IO_OBJECT_NULL; PyObject *py_disk_info = NULL; PyObject *py_retdict = PyDict_New(); if (py_retdict == NULL) return NULL; - // Get list of disks - if (IOServiceGetMatchingServices(kIOMasterPortDefault, - IOServiceMatching(kIOMediaClass), - &disk_list) != kIOReturnSuccess) { - PyErr_SetString( - PyExc_RuntimeError, "unable to get the list of disks."); + if (IOServiceGetMatchingServices( + kIOMasterPortDefault, + IOServiceMatching(kIOMediaClass), + &disk_list) != kIOReturnSuccess) + { + PyErr_SetString(PyExc_RuntimeError, "unable to get the list of disks"); goto error; } - // Iterate over disks while ((disk = IOIteratorNext(disk_list)) != 0) { py_disk_info = NULL; parent_dict = NULL; props_dict = NULL; stats_dict = NULL; + parent = IO_OBJECT_NULL; + + if (IORegistryEntryGetParentEntry(disk, kIOServicePlane, &parent) != kIOReturnSuccess) { + PyErr_SetString(PyExc_RuntimeError, "unable to get the disk's parent"); + goto error; + } - if (IORegistryEntryGetParentEntry(disk, kIOServicePlane, &parent) - != kIOReturnSuccess) { - PyErr_SetString(PyExc_RuntimeError, - "unable to get the disk's parent."); + if (!IOObjectConformsTo(parent, "IOBlockStorageDriver")) { + IOObjectRelease(parent); IOObjectRelease(disk); + continue; + } + + if (IORegistryEntryCreateCFProperties(disk, + (CFMutableDictionaryRef *)&parent_dict, + kCFAllocatorDefault, kNilOptions) != kIOReturnSuccess) + { + PyErr_SetString( + PyExc_RuntimeError, "unable to get the parent's properties" + ); + goto error; + } + + if (IORegistryEntryCreateCFProperties(parent, + (CFMutableDictionaryRef *)&props_dict, + kCFAllocatorDefault, kNilOptions) != kIOReturnSuccess) + { + PyErr_SetString( + PyExc_RuntimeError, "unable to get the disk properties" + ); + goto error; + } + + CFStringRef disk_name_ref = (CFStringRef)CFDictionaryGetValue( + parent_dict, CFSTR(kIOBSDNameKey) + ); + if (disk_name_ref == NULL) { + PyErr_SetString(PyExc_RuntimeError, "unable to get disk name"); + goto error; + } + + const int kMaxDiskNameSize = 64; + char disk_name[kMaxDiskNameSize]; + if (!CFStringGetCString(disk_name_ref, disk_name, kMaxDiskNameSize, + CFStringGetSystemEncoding())) { + PyErr_SetString( + PyExc_RuntimeError, "unable to convert disk name to C string" + ); goto error; } - if (IOObjectConformsTo(parent, "IOBlockStorageDriver")) { - if (IORegistryEntryCreateCFProperties( - disk, - (CFMutableDictionaryRef *) &parent_dict, - kCFAllocatorDefault, - kNilOptions - ) != kIOReturnSuccess) - { - PyErr_SetString(PyExc_RuntimeError, - "unable to get the parent's properties."); - IOObjectRelease(disk); - IOObjectRelease(parent); - goto error; - } - - if (IORegistryEntryCreateCFProperties( - parent, - (CFMutableDictionaryRef *) &props_dict, - kCFAllocatorDefault, - kNilOptions - ) != kIOReturnSuccess) - { - PyErr_SetString(PyExc_RuntimeError, - "unable to get the disk properties."); - CFRelease(props_dict); - IOObjectRelease(disk); - IOObjectRelease(parent); - goto error; - } - - const int kMaxDiskNameSize = 64; - CFStringRef disk_name_ref = (CFStringRef)CFDictionaryGetValue( - parent_dict, CFSTR(kIOBSDNameKey)); - char disk_name[kMaxDiskNameSize]; - - CFStringGetCString(disk_name_ref, - disk_name, - kMaxDiskNameSize, - CFStringGetSystemEncoding()); - - stats_dict = (CFDictionaryRef)CFDictionaryGetValue( - props_dict, CFSTR(kIOBlockStorageDriverStatisticsKey)); - - if (stats_dict == NULL) { - PyErr_SetString(PyExc_RuntimeError, - "Unable to get disk stats."); - goto error; - } - - CFNumberRef number; - int64_t reads = 0; - int64_t writes = 0; - int64_t read_bytes = 0; - int64_t write_bytes = 0; - int64_t read_time = 0; - int64_t write_time = 0; - - // Get disk reads/writes - if ((number = (CFNumberRef)CFDictionaryGetValue( - stats_dict, - CFSTR(kIOBlockStorageDriverStatisticsReadsKey)))) - { - CFNumberGetValue(number, kCFNumberSInt64Type, &reads); - } - if ((number = (CFNumberRef)CFDictionaryGetValue( - stats_dict, - CFSTR(kIOBlockStorageDriverStatisticsWritesKey)))) - { - CFNumberGetValue(number, kCFNumberSInt64Type, &writes); - } - - // Get disk bytes read/written - if ((number = (CFNumberRef)CFDictionaryGetValue( - stats_dict, - CFSTR(kIOBlockStorageDriverStatisticsBytesReadKey)))) - { - CFNumberGetValue(number, kCFNumberSInt64Type, &read_bytes); - } - if ((number = (CFNumberRef)CFDictionaryGetValue( - stats_dict, - CFSTR(kIOBlockStorageDriverStatisticsBytesWrittenKey)))) - { - CFNumberGetValue(number, kCFNumberSInt64Type, &write_bytes); - } - - // Get disk time spent reading/writing (nanoseconds) - if ((number = (CFNumberRef)CFDictionaryGetValue( - stats_dict, - CFSTR(kIOBlockStorageDriverStatisticsTotalReadTimeKey)))) - { - CFNumberGetValue(number, kCFNumberSInt64Type, &read_time); - } - if ((number = (CFNumberRef)CFDictionaryGetValue( - stats_dict, - CFSTR(kIOBlockStorageDriverStatisticsTotalWriteTimeKey)))) - { - CFNumberGetValue(number, kCFNumberSInt64Type, &write_time); - } - - // Read/Write time on macOS comes back in nanoseconds and in psutil - // we've standardized on milliseconds so do the conversion. - py_disk_info = Py_BuildValue( - "(KKKKKK)", - reads, - writes, - read_bytes, - write_bytes, - read_time / 1000 / 1000, - write_time / 1000 / 1000); - if (!py_disk_info) - goto error; - if (PyDict_SetItemString(py_retdict, disk_name, py_disk_info)) - goto error; + stats_dict = (CFDictionaryRef)CFDictionaryGetValue( + props_dict, CFSTR(kIOBlockStorageDriverStatisticsKey) + ); + if (stats_dict == NULL) { + PyErr_SetString(PyExc_RuntimeError, "unable to get disk stats"); + goto error; + } + + CFNumberRef number; + int64_t reads = 0, writes = 0, read_bytes = 0, write_bytes = 0; + int64_t read_time = 0, write_time = 0; + + if ((number = (CFNumberRef)CFDictionaryGetValue( + stats_dict, CFSTR(kIOBlockStorageDriverStatisticsReadsKey)))) + CFNumberGetValue(number, kCFNumberSInt64Type, &reads); + + if ((number = (CFNumberRef)CFDictionaryGetValue( + stats_dict, CFSTR(kIOBlockStorageDriverStatisticsWritesKey)))) + CFNumberGetValue(number, kCFNumberSInt64Type, &writes); + + if ((number = (CFNumberRef)CFDictionaryGetValue( + stats_dict, CFSTR(kIOBlockStorageDriverStatisticsBytesReadKey)))) + CFNumberGetValue(number, kCFNumberSInt64Type, &read_bytes); + + if ((number = (CFNumberRef)CFDictionaryGetValue( + stats_dict, CFSTR(kIOBlockStorageDriverStatisticsBytesWrittenKey)))) + CFNumberGetValue(number, kCFNumberSInt64Type, &write_bytes); + + if ((number = (CFNumberRef)CFDictionaryGetValue( + stats_dict, CFSTR(kIOBlockStorageDriverStatisticsTotalReadTimeKey)))) + CFNumberGetValue(number, kCFNumberSInt64Type, &read_time); + + if ((number = (CFNumberRef)CFDictionaryGetValue( + stats_dict, CFSTR(kIOBlockStorageDriverStatisticsTotalWriteTimeKey)))) + CFNumberGetValue(number, kCFNumberSInt64Type, &write_time); + + py_disk_info = Py_BuildValue( + "(KKKKKK)", + (unsigned long long)reads, + (unsigned long long)writes, + (unsigned long long)read_bytes, + (unsigned long long)write_bytes, + (unsigned long long)(read_time / 1000 / 1000), + (unsigned long long)(write_time / 1000 / 1000) + ); + + if (!py_disk_info) + goto error; + + if (PyDict_SetItemString(py_retdict, disk_name, py_disk_info)) { Py_CLEAR(py_disk_info); + goto error; + } + Py_CLEAR(py_disk_info); + + if (parent_dict) CFRelease(parent_dict); - IOObjectRelease(parent); + if (props_dict) CFRelease(props_dict); - IOObjectRelease(disk); - } + IOObjectRelease(parent); + IOObjectRelease(disk); } - IOObjectRelease (disk_list); - + IOObjectRelease(disk_list); return py_retdict; error: Py_XDECREF(py_disk_info); Py_DECREF(py_retdict); + if (parent_dict) + CFRelease(parent_dict); + if (props_dict) + CFRelease(props_dict); + if (parent != IO_OBJECT_NULL) + IOObjectRelease(parent); + if (disk != IO_OBJECT_NULL) + IOObjectRelease(disk); + if (disk_list != IO_OBJECT_NULL) + IOObjectRelease(disk_list); return NULL; } diff --git a/contrib/python/psutil/py3/psutil/arch/osx/disk.h b/contrib/python/psutil/py3/psutil/arch/osx/disk.h deleted file mode 100644 index 88ca9a28b1f..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/osx/disk.h +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_disk_io_counters(PyObject *self, PyObject *args); -PyObject *psutil_disk_partitions(PyObject *self, PyObject *args); -PyObject *psutil_disk_usage_used(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/osx/init.c b/contrib/python/psutil/py3/psutil/arch/osx/init.c new file mode 100644 index 00000000000..7120e8ab0e5 --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/osx/init.c @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> +#include <mach/mach_time.h> + +#include "../../arch/all/init.h" +#include "init.h" + + +struct mach_timebase_info PSUTIL_MACH_TIMEBASE_INFO; + +// Called on module import. +int +psutil_setup_osx(void) { + kern_return_t ret; + + ret = mach_timebase_info(&PSUTIL_MACH_TIMEBASE_INFO); + if (ret != KERN_SUCCESS) { + psutil_PyErr_SetFromOSErrnoWithSyscall("mach_timebase_info"); + return -1; + } + return 0; +} diff --git a/contrib/python/psutil/py3/psutil/arch/osx/init.h b/contrib/python/psutil/py3/psutil/arch/osx/init.h new file mode 100644 index 00000000000..4a13f73e0da --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/osx/init.h @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> +#include <mach/mach_time.h> + +extern struct mach_timebase_info PSUTIL_MACH_TIMEBASE_INFO; + +int psutil_setup_osx(void); +int _psutil_pids(pid_t **pids_array, int *pids_count); + +PyObject *psutil_boot_time(PyObject *self, PyObject *args); +PyObject *psutil_cpu_count_cores(PyObject *self, PyObject *args); +PyObject *psutil_cpu_count_logical(PyObject *self, PyObject *args); +PyObject *psutil_cpu_freq(PyObject *self, PyObject *args); +PyObject *psutil_cpu_stats(PyObject *self, PyObject *args); +PyObject *psutil_cpu_times(PyObject *self, PyObject *args); +PyObject *psutil_disk_io_counters(PyObject *self, PyObject *args); +PyObject *psutil_disk_partitions(PyObject *self, PyObject *args); +PyObject *psutil_disk_usage_used(PyObject *self, PyObject *args); +PyObject *psutil_has_cpu_freq(PyObject *self, PyObject *args); +PyObject *psutil_net_io_counters(PyObject *self, PyObject *args); +PyObject *psutil_per_cpu_times(PyObject *self, PyObject *args); +PyObject *psutil_proc_cmdline(PyObject *self, PyObject *args); +PyObject *psutil_proc_cwd(PyObject *self, PyObject *args); +PyObject *psutil_proc_environ(PyObject *self, PyObject *args); +PyObject *psutil_proc_exe(PyObject *self, PyObject *args); +PyObject *psutil_proc_is_zombie(PyObject *self, PyObject *args); +PyObject *psutil_proc_kinfo_oneshot(PyObject *self, PyObject *args); +PyObject *psutil_proc_memory_uss(PyObject *self, PyObject *args); +PyObject *psutil_proc_name(PyObject *self, PyObject *args); +PyObject *psutil_proc_net_connections(PyObject *self, PyObject *args); +PyObject *psutil_proc_num_fds(PyObject *self, PyObject *args); +PyObject *psutil_proc_open_files(PyObject *self, PyObject *args); +PyObject *psutil_proc_pidtaskinfo_oneshot(PyObject *self, PyObject *args); +PyObject *psutil_proc_threads(PyObject *self, PyObject *args); +PyObject *psutil_sensors_battery(PyObject *self, PyObject *args); +PyObject *psutil_swap_mem(PyObject *self, PyObject *args); +PyObject *psutil_virtual_mem(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/osx/mem.c b/contrib/python/psutil/py3/psutil/arch/osx/mem.c index 8103876070a..cbac711a9b0 100644 --- a/contrib/python/psutil/py3/psutil/arch/osx/mem.c +++ b/contrib/python/psutil/py3/psutil/arch/osx/mem.c @@ -16,25 +16,33 @@ #include <sys/sysctl.h> #include <mach/mach.h> -#include "../../_psutil_posix.h" +#include "../../arch/all/init.h" static int psutil_sys_vminfo(vm_statistics64_t vmstat) { kern_return_t ret; - unsigned int count = HOST_VM_INFO64_COUNT; - mach_port_t mport = mach_host_self(); + mach_msg_type_number_t count = HOST_VM_INFO64_COUNT; + mach_port_t mport; + + mport = mach_host_self(); + if (mport == MACH_PORT_NULL) { + PyErr_SetString(PyExc_RuntimeError, + "mach_host_self() returned MACH_PORT_NULL"); + return -1; + } ret = host_statistics64(mport, HOST_VM_INFO64, (host_info64_t)vmstat, &count); + mach_port_deallocate(mach_task_self(), mport); if (ret != KERN_SUCCESS) { PyErr_Format( PyExc_RuntimeError, - "host_statistics(HOST_VM_INFO) syscall failed: %s", - mach_error_string(ret)); - return 0; + "host_statistics64(HOST_VM_INFO64) syscall failed: %s", + mach_error_string(ret) + ); + return -1; } - mach_port_deallocate(mach_task_self(), mport); - return 1; + return 0; } @@ -48,7 +56,6 @@ PyObject * psutil_virtual_mem(PyObject *self, PyObject *args) { int mib[2]; uint64_t total; - size_t len = sizeof(total); vm_statistics64_data_t vm; long pagesize = psutil_getpagesize(); // physical mem @@ -56,22 +63,16 @@ psutil_virtual_mem(PyObject *self, PyObject *args) { mib[1] = HW_MEMSIZE; // This is also available as sysctlbyname("hw.memsize"). - if (sysctl(mib, 2, &total, &len, NULL, 0)) { - if (errno != 0) - PyErr_SetFromErrno(PyExc_OSError); - else - PyErr_Format( - PyExc_RuntimeError, "sysctl(HW_MEMSIZE) syscall failed"); + if (psutil_sysctl(mib, 2, &total, sizeof(total)) != 0) return NULL; - } // vm - if (!psutil_sys_vminfo(&vm)) + if (psutil_sys_vminfo(&vm) != 0) return NULL; return Py_BuildValue( "KKKKKK", - total, + (unsigned long long) total, (unsigned long long) vm.active_count * pagesize, // active (unsigned long long) vm.inactive_count * pagesize, // inactive (unsigned long long) vm.wire_count * pagesize, // wired @@ -87,30 +88,25 @@ psutil_virtual_mem(PyObject *self, PyObject *args) { PyObject * psutil_swap_mem(PyObject *self, PyObject *args) { int mib[2]; - size_t size; struct xsw_usage totals; - vm_statistics64_data_t vmstat; + vm_statistics64_data_t vmstat; long pagesize = psutil_getpagesize(); mib[0] = CTL_VM; mib[1] = VM_SWAPUSAGE; - size = sizeof(totals); - if (sysctl(mib, 2, &totals, &size, NULL, 0) == -1) { - if (errno != 0) - PyErr_SetFromErrno(PyExc_OSError); - else - PyErr_Format( - PyExc_RuntimeError, "sysctl(VM_SWAPUSAGE) syscall failed"); - return NULL; - } - if (!psutil_sys_vminfo(&vmstat)) + + if (psutil_sysctl(mib, 2, &totals, sizeof(totals)) != 0) + return psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl(VM_SWAPUSAGE)"); + + if (psutil_sys_vminfo(&vmstat) != 0) return NULL; return Py_BuildValue( - "LLLKK", - totals.xsu_total, - totals.xsu_used, - totals.xsu_avail, - (unsigned long long)vmstat.pageins * pagesize, - (unsigned long long)vmstat.pageouts * pagesize); + "KKKKK", + (unsigned long long) totals.xsu_total, + (unsigned long long) totals.xsu_used, + (unsigned long long) totals.xsu_avail, + (unsigned long long) vmstat.pageins * pagesize, + (unsigned long long) vmstat.pageouts * pagesize + ); } diff --git a/contrib/python/psutil/py3/psutil/arch/osx/mem.h b/contrib/python/psutil/py3/psutil/arch/osx/mem.h deleted file mode 100644 index dc4cd74388e..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/osx/mem.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_swap_mem(PyObject *self, PyObject *args); -PyObject *psutil_virtual_mem(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/osx/net.c b/contrib/python/psutil/py3/psutil/arch/osx/net.c index d365676ce1e..93be69e5413 100644 --- a/contrib/python/psutil/py3/psutil/arch/osx/net.c +++ b/contrib/python/psutil/py3/psutil/arch/osx/net.c @@ -15,7 +15,7 @@ #include <net/if_dl.h> #include <net/route.h> -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" PyObject * @@ -23,70 +23,85 @@ psutil_net_io_counters(PyObject *self, PyObject *args) { char *buf = NULL, *lim, *next; struct if_msghdr *ifm; int mib[6]; - mib[0] = CTL_NET; // networking subsystem - mib[1] = PF_ROUTE; // type of information - mib[2] = 0; // protocol (IPPROTO_xxx) - mib[3] = 0; // address family - mib[4] = NET_RT_IFLIST2; // operation - mib[5] = 0; - size_t len; + size_t len = 0; PyObject *py_ifc_info = NULL; PyObject *py_retdict = PyDict_New(); if (py_retdict == NULL) return NULL; - if (sysctl(mib, 6, NULL, &len, NULL, 0) < 0) { - PyErr_SetFromErrno(PyExc_OSError); - goto error; - } - - buf = malloc(len); - if (buf == NULL) { - PyErr_NoMemory(); - goto error; - } + mib[0] = CTL_NET; // networking subsystem + mib[1] = PF_ROUTE; // type of information + mib[2] = 0; // protocol (IPPROTO_xxx) + mib[3] = 0; // address family + mib[4] = NET_RT_IFLIST2; // operation + mib[5] = 0; - if (sysctl(mib, 6, buf, &len, NULL, 0) < 0) { - PyErr_SetFromErrno(PyExc_OSError); + if (psutil_sysctl_malloc(mib, 6, &buf, &len) != 0) goto error; - } lim = buf + len; for (next = buf; next < lim; ) { + if ((size_t)(lim - next) < sizeof(struct if_msghdr)) { + psutil_debug("struct if_msghdr size mismatch (skip entry)"); + break; + } + ifm = (struct if_msghdr *)next; + + if (ifm->ifm_msglen == 0 || next + ifm->ifm_msglen > lim) { + psutil_debug("ifm_msglen size mismatch (skip entry)"); + break; + } + next += ifm->ifm_msglen; if (ifm->ifm_type == RTM_IFINFO2) { py_ifc_info = NULL; struct if_msghdr2 *if2m = (struct if_msghdr2 *)ifm; + + if ((char *)if2m + sizeof(struct if_msghdr2) > lim) { + psutil_debug("if_msghdr2 + sockaddr_dl mismatch (skip entry)"); + continue; + } + struct sockaddr_dl *sdl = (struct sockaddr_dl *)(if2m + 1); - char ifc_name[32]; - strncpy(ifc_name, sdl->sdl_data, sdl->sdl_nlen); - ifc_name[sdl->sdl_nlen] = 0; + if ((char *)sdl + sizeof(struct sockaddr_dl) > lim) { + psutil_debug("not enough buffer for sockaddr_dl (skip entry)"); + continue; + } + + char ifc_name[IFNAMSIZ]; + size_t namelen = sdl->sdl_nlen; + if (namelen >= IFNAMSIZ) + namelen = IFNAMSIZ - 1; + + memcpy(ifc_name, sdl->sdl_data, namelen); + ifc_name[namelen] = '\0'; py_ifc_info = Py_BuildValue( "(KKKKKKKi)", - if2m->ifm_data.ifi_obytes, - if2m->ifm_data.ifi_ibytes, - if2m->ifm_data.ifi_opackets, - if2m->ifm_data.ifi_ipackets, - if2m->ifm_data.ifi_ierrors, - if2m->ifm_data.ifi_oerrors, - if2m->ifm_data.ifi_iqdrops, + (unsigned long long)if2m->ifm_data.ifi_obytes, + (unsigned long long)if2m->ifm_data.ifi_ibytes, + (unsigned long long)if2m->ifm_data.ifi_opackets, + (unsigned long long)if2m->ifm_data.ifi_ipackets, + (unsigned long long)if2m->ifm_data.ifi_ierrors, + (unsigned long long)if2m->ifm_data.ifi_oerrors, + (unsigned long long)if2m->ifm_data.ifi_iqdrops, 0); // dropout not supported if (!py_ifc_info) goto error; - if (PyDict_SetItemString(py_retdict, ifc_name, py_ifc_info)) + + if (PyDict_SetItemString(py_retdict, ifc_name, py_ifc_info)) { + Py_CLEAR(py_ifc_info); goto error; + } + Py_CLEAR(py_ifc_info); } - else { - continue; - } } free(buf); diff --git a/contrib/python/psutil/py3/psutil/arch/osx/net.h b/contrib/python/psutil/py3/psutil/arch/osx/net.h deleted file mode 100644 index 99079523c1e..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/osx/net.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_net_io_counters(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/osx/pids.c b/contrib/python/psutil/py3/psutil/arch/osx/pids.c new file mode 100644 index 00000000000..2c3ddaa82bf --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/osx/pids.c @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> +#include <stdlib.h> +#include <sys/types.h> +#include <sys/sysctl.h> +#include <sys/user.h> + +#include "../../arch/all/init.h" + + +int +_psutil_pids(pid_t **pids_array, int *pids_count) { + int mib[3] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL}; + size_t len = 0; + char *buf = NULL; + struct kinfo_proc *proc_list = NULL; + size_t num_procs = 0; + + *pids_array = NULL; + *pids_count = 0; + + if (psutil_sysctl_malloc(mib, 3, &buf, &len) != 0) + return -1; + + if (len == 0) { + PyErr_Format(PyExc_RuntimeError, "no PIDs found"); + goto error; + } + + proc_list = (struct kinfo_proc *)buf; + num_procs = len / sizeof(struct kinfo_proc); + + *pids_array = malloc(num_procs * sizeof(pid_t)); + if (!*pids_array) { + PyErr_NoMemory(); + goto error; + } + + for (size_t i = 0; i < num_procs; i++) { + (*pids_array)[i] = proc_list[i].kp_proc.p_pid; + } + + *pids_count = (int)num_procs; + free(buf); + return 0; + +error: + if (buf != NULL) + free(buf); + return -1; +} diff --git a/contrib/python/psutil/py3/psutil/arch/osx/proc.c b/contrib/python/psutil/py3/psutil/arch/osx/proc.c index 681642c3ad9..43c91ffb73b 100644 --- a/contrib/python/psutil/py3/psutil/arch/osx/proc.c +++ b/contrib/python/psutil/py3/psutil/arch/osx/proc.c @@ -29,110 +29,59 @@ #include <mach/shared_region.h> #include <mach-o/loader.h> -#include "../../_psutil_common.h" -#include "../../_psutil_posix.h" +#include "../../arch/all/init.h" #define PSUTIL_TV2DOUBLE(t) ((t).tv_sec + (t).tv_usec / 1000000.0) -typedef struct kinfo_proc kinfo_proc; // ==================================================================== // --- utils // ==================================================================== -/* - * Returns a list of all BSD processes on the system. This routine - * allocates the list and puts it in *procList and a count of the - * number of entries in *procCount. You are responsible for freeing - * this list (use "free" from System framework). - * On success, the function returns 0. - * On error, the function returns a BSD errno value. - */ -static int -psutil_get_proc_list(kinfo_proc **procList, size_t *procCount) { - int mib[3]; - size_t size, size2; - void *ptr; - int err; - int lim = 8; // some limit +static int +psutil_get_kinfo_proc(pid_t pid, struct kinfo_proc *kp) { + int mib[4]; + size_t len; mib[0] = CTL_KERN; mib[1] = KERN_PROC; - mib[2] = KERN_PROC_ALL; - *procCount = 0; - - /* - * We start by calling sysctl with ptr == NULL and size == 0. - * That will succeed, and set size to the appropriate length. - * We then allocate a buffer of at least that size and call - * sysctl with that buffer. If that succeeds, we're done. - * If that call fails with ENOMEM, we throw the buffer away - * and try again. - * Note that the loop calls sysctl with NULL again. This is - * is necessary because the ENOMEM failure case sets size to - * the amount of data returned, not the amount of data that - * could have been returned. - */ - while (lim-- > 0) { - size = 0; - if (sysctl((int *)mib, 3, NULL, &size, NULL, 0) == -1) { - psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl(KERN_PROC_ALL)"); - return 1; - } - size2 = size + (size >> 3); // add some - if (size2 > size) { - ptr = malloc(size2); - if (ptr == NULL) - ptr = malloc(size); - else - size = size2; - } - else { - ptr = malloc(size); - } - if (ptr == NULL) { - PyErr_NoMemory(); - return 1; - } + mib[2] = KERN_PROC_PID; + mib[3] = pid; - if (sysctl((int *)mib, 3, ptr, &size, NULL, 0) == -1) { - err = errno; - free(ptr); - if (err != ENOMEM) { - psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl(KERN_PROC_ALL)"); - return 1; - } - } - else { - *procList = (kinfo_proc *)ptr; - *procCount = size / sizeof(kinfo_proc); - if (procCount <= 0) { - PyErr_Format(PyExc_RuntimeError, "no PIDs found"); - return 1; - } - return 0; // success - } + if (pid < 0 || !kp) + return psutil_badargs("psutil_get_kinfo_proc"); + + len = sizeof(struct kinfo_proc); + + if (sysctl(mib, 4, kp, &len, NULL, 0) == -1) { + // raise an exception and throw errno as the error + psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl"); + return -1; } - PyErr_Format(PyExc_RuntimeError, "couldn't collect PIDs list"); - return 1; + // sysctl succeeds but len is zero, happens when process has gone away + if (len == 0) { + NoSuchProcess("sysctl(kinfo_proc), len == 0"); + return -1; + } + return 0; } -// Read the maximum argument size for processes static int -psutil_sysctl_argmax() { - int argmax; - int mib[2]; - size_t size = sizeof(argmax); +is_zombie(size_t pid) { + struct kinfo_proc kp; - mib[0] = CTL_KERN; - mib[1] = KERN_ARGMAX; + if (pid < 0) + return psutil_badargs("is_zombie"); - if (sysctl(mib, 2, &argmax, &size, NULL, 0) == 0) - return argmax; - psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl(KERN_ARGMAX)"); + if (psutil_get_kinfo_proc(pid, &kp) == -1) { + PyErr_Clear(); + return 0; + } + if (kp.kp_proc.p_stat == SZOMB) + return 1; return 0; } @@ -146,53 +95,32 @@ psutil_sysctl_procargs(pid_t pid, char *procargs, size_t *argmax) { mib[1] = KERN_PROCARGS2; mib[2] = pid; + if (pid < 0 || !procargs || !argmax || *argmax == 0) + return psutil_badargs("psutil_sysctl_procargs"); + if (sysctl(mib, 3, procargs, argmax, NULL, 0) < 0) { if (psutil_pid_exists(pid) == 0) { NoSuchProcess("psutil_pid_exists -> 0"); - return 1; + return -1; + } + + if (is_zombie(pid) == 1) { + PyErr_SetString(ZombieProcessError, ""); + return -1; } - // In case of zombie process we'll get EINVAL. We translate it - // to NSP and _psosx.py will translate it to ZP. + if (errno == EINVAL) { - psutil_debug("sysctl(KERN_PROCARGS2) -> EINVAL translated to NSP"); - NoSuchProcess("sysctl(KERN_PROCARGS2) -> EINVAL"); - return 1; + psutil_debug("sysctl(KERN_PROCARGS2) -> EINVAL translated to AD"); + AccessDenied("sysctl(KERN_PROCARGS2) -> EINVAL"); + return -1; } - // There's nothing we can do other than raising AD. + if (errno == EIO) { psutil_debug("sysctl(KERN_PROCARGS2) -> EIO translated to AD"); AccessDenied("sysctl(KERN_PROCARGS2) -> EIO"); - return 1; + return -1; } psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl(KERN_PROCARGS2)"); - return 1; - } - return 0; -} - - -static int -psutil_get_kinfo_proc(pid_t pid, struct kinfo_proc *kp) { - int mib[4]; - size_t len; - mib[0] = CTL_KERN; - mib[1] = KERN_PROC; - mib[2] = KERN_PROC_PID; - mib[3] = pid; - - // fetch the info with sysctl() - len = sizeof(struct kinfo_proc); - - // now read the data from sysctl - if (sysctl(mib, 4, kp, &len, NULL, 0) == -1) { - // raise an exception and throw errno as the error - psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl"); - return -1; - } - - // sysctl succeeds but len is zero, happens when process has gone away - if (len == 0) { - NoSuchProcess("sysctl(kinfo_proc), len == 0"); return -1; } return 0; @@ -206,20 +134,28 @@ psutil_get_kinfo_proc(pid_t pid, struct kinfo_proc *kp) { */ static int psutil_proc_pidinfo(pid_t pid, int flavor, uint64_t arg, void *pti, int size) { - errno = 0; int ret; + if (pid < 0 || !pti || size <= 0) + return psutil_badargs("psutil_proc_pidinfo"); + + errno = 0; ret = proc_pidinfo(pid, flavor, arg, pti, size); if (ret <= 0) { psutil_raise_for_pid(pid, "proc_pidinfo()"); - return 0; + return -1; } - if ((unsigned long)ret < sizeof(pti)) { + + // check for truncated return size + if (ret < size) { psutil_raise_for_pid( - pid, "proc_pidinfo() return size < sizeof(struct_pointer)"); - return 0; + pid, + "proc_pidinfo() returned less data than requested buffer size" + ); + return -1; } - return ret; + + return 0; } @@ -231,26 +167,28 @@ psutil_proc_pidinfo(pid_t pid, int flavor, uint64_t arg, void *pti, int size) { * - for PIDs != getpid() or PIDs which are not members of the procmod * it requires root * As such we can only guess what the heck went wrong and fail either - * with NoSuchProcess or giveup with AccessDenied. - * Here's some history: + * with NoSuchProcess or give up with AccessDenied. + * References: * https://github.com/giampaolo/psutil/issues/1181 * https://github.com/giampaolo/psutil/issues/1209 * https://github.com/giampaolo/psutil/issues/1291#issuecomment-396062519 */ static int -psutil_task_for_pid(pid_t pid, mach_port_t *task) -{ - // See: https://github.com/giampaolo/psutil/issues/1181 - kern_return_t err = KERN_SUCCESS; +psutil_task_for_pid(pid_t pid, mach_port_t *task) { + kern_return_t err; + + if (pid < 0 || !task) + return psutil_badargs("psutil_task_for_pid"); err = task_for_pid(mach_task_self(), pid, task); if (err != KERN_SUCCESS) { - if (psutil_pid_exists(pid) == 0) + if (psutil_pid_exists(pid) == 0) { NoSuchProcess("task_for_pid"); - // Now done in Python. - // else if (psutil_is_zombie(pid) == 1) - // PyErr_SetString(ZombieProcessError, - // "task_for_pid -> psutil_is_zombie -> 1"); + } + else if (is_zombie(pid) == 1) { + PyErr_SetString(ZombieProcessError, + "task_for_pid -> psutil_is_zombie -> 1"); + } else { psutil_debug( "task_for_pid() failed (pid=%ld, err=%i, errno=%i, msg='%s'); " @@ -258,8 +196,9 @@ psutil_task_for_pid(pid_t pid, mach_port_t *task) (long)pid, err, errno, mach_error_string(err)); AccessDenied("task_for_pid"); } - return 1; + return -1; } + return 0; } @@ -275,6 +214,11 @@ psutil_proc_list_fds(pid_t pid, int *num_fds) { int max_size = 24 * 1024 * 1024; // 24M struct proc_fdinfo *fds_pointer = NULL; + if (pid < 0 || num_fds == NULL) { + psutil_badargs("psutil_proc_list_fds"); + return NULL; + } + errno = 0; ret = proc_pidinfo(pid, PROC_PIDLISTFDS, 0, NULL, 0); if (ret <= 0) { @@ -335,45 +279,17 @@ error: // ==================================================================== -/* - * Return a Python list of all the PIDs running on the system. - */ +// Return True if PID is a zombie else False, including if PID does not +// exist or the underlying function fails. PyObject * -psutil_pids(PyObject *self, PyObject *args) { - kinfo_proc *proclist = NULL; - kinfo_proc *orig_address = NULL; - size_t num_processes; - size_t idx; - PyObject *py_pid = NULL; - PyObject *py_retlist = PyList_New(0); +psutil_proc_is_zombie(PyObject *self, PyObject *args) { + pid_t pid; - if (py_retlist == NULL) + if (! PyArg_ParseTuple(args, _Py_PARSE_PID, &pid)) return NULL; - - if (psutil_get_proc_list(&proclist, &num_processes) != 0) - goto error; - - // save the address of proclist so we can free it later - orig_address = proclist; - for (idx = 0; idx < num_processes; idx++) { - py_pid = PyLong_FromPid(proclist->kp_proc.p_pid); - if (! py_pid) - goto error; - if (PyList_Append(py_retlist, py_pid)) - goto error; - Py_CLEAR(py_pid); - proclist++; - } - free(orig_address); - - return py_retlist; - -error: - Py_XDECREF(py_pid); - Py_DECREF(py_retlist); - if (orig_address != NULL) - free(orig_address); - return NULL; + if (is_zombie(pid) == 1) + Py_RETURN_TRUE; + Py_RETURN_FALSE; } @@ -389,8 +305,8 @@ PyObject * psutil_proc_kinfo_oneshot(PyObject *self, PyObject *args) { pid_t pid; struct kinfo_proc kp; - PyObject *py_name; - PyObject *py_retlist; + PyObject *py_name = NULL; + PyObject *py_retlist = NULL; if (! PyArg_ParseTuple(args, _Py_PARSE_PID, &pid)) return NULL; @@ -402,11 +318,12 @@ psutil_proc_kinfo_oneshot(PyObject *self, PyObject *args) { // Likely a decoding error. We don't want to fail the whole // operation. The python module may retry with proc_name(). PyErr_Clear(); + Py_INCREF(Py_None); py_name = Py_None; } py_retlist = Py_BuildValue( - _Py_PARSE_PID "llllllidiO", + _Py_PARSE_PID "llllllldiO", kp.kp_eproc.e_ppid, // (pid_t) ppid (long)kp.kp_eproc.e_pcred.p_ruid, // (long) real uid (long)kp.kp_eproc.e_ucred.cr_uid, // (long) effective uid @@ -414,16 +331,13 @@ psutil_proc_kinfo_oneshot(PyObject *self, PyObject *args) { (long)kp.kp_eproc.e_pcred.p_rgid, // (long) real gid (long)kp.kp_eproc.e_ucred.cr_groups[0], // (long) effective gid (long)kp.kp_eproc.e_pcred.p_svgid, // (long) saved gid - kp.kp_eproc.e_tdev, // (int) tty nr + (long long)kp.kp_eproc.e_tdev, // (long long) tty nr PSUTIL_TV2DOUBLE(kp.kp_proc.p_starttime), // (double) create time (int)kp.kp_proc.p_stat, // (int) status py_name // (pystr) name ); - if (py_retlist != NULL) { - // XXX shall we decref() also in case of Py_BuildValue() error? - Py_DECREF(py_name); - } + Py_DECREF(py_name); return py_retlist; } @@ -445,7 +359,7 @@ psutil_proc_pidtaskinfo_oneshot(PyObject *self, PyObject *args) { if (! PyArg_ParseTuple(args, _Py_PARSE_PID, &pid)) return NULL; - if (psutil_proc_pidinfo(pid, PROC_PIDTASKINFO, 0, &pti, sizeof(pti)) <= 0) + if (psutil_proc_pidinfo(pid, PROC_PIDTASKINFO, 0, &pti, sizeof(pti)) != 0) return NULL; total_user = pti.pti_total_user * PSUTIL_MACH_TIMEBASE_INFO.numer; @@ -487,10 +401,10 @@ psutil_proc_name(PyObject *self, PyObject *args) { return NULL; if (psutil_get_kinfo_proc(pid, &kp) == -1) return NULL; + return PyUnicode_DecodeFSDefault(kp.kp_proc.p_comm); } - /* * Return process current working directory. * Raises NSP in case of zombie process. @@ -504,7 +418,7 @@ psutil_proc_cwd(PyObject *self, PyObject *args) { return NULL; if (psutil_proc_pidinfo( - pid, PROC_PIDVNODEPATHINFO, 0, &pathinfo, sizeof(pathinfo)) <= 0) + pid, PROC_PIDVNODEPATHINFO, 0, &pathinfo, sizeof(pathinfo)) != 0) { return NULL; } @@ -585,17 +499,17 @@ psutil_in_shared_region(mach_vm_address_t addr, cpu_type_t type) { PyObject * psutil_proc_memory_uss(PyObject *self, PyObject *args) { pid_t pid; - size_t len; cpu_type_t cpu_type; size_t private_pages = 0; mach_vm_size_t size = 0; - mach_msg_type_number_t info_count = VM_REGION_TOP_INFO_COUNT; + mach_msg_type_number_t info_count; kern_return_t kr; long pagesize = psutil_getpagesize(); - mach_vm_address_t addr = MACH_VM_MIN_ADDRESS; + mach_vm_address_t addr; mach_port_t task = MACH_PORT_NULL; vm_region_top_info_data_t info; mach_port_t object_name; + mach_vm_address_t prev_addr; if (! PyArg_ParseTuple(args, _Py_PARSE_PID, &pid)) return NULL; @@ -603,16 +517,18 @@ psutil_proc_memory_uss(PyObject *self, PyObject *args) { if (psutil_task_for_pid(pid, &task) != 0) return NULL; - len = sizeof(cpu_type); - if (sysctlbyname("sysctl.proc_cputype", &cpu_type, &len, NULL, 0) != 0) { - return psutil_PyErr_SetFromOSErrnoWithSyscall( - "sysctlbyname('sysctl.proc_cputype')" - ); + if (psutil_sysctlbyname( + "sysctl.proc_cputype", &cpu_type, sizeof(cpu_type)) != 0) + { + return NULL; } // Roughly based on libtop_update_vm_regions in // http://www.opensource.apple.com/source/top/top-100.1.2/libtop.c - for (addr = 0; ; addr += size) { + for (addr = MACH_VM_MIN_ADDRESS; ; addr += size) { + prev_addr = addr; + info_count = VM_REGION_TOP_INFO_COUNT; // reset before each call + kr = mach_vm_region( task, &addr, &size, VM_REGION_TOP_INFO, (vm_region_info_t)&info, &info_count, &object_name); @@ -623,10 +539,17 @@ psutil_proc_memory_uss(PyObject *self, PyObject *args) { else if (kr != KERN_SUCCESS) { PyErr_Format( PyExc_RuntimeError, - "mach_vm_region(VM_REGION_TOP_INFO) syscall failed"); + "mach_vm_region(VM_REGION_TOP_INFO) syscall failed" + ); + mach_port_deallocate(mach_task_self(), task); return NULL; } + if (size == 0 || addr < prev_addr) { + psutil_debug("prevent infinite loop"); + break; + } + if (psutil_in_shared_region(addr, cpu_type) && info.share_mode != SM_PRIVATE) { continue; @@ -666,9 +589,7 @@ psutil_proc_memory_uss(PyObject *self, PyObject *args) { PyObject * psutil_proc_threads(PyObject *self, PyObject *args) { pid_t pid; - int err, ret; kern_return_t kr; - unsigned int info_count = TASK_BASIC_INFO_COUNT; mach_port_t task = MACH_PORT_NULL; struct task_basic_info tasks_info; thread_act_port_array_t thread_list = NULL; @@ -688,12 +609,11 @@ psutil_proc_threads(PyObject *self, PyObject *args) { if (psutil_task_for_pid(pid, &task) != 0) goto error; - info_count = TASK_BASIC_INFO_COUNT; - err = task_info(task, TASK_BASIC_INFO, (task_info_t)&tasks_info, - &info_count); - if (err != KERN_SUCCESS) { - // errcode 4 is "invalid argument" (access denied) - if (err == 4) { + // Get basic task info (optional, ignored if access denied) + mach_msg_type_number_t info_count = TASK_BASIC_INFO_COUNT; + kr = task_info(task, TASK_BASIC_INFO, (task_info_t)&tasks_info, &info_count); + if (kr != KERN_SUCCESS) { + if (kr == KERN_INVALID_ARGUMENT) { AccessDenied("task_info(TASK_BASIC_INFO)"); } else { @@ -704,8 +624,8 @@ psutil_proc_threads(PyObject *self, PyObject *args) { goto error; } - err = task_threads(task, &thread_list, &thread_count); - if (err != KERN_SUCCESS) { + kr = task_threads(task, &thread_list, &thread_count); + if (kr != KERN_SUCCESS) { PyErr_Format(PyExc_RuntimeError, "task_threads() syscall failed"); goto error; } @@ -736,26 +656,28 @@ psutil_proc_threads(PyObject *self, PyObject *args) { Py_CLEAR(py_tuple); } - ret = vm_deallocate(task, (vm_address_t)thread_list, - thread_count * sizeof(int)); - if (ret != KERN_SUCCESS) - PyErr_WarnEx(PyExc_RuntimeWarning, "vm_deallocate() failed", 2); - - mach_port_deallocate(mach_task_self(), task); + if (thread_list != NULL) { + vm_deallocate(mach_task_self(), (vm_address_t)thread_list, + thread_count * sizeof(thread_act_t)); + } + if (task != MACH_PORT_NULL) { + mach_port_deallocate(mach_task_self(), task); + } return py_retlist; error: - if (task != MACH_PORT_NULL) - mach_port_deallocate(mach_task_self(), task); Py_XDECREF(py_tuple); - Py_DECREF(py_retlist); + Py_XDECREF(py_retlist); + if (thread_list != NULL) { - ret = vm_deallocate(task, (vm_address_t)thread_list, - thread_count * sizeof(int)); - if (ret != KERN_SUCCESS) - PyErr_WarnEx(PyExc_RuntimeWarning, "vm_deallocate() failed", 2); + vm_deallocate(mach_task_self(), (vm_address_t)thread_list, + thread_count * sizeof(thread_act_t)); } + if (task != MACH_PORT_NULL) { + mach_port_deallocate(mach_task_self(), task); + } + return NULL; } @@ -866,6 +788,7 @@ psutil_proc_net_connections(PyObject *self, PyObject *args) { struct proc_fdinfo *fds_pointer = NULL; struct proc_fdinfo *fdp_pointer; struct socket_fdinfo si; + const char* ntopret; PyObject *py_retlist = PyList_New(0); PyObject *py_tuple = NULL; PyObject *py_laddr = NULL; @@ -901,12 +824,11 @@ psutil_proc_net_connections(PyObject *self, PyObject *args) { fdp_pointer = &fds_pointer[i]; if (fdp_pointer->proc_fdtype == PROX_FDTYPE_SOCKET) { - errno = 0; nb = proc_pidfdinfo(pid, fdp_pointer->proc_fd, PROC_PIDFDSOCKETINFO, &si, sizeof(si)); // --- errors checking - if ((nb <= 0) || (nb < sizeof(si)) || (errno != 0)) { + if ((nb <= 0) || (nb < sizeof(si))) { if (errno == EBADF) { // let's assume socket has been closed psutil_debug("proc_pidfdinfo(PROC_PIDFDSOCKETINFO) -> " @@ -930,8 +852,7 @@ psutil_proc_net_connections(PyObject *self, PyObject *args) { // int fd, family, type, lport, rport, state; - // TODO: use INET6_ADDRSTRLEN instead of 200 - char lip[200], rip[200]; + char lip[INET6_ADDRSTRLEN], rip[INET6_ADDRSTRLEN]; int inseq; PyObject *py_family; PyObject *py_type; @@ -944,42 +865,63 @@ psutil_proc_net_connections(PyObject *self, PyObject *args) { py_family = PyLong_FromLong((long)family); inseq = PySequence_Contains(py_af_filter, py_family); Py_DECREF(py_family); + if (inseq == -1) + goto error; if (inseq == 0) continue; + py_type = PyLong_FromLong((long)type); inseq = PySequence_Contains(py_type_filter, py_type); Py_DECREF(py_type); + if (inseq == -1) + goto error; if (inseq == 0) continue; if ((family == AF_INET) || (family == AF_INET6)) { if (family == AF_INET) { - inet_ntop(AF_INET, - &si.psi.soi_proto.pri_tcp.tcpsi_ini. \ - insi_laddr.ina_46.i46a_addr4, - lip, - sizeof(lip)); - inet_ntop(AF_INET, - &si.psi.soi_proto.pri_tcp.tcpsi_ini.insi_faddr. \ - ina_46.i46a_addr4, - rip, - sizeof(rip)); + ntopret = inet_ntop( + AF_INET, + &si.psi.soi_proto.pri_tcp.tcpsi_ini.insi_laddr.ina_46.i46a_addr4, + lip, + sizeof(lip) + ); + if (!ntopret) { + psutil_PyErr_SetFromOSErrnoWithSyscall("inet_ntop()"); + goto error; + } + ntopret = inet_ntop( + AF_INET, + &si.psi.soi_proto.pri_tcp.tcpsi_ini.insi_faddr.ina_46.i46a_addr4, + rip, + sizeof(rip) + ); + if (!ntopret) { + psutil_PyErr_SetFromOSErrnoWithSyscall("inet_ntop()"); + goto error; + } } else { - inet_ntop(AF_INET6, - &si.psi.soi_proto.pri_tcp.tcpsi_ini. \ - insi_laddr.ina_6, - lip, sizeof(lip)); - inet_ntop(AF_INET6, - &si.psi.soi_proto.pri_tcp.tcpsi_ini. \ - insi_faddr.ina_6, - rip, sizeof(rip)); - } - - // check for inet_ntop failures - if (errno != 0) { - psutil_PyErr_SetFromOSErrnoWithSyscall("inet_ntop()"); - goto error; + ntopret = inet_ntop( + AF_INET6, + &si.psi.soi_proto.pri_tcp.tcpsi_ini.insi_laddr.ina_6, + lip, + sizeof(lip) + ); + if (!ntopret) { + psutil_PyErr_SetFromOSErrnoWithSyscall("inet_ntop()"); + goto error; + } + ntopret = inet_ntop( + AF_INET6, + &si.psi.soi_proto.pri_tcp.tcpsi_ini.insi_faddr.ina_6, + rip, + sizeof(rip) + ); + if (!ntopret) { + psutil_PyErr_SetFromOSErrnoWithSyscall("inet_ntop()"); + goto error; + } } lport = ntohs(si.psi.soi_proto.pri_tcp.tcpsi_ini.insi_lport); @@ -999,7 +941,6 @@ psutil_proc_net_connections(PyObject *self, PyObject *args) { if (!py_raddr) goto error; - // construct the python list py_tuple = Py_BuildValue( "(iiiNNi)", fd, family, type, py_laddr, py_raddr, state); if (!py_tuple) @@ -1017,7 +958,7 @@ psutil_proc_net_connections(PyObject *self, PyObject *args) { si.psi.soi_proto.pri_un.unsi_caddr.ua_sun.sun_path); if (!py_raddr) goto error; - // construct the python list + py_tuple = Py_BuildValue( "(iiiOOi)", fd, family, type, @@ -1096,7 +1037,7 @@ psutil_proc_cmdline(PyObject *self, PyObject *args) { // read argmax and allocate memory for argument space. argmax = psutil_sysctl_argmax(); - if (! argmax) + if (argmax == 0) goto error; procargs = (char *)malloc(argmax); @@ -1173,22 +1114,23 @@ psutil_proc_environ(PyObject *self, PyObject *args) { char *arg_end; char *env_start; size_t argmax; + size_t env_len; PyObject *py_ret = NULL; if (! PyArg_ParseTuple(args, _Py_PARSE_PID, &pid)) return NULL; - // special case for PID 0 (kernel_task) where cmdline cannot be fetched + // PID 0 (kernel_task) has no cmdline. if (pid == 0) goto empty; - // read argmax and allocate memory for argument space. + // Allocate buffer for process args. argmax = psutil_sysctl_argmax(); - if (! argmax) + if (argmax == 0) goto error; procargs = (char *)malloc(argmax); - if (NULL == procargs) { + if (procargs == NULL) { PyErr_NoMemory(); goto error; } @@ -1196,56 +1138,66 @@ psutil_proc_environ(PyObject *self, PyObject *args) { if (psutil_sysctl_procargs(pid, procargs, &argmax) != 0) goto error; - arg_end = &procargs[argmax]; - // copy the number of arguments to nargs + arg_end = procargs + argmax; + + // Copy nargs. memcpy(&nargs, procargs, sizeof(nargs)); // skip executable path arg_ptr = procargs + sizeof(nargs); arg_ptr = memchr(arg_ptr, '\0', arg_end - arg_ptr); - - if (arg_ptr == NULL || arg_ptr == arg_end) { - psutil_debug( - "(arg_ptr == NULL || arg_ptr == arg_end); set environ to empty"); + if (arg_ptr == NULL || arg_ptr >= arg_end) goto empty; - } - // skip ahead to the first argument - for (; arg_ptr < arg_end; arg_ptr++) { - if (*arg_ptr != '\0') - break; - } + // Skip null bytes until first argument. + while (arg_ptr < arg_end && *arg_ptr == '\0') + arg_ptr++; - // iterate through arguments + // Skip arguments. while (arg_ptr < arg_end && nargs > 0) { if (*arg_ptr++ == '\0') nargs--; } - // build an environment variable block + if (arg_ptr >= arg_end) + goto empty; + env_start = arg_ptr; - procenv = calloc(1, arg_end - arg_ptr); + // Compute maximum possible environment length. + env_len = (size_t)(arg_end - env_start); + if (env_len == 0) + goto empty; + + procenv = (char *)calloc(1, env_len); if (procenv == NULL) { PyErr_NoMemory(); goto error; } - while (*arg_ptr != '\0' && arg_ptr < arg_end) { - char *s = memchr(arg_ptr + 1, '\0', arg_end - arg_ptr); + while (arg_ptr < arg_end && *arg_ptr != '\0') { + // Find the next NUL terminator. + size_t rem = (size_t)(arg_end - arg_ptr); + char *s = memchr(arg_ptr, '\0', rem); if (s == NULL) break; - memcpy(procenv + (arg_ptr - env_start), arg_ptr, s - arg_ptr); + + size_t copy_len = (size_t)(s - arg_ptr); + size_t offset = (size_t)(arg_ptr - env_start); + if (offset + copy_len >= env_len) + break; // prevent overflow. + + memcpy(procenv + offset, arg_ptr, copy_len); arg_ptr = s + 1; } - py_ret = PyUnicode_DecodeFSDefaultAndSize( - procenv, arg_ptr - env_start + 1); - if (!py_ret) { - // XXX: don't want to free() this as per: - // https://github.com/giampaolo/psutil/issues/926 - // It sucks but not sure what else to do. - procargs = NULL; + size_t used = (size_t)(arg_ptr - env_start); + if (used >= env_len) + used = env_len - 1; + + py_ret = PyUnicode_DecodeFSDefaultAndSize(procenv, (Py_ssize_t)used); + if (py_ret == NULL) { + procargs = NULL; // don't double free; see psutil issue #926. goto error; } @@ -1254,6 +1206,7 @@ psutil_proc_environ(PyObject *self, PyObject *args) { return py_ret; empty: + psutil_debug("set environ to empty"); if (procargs != NULL) free(procargs); return Py_BuildValue("s", ""); @@ -1263,6 +1216,6 @@ error: if (procargs != NULL) free(procargs); if (procenv != NULL) - free(procargs); + free(procenv); return NULL; } diff --git a/contrib/python/psutil/py3/psutil/arch/osx/proc.h b/contrib/python/psutil/py3/psutil/arch/osx/proc.h deleted file mode 100644 index f18f5f1fd68..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/osx/proc.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_pids(PyObject *self, PyObject *args); -PyObject *psutil_proc_cmdline(PyObject *self, PyObject *args); -PyObject *psutil_proc_cwd(PyObject *self, PyObject *args); -PyObject *psutil_proc_environ(PyObject *self, PyObject *args); -PyObject *psutil_proc_exe(PyObject *self, PyObject *args); -PyObject *psutil_proc_kinfo_oneshot(PyObject *self, PyObject *args); -PyObject *psutil_proc_memory_uss(PyObject *self, PyObject *args); -PyObject *psutil_proc_name(PyObject *self, PyObject *args); -PyObject *psutil_proc_net_connections(PyObject *self, PyObject *args); -PyObject *psutil_proc_num_fds(PyObject *self, PyObject *args); -PyObject *psutil_proc_open_files(PyObject *self, PyObject *args); -PyObject *psutil_proc_pidtaskinfo_oneshot(PyObject *self, PyObject *args); -PyObject *psutil_proc_threads(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/osx/sensors.c b/contrib/python/psutil/py3/psutil/arch/osx/sensors.c index 53626c2dc40..ea73d520357 100644 --- a/contrib/python/psutil/py3/psutil/arch/osx/sensors.c +++ b/contrib/python/psutil/py3/psutil/arch/osx/sensors.c @@ -16,7 +16,7 @@ #include <IOKit/ps/IOPowerSources.h> #include <IOKit/ps/IOPSKeys.h> -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" PyObject * @@ -33,7 +33,6 @@ psutil_sensors_battery(PyObject *self, PyObject *args) { int is_power_plugged; power_info = IOPSCopyPowerSourcesInfo(); - if (!power_info) { PyErr_SetString(PyExc_RuntimeError, "IOPSCopyPowerSourcesInfo() syscall failed"); @@ -47,32 +46,40 @@ psutil_sensors_battery(PyObject *self, PyObject *args) { goto error; } - /* Should only get one source. But in practice, check for > 0 sources */ - if (!CFArrayGetCount(power_sources_list)) { + if (CFArrayGetCount(power_sources_list) == 0) { PyErr_SetString(PyExc_NotImplementedError, "no battery"); goto error; } power_sources_information = IOPSGetPowerSourceDescription( power_info, CFArrayGetValueAtIndex(power_sources_list, 0)); + if (!power_sources_information) { + PyErr_SetString( + PyExc_RuntimeError, "Failed to get power source description" + ); + goto error; + } - capacity_ref = (CFNumberRef) CFDictionaryGetValue( + capacity_ref = (CFNumberRef)CFDictionaryGetValue( power_sources_information, CFSTR(kIOPSCurrentCapacityKey)); - if (!CFNumberGetValue(capacity_ref, kCFNumberSInt32Type, &capacity)) { + if (!capacity_ref || !CFNumberGetValue(capacity_ref, kCFNumberSInt32Type, &capacity)) { PyErr_SetString(PyExc_RuntimeError, "No battery capacity information in power sources info"); goto error; } - ps_state_ref = (CFStringRef) CFDictionaryGetValue( + ps_state_ref = (CFStringRef)CFDictionaryGetValue( power_sources_information, CFSTR(kIOPSPowerSourceStateKey)); + if (!ps_state_ref) { + PyErr_SetString(PyExc_RuntimeError, "power source state info missing"); + goto error; + } is_power_plugged = CFStringCompare( - ps_state_ref, CFSTR(kIOPSACPowerValue), 0) - == kCFCompareEqualTo; + ps_state_ref, CFSTR(kIOPSACPowerValue), 0) == kCFCompareEqualTo; - time_to_empty_ref = (CFNumberRef) CFDictionaryGetValue( + time_to_empty_ref = (CFNumberRef)CFDictionaryGetValue( power_sources_information, CFSTR(kIOPSTimeToEmptyKey)); - if (!CFNumberGetValue(time_to_empty_ref, + if (!time_to_empty_ref || !CFNumberGetValue(time_to_empty_ref, kCFNumberIntType, &time_to_empty)) { /* This value is recommended for non-Apple power sources, so it's not * an error if it doesn't exist. We'll return -1 for "unknown" */ @@ -81,16 +88,13 @@ psutil_sensors_battery(PyObject *self, PyObject *args) { time_to_empty = -1; } - py_tuple = Py_BuildValue("Iii", - capacity, time_to_empty, is_power_plugged); - if (!py_tuple) { + py_tuple = Py_BuildValue("Iii", capacity, time_to_empty, is_power_plugged); + if (!py_tuple) goto error; - } CFRelease(power_info); CFRelease(power_sources_list); /* Caller should NOT release power_sources_information */ - return py_tuple; error: diff --git a/contrib/python/psutil/py3/psutil/arch/osx/sensors.h b/contrib/python/psutil/py3/psutil/arch/osx/sensors.h deleted file mode 100644 index edace25d3de..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/osx/sensors.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_sensors_battery(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/osx/sys.c b/contrib/python/psutil/py3/psutil/arch/osx/sys.c index 4fe66425973..3fafcac2b52 100644 --- a/contrib/python/psutil/py3/psutil/arch/osx/sys.c +++ b/contrib/python/psutil/py3/psutil/arch/osx/sys.c @@ -10,79 +10,19 @@ #include <Python.h> #include <sys/sysctl.h> -#include <utmpx.h> -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" PyObject * psutil_boot_time(PyObject *self, PyObject *args) { // fetch sysctl "kern.boottime" - static int request[2] = { CTL_KERN, KERN_BOOTTIME }; + int mib[2] = {CTL_KERN, KERN_BOOTTIME}; struct timeval result; - size_t result_len = sizeof result; time_t boot_time = 0; - if (sysctl(request, 2, &result, &result_len, NULL, 0) == -1) - return PyErr_SetFromErrno(PyExc_OSError); - boot_time = result.tv_sec; - return Py_BuildValue("f", (float)boot_time); -} - - -PyObject * -psutil_users(PyObject *self, PyObject *args) { - struct utmpx *utx; - PyObject *py_username = NULL; - PyObject *py_tty = NULL; - PyObject *py_hostname = NULL; - PyObject *py_tuple = NULL; - PyObject *py_retlist = PyList_New(0); - - if (py_retlist == NULL) + if (psutil_sysctl(mib, 2, &result, sizeof(result)) == -1) return NULL; - while ((utx = getutxent()) != NULL) { - if (utx->ut_type != USER_PROCESS) - continue; - py_username = PyUnicode_DecodeFSDefault(utx->ut_user); - if (! py_username) - goto error; - py_tty = PyUnicode_DecodeFSDefault(utx->ut_line); - if (! py_tty) - goto error; - py_hostname = PyUnicode_DecodeFSDefault(utx->ut_host); - if (! py_hostname) - goto error; - py_tuple = Py_BuildValue( - "(OOOdi)", - py_username, // username - py_tty, // tty - py_hostname, // hostname - (double)utx->ut_tv.tv_sec, // start time - utx->ut_pid // process id - ); - if (!py_tuple) { - endutxent(); - goto error; - } - if (PyList_Append(py_retlist, py_tuple)) { - endutxent(); - goto error; - } - Py_CLEAR(py_username); - Py_CLEAR(py_tty); - Py_CLEAR(py_hostname); - Py_CLEAR(py_tuple); - } - - endutxent(); - return py_retlist; - -error: - Py_XDECREF(py_username); - Py_XDECREF(py_tty); - Py_XDECREF(py_hostname); - Py_XDECREF(py_tuple); - Py_DECREF(py_retlist); - return NULL; + boot_time = result.tv_sec; + return Py_BuildValue("d", (double)boot_time); } diff --git a/contrib/python/psutil/py3/psutil/arch/osx/sys.h b/contrib/python/psutil/py3/psutil/arch/osx/sys.h deleted file mode 100644 index 344ca21d42c..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/osx/sys.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_boot_time(PyObject *self, PyObject *args); -PyObject *psutil_users(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/posix/init.c b/contrib/python/psutil/py3/psutil/arch/posix/init.c new file mode 100644 index 00000000000..8a95a3151aa --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/posix/init.c @@ -0,0 +1,225 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> +#include <sys/resource.h> +#include <sys/socket.h> + +#include "init.h" + +PyObject *ZombieProcessError = NULL;; + +/* + * From "man getpagesize" on Linux, https://linux.die.net/man/2/getpagesize: + * + * > In SUSv2 the getpagesize() call is labeled LEGACY, and in POSIX.1-2001 + * > it has been dropped. + * > Portable applications should employ sysconf(_SC_PAGESIZE) instead + * > of getpagesize(). + * > Most systems allow the synonym _SC_PAGE_SIZE for _SC_PAGESIZE. + * > Whether getpagesize() is present as a Linux system call depends on the + * > architecture. + */ +long +psutil_getpagesize(void) { +#ifdef _SC_PAGESIZE + // recommended POSIX + return sysconf(_SC_PAGESIZE); +#elif _SC_PAGE_SIZE + // alias + return sysconf(_SC_PAGE_SIZE); +#else + // legacy + return (long) getpagesize(); +#endif +} + + +// Exposed so we can test it against Python's stdlib. +PyObject * +psutil_getpagesize_pywrapper(PyObject *self, PyObject *args) { + return Py_BuildValue("l", psutil_getpagesize()); +} + + +// POSIX-only methods. +static PyMethodDef posix_methods[] = { + {"getpagesize", psutil_getpagesize_pywrapper, METH_VARARGS}, + {"net_if_addrs", psutil_net_if_addrs, METH_VARARGS}, + {"net_if_flags", psutil_net_if_flags, METH_VARARGS}, + {"net_if_is_running", psutil_net_if_is_running, METH_VARARGS}, + {"net_if_mtu", psutil_net_if_mtu, METH_VARARGS}, + {"proc_priority_get", psutil_proc_priority_get, METH_VARARGS}, + {"proc_priority_set", psutil_proc_priority_set, METH_VARARGS}, +#if defined(PSUTIL_BSD) || defined(PSUTIL_OSX) + {"net_if_duplex_speed", psutil_net_if_duplex_speed, METH_VARARGS}, +#endif +#if !defined(PSUTIL_OPENBSD) && !defined(PSUTIL_AIX) + {"users", psutil_users, METH_VARARGS}, +#endif + {NULL, NULL, 0, NULL} +}; + + +// Add POSIX methods to main OS module. +int +psutil_posix_add_methods(PyObject *mod) { + for (int i = 0; posix_methods[i].ml_name != NULL; i++) { + PyObject *f = PyCFunction_NewEx(&posix_methods[i], NULL, mod); + if (!f) { + return -1; + } + if (PyModule_AddObject(mod, posix_methods[i].ml_name, f)) { + Py_DECREF(f); + return -1; + } + } + + // custom exception + ZombieProcessError = PyErr_NewException( + "_psutil_posix.ZombieProcessError", NULL, NULL + ); + if (ZombieProcessError == NULL) + return -1; + if (PyModule_AddObject(mod, "ZombieProcessError", ZombieProcessError)) + return -1; + + return 0; +} + + +// Add POSIX constants to main OS module. +int +psutil_posix_add_constants(PyObject *mod) { + if (!mod) + return -1; + +#if defined(PSUTIL_BSD) || \ + defined(PSUTIL_OSX) || \ + defined(PSUTIL_SUNOS) || \ + defined(PSUTIL_AIX) + if (PyModule_AddIntConstant(mod, "AF_LINK", AF_LINK)) + return -1; +#endif + +#if defined(PSUTIL_LINUX) || defined(PSUTIL_FREEBSD) + PyObject *v; + +#ifdef RLIMIT_AS + if (PyModule_AddIntConstant(mod, "RLIMIT_AS", RLIMIT_AS)) + return -1; +#endif + +#ifdef RLIMIT_CORE + if (PyModule_AddIntConstant(mod, "RLIMIT_CORE", RLIMIT_CORE)) + return -1; +#endif + +#ifdef RLIMIT_CPU + if (PyModule_AddIntConstant(mod, "RLIMIT_CPU", RLIMIT_CPU)) + return -1; +#endif + +#ifdef RLIMIT_DATA + if (PyModule_AddIntConstant(mod, "RLIMIT_DATA", RLIMIT_DATA)) + return -1; +#endif + +#ifdef RLIMIT_FSIZE + if (PyModule_AddIntConstant(mod, "RLIMIT_FSIZE", RLIMIT_FSIZE)) + return -1; +#endif + +#ifdef RLIMIT_MEMLOCK + if (PyModule_AddIntConstant(mod, "RLIMIT_MEMLOCK", RLIMIT_MEMLOCK)) + return -1; +#endif + +#ifdef RLIMIT_NOFILE + if (PyModule_AddIntConstant(mod, "RLIMIT_NOFILE", RLIMIT_NOFILE)) + return -1; +#endif + +#ifdef RLIMIT_NPROC + if (PyModule_AddIntConstant(mod, "RLIMIT_NPROC", RLIMIT_NPROC)) + return -1; +#endif + +#ifdef RLIMIT_RSS + if (PyModule_AddIntConstant(mod, "RLIMIT_RSS", RLIMIT_RSS)) + return -1; +#endif + +#ifdef RLIMIT_STACK + if (PyModule_AddIntConstant(mod, "RLIMIT_STACK", RLIMIT_STACK)) + return -1; +#endif + +// Linux specific + +#ifdef RLIMIT_LOCKS + if (PyModule_AddIntConstant(mod, "RLIMIT_LOCKS", RLIMIT_LOCKS)) + return -1; +#endif + +#ifdef RLIMIT_MSGQUEUE + if (PyModule_AddIntConstant(mod, "RLIMIT_MSGQUEUE", RLIMIT_MSGQUEUE)) + return -1; +#endif + +#ifdef RLIMIT_NICE + if (PyModule_AddIntConstant(mod, "RLIMIT_NICE", RLIMIT_NICE)) + return -1; +#endif + +#ifdef RLIMIT_RTPRIO + if (PyModule_AddIntConstant(mod, "RLIMIT_RTPRIO", RLIMIT_RTPRIO)) + return -1; +#endif + +#ifdef RLIMIT_RTTIME + if (PyModule_AddIntConstant(mod, "RLIMIT_RTTIME", RLIMIT_RTTIME)) + return -1; +#endif + +#ifdef RLIMIT_SIGPENDING + if (PyModule_AddIntConstant(mod, "RLIMIT_SIGPENDING", RLIMIT_SIGPENDING)) + return -1; +#endif + +// Free specific + +#ifdef RLIMIT_SWAP + if (PyModule_AddIntConstant(mod, "RLIMIT_SWAP", RLIMIT_SWAP)) + return -1; +#endif + +#ifdef RLIMIT_SBSIZE + if (PyModule_AddIntConstant(mod, "RLIMIT_SBSIZE", RLIMIT_SBSIZE)) + return -1; +#endif + +#ifdef RLIMIT_NPTS + if (PyModule_AddIntConstant(mod, "RLIMIT_NPTS", RLIMIT_NPTS)) + return -1; +#endif + +#if defined(HAVE_LONG_LONG) + if (sizeof(RLIM_INFINITY) > sizeof(long)) { + v = PyLong_FromLongLong((PY_LONG_LONG) RLIM_INFINITY); + } else +#endif + { + v = PyLong_FromLong((long) RLIM_INFINITY); + } + if (v) { + if (PyModule_AddObject(mod, "RLIM_INFINITY", v)) + return -1; + } +#endif // defined(PSUTIL_LINUX) || defined(PSUTIL_FREEBSD) + + return 0; +} diff --git a/contrib/python/psutil/py3/psutil/arch/posix/init.h b/contrib/python/psutil/py3/psutil/arch/posix/init.h new file mode 100644 index 00000000000..3e323ca149b --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/posix/init.h @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +extern PyObject *ZombieProcessError; + +#if !defined(PSUTIL_OPENBSD) && !defined(PSUTIL_AIX) + #define PSUTIL_HAS_POSIX_USERS + + PyObject *psutil_users(PyObject *self, PyObject *args); +#endif + +#if defined(PSUTIL_BSD) || defined(PSUTIL_OSX) + #include <sys/types.h> + + #define PSUTIL_HAS_SYSCTL + + int psutil_sysctl(int *mib, u_int miblen, void *buf, size_t buflen); + int psutil_sysctl_malloc(int *mib, u_int miblen, char **buf, size_t *buflen); + size_t psutil_sysctl_argmax(); + + #if !defined(PSUTIL_OPENBSD) + + #define PSUTIL_HAS_SYSCTLBYNAME + + int psutil_sysctlbyname(const char *name, void *buf, size_t buflen); + int psutil_sysctlbyname_malloc(const char *name, char **buf, size_t *buflen); + #endif +#endif + +#if defined(PSUTIL_BSD) || defined(PSUTIL_OSX) + #define PSUTIL_HAS_NET_IF_DUPLEX_SPEED + + PyObject *psutil_net_if_duplex_speed(PyObject *self, PyObject *args); +#endif + +int psutil_pid_exists(pid_t pid); +long psutil_getpagesize(void); +void psutil_raise_for_pid(pid_t pid, char *msg); +int psutil_posix_add_constants(PyObject *mod); +int psutil_posix_add_methods(PyObject *mod); + +PyObject *psutil_getpagesize_pywrapper(PyObject *self, PyObject *args); +PyObject *psutil_net_if_addrs(PyObject *self, PyObject *args); +PyObject *psutil_net_if_flags(PyObject *self, PyObject *args); +PyObject *psutil_net_if_is_running(PyObject *self, PyObject *args); +PyObject *psutil_net_if_mtu(PyObject *self, PyObject *args); +PyObject *psutil_proc_priority_get(PyObject *self, PyObject *args); +PyObject *psutil_proc_priority_set(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/_psutil_posix.c b/contrib/python/psutil/py3/psutil/arch/posix/net.c index de10f7854a8..a857a5dea84 100644 --- a/contrib/python/psutil/py3/psutil/_psutil_posix.c +++ b/contrib/python/psutil/py3/psutil/arch/posix/net.c @@ -2,24 +2,18 @@ * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. - * - * Functions specific to all POSIX compliant platforms. */ #include <Python.h> #include <errno.h> #include <stdlib.h> -#include <sys/resource.h> #include <sys/types.h> -#include <signal.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <net/if.h> #include <unistd.h> -#ifdef PSUTIL_SUNOS10 - #error #include "arch/solaris/v10/ifaddrs.h" -#elif PSUTIL_AIX +#ifdef PSUTIL_AIX #error #include "arch/aix/ifaddrs.h" #else #include <ifaddrs.h> @@ -45,183 +39,15 @@ #if defined(PSUTIL_AIX) #include <netdb.h> #endif -#if defined(PSUTIL_LINUX) || defined(PSUTIL_FREEBSD) - #include <sys/resource.h> -#endif - -#include "_psutil_common.h" - - -#define INITERR return NULL - - -// ==================================================================== -// --- Utils -// ==================================================================== - - -/* - * From "man getpagesize" on Linux, https://linux.die.net/man/2/getpagesize: - * - * > In SUSv2 the getpagesize() call is labeled LEGACY, and in POSIX.1-2001 - * > it has been dropped. - * > Portable applications should employ sysconf(_SC_PAGESIZE) instead - * > of getpagesize(). - * > Most systems allow the synonym _SC_PAGE_SIZE for _SC_PAGESIZE. - * > Whether getpagesize() is present as a Linux system call depends on the - * > architecture. - */ -long -psutil_getpagesize(void) { -#ifdef _SC_PAGESIZE - // recommended POSIX - return sysconf(_SC_PAGESIZE); -#elif _SC_PAGE_SIZE - // alias - return sysconf(_SC_PAGE_SIZE); -#else - // legacy - return (long) getpagesize(); -#endif -} - - -/* - * Check if PID exists. Return values: - * 1: exists - * 0: does not exist - * -1: error (Python exception is set) - */ -int -psutil_pid_exists(pid_t pid) { - int ret; - - // No negative PID exists, plus -1 is an alias for sending signal - // too all processes except system ones. Not what we want. - if (pid < 0) - return 0; - - // As per "man 2 kill" PID 0 is an alias for sending the signal to - // every process in the process group of the calling process. - // Not what we want. Some platforms have PID 0, some do not. - // We decide that at runtime. - if (pid == 0) { -#if defined(PSUTIL_LINUX) || defined(PSUTIL_FREEBSD) - return 0; -#else - return 1; -#endif - } - - ret = kill(pid , 0); - if (ret == 0) - return 1; - else { - if (errno == ESRCH) { - // ESRCH == No such process - return 0; - } - else if (errno == EPERM) { - // EPERM clearly indicates there's a process to deny - // access to. - return 1; - } - else { - // According to "man 2 kill" possible error values are - // (EINVAL, EPERM, ESRCH) therefore we should never get - // here. If we do let's be explicit in considering this - // an error. - PyErr_SetFromErrno(PyExc_OSError); - return -1; - } - } -} - - -/* - * Utility used for those syscalls which do not return a meaningful - * error that we can translate into an exception which makes sense. - * As such, we'll have to guess. - * On UNIX, if errno is set, we return that one (OSError). - * Else, if PID does not exist we assume the syscall failed because - * of that so we raise NoSuchProcess. - * If none of this is true we giveup and raise RuntimeError(msg). - * This will always set a Python exception and return NULL. - */ -void -psutil_raise_for_pid(long pid, char *syscall) { - if (errno != 0) - psutil_PyErr_SetFromOSErrnoWithSyscall(syscall); - else if (psutil_pid_exists(pid) == 0) - NoSuchProcess(syscall); - else - PyErr_Format(PyExc_RuntimeError, "%s syscall failed", syscall); -} - - -// ==================================================================== -// --- Python wrappers -// ==================================================================== - -// Exposed so we can test it against Python's stdlib. -static PyObject * -psutil_getpagesize_pywrapper(PyObject *self, PyObject *args) { - return Py_BuildValue("l", psutil_getpagesize()); -} - - -/* - * Given a PID return process priority as a Python integer. - */ -static PyObject * -psutil_posix_getpriority(PyObject *self, PyObject *args) { - pid_t pid; - int priority; - errno = 0; - - if (! PyArg_ParseTuple(args, _Py_PARSE_PID, &pid)) - return NULL; - -#ifdef PSUTIL_OSX - priority = getpriority(PRIO_PROCESS, (id_t)pid); -#else - priority = getpriority(PRIO_PROCESS, pid); -#endif - if (errno != 0) - return PyErr_SetFromErrno(PyExc_OSError); - return Py_BuildValue("i", priority); -} - - -/* - * Given a PID and a value change process priority. - */ -static PyObject * -psutil_posix_setpriority(PyObject *self, PyObject *args) { - pid_t pid; - int priority; - int retval; - - if (! PyArg_ParseTuple(args, _Py_PARSE_PID "i", &pid, &priority)) - return NULL; - -#ifdef PSUTIL_OSX - retval = setpriority(PRIO_PROCESS, (id_t)pid, priority); -#else - retval = setpriority(PRIO_PROCESS, pid, priority); -#endif - if (retval == -1) - return PyErr_SetFromErrno(PyExc_OSError); - Py_RETURN_NONE; -} +#include "../../arch/all/init.h" /* * Translate a sockaddr struct into a Python string. * Return None if address family is not AF_INET* or AF_PACKET. */ -static PyObject * +PyObject * psutil_convert_ipaddr(struct sockaddr *addr, int family) { char buf[NI_MAXHOST]; int err; @@ -297,7 +123,7 @@ psutil_convert_ipaddr(struct sockaddr *addr, int family) { * Return NICs information a-la ifconfig as a list of tuples. * TODO: on Solaris we won't get any MAC address. */ -static PyObject* +PyObject* psutil_net_if_addrs(PyObject* self, PyObject* args) { struct ifaddrs *ifaddr, *ifa; int family; @@ -391,16 +217,12 @@ error: * Return NIC MTU. References: * http://www.i-scream.org/libstatgrab/ */ -static PyObject * +PyObject * psutil_net_if_mtu(PyObject *self, PyObject *args) { char *nic_name; int sock = -1; int ret; -#ifdef PSUTIL_SUNOS10 - struct lifreq lifr; -#else struct ifreq ifr; -#endif if (! PyArg_ParseTuple(args, "s", &nic_name)) return NULL; @@ -409,22 +231,13 @@ psutil_net_if_mtu(PyObject *self, PyObject *args) { if (sock == -1) goto error; -#ifdef PSUTIL_SUNOS10 - PSUTIL_STRNCPY(lifr.lifr_name, nic_name, sizeof(lifr.lifr_name)); - ret = ioctl(sock, SIOCGIFMTU, &lifr); -#else PSUTIL_STRNCPY(ifr.ifr_name, nic_name, sizeof(ifr.ifr_name)); ret = ioctl(sock, SIOCGIFMTU, &ifr); -#endif if (ret == -1) goto error; close(sock); -#ifdef PSUTIL_SUNOS10 - return Py_BuildValue("i", lifr.lifr_mtu); -#else return Py_BuildValue("i", ifr.ifr_mtu); -#endif error: if (sock != -1) @@ -433,7 +246,7 @@ error: } static int -append_flag(PyObject *py_retlist, const char * flag_name) +append_flag(PyObject *py_retlist, const char *flag_name) { PyObject *py_str = NULL; @@ -452,7 +265,7 @@ append_flag(PyObject *py_retlist, const char * flag_name) /* * Get all of the NIC flags and return them. */ -static PyObject * +PyObject * psutil_net_if_flags(PyObject *self, PyObject *args) { char *nic_name; int sock = -1; @@ -638,7 +451,7 @@ error: * running. References: * http://www.i-scream.org/libstatgrab/ */ -static PyObject * +PyObject * psutil_net_if_is_running(PyObject *self, PyObject *args) { char *nic_name; int sock = -1; @@ -670,10 +483,9 @@ error: } -/* - * net_if_stats() macOS/BSD implementation. - */ -#if defined(PSUTIL_BSD) || defined(PSUTIL_OSX) + +// net_if_stats() macOS/BSD implementation. +#ifdef PSUTIL_HAS_NET_IF_DUPLEX_SPEED int psutil_get_nic_speed(int ifm_active) { // Determine NIC speed. Taken from: @@ -817,7 +629,7 @@ int psutil_get_nic_speed(int ifm_active) { * References: * http://www.i-scream.org/libstatgrab/ */ -static PyObject * +PyObject * psutil_net_if_duplex_speed(PyObject *self, PyObject *args) { char *nic_name; int sock = -1; @@ -856,162 +668,4 @@ psutil_net_if_duplex_speed(PyObject *self, PyObject *args) { close(sock); return Py_BuildValue("[ii]", duplex, speed); } -#endif // net_if_stats() macOS/BSD implementation - - -#ifdef __cplusplus -extern "C" { -#endif - - -/* - * define the psutil C module methods and initialize the module. - */ -static PyMethodDef mod_methods[] = { - {"getpagesize", psutil_getpagesize_pywrapper, METH_VARARGS}, - {"getpriority", psutil_posix_getpriority, METH_VARARGS}, - {"net_if_addrs", psutil_net_if_addrs, METH_VARARGS}, - {"net_if_flags", psutil_net_if_flags, METH_VARARGS}, - {"net_if_is_running", psutil_net_if_is_running, METH_VARARGS}, - {"net_if_mtu", psutil_net_if_mtu, METH_VARARGS}, - {"setpriority", psutil_posix_setpriority, METH_VARARGS}, -#if defined(PSUTIL_BSD) || defined(PSUTIL_OSX) - {"net_if_duplex_speed", psutil_net_if_duplex_speed, METH_VARARGS}, -#endif - {NULL, NULL, 0, NULL} -}; - - -static struct PyModuleDef moduledef = { - PyModuleDef_HEAD_INIT, - "_psutil_posix", - NULL, - -1, - mod_methods, - NULL, - NULL, - NULL, - NULL -}; - -PyObject * -PyInit__psutil_posix(void) { - PyObject *mod = PyModule_Create(&moduledef); - if (mod == NULL) - INITERR; - -#ifdef Py_GIL_DISABLED - PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED); -#endif - -#if defined(PSUTIL_BSD) || \ - defined(PSUTIL_OSX) || \ - defined(PSUTIL_SUNOS) || \ - defined(PSUTIL_AIX) - if (PyModule_AddIntConstant(mod, "AF_LINK", AF_LINK)) INITERR; -#endif - -#if defined(PSUTIL_LINUX) || defined(PSUTIL_FREEBSD) - PyObject *v; - -#ifdef RLIMIT_AS - if (PyModule_AddIntConstant(mod, "RLIMIT_AS", RLIMIT_AS)) INITERR; -#endif - -#ifdef RLIMIT_CORE - if (PyModule_AddIntConstant(mod, "RLIMIT_CORE", RLIMIT_CORE)) INITERR; -#endif - -#ifdef RLIMIT_CPU - if (PyModule_AddIntConstant(mod, "RLIMIT_CPU", RLIMIT_CPU)) INITERR; -#endif - -#ifdef RLIMIT_DATA - if (PyModule_AddIntConstant(mod, "RLIMIT_DATA", RLIMIT_DATA)) INITERR; -#endif - -#ifdef RLIMIT_FSIZE - if (PyModule_AddIntConstant(mod, "RLIMIT_FSIZE", RLIMIT_FSIZE)) INITERR; -#endif - -#ifdef RLIMIT_MEMLOCK - if (PyModule_AddIntConstant(mod, "RLIMIT_MEMLOCK", RLIMIT_MEMLOCK)) INITERR; -#endif - -#ifdef RLIMIT_NOFILE - if (PyModule_AddIntConstant(mod, "RLIMIT_NOFILE", RLIMIT_NOFILE)) INITERR; -#endif - -#ifdef RLIMIT_NPROC - if (PyModule_AddIntConstant(mod, "RLIMIT_NPROC", RLIMIT_NPROC)) INITERR; -#endif - -#ifdef RLIMIT_RSS - if (PyModule_AddIntConstant(mod, "RLIMIT_RSS", RLIMIT_RSS)) INITERR; -#endif - -#ifdef RLIMIT_STACK - if (PyModule_AddIntConstant(mod, "RLIMIT_STACK", RLIMIT_STACK)) INITERR; -#endif - -// Linux specific - -#ifdef RLIMIT_LOCKS - if (PyModule_AddIntConstant(mod, "RLIMIT_LOCKS", RLIMIT_LOCKS)) INITERR; -#endif - -#ifdef RLIMIT_MSGQUEUE - if (PyModule_AddIntConstant(mod, "RLIMIT_MSGQUEUE", RLIMIT_MSGQUEUE)) INITERR; -#endif - -#ifdef RLIMIT_NICE - if (PyModule_AddIntConstant(mod, "RLIMIT_NICE", RLIMIT_NICE)) INITERR; -#endif - -#ifdef RLIMIT_RTPRIO - if (PyModule_AddIntConstant(mod, "RLIMIT_RTPRIO", RLIMIT_RTPRIO)) INITERR; -#endif - -#ifdef RLIMIT_RTTIME - if (PyModule_AddIntConstant(mod, "RLIMIT_RTTIME", RLIMIT_RTTIME)) INITERR; -#endif - -#ifdef RLIMIT_SIGPENDING - if (PyModule_AddIntConstant(mod, "RLIMIT_SIGPENDING", RLIMIT_SIGPENDING)) INITERR; -#endif - -// Free specific - -#ifdef RLIMIT_SWAP - if (PyModule_AddIntConstant(mod, "RLIMIT_SWAP", RLIMIT_SWAP)) INITERR; -#endif - -#ifdef RLIMIT_SBSIZE - if (PyModule_AddIntConstant(mod, "RLIMIT_SBSIZE", RLIMIT_SBSIZE)) INITERR; -#endif - -#ifdef RLIMIT_NPTS - if (PyModule_AddIntConstant(mod, "RLIMIT_NPTS", RLIMIT_NPTS)) INITERR; -#endif - -#if defined(HAVE_LONG_LONG) - if (sizeof(RLIM_INFINITY) > sizeof(long)) { - v = PyLong_FromLongLong((PY_LONG_LONG) RLIM_INFINITY); - } else -#endif - { - v = PyLong_FromLong((long) RLIM_INFINITY); - } - if (v) { - PyModule_AddObject(mod, "RLIM_INFINITY", v); - } -#endif // defined(PSUTIL_LINUX) || defined(PSUTIL_FREEBSD) - - if (mod == NULL) - INITERR; - return mod; -} - -#ifdef __cplusplus -} -#endif +#endif // PSUTIL_HAS_NET_IF_DUPLEX_SPEED diff --git a/contrib/python/psutil/py3/psutil/arch/posix/proc.c b/contrib/python/psutil/py3/psutil/arch/posix/proc.c new file mode 100644 index 00000000000..b0ddf7b0e64 --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/posix/proc.c @@ -0,0 +1,120 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + +#include <signal.h> +#include <sys/resource.h> + +#include "../../arch/all/init.h" + +// Check if PID exists. Return values: +// 1: exists +// 0: does not exist +// -1: error (Python exception is set) +int +psutil_pid_exists(pid_t pid) { + int ret; + + // No negative PID exists, plus -1 is an alias for sending signal + // too all processes except system ones. Not what we want. + if (pid < 0) + return 0; + + // As per "man 2 kill" PID 0 is an alias for sending the signal to + // every process in the process group of the calling process. + // Not what we want. Some platforms have PID 0, some do not. + // We decide that at runtime. + if (pid == 0) { +#if defined(PSUTIL_LINUX) || defined(PSUTIL_FREEBSD) + return 0; +#else + return 1; +#endif + } + + ret = kill(pid , 0); + if (ret == 0) + return 1; + else { + if (errno == ESRCH) { + // ESRCH == No such process + return 0; + } + else if (errno == EPERM) { + // EPERM clearly indicates there's a process to deny + // access to. + return 1; + } + else { + // According to "man 2 kill" possible error values are + // (EINVAL, EPERM, ESRCH) therefore we should never get + // here. If we do let's be explicit in considering this + // an error. + PyErr_SetFromErrno(PyExc_OSError); + return -1; + } + } +} + + +// Utility used for those syscalls which do not return a meaningful +// error that we can translate into an exception which makes sense. As +// such, we'll have to guess. On UNIX, if errno is set, we return that +// one (OSError). Else, if PID does not exist we assume the syscall +// failed because of that so we raise NoSuchProcess. If none of this is +// true we giveup and raise RuntimeError(msg). This will always set a +// Python exception and return NULL. +void +psutil_raise_for_pid(pid_t pid, char *syscall) { + if (errno != 0) + psutil_PyErr_SetFromOSErrnoWithSyscall(syscall); + else if (psutil_pid_exists(pid) == 0) + NoSuchProcess(syscall); + else + PyErr_Format(PyExc_RuntimeError, "%s syscall failed", syscall); +} + + +// Get PID priority. +PyObject * +psutil_proc_priority_get(PyObject *self, PyObject *args) { + pid_t pid; + int priority; + errno = 0; + + if (! PyArg_ParseTuple(args, _Py_PARSE_PID, &pid)) + return NULL; + +#ifdef PSUTIL_OSX + priority = getpriority(PRIO_PROCESS, (id_t)pid); +#else + priority = getpriority(PRIO_PROCESS, pid); +#endif + if (errno != 0) + return PyErr_SetFromErrno(PyExc_OSError); + return Py_BuildValue("i", priority); +} + + +// Set PID priority. +PyObject * +psutil_proc_priority_set(PyObject *self, PyObject *args) { + pid_t pid; + int priority; + int retval; + + if (! PyArg_ParseTuple(args, _Py_PARSE_PID "i", &pid, &priority)) + return NULL; + +#ifdef PSUTIL_OSX + retval = setpriority(PRIO_PROCESS, (id_t)pid, priority); +#else + retval = setpriority(PRIO_PROCESS, pid, priority); +#endif + if (retval == -1) + return PyErr_SetFromErrno(PyExc_OSError); + Py_RETURN_NONE; +} diff --git a/contrib/python/psutil/py3/psutil/arch/posix/sysctl.c b/contrib/python/psutil/py3/psutil/arch/posix/sysctl.c new file mode 100644 index 00000000000..fbe1b561cb1 --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/posix/sysctl.c @@ -0,0 +1,245 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "../../arch/all/init.h" + +#ifdef PSUTIL_HAS_SYSCTL +#include <Python.h> +#include <sys/types.h> +#include <sys/sysctl.h> + + +static const int MAX_RETRIES = 10; + + +// A thin wrapper on top of sysctl(). +int +psutil_sysctl(int *mib, u_int miblen, void *buf, size_t buflen) { + size_t len = buflen; + + if (!mib || miblen == 0 || !buf || buflen == 0) + return psutil_badargs("psutil_sysctl"); + + if (sysctl(mib, miblen, buf, &len, NULL, 0) == -1) { + psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl()"); + return -1; + } + + if (len != buflen) { + PyErr_SetString(PyExc_RuntimeError, "sysctl() size mismatch"); + return -1; + } + + return 0; +} + + +// Allocate buffer for sysctl with retry on ENOMEM or buffer size mismatch. +// The caller is responsible for freeing the memory. +int +psutil_sysctl_malloc(int *mib, u_int miblen, char **buf, size_t *buflen) { + size_t needed = 0; + char *buffer = NULL; + int ret; + int max_retries = MAX_RETRIES; + + if (!mib || miblen == 0 || !buf || !buflen) + return psutil_badargs("psutil_sysctl_malloc"); + + // First query to determine required size + ret = sysctl(mib, miblen, NULL, &needed, NULL, 0); + if (ret == -1) { + psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl() malloc 1/3"); + return -1; + } + + if (needed == 0) { + psutil_debug("psutil_sysctl_malloc() size = 0"); + } + + while (max_retries-- > 0) { + // zero-initialize buffer to prevent uninitialized bytes + buffer = calloc(1, needed); + if (buffer == NULL) { + PyErr_NoMemory(); + return -1; + } + + size_t len = needed; + ret = sysctl(mib, miblen, buffer, &len, NULL, 0); + + if (ret == 0) { + // Success: return buffer and length + *buf = buffer; + *buflen = len; + return 0; + } + + // Handle buffer too small + if (errno == ENOMEM) { + free(buffer); + buffer = NULL; + + // Re-query needed size for next attempt + if (sysctl(mib, miblen, NULL, &needed, NULL, 0) == -1) { + psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl() malloc 2/3"); + return -1; + } + + psutil_debug("psutil_sysctl_malloc() retry"); + continue; + } + + // Other errors: clean up and give up + free(buffer); + psutil_PyErr_SetFromOSErrnoWithSyscall("sysctl() malloc 3/3"); + return -1; + } + + PyErr_SetString( + PyExc_RuntimeError, "sysctl() buffer allocation retry limit exceeded" + ); + return -1; +} + + +// Get the maximum process arguments size. Return 0 on error. +size_t +psutil_sysctl_argmax() { + int argmax; + int mib[2] = {CTL_KERN, KERN_ARGMAX}; + + if (psutil_sysctl(mib, 2, &argmax, sizeof(argmax)) != 0) { + return 0; + } + + if (argmax <= 0) { + PyErr_SetString( + PyExc_RuntimeError, "sysctl(KERN_ARGMAX) return <= 0" + ); + return 0; + } + + return (size_t)argmax; +} + + +#ifdef PSUTIL_HAS_SYSCTLBYNAME +// A thin wrapper on top of sysctlbyname(). +int +psutil_sysctlbyname(const char *name, void *buf, size_t buflen) { + size_t len = buflen; + char errbuf[256]; + + if (!name || !buf || buflen == 0) + return psutil_badargs("psutil_sysctlbyname"); + + if (sysctlbyname(name, buf, &len, NULL, 0) == -1) { + snprintf(errbuf, sizeof(errbuf), "sysctlbyname('%s')", name); + psutil_PyErr_SetFromOSErrnoWithSyscall(errbuf); + return -1; + } + + if (len != buflen) { + snprintf( + errbuf, + sizeof(errbuf), + "sysctlbyname('%s') size mismatch: returned %zu, expected %zu", + name, + len, + buflen + ); + PyErr_SetString(PyExc_RuntimeError, errbuf); + return -1; + } + + return 0; +} + + +// Allocate buffer for sysctlbyname with retry on ENOMEM or size mismatch. +// The caller is responsible for freeing the memory. +int +psutil_sysctlbyname_malloc(const char *name, char **buf, size_t *buflen) { + int ret; + int max_retries = MAX_RETRIES; + size_t needed = 0; + size_t len = 0; + char *buffer = NULL; + char errbuf[256]; + + if (!name || !buf || !buflen) + return psutil_badargs("psutil_sysctlbyname_malloc"); + + // First query to determine required size. + ret = sysctlbyname(name, NULL, &needed, NULL, 0); + if (ret == -1) { + snprintf(errbuf, sizeof(errbuf), "sysctlbyname('%s') malloc 1/3", name); + psutil_PyErr_SetFromOSErrnoWithSyscall(errbuf); + return -1; + } + + if (needed == 0) { + psutil_debug("psutil_sysctlbyname_malloc() size = 0"); + } + + while (max_retries-- > 0) { + // Zero-initialize buffer to prevent uninitialized bytes. + buffer = calloc(1, needed); + if (buffer == NULL) { + PyErr_NoMemory(); + return -1; + } + + len = needed; + ret = sysctlbyname(name, buffer, &len, NULL, 0); + if (ret == 0) { + // Success: return buffer and actual length. + *buf = buffer; + *buflen = len; + return 0; + } + + // Handle buffer too small. Re-query and retry. + if (errno == ENOMEM) { + free(buffer); + buffer = NULL; + + if (sysctlbyname(name, NULL, &needed, NULL, 0) == -1) { + snprintf( + errbuf, + sizeof(errbuf), + "sysctlbyname('%s') malloc 2/3", + name + ); + psutil_PyErr_SetFromOSErrnoWithSyscall(errbuf); + return -1; + } + + psutil_debug("psutil_sysctlbyname_malloc() retry"); + continue; + } + + // Other errors: clean up and give up. + free(buffer); + snprintf( + errbuf, sizeof(errbuf), "sysctlbyname('%s') malloc 3/3", name + ); + psutil_PyErr_SetFromOSErrnoWithSyscall(errbuf); + return -1; + } + + snprintf( + errbuf, + sizeof(errbuf), + "sysctlbyname('%s') buffer allocation retry limit exceeded", + name + ); + PyErr_SetString(PyExc_RuntimeError, errbuf); + return -1; +} +#endif // PSUTIL_HAS_SYSCTLBYNAME +#endif // PSUTIL_HAS_SYSCTL diff --git a/contrib/python/psutil/py3/psutil/arch/linux/users.c b/contrib/python/psutil/py3/psutil/arch/posix/users.c index 663d0f2a457..df33820e0ac 100644 --- a/contrib/python/psutil/py3/psutil/arch/linux/users.c +++ b/contrib/python/psutil/py3/psutil/arch/posix/users.c @@ -4,40 +4,74 @@ * found in the LICENSE file. */ +#include "../../arch/all/init.h" + +#ifdef PSUTIL_HAS_POSIX_USERS #include <Python.h> -#include <utmp.h> #include <string.h> -#include "../../_psutil_common.h" +#include <utmpx.h> + + + +static void +setup() { + UTXENT_MUTEX_LOCK(); + setutxent(); +} + + +static void +teardown() { + endutxent(); + UTXENT_MUTEX_UNLOCK(); +} PyObject * psutil_users(PyObject *self, PyObject *args) { - struct utmp *ut; - PyObject *py_retlist = PyList_New(0); - PyObject *py_tuple = NULL; + struct utmpx *ut; + size_t host_len; PyObject *py_username = NULL; PyObject *py_tty = NULL; PyObject *py_hostname = NULL; + PyObject *py_tuple = NULL; + PyObject *py_retlist = PyList_New(0); if (py_retlist == NULL) return NULL; - setutent(); - while (NULL != (ut = getutent())) { + + setup(); + + while ((ut = getutxent()) != NULL) { if (ut->ut_type != USER_PROCESS) continue; py_tuple = NULL; + py_username = PyUnicode_DecodeFSDefault(ut->ut_user); if (! py_username) goto error; + py_tty = PyUnicode_DecodeFSDefault(ut->ut_line); if (! py_tty) goto error; - if (strcmp(ut->ut_host, ":0") == 0 || strcmp(ut->ut_host, ":0.0") == 0) + + host_len = strnlen(ut->ut_host, sizeof(ut->ut_host)); + if (host_len == 0 || + (strcmp(ut->ut_host, ":0") == 0) || + (strcmp(ut->ut_host, ":0.0") == 0)) + { py_hostname = PyUnicode_DecodeFSDefault("localhost"); - else - py_hostname = PyUnicode_DecodeFSDefault(ut->ut_host); - if (! py_hostname) + } + else { + // ut_host might not be null-terminated if the hostname is + // very long, so we do it. + char hostbuf[sizeof(ut->ut_host)]; + memcpy(hostbuf, ut->ut_host, host_len); + hostbuf[host_len] = '\0'; + py_hostname = PyUnicode_DecodeFSDefault(hostbuf); + } + if (!py_hostname) goto error; py_tuple = Py_BuildValue( @@ -57,15 +91,17 @@ psutil_users(PyObject *self, PyObject *args) { Py_CLEAR(py_hostname); Py_CLEAR(py_tuple); } - endutent(); + + teardown(); return py_retlist; error: + teardown(); Py_XDECREF(py_username); Py_XDECREF(py_tty); Py_XDECREF(py_hostname); Py_XDECREF(py_tuple); Py_DECREF(py_retlist); - endutent(); return NULL; } +#endif // PSUTIL_HAS_POSIX_USERS diff --git a/contrib/python/psutil/py3/psutil/arch/sunos/cpu.c b/contrib/python/psutil/py3/psutil/arch/sunos/cpu.c new file mode 100644 index 00000000000..946bffd00fe --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/sunos/cpu.c @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> + +#include <sys/sysinfo.h> +#include <kstat.h> + + +// System-wide CPU times. +PyObject * +psutil_per_cpu_times(PyObject *self, PyObject *args) { + kstat_ctl_t *kc; + kstat_t *ksp; + cpu_stat_t cs; + PyObject *py_retlist = PyList_New(0); + PyObject *py_cputime = NULL; + + if (py_retlist == NULL) + return NULL; + + kc = kstat_open(); + if (kc == NULL) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + + for (ksp = kc->kc_chain; ksp != NULL; ksp = ksp->ks_next) { + if (strcmp(ksp->ks_module, "cpu_stat") == 0) { + if (kstat_read(kc, ksp, &cs) == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + py_cputime = Py_BuildValue("ffff", + (float)cs.cpu_sysinfo.cpu[CPU_USER], + (float)cs.cpu_sysinfo.cpu[CPU_KERNEL], + (float)cs.cpu_sysinfo.cpu[CPU_IDLE], + (float)cs.cpu_sysinfo.cpu[CPU_WAIT]); + if (py_cputime == NULL) + goto error; + if (PyList_Append(py_retlist, py_cputime)) + goto error; + Py_CLEAR(py_cputime); + } + } + + kstat_close(kc); + return py_retlist; + +error: + Py_XDECREF(py_cputime); + Py_DECREF(py_retlist); + if (kc != NULL) + kstat_close(kc); + return NULL; +} + + +// Return the number of CPU cores on the system. +PyObject * +psutil_cpu_count_cores(PyObject *self, PyObject *args) { + kstat_ctl_t *kc; + kstat_t *ksp; + int ncpus = 0; + + kc = kstat_open(); + if (kc == NULL) + goto error; + ksp = kstat_lookup(kc, "cpu_info", -1, NULL); + if (ksp == NULL) + goto error; + + for (ksp = kc->kc_chain; ksp; ksp = ksp->ks_next) { + if (strcmp(ksp->ks_module, "cpu_info") != 0) + continue; + if (kstat_read(kc, ksp, NULL) == -1) + goto error; + ncpus += 1; + } + + kstat_close(kc); + if (ncpus > 0) + return Py_BuildValue("i", ncpus); + else + goto error; + +error: + // mimic os.cpu_count() + if (kc != NULL) + kstat_close(kc); + Py_RETURN_NONE; +} + + +// Return CPU statistics. +PyObject * +psutil_cpu_stats(PyObject *self, PyObject *args) { + kstat_ctl_t *kc; + kstat_t *ksp; + cpu_stat_t cs; + unsigned int ctx_switches = 0; + unsigned int interrupts = 0; + unsigned int traps = 0; + unsigned int syscalls = 0; + + kc = kstat_open(); + if (kc == NULL) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + + for (ksp = kc->kc_chain; ksp != NULL; ksp = ksp->ks_next) { + if (strcmp(ksp->ks_module, "cpu_stat") == 0) { + if (kstat_read(kc, ksp, &cs) == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + // voluntary + involuntary + ctx_switches += cs.cpu_sysinfo.pswitch + cs.cpu_sysinfo.inv_swtch; + interrupts += cs.cpu_sysinfo.intr; + traps += cs.cpu_sysinfo.trap; + syscalls += cs.cpu_sysinfo.syscall; + } + } + + kstat_close(kc); + return Py_BuildValue( + "IIII", ctx_switches, interrupts, syscalls, traps); + +error: + if (kc != NULL) + kstat_close(kc); + return NULL; +} diff --git a/contrib/python/psutil/py3/psutil/arch/sunos/disk.c b/contrib/python/psutil/py3/psutil/arch/sunos/disk.c new file mode 100644 index 00000000000..f736984c769 --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/sunos/disk.c @@ -0,0 +1,119 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> + +#include <sys/mntent.h> +#include <sys/mnttab.h> +#include <kstat.h> + + +PyObject * +psutil_disk_io_counters(PyObject *self, PyObject *args) { + kstat_ctl_t *kc; + kstat_t *ksp; + kstat_io_t kio; + PyObject *py_retdict = PyDict_New(); + PyObject *py_disk_info = NULL; + + if (py_retdict == NULL) + return NULL; + kc = kstat_open(); + if (kc == NULL) { + PyErr_SetFromErrno(PyExc_OSError);; + goto error; + } + ksp = kc->kc_chain; + while (ksp != NULL) { + if (ksp->ks_type == KSTAT_TYPE_IO) { + if (strcmp(ksp->ks_class, "disk") == 0) { + if (kstat_read(kc, ksp, &kio) == -1) { + kstat_close(kc); + return PyErr_SetFromErrno(PyExc_OSError);; + } + py_disk_info = Py_BuildValue( + "(IIKKLL)", + kio.reads, + kio.writes, + kio.nread, + kio.nwritten, + kio.rtime / 1000 / 1000, // from nano to milli secs + kio.wtime / 1000 / 1000 // from nano to milli secs + ); + if (!py_disk_info) + goto error; + if (PyDict_SetItemString(py_retdict, ksp->ks_name, + py_disk_info)) + goto error; + Py_CLEAR(py_disk_info); + } + } + ksp = ksp->ks_next; + } + kstat_close(kc); + + return py_retdict; + +error: + Py_XDECREF(py_disk_info); + Py_DECREF(py_retdict); + if (kc != NULL) + kstat_close(kc); + return NULL; +} + + +PyObject * +psutil_disk_partitions(PyObject *self, PyObject *args) { + FILE *file; + struct mnttab mt; + PyObject *py_dev = NULL; + PyObject *py_mountp = NULL; + PyObject *py_tuple = NULL; + PyObject *py_retlist = PyList_New(0); + + if (py_retlist == NULL) + return NULL; + + file = fopen(MNTTAB, "rb"); + if (file == NULL) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + + while (getmntent(file, &mt) == 0) { + py_dev = PyUnicode_DecodeFSDefault(mt.mnt_special); + if (! py_dev) + goto error; + py_mountp = PyUnicode_DecodeFSDefault(mt.mnt_mountp); + if (! py_mountp) + goto error; + py_tuple = Py_BuildValue( + "(OOss)", + py_dev, // device + py_mountp, // mount point + mt.mnt_fstype, // fs type + mt.mnt_mntopts); // options + if (py_tuple == NULL) + goto error; + if (PyList_Append(py_retlist, py_tuple)) + goto error; + Py_CLEAR(py_dev); + Py_CLEAR(py_mountp); + Py_CLEAR(py_tuple); + } + fclose(file); + return py_retlist; + +error: + Py_XDECREF(py_dev); + Py_XDECREF(py_mountp); + Py_XDECREF(py_tuple); + Py_DECREF(py_retlist); + if (file != NULL) + fclose(file); + return NULL; +} diff --git a/contrib/python/psutil/py3/psutil/arch/sunos/environ.c b/contrib/python/psutil/py3/psutil/arch/sunos/environ.c new file mode 100644 index 00000000000..458c7f22251 --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/sunos/environ.c @@ -0,0 +1,400 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola', Oleksii Shevchuk. + * All rights reserved. Use of this source code is governed by a BSD-style + * license that can be found in the LICENSE file. + * + * Functions specific for Process.environ(). + */ + +#define _STRUCTURED_PROC 1 + +#include <Python.h> + +#include <sys/types.h> +#include <sys/procfs.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <unistd.h> + +#include "../../arch/all/init.h" + + +#define STRING_SEARCH_BUF_SIZE 512 + + +/* + * Open address space of specified process and return file descriptor. + * @param pid a pid of process. + * @param procfs_path a path to mounted procfs filesystem. + * @return file descriptor or -1 in case of error. + */ +static int +open_address_space(pid_t pid, const char *procfs_path) { + int fd; + char proc_path[PATH_MAX]; + + snprintf(proc_path, PATH_MAX, "%s/%i/as", procfs_path, pid); + fd = open(proc_path, O_RDONLY); + if (fd < 0) + PyErr_SetFromErrno(PyExc_OSError); + + return fd; +} + + +/* + * Read chunk of data by offset to specified buffer of the same size. + * @param fd a file descriptor. + * @param offset an required offset in file. + * @param buf a buffer where to store result. + * @param buf_size a size of buffer where data will be stored. + * @return amount of bytes stored to the buffer or -1 in case of + * error. + */ +static size_t +read_offt(int fd, off_t offset, char *buf, size_t buf_size) { + size_t to_read = buf_size; + size_t stored = 0; + int r; + + while (to_read) { + r = pread(fd, buf + stored, to_read, offset + stored); + if (r < 0) + goto error; + else if (r == 0) + break; + + to_read -= r; + stored += r; + } + + return stored; + + error: + PyErr_SetFromErrno(PyExc_OSError); + return -1; +} + + +/* + * Read null-terminated string from file descriptor starting from + * specified offset. + * @param fd a file descriptor of opened address space. + * @param offset an offset in specified file descriptor. + * @return allocated null-terminated string or NULL in case of error. +*/ +static char * +read_cstring_offt(int fd, off_t offset) { + int r; + int i = 0; + off_t end = offset; + size_t len; + char buf[STRING_SEARCH_BUF_SIZE]; + char *result = NULL; + + if (lseek(fd, offset, SEEK_SET) == (off_t)-1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + + // Search end of string + for (;;) { + r = read(fd, buf, sizeof(buf)); + if (r == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + else if (r == 0) { + break; + } + else { + for (i=0; i<r; i++) + if (! buf[i]) + goto found; + } + + end += r; + } + +found: + len = end + i - offset; + + result = malloc(len+1); + if (! result) { + PyErr_NoMemory(); + goto error; + } + + if (len) { + if (read_offt(fd, offset, result, len) < 0) { + goto error; + } + } + + result[len] = '\0'; + return result; + + error: + if (result) + free(result); + return NULL; +} + + +/* + * Read block of addresses by offset, dereference them one by one + * and create an array of null terminated C strings from them. + * @param fd a file descriptor of address space of interesting process. + * @param offset an offset of address block in address space. + * @param ptr_size a size of pointer. Only 4 or 8 are valid values. + * @param count amount of pointers in block. + * @return allocated array of strings dereferenced and read by offset. + * Number of elements in array are count. In case of error function + * returns NULL. + */ +static char ** +read_cstrings_block(int fd, off_t offset, size_t ptr_size, size_t count) { + char **result = NULL; + char *pblock = NULL; + size_t pblock_size; + size_t i; + + assert(ptr_size == 4 || ptr_size == 8); + + if (!count) + goto error; + + pblock_size = ptr_size * count; + + pblock = malloc(pblock_size); + if (! pblock) { + PyErr_NoMemory(); + goto error; + } + + if (read_offt(fd, offset, pblock, pblock_size) != pblock_size) + goto error; + + result = (char **) calloc(count, sizeof(char *)); + if (! result) { + PyErr_NoMemory(); + goto error; + } + + for (i=0; i<count; i++) { + result[i] = read_cstring_offt( + fd, (ptr_size == 4? + ((uint32_t *) pblock)[i]: + ((uint64_t *) pblock)[i])); + + if (!result[i]) + goto error; + } + + free(pblock); + return result; + + error: + if (result) + psutil_free_cstrings_array(result, i); + if (pblock) + free(pblock); + return NULL; +} + + +/* + * Check that caller process can extract proper values from psinfo_t + * structure. + * @param info a pointer to process info (psinfo_t) structure of the + * interesting process. + * @return 1 in case if caller process can extract proper values from + * psinfo_t structure, or 0 otherwise. + */ +static inline int +is_ptr_dereference_possible(psinfo_t info) { +#if !defined(_LP64) + return info.pr_dmodel == PR_MODEL_ILP32; +#else + return 1; +#endif +} + + +/* + * Return pointer size according to psinfo_t structure + * @param info a pointer to process info (psinfo_t) structure of the + * interesting process. + * @return pointer size (4 or 8). + */ +static inline int +ptr_size_by_psinfo(psinfo_t info) { + return info.pr_dmodel == PR_MODEL_ILP32? 4 : 8; +} + + +/* + * Count amount of pointers in a block which ends with NULL. + * @param fd a descriptor of /proc/PID/as special file. + * @param offt an offset of block of pointers at the file. + * @param ptr_size a pointer size (allowed values: {4, 8}). + * @return amount of non-NULL pointers or -1 in case of error. + */ +static int +search_pointers_vector_size_offt(int fd, off_t offt, size_t ptr_size) { + int count = 0; + size_t r; + char buf[8]; + static const char zeros[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + + assert(ptr_size == 4 || ptr_size == 8); + + if (lseek(fd, offt, SEEK_SET) == (off_t)-1) + goto error; + + for (;; count ++) { + r = read(fd, buf, ptr_size); + + if (r < 0) + goto error; + + if (r == 0) + break; + + if (r != ptr_size) { + PyErr_SetString( + PyExc_RuntimeError, "pointer block is truncated"); + return -1; + } + + if (! memcmp(buf, zeros, ptr_size)) + break; + } + + return count; + + error: + PyErr_SetFromErrno(PyExc_OSError); + return -1; +} + + +/* + * Dereference and read array of strings by psinfo_t.pr_argv pointer from + * remote process. + * @param info a pointer to process info (psinfo_t) structure of the + * interesting process + * @param procfs_path a cstring with path to mounted procfs filesystem. + * @param count a pointer to variable where to store amount of elements in + * returned array. In case of error value of variable will not be + changed. + * @return allocated array of cstrings or NULL in case of error. + */ +char ** +psutil_read_raw_args(psinfo_t info, const char *procfs_path, size_t *count) { + int as; + char **result; + + if (! is_ptr_dereference_possible(info)) { + PyErr_SetString( + PyExc_NotImplementedError, + "can't get env of a 64 bit process from a 32 bit process"); + return NULL; + } + + if (! (info.pr_argv && info.pr_argc)) { + PyErr_SetString( + PyExc_RuntimeError, "process doesn't have arguments block"); + + return NULL; + } + + as = open_address_space(info.pr_pid, procfs_path); + if (as < 0) + return NULL; + + result = read_cstrings_block( + as, info.pr_argv, ptr_size_by_psinfo(info), info.pr_argc + ); + + if (result && count) + *count = info.pr_argc; + + close(as); + + return result; +} + + +/* + * Dereference and read array of strings by psinfo_t.pr_envp pointer + * from remote process. + * @param info a pointer to process info (psinfo_t) structure of the + * interesting process. + * @param procfs_path a cstring with path to mounted procfs filesystem. + * @param count a pointer to variable where to store amount of elements in + * returned array. In case of error value of variable will not be + * changed. To detect special case (described later) variable should be + * initialized by -1 or other negative value. + * @return allocated array of cstrings or NULL in case of error. + * Special case: count set to 0, return NULL. + * Special case means there is no error acquired, but no data + * retrieved. + * Special case exists because the nature of the process. From the + * beginning it's not clean how many pointers in envp array. Also + * situation when environment is empty is common for kernel processes. + */ +char ** +psutil_read_raw_env(psinfo_t info, const char *procfs_path, ssize_t *count) { + int as; + int env_count; + int ptr_size; + char **result = NULL; + + if (! is_ptr_dereference_possible(info)) { + PyErr_SetString( + PyExc_NotImplementedError, + "can't get env of a 64 bit process from a 32 bit process"); + return NULL; + } + + as = open_address_space(info.pr_pid, procfs_path); + if (as < 0) + return NULL; + + ptr_size = ptr_size_by_psinfo(info); + + env_count = search_pointers_vector_size_offt( + as, info.pr_envp, ptr_size); + + if (env_count >= 0 && count) + *count = env_count; + + if (env_count > 0) + result = read_cstrings_block( + as, info.pr_envp, ptr_size, env_count); + + close(as); + return result; +} + + +/* + * Free array of cstrings. + * @param array an array of cstrings returned by psutil_read_raw_env, + * psutil_read_raw_args or any other function. + * @param count a count of strings in the passed array + */ +void +psutil_free_cstrings_array(char **array, size_t count) { + size_t i; + + if (!array) + return; + for (i=0; i<count; i++) { + if (array[i]) { + free(array[i]); + } + } + free(array); +} diff --git a/contrib/python/psutil/py3/psutil/arch/sunos/init.h b/contrib/python/psutil/py3/psutil/arch/sunos/init.h new file mode 100644 index 00000000000..52ac0139b32 --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/sunos/init.h @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> +#include <libproc.h> + +#ifndef PROCESS_AS_UTILS_H +#define PROCESS_AS_UTILS_H + +char ** +psutil_read_raw_args(psinfo_t info, const char *procfs_path, size_t *count); + +char ** +psutil_read_raw_env(psinfo_t info, const char *procfs_path, ssize_t *count); + +void +psutil_free_cstrings_array(char **array, size_t count); +#endif // PROCESS_AS_UTILS_H + +PyObject *psutil_boot_time(PyObject *self, PyObject *args); +PyObject *psutil_cpu_count_cores(PyObject *self, PyObject *args); +PyObject *psutil_cpu_stats(PyObject *self, PyObject *args); +PyObject *psutil_disk_io_counters(PyObject *self, PyObject *args); +PyObject *psutil_disk_partitions(PyObject *self, PyObject *args); +PyObject *psutil_net_connections(PyObject *self, PyObject *args); +PyObject *psutil_net_if_stats(PyObject *self, PyObject *args); +PyObject *psutil_net_io_counters(PyObject *self, PyObject *args); +PyObject *psutil_per_cpu_times(PyObject *self, PyObject *args); +PyObject *psutil_proc_basic_info(PyObject *self, PyObject *args); +PyObject *psutil_proc_cpu_num(PyObject *self, PyObject *args); +PyObject *psutil_proc_cpu_times(PyObject *self, PyObject *args); +PyObject *psutil_proc_cred(PyObject *self, PyObject *args); +PyObject *psutil_proc_environ(PyObject *self, PyObject *args); +PyObject *psutil_proc_memory_maps(PyObject *self, PyObject *args); +PyObject *psutil_proc_name_and_args(PyObject *self, PyObject *args); +PyObject *psutil_proc_num_ctx_switches(PyObject *self, PyObject *args); +PyObject *psutil_proc_query_thread(PyObject *self, PyObject *args); +PyObject *psutil_swap_mem(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/sunos/mem.c b/contrib/python/psutil/py3/psutil/arch/sunos/mem.c new file mode 100644 index 00000000000..c4bf97189bd --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/sunos/mem.c @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> + +#include <kstat.h> +#include <string.h> +#include <sys/sysinfo.h> + + +PyObject * +psutil_swap_mem(PyObject *self, PyObject *args) { +// XXX (arghhh!) +// total/free swap mem: commented out as for some reason I can't +// manage to get the same results shown by "swap -l", despite the +// code below is exactly the same as: +// http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/ +// cmd/swap/swap.c +// We're going to parse "swap -l" output from Python (sigh!) + +/* + struct swaptable *st; + struct swapent *swapent; + int i; + struct stat64 statbuf; + char *path; + char fullpath[MAXPATHLEN+1]; + int num; + + if ((num = swapctl(SC_GETNSWP, NULL)) == -1) { + PyErr_SetFromErrno(PyExc_OSError); + return NULL; + } + if (num == 0) { + PyErr_SetString(PyExc_RuntimeError, "no swap devices configured"); + return NULL; + } + if ((st = malloc(num * sizeof(swapent_t) + sizeof (int))) == NULL) { + PyErr_SetString(PyExc_RuntimeError, "malloc failed"); + return NULL; + } + if ((path = malloc(num * MAXPATHLEN)) == NULL) { + PyErr_SetString(PyExc_RuntimeError, "malloc failed"); + return NULL; + } + swapent = st->swt_ent; + for (i = 0; i < num; i++, swapent++) { + swapent->ste_path = path; + path += MAXPATHLEN; + } + st->swt_n = num; + if ((num = swapctl(SC_LIST, st)) == -1) { + PyErr_SetFromErrno(PyExc_OSError); + return NULL; + } + + swapent = st->swt_ent; + long t = 0, f = 0; + for (i = 0; i < num; i++, swapent++) { + int diskblks_per_page =(int)(sysconf(_SC_PAGESIZE) >> DEV_BSHIFT); + t += (long)swapent->ste_pages; + f += (long)swapent->ste_free; + } + + free(st); + return Py_BuildValue("(kk)", t, f); +*/ + + kstat_ctl_t *kc; + kstat_t *k; + cpu_stat_t *cpu; + int cpu_count = 0; + int flag = 0; + uint_t sin = 0; + uint_t sout = 0; + + kc = kstat_open(); + if (kc == NULL) + return PyErr_SetFromErrno(PyExc_OSError);; + + k = kc->kc_chain; + while (k != NULL) { + if ((strncmp(k->ks_name, "cpu_stat", 8) == 0) && \ + (kstat_read(kc, k, NULL) != -1) ) + { + flag = 1; + cpu = (cpu_stat_t *) k->ks_data; + sin += cpu->cpu_vminfo.pgswapin; // num pages swapped in + sout += cpu->cpu_vminfo.pgswapout; // num pages swapped out + } + cpu_count += 1; + k = k->ks_next; + } + kstat_close(kc); + if (!flag) { + PyErr_SetString(PyExc_RuntimeError, "no swap device was found"); + return NULL; + } + return Py_BuildValue("(II)", sin, sout); +} diff --git a/contrib/python/psutil/py3/psutil/arch/sunos/net.c b/contrib/python/psutil/py3/psutil/arch/sunos/net.c new file mode 100644 index 00000000000..1d1432b6db5 --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/sunos/net.c @@ -0,0 +1,539 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> +#include <inet/mib2.h> +#include <kstat.h> +#include <netinet/in.h> +#include <stdio.h> +#include <stropts.h> +#include <sys/fcntl.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <sys/sockio.h> +#include <netinet/in.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include <sys/stropts.h> +#include <sys/tihdr.h> +#include <net/if.h> +#include <fcntl.h> + +#include "../../arch/all/init.h" + + +PyObject * +psutil_net_io_counters(PyObject *self, PyObject *args) { + kstat_ctl_t *kc = NULL; + kstat_t *ksp; + kstat_named_t *rbytes, *wbytes, *rpkts, *wpkts, *ierrs, *oerrs; + int ret; + int sock = -1; + struct lifreq ifr; + + PyObject *py_retdict = PyDict_New(); + PyObject *py_ifc_info = NULL; + + if (py_retdict == NULL) + return NULL; + kc = kstat_open(); + if (kc == NULL) + goto error; + + sock = socket(AF_INET, SOCK_DGRAM, 0); + if (sock == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + + ksp = kc->kc_chain; + while (ksp != NULL) { + if (ksp->ks_type != KSTAT_TYPE_NAMED) + goto next; + if (strcmp(ksp->ks_class, "net") != 0) + goto next; + // skip 'lo' (localhost) because it doesn't have the statistics we need + // and it makes kstat_data_lookup() fail + if (strcmp(ksp->ks_module, "lo") == 0) + goto next; + + // check if this is a network interface by sending a ioctl + PSUTIL_STRNCPY(ifr.lifr_name, ksp->ks_name, sizeof(ifr.lifr_name)); + ret = ioctl(sock, SIOCGLIFFLAGS, &ifr); + if (ret == -1) + goto next; + + if (kstat_read(kc, ksp, NULL) == -1) { + errno = 0; + goto next; + } + + rbytes = (kstat_named_t *)kstat_data_lookup(ksp, "rbytes"); + wbytes = (kstat_named_t *)kstat_data_lookup(ksp, "obytes"); + rpkts = (kstat_named_t *)kstat_data_lookup(ksp, "ipackets"); + wpkts = (kstat_named_t *)kstat_data_lookup(ksp, "opackets"); + ierrs = (kstat_named_t *)kstat_data_lookup(ksp, "ierrors"); + oerrs = (kstat_named_t *)kstat_data_lookup(ksp, "oerrors"); + + if ((rbytes == NULL) || (wbytes == NULL) || (rpkts == NULL) || + (wpkts == NULL) || (ierrs == NULL) || (oerrs == NULL)) + { + PyErr_SetString(PyExc_RuntimeError, "kstat_data_lookup() failed"); + goto error; + } + + if (rbytes->data_type == KSTAT_DATA_UINT64) + { + py_ifc_info = Py_BuildValue("(KKKKIIii)", + wbytes->value.ui64, + rbytes->value.ui64, + wpkts->value.ui64, + rpkts->value.ui64, + ierrs->value.ui32, + oerrs->value.ui32, + 0, // dropin not supported + 0 // dropout not supported + ); + } + else + { + py_ifc_info = Py_BuildValue("(IIIIIIii)", + wbytes->value.ui32, + rbytes->value.ui32, + wpkts->value.ui32, + rpkts->value.ui32, + ierrs->value.ui32, + oerrs->value.ui32, + 0, // dropin not supported + 0 // dropout not supported + ); + } + if (!py_ifc_info) + goto error; + if (PyDict_SetItemString(py_retdict, ksp->ks_name, py_ifc_info)) + goto error; + Py_CLEAR(py_ifc_info); + goto next; + +next: + ksp = ksp->ks_next; + } + + kstat_close(kc); + close(sock); + return py_retdict; + +error: + Py_XDECREF(py_ifc_info); + Py_DECREF(py_retdict); + if (kc != NULL) + kstat_close(kc); + if (sock != -1) { + close(sock); + } + return NULL; +} + + +// Return stats about a particular network interface. Refs: +// * https://github.com/dpaleino/wicd/blob/master/wicd/backends/be-ioctl.py +// * http://www.i-scream.org/libstatgrab/ +PyObject* +psutil_net_if_stats(PyObject* self, PyObject* args) { + kstat_ctl_t *kc = NULL; + kstat_t *ksp; + kstat_named_t *knp; + int ret; + int sock = -1; + int duplex; + int speed; + + PyObject *py_retdict = PyDict_New(); + PyObject *py_ifc_info = NULL; + PyObject *py_is_up = NULL; + + if (py_retdict == NULL) + return NULL; + kc = kstat_open(); + if (kc == NULL) + goto error; + sock = socket(AF_INET, SOCK_DGRAM, 0); + if (sock == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + + for (ksp = kc->kc_chain; ksp; ksp = ksp->ks_next) { + if (strcmp(ksp->ks_class, "net") == 0) { + struct lifreq ifr; + + kstat_read(kc, ksp, NULL); + if (ksp->ks_type != KSTAT_TYPE_NAMED) + continue; + if (strcmp(ksp->ks_class, "net") != 0) + continue; + + PSUTIL_STRNCPY(ifr.lifr_name, ksp->ks_name, sizeof(ifr.lifr_name)); + ret = ioctl(sock, SIOCGLIFFLAGS, &ifr); + if (ret == -1) + continue; // not a network interface + + // is up? + if ((ifr.lifr_flags & IFF_UP) != 0) { + if ((knp = kstat_data_lookup(ksp, "link_up")) != NULL) { + if (knp->value.ui32 != 0u) + py_is_up = Py_True; + else + py_is_up = Py_False; + } + else { + py_is_up = Py_True; + } + } + else { + py_is_up = Py_False; + } + Py_INCREF(py_is_up); + + // duplex + duplex = 0; // unknown + if ((knp = kstat_data_lookup(ksp, "link_duplex")) != NULL) { + if (knp->value.ui32 == 1) + duplex = 1; // half + else if (knp->value.ui32 == 2) + duplex = 2; // full + } + + // speed + if ((knp = kstat_data_lookup(ksp, "ifspeed")) != NULL) + // expressed in bits per sec, we want mega bits per sec + speed = (int)knp->value.ui64 / 1000000; + else + speed = 0; + + // mtu + ret = ioctl(sock, SIOCGLIFMTU, &ifr); + if (ret == -1) + goto error; + + py_ifc_info = Py_BuildValue("(Oiii)", py_is_up, duplex, speed, + ifr.lifr_mtu); + if (!py_ifc_info) + goto error; + if (PyDict_SetItemString(py_retdict, ksp->ks_name, py_ifc_info)) + goto error; + Py_CLEAR(py_ifc_info); + } + } + + close(sock); + kstat_close(kc); + return py_retdict; + +error: + Py_XDECREF(py_is_up); + Py_XDECREF(py_ifc_info); + Py_DECREF(py_retdict); + if (sock != -1) + close(sock); + if (kc != NULL) + kstat_close(kc); + PyErr_SetFromErrno(PyExc_OSError); + return NULL; +} + + +/* + * Return TCP and UDP connections opened by process. + * UNIX sockets are excluded. + * + * Thanks to: + * https://github.com/DavidGriffith/finx/blob/master/ + * nxsensor-3.5.0-1/src/sysdeps/solaris.c + * ...and: + * https://hg.java.net/hg/solaris~on-src/file/tip/usr/src/cmd/ + * cmd-inet/usr.bin/netstat/netstat.c + */ +PyObject * +psutil_net_connections(PyObject *self, PyObject *args) { + long pid; + int sd = 0; + mib2_tcpConnEntry_t tp; + mib2_udpEntry_t ude; +#if defined(AF_INET6) + mib2_tcp6ConnEntry_t tp6; + mib2_udp6Entry_t ude6; +#endif + char buf[512]; + int i, flags, getcode, num_ent, state, ret; + char lip[INET6_ADDRSTRLEN], rip[INET6_ADDRSTRLEN]; + int lport, rport; + int processed_pid; + int databuf_init = 0; + struct strbuf ctlbuf, databuf; + struct T_optmgmt_req tor = {0}; + struct T_optmgmt_ack toa = {0}; + struct T_error_ack tea = {0}; + struct opthdr mibhdr = {0}; + + PyObject *py_retlist = PyList_New(0); + PyObject *py_tuple = NULL; + PyObject *py_laddr = NULL; + PyObject *py_raddr = NULL; + + if (py_retlist == NULL) + return NULL; + if (! PyArg_ParseTuple(args, "l", &pid)) + goto error; + + sd = open("/dev/arp", O_RDWR); + if (sd == -1) { + PyErr_SetFromErrnoWithFilename(PyExc_OSError, "/dev/arp"); + goto error; + } + + ret = ioctl(sd, I_PUSH, "tcp"); + if (ret == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + ret = ioctl(sd, I_PUSH, "udp"); + if (ret == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + // + // OK, this mess is basically copied and pasted from nxsensor project + // which copied and pasted it from netstat source code, mibget() + // function. Also see: + // http://stackoverflow.com/questions/8723598/ + tor.PRIM_type = T_SVR4_OPTMGMT_REQ; + tor.OPT_offset = sizeof (struct T_optmgmt_req); + tor.OPT_length = sizeof (struct opthdr); + tor.MGMT_flags = T_CURRENT; + mibhdr.level = MIB2_IP; + mibhdr.name = 0; + + mibhdr.len = 1; + memcpy(buf, &tor, sizeof tor); + memcpy(buf + tor.OPT_offset, &mibhdr, sizeof mibhdr); + + ctlbuf.buf = buf; + ctlbuf.len = tor.OPT_offset + tor.OPT_length; + flags = 0; // request to be sent in non-priority + + if (putmsg(sd, &ctlbuf, (struct strbuf *)0, flags) == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + + ctlbuf.maxlen = sizeof (buf); + for (;;) { + flags = 0; + getcode = getmsg(sd, &ctlbuf, (struct strbuf *)0, &flags); + memcpy(&toa, buf, sizeof toa); + memcpy(&tea, buf, sizeof tea); + + if (getcode != MOREDATA || + ctlbuf.len < (int)sizeof (struct T_optmgmt_ack) || + toa.PRIM_type != T_OPTMGMT_ACK || + toa.MGMT_flags != T_SUCCESS) + { + break; + } + if (ctlbuf.len >= (int)sizeof (struct T_error_ack) && + tea.PRIM_type == T_ERROR_ACK) + { + PyErr_SetString(PyExc_RuntimeError, "ERROR_ACK"); + goto error; + } + if (getcode == 0 && + ctlbuf.len >= (int)sizeof (struct T_optmgmt_ack) && + toa.PRIM_type == T_OPTMGMT_ACK && + toa.MGMT_flags == T_SUCCESS) + { + PyErr_SetString(PyExc_RuntimeError, "ERROR_T_OPTMGMT_ACK"); + goto error; + } + + memset(&mibhdr, 0x0, sizeof(mibhdr)); + memcpy(&mibhdr, buf + toa.OPT_offset, toa.OPT_length); + + databuf.maxlen = mibhdr.len; + databuf.len = 0; + databuf.buf = (char *)malloc((int)mibhdr.len); + if (!databuf.buf) { + PyErr_NoMemory(); + goto error; + } + databuf_init = 1; + + flags = 0; + getcode = getmsg(sd, (struct strbuf *)0, &databuf, &flags); + if (getcode < 0) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + + // TCPv4 + if (mibhdr.level == MIB2_TCP && mibhdr.name == MIB2_TCP_13) { + num_ent = mibhdr.len / sizeof(mib2_tcpConnEntry_t); + for (i = 0; i < num_ent; i++) { + memcpy(&tp, databuf.buf + i * sizeof tp, sizeof tp); + processed_pid = tp.tcpConnCreationProcess; + if (pid != -1 && processed_pid != pid) + continue; + // construct local/remote addresses + inet_ntop(AF_INET, &tp.tcpConnLocalAddress, lip, sizeof(lip)); + inet_ntop(AF_INET, &tp.tcpConnRemAddress, rip, sizeof(rip)); + lport = tp.tcpConnLocalPort; + rport = tp.tcpConnRemPort; + + // construct python tuple/list + py_laddr = Py_BuildValue("(si)", lip, lport); + if (!py_laddr) + goto error; + if (rport != 0) + py_raddr = Py_BuildValue("(si)", rip, rport); + else { + py_raddr = Py_BuildValue("()"); + } + if (!py_raddr) + goto error; + state = tp.tcpConnEntryInfo.ce_state; + + // add item + py_tuple = Py_BuildValue("(iiiNNiI)", -1, AF_INET, SOCK_STREAM, + py_laddr, py_raddr, state, + processed_pid); + if (!py_tuple) + goto error; + if (PyList_Append(py_retlist, py_tuple)) + goto error; + Py_CLEAR(py_tuple); + } + } +#if defined(AF_INET6) + // TCPv6 + else if (mibhdr.level == MIB2_TCP6 && mibhdr.name == MIB2_TCP6_CONN) + { + num_ent = mibhdr.len / sizeof(mib2_tcp6ConnEntry_t); + + for (i = 0; i < num_ent; i++) { + memcpy(&tp6, databuf.buf + i * sizeof tp6, sizeof tp6); + processed_pid = tp6.tcp6ConnCreationProcess; + if (pid != -1 && processed_pid != pid) + continue; + // construct local/remote addresses + inet_ntop(AF_INET6, &tp6.tcp6ConnLocalAddress, lip, sizeof(lip)); + inet_ntop(AF_INET6, &tp6.tcp6ConnRemAddress, rip, sizeof(rip)); + lport = tp6.tcp6ConnLocalPort; + rport = tp6.tcp6ConnRemPort; + + // construct python tuple/list + py_laddr = Py_BuildValue("(si)", lip, lport); + if (!py_laddr) + goto error; + if (rport != 0) + py_raddr = Py_BuildValue("(si)", rip, rport); + else + py_raddr = Py_BuildValue("()"); + if (!py_raddr) + goto error; + state = tp6.tcp6ConnEntryInfo.ce_state; + + // add item + py_tuple = Py_BuildValue("(iiiNNiI)", -1, AF_INET6, SOCK_STREAM, + py_laddr, py_raddr, state, processed_pid); + if (!py_tuple) + goto error; + if (PyList_Append(py_retlist, py_tuple)) + goto error; + Py_CLEAR(py_tuple); + } + } +#endif + // UDPv4 + else if (mibhdr.level == MIB2_UDP && mibhdr.name == MIB2_UDP_ENTRY) { + num_ent = mibhdr.len / sizeof(mib2_udpEntry_t); + assert(num_ent * sizeof(mib2_udpEntry_t) == mibhdr.len); + for (i = 0; i < num_ent; i++) { + memcpy(&ude, databuf.buf + i * sizeof ude, sizeof ude); + processed_pid = ude.udpCreationProcess; + if (pid != -1 && processed_pid != pid) + continue; + // XXX Very ugly hack! It seems we get here only the first + // time we bump into a UDPv4 socket. PID is a very high + // number (clearly impossible) and the address does not + // belong to any valid interface. Not sure what else + // to do other than skipping. + if (processed_pid > 131072) + continue; + inet_ntop(AF_INET, &ude.udpLocalAddress, lip, sizeof(lip)); + lport = ude.udpLocalPort; + py_laddr = Py_BuildValue("(si)", lip, lport); + if (!py_laddr) + goto error; + py_raddr = Py_BuildValue("()"); + if (!py_raddr) + goto error; + py_tuple = Py_BuildValue("(iiiNNiI)", -1, AF_INET, SOCK_DGRAM, + py_laddr, py_raddr, PSUTIL_CONN_NONE, + processed_pid); + if (!py_tuple) + goto error; + if (PyList_Append(py_retlist, py_tuple)) + goto error; + Py_CLEAR(py_tuple); + } + } +#if defined(AF_INET6) + // UDPv6 + else if (mibhdr.level == MIB2_UDP6 || + mibhdr.level == MIB2_UDP6_ENTRY) + { + num_ent = mibhdr.len / sizeof(mib2_udp6Entry_t); + for (i = 0; i < num_ent; i++) { + memcpy(&ude6, databuf.buf + i * sizeof ude6, sizeof ude6); + processed_pid = ude6.udp6CreationProcess; + if (pid != -1 && processed_pid != pid) + continue; + inet_ntop(AF_INET6, &ude6.udp6LocalAddress, lip, sizeof(lip)); + lport = ude6.udp6LocalPort; + py_laddr = Py_BuildValue("(si)", lip, lport); + if (!py_laddr) + goto error; + py_raddr = Py_BuildValue("()"); + if (!py_raddr) + goto error; + py_tuple = Py_BuildValue("(iiiNNiI)", -1, AF_INET6, SOCK_DGRAM, + py_laddr, py_raddr, PSUTIL_CONN_NONE, + processed_pid); + if (!py_tuple) + goto error; + if (PyList_Append(py_retlist, py_tuple)) + goto error; + Py_CLEAR(py_tuple); + } + } +#endif + free(databuf.buf); + } + + close(sd); + return py_retlist; + +error: + Py_XDECREF(py_tuple); + Py_XDECREF(py_laddr); + Py_XDECREF(py_raddr); + Py_DECREF(py_retlist); + if (databuf_init == 1) + free(databuf.buf); + if (sd != 0) + close(sd); + return NULL; +} diff --git a/contrib/python/psutil/py3/psutil/arch/sunos/proc.c b/contrib/python/psutil/py3/psutil/arch/sunos/proc.c new file mode 100644 index 00000000000..f892353f0b2 --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/sunos/proc.c @@ -0,0 +1,585 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> + +#include <fcntl.h> +#include <libproc.h> + +#include "../../arch/all/init.h" + +#define PSUTIL_TV2DOUBLE(t) (((t).tv_nsec * 0.000000001) + (t).tv_sec) + + +// Read a file content and fills a C structure with it. +static int +psutil_file_to_struct(char *path, void *fstruct, size_t size) { + int fd; + ssize_t nbytes; + fd = open(path, O_RDONLY); + if (fd == -1) { + PyErr_SetFromErrnoWithFilename(PyExc_OSError, path); + return 0; + } + nbytes = read(fd, fstruct, size); + if (nbytes == -1) { + close(fd); + PyErr_SetFromErrno(PyExc_OSError); + return 0; + } + if (nbytes != (ssize_t) size) { + close(fd); + PyErr_SetString( + PyExc_RuntimeError, "read() file structure size mismatch"); + return 0; + } + close(fd); + return nbytes; +} + + +/* + * Return process ppid, rss, vms, ctime, nice, nthreads, status and tty + * as a Python tuple. + */ +PyObject * +psutil_proc_basic_info(PyObject *self, PyObject *args) { + int pid; + char path[1000]; + psinfo_t info; + const char *procfs_path; + + if (! PyArg_ParseTuple(args, "is", &pid, &procfs_path)) + return NULL; + + sprintf(path, "%s/%i/psinfo", procfs_path, pid); + if (! psutil_file_to_struct(path, (void *)&info, sizeof(info))) + return NULL; + return Py_BuildValue( + "ikkdiiikiiii", + info.pr_ppid, // parent pid + info.pr_rssize, // rss + info.pr_size, // vms + PSUTIL_TV2DOUBLE(info.pr_start), // create time + info.pr_lwp.pr_nice, // nice + info.pr_nlwp, // no. of threads + info.pr_lwp.pr_state, // status code + info.pr_ttydev, // tty nr + (int)info.pr_uid, // real user id + (int)info.pr_euid, // effective user id + (int)info.pr_gid, // real group id + (int)info.pr_egid // effective group id + ); +} + + +/* + * Return process name and args as a Python tuple. + */ +PyObject * +psutil_proc_name_and_args(PyObject *self, PyObject *args) { + int pid; + char path[1000]; + psinfo_t info; + const char *procfs_path; + size_t i; + size_t argc; + char **argv = NULL; + PyObject *py_name = NULL; + PyObject *py_sep = NULL; + PyObject *py_arg = NULL; + PyObject *py_args_str = NULL; + PyObject *py_args_list = NULL; + PyObject *py_rettuple = NULL; + + if (! PyArg_ParseTuple(args, "is", &pid, &procfs_path)) + return NULL; + sprintf(path, "%s/%i/psinfo", procfs_path, pid); + if (! psutil_file_to_struct(path, (void *)&info, sizeof(info))) + return NULL; + + py_name = PyUnicode_DecodeFSDefault(info.pr_fname); + if (!py_name) + goto error; + + /* SunOS truncates arguments to length PRARGSZ and has them space-separated. + * The only way to retrieve full properly-split command line is to parse process memory */ + argv = psutil_read_raw_args(info, procfs_path, &argc); + if (argv) { + py_args_list = PyList_New(argc); + if (!py_args_list) + goto error; + + // iterate through arguments + for (i = 0; i < argc; i++) { + py_arg = PyUnicode_DecodeFSDefault(argv[i]); + if (!py_arg) { + Py_DECREF(py_args_list); + py_args_list = NULL; + break; + } + + if (PyList_SetItem(py_args_list, i, py_arg)) + goto error; + + py_arg = NULL; + } + + psutil_free_cstrings_array(argv, argc); + } + + /* If we can't read process memory or can't decode the result + * then return args from /proc. */ + if (!py_args_list) { + PyErr_Clear(); + py_args_str = PyUnicode_DecodeFSDefault(info.pr_psargs); + if (!py_args_str) + goto error; + + py_sep = PyUnicode_FromString(" "); + if (!py_sep) + goto error; + + py_args_list = PyUnicode_Split(py_args_str, py_sep, -1); + if (!py_args_list) + goto error; + + Py_XDECREF(py_sep); + Py_XDECREF(py_args_str); + } + + py_rettuple = Py_BuildValue("OO", py_name, py_args_list); + if (!py_rettuple) + goto error; + + Py_DECREF(py_name); + Py_DECREF(py_args_list); + + return py_rettuple; + +error: + psutil_free_cstrings_array(argv, argc); + Py_XDECREF(py_name); + Py_XDECREF(py_args_list); + Py_XDECREF(py_sep); + Py_XDECREF(py_arg); + Py_XDECREF(py_args_str); + Py_XDECREF(py_rettuple); + return NULL; +} + + +/* + * Return process environ block. + */ +PyObject * +psutil_proc_environ(PyObject *self, PyObject *args) { + int pid; + char path[1000]; + psinfo_t info; + const char *procfs_path; + char **env = NULL; + ssize_t env_count = -1; + char *dm; + int i = 0; + PyObject *py_envname = NULL; + PyObject *py_envval = NULL; + PyObject *py_retdict = PyDict_New(); + + if (! py_retdict) + return PyErr_NoMemory(); + + if (! PyArg_ParseTuple(args, "is", &pid, &procfs_path)) + return NULL; + + sprintf(path, "%s/%i/psinfo", procfs_path, pid); + if (! psutil_file_to_struct(path, (void *)&info, sizeof(info))) + goto error; + + if (! info.pr_envp) { + AccessDenied("/proc/pid/psinfo struct not set"); + goto error; + } + + env = psutil_read_raw_env(info, procfs_path, &env_count); + if (! env && env_count != 0) + goto error; + + for (i=0; i<env_count; i++) { + if (! env[i]) + break; + + dm = strchr(env[i], '='); + if (! dm) + continue; + + *dm = '\0'; + + py_envname = PyUnicode_DecodeFSDefault(env[i]); + if (! py_envname) + goto error; + + py_envval = PyUnicode_DecodeFSDefault(dm+1); + if (! py_envname) + goto error; + + if (PyDict_SetItem(py_retdict, py_envname, py_envval) < 0) + goto error; + + Py_CLEAR(py_envname); + Py_CLEAR(py_envval); + } + + psutil_free_cstrings_array(env, env_count); + return py_retdict; + + error: + if (env && env_count >= 0) + psutil_free_cstrings_array(env, env_count); + + Py_XDECREF(py_envname); + Py_XDECREF(py_envval); + Py_XDECREF(py_retdict); + return NULL; +} + + +/* + * Return process user and system CPU times as a Python tuple. + */ +PyObject * +psutil_proc_cpu_times(PyObject *self, PyObject *args) { + int pid; + char path[1000]; + pstatus_t info; + const char *procfs_path; + + if (! PyArg_ParseTuple(args, "is", &pid, &procfs_path)) + return NULL; + sprintf(path, "%s/%i/status", procfs_path, pid); + if (! psutil_file_to_struct(path, (void *)&info, sizeof(info))) + return NULL; + // results are more precise than os.times() + return Py_BuildValue( + "(dddd)", + PSUTIL_TV2DOUBLE(info.pr_utime), + PSUTIL_TV2DOUBLE(info.pr_stime), + PSUTIL_TV2DOUBLE(info.pr_cutime), + PSUTIL_TV2DOUBLE(info.pr_cstime) + ); +} + + +/* + * Return what CPU the process is running on. + */ +PyObject * +psutil_proc_cpu_num(PyObject *self, PyObject *args) { + int fd = -1; + int pid; + char path[1000]; + struct prheader header; + struct lwpsinfo *lwp = NULL; + int nent; + int size; + int proc_num; + ssize_t nbytes; + const char *procfs_path; + + if (! PyArg_ParseTuple(args, "is", &pid, &procfs_path)) + return NULL; + + sprintf(path, "%s/%i/lpsinfo", procfs_path, pid); + fd = open(path, O_RDONLY); + if (fd == -1) { + PyErr_SetFromErrnoWithFilename(PyExc_OSError, path); + return NULL; + } + + // read header + nbytes = pread(fd, &header, sizeof(header), 0); + if (nbytes == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + if (nbytes != sizeof(header)) { + PyErr_SetString( + PyExc_RuntimeError, "read() file structure size mismatch"); + goto error; + } + + // malloc + nent = header.pr_nent; + size = header.pr_entsize * nent; + lwp = malloc(size); + if (lwp == NULL) { + PyErr_NoMemory(); + goto error; + } + + // read the rest + nbytes = pread(fd, lwp, size, sizeof(header)); + if (nbytes == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + if (nbytes != size) { + PyErr_SetString( + PyExc_RuntimeError, "read() file structure size mismatch"); + goto error; + } + + // done + proc_num = lwp->pr_onpro; + close(fd); + free(lwp); + return Py_BuildValue("i", proc_num); + +error: + if (fd != -1) + close(fd); + free(lwp); + return NULL; +} + + +/* + * Return process uids/gids as a Python tuple. + */ +PyObject * +psutil_proc_cred(PyObject *self, PyObject *args) { + int pid; + char path[1000]; + prcred_t info; + const char *procfs_path; + + if (! PyArg_ParseTuple(args, "is", &pid, &procfs_path)) + return NULL; + sprintf(path, "%s/%i/cred", procfs_path, pid); + if (! psutil_file_to_struct(path, (void *)&info, sizeof(info))) + return NULL; + return Py_BuildValue("iiiiii", + info.pr_ruid, info.pr_euid, info.pr_suid, + info.pr_rgid, info.pr_egid, info.pr_sgid); +} + + +/* + * Return process voluntary and involuntary context switches as a Python tuple. + */ +PyObject * +psutil_proc_num_ctx_switches(PyObject *self, PyObject *args) { + int pid; + char path[1000]; + prusage_t info; + const char *procfs_path; + + if (! PyArg_ParseTuple(args, "is", &pid, &procfs_path)) + return NULL; + sprintf(path, "%s/%i/usage", procfs_path, pid); + if (! psutil_file_to_struct(path, (void *)&info, sizeof(info))) + return NULL; + return Py_BuildValue("kk", info.pr_vctx, info.pr_ictx); +} + + +/* + * Process IO counters. + * + * Commented out and left here as a reminder. Apparently we cannot + * retrieve process IO stats because: + * - 'pr_ioch' is a sum of chars read and written, with no distinction + * - 'pr_inblk' and 'pr_oublk', which should be the number of bytes + * read and written, hardly increase and according to: + * http://www.brendangregg.com/Solaris/paper_diskubyp1.pdf + * ...they should be meaningless anyway. + * +PyObject* +proc_io_counters(PyObject* self, PyObject* args) { + int pid; + char path[1000]; + prusage_t info; + const char *procfs_path; + + if (! PyArg_ParseTuple(args, "is", &pid, &procfs_path)) + return NULL; + sprintf(path, "%s/%i/usage", procfs_path, pid); + if (! psutil_file_to_struct(path, (void *)&info, sizeof(info))) + return NULL; + + // On Solaris we only have 'pr_ioch' which accounts for bytes read + // *and* written. + // 'pr_inblk' and 'pr_oublk' should be expressed in blocks of + // 8KB according to: + // http://www.brendangregg.com/Solaris/paper_diskubyp1.pdf (pag. 8) + return Py_BuildValue("kkkk", + info.pr_ioch, + info.pr_ioch, + info.pr_inblk, + info.pr_oublk); +} +*/ + + +/* + * Return information about a given process thread. + */ +PyObject * +psutil_proc_query_thread(PyObject *self, PyObject *args) { + int pid, tid; + char path[1000]; + lwpstatus_t info; + const char *procfs_path; + + if (! PyArg_ParseTuple(args, "iis", &pid, &tid, &procfs_path)) + return NULL; + sprintf(path, "%s/%i/lwp/%i/lwpstatus", procfs_path, pid, tid); + if (! psutil_file_to_struct(path, (void *)&info, sizeof(info))) + return NULL; + return Py_BuildValue("dd", + PSUTIL_TV2DOUBLE(info.pr_utime), + PSUTIL_TV2DOUBLE(info.pr_stime)); +} + + +/* + * Return process memory mappings. + */ +PyObject * +psutil_proc_memory_maps(PyObject *self, PyObject *args) { + int pid; + int fd = -1; + char path[1000]; + char perms[10]; + const char *name; + struct stat st; + pstatus_t status; + + prxmap_t *xmap = NULL, *p; + off_t size; + size_t nread; + int nmap; + uintptr_t pr_addr_sz; + uintptr_t stk_base_sz, brk_base_sz; + const char *procfs_path; + + PyObject *py_tuple = NULL; + PyObject *py_path = NULL; + PyObject *py_retlist = PyList_New(0); + + if (py_retlist == NULL) + return NULL; + if (! PyArg_ParseTuple(args, "is", &pid, &procfs_path)) + goto error; + + sprintf(path, "%s/%i/status", procfs_path, pid); + if (! psutil_file_to_struct(path, (void *)&status, sizeof(status))) + goto error; + + sprintf(path, "%s/%i/xmap", procfs_path, pid); + if (stat(path, &st) == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + + size = st.st_size; + + fd = open(path, O_RDONLY); + if (fd == -1) { + PyErr_SetFromErrno(PyExc_OSError); + goto error; + } + + xmap = (prxmap_t *)malloc(size); + if (xmap == NULL) { + PyErr_NoMemory(); + goto error; + } + + nread = pread(fd, xmap, size, 0); + nmap = nread / sizeof(prxmap_t); + p = xmap; + + while (nmap) { + nmap -= 1; + if (p == NULL) { + p += 1; + continue; + } + + perms[0] = '\0'; + pr_addr_sz = p->pr_vaddr + p->pr_size; + + // perms + sprintf(perms, "%c%c%c%c", p->pr_mflags & MA_READ ? 'r' : '-', + p->pr_mflags & MA_WRITE ? 'w' : '-', + p->pr_mflags & MA_EXEC ? 'x' : '-', + p->pr_mflags & MA_SHARED ? 's' : '-'); + + // name + if (strlen(p->pr_mapname) > 0) { + name = p->pr_mapname; + } + else { + if ((p->pr_mflags & MA_ISM) || (p->pr_mflags & MA_SHM)) { + name = "[shmid]"; + } + else { + stk_base_sz = status.pr_stkbase + status.pr_stksize; + brk_base_sz = status.pr_brkbase + status.pr_brksize; + + if ((pr_addr_sz > status.pr_stkbase) && + (p->pr_vaddr < stk_base_sz)) { + name = "[stack]"; + } + else if ((p->pr_mflags & MA_ANON) && \ + (pr_addr_sz > status.pr_brkbase) && \ + (p->pr_vaddr < brk_base_sz)) { + name = "[heap]"; + } + else { + name = "[anon]"; + } + } + } + + py_path = PyUnicode_DecodeFSDefault(name); + if (! py_path) + goto error; + py_tuple = Py_BuildValue( + "kksOkkk", + (unsigned long)p->pr_vaddr, + (unsigned long)pr_addr_sz, + perms, + py_path, + (unsigned long)p->pr_rss * p->pr_pagesize, + (unsigned long)p->pr_anon * p->pr_pagesize, + (unsigned long)p->pr_locked * p->pr_pagesize); + if (!py_tuple) + goto error; + if (PyList_Append(py_retlist, py_tuple)) + goto error; + Py_CLEAR(py_path); + Py_CLEAR(py_tuple); + + // increment pointer + p += 1; + } + + close(fd); + free(xmap); + return py_retlist; + +error: + if (fd != -1) + close(fd); + Py_XDECREF(py_tuple); + Py_XDECREF(py_path); + Py_DECREF(py_retlist); + if (xmap != NULL) + free(xmap); + return NULL; +} diff --git a/contrib/python/psutil/py3/psutil/arch/sunos/sys.c b/contrib/python/psutil/py3/psutil/arch/sunos/sys.c new file mode 100644 index 00000000000..d9f3ae4bfbf --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/sunos/sys.c @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> + +#include <utmpx.h> + +#include "../../arch/all/init.h" + + +PyObject * +psutil_boot_time(PyObject *self, PyObject *args) { + float boot_time = 0.0; + struct utmpx *ut; + + UTXENT_MUTEX_LOCK(); + setutxent(); + while (NULL != (ut = getutxent())) { + if (ut->ut_type == BOOT_TIME) { + boot_time = (float)ut->ut_tv.tv_sec; + break; + } + } + endutxent(); + UTXENT_MUTEX_UNLOCK(); + if (fabs(boot_time) < 0.000001) { + /* could not find BOOT_TIME in getutxent loop */ + PyErr_SetString(PyExc_RuntimeError, "can't determine boot time"); + return NULL; + } + return Py_BuildValue("f", boot_time); +} diff --git a/contrib/python/psutil/py3/psutil/arch/windows/cpu.c b/contrib/python/psutil/py3/psutil/arch/windows/cpu.c index 9d89e5bb6c3..6d70ab37cc8 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/cpu.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/cpu.c @@ -8,7 +8,7 @@ #include <windows.h> #include <PowrProf.h> -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" /* diff --git a/contrib/python/psutil/py3/psutil/arch/windows/cpu.h b/contrib/python/psutil/py3/psutil/arch/windows/cpu.h deleted file mode 100644 index 1ef3ff1f04e..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/cpu.h +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_cpu_count_logical(PyObject *self, PyObject *args); -PyObject *psutil_cpu_count_cores(PyObject *self, PyObject *args); -PyObject *psutil_cpu_freq(PyObject *self, PyObject *args); -PyObject *psutil_cpu_stats(PyObject *self, PyObject *args); -PyObject *psutil_cpu_times(PyObject *self, PyObject *args); -PyObject *psutil_per_cpu_times(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/disk.c b/contrib/python/psutil/py3/psutil/arch/windows/disk.c index d0405a98f84..625a975f917 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/disk.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/disk.c @@ -9,7 +9,7 @@ #include <tchar.h> #include <winioctl.h> -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" #ifndef _ARRAYSIZE diff --git a/contrib/python/psutil/py3/psutil/arch/windows/disk.h b/contrib/python/psutil/py3/psutil/arch/windows/disk.h deleted file mode 100644 index 28bed22b545..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/disk.h +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_disk_io_counters(PyObject *self, PyObject *args); -PyObject *psutil_disk_partitions(PyObject *self, PyObject *args); -PyObject *psutil_disk_usage(PyObject *self, PyObject *args); -PyObject *psutil_QueryDosDevice(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/_psutil_common.c b/contrib/python/psutil/py3/psutil/arch/windows/init.c index 2a56ae0f4aa..b410d5670f3 100644 --- a/contrib/python/psutil/py3/psutil/_psutil_common.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/init.c @@ -2,19 +2,19 @@ * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. - * - * Routines common to all platforms. */ #include <Python.h> -#define PSUTIL_MAYBE_EXTERN -#include "_psutil_common.h" +#include <windows.h> -// ==================================================================== -// --- Global vars -// ==================================================================== +#include "../../arch/all/init.h" +#include "ntextapi.h" -int PSUTIL_DEBUG = 0; + +// Needed to make these globally visible. +int PSUTIL_WINVER; +SYSTEM_INFO PSUTIL_SYSTEM_INFO; +CRITICAL_SECTION PSUTIL_CRITICAL_SECTION; // ==================================================================== @@ -22,7 +22,7 @@ int PSUTIL_DEBUG = 0; // ==================================================================== // PyPy on Windows. Missing APIs added in PyPy 7.3.14. -#if defined(PSUTIL_WINDOWS) && defined(PYPY_VERSION) +#if defined(PYPY_VERSION) #if !defined(PyErr_SetFromWindowsErrWithFilename) PyObject * PyErr_SetFromWindowsErrWithFilename(int winerr, const char *filename) { @@ -61,175 +61,55 @@ error: #if !defined(PyErr_SetExcFromWindowsErrWithFilenameObject) PyObject * -PyErr_SetExcFromWindowsErrWithFilenameObject(PyObject *type, - int ierr, - PyObject *filename) { +PyErr_SetExcFromWindowsErrWithFilenameObject( + PyObject *type, int ierr, PyObject *filename) +{ // Original function is too complex. Just raise OSError without // filename. return PyErr_SetFromWindowsErrWithFilename(ierr, NULL); } #endif // !defined(PyErr_SetExcFromWindowsErrWithFilenameObject) -#endif // defined(PSUTIL_WINDOWS) && defined(PYPY_VERSION) +#endif // defined(PYPY_VERSION) // ==================================================================== -// --- Custom exceptions +// --- Utils // ==================================================================== -/* - * Same as PyErr_SetFromErrno(0) but adds the syscall to the exception - * message. - */ -PyObject * -psutil_PyErr_SetFromOSErrnoWithSyscall(const char *syscall) { +// Convert a NTSTATUS value to a Win32 error code and set the proper +// Python exception. +PVOID +psutil_SetFromNTStatusErr(NTSTATUS status, const char *syscall) { + ULONG err; char fullmsg[1024]; -#ifdef PSUTIL_WINDOWS - DWORD dwLastError = GetLastError(); - sprintf(fullmsg, "(originated from %s)", syscall); - PyErr_SetFromWindowsErrWithFilename(dwLastError, fullmsg); -#else - PyObject *exc; - sprintf(fullmsg, "%s (originated from %s)", strerror(errno), syscall); - exc = PyObject_CallFunction(PyExc_OSError, "(is)", errno, fullmsg); - PyErr_SetObject(PyExc_OSError, exc); - Py_XDECREF(exc); -#endif - return NULL; -} - - -/* - * Set OSError(errno=ESRCH, strerror="No such process (originated from") - * Python exception. - */ -PyObject * -NoSuchProcess(const char *syscall) { - PyObject *exc; - char msg[1024]; - - sprintf(msg, "assume no such process (originated from %s)", syscall); - exc = PyObject_CallFunction(PyExc_OSError, "(is)", ESRCH, msg); - PyErr_SetObject(PyExc_OSError, exc); - Py_XDECREF(exc); - return NULL; -} - - -/* - * Set OSError(errno=EACCES, strerror="Permission denied" (originated from ...) - * Python exception. - */ -PyObject * -AccessDenied(const char *syscall) { - PyObject *exc; - char msg[1024]; - - sprintf(msg, "assume access denied (originated from %s)", syscall); - exc = PyObject_CallFunction(PyExc_OSError, "(is)", EACCES, msg); - PyErr_SetObject(PyExc_OSError, exc); - Py_XDECREF(exc); - return NULL; -} - -/* - * Raise OverflowError if Python int value overflowed when converting to pid_t. - * Raise ValueError if Python int value is negative. - * Otherwise, return None. - */ -PyObject * -psutil_check_pid_range(PyObject *self, PyObject *args) { -#ifdef PSUTIL_WINDOWS - DWORD pid; -#else - pid_t pid; -#endif - - if (!PyArg_ParseTuple(args, _Py_PARSE_PID, &pid)) - return NULL; - if (pid < 0) { - PyErr_SetString(PyExc_ValueError, "pid must be a positive integer"); - return NULL; - } - Py_RETURN_NONE; -} - -// Enable or disable PSUTIL_DEBUG messages. -PyObject * -psutil_set_debug(PyObject *self, PyObject *args) { - PyObject *value; - int x; - - if (!PyArg_ParseTuple(args, "O", &value)) - return NULL; - x = PyObject_IsTrue(value); - if (x < 0) { - return NULL; - } - else if (x == 0) { - PSUTIL_DEBUG = 0; - } - else { - PSUTIL_DEBUG = 1; - } - Py_RETURN_NONE; -} - - -// ============================================================================ -// Utility functions (BSD) -// ============================================================================ - -#if defined(PSUTIL_FREEBSD) || defined(PSUTIL_OPENBSD) || defined(PSUTIL_NETBSD) -void -convert_kvm_err(const char *syscall, char *errbuf) { - char fullmsg[8192]; - - sprintf(fullmsg, "(originated from %s: %s)", syscall, errbuf); - if (strstr(errbuf, "Permission denied") != NULL) - AccessDenied(fullmsg); - else if (strstr(errbuf, "Operation not permitted") != NULL) - AccessDenied(fullmsg); + if (NT_NTWIN32(status)) + err = WIN32_FROM_NTSTATUS(status); else - PyErr_Format(PyExc_RuntimeError, fullmsg); + err = RtlNtStatusToDosErrorNoTeb(status); + // if (GetLastError() != 0) + // err = GetLastError(); + sprintf(fullmsg, "(originated from %s)", syscall); + return PyErr_SetFromWindowsErrWithFilename(err, fullmsg); } -#endif - -// ==================================================================== -// --- macOS -// ==================================================================== - -#ifdef PSUTIL_OSX -#include <mach/mach_time.h> - -struct mach_timebase_info PSUTIL_MACH_TIMEBASE_INFO; -#endif - -// ==================================================================== -// --- Windows -// ==================================================================== - -#ifdef PSUTIL_WINDOWS -#include <windows.h> - -// Needed to make these globally visible. -int PSUTIL_WINVER; -SYSTEM_INFO PSUTIL_SYSTEM_INFO; -CRITICAL_SECTION PSUTIL_CRITICAL_SECTION; // A wrapper around GetModuleHandle and GetProcAddress. PVOID -psutil_GetProcAddress(LPCSTR libname, LPCSTR procname) { +psutil_GetProcAddress(LPCSTR libname, LPCSTR apiname) { HMODULE mod; FARPROC addr; if ((mod = GetModuleHandleA(libname)) == NULL) { + psutil_debug( + "%s module not supported (needed for %s)", libname, apiname + ); PyErr_SetFromWindowsErrWithFilename(0, libname); return NULL; } - if ((addr = GetProcAddress(mod, procname)) == NULL) { - PyErr_SetFromWindowsErrWithFilename(0, procname); + if ((addr = GetProcAddress(mod, apiname)) == NULL) { + psutil_debug("%s -> %s API not supported", libname, apiname); + PyErr_SetFromWindowsErrWithFilename(0, apiname); return NULL; } return addr; @@ -238,7 +118,7 @@ psutil_GetProcAddress(LPCSTR libname, LPCSTR procname) { // A wrapper around LoadLibrary and GetProcAddress. PVOID -psutil_GetProcAddressFromLib(LPCSTR libname, LPCSTR procname) { +psutil_GetProcAddressFromLib(LPCSTR libname, LPCSTR apiname) { HMODULE mod; FARPROC addr; @@ -246,11 +126,13 @@ psutil_GetProcAddressFromLib(LPCSTR libname, LPCSTR procname) { mod = LoadLibraryA(libname); Py_END_ALLOW_THREADS if (mod == NULL) { + psutil_debug("%s lib not supported (needed for %s)", libname, apiname); PyErr_SetFromWindowsErrWithFilename(0, libname); return NULL; } - if ((addr = GetProcAddress(mod, procname)) == NULL) { - PyErr_SetFromWindowsErrWithFilename(0, procname); + if ((addr = GetProcAddress(mod, apiname)) == NULL) { + psutil_debug("%s -> %s not supported", libname, apiname); + PyErr_SetFromWindowsErrWithFilename(0, apiname); FreeLibrary(mod); return NULL; } @@ -260,87 +142,112 @@ psutil_GetProcAddressFromLib(LPCSTR libname, LPCSTR procname) { } -/* - * Convert a NTSTATUS value to a Win32 error code and set the proper - * Python exception. - */ -PVOID -psutil_SetFromNTStatusErr(NTSTATUS Status, const char *syscall) { - ULONG err; - char fullmsg[1024]; +// Convert the hi and lo parts of a FILETIME structure or a +// LARGE_INTEGER to a UNIX time. A FILETIME contains a 64-bit value +// representing the number of 100-nanosecond intervals since January 1, +// 1601 (UTC). A UNIX time is the number of seconds that have elapsed +// since the UNIX epoch, that is the time 00:00:00 UTC on 1 January +// 1970. +static double +_to_unix_time(ULONGLONG hiPart, ULONGLONG loPart) { + ULONGLONG ret; - if (NT_NTWIN32(Status)) - err = WIN32_FROM_NTSTATUS(Status); - else - err = RtlNtStatusToDosErrorNoTeb(Status); - // if (GetLastError() != 0) - // err = GetLastError(); - sprintf(fullmsg, "(originated from %s)", syscall); - return PyErr_SetFromWindowsErrWithFilename(err, fullmsg); + // 100 nanosecond intervals since January 1, 1601. + ret = hiPart << 32; + ret += loPart; + // Change starting time to the Epoch (00:00:00 UTC, January 1, 1970). + ret -= 116444736000000000ull; + // Convert nano secs to secs. + return (double) ret / 10000000ull; +} + + +double +psutil_FiletimeToUnixTime(FILETIME ft) { + return _to_unix_time( + (ULONGLONG)ft.dwHighDateTime, (ULONGLONG)ft.dwLowDateTime + ); +} + + +double +psutil_LargeIntegerToUnixTime(LARGE_INTEGER li) { + return _to_unix_time( + (ULONGLONG)li.HighPart, (ULONGLONG)li.LowPart + ); } +// ==================================================================== +// --- Init / load libs +// ==================================================================== + + static int psutil_loadlibs() { // --- Mandatory NtQuerySystemInformation = psutil_GetProcAddressFromLib( "ntdll.dll", "NtQuerySystemInformation"); if (! NtQuerySystemInformation) - return 1; + return -1; NtQueryInformationProcess = psutil_GetProcAddress( "ntdll.dll", "NtQueryInformationProcess"); if (! NtQueryInformationProcess) - return 1; + return -1; NtSetInformationProcess = psutil_GetProcAddress( "ntdll.dll", "NtSetInformationProcess"); if (! NtSetInformationProcess) - return 1; + return -1; NtQueryObject = psutil_GetProcAddressFromLib( "ntdll.dll", "NtQueryObject"); if (! NtQueryObject) - return 1; + return -1; RtlIpv4AddressToStringA = psutil_GetProcAddressFromLib( "ntdll.dll", "RtlIpv4AddressToStringA"); if (! RtlIpv4AddressToStringA) - return 1; + return -1; GetExtendedTcpTable = psutil_GetProcAddressFromLib( "iphlpapi.dll", "GetExtendedTcpTable"); if (! GetExtendedTcpTable) - return 1; + return -1; GetExtendedUdpTable = psutil_GetProcAddressFromLib( "iphlpapi.dll", "GetExtendedUdpTable"); if (! GetExtendedUdpTable) - return 1; + return -1; RtlGetVersion = psutil_GetProcAddressFromLib( "ntdll.dll", "RtlGetVersion"); if (! RtlGetVersion) - return 1; + return -1; NtSuspendProcess = psutil_GetProcAddressFromLib( "ntdll", "NtSuspendProcess"); if (! NtSuspendProcess) - return 1; + return -1; NtResumeProcess = psutil_GetProcAddressFromLib( "ntdll", "NtResumeProcess"); if (! NtResumeProcess) - return 1; + return -1; NtQueryVirtualMemory = psutil_GetProcAddressFromLib( "ntdll", "NtQueryVirtualMemory"); if (! NtQueryVirtualMemory) - return 1; + return -1; RtlNtStatusToDosErrorNoTeb = psutil_GetProcAddressFromLib( "ntdll", "RtlNtStatusToDosErrorNoTeb"); if (! RtlNtStatusToDosErrorNoTeb) - return 1; + return -1; GetTickCount64 = psutil_GetProcAddress( "kernel32", "GetTickCount64"); if (! GetTickCount64) - return 1; + return -1; RtlIpv6AddressToStringA = psutil_GetProcAddressFromLib( "ntdll.dll", "RtlIpv6AddressToStringA"); if (! RtlIpv6AddressToStringA) - return 1; + return -1; // --- Optional + + // minimum requirement: Win 7 + QueryInterruptTime = psutil_GetProcAddressFromLib( + "kernelbase.dll", "QueryInterruptTime"); // minimum requirement: Win 7 GetActiveProcessorCount = psutil_GetProcAddress( "kernel32", "GetActiveProcessorCount"); @@ -387,59 +294,14 @@ psutil_set_winver() { } -/* - * Convert the hi and lo parts of a FILETIME structure or a LARGE_INTEGER - * to a UNIX time. - * A FILETIME contains a 64-bit value representing the number of - * 100-nanosecond intervals since January 1, 1601 (UTC). - * A UNIX time is the number of seconds that have elapsed since the - * UNIX epoch, that is the time 00:00:00 UTC on 1 January 1970. - */ -static double -_to_unix_time(ULONGLONG hiPart, ULONGLONG loPart) { - ULONGLONG ret; - - // 100 nanosecond intervals since January 1, 1601. - ret = hiPart << 32; - ret += loPart; - // Change starting time to the Epoch (00:00:00 UTC, January 1, 1970). - ret -= 116444736000000000ull; - // Convert nano secs to secs. - return (double) ret / 10000000ull; -} - - -double -psutil_FiletimeToUnixTime(FILETIME ft) { - return _to_unix_time((ULONGLONG)ft.dwHighDateTime, - (ULONGLONG)ft.dwLowDateTime); -} - - -double -psutil_LargeIntegerToUnixTime(LARGE_INTEGER li) { - return _to_unix_time((ULONGLONG)li.HighPart, - (ULONGLONG)li.LowPart); -} -#endif // PSUTIL_WINDOWS - - -// Called on module import on all platforms. +// Called on module import. int -psutil_setup(void) { - if (getenv("PSUTIL_DEBUG") != NULL) - PSUTIL_DEBUG = 1; - -#ifdef PSUTIL_WINDOWS +psutil_setup_windows(void) { if (psutil_loadlibs() != 0) - return 1; + return -1; if (psutil_set_winver() != 0) - return 1; + return -1; GetSystemInfo(&PSUTIL_SYSTEM_INFO); InitializeCriticalSection(&PSUTIL_CRITICAL_SECTION); -#endif -#ifdef PSUTIL_OSX - mach_timebase_info(&PSUTIL_MACH_TIMEBASE_INFO); -#endif return 0; } diff --git a/contrib/python/psutil/py3/psutil/arch/windows/init.h b/contrib/python/psutil/py3/psutil/arch/windows/init.h new file mode 100644 index 00000000000..2b3905dd35c --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/windows/init.h @@ -0,0 +1,140 @@ +/* + * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> +#include <windows.h> +#include <Winsvc.h> + +#include "ntextapi.h" + + +extern int PSUTIL_WINVER; +extern SYSTEM_INFO PSUTIL_SYSTEM_INFO; +extern CRITICAL_SECTION PSUTIL_CRITICAL_SECTION; + +#define PSUTIL_WINDOWS_VISTA 60 +#define PSUTIL_WINDOWS_7 61 +#define PSUTIL_WINDOWS_8 62 +#define PSUTIL_WINDOWS_8_1 63 +#define PSUTIL_WINDOWS_10 100 +#define PSUTIL_WINDOWS_NEW MAXLONG + +#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x)) +#define MALLOC_ZERO(x) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (x)) +#define FREE(x) HeapFree(GetProcessHeap(), 0, (x)) + +#define _NT_FACILITY_MASK 0xfff +#define _NT_FACILITY_SHIFT 16 +#define _NT_FACILITY(status) \ + ((((ULONG)(status)) >> _NT_FACILITY_SHIFT) & _NT_FACILITY_MASK) + +#define NT_NTWIN32(status) (_NT_FACILITY(status) == FACILITY_WIN32) +#define WIN32_FROM_NTSTATUS(status) (((ULONG)(status)) & 0xffff) + +#define PSUTIL_FIRST_PROCESS(Processes) ( \ + (PSYSTEM_PROCESS_INFORMATION)(Processes)) +#define PSUTIL_NEXT_PROCESS(Process) ( \ + ((PSYSTEM_PROCESS_INFORMATION)(Process))->NextEntryOffset ? \ + (PSYSTEM_PROCESS_INFORMATION)((PCHAR)(Process) + \ + ((PSYSTEM_PROCESS_INFORMATION)(Process))->NextEntryOffset) : NULL) + +#define LO_T 1e-7 +#define HI_T 429.4967296 + +#ifndef AF_INET6 + #define AF_INET6 23 +#endif + +#if defined(PSUTIL_WINDOWS) && defined(PYPY_VERSION) + #if !defined(PyErr_SetFromWindowsErrWithFilename) + PyObject *PyErr_SetFromWindowsErrWithFilename( + int ierr, const char *filename + ); + #endif + #if !defined(PyErr_SetExcFromWindowsErrWithFilenameObject) + PyObject *PyErr_SetExcFromWindowsErrWithFilenameObject( + PyObject *type, int ierr, PyObject *filename + ); + #endif +#endif + +double psutil_FiletimeToUnixTime(FILETIME ft); +double psutil_LargeIntegerToUnixTime(LARGE_INTEGER li); +int psutil_setup_windows(void); +PVOID psutil_GetProcAddress(LPCSTR libname, LPCSTR procname); +PVOID psutil_GetProcAddressFromLib(LPCSTR libname, LPCSTR procname); +PVOID psutil_SetFromNTStatusErr(NTSTATUS status, const char *syscall); + +extern PyObject *TimeoutExpired; +extern PyObject *TimeoutAbandoned; + + +int _psutil_pids(DWORD **pids_array, int *pids_count); +HANDLE psutil_check_phandle(HANDLE hProcess, DWORD pid, int check_exit_code); +HANDLE psutil_handle_from_pid(DWORD pid, DWORD dwDesiredAccess); +int psutil_assert_pid_exists(DWORD pid, char *err); +int psutil_assert_pid_not_exists(DWORD pid, char *err); +int psutil_pid_is_running(DWORD pid); +int psutil_set_se_debug(); +SC_HANDLE psutil_get_service_handle(char service_name, DWORD scm_access, DWORD access); + +int psutil_get_proc_info(DWORD pid, PSYSTEM_PROCESS_INFORMATION *retProcess, PVOID *retBuffer); +PyObject *psutil_cpu_count_cores(PyObject *self, PyObject *args); +PyObject *psutil_cpu_count_logical(PyObject *self, PyObject *args); +PyObject *psutil_cpu_freq(PyObject *self, PyObject *args); +PyObject *psutil_cpu_stats(PyObject *self, PyObject *args); +PyObject *psutil_cpu_times(PyObject *self, PyObject *args); +PyObject *psutil_disk_io_counters(PyObject *self, PyObject *args); +PyObject *psutil_disk_partitions(PyObject *self, PyObject *args); +PyObject *psutil_disk_usage(PyObject *self, PyObject *args); +PyObject *psutil_get_loadavg(); +PyObject *psutil_get_open_files(DWORD pid, HANDLE hProcess); +PyObject *psutil_getpagesize(PyObject *self, PyObject *args); +PyObject *psutil_init_loadavg_counter(); +PyObject *psutil_net_connections(PyObject *self, PyObject *args); +PyObject *psutil_net_if_addrs(PyObject *self, PyObject *args); +PyObject *psutil_net_if_stats(PyObject *self, PyObject *args); +PyObject *psutil_net_io_counters(PyObject *self, PyObject *args); +PyObject *psutil_per_cpu_times(PyObject *self, PyObject *args); +PyObject *psutil_pid_exists(PyObject *self, PyObject *args); +PyObject *psutil_pids(PyObject *self, PyObject *args); +PyObject *psutil_ppid_map(PyObject *self, PyObject *args); +PyObject *psutil_proc_cmdline(PyObject *self, PyObject *args, PyObject *kwdict); +PyObject *psutil_proc_cpu_affinity_get(PyObject *self, PyObject *args); +PyObject *psutil_proc_cpu_affinity_set(PyObject *self, PyObject *args); +PyObject *psutil_proc_cwd(PyObject *self, PyObject *args); +PyObject *psutil_proc_environ(PyObject *self, PyObject *args); +PyObject *psutil_proc_exe(PyObject *self, PyObject *args); +PyObject *psutil_proc_info(PyObject *self, PyObject *args); +PyObject *psutil_proc_io_counters(PyObject *self, PyObject *args); +PyObject *psutil_proc_io_priority_get(PyObject *self, PyObject *args); +PyObject *psutil_proc_io_priority_set(PyObject *self, PyObject *args); +PyObject *psutil_proc_is_suspended(PyObject *self, PyObject *args); +PyObject *psutil_proc_kill(PyObject *self, PyObject *args); +PyObject *psutil_proc_memory_info(PyObject *self, PyObject *args); +PyObject *psutil_proc_memory_maps(PyObject *self, PyObject *args); +PyObject *psutil_proc_memory_uss(PyObject *self, PyObject *args); +PyObject *psutil_proc_num_handles(PyObject *self, PyObject *args); +PyObject *psutil_proc_open_files(PyObject *self, PyObject *args); +PyObject *psutil_proc_priority_get(PyObject *self, PyObject *args); +PyObject *psutil_proc_priority_set(PyObject *self, PyObject *args); +PyObject *psutil_proc_suspend_or_resume(PyObject *self, PyObject *args); +PyObject *psutil_proc_threads(PyObject *self, PyObject *args); +PyObject *psutil_proc_times(PyObject *self, PyObject *args); +PyObject *psutil_proc_username(PyObject *self, PyObject *args); +PyObject *psutil_proc_wait(PyObject *self, PyObject *args); +PyObject *psutil_QueryDosDevice(PyObject *self, PyObject *args); +PyObject *psutil_sensors_battery(PyObject *self, PyObject *args); +PyObject *psutil_swap_percent(PyObject *self, PyObject *args); +PyObject *psutil_uptime(PyObject *self, PyObject *args); +PyObject *psutil_users(PyObject *self, PyObject *args); +PyObject *psutil_virtual_mem(PyObject *self, PyObject *args); +PyObject *psutil_winservice_enumerate(PyObject *self, PyObject *args); +PyObject *psutil_winservice_query_config(PyObject *self, PyObject *args); +PyObject *psutil_winservice_query_descr(PyObject *self, PyObject *args); +PyObject *psutil_winservice_query_status(PyObject *self, PyObject *args); +PyObject *psutil_winservice_start(PyObject *self, PyObject *args); +PyObject *psutil_winservice_stop(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/mem.c b/contrib/python/psutil/py3/psutil/arch/windows/mem.c index 24dc15ad0e2..03b85777d01 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/mem.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/mem.c @@ -9,7 +9,7 @@ #include <Psapi.h> #include <pdh.h> -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" PyObject * diff --git a/contrib/python/psutil/py3/psutil/arch/windows/mem.h b/contrib/python/psutil/py3/psutil/arch/windows/mem.h deleted file mode 100644 index 48d3dadee6f..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/mem.h +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_getpagesize(PyObject *self, PyObject *args); -PyObject *psutil_virtual_mem(PyObject *self, PyObject *args); -PyObject *psutil_swap_percent(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/net.c b/contrib/python/psutil/py3/psutil/arch/windows/net.c index 9a5634b0693..b9ca07dc0fd 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/net.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/net.c @@ -12,7 +12,7 @@ #include <wchar.h> #include <ws2tcpip.h> -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" static PIP_ADAPTER_ADDRESSES diff --git a/contrib/python/psutil/py3/psutil/arch/windows/net.h b/contrib/python/psutil/py3/psutil/arch/windows/net.h deleted file mode 100644 index 7a6158d13b1..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/net.h +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_net_if_addrs(PyObject *self, PyObject *args); -PyObject *psutil_net_if_stats(PyObject *self, PyObject *args); -PyObject *psutil_net_io_counters(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/ntextapi.h b/contrib/python/psutil/py3/psutil/arch/windows/ntextapi.h index 91a66e4e847..742d7181003 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/ntextapi.h +++ b/contrib/python/psutil/py3/psutil/arch/windows/ntextapi.h @@ -10,10 +10,6 @@ #include <winternl.h> #include <iphlpapi.h> -#ifndef PSUTIL_MAYBE_EXTERN -#define PSUTIL_MAYBE_EXTERN extern -#endif - typedef LONG NTSTATUS; // https://github.com/ajkhoury/TestDll/blob/master/nt_ddk.h @@ -664,6 +660,12 @@ PSUTIL_MAYBE_EXTERN ULONGLONG (CALLBACK *_GetTickCount64) ( #define GetTickCount64 _GetTickCount64 +PSUTIL_MAYBE_EXTERN VOID(CALLBACK *_QueryInterruptTime) ( + PULONGLONG lpInterruptTime +); + +#define QueryInterruptTime _QueryInterruptTime + PSUTIL_MAYBE_EXTERN NTSTATUS (NTAPI *_NtQueryObject) ( HANDLE Handle, OBJECT_INFORMATION_CLASS ObjectInformationClass, diff --git a/contrib/python/psutil/py3/psutil/arch/windows/pids.c b/contrib/python/psutil/py3/psutil/arch/windows/pids.c new file mode 100644 index 00000000000..6f4b4ee6a2a --- /dev/null +++ b/contrib/python/psutil/py3/psutil/arch/windows/pids.c @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include <Python.h> +#include <windows.h> +#include <psapi.h> + +int +_psutil_pids(DWORD **pids_array, int *pids_count) { + DWORD *proc_array = NULL; + DWORD proc_array_bytes; + int proc_array_sz = 0; + DWORD enum_return_bytes = 0; + + *pids_array = NULL; + *pids_count = 0; + + do { + proc_array_sz += 1024; + if (proc_array != NULL) + free(proc_array); + + proc_array_bytes = proc_array_sz * sizeof(DWORD); + proc_array = malloc(proc_array_bytes); + if (proc_array == NULL) { + PyErr_NoMemory(); + return -1; + } + + if (!EnumProcesses(proc_array, proc_array_bytes, &enum_return_bytes)) { + free(proc_array); + PyErr_SetFromWindowsErr(0); + return -1; + } + + // Retry if our buffer was too small. + } while (enum_return_bytes == proc_array_bytes); + + *pids_count = (int)(enum_return_bytes / sizeof(DWORD)); + *pids_array = proc_array; + return 0; +} diff --git a/contrib/python/psutil/py3/psutil/arch/windows/proc.c b/contrib/python/psutil/py3/psutil/arch/windows/proc.c index 41fa9dda680..c62897bb417 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/proc.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/proc.c @@ -23,11 +23,7 @@ // Link with Iphlpapi.lib #pragma comment(lib, "IPHLPAPI.lib") -#include "../../_psutil_common.h" -#include "proc.h" -#include "proc_info.h" -#include "proc_handles.h" -#include "proc_utils.h" +#include "../../arch/all/init.h" // Raised by Process.wait(). @@ -54,45 +50,6 @@ psutil_pid_exists(PyObject *self, PyObject *args) { /* - * Return a Python list of all the PIDs running on the system. - */ -PyObject * -psutil_pids(PyObject *self, PyObject *args) { - DWORD *proclist = NULL; - DWORD numberOfReturnedPIDs; - DWORD i; - PyObject *py_pid = NULL; - PyObject *py_retlist = PyList_New(0); - - if (py_retlist == NULL) - return NULL; - proclist = psutil_get_pids(&numberOfReturnedPIDs); - if (proclist == NULL) - goto error; - - for (i = 0; i < numberOfReturnedPIDs; i++) { - py_pid = PyLong_FromPid(proclist[i]); - if (!py_pid) - goto error; - if (PyList_Append(py_retlist, py_pid)) - goto error; - Py_CLEAR(py_pid); - } - - // free C array allocated for PIDs - free(proclist); - return py_retlist; - -error: - Py_XDECREF(py_pid); - Py_DECREF(py_retlist); - if (proclist != NULL) - free(proclist); - return NULL; -} - - -/* * Kill a process given its PID. */ PyObject * @@ -428,7 +385,7 @@ psutil_GetProcWsetInformation( buffer = MALLOC_ZERO(bufferSize); if (! buffer) { PyErr_NoMemory(); - return 1; + return -1; } while ((status = NtQueryVirtualMemory( @@ -445,12 +402,12 @@ psutil_GetProcWsetInformation( if (bufferSize > 256 * 1024 * 1024) { PyErr_SetString(PyExc_RuntimeError, "NtQueryVirtualMemory bufsize is too large"); - return 1; + return -1; } buffer = MALLOC_ZERO(bufferSize); if (! buffer) { PyErr_NoMemory(); - return 1; + return -1; } } @@ -467,7 +424,7 @@ psutil_GetProcWsetInformation( status, "NtQueryVirtualMemory(MemoryWorkingSetInformation)"); } HeapFree(GetProcessHeap(), 0, buffer); - return 1; + return -1; } *wSetInfo = (PMEMORY_WORKING_SET_INFORMATION)buffer; @@ -1059,7 +1016,7 @@ psutil_proc_is_suspended(PyObject *self, PyObject *args) { if (! PyArg_ParseTuple(args, _Py_PARSE_PID, &pid)) return NULL; - if (! psutil_get_proc_info(pid, &process, &buffer)) + if (psutil_get_proc_info(pid, &process, &buffer) != 0) return NULL; for (i = 0; i < process->NumberOfThreads; i++) { if (process->Threads[i].ThreadState != Waiting || diff --git a/contrib/python/psutil/py3/psutil/arch/windows/proc.h b/contrib/python/psutil/py3/psutil/arch/windows/proc.h deleted file mode 100644 index 048d27dd7cc..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/proc.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -extern PyObject *TimeoutExpired; -extern PyObject *TimeoutAbandoned; - -PyObject *psutil_pid_exists(PyObject *self, PyObject *args); -PyObject *psutil_pids(PyObject *self, PyObject *args); -PyObject *psutil_ppid_map(PyObject *self, PyObject *args); -PyObject *psutil_proc_cpu_affinity_get(PyObject *self, PyObject *args); -PyObject *psutil_proc_cpu_affinity_set(PyObject *self, PyObject *args); -PyObject *psutil_proc_exe(PyObject *self, PyObject *args); -PyObject *psutil_proc_io_counters(PyObject *self, PyObject *args); -PyObject *psutil_proc_io_priority_get(PyObject *self, PyObject *args); -PyObject *psutil_proc_io_priority_set(PyObject *self, PyObject *args); -PyObject *psutil_proc_is_suspended(PyObject *self, PyObject *args); -PyObject *psutil_proc_kill(PyObject *self, PyObject *args); -PyObject *psutil_proc_memory_info(PyObject *self, PyObject *args); -PyObject *psutil_proc_memory_maps(PyObject *self, PyObject *args); -PyObject *psutil_proc_memory_uss(PyObject *self, PyObject *args); -PyObject *psutil_proc_num_handles(PyObject *self, PyObject *args); -PyObject *psutil_proc_open_files(PyObject *self, PyObject *args); -PyObject *psutil_proc_priority_get(PyObject *self, PyObject *args); -PyObject *psutil_proc_priority_set(PyObject *self, PyObject *args); -PyObject *psutil_proc_suspend_or_resume(PyObject *self, PyObject *args); -PyObject *psutil_proc_threads(PyObject *self, PyObject *args); -PyObject *psutil_proc_times(PyObject *self, PyObject *args); -PyObject *psutil_proc_username(PyObject *self, PyObject *args); -PyObject *psutil_proc_wait(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/proc_handles.c b/contrib/python/psutil/py3/psutil/arch/windows/proc_handles.c index 01ef6a425e8..471944c6438 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/proc_handles.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/proc_handles.c @@ -22,8 +22,7 @@ #include <windows.h> #include <Python.h> -#include "../../_psutil_common.h" -#include "proc_utils.h" +#include "../../arch/all/init.h" #define THREAD_TIMEOUT 100 // ms @@ -42,7 +41,7 @@ psutil_enum_handles(PSYSTEM_HANDLE_INFORMATION_EX *handles) { buffer = MALLOC_ZERO(bufferSize); if (buffer == NULL) { PyErr_NoMemory(); - return 1; + return -1; } while ((status = NtQuerySystemInformation( @@ -60,20 +59,20 @@ psutil_enum_handles(PSYSTEM_HANDLE_INFORMATION_EX *handles) { PyErr_SetString( PyExc_RuntimeError, "SystemExtendedHandleInformation buffer too big"); - return 1; + return -1; } buffer = MALLOC_ZERO(bufferSize); if (buffer == NULL) { PyErr_NoMemory(); - return 1; + return -1; } } if (! NT_SUCCESS(status)) { psutil_SetFromNTStatusErr(status, "NtQuerySystemInformation"); FREE(buffer); - return 1; + return -1; } *handles = (PSYSTEM_HANDLE_INFORMATION_EX)buffer; @@ -157,7 +156,7 @@ psutil_threaded_get_filename(HANDLE hFile) { NULL, 0, (LPTHREAD_START_ROUTINE)psutil_get_filename, &hFile, 0, NULL); if (hThread == NULL) { psutil_PyErr_SetFromOSErrnoWithSyscall("CreateThread"); - return 1; + return -1; } // Wait for the worker thread to finish. @@ -170,7 +169,7 @@ psutil_threaded_get_filename(HANDLE hFile) { if (TerminateThread(hThread, 0) == 0) { psutil_PyErr_SetFromOSErrnoWithSyscall("TerminateThread"); CloseHandle(hThread); - return 1; + return -1; } CloseHandle(hThread); return 0; @@ -183,11 +182,11 @@ psutil_threaded_get_filename(HANDLE hFile) { "WaitForSingleObject -> WAIT_FAILED -> TerminateThread" ); CloseHandle(hThread); - return 1; + return -1; } psutil_PyErr_SetFromOSErrnoWithSyscall("WaitForSingleObject"); CloseHandle(hThread); - return 1; + return -1; } if (GetExitCodeThread(hThread, &threadRetValue) == 0) { @@ -196,12 +195,12 @@ psutil_threaded_get_filename(HANDLE hFile) { "GetExitCodeThread (failed) -> TerminateThread" ); CloseHandle(hThread); - return 1; + return -1; } CloseHandle(hThread); psutil_PyErr_SetFromOSErrnoWithSyscall("GetExitCodeThread"); - return 1; + return -1; } CloseHandle(hThread); return threadRetValue; diff --git a/contrib/python/psutil/py3/psutil/arch/windows/proc_handles.h b/contrib/python/psutil/py3/psutil/arch/windows/proc_handles.h deleted file mode 100644 index d1be3152d5f..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/proc_handles.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> -#include <windows.h> - -PyObject* psutil_get_open_files(DWORD pid, HANDLE hProcess); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/proc_info.c b/contrib/python/psutil/py3/psutil/arch/windows/proc_info.c index 9e0caf34426..75bd17c7bb2 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/proc_info.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/proc_info.c @@ -10,9 +10,7 @@ #include <Python.h> #include <windows.h> -#include "../../_psutil_common.h" -#include "proc_info.h" -#include "proc_utils.h" +#include "../../arch/all/init.h" #ifndef _WIN64 @@ -701,7 +699,7 @@ out: * We use this as a fallback when faster functions fail with access * denied. This is slower because it iterates over all processes * but it doesn't require any privilege (also work for PID 0). - * On success return 1, else 0 with Python exception already set. + * On success return 0, else -1 with Python exception already set. */ int psutil_get_proc_info(DWORD pid, PSYSTEM_PROCESS_INFORMATION *retProcess, @@ -754,7 +752,7 @@ psutil_get_proc_info(DWORD pid, PSYSTEM_PROCESS_INFORMATION *retProcess, if ((ULONG_PTR)process->UniqueProcessId == pid) { *retProcess = process; *retBuffer = buffer; - return 1; + return 0; } } while ((process = PSUTIL_NEXT_PROCESS(process))); @@ -764,7 +762,7 @@ psutil_get_proc_info(DWORD pid, PSYSTEM_PROCESS_INFORMATION *retProcess, error: if (buffer != NULL) free(buffer); - return 0; + return -1; } @@ -796,7 +794,7 @@ psutil_proc_info(PyObject *self, PyObject *args) { if (! PyArg_ParseTuple(args, _Py_PARSE_PID, &pid)) return NULL; - if (! psutil_get_proc_info(pid, &process, &buffer)) + if (psutil_get_proc_info(pid, &process, &buffer) != 0) return NULL; for (i = 0; i < process->NumberOfThreads; i++) diff --git a/contrib/python/psutil/py3/psutil/arch/windows/proc_info.h b/contrib/python/psutil/py3/psutil/arch/windows/proc_info.h deleted file mode 100644 index b7795451dc8..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/proc_info.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> -#include <windows.h> - -#include "ntextapi.h" - -#define PSUTIL_FIRST_PROCESS(Processes) ( \ - (PSYSTEM_PROCESS_INFORMATION)(Processes)) -#define PSUTIL_NEXT_PROCESS(Process) ( \ - ((PSYSTEM_PROCESS_INFORMATION)(Process))->NextEntryOffset ? \ - (PSYSTEM_PROCESS_INFORMATION)((PCHAR)(Process) + \ - ((PSYSTEM_PROCESS_INFORMATION)(Process))->NextEntryOffset) : NULL) - -int psutil_get_proc_info(DWORD pid, PSYSTEM_PROCESS_INFORMATION *retProcess, - PVOID *retBuffer); -PyObject* psutil_proc_cmdline(PyObject *self, PyObject *args, PyObject *kwdict); -PyObject* psutil_proc_cwd(PyObject *self, PyObject *args); -PyObject* psutil_proc_environ(PyObject *self, PyObject *args); -PyObject* psutil_proc_info(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/proc_utils.c b/contrib/python/psutil/py3/psutil/arch/windows/proc_utils.c index 1ebb76c448c..d272e91251c 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/proc_utils.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/proc_utils.c @@ -10,68 +10,28 @@ #include <windows.h> #include <Psapi.h> // EnumProcesses -#include "../../_psutil_common.h" -#include "proc_utils.h" - - -DWORD * -psutil_get_pids(DWORD *numberOfReturnedPIDs) { - // Win32 SDK says the only way to know if our process array - // wasn't large enough is to check the returned size and make - // sure that it doesn't match the size of the array. - // If it does we allocate a larger array and try again - - // Stores the actual array - DWORD *procArray = NULL; - DWORD procArrayByteSz; - int procArraySz = 0; - - // Stores the byte size of the returned array from enumprocesses - DWORD enumReturnSz = 0; - - do { - procArraySz += 1024; - if (procArray != NULL) - free(procArray); - procArrayByteSz = procArraySz * sizeof(DWORD); - procArray = malloc(procArrayByteSz); - if (procArray == NULL) { - PyErr_NoMemory(); - return NULL; - } - if (! EnumProcesses(procArray, procArrayByteSz, &enumReturnSz)) { - free(procArray); - PyErr_SetFromWindowsErr(0); - return NULL; - } - } while (enumReturnSz == procArraySz * sizeof(DWORD)); +#include "../../arch/all/init.h" - // The number of elements is the returned size / size of each element - *numberOfReturnedPIDs = enumReturnSz / sizeof(DWORD); - - return procArray; -} // Return 1 if PID exists, 0 if not, -1 on error. int psutil_pid_in_pids(DWORD pid) { - DWORD *proclist = NULL; - DWORD numberOfReturnedPIDs; - DWORD i; + DWORD *pids_array = NULL; + int pids_count = 0; + int i; - proclist = psutil_get_pids(&numberOfReturnedPIDs); - if (proclist == NULL) { - psutil_debug("psutil_get_pids() failed"); + if (_psutil_pids(&pids_array, &pids_count) != 0) return -1; - } - for (i = 0; i < numberOfReturnedPIDs; i++) { - if (proclist[i] == pid) { - free(proclist); + + for (i = 0; i < pids_count; i++) { + if (pids_array[i] == pid) { + free(pids_array); return 1; } } - free(proclist); + + free(pids_array); return 0; } diff --git a/contrib/python/psutil/py3/psutil/arch/windows/proc_utils.h b/contrib/python/psutil/py3/psutil/arch/windows/proc_utils.h deleted file mode 100644 index dca7c991a5a..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/proc_utils.h +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -DWORD* psutil_get_pids(DWORD *numberOfReturnedPIDs); -HANDLE psutil_handle_from_pid(DWORD pid, DWORD dwDesiredAccess); -HANDLE psutil_check_phandle(HANDLE hProcess, DWORD pid, int check_exit_code); -int psutil_pid_is_running(DWORD pid); -int psutil_assert_pid_exists(DWORD pid, char *err); -int psutil_assert_pid_not_exists(DWORD pid, char *err); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/security.c b/contrib/python/psutil/py3/psutil/arch/windows/security.c index 07d23998498..8beeb7cb8e2 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/security.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/security.c @@ -10,7 +10,7 @@ #include <windows.h> #include <Python.h> -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" static BOOL @@ -22,7 +22,7 @@ psutil_set_privilege(HANDLE hToken, LPCTSTR Privilege, BOOL bEnablePrivilege) { if (! LookupPrivilegeValue(NULL, Privilege, &luid)) { psutil_PyErr_SetFromOSErrnoWithSyscall("LookupPrivilegeValue"); - return 1; + return -1; } // first pass. get current privilege setting @@ -39,7 +39,7 @@ psutil_set_privilege(HANDLE hToken, LPCTSTR Privilege, BOOL bEnablePrivilege) { &cbPrevious)) { psutil_PyErr_SetFromOSErrnoWithSyscall("AdjustTokenPrivileges"); - return 1; + return -1; } // Second pass. Set privilege based on previous setting. @@ -61,7 +61,7 @@ psutil_set_privilege(HANDLE hToken, LPCTSTR Privilege, BOOL bEnablePrivilege) { NULL)) { psutil_PyErr_SetFromOSErrnoWithSyscall("AdjustTokenPrivileges"); - return 1; + return -1; } return 0; @@ -122,13 +122,13 @@ psutil_set_se_debug() { HANDLE hToken; if ((hToken = psutil_get_thisproc_token()) == NULL) { - // "return 1;" to get an exception + // "return -1;" to get an exception psutil_print_err(); return 0; } if (psutil_set_privilege(hToken, SE_DEBUG_NAME, TRUE) != 0) { - // "return 1;" to get an exception + // "return -1;" to get an exception psutil_print_err(); } diff --git a/contrib/python/psutil/py3/psutil/arch/windows/security.h b/contrib/python/psutil/py3/psutil/arch/windows/security.h deleted file mode 100644 index 8d4ddb00d41..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/security.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - * - * Security related functions for Windows platform (Set privileges such as - * SeDebug), as well as security helper functions. - */ - -#include <windows.h> - -int psutil_set_se_debug(); - diff --git a/contrib/python/psutil/py3/psutil/arch/windows/sensors.c b/contrib/python/psutil/py3/psutil/arch/windows/sensors.c index fbe2c2fe9fe..8bb636c44e2 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/sensors.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/sensors.c @@ -7,6 +7,8 @@ #include <Python.h> #include <windows.h> +#include "../../arch/all/init.h" + // Added in https://github.com/giampaolo/psutil/commit/109f873 in 2017. // Moved in here in 2023. diff --git a/contrib/python/psutil/py3/psutil/arch/windows/sensors.h b/contrib/python/psutil/py3/psutil/arch/windows/sensors.h deleted file mode 100644 index edace25d3de..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/sensors.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_sensors_battery(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/services.c b/contrib/python/psutil/py3/psutil/arch/windows/services.c index 4931e9d66de..8ea99a8daff 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/services.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/services.c @@ -8,36 +8,76 @@ #include <windows.h> #include <Winsvc.h> -#include "../../_psutil_common.h" -#include "services.h" +#include "../../arch/all/init.h" // ================================================================== // utils // ================================================================== + SC_HANDLE -psutil_get_service_handler(char *service_name, DWORD scm_access, DWORD access) +psutil_get_service_handler( + const wchar_t *service_name, + DWORD scm_access, + DWORD access) { SC_HANDLE sc = NULL; SC_HANDLE hService = NULL; - sc = OpenSCManager(NULL, NULL, scm_access); + sc = OpenSCManagerW(NULL, NULL, scm_access); if (sc == NULL) { - psutil_PyErr_SetFromOSErrnoWithSyscall("OpenSCManager"); + psutil_PyErr_SetFromOSErrnoWithSyscall("OpenSCManagerW"); return NULL; } - hService = OpenService(sc, service_name, access); + + hService = OpenServiceW(sc, service_name, access); if (hService == NULL) { - psutil_PyErr_SetFromOSErrnoWithSyscall("OpenService"); + psutil_PyErr_SetFromOSErrnoWithSyscall("OpenServiceW"); CloseServiceHandle(sc); return NULL; } + CloseServiceHandle(sc); return hService; } +// helper: parse args, convert to wchar, and open service +// returns NULL on error. On success, fills *service_name_out. +static SC_HANDLE +psutil_get_service_from_args( + PyObject *args, + DWORD scm_access, + DWORD access, + wchar_t **service_name_out) +{ + PyObject *py_service_name = NULL; + wchar_t *service_name = NULL; + Py_ssize_t wlen; + SC_HANDLE hService = NULL; + + if (!PyArg_ParseTuple(args, "U", &py_service_name)) { + return NULL; + } + + service_name = PyUnicode_AsWideCharString(py_service_name, &wlen); + if (service_name == NULL) { + return NULL; + } + + hService = psutil_get_service_handler(service_name, scm_access, access); + if (hService == NULL) { + PyMem_Free(service_name); + return NULL; + } + + *service_name_out = service_name; + return hService; +} + + + // XXX - expose these as constants? static const char * get_startup_string(DWORD startup) { @@ -189,7 +229,7 @@ error: */ PyObject * psutil_winservice_query_config(PyObject *self, PyObject *args) { - char *service_name; + wchar_t *service_name = NULL; SC_HANDLE hService = NULL; BOOL ok; DWORD bytesNeeded = 0; @@ -199,12 +239,14 @@ psutil_winservice_query_config(PyObject *self, PyObject *args) { PyObject *py_unicode_binpath = NULL; PyObject *py_unicode_username = NULL; - if (!PyArg_ParseTuple(args, "s", &service_name)) - return NULL; - hService = psutil_get_service_handler( - service_name, SC_MANAGER_ENUMERATE_SERVICE, SERVICE_QUERY_CONFIG); + hService = psutil_get_service_from_args( + args, + SC_MANAGER_ENUMERATE_SERVICE, + SERVICE_QUERY_CONFIG, + &service_name + ); if (hService == NULL) - goto error; + return NULL; // First call to QueryServiceConfigW() is necessary to get the // right size. @@ -214,9 +256,15 @@ psutil_winservice_query_config(PyObject *self, PyObject *args) { psutil_PyErr_SetFromOSErrnoWithSyscall("QueryServiceConfigW"); goto error; } + qsc = (QUERY_SERVICE_CONFIGW *)malloc(bytesNeeded); + if (qsc == NULL) { + PyErr_NoMemory(); + goto error; + } + ok = QueryServiceConfigW(hService, qsc, bytesNeeded, &bytesNeeded); - if (ok == 0) { + if (!ok) { psutil_PyErr_SetFromOSErrnoWithSyscall("QueryServiceConfigW"); goto error; } @@ -256,6 +304,7 @@ psutil_winservice_query_config(PyObject *self, PyObject *args) { Py_DECREF(py_unicode_username); free(qsc); CloseServiceHandle(hService); + PyMem_Free(service_name); return py_tuple; error: @@ -263,10 +312,12 @@ error: Py_XDECREF(py_unicode_binpath); Py_XDECREF(py_unicode_username); Py_XDECREF(py_tuple); - if (hService != NULL) + if (hService) CloseServiceHandle(hService); - if (qsc != NULL) + if (qsc) free(qsc); + if (service_name) + PyMem_Free(service_name); return NULL; } @@ -278,19 +329,21 @@ error: */ PyObject * psutil_winservice_query_status(PyObject *self, PyObject *args) { - char *service_name; + wchar_t *service_name = NULL; SC_HANDLE hService = NULL; BOOL ok; DWORD bytesNeeded = 0; - SERVICE_STATUS_PROCESS *ssp = NULL; + SERVICE_STATUS_PROCESS *ssp = NULL; PyObject *py_tuple = NULL; - if (!PyArg_ParseTuple(args, "s", &service_name)) - return NULL; - hService = psutil_get_service_handler( - service_name, SC_MANAGER_ENUMERATE_SERVICE, SERVICE_QUERY_STATUS); + hService = psutil_get_service_from_args( + args, + SC_MANAGER_ENUMERATE_SERVICE, + SERVICE_QUERY_STATUS, + &service_name + ); if (hService == NULL) - goto error; + return NULL; // First call to QueryServiceStatusEx() is necessary to get the // right size. @@ -300,14 +353,15 @@ psutil_winservice_query_status(PyObject *self, PyObject *args) { // Also services.msc fails in the same manner, so we return an // empty string. CloseServiceHandle(hService); + PyMem_Free(service_name); return Py_BuildValue("s", ""); } if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) { psutil_PyErr_SetFromOSErrnoWithSyscall("QueryServiceStatusEx"); goto error; } - ssp = (SERVICE_STATUS_PROCESS *)HeapAlloc( - GetProcessHeap(), 0, bytesNeeded); + + ssp = (SERVICE_STATUS_PROCESS *)HeapAlloc(GetProcessHeap(), 0, bytesNeeded); if (ssp == NULL) { PyErr_NoMemory(); goto error; @@ -316,7 +370,7 @@ psutil_winservice_query_status(PyObject *self, PyObject *args) { // Actual call. ok = QueryServiceStatusEx(hService, SC_STATUS_PROCESS_INFO, (LPBYTE)ssp, bytesNeeded, &bytesNeeded); - if (ok == 0) { + if (!ok) { psutil_PyErr_SetFromOSErrnoWithSyscall("QueryServiceStatusEx"); goto error; } @@ -331,58 +385,65 @@ psutil_winservice_query_status(PyObject *self, PyObject *args) { CloseServiceHandle(hService); HeapFree(GetProcessHeap(), 0, ssp); + PyMem_Free(service_name); return py_tuple; error: Py_XDECREF(py_tuple); - if (hService != NULL) + if (hService) CloseServiceHandle(hService); - if (ssp != NULL) + if (ssp) HeapFree(GetProcessHeap(), 0, ssp); + if (service_name) + PyMem_Free(service_name); return NULL; } - -/* - * Get service description. - */ PyObject * psutil_winservice_query_descr(PyObject *self, PyObject *args) { - ENUM_SERVICE_STATUS_PROCESSW *lpService = NULL; BOOL ok; DWORD bytesNeeded = 0; SC_HANDLE hService = NULL; SERVICE_DESCRIPTIONW *scd = NULL; - char *service_name; + wchar_t *service_name = NULL; PyObject *py_retstr = NULL; - if (!PyArg_ParseTuple(args, "s", &service_name)) - return NULL; - hService = psutil_get_service_handler( - service_name, SC_MANAGER_ENUMERATE_SERVICE, SERVICE_QUERY_CONFIG); + hService = psutil_get_service_from_args( + args, + SC_MANAGER_ENUMERATE_SERVICE, + SERVICE_QUERY_CONFIG, + &service_name + ); if (hService == NULL) - goto error; + return NULL; - // This first call to QueryServiceConfig2W() is necessary in order - // to get the right size. - bytesNeeded = 0; - QueryServiceConfig2W(hService, SERVICE_CONFIG_DESCRIPTION, NULL, 0, - &bytesNeeded); - if (GetLastError() == ERROR_MUI_FILE_NOT_FOUND) { - // Also services.msc fails in the same manner, so we return an + QueryServiceConfig2W(hService, SERVICE_CONFIG_DESCRIPTION, NULL, 0, &bytesNeeded); + + if ((GetLastError() == ERROR_NOT_FOUND) || + (GetLastError() == ERROR_MUI_FILE_NOT_FOUND)) + { + // E.g. services.msc fails in this manner, so we return an // empty string. + psutil_debug("set empty string for NOT_FOUND service description"); CloseServiceHandle(hService); + PyMem_Free(service_name); return Py_BuildValue("s", ""); } + if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) { psutil_PyErr_SetFromOSErrnoWithSyscall("QueryServiceConfig2W"); goto error; } scd = (SERVICE_DESCRIPTIONW *)malloc(bytesNeeded); + if (scd == NULL) { + PyErr_NoMemory(); + goto error; + } + ok = QueryServiceConfig2W(hService, SERVICE_CONFIG_DESCRIPTION, (LPBYTE)scd, bytesNeeded, &bytesNeeded); - if (ok == 0) { + if (!ok) { psutil_PyErr_SetFromOSErrnoWithSyscall("QueryServiceConfig2W"); goto error; } @@ -392,20 +453,24 @@ psutil_winservice_query_descr(PyObject *self, PyObject *args) { } else { py_retstr = PyUnicode_FromWideChar( - scd->lpDescription, wcslen(scd->lpDescription)); + scd->lpDescription, wcslen(scd->lpDescription)); } + if (!py_retstr) goto error; free(scd); CloseServiceHandle(hService); + PyMem_Free(service_name); return py_retstr; error: - if (hService != NULL) + if (hService) CloseServiceHandle(hService); - if (lpService != NULL) - free(lpService); + if (scd) + free(scd); + if (service_name) + PyMem_Free(service_name); return NULL; } @@ -416,29 +481,34 @@ error: */ PyObject * psutil_winservice_start(PyObject *self, PyObject *args) { - char *service_name; BOOL ok; SC_HANDLE hService = NULL; + wchar_t *service_name = NULL; - if (!PyArg_ParseTuple(args, "s", &service_name)) + hService = psutil_get_service_from_args( + args, + SC_MANAGER_ALL_ACCESS, + SERVICE_START, + &service_name + ); + if (hService == NULL) return NULL; - hService = psutil_get_service_handler( - service_name, SC_MANAGER_ALL_ACCESS, SERVICE_START); - if (hService == NULL) { - goto error; - } + ok = StartService(hService, 0, NULL); - if (ok == 0) { + if (!ok) { psutil_PyErr_SetFromOSErrnoWithSyscall("StartService"); goto error; } CloseServiceHandle(hService); + PyMem_Free(service_name); Py_RETURN_NONE; error: - if (hService != NULL) + if (hService) CloseServiceHandle(hService); + if (service_name) + PyMem_Free(service_name); return NULL; } @@ -449,32 +519,37 @@ error: */ PyObject * psutil_winservice_stop(PyObject *self, PyObject *args) { - char *service_name; + wchar_t *service_name = NULL; BOOL ok; SC_HANDLE hService = NULL; SERVICE_STATUS ssp; - if (!PyArg_ParseTuple(args, "s", &service_name)) - return NULL; - hService = psutil_get_service_handler( - service_name, SC_MANAGER_ALL_ACCESS, SERVICE_STOP); + hService = psutil_get_service_from_args( + args, + SC_MANAGER_ALL_ACCESS, + SERVICE_STOP, + &service_name + ); if (hService == NULL) - goto error; + return NULL; // Note: this can hang for 30 secs. Py_BEGIN_ALLOW_THREADS ok = ControlService(hService, SERVICE_CONTROL_STOP, &ssp); Py_END_ALLOW_THREADS - if (ok == 0) { + if (!ok) { psutil_PyErr_SetFromOSErrnoWithSyscall("ControlService"); goto error; } CloseServiceHandle(hService); + PyMem_Free(service_name); Py_RETURN_NONE; error: - if (hService != NULL) + if (hService) CloseServiceHandle(hService); + if (service_name) + PyMem_Free(service_name); return NULL; } diff --git a/contrib/python/psutil/py3/psutil/arch/windows/services.h b/contrib/python/psutil/py3/psutil/arch/windows/services.h deleted file mode 100644 index ebcfa5ef590..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/services.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> -#include <Winsvc.h> - -SC_HANDLE psutil_get_service_handle( - char service_name, DWORD scm_access, DWORD access); -PyObject *psutil_winservice_enumerate(PyObject *self, PyObject *args); -PyObject *psutil_winservice_query_config(PyObject *self, PyObject *args); -PyObject *psutil_winservice_query_status(PyObject *self, PyObject *args); -PyObject *psutil_winservice_query_descr(PyObject *self, PyObject *args); -PyObject *psutil_winservice_start(PyObject *self, PyObject *args); -PyObject *psutil_winservice_stop(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/socks.c b/contrib/python/psutil/py3/psutil/arch/windows/socks.c index 0dc77f2d9de..09bee6820b3 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/socks.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/socks.c @@ -11,40 +11,29 @@ #include <windows.h> #include <ws2tcpip.h> -#include "../../_psutil_common.h" -#include "proc_utils.h" +#include "../../arch/all/init.h" #define BYTESWAP_USHORT(x) ((((USHORT)(x) << 8) | ((USHORT)(x) >> 8)) & 0xffff) #define STATUS_UNSUCCESSFUL 0xC0000001 -ULONG g_TcpTableSize = 0; -ULONG g_UdpTableSize = 0; - - // Note about GetExtended[Tcp|Udp]Table syscalls: due to other processes // being active on the machine, it's possible that the size of the table // increases between the moment we query the size and the moment we query // the data. Therefore we retry if that happens. See: // https://github.com/giampaolo/psutil/pull/1335 // https://github.com/giampaolo/psutil/issues/1294 -// A global and ever increasing size is used in order to avoid calling -// GetExtended[Tcp|Udp]Table twice per call (faster). static PVOID __GetExtendedTcpTable(ULONG family) { DWORD err; PVOID table; - ULONG size; + ULONG size = 0; TCP_TABLE_CLASS class = TCP_TABLE_OWNER_PID_ALL; - size = g_TcpTableSize; - if (size == 0) { - GetExtendedTcpTable(NULL, &size, FALSE, family, class, 0); - // reserve 25% more space - size = size + (size / 2 / 2); - g_TcpTableSize = size; - } + GetExtendedTcpTable(NULL, &size, FALSE, family, class, 0); + // reserve 25% more space to be sure + size = size + (size / 2 / 2); table = malloc(size); if (table == NULL) { @@ -59,7 +48,6 @@ static PVOID __GetExtendedTcpTable(ULONG family) { free(table); if (err == ERROR_INSUFFICIENT_BUFFER || err == STATUS_UNSUCCESSFUL) { psutil_debug("GetExtendedTcpTable: retry with different bufsize"); - g_TcpTableSize = 0; return __GetExtendedTcpTable(family); } @@ -71,16 +59,12 @@ static PVOID __GetExtendedTcpTable(ULONG family) { static PVOID __GetExtendedUdpTable(ULONG family) { DWORD err; PVOID table; - ULONG size; + ULONG size = 0; UDP_TABLE_CLASS class = UDP_TABLE_OWNER_PID; - size = g_UdpTableSize; - if (size == 0) { - GetExtendedUdpTable(NULL, &size, FALSE, family, class, 0); - // reserve 25% more space - size = size + (size / 2 / 2); - g_UdpTableSize = size; - } + GetExtendedUdpTable(NULL, &size, FALSE, family, class, 0); + // reserve 25% more space + size = size + (size / 2 / 2); table = malloc(size); if (table == NULL) { @@ -95,7 +79,6 @@ static PVOID __GetExtendedUdpTable(ULONG family) { free(table); if (err == ERROR_INSUFFICIENT_BUFFER || err == STATUS_UNSUCCESSFUL) { psutil_debug("GetExtendedUdpTable: retry with different bufsize"); - g_UdpTableSize = 0; return __GetExtendedUdpTable(family); } diff --git a/contrib/python/psutil/py3/psutil/arch/windows/socks.h b/contrib/python/psutil/py3/psutil/arch/windows/socks.h deleted file mode 100644 index cd9ba58dcbc..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/socks.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright (c) 2009, Giampaolo Rodola', Jeff Tang. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_net_connections(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/sys.c b/contrib/python/psutil/py3/psutil/arch/windows/sys.c index ada684f6f91..597b78d0b0e 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/sys.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/sys.c @@ -17,20 +17,27 @@ history before the move: #include <windows.h> #include "ntextapi.h" -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" -// Return a Python float representing the system uptime expressed in -// seconds since the epoch. +// The number of seconds passed since boot. This is a monotonic timer, +// not affected by system clock updates. On Windows 7+ it also includes +// the time spent during suspend / hybernate. PyObject * -psutil_boot_time(PyObject *self, PyObject *args) { - ULONGLONG upTime; - FILETIME fileTime; - - GetSystemTimeAsFileTime(&fileTime); - // Number of milliseconds that have elapsed since the system was started. - upTime = GetTickCount64() / 1000ull; - return Py_BuildValue("d", psutil_FiletimeToUnixTime(fileTime) - upTime); +psutil_uptime(PyObject *self, PyObject *args) { + double uptimeSeconds; + ULONGLONG interruptTime100ns = 0; + + if (QueryInterruptTime) { // Windows 7+ + QueryInterruptTime(&interruptTime100ns); + // Convert from 100-nanosecond to seconds. + uptimeSeconds = interruptTime100ns / 10000000.0; + } + else { + // Convert from milliseconds to seconds. + uptimeSeconds = (double)GetTickCount64() / 1000.0; + } + return Py_BuildValue("d", uptimeSeconds); } diff --git a/contrib/python/psutil/py3/psutil/arch/windows/sys.h b/contrib/python/psutil/py3/psutil/arch/windows/sys.h deleted file mode 100644 index 344ca21d42c..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/sys.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject *psutil_boot_time(PyObject *self, PyObject *args); -PyObject *psutil_users(PyObject *self, PyObject *args); diff --git a/contrib/python/psutil/py3/psutil/arch/windows/wmi.c b/contrib/python/psutil/py3/psutil/arch/windows/wmi.c index 2cf7e8a59b0..04ba3ee4c59 100644 --- a/contrib/python/psutil/py3/psutil/arch/windows/wmi.c +++ b/contrib/python/psutil/py3/psutil/arch/windows/wmi.c @@ -10,7 +10,7 @@ #include <windows.h> #include <pdh.h> -#include "../../_psutil_common.h" +#include "../../arch/all/init.h" // We use an exponentially weighted moving average, just like Unix systems do @@ -31,6 +31,15 @@ double load_avg_1m = 0; double load_avg_5m = 0; double load_avg_15m = 0; +#ifdef Py_GIL_DISABLED + static PyMutex mutex; + #define MUTEX_LOCK(m) PyMutex_Lock(m) + #define MUTEX_UNLOCK(m) PyMutex_Unlock(m) +#else + #define MUTEX_LOCK(m) + #define MUTEX_UNLOCK(m) +#endif + VOID CALLBACK LoadAvgCallback(PVOID hCounter, BOOLEAN timedOut) { PDH_FMT_COUNTERVALUE displayValue; @@ -45,12 +54,14 @@ VOID CALLBACK LoadAvgCallback(PVOID hCounter, BOOLEAN timedOut) { } currentLoad = displayValue.doubleValue; + MUTEX_LOCK(&mutex); load_avg_1m = load_avg_1m * LOADAVG_FACTOR_1F + currentLoad * \ (1.0 - LOADAVG_FACTOR_1F); load_avg_5m = load_avg_5m * LOADAVG_FACTOR_5F + currentLoad * \ (1.0 - LOADAVG_FACTOR_5F); load_avg_15m = load_avg_15m * LOADAVG_FACTOR_15F + currentLoad * \ (1.0 - LOADAVG_FACTOR_15F); + MUTEX_UNLOCK(&mutex); } @@ -116,5 +127,10 @@ psutil_init_loadavg_counter(PyObject *self, PyObject *args) { */ PyObject * psutil_get_loadavg(PyObject *self, PyObject *args) { - return Py_BuildValue("(ddd)", load_avg_1m, load_avg_5m, load_avg_15m); + MUTEX_LOCK(&mutex); + double load_avg_1m_l = load_avg_1m; + double load_avg_5m_l = load_avg_5m; + double load_avg_15m_l = load_avg_15m; + MUTEX_UNLOCK(&mutex); + return Py_BuildValue("(ddd)", load_avg_1m_l, load_avg_5m_l, load_avg_15m_l); } diff --git a/contrib/python/psutil/py3/psutil/arch/windows/wmi.h b/contrib/python/psutil/py3/psutil/arch/windows/wmi.h deleted file mode 100644 index 311242a393d..00000000000 --- a/contrib/python/psutil/py3/psutil/arch/windows/wmi.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright (c) 2009 Giampaolo Rodola'. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <Python.h> - -PyObject* psutil_init_loadavg_counter(); -PyObject* psutil_get_loadavg(); diff --git a/contrib/python/psutil/py3/ya.make b/contrib/python/psutil/py3/ya.make index fd48170ac2b..972033716ab 100644 --- a/contrib/python/psutil/py3/ya.make +++ b/contrib/python/psutil/py3/ya.make @@ -2,7 +2,7 @@ PY3_LIBRARY() -VERSION(7.0.0) +VERSION(7.1.2) LICENSE(BSD-3-Clause) @@ -27,11 +27,12 @@ NO_CHECK_IMPORTS( NO_UTIL() CFLAGS( - -DPSUTIL_VERSION=700 + -DPSUTIL_VERSION=712 ) SRCS( - psutil/_psutil_common.c + psutil/arch/all/init.c + psutil/arch/all/pids.c ) IF (OS_LINUX) @@ -42,17 +43,19 @@ IF (OS_LINUX) SRCS( psutil/_psutil_linux.c - psutil/_psutil_posix.c psutil/arch/linux/disk.c psutil/arch/linux/mem.c psutil/arch/linux/net.c psutil/arch/linux/proc.c - psutil/arch/linux/users.c + psutil/arch/posix/init.c + psutil/arch/posix/net.c + psutil/arch/posix/proc.c + psutil/arch/posix/sysctl.c + psutil/arch/posix/users.c ) PY_REGISTER( psutil._psutil_linux - psutil._psutil_posix ) ENDIF() @@ -69,19 +72,24 @@ IF (OS_DARWIN) SRCS( psutil/_psutil_osx.c - psutil/_psutil_posix.c psutil/arch/osx/cpu.c psutil/arch/osx/disk.c + psutil/arch/osx/init.c psutil/arch/osx/mem.c psutil/arch/osx/net.c + psutil/arch/osx/pids.c psutil/arch/osx/proc.c psutil/arch/osx/sensors.c psutil/arch/osx/sys.c + psutil/arch/posix/init.c + psutil/arch/posix/net.c + psutil/arch/posix/proc.c + psutil/arch/posix/sysctl.c + psutil/arch/posix/users.c ) PY_REGISTER( psutil._psutil_osx - psutil._psutil_posix ) ENDIF() @@ -89,6 +97,7 @@ IF (OS_WINDOWS) CFLAGS( -DPSUTIL_WINDOWS=1 -DPSUTIL_SIZEOF_PID_T=4 + -DPSUTIL_MAYBE_EXTERN=extern ) LDFLAGS( @@ -102,8 +111,10 @@ IF (OS_WINDOWS) psutil/_psutil_windows.c psutil/arch/windows/cpu.c psutil/arch/windows/disk.c + psutil/arch/windows/init.c psutil/arch/windows/mem.c psutil/arch/windows/net.c + psutil/arch/windows/pids.c psutil/arch/windows/proc.c psutil/arch/windows/proc_handles.c psutil/arch/windows/proc_info.c |
