Mingke977 commited on
Commit
29f8576
·
verified ·
1 Parent(s): 0efecce

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/INSTALLER +1 -0
  2. venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/METADATA +320 -0
  3. venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/RECORD +327 -0
  4. venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/REQUESTED +0 -0
  5. venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/WHEEL +5 -0
  6. venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/entry_points.txt +6 -0
  7. venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/licenses/LICENSE +201 -0
  8. venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/top_level.txt +1 -0
  9. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_dotenv.cpython-310.pyc +0 -0
  10. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_fixes.cpython-310.pyc +0 -0
  11. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_git_credential.cpython-310.pyc +0 -0
  12. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_headers.cpython-310.pyc +0 -0
  13. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_http.cpython-310.pyc +0 -0
  14. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_lfs.cpython-310.pyc +0 -0
  15. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_pagination.cpython-310.pyc +0 -0
  16. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_parsing.cpython-310.pyc +0 -0
  17. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_paths.cpython-310.pyc +0 -0
  18. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_runtime.cpython-310.pyc +0 -0
  19. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_safetensors.cpython-310.pyc +0 -0
  20. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_subprocess.cpython-310.pyc +0 -0
  21. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_telemetry.cpython-310.pyc +0 -0
  22. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_terminal.cpython-310.pyc +0 -0
  23. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_typing.cpython-310.pyc +0 -0
  24. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_validators.cpython-310.pyc +0 -0
  25. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_verification.cpython-310.pyc +0 -0
  26. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_xet.cpython-310.pyc +0 -0
  27. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_xet_progress_reporting.cpython-310.pyc +0 -0
  28. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/endpoint_helpers.cpython-310.pyc +0 -0
  29. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/insecure_hashlib.cpython-310.pyc +0 -0
  30. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/logging.cpython-310.pyc +0 -0
  31. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/sha.cpython-310.pyc +0 -0
  32. venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/tqdm.cpython-310.pyc +0 -0
  33. venv/lib/python3.10/site-packages/idna-3.11.dist-info/INSTALLER +1 -0
  34. venv/lib/python3.10/site-packages/idna-3.11.dist-info/METADATA +209 -0
  35. venv/lib/python3.10/site-packages/idna-3.11.dist-info/RECORD +22 -0
  36. venv/lib/python3.10/site-packages/idna-3.11.dist-info/WHEEL +4 -0
  37. venv/lib/python3.10/site-packages/idna-3.11.dist-info/licenses/LICENSE.md +31 -0
  38. venv/lib/python3.10/site-packages/idna/__init__.py +45 -0
  39. venv/lib/python3.10/site-packages/idna/__pycache__/__init__.cpython-310.pyc +0 -0
  40. venv/lib/python3.10/site-packages/idna/__pycache__/codec.cpython-310.pyc +0 -0
  41. venv/lib/python3.10/site-packages/idna/__pycache__/compat.cpython-310.pyc +0 -0
  42. venv/lib/python3.10/site-packages/idna/__pycache__/core.cpython-310.pyc +0 -0
  43. venv/lib/python3.10/site-packages/idna/__pycache__/intranges.cpython-310.pyc +0 -0
  44. venv/lib/python3.10/site-packages/idna/__pycache__/package_data.cpython-310.pyc +0 -0
  45. venv/lib/python3.10/site-packages/idna/codec.py +122 -0
  46. venv/lib/python3.10/site-packages/idna/compat.py +15 -0
  47. venv/lib/python3.10/site-packages/idna/core.py +437 -0
  48. venv/lib/python3.10/site-packages/idna/idnadata.py +4309 -0
  49. venv/lib/python3.10/site-packages/idna/intranges.py +57 -0
  50. venv/lib/python3.10/site-packages/idna/package_data.py +1 -0
venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/INSTALLER ADDED
@@ -0,0 +1 @@
 
 
1
+ pip
venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/METADATA ADDED
@@ -0,0 +1,320 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Metadata-Version: 2.4
2
+ Name: huggingface_hub
3
+ Version: 1.4.1
4
+ Summary: Client library to download and publish models, datasets and other repos on the huggingface.co hub
5
+ Home-page: https://github.com/huggingface/huggingface_hub
6
+ Author: Hugging Face, Inc.
7
+ Author-email: julien@huggingface.co
8
+ License: Apache
9
+ Keywords: model-hub machine-learning models natural-language-processing deep-learning pytorch pretrained-models
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Intended Audience :: Education
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: License :: OSI Approved :: Apache Software License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3 :: Only
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
23
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
24
+ Requires-Python: >=3.9.0
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Requires-Dist: filelock
28
+ Requires-Dist: fsspec>=2023.5.0
29
+ Requires-Dist: hf-xet<2.0.0,>=1.2.0; platform_machine == "x86_64" or platform_machine == "amd64" or platform_machine == "AMD64" or platform_machine == "arm64" or platform_machine == "aarch64"
30
+ Requires-Dist: httpx<1,>=0.23.0
31
+ Requires-Dist: packaging>=20.9
32
+ Requires-Dist: pyyaml>=5.1
33
+ Requires-Dist: shellingham
34
+ Requires-Dist: tqdm>=4.42.1
35
+ Requires-Dist: typer-slim
36
+ Requires-Dist: typing-extensions>=4.1.0
37
+ Provides-Extra: oauth
38
+ Requires-Dist: authlib>=1.3.2; extra == "oauth"
39
+ Requires-Dist: fastapi; extra == "oauth"
40
+ Requires-Dist: httpx; extra == "oauth"
41
+ Requires-Dist: itsdangerous; extra == "oauth"
42
+ Provides-Extra: torch
43
+ Requires-Dist: torch; extra == "torch"
44
+ Requires-Dist: safetensors[torch]; extra == "torch"
45
+ Provides-Extra: fastai
46
+ Requires-Dist: toml; extra == "fastai"
47
+ Requires-Dist: fastai>=2.4; extra == "fastai"
48
+ Requires-Dist: fastcore>=1.3.27; extra == "fastai"
49
+ Provides-Extra: hf-xet
50
+ Requires-Dist: hf-xet<2.0.0,>=1.2.0; extra == "hf-xet"
51
+ Provides-Extra: mcp
52
+ Requires-Dist: mcp>=1.8.0; extra == "mcp"
53
+ Provides-Extra: testing
54
+ Requires-Dist: authlib>=1.3.2; extra == "testing"
55
+ Requires-Dist: fastapi; extra == "testing"
56
+ Requires-Dist: httpx; extra == "testing"
57
+ Requires-Dist: itsdangerous; extra == "testing"
58
+ Requires-Dist: jedi; extra == "testing"
59
+ Requires-Dist: Jinja2; extra == "testing"
60
+ Requires-Dist: pytest>=8.4.2; extra == "testing"
61
+ Requires-Dist: pytest-cov; extra == "testing"
62
+ Requires-Dist: pytest-env; extra == "testing"
63
+ Requires-Dist: pytest-xdist; extra == "testing"
64
+ Requires-Dist: pytest-vcr; extra == "testing"
65
+ Requires-Dist: pytest-asyncio; extra == "testing"
66
+ Requires-Dist: pytest-rerunfailures<16.0; extra == "testing"
67
+ Requires-Dist: pytest-mock; extra == "testing"
68
+ Requires-Dist: urllib3<2.0; extra == "testing"
69
+ Requires-Dist: soundfile; extra == "testing"
70
+ Requires-Dist: Pillow; extra == "testing"
71
+ Requires-Dist: numpy; extra == "testing"
72
+ Requires-Dist: fastapi; extra == "testing"
73
+ Provides-Extra: typing
74
+ Requires-Dist: typing-extensions>=4.8.0; extra == "typing"
75
+ Requires-Dist: types-PyYAML; extra == "typing"
76
+ Requires-Dist: types-simplejson; extra == "typing"
77
+ Requires-Dist: types-toml; extra == "typing"
78
+ Requires-Dist: types-tqdm; extra == "typing"
79
+ Requires-Dist: types-urllib3; extra == "typing"
80
+ Provides-Extra: quality
81
+ Requires-Dist: ruff>=0.9.0; extra == "quality"
82
+ Requires-Dist: mypy==1.15.0; extra == "quality"
83
+ Requires-Dist: libcst>=1.4.0; extra == "quality"
84
+ Requires-Dist: ty; extra == "quality"
85
+ Provides-Extra: all
86
+ Requires-Dist: authlib>=1.3.2; extra == "all"
87
+ Requires-Dist: fastapi; extra == "all"
88
+ Requires-Dist: httpx; extra == "all"
89
+ Requires-Dist: itsdangerous; extra == "all"
90
+ Requires-Dist: jedi; extra == "all"
91
+ Requires-Dist: Jinja2; extra == "all"
92
+ Requires-Dist: pytest>=8.4.2; extra == "all"
93
+ Requires-Dist: pytest-cov; extra == "all"
94
+ Requires-Dist: pytest-env; extra == "all"
95
+ Requires-Dist: pytest-xdist; extra == "all"
96
+ Requires-Dist: pytest-vcr; extra == "all"
97
+ Requires-Dist: pytest-asyncio; extra == "all"
98
+ Requires-Dist: pytest-rerunfailures<16.0; extra == "all"
99
+ Requires-Dist: pytest-mock; extra == "all"
100
+ Requires-Dist: urllib3<2.0; extra == "all"
101
+ Requires-Dist: soundfile; extra == "all"
102
+ Requires-Dist: Pillow; extra == "all"
103
+ Requires-Dist: numpy; extra == "all"
104
+ Requires-Dist: fastapi; extra == "all"
105
+ Requires-Dist: ruff>=0.9.0; extra == "all"
106
+ Requires-Dist: mypy==1.15.0; extra == "all"
107
+ Requires-Dist: libcst>=1.4.0; extra == "all"
108
+ Requires-Dist: ty; extra == "all"
109
+ Requires-Dist: typing-extensions>=4.8.0; extra == "all"
110
+ Requires-Dist: types-PyYAML; extra == "all"
111
+ Requires-Dist: types-simplejson; extra == "all"
112
+ Requires-Dist: types-toml; extra == "all"
113
+ Requires-Dist: types-tqdm; extra == "all"
114
+ Requires-Dist: types-urllib3; extra == "all"
115
+ Provides-Extra: dev
116
+ Requires-Dist: authlib>=1.3.2; extra == "dev"
117
+ Requires-Dist: fastapi; extra == "dev"
118
+ Requires-Dist: httpx; extra == "dev"
119
+ Requires-Dist: itsdangerous; extra == "dev"
120
+ Requires-Dist: jedi; extra == "dev"
121
+ Requires-Dist: Jinja2; extra == "dev"
122
+ Requires-Dist: pytest>=8.4.2; extra == "dev"
123
+ Requires-Dist: pytest-cov; extra == "dev"
124
+ Requires-Dist: pytest-env; extra == "dev"
125
+ Requires-Dist: pytest-xdist; extra == "dev"
126
+ Requires-Dist: pytest-vcr; extra == "dev"
127
+ Requires-Dist: pytest-asyncio; extra == "dev"
128
+ Requires-Dist: pytest-rerunfailures<16.0; extra == "dev"
129
+ Requires-Dist: pytest-mock; extra == "dev"
130
+ Requires-Dist: urllib3<2.0; extra == "dev"
131
+ Requires-Dist: soundfile; extra == "dev"
132
+ Requires-Dist: Pillow; extra == "dev"
133
+ Requires-Dist: numpy; extra == "dev"
134
+ Requires-Dist: fastapi; extra == "dev"
135
+ Requires-Dist: ruff>=0.9.0; extra == "dev"
136
+ Requires-Dist: mypy==1.15.0; extra == "dev"
137
+ Requires-Dist: libcst>=1.4.0; extra == "dev"
138
+ Requires-Dist: ty; extra == "dev"
139
+ Requires-Dist: typing-extensions>=4.8.0; extra == "dev"
140
+ Requires-Dist: types-PyYAML; extra == "dev"
141
+ Requires-Dist: types-simplejson; extra == "dev"
142
+ Requires-Dist: types-toml; extra == "dev"
143
+ Requires-Dist: types-tqdm; extra == "dev"
144
+ Requires-Dist: types-urllib3; extra == "dev"
145
+ Dynamic: author
146
+ Dynamic: author-email
147
+ Dynamic: classifier
148
+ Dynamic: description
149
+ Dynamic: description-content-type
150
+ Dynamic: home-page
151
+ Dynamic: keywords
152
+ Dynamic: license
153
+ Dynamic: license-file
154
+ Dynamic: provides-extra
155
+ Dynamic: requires-dist
156
+ Dynamic: requires-python
157
+ Dynamic: summary
158
+
159
+ <p align="center">
160
+ <picture>
161
+ <source media="(prefers-color-scheme: dark)" srcset="https://huggingface.co/datasets/huggingface/documentation-images/raw/main/huggingface_hub-dark.svg">
162
+ <source media="(prefers-color-scheme: light)" srcset="https://huggingface.co/datasets/huggingface/documentation-images/raw/main/huggingface_hub.svg">
163
+ <img alt="huggingface_hub library logo" src="https://huggingface.co/datasets/huggingface/documentation-images/raw/main/huggingface_hub.svg" width="352" height="59" style="max-width: 100%">
164
+ </picture>
165
+ <br/>
166
+ <br/>
167
+ </p>
168
+
169
+ <p align="center">
170
+ <i>The official Python client for the Huggingface Hub.</i>
171
+ </p>
172
+
173
+ <p align="center">
174
+ <a href="https://huggingface.co/docs/huggingface_hub/en/index"><img alt="Documentation" src="https://img.shields.io/website/http/huggingface.co/docs/huggingface_hub/index.svg?down_color=red&down_message=offline&up_message=online&label=doc"></a>
175
+ <a href="https://github.com/huggingface/huggingface_hub/releases"><img alt="GitHub release" src="https://img.shields.io/github/release/huggingface/huggingface_hub.svg"></a>
176
+ <a href="https://github.com/huggingface/huggingface_hub"><img alt="PyPi version" src="https://img.shields.io/pypi/pyversions/huggingface_hub.svg"></a>
177
+ <a href="https://pypi.org/project/huggingface-hub"><img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/huggingface_hub"></a>
178
+ <a href="https://codecov.io/gh/huggingface/huggingface_hub"><img alt="Code coverage" src="https://codecov.io/gh/huggingface/huggingface_hub/branch/main/graph/badge.svg?token=RXP95LE2XL"></a>
179
+ </p>
180
+
181
+ <h4 align="center">
182
+ <p>
183
+ <b>English</b> |
184
+ <a href="https://github.com/huggingface/huggingface_hub/blob/main/i18n/README_de.md">Deutsch</a> |
185
+ <a href="https://github.com/huggingface/huggingface_hub/blob/main/i18n/README_fr.md">Français</a> |
186
+ <a href="https://github.com/huggingface/huggingface_hub/blob/main/i18n/README_hi.md">हिंदी</a> |
187
+ <a href="https://github.com/huggingface/huggingface_hub/blob/main/i18n/README_ko.md">한국어</a> |
188
+ <a href="https://github.com/huggingface/huggingface_hub/blob/main/i18n/README_cn.md">中文 (简体)</a>
189
+ <p>
190
+ </h4>
191
+
192
+ ---
193
+
194
+ **Documentation**: <a href="https://hf.co/docs/huggingface_hub" target="_blank">https://hf.co/docs/huggingface_hub</a>
195
+
196
+ **Source Code**: <a href="https://github.com/huggingface/huggingface_hub" target="_blank">https://github.com/huggingface/huggingface_hub</a>
197
+
198
+ ---
199
+
200
+ ## Welcome to the huggingface_hub library
201
+
202
+ The `huggingface_hub` library allows you to interact with the [Hugging Face Hub](https://huggingface.co/), a platform democratizing open-source Machine Learning for creators and collaborators. Discover pre-trained models and datasets for your projects or play with the thousands of machine learning apps hosted on the Hub. You can also create and share your own models, datasets and demos with the community. The `huggingface_hub` library provides a simple way to do all these things with Python.
203
+
204
+ ## Key features
205
+
206
+ - [Download files](https://huggingface.co/docs/huggingface_hub/en/guides/download) from the Hub.
207
+ - [Upload files](https://huggingface.co/docs/huggingface_hub/en/guides/upload) to the Hub.
208
+ - [Manage your repositories](https://huggingface.co/docs/huggingface_hub/en/guides/repository).
209
+ - [Run Inference](https://huggingface.co/docs/huggingface_hub/en/guides/inference) on deployed models.
210
+ - [Search](https://huggingface.co/docs/huggingface_hub/en/guides/search) for models, datasets and Spaces.
211
+ - [Share Model Cards](https://huggingface.co/docs/huggingface_hub/en/guides/model-cards) to document your models.
212
+ - [Engage with the community](https://huggingface.co/docs/huggingface_hub/en/guides/community) through PRs and comments.
213
+
214
+ ## Installation
215
+
216
+ Install the `huggingface_hub` package with [pip](https://pypi.org/project/huggingface-hub/):
217
+
218
+ ```bash
219
+ pip install huggingface_hub
220
+ ```
221
+
222
+ If you prefer, you can also install it with [conda](https://huggingface.co/docs/huggingface_hub/en/installation#install-with-conda).
223
+
224
+ In order to keep the package minimal by default, `huggingface_hub` comes with optional dependencies useful for some use cases. For example, if you want to use the MCP module, run:
225
+
226
+ ```bash
227
+ pip install "huggingface_hub[mcp]"
228
+ ```
229
+
230
+ To learn more installation and optional dependencies, check out the [installation guide](https://huggingface.co/docs/huggingface_hub/en/installation).
231
+
232
+ ## Quick start
233
+
234
+ ### Download files
235
+
236
+ Download a single file
237
+
238
+ ```py
239
+ from huggingface_hub import hf_hub_download
240
+
241
+ hf_hub_download(repo_id="tiiuae/falcon-7b-instruct", filename="config.json")
242
+ ```
243
+
244
+ Or an entire repository
245
+
246
+ ```py
247
+ from huggingface_hub import snapshot_download
248
+
249
+ snapshot_download("stabilityai/stable-diffusion-2-1")
250
+ ```
251
+
252
+ Files will be downloaded in a local cache folder. More details in [this guide](https://huggingface.co/docs/huggingface_hub/en/guides/manage-cache).
253
+
254
+ ### Login
255
+
256
+ The Hugging Face Hub uses tokens to authenticate applications (see [docs](https://huggingface.co/docs/hub/security-tokens)). To log in your machine, run the following CLI:
257
+
258
+ ```bash
259
+ hf auth login
260
+ # or using an environment variable
261
+ hf auth login --token $HUGGINGFACE_TOKEN
262
+ ```
263
+
264
+ ### Create a repository
265
+
266
+ ```py
267
+ from huggingface_hub import create_repo
268
+
269
+ create_repo(repo_id="super-cool-model")
270
+ ```
271
+
272
+ ### Upload files
273
+
274
+ Upload a single file
275
+
276
+ ```py
277
+ from huggingface_hub import upload_file
278
+
279
+ upload_file(
280
+ path_or_fileobj="/home/lysandre/dummy-test/README.md",
281
+ path_in_repo="README.md",
282
+ repo_id="lysandre/test-model",
283
+ )
284
+ ```
285
+
286
+ Or an entire folder
287
+
288
+ ```py
289
+ from huggingface_hub import upload_folder
290
+
291
+ upload_folder(
292
+ folder_path="/path/to/local/space",
293
+ repo_id="username/my-cool-space",
294
+ repo_type="space",
295
+ )
296
+ ```
297
+
298
+ For details in the [upload guide](https://huggingface.co/docs/huggingface_hub/en/guides/upload).
299
+
300
+ ## Integrating to the Hub.
301
+
302
+ We're partnering with cool open source ML libraries to provide free model hosting and versioning. You can find the existing integrations [here](https://huggingface.co/docs/hub/libraries).
303
+
304
+ The advantages are:
305
+
306
+ - Free model or dataset hosting for libraries and their users.
307
+ - Built-in file versioning, even with very large files, thanks to a git-based approach.
308
+ - In-browser widgets to play with the uploaded models.
309
+ - Anyone can upload a new model for your library, they just need to add the corresponding tag for the model to be discoverable.
310
+ - Fast downloads! We use Cloudfront (a CDN) to geo-replicate downloads so they're blazing fast from anywhere on the globe.
311
+ - Usage stats and more features to come.
312
+
313
+ If you would like to integrate your library, feel free to open an issue to begin the discussion. We wrote a [step-by-step guide](https://huggingface.co/docs/hub/adding-a-library) with ❤️ showing how to do this integration.
314
+
315
+ ## Contributions (feature requests, bugs, etc.) are super welcome 💙💚💛💜🧡❤️
316
+
317
+ Everyone is welcome to contribute, and we value everybody's contribution. Code is not the only way to help the community.
318
+ Answering questions, helping others, reaching out and improving the documentations are immensely valuable to the community.
319
+ We wrote a [contribution guide](https://github.com/huggingface/huggingface_hub/blob/main/CONTRIBUTING.md) to summarize
320
+ how to get started to contribute to this repository.
venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/RECORD ADDED
@@ -0,0 +1,327 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ../../../bin/hf,sha256=lzsDunMsRKlmFMlNVF1Cl6RDnOqDUV0-rOUdCABXHo0,386
2
+ ../../../bin/tiny-agents,sha256=rXAtpBZz-92JVzOAEhBAQ-uYGA0qhy6c_iknBuzLQj4,396
3
+ huggingface_hub-1.4.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
4
+ huggingface_hub-1.4.1.dist-info/METADATA,sha256=ndkkQuwrvhLbrfnhtrIW9fxQfxYHlHvw3sRnAslqJ14,13853
5
+ huggingface_hub-1.4.1.dist-info/RECORD,,
6
+ huggingface_hub-1.4.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ huggingface_hub-1.4.1.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
8
+ huggingface_hub-1.4.1.dist-info/entry_points.txt,sha256=j3KnOggx2dIP7NUkPyYgXdRnLxd94aHmqJ8J6tEZwY8,154
9
+ huggingface_hub-1.4.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
10
+ huggingface_hub-1.4.1.dist-info/top_level.txt,sha256=8KzlQJAY4miUvjAssOAJodqKOw3harNzuiwGQ9qLSSk,16
11
+ huggingface_hub/__init__.py,sha256=BFERnrZJkEPSU67qHT42XnEWPKtJlMrZAiV_mz1gKoQ,54930
12
+ huggingface_hub/__pycache__/__init__.cpython-310.pyc,,
13
+ huggingface_hub/__pycache__/_commit_api.cpython-310.pyc,,
14
+ huggingface_hub/__pycache__/_commit_scheduler.cpython-310.pyc,,
15
+ huggingface_hub/__pycache__/_eval_results.cpython-310.pyc,,
16
+ huggingface_hub/__pycache__/_inference_endpoints.cpython-310.pyc,,
17
+ huggingface_hub/__pycache__/_jobs_api.cpython-310.pyc,,
18
+ huggingface_hub/__pycache__/_local_folder.cpython-310.pyc,,
19
+ huggingface_hub/__pycache__/_login.cpython-310.pyc,,
20
+ huggingface_hub/__pycache__/_oauth.cpython-310.pyc,,
21
+ huggingface_hub/__pycache__/_snapshot_download.cpython-310.pyc,,
22
+ huggingface_hub/__pycache__/_space_api.cpython-310.pyc,,
23
+ huggingface_hub/__pycache__/_tensorboard_logger.cpython-310.pyc,,
24
+ huggingface_hub/__pycache__/_upload_large_folder.cpython-310.pyc,,
25
+ huggingface_hub/__pycache__/_webhooks_payload.cpython-310.pyc,,
26
+ huggingface_hub/__pycache__/_webhooks_server.cpython-310.pyc,,
27
+ huggingface_hub/__pycache__/community.cpython-310.pyc,,
28
+ huggingface_hub/__pycache__/constants.cpython-310.pyc,,
29
+ huggingface_hub/__pycache__/dataclasses.cpython-310.pyc,,
30
+ huggingface_hub/__pycache__/errors.cpython-310.pyc,,
31
+ huggingface_hub/__pycache__/fastai_utils.cpython-310.pyc,,
32
+ huggingface_hub/__pycache__/file_download.cpython-310.pyc,,
33
+ huggingface_hub/__pycache__/hf_api.cpython-310.pyc,,
34
+ huggingface_hub/__pycache__/hf_file_system.cpython-310.pyc,,
35
+ huggingface_hub/__pycache__/hub_mixin.cpython-310.pyc,,
36
+ huggingface_hub/__pycache__/lfs.cpython-310.pyc,,
37
+ huggingface_hub/__pycache__/repocard.cpython-310.pyc,,
38
+ huggingface_hub/__pycache__/repocard_data.cpython-310.pyc,,
39
+ huggingface_hub/_commit_api.py,sha256=tc1vhwKwIzFZefUjQOGTdlEL0bFla2fW_dW76YxfKKs,40651
40
+ huggingface_hub/_commit_scheduler.py,sha256=tqcdWVGJRIxGQtkFHs_AgBdN9ztUjOQSuAhfMAr1ieM,14751
41
+ huggingface_hub/_eval_results.py,sha256=aXu75SmH2Jz-nY3S-dlrIdHuYrFqnG1i-BEkuAWA6o8,8160
42
+ huggingface_hub/_inference_endpoints.py,sha256=UHWmeZdmwyHRDkfpChvYpLL-onwjNubjzhR9xZEmDqY,17722
43
+ huggingface_hub/_jobs_api.py,sha256=4TnBy5pT4dfEsItzHB8AfPTCmHigoeWxbU0F4V3aBks,14032
44
+ huggingface_hub/_local_folder.py,sha256=RdAqqGVTbzD2Bt6GFTxxBtrRyPAc7h9N5jYzByvP5IM,17497
45
+ huggingface_hub/_login.py,sha256=OE_a7aEFWHZdrEteTZb2Ub5uRWzHRDZIf99_uci1ztY,19197
46
+ huggingface_hub/_oauth.py,sha256=OU9t2Nc64dojA-z2g5XBHC4yqgzUkQXY64fYNWJTFMY,18694
47
+ huggingface_hub/_snapshot_download.py,sha256=YQnl_fp3UiqMJf1Z-HYNHgiwm4QOeChQduQgXomiWA8,20595
48
+ huggingface_hub/_space_api.py,sha256=2c7ainFpm2fI037AjHWuYghyOmUtLMwRK87ZCg77CLk,5468
49
+ huggingface_hub/_tensorboard_logger.py,sha256=3TocVxxSIioqxOkI6p1N4plnWfAizfdU456V0-K10Bs,8414
50
+ huggingface_hub/_upload_large_folder.py,sha256=zJa-25J7-Bwof1wHQ-zVGbBe2xmmuAL1qOSQI_VyR8U,30860
51
+ huggingface_hub/_webhooks_payload.py,sha256=qCZjBa5dhssg_O0yzgzxPyMpwAxLG96I4qen_HIk0Qc,3611
52
+ huggingface_hub/_webhooks_server.py,sha256=-trDDzwsFHuE0IIwxWJLtfq9D35k8AVas-UAMSn3qxc,15668
53
+ huggingface_hub/cli/__init__.py,sha256=A4zmzuHD2OHjQ5zmdfcnsj0JeCzHVPtpzh-wCjInugA,606
54
+ huggingface_hub/cli/__pycache__/__init__.cpython-310.pyc,,
55
+ huggingface_hub/cli/__pycache__/_cli_utils.cpython-310.pyc,,
56
+ huggingface_hub/cli/__pycache__/_errors.cpython-310.pyc,,
57
+ huggingface_hub/cli/__pycache__/auth.cpython-310.pyc,,
58
+ huggingface_hub/cli/__pycache__/cache.cpython-310.pyc,,
59
+ huggingface_hub/cli/__pycache__/collections.cpython-310.pyc,,
60
+ huggingface_hub/cli/__pycache__/datasets.cpython-310.pyc,,
61
+ huggingface_hub/cli/__pycache__/download.cpython-310.pyc,,
62
+ huggingface_hub/cli/__pycache__/hf.cpython-310.pyc,,
63
+ huggingface_hub/cli/__pycache__/inference_endpoints.cpython-310.pyc,,
64
+ huggingface_hub/cli/__pycache__/jobs.cpython-310.pyc,,
65
+ huggingface_hub/cli/__pycache__/lfs.cpython-310.pyc,,
66
+ huggingface_hub/cli/__pycache__/models.cpython-310.pyc,,
67
+ huggingface_hub/cli/__pycache__/papers.cpython-310.pyc,,
68
+ huggingface_hub/cli/__pycache__/repo.cpython-310.pyc,,
69
+ huggingface_hub/cli/__pycache__/repo_files.cpython-310.pyc,,
70
+ huggingface_hub/cli/__pycache__/skills.cpython-310.pyc,,
71
+ huggingface_hub/cli/__pycache__/spaces.cpython-310.pyc,,
72
+ huggingface_hub/cli/__pycache__/system.cpython-310.pyc,,
73
+ huggingface_hub/cli/__pycache__/upload.cpython-310.pyc,,
74
+ huggingface_hub/cli/__pycache__/upload_large_folder.cpython-310.pyc,,
75
+ huggingface_hub/cli/_cli_utils.py,sha256=a2fYChUUFhD464SSHBNbgUf5u4VaYVPfkByoJxeFeH0,16950
76
+ huggingface_hub/cli/_errors.py,sha256=j_qlkP3IMKbIL2RFnPLn9RL8xGS5UlHUbk3AEhZQ2gU,1713
77
+ huggingface_hub/cli/auth.py,sha256=gOr1n8iqWrpqcK1aFNA69o3lnhUYaKetFBX9z0EdXbY,4676
78
+ huggingface_hub/cli/cache.py,sha256=AFeProbR4Dwfqge6eY768MVuZQ8CVFQOp3jqJQpvSBc,27992
79
+ huggingface_hub/cli/collections.py,sha256=v063dnrBS4gXRxLvaJ5qJ-xtigEL88w1MetAmv7KuAA,11127
80
+ huggingface_hub/cli/datasets.py,sha256=T7ISV5_ENYPuwiBcPgIyb0VpeYoV4YdlYVs0n9snitY,3851
81
+ huggingface_hub/cli/download.py,sha256=6Mw0rx9RHHnQXcEkVo2jFw4pk-__OKA3tZQXwRJwonw,6866
82
+ huggingface_hub/cli/hf.py,sha256=DS6G_Tb6T0oeKMBo1i2ihBipsnk_7MFaiTlBaUpjWlI,3671
83
+ huggingface_hub/cli/inference_endpoints.py,sha256=XEE2Wo_vjbUPRrNvxM6PtFo0sL8kJ_kRwdP4QWK-5c0,14500
84
+ huggingface_hub/cli/jobs.py,sha256=cthtTY-mbCw-vtIig3LZnxNSswWsD0uCk4Qq7TbzzL0,35778
85
+ huggingface_hub/cli/lfs.py,sha256=QLCYt2wtqrgCj42E9Nsm12X87ekKpxOia2ElBt0cmV4,5888
86
+ huggingface_hub/cli/models.py,sha256=NijXVDO-ygIVx60TCqFqrCEnRMG6Tr6GC8A_5TdVzGE,3775
87
+ huggingface_hub/cli/papers.py,sha256=clsIQCvpG1QkE1kgS72kP0Vt1Zhyu2vu-c0yknMVJvc,2646
88
+ huggingface_hub/cli/repo.py,sha256=PNotI4ss6q1k4c-WpE6AVpDzPQBIS-LFjV-OMnzW7uo,10186
89
+ huggingface_hub/cli/repo_files.py,sha256=fBLUK_uZ7S5PPXBlBIazI47g76BT9dRpVv1IZ3l8m5g,3026
90
+ huggingface_hub/cli/skills.py,sha256=VfSg61AGuLwGpOzc-5O2TB5I8949aMqJEpJbbp5dovQ,6628
91
+ huggingface_hub/cli/spaces.py,sha256=dDhuD73jdWCE1PHYY8o4my-i_0jgad9Y95xlsrmQ-XA,3752
92
+ huggingface_hub/cli/system.py,sha256=RNEJRtrz3bt2r3-nY6XCgd46lb9-XWMgRt-lvMqRxN4,968
93
+ huggingface_hub/cli/upload.py,sha256=dVUXk6X7bUxiIcLzMdnD88fdsYfHMz8IojqGsFQyj_A,11808
94
+ huggingface_hub/cli/upload_large_folder.py,sha256=BS2XBOqTBjehc95SmBx9740rckHe8KL5YBBpyNfPJMc,4695
95
+ huggingface_hub/community.py,sha256=FACeqlP7OgR2vLLJ0IN4cfglBiEGbyTafJ0cXfsjgnQ,12359
96
+ huggingface_hub/constants.py,sha256=1xGvNmo7j_xkO3FoMv1rSA-EzgcgmMOwxv9E49_oeYM,10447
97
+ huggingface_hub/dataclasses.py,sha256=xqfbimPAkQMffkhMoQbwrFAZBmBa_e6Ca3ensI1cIKA,23220
98
+ huggingface_hub/errors.py,sha256=2-dpiLcLp5CF10wnJf52AO2XNQyRThHAaPiPQhu-IH4,12117
99
+ huggingface_hub/fastai_utils.py,sha256=0joRPBUccjFALLCfhQLyD_K8qxGvQiLThKJClwej_JQ,16657
100
+ huggingface_hub/file_download.py,sha256=JYEcRks51Gu-yN7RH6-1BaYN6AewigbuMAhLJ_5oj2w,83209
101
+ huggingface_hub/hf_api.py,sha256=8NxKZJTnFIfZG-XIj58OOHYT5fZ6PJXESuYph5_chMY,506100
102
+ huggingface_hub/hf_file_system.py,sha256=KDCRMXZoM6T8ZK1fecJIKkWhBFR0NRmvz_Jp-9O4rTw,54465
103
+ huggingface_hub/hub_mixin.py,sha256=9VkPWMmxKr2PhyeGiaHxiUgs65DOhPCZQT_ZfOkaUhE,37092
104
+ huggingface_hub/inference/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
+ huggingface_hub/inference/__pycache__/__init__.cpython-310.pyc,,
106
+ huggingface_hub/inference/__pycache__/_client.cpython-310.pyc,,
107
+ huggingface_hub/inference/__pycache__/_common.cpython-310.pyc,,
108
+ huggingface_hub/inference/_client.py,sha256=eZ7wni_Wz6bEE3ddKfmnkfEZmPs4gQNhyJoKOeysyFQ,158769
109
+ huggingface_hub/inference/_common.py,sha256=GrQXvwwQsG2Ow2tpjlp1WdRN-AvQYJlzW0eeTfSOJ64,15074
110
+ huggingface_hub/inference/_generated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
+ huggingface_hub/inference/_generated/__pycache__/__init__.cpython-310.pyc,,
112
+ huggingface_hub/inference/_generated/__pycache__/_async_client.cpython-310.pyc,,
113
+ huggingface_hub/inference/_generated/_async_client.py,sha256=sEDZekjPYbwNyyyO9ThsPYRG8G9P5Gn60Cc1eh8W1k0,161979
114
+ huggingface_hub/inference/_generated/types/__init__.py,sha256=e625ENOmTUM4uUL1eAlsZOK7CovNoGBDH-TxSNQhaC4,6869
115
+ huggingface_hub/inference/_generated/types/__pycache__/__init__.cpython-310.pyc,,
116
+ huggingface_hub/inference/_generated/types/__pycache__/audio_classification.cpython-310.pyc,,
117
+ huggingface_hub/inference/_generated/types/__pycache__/audio_to_audio.cpython-310.pyc,,
118
+ huggingface_hub/inference/_generated/types/__pycache__/automatic_speech_recognition.cpython-310.pyc,,
119
+ huggingface_hub/inference/_generated/types/__pycache__/base.cpython-310.pyc,,
120
+ huggingface_hub/inference/_generated/types/__pycache__/chat_completion.cpython-310.pyc,,
121
+ huggingface_hub/inference/_generated/types/__pycache__/depth_estimation.cpython-310.pyc,,
122
+ huggingface_hub/inference/_generated/types/__pycache__/document_question_answering.cpython-310.pyc,,
123
+ huggingface_hub/inference/_generated/types/__pycache__/feature_extraction.cpython-310.pyc,,
124
+ huggingface_hub/inference/_generated/types/__pycache__/fill_mask.cpython-310.pyc,,
125
+ huggingface_hub/inference/_generated/types/__pycache__/image_classification.cpython-310.pyc,,
126
+ huggingface_hub/inference/_generated/types/__pycache__/image_segmentation.cpython-310.pyc,,
127
+ huggingface_hub/inference/_generated/types/__pycache__/image_text_to_image.cpython-310.pyc,,
128
+ huggingface_hub/inference/_generated/types/__pycache__/image_text_to_video.cpython-310.pyc,,
129
+ huggingface_hub/inference/_generated/types/__pycache__/image_to_image.cpython-310.pyc,,
130
+ huggingface_hub/inference/_generated/types/__pycache__/image_to_text.cpython-310.pyc,,
131
+ huggingface_hub/inference/_generated/types/__pycache__/image_to_video.cpython-310.pyc,,
132
+ huggingface_hub/inference/_generated/types/__pycache__/object_detection.cpython-310.pyc,,
133
+ huggingface_hub/inference/_generated/types/__pycache__/question_answering.cpython-310.pyc,,
134
+ huggingface_hub/inference/_generated/types/__pycache__/sentence_similarity.cpython-310.pyc,,
135
+ huggingface_hub/inference/_generated/types/__pycache__/summarization.cpython-310.pyc,,
136
+ huggingface_hub/inference/_generated/types/__pycache__/table_question_answering.cpython-310.pyc,,
137
+ huggingface_hub/inference/_generated/types/__pycache__/text2text_generation.cpython-310.pyc,,
138
+ huggingface_hub/inference/_generated/types/__pycache__/text_classification.cpython-310.pyc,,
139
+ huggingface_hub/inference/_generated/types/__pycache__/text_generation.cpython-310.pyc,,
140
+ huggingface_hub/inference/_generated/types/__pycache__/text_to_audio.cpython-310.pyc,,
141
+ huggingface_hub/inference/_generated/types/__pycache__/text_to_image.cpython-310.pyc,,
142
+ huggingface_hub/inference/_generated/types/__pycache__/text_to_speech.cpython-310.pyc,,
143
+ huggingface_hub/inference/_generated/types/__pycache__/text_to_video.cpython-310.pyc,,
144
+ huggingface_hub/inference/_generated/types/__pycache__/token_classification.cpython-310.pyc,,
145
+ huggingface_hub/inference/_generated/types/__pycache__/translation.cpython-310.pyc,,
146
+ huggingface_hub/inference/_generated/types/__pycache__/video_classification.cpython-310.pyc,,
147
+ huggingface_hub/inference/_generated/types/__pycache__/visual_question_answering.cpython-310.pyc,,
148
+ huggingface_hub/inference/_generated/types/__pycache__/zero_shot_classification.cpython-310.pyc,,
149
+ huggingface_hub/inference/_generated/types/__pycache__/zero_shot_image_classification.cpython-310.pyc,,
150
+ huggingface_hub/inference/_generated/types/__pycache__/zero_shot_object_detection.cpython-310.pyc,,
151
+ huggingface_hub/inference/_generated/types/audio_classification.py,sha256=Jg3mzfGhCSH6CfvVvgJSiFpkz6v4nNA0G4LJXacEgNc,1573
152
+ huggingface_hub/inference/_generated/types/audio_to_audio.py,sha256=2Ep4WkePL7oJwcp5nRJqApwviumGHbft9HhXE9XLHj4,891
153
+ huggingface_hub/inference/_generated/types/automatic_speech_recognition.py,sha256=FyViZkZqd0oo7Raqo48HESMAXHSnJap9HRWsKCi8Xz4,5509
154
+ huggingface_hub/inference/_generated/types/base.py,sha256=3a2mWvQvMHszIZVzN4FNaYZdz_VsrTfw4jgeM4VwJXM,6970
155
+ huggingface_hub/inference/_generated/types/chat_completion.py,sha256=3-pAyko3ozXSsvE_nFl4wtALf3z5DVQSLjtAD-2tUe4,11242
156
+ huggingface_hub/inference/_generated/types/depth_estimation.py,sha256=c7IA81gZp5xIHol-7wlvy8V8UE--O1XF9rahauLVuoY,923
157
+ huggingface_hub/inference/_generated/types/document_question_answering.py,sha256=aJ_dC3pVLTHombqX3UwIFhKN_mFzpw4m89sfB2J488E,3196
158
+ huggingface_hub/inference/_generated/types/feature_extraction.py,sha256=xlo6LffaPlvickke537wAbTwbvjao82gnyWeUl1-WVs,1531
159
+ huggingface_hub/inference/_generated/types/fill_mask.py,sha256=E-dU2bmHlso1cei_ju_LQtYVvDZEqAM1-walZkMPa74,1702
160
+ huggingface_hub/inference/_generated/types/image_classification.py,sha256=A-Y024o8723_n8mGVos4TwdAkVL62McGeL1iIo4VzNs,1585
161
+ huggingface_hub/inference/_generated/types/image_segmentation.py,sha256=vrkI4SuP1Iq_iLXc-2pQhYY3SHN4gzvFBoZqbUHxU7o,1950
162
+ huggingface_hub/inference/_generated/types/image_text_to_image.py,sha256=MGEUbCi6p78OOuPPGrwxcitdbYFPN2JdfiA73d3MM-s,2619
163
+ huggingface_hub/inference/_generated/types/image_text_to_video.py,sha256=1B3PZq3PCsoOz10Et_fOD7dPTvZQEPq3cZoFWX7_43I,2487
164
+ huggingface_hub/inference/_generated/types/image_to_image.py,sha256=snvGbmCdqchxGef25MceD7LSKAmVkIgnoX5t71rdlAQ,2290
165
+ huggingface_hub/inference/_generated/types/image_to_text.py,sha256=OaFEBAfgT-fOVzJ7xVermGf7VODhrc9-Jg38WrM7-2o,4810
166
+ huggingface_hub/inference/_generated/types/image_to_video.py,sha256=bC-L_cNsDhk4s_IdSiprJ9d1NeMGePLcUp7UPpco21w,2240
167
+ huggingface_hub/inference/_generated/types/object_detection.py,sha256=VuFlb1281qTXoSgJDmquGz-VNfEZLo2H0Rh_F6MF6ts,2000
168
+ huggingface_hub/inference/_generated/types/question_answering.py,sha256=zw38a9_9l2k1ifYZefjkioqZ4asfSRM9M4nU3gSCmAQ,2898
169
+ huggingface_hub/inference/_generated/types/sentence_similarity.py,sha256=5mDdTop4w6CpS-SulA03UVq5lBbzHuNMe8IQsTmAUPQ,1040
170
+ huggingface_hub/inference/_generated/types/summarization.py,sha256=eMJvNJmxdImVXLLMADmyDeB1YhJbN3Qd_fC6lPB7mTM,1481
171
+ huggingface_hub/inference/_generated/types/table_question_answering.py,sha256=SbgRCeEopJ0ig0U-q-Ft58kzD4aKfn1Dzu46r1g5z28,2281
172
+ huggingface_hub/inference/_generated/types/text2text_generation.py,sha256=S9as2uJKqCmRht_dFGws-KwQwEq1hD6w3gSLiGTMERI,1603
173
+ huggingface_hub/inference/_generated/types/text_classification.py,sha256=FarAjygLEfPofLfKeabzJ7PKEBItlHGoUNUOzyLRpL4,1445
174
+ huggingface_hub/inference/_generated/types/text_generation.py,sha256=g9pLc5XrWc1Ir0nmQ4xTa4ZauKHIJ9Pr7yM1FmZkX0Y,5916
175
+ huggingface_hub/inference/_generated/types/text_to_audio.py,sha256=1HR9Q6s9MXqtKGTvHPLGVMum5-eg7O-Pgv6Nd0v8_HU,4741
176
+ huggingface_hub/inference/_generated/types/text_to_image.py,sha256=sGGi1Fa0n5Pmd6G3I-F2SBJcJ1M7Gmqnng6sfi0AVzs,1903
177
+ huggingface_hub/inference/_generated/types/text_to_speech.py,sha256=ROFuR32ijROCeqbv81Jos0lmaA8SRWyIUsWrdD4yWow,4760
178
+ huggingface_hub/inference/_generated/types/text_to_video.py,sha256=xjC9Vp3eovuKEk7qhIeeC8VNJG8W0Kr8PEnOwOC1Ga4,1784
179
+ huggingface_hub/inference/_generated/types/token_classification.py,sha256=bpRwy_1knC11auZaeoVrCyYWBwyJLLKeiS-ypNkDTT8,1909
180
+ huggingface_hub/inference/_generated/types/translation.py,sha256=jfeWNGkZInGTOWP-Tq2dl1rGa8xuUQvZ40PxuOrsBpE,1757
181
+ huggingface_hub/inference/_generated/types/video_classification.py,sha256=TyydjQw2NRLK9sDGzJUVnkDeo848ebmCx588Ur8I9q0,1680
182
+ huggingface_hub/inference/_generated/types/visual_question_answering.py,sha256=AWrQ6qo4gZa3PGedaNpzDFqx5yOYyjhnUB6iuZEj_uo,1673
183
+ huggingface_hub/inference/_generated/types/zero_shot_classification.py,sha256=-PRiAdpXN0wxRrSVe3z8byEvuxcNby89mASU9CbfVzU,1732
184
+ huggingface_hub/inference/_generated/types/zero_shot_image_classification.py,sha256=1alzatw0RA88YUuHfrhRWQ5-Fix-iO3KcxfJV3WQB50,1481
185
+ huggingface_hub/inference/_generated/types/zero_shot_object_detection.py,sha256=sjdpVUN5zW9aYBymLVUs6i5HVk2qkUBO9ysEjHmsXVM,1605
186
+ huggingface_hub/inference/_mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
+ huggingface_hub/inference/_mcp/__pycache__/__init__.cpython-310.pyc,,
188
+ huggingface_hub/inference/_mcp/__pycache__/_cli_hacks.cpython-310.pyc,,
189
+ huggingface_hub/inference/_mcp/__pycache__/agent.cpython-310.pyc,,
190
+ huggingface_hub/inference/_mcp/__pycache__/cli.cpython-310.pyc,,
191
+ huggingface_hub/inference/_mcp/__pycache__/constants.cpython-310.pyc,,
192
+ huggingface_hub/inference/_mcp/__pycache__/mcp_client.cpython-310.pyc,,
193
+ huggingface_hub/inference/_mcp/__pycache__/types.cpython-310.pyc,,
194
+ huggingface_hub/inference/_mcp/__pycache__/utils.cpython-310.pyc,,
195
+ huggingface_hub/inference/_mcp/_cli_hacks.py,sha256=KX9HZJPa1p8ngY3mtYGGlVUXfg4vYbbBRs-8HLToP04,3284
196
+ huggingface_hub/inference/_mcp/agent.py,sha256=ufIzMGHore5n252hV5GZPM0ouDXIl6tv5Jl_5gHXnbg,4250
197
+ huggingface_hub/inference/_mcp/cli.py,sha256=BUw-ZINYw3xQpqMpP0NMQ8sur-lebQTcp7KuzCAIJPo,9811
198
+ huggingface_hub/inference/_mcp/constants.py,sha256=Ws8BujjgZWb5kPAVm4GLE_Rqse63MszHp863EWwoPCI,2487
199
+ huggingface_hub/inference/_mcp/mcp_client.py,sha256=dGp8PhN6aVw4bDnuSySFSiguHUiz-nzhgv89CVdO7pI,17243
200
+ huggingface_hub/inference/_mcp/types.py,sha256=yHNfPsM9MhD06oeKdkbmrBsW-3WhUeqA26fyfRfx_bk,929
201
+ huggingface_hub/inference/_mcp/utils.py,sha256=GI-jVl4AoGTQkpyUIyFmk1YF13bIABbq7hOLHWizBTI,4245
202
+ huggingface_hub/inference/_providers/__init__.py,sha256=k_yHc9aqkgqC302YGw8OitoHO6XD-tny4DDKkazM2gU,10336
203
+ huggingface_hub/inference/_providers/__pycache__/__init__.cpython-310.pyc,,
204
+ huggingface_hub/inference/_providers/__pycache__/_common.cpython-310.pyc,,
205
+ huggingface_hub/inference/_providers/__pycache__/black_forest_labs.cpython-310.pyc,,
206
+ huggingface_hub/inference/_providers/__pycache__/cerebras.cpython-310.pyc,,
207
+ huggingface_hub/inference/_providers/__pycache__/clarifai.cpython-310.pyc,,
208
+ huggingface_hub/inference/_providers/__pycache__/cohere.cpython-310.pyc,,
209
+ huggingface_hub/inference/_providers/__pycache__/fal_ai.cpython-310.pyc,,
210
+ huggingface_hub/inference/_providers/__pycache__/featherless_ai.cpython-310.pyc,,
211
+ huggingface_hub/inference/_providers/__pycache__/fireworks_ai.cpython-310.pyc,,
212
+ huggingface_hub/inference/_providers/__pycache__/groq.cpython-310.pyc,,
213
+ huggingface_hub/inference/_providers/__pycache__/hf_inference.cpython-310.pyc,,
214
+ huggingface_hub/inference/_providers/__pycache__/hyperbolic.cpython-310.pyc,,
215
+ huggingface_hub/inference/_providers/__pycache__/nebius.cpython-310.pyc,,
216
+ huggingface_hub/inference/_providers/__pycache__/novita.cpython-310.pyc,,
217
+ huggingface_hub/inference/_providers/__pycache__/nscale.cpython-310.pyc,,
218
+ huggingface_hub/inference/_providers/__pycache__/openai.cpython-310.pyc,,
219
+ huggingface_hub/inference/_providers/__pycache__/ovhcloud.cpython-310.pyc,,
220
+ huggingface_hub/inference/_providers/__pycache__/publicai.cpython-310.pyc,,
221
+ huggingface_hub/inference/_providers/__pycache__/replicate.cpython-310.pyc,,
222
+ huggingface_hub/inference/_providers/__pycache__/sambanova.cpython-310.pyc,,
223
+ huggingface_hub/inference/_providers/__pycache__/scaleway.cpython-310.pyc,,
224
+ huggingface_hub/inference/_providers/__pycache__/together.cpython-310.pyc,,
225
+ huggingface_hub/inference/_providers/__pycache__/wavespeed.cpython-310.pyc,,
226
+ huggingface_hub/inference/_providers/__pycache__/zai_org.cpython-310.pyc,,
227
+ huggingface_hub/inference/_providers/_common.py,sha256=fMs5721C0QyUpjQw7bzcNetqS0_oJ37gqceG4iCf7wo,13859
228
+ huggingface_hub/inference/_providers/black_forest_labs.py,sha256=vkjK_-4epSJa2-fLnbcXFzPAgQsGKhykKwd9Np-V2iw,2846
229
+ huggingface_hub/inference/_providers/cerebras.py,sha256=QOJ-1U-os7uE7p6eUnn_P_APq-yQhx28be7c3Tq2EuA,210
230
+ huggingface_hub/inference/_providers/clarifai.py,sha256=1cEXQwhGk4DRKiPCQUa5y-L6okTo4781EImQC8yJVOw,380
231
+ huggingface_hub/inference/_providers/cohere.py,sha256=GqUyCR4j6Re-_27ItwQF2p89Yya4e__EWDP9hTSs9w0,1247
232
+ huggingface_hub/inference/_providers/fal_ai.py,sha256=6zulqIfgfqV8eStuDHafwooK_fsdSA0sZnKECrtnxdk,11815
233
+ huggingface_hub/inference/_providers/featherless_ai.py,sha256=SceM3VsgzDSaCnzVxTFK6JepHaGStptdLlwrX-zsM2g,1376
234
+ huggingface_hub/inference/_providers/fireworks_ai.py,sha256=YfxC8wMU38qpv6xFc5HnHf6qK4x64nt-iwEDTip4C_U,1209
235
+ huggingface_hub/inference/_providers/groq.py,sha256=JTk2JV4ZOlaohho7zLAFQtk92kGVsPmLJ1hmzcwsqvQ,315
236
+ huggingface_hub/inference/_providers/hf_inference.py,sha256=dp15WQQNdbIJhLiRvH3PA651xdf7OjMx3R_1bjKqLxw,9534
237
+ huggingface_hub/inference/_providers/hyperbolic.py,sha256=LiAAiW7diy-ctrDKNYO_2N4Ght9wnvvD7hMo2NYbsNg,1979
238
+ huggingface_hub/inference/_providers/nebius.py,sha256=NQDJoNbFd9FPBA5yWTb_C42NoMeV8edpZCTRoXqtDOM,3574
239
+ huggingface_hub/inference/_providers/novita.py,sha256=AN4csxwKbRvNiaK87o9xVp9krL6mHPk6iv5iat87skA,2508
240
+ huggingface_hub/inference/_providers/nscale.py,sha256=RkyvmYtQbs2RPenF_pxDPMUMZM_botT21zqfVe2hT5Y,1796
241
+ huggingface_hub/inference/_providers/openai.py,sha256=GCVYeNdjWIgpQQ7E_Xv8IebmdhTi0S6WfFosz3nLtps,1089
242
+ huggingface_hub/inference/_providers/ovhcloud.py,sha256=tdmymlkbddMJKV7NRZ-tH2wymbLPFDTqUSXpWJUXyDQ,314
243
+ huggingface_hub/inference/_providers/publicai.py,sha256=1I2W6rORloB5QHSvky4njZO2XKLTwA-kPdNoauoT5rg,210
244
+ huggingface_hub/inference/_providers/replicate.py,sha256=2Wa6S7HLsQ3ShfawZOuK8MQQtuqpkhk-mPNqtHtdk8E,6104
245
+ huggingface_hub/inference/_providers/sambanova.py,sha256=t-J89tab8wut62jXSXl7pAK5mCrovwdgtvbDYK1DHis,2031
246
+ huggingface_hub/inference/_providers/scaleway.py,sha256=Jy81kXWbXCHBpx6xmyzdEfXGSyhUfjKOLHuDSvhHWGo,1209
247
+ huggingface_hub/inference/_providers/together.py,sha256=q32zFvXhmRogWXMSaEFVYS8m9blXI_oy7KPdeal7Wwg,3433
248
+ huggingface_hub/inference/_providers/wavespeed.py,sha256=908rHLPhrbbdmR4EDfkH58N8gg8zcoYy0bvHALbnGoU,5060
249
+ huggingface_hub/inference/_providers/zai_org.py,sha256=ZNp6PrkzNR4ZpU8feNBvsoXmFinT-We_SCoRNx8E7N0,4768
250
+ huggingface_hub/lfs.py,sha256=0Yj3ydggRIAO5Jl9kfFRXJjZyvpjo-siaQBos26K_1g,14151
251
+ huggingface_hub/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
252
+ huggingface_hub/repocard.py,sha256=eGgvokul8iiCXYuPdrGGyiq6r0YZy_bA91p0SNdmkqw,34973
253
+ huggingface_hub/repocard_data.py,sha256=awhSsLRPrcFM9CurB9mrY40H1bE15yzoXDTVL60yD1U,34079
254
+ huggingface_hub/serialization/__init__.py,sha256=jCiw_vVQYW52gwVfWiqgocf2Q19kGTQlRGVpf-4SLP8,963
255
+ huggingface_hub/serialization/__pycache__/__init__.cpython-310.pyc,,
256
+ huggingface_hub/serialization/__pycache__/_base.cpython-310.pyc,,
257
+ huggingface_hub/serialization/__pycache__/_dduf.cpython-310.pyc,,
258
+ huggingface_hub/serialization/__pycache__/_torch.cpython-310.pyc,,
259
+ huggingface_hub/serialization/_base.py,sha256=9HZ0W6r77rsUVk5g51_-uglb5KSfHIBMC5YIsVG0woU,8175
260
+ huggingface_hub/serialization/_dduf.py,sha256=KpfM8D9w3UcAM0hhwYdnM8byIiZMUKQnTl25Wb1hHiw,15410
261
+ huggingface_hub/serialization/_torch.py,sha256=__M4aP9zuCJp9TAJLr0r-26LuSao2cofzeo2MPSe-VI,45124
262
+ huggingface_hub/templates/datasetcard_template.md,sha256=W-EMqR6wndbrnZorkVv56URWPG49l7MATGeI015kTvs,5503
263
+ huggingface_hub/templates/modelcard_template.md,sha256=4AqArS3cqdtbit5Bo-DhjcnDFR-pza5hErLLTPM4Yuc,6870
264
+ huggingface_hub/utils/__init__.py,sha256=w7O2buBzUW1akdF9G-t8nbaEkQuDEQLelH685d8Zjow,3894
265
+ huggingface_hub/utils/__pycache__/__init__.cpython-310.pyc,,
266
+ huggingface_hub/utils/__pycache__/_auth.cpython-310.pyc,,
267
+ huggingface_hub/utils/__pycache__/_cache_assets.cpython-310.pyc,,
268
+ huggingface_hub/utils/__pycache__/_cache_manager.cpython-310.pyc,,
269
+ huggingface_hub/utils/__pycache__/_chunk_utils.cpython-310.pyc,,
270
+ huggingface_hub/utils/__pycache__/_datetime.cpython-310.pyc,,
271
+ huggingface_hub/utils/__pycache__/_deprecation.cpython-310.pyc,,
272
+ huggingface_hub/utils/__pycache__/_dotenv.cpython-310.pyc,,
273
+ huggingface_hub/utils/__pycache__/_experimental.cpython-310.pyc,,
274
+ huggingface_hub/utils/__pycache__/_fixes.cpython-310.pyc,,
275
+ huggingface_hub/utils/__pycache__/_git_credential.cpython-310.pyc,,
276
+ huggingface_hub/utils/__pycache__/_headers.cpython-310.pyc,,
277
+ huggingface_hub/utils/__pycache__/_http.cpython-310.pyc,,
278
+ huggingface_hub/utils/__pycache__/_lfs.cpython-310.pyc,,
279
+ huggingface_hub/utils/__pycache__/_pagination.cpython-310.pyc,,
280
+ huggingface_hub/utils/__pycache__/_parsing.cpython-310.pyc,,
281
+ huggingface_hub/utils/__pycache__/_paths.cpython-310.pyc,,
282
+ huggingface_hub/utils/__pycache__/_runtime.cpython-310.pyc,,
283
+ huggingface_hub/utils/__pycache__/_safetensors.cpython-310.pyc,,
284
+ huggingface_hub/utils/__pycache__/_subprocess.cpython-310.pyc,,
285
+ huggingface_hub/utils/__pycache__/_telemetry.cpython-310.pyc,,
286
+ huggingface_hub/utils/__pycache__/_terminal.cpython-310.pyc,,
287
+ huggingface_hub/utils/__pycache__/_typing.cpython-310.pyc,,
288
+ huggingface_hub/utils/__pycache__/_validators.cpython-310.pyc,,
289
+ huggingface_hub/utils/__pycache__/_verification.cpython-310.pyc,,
290
+ huggingface_hub/utils/__pycache__/_xet.cpython-310.pyc,,
291
+ huggingface_hub/utils/__pycache__/_xet_progress_reporting.cpython-310.pyc,,
292
+ huggingface_hub/utils/__pycache__/endpoint_helpers.cpython-310.pyc,,
293
+ huggingface_hub/utils/__pycache__/insecure_hashlib.cpython-310.pyc,,
294
+ huggingface_hub/utils/__pycache__/logging.cpython-310.pyc,,
295
+ huggingface_hub/utils/__pycache__/sha.cpython-310.pyc,,
296
+ huggingface_hub/utils/__pycache__/tqdm.cpython-310.pyc,,
297
+ huggingface_hub/utils/_auth.py,sha256=dtJXLgad9jyH33b3YOGFqbjV8Fi0PPR9GnBxgJqfKK4,8279
298
+ huggingface_hub/utils/_cache_assets.py,sha256=GAefejvj4ZAY1aJ4agyuR-1_IqYo-xznjXA_QYcEQGI,5736
299
+ huggingface_hub/utils/_cache_manager.py,sha256=1Yb3s4jIXudAV1H2nD7mmxi3CcUel8dCmXB06RiexLk,32991
300
+ huggingface_hub/utils/_chunk_utils.py,sha256=MH7-6FwCDZ8noV6dGRytCOJGSfcZmDBvsvVotdI8TvQ,2109
301
+ huggingface_hub/utils/_datetime.py,sha256=kCS5jaKV25kOncX1xujbXsz5iDLcjLcLw85semGNzxQ,2770
302
+ huggingface_hub/utils/_deprecation.py,sha256=4tWi3vBSdvnhA0z_Op-tkAQ0xrJ4TUb0HbPhMiXUnOs,4872
303
+ huggingface_hub/utils/_dotenv.py,sha256=2LLdzpA-LzLxO15GLb9WKT5IGrTurIRmFPrMX1yDzsU,2011
304
+ huggingface_hub/utils/_experimental.py,sha256=3-c8irbn9sJr2CwWbzhGkIrdXKg8_x7BifhHFy32ei8,2470
305
+ huggingface_hub/utils/_fixes.py,sha256=ERTu7OOKLGktAsa-PywPv109e5yjMTMHv5eOdWBadFc,4162
306
+ huggingface_hub/utils/_git_credential.py,sha256=gdQbYZyKEynpqLmtr8lSnCrfPTBzdFdmODmHIgivr4k,4612
307
+ huggingface_hub/utils/_headers.py,sha256=k_ApvA8fJGHc0yNp2IFY8wySM9MQ5UZEpjr1g-fpRJ4,8060
308
+ huggingface_hub/utils/_http.py,sha256=tH-YzLsjoCk6UqaWtksCJZJ8Z6qYzdkKBIuBBZPDZq4,37453
309
+ huggingface_hub/utils/_lfs.py,sha256=EC0Oz6Wiwl8foRNkUOzrETXzAWlbgpnpxo5a410ovFY,3957
310
+ huggingface_hub/utils/_pagination.py,sha256=-6HUYjkSXXy-l0z4iRUBkdW1R_Pv7p6h2Z78HEFEC14,1851
311
+ huggingface_hub/utils/_parsing.py,sha256=T6UCjUh0h731A0Jh-eH5RWcqVQ5m0IyMcXHl5G2YNUs,3021
312
+ huggingface_hub/utils/_paths.py,sha256=UOnpN-pTyD52JPuG553eLJQC8sQ3hWs-paeNqQAvLj4,5291
313
+ huggingface_hub/utils/_runtime.py,sha256=YIbpExk5dxRXGbdwUjTJDBNnZIwo6_5xi4ZjVOPI6Vg,12595
314
+ huggingface_hub/utils/_safetensors.py,sha256=2_xbCsDPsCwR1tyBjJ5MoOHsX4ksocjzc4jS7oGe7_s,4439
315
+ huggingface_hub/utils/_subprocess.py,sha256=9qDWT1a2QF2TmXOQJDlPK6LwzYl9XjXeRadQPn15U14,4612
316
+ huggingface_hub/utils/_telemetry.py,sha256=hlVBh85Cp10Kl4mqIlJLDyGzlrEKCJnqWvNEip7stwo,4884
317
+ huggingface_hub/utils/_terminal.py,sha256=6iiPQfqjkNCo3GfBDAFu1NfGRaZO4AFTYapQDTwNCjs,2354
318
+ huggingface_hub/utils/_typing.py,sha256=cC9p6E8hG2LId8sFWJ9H-cpQozv3asuoww_XiA1-XWI,3617
319
+ huggingface_hub/utils/_validators.py,sha256=A3BkXbpX4KnUD2WFsYOgkXnYdpLiXXG8KbyNdq0qz78,8346
320
+ huggingface_hub/utils/_verification.py,sha256=Ad6gSMcfH4c9WIkg3ecB2kqlChRIQ18c4tNyAGt0HBM,5456
321
+ huggingface_hub/utils/_xet.py,sha256=vaEYYrm5lW7Y_cFSodXjx_TfnkOofIZ-Gh-4Vu7tG_w,8895
322
+ huggingface_hub/utils/_xet_progress_reporting.py,sha256=bxwanhLxigDASflFZVt7S8eENIviguyVg1Q9vFtmDf8,6169
323
+ huggingface_hub/utils/endpoint_helpers.py,sha256=9VtIAlxQ5H_4y30sjCAgbu7XCqAtNLC7aRYxaNn0hLI,2366
324
+ huggingface_hub/utils/insecure_hashlib.py,sha256=z3dVUFvdBZ8kQI_8Vzvvlr3ims-EBiY-SYPdnzIKOkw,1008
325
+ huggingface_hub/utils/logging.py,sha256=N6NXaCcbPbZSF-Oe-TY3ZnmkpmdFVyTOV8ASo-yVXLE,4916
326
+ huggingface_hub/utils/sha.py,sha256=OFnNGCba0sNcT2gUwaVCJnldxlltrHHe0DS_PCpV3C4,2134
327
+ huggingface_hub/utils/tqdm.py,sha256=lhdAR-4zn9cablCDS6240-O2vb4bdTfTbjUW684QWI4,10757
venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/REQUESTED ADDED
File without changes
venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/WHEEL ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (79.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/entry_points.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ [console_scripts]
2
+ hf = huggingface_hub.cli.hf:main
3
+ tiny-agents = huggingface_hub.inference._mcp.cli:app
4
+
5
+ [fsspec.specs]
6
+ hf = huggingface_hub.HfFileSystem
venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/licenses/LICENSE ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
venv/lib/python3.10/site-packages/huggingface_hub-1.4.1.dist-info/top_level.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ huggingface_hub
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_dotenv.cpython-310.pyc ADDED
Binary file (1.72 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_fixes.cpython-310.pyc ADDED
Binary file (3.84 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_git_credential.cpython-310.pyc ADDED
Binary file (4.25 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_headers.cpython-310.pyc ADDED
Binary file (6.89 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_http.cpython-310.pyc ADDED
Binary file (26.8 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_lfs.cpython-310.pyc ADDED
Binary file (3.87 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_pagination.cpython-310.pyc ADDED
Binary file (1.56 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_parsing.cpython-310.pyc ADDED
Binary file (2.48 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_paths.cpython-310.pyc ADDED
Binary file (4.8 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_runtime.cpython-310.pyc ADDED
Binary file (11.2 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_safetensors.cpython-310.pyc ADDED
Binary file (5.05 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_subprocess.cpython-310.pyc ADDED
Binary file (4.03 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_telemetry.cpython-310.pyc ADDED
Binary file (4.75 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_terminal.cpython-310.pyc ADDED
Binary file (2.78 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_typing.cpython-310.pyc ADDED
Binary file (3.18 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_validators.cpython-310.pyc ADDED
Binary file (7.24 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_verification.cpython-310.pyc ADDED
Binary file (5.19 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_xet.cpython-310.pyc ADDED
Binary file (8.87 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/_xet_progress_reporting.cpython-310.pyc ADDED
Binary file (4.21 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/endpoint_helpers.cpython-310.pyc ADDED
Binary file (1.81 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/insecure_hashlib.cpython-310.pyc ADDED
Binary file (442 Bytes). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/logging.cpython-310.pyc ADDED
Binary file (4.83 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/sha.cpython-310.pyc ADDED
Binary file (2.32 kB). View file
 
venv/lib/python3.10/site-packages/huggingface_hub/utils/__pycache__/tqdm.cpython-310.pyc ADDED
Binary file (9.5 kB). View file
 
venv/lib/python3.10/site-packages/idna-3.11.dist-info/INSTALLER ADDED
@@ -0,0 +1 @@
 
 
1
+ pip
venv/lib/python3.10/site-packages/idna-3.11.dist-info/METADATA ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Metadata-Version: 2.4
2
+ Name: idna
3
+ Version: 3.11
4
+ Summary: Internationalized Domain Names in Applications (IDNA)
5
+ Author-email: Kim Davies <kim+pypi@gumleaf.org>
6
+ Requires-Python: >=3.8
7
+ Description-Content-Type: text/x-rst
8
+ License-Expression: BSD-3-Clause
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Intended Audience :: System Administrators
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3 :: Only
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
23
+ Classifier: Programming Language :: Python :: Implementation :: CPython
24
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
25
+ Classifier: Topic :: Internet :: Name Service (DNS)
26
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
+ Classifier: Topic :: Utilities
28
+ License-File: LICENSE.md
29
+ Requires-Dist: ruff >= 0.6.2 ; extra == "all"
30
+ Requires-Dist: mypy >= 1.11.2 ; extra == "all"
31
+ Requires-Dist: pytest >= 8.3.2 ; extra == "all"
32
+ Requires-Dist: flake8 >= 7.1.1 ; extra == "all"
33
+ Project-URL: Changelog, https://github.com/kjd/idna/blob/master/HISTORY.rst
34
+ Project-URL: Issue tracker, https://github.com/kjd/idna/issues
35
+ Project-URL: Source, https://github.com/kjd/idna
36
+ Provides-Extra: all
37
+
38
+ Internationalized Domain Names in Applications (IDNA)
39
+ =====================================================
40
+
41
+ Support for `Internationalized Domain Names in
42
+ Applications (IDNA) <https://tools.ietf.org/html/rfc5891>`_
43
+ and `Unicode IDNA Compatibility Processing
44
+ <https://unicode.org/reports/tr46/>`_.
45
+
46
+ The latest versions of these standards supplied here provide
47
+ more comprehensive language coverage and reduce the potential of
48
+ allowing domains with known security vulnerabilities. This library
49
+ is a suitable replacement for the “encodings.idna”
50
+ module that comes with the Python standard library, but which
51
+ only supports an older superseded IDNA specification from 2003.
52
+
53
+ Basic functions are simply executed:
54
+
55
+ .. code-block:: pycon
56
+
57
+ >>> import idna
58
+ >>> idna.encode('ドメイン.テスト')
59
+ b'xn--eckwd4c7c.xn--zckzah'
60
+ >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah'))
61
+ ドメイン.テスト
62
+
63
+
64
+ Installation
65
+ ------------
66
+
67
+ This package is available for installation from PyPI via the
68
+ typical mechanisms, such as:
69
+
70
+ .. code-block:: bash
71
+
72
+ $ python3 -m pip install idna
73
+
74
+
75
+ Usage
76
+ -----
77
+
78
+ For typical usage, the ``encode`` and ``decode`` functions will take a
79
+ domain name argument and perform a conversion to ASCII compatible encoding
80
+ (known as A-labels), or to Unicode strings (known as U-labels)
81
+ respectively.
82
+
83
+ .. code-block:: pycon
84
+
85
+ >>> import idna
86
+ >>> idna.encode('ドメイン.テスト')
87
+ b'xn--eckwd4c7c.xn--zckzah'
88
+ >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah'))
89
+ ドメイン.テスト
90
+
91
+ Conversions can be applied at a per-label basis using the ``ulabel`` or
92
+ ``alabel`` functions if necessary:
93
+
94
+ .. code-block:: pycon
95
+
96
+ >>> idna.alabel('测试')
97
+ b'xn--0zwm56d'
98
+
99
+
100
+ Compatibility Mapping (UTS #46)
101
+ +++++++++++++++++++++++++++++++
102
+
103
+ This library provides support for `Unicode IDNA Compatibility
104
+ Processing <https://unicode.org/reports/tr46/>`_ which normalizes input from
105
+ different potential ways a user may input a domain prior to performing the IDNA
106
+ conversion operations. This functionality, known as a
107
+ `mapping <https://tools.ietf.org/html/rfc5895>`_, is considered by the
108
+ specification to be a local user-interface issue distinct from IDNA
109
+ conversion functionality.
110
+
111
+ For example, “Königsgäßchen” is not a permissible label as *LATIN
112
+ CAPITAL LETTER K* is not allowed (nor are capital letters in general).
113
+ UTS 46 will convert this into lower case prior to applying the IDNA
114
+ conversion.
115
+
116
+ .. code-block:: pycon
117
+
118
+ >>> import idna
119
+ >>> idna.encode('Königsgäßchen')
120
+ ...
121
+ idna.core.InvalidCodepoint: Codepoint U+004B at position 1 of 'Königsgäßchen' not allowed
122
+ >>> idna.encode('Königsgäßchen', uts46=True)
123
+ b'xn--knigsgchen-b4a3dun'
124
+ >>> print(idna.decode('xn--knigsgchen-b4a3dun'))
125
+ königsgäßchen
126
+
127
+
128
+ Exceptions
129
+ ----------
130
+
131
+ All errors raised during the conversion following the specification
132
+ should raise an exception derived from the ``idna.IDNAError`` base
133
+ class.
134
+
135
+ More specific exceptions that may be generated as ``idna.IDNABidiError``
136
+ when the error reflects an illegal combination of left-to-right and
137
+ right-to-left characters in a label; ``idna.InvalidCodepoint`` when
138
+ a specific codepoint is an illegal character in an IDN label (i.e.
139
+ INVALID); and ``idna.InvalidCodepointContext`` when the codepoint is
140
+ illegal based on its position in the string (i.e. it is CONTEXTO or CONTEXTJ
141
+ but the contextual requirements are not satisfied.)
142
+
143
+ Building and Diagnostics
144
+ ------------------------
145
+
146
+ The IDNA and UTS 46 functionality relies upon pre-calculated lookup
147
+ tables for performance. These tables are derived from computing against
148
+ eligibility criteria in the respective standards using the command-line
149
+ script ``tools/idna-data``.
150
+
151
+ This tool will fetch relevant codepoint data from the Unicode repository
152
+ and perform the required calculations to identify eligibility. There are
153
+ three main modes:
154
+
155
+ * ``idna-data make-libdata``. Generates ``idnadata.py`` and
156
+ ``uts46data.py``, the pre-calculated lookup tables used for IDNA and
157
+ UTS 46 conversions. Implementers who wish to track this library against
158
+ a different Unicode version may use this tool to manually generate a
159
+ different version of the ``idnadata.py`` and ``uts46data.py`` files.
160
+
161
+ * ``idna-data make-table``. Generate a table of the IDNA disposition
162
+ (e.g. PVALID, CONTEXTJ, CONTEXTO) in the format found in Appendix
163
+ B.1 of RFC 5892 and the pre-computed tables published by `IANA
164
+ <https://www.iana.org/>`_.
165
+
166
+ * ``idna-data U+0061``. Prints debugging output on the various
167
+ properties associated with an individual Unicode codepoint (in this
168
+ case, U+0061), that are used to assess the IDNA and UTS 46 status of a
169
+ codepoint. This is helpful in debugging or analysis.
170
+
171
+ The tool accepts a number of arguments, described using ``idna-data
172
+ -h``. Most notably, the ``--version`` argument allows the specification
173
+ of the version of Unicode to be used in computing the table data. For
174
+ example, ``idna-data --version 9.0.0 make-libdata`` will generate
175
+ library data against Unicode 9.0.0.
176
+
177
+
178
+ Additional Notes
179
+ ----------------
180
+
181
+ * **Packages**. The latest tagged release version is published in the
182
+ `Python Package Index <https://pypi.org/project/idna/>`_.
183
+
184
+ * **Version support**. This library supports Python 3.8 and higher.
185
+ As this library serves as a low-level toolkit for a variety of
186
+ applications, many of which strive for broad compatibility with older
187
+ Python versions, there is no rush to remove older interpreter support.
188
+ Support for older versions are likely to be removed from new releases
189
+ as automated tests can no longer easily be run, i.e. once the Python
190
+ version is officially end-of-life.
191
+
192
+ * **Testing**. The library has a test suite based on each rule of the
193
+ IDNA specification, as well as tests that are provided as part of the
194
+ Unicode Technical Standard 46, `Unicode IDNA Compatibility Processing
195
+ <https://unicode.org/reports/tr46/>`_.
196
+
197
+ * **Emoji**. It is an occasional request to support emoji domains in
198
+ this library. Encoding of symbols like emoji is expressly prohibited by
199
+ the technical standard IDNA 2008 and emoji domains are broadly phased
200
+ out across the domain industry due to associated security risks. For
201
+ now, applications that need to support these non-compliant labels
202
+ may wish to consider trying the encode/decode operation in this library
203
+ first, and then falling back to using `encodings.idna`. See `the Github
204
+ project <https://github.com/kjd/idna/issues/18>`_ for more discussion.
205
+
206
+ * **Transitional processing**. Unicode 16.0.0 removed transitional
207
+ processing so the `transitional` argument for the encode() method
208
+ no longer has any effect and will be removed at a later date.
209
+
venv/lib/python3.10/site-packages/idna-3.11.dist-info/RECORD ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ idna-3.11.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
2
+ idna-3.11.dist-info/METADATA,sha256=fCwSww9SuiN8TIHllFSASUQCW55hAs8dzKnr9RaEEbA,8378
3
+ idna-3.11.dist-info/RECORD,,
4
+ idna-3.11.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
5
+ idna-3.11.dist-info/licenses/LICENSE.md,sha256=t6M2q_OwThgOwGXN0W5wXQeeHMehT5EKpukYfza5zYc,1541
6
+ idna/__init__.py,sha256=MPqNDLZbXqGaNdXxAFhiqFPKEQXju2jNQhCey6-5eJM,868
7
+ idna/__pycache__/__init__.cpython-310.pyc,,
8
+ idna/__pycache__/codec.cpython-310.pyc,,
9
+ idna/__pycache__/compat.cpython-310.pyc,,
10
+ idna/__pycache__/core.cpython-310.pyc,,
11
+ idna/__pycache__/idnadata.cpython-310.pyc,,
12
+ idna/__pycache__/intranges.cpython-310.pyc,,
13
+ idna/__pycache__/package_data.cpython-310.pyc,,
14
+ idna/__pycache__/uts46data.cpython-310.pyc,,
15
+ idna/codec.py,sha256=M2SGWN7cs_6B32QmKTyTN6xQGZeYQgQ2wiX3_DR6loE,3438
16
+ idna/compat.py,sha256=RzLy6QQCdl9784aFhb2EX9EKGCJjg0P3PilGdeXXcx8,316
17
+ idna/core.py,sha256=P26_XVycuMTZ1R2mNK1ZREVzM5mvTzdabBXfyZVU1Lc,13246
18
+ idna/idnadata.py,sha256=SG8jhaGE53iiD6B49pt2pwTv_UvClciWE-N54oR2p4U,79623
19
+ idna/intranges.py,sha256=amUtkdhYcQG8Zr-CoMM_kVRacxkivC1WgxN1b63KKdU,1898
20
+ idna/package_data.py,sha256=_CUavOxobnbyNG2FLyHoN8QHP3QM9W1tKuw7eq9QwBk,21
21
+ idna/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ idna/uts46data.py,sha256=H9J35VkD0F9L9mKOqjeNGd2A-Va6FlPoz6Jz4K7h-ps,243725
venv/lib/python3.10/site-packages/idna-3.11.dist-info/WHEEL ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ Wheel-Version: 1.0
2
+ Generator: flit 3.12.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
venv/lib/python3.10/site-packages/idna-3.11.dist-info/licenses/LICENSE.md ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2013-2025, Kim Davies and contributors.
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are
8
+ met:
9
+
10
+ 1. Redistributions of source code must retain the above copyright
11
+ notice, this list of conditions and the following disclaimer.
12
+
13
+ 2. Redistributions in binary form must reproduce the above copyright
14
+ notice, this list of conditions and the following disclaimer in the
15
+ documentation and/or other materials provided with the distribution.
16
+
17
+ 3. Neither the name of the copyright holder nor the names of its
18
+ contributors may be used to endorse or promote products derived from
19
+ this software without specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
27
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
venv/lib/python3.10/site-packages/idna/__init__.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from .core import (
2
+ IDNABidiError,
3
+ IDNAError,
4
+ InvalidCodepoint,
5
+ InvalidCodepointContext,
6
+ alabel,
7
+ check_bidi,
8
+ check_hyphen_ok,
9
+ check_initial_combiner,
10
+ check_label,
11
+ check_nfc,
12
+ decode,
13
+ encode,
14
+ ulabel,
15
+ uts46_remap,
16
+ valid_contextj,
17
+ valid_contexto,
18
+ valid_label_length,
19
+ valid_string_length,
20
+ )
21
+ from .intranges import intranges_contain
22
+ from .package_data import __version__
23
+
24
+ __all__ = [
25
+ "__version__",
26
+ "IDNABidiError",
27
+ "IDNAError",
28
+ "InvalidCodepoint",
29
+ "InvalidCodepointContext",
30
+ "alabel",
31
+ "check_bidi",
32
+ "check_hyphen_ok",
33
+ "check_initial_combiner",
34
+ "check_label",
35
+ "check_nfc",
36
+ "decode",
37
+ "encode",
38
+ "intranges_contain",
39
+ "ulabel",
40
+ "uts46_remap",
41
+ "valid_contextj",
42
+ "valid_contexto",
43
+ "valid_label_length",
44
+ "valid_string_length",
45
+ ]
venv/lib/python3.10/site-packages/idna/__pycache__/__init__.cpython-310.pyc ADDED
Binary file (939 Bytes). View file
 
venv/lib/python3.10/site-packages/idna/__pycache__/codec.cpython-310.pyc ADDED
Binary file (3.36 kB). View file
 
venv/lib/python3.10/site-packages/idna/__pycache__/compat.cpython-310.pyc ADDED
Binary file (842 Bytes). View file
 
venv/lib/python3.10/site-packages/idna/__pycache__/core.cpython-310.pyc ADDED
Binary file (9.76 kB). View file
 
venv/lib/python3.10/site-packages/idna/__pycache__/intranges.cpython-310.pyc ADDED
Binary file (2.07 kB). View file
 
venv/lib/python3.10/site-packages/idna/__pycache__/package_data.cpython-310.pyc ADDED
Binary file (299 Bytes). View file
 
venv/lib/python3.10/site-packages/idna/codec.py ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import codecs
2
+ import re
3
+ from typing import Any, Optional, Tuple
4
+
5
+ from .core import IDNAError, alabel, decode, encode, ulabel
6
+
7
+ _unicode_dots_re = re.compile("[\u002e\u3002\uff0e\uff61]")
8
+
9
+
10
+ class Codec(codecs.Codec):
11
+ def encode(self, data: str, errors: str = "strict") -> Tuple[bytes, int]:
12
+ if errors != "strict":
13
+ raise IDNAError('Unsupported error handling "{}"'.format(errors))
14
+
15
+ if not data:
16
+ return b"", 0
17
+
18
+ return encode(data), len(data)
19
+
20
+ def decode(self, data: bytes, errors: str = "strict") -> Tuple[str, int]:
21
+ if errors != "strict":
22
+ raise IDNAError('Unsupported error handling "{}"'.format(errors))
23
+
24
+ if not data:
25
+ return "", 0
26
+
27
+ return decode(data), len(data)
28
+
29
+
30
+ class IncrementalEncoder(codecs.BufferedIncrementalEncoder):
31
+ def _buffer_encode(self, data: str, errors: str, final: bool) -> Tuple[bytes, int]:
32
+ if errors != "strict":
33
+ raise IDNAError('Unsupported error handling "{}"'.format(errors))
34
+
35
+ if not data:
36
+ return b"", 0
37
+
38
+ labels = _unicode_dots_re.split(data)
39
+ trailing_dot = b""
40
+ if labels:
41
+ if not labels[-1]:
42
+ trailing_dot = b"."
43
+ del labels[-1]
44
+ elif not final:
45
+ # Keep potentially unfinished label until the next call
46
+ del labels[-1]
47
+ if labels:
48
+ trailing_dot = b"."
49
+
50
+ result = []
51
+ size = 0
52
+ for label in labels:
53
+ result.append(alabel(label))
54
+ if size:
55
+ size += 1
56
+ size += len(label)
57
+
58
+ # Join with U+002E
59
+ result_bytes = b".".join(result) + trailing_dot
60
+ size += len(trailing_dot)
61
+ return result_bytes, size
62
+
63
+
64
+ class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
65
+ def _buffer_decode(self, data: Any, errors: str, final: bool) -> Tuple[str, int]:
66
+ if errors != "strict":
67
+ raise IDNAError('Unsupported error handling "{}"'.format(errors))
68
+
69
+ if not data:
70
+ return ("", 0)
71
+
72
+ if not isinstance(data, str):
73
+ data = str(data, "ascii")
74
+
75
+ labels = _unicode_dots_re.split(data)
76
+ trailing_dot = ""
77
+ if labels:
78
+ if not labels[-1]:
79
+ trailing_dot = "."
80
+ del labels[-1]
81
+ elif not final:
82
+ # Keep potentially unfinished label until the next call
83
+ del labels[-1]
84
+ if labels:
85
+ trailing_dot = "."
86
+
87
+ result = []
88
+ size = 0
89
+ for label in labels:
90
+ result.append(ulabel(label))
91
+ if size:
92
+ size += 1
93
+ size += len(label)
94
+
95
+ result_str = ".".join(result) + trailing_dot
96
+ size += len(trailing_dot)
97
+ return (result_str, size)
98
+
99
+
100
+ class StreamWriter(Codec, codecs.StreamWriter):
101
+ pass
102
+
103
+
104
+ class StreamReader(Codec, codecs.StreamReader):
105
+ pass
106
+
107
+
108
+ def search_function(name: str) -> Optional[codecs.CodecInfo]:
109
+ if name != "idna2008":
110
+ return None
111
+ return codecs.CodecInfo(
112
+ name=name,
113
+ encode=Codec().encode,
114
+ decode=Codec().decode, # type: ignore
115
+ incrementalencoder=IncrementalEncoder,
116
+ incrementaldecoder=IncrementalDecoder,
117
+ streamwriter=StreamWriter,
118
+ streamreader=StreamReader,
119
+ )
120
+
121
+
122
+ codecs.register(search_function)
venv/lib/python3.10/site-packages/idna/compat.py ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, Union
2
+
3
+ from .core import decode, encode
4
+
5
+
6
+ def ToASCII(label: str) -> bytes:
7
+ return encode(label)
8
+
9
+
10
+ def ToUnicode(label: Union[bytes, bytearray]) -> str:
11
+ return decode(label)
12
+
13
+
14
+ def nameprep(s: Any) -> None:
15
+ raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol")
venv/lib/python3.10/site-packages/idna/core.py ADDED
@@ -0,0 +1,437 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import bisect
2
+ import re
3
+ import unicodedata
4
+ from typing import Optional, Union
5
+
6
+ from . import idnadata
7
+ from .intranges import intranges_contain
8
+
9
+ _virama_combining_class = 9
10
+ _alabel_prefix = b"xn--"
11
+ _unicode_dots_re = re.compile("[\u002e\u3002\uff0e\uff61]")
12
+
13
+
14
+ class IDNAError(UnicodeError):
15
+ """Base exception for all IDNA-encoding related problems"""
16
+
17
+ pass
18
+
19
+
20
+ class IDNABidiError(IDNAError):
21
+ """Exception when bidirectional requirements are not satisfied"""
22
+
23
+ pass
24
+
25
+
26
+ class InvalidCodepoint(IDNAError):
27
+ """Exception when a disallowed or unallocated codepoint is used"""
28
+
29
+ pass
30
+
31
+
32
+ class InvalidCodepointContext(IDNAError):
33
+ """Exception when the codepoint is not valid in the context it is used"""
34
+
35
+ pass
36
+
37
+
38
+ def _combining_class(cp: int) -> int:
39
+ v = unicodedata.combining(chr(cp))
40
+ if v == 0:
41
+ if not unicodedata.name(chr(cp)):
42
+ raise ValueError("Unknown character in unicodedata")
43
+ return v
44
+
45
+
46
+ def _is_script(cp: str, script: str) -> bool:
47
+ return intranges_contain(ord(cp), idnadata.scripts[script])
48
+
49
+
50
+ def _punycode(s: str) -> bytes:
51
+ return s.encode("punycode")
52
+
53
+
54
+ def _unot(s: int) -> str:
55
+ return "U+{:04X}".format(s)
56
+
57
+
58
+ def valid_label_length(label: Union[bytes, str]) -> bool:
59
+ if len(label) > 63:
60
+ return False
61
+ return True
62
+
63
+
64
+ def valid_string_length(label: Union[bytes, str], trailing_dot: bool) -> bool:
65
+ if len(label) > (254 if trailing_dot else 253):
66
+ return False
67
+ return True
68
+
69
+
70
+ def check_bidi(label: str, check_ltr: bool = False) -> bool:
71
+ # Bidi rules should only be applied if string contains RTL characters
72
+ bidi_label = False
73
+ for idx, cp in enumerate(label, 1):
74
+ direction = unicodedata.bidirectional(cp)
75
+ if direction == "":
76
+ # String likely comes from a newer version of Unicode
77
+ raise IDNABidiError("Unknown directionality in label {} at position {}".format(repr(label), idx))
78
+ if direction in ["R", "AL", "AN"]:
79
+ bidi_label = True
80
+ if not bidi_label and not check_ltr:
81
+ return True
82
+
83
+ # Bidi rule 1
84
+ direction = unicodedata.bidirectional(label[0])
85
+ if direction in ["R", "AL"]:
86
+ rtl = True
87
+ elif direction == "L":
88
+ rtl = False
89
+ else:
90
+ raise IDNABidiError("First codepoint in label {} must be directionality L, R or AL".format(repr(label)))
91
+
92
+ valid_ending = False
93
+ number_type: Optional[str] = None
94
+ for idx, cp in enumerate(label, 1):
95
+ direction = unicodedata.bidirectional(cp)
96
+
97
+ if rtl:
98
+ # Bidi rule 2
99
+ if direction not in [
100
+ "R",
101
+ "AL",
102
+ "AN",
103
+ "EN",
104
+ "ES",
105
+ "CS",
106
+ "ET",
107
+ "ON",
108
+ "BN",
109
+ "NSM",
110
+ ]:
111
+ raise IDNABidiError("Invalid direction for codepoint at position {} in a right-to-left label".format(idx))
112
+ # Bidi rule 3
113
+ if direction in ["R", "AL", "EN", "AN"]:
114
+ valid_ending = True
115
+ elif direction != "NSM":
116
+ valid_ending = False
117
+ # Bidi rule 4
118
+ if direction in ["AN", "EN"]:
119
+ if not number_type:
120
+ number_type = direction
121
+ else:
122
+ if number_type != direction:
123
+ raise IDNABidiError("Can not mix numeral types in a right-to-left label")
124
+ else:
125
+ # Bidi rule 5
126
+ if direction not in ["L", "EN", "ES", "CS", "ET", "ON", "BN", "NSM"]:
127
+ raise IDNABidiError("Invalid direction for codepoint at position {} in a left-to-right label".format(idx))
128
+ # Bidi rule 6
129
+ if direction in ["L", "EN"]:
130
+ valid_ending = True
131
+ elif direction != "NSM":
132
+ valid_ending = False
133
+
134
+ if not valid_ending:
135
+ raise IDNABidiError("Label ends with illegal codepoint directionality")
136
+
137
+ return True
138
+
139
+
140
+ def check_initial_combiner(label: str) -> bool:
141
+ if unicodedata.category(label[0])[0] == "M":
142
+ raise IDNAError("Label begins with an illegal combining character")
143
+ return True
144
+
145
+
146
+ def check_hyphen_ok(label: str) -> bool:
147
+ if label[2:4] == "--":
148
+ raise IDNAError("Label has disallowed hyphens in 3rd and 4th position")
149
+ if label[0] == "-" or label[-1] == "-":
150
+ raise IDNAError("Label must not start or end with a hyphen")
151
+ return True
152
+
153
+
154
+ def check_nfc(label: str) -> None:
155
+ if unicodedata.normalize("NFC", label) != label:
156
+ raise IDNAError("Label must be in Normalization Form C")
157
+
158
+
159
+ def valid_contextj(label: str, pos: int) -> bool:
160
+ cp_value = ord(label[pos])
161
+
162
+ if cp_value == 0x200C:
163
+ if pos > 0:
164
+ if _combining_class(ord(label[pos - 1])) == _virama_combining_class:
165
+ return True
166
+
167
+ ok = False
168
+ for i in range(pos - 1, -1, -1):
169
+ joining_type = idnadata.joining_types.get(ord(label[i]))
170
+ if joining_type == ord("T"):
171
+ continue
172
+ elif joining_type in [ord("L"), ord("D")]:
173
+ ok = True
174
+ break
175
+ else:
176
+ break
177
+
178
+ if not ok:
179
+ return False
180
+
181
+ ok = False
182
+ for i in range(pos + 1, len(label)):
183
+ joining_type = idnadata.joining_types.get(ord(label[i]))
184
+ if joining_type == ord("T"):
185
+ continue
186
+ elif joining_type in [ord("R"), ord("D")]:
187
+ ok = True
188
+ break
189
+ else:
190
+ break
191
+ return ok
192
+
193
+ if cp_value == 0x200D:
194
+ if pos > 0:
195
+ if _combining_class(ord(label[pos - 1])) == _virama_combining_class:
196
+ return True
197
+ return False
198
+
199
+ else:
200
+ return False
201
+
202
+
203
+ def valid_contexto(label: str, pos: int, exception: bool = False) -> bool:
204
+ cp_value = ord(label[pos])
205
+
206
+ if cp_value == 0x00B7:
207
+ if 0 < pos < len(label) - 1:
208
+ if ord(label[pos - 1]) == 0x006C and ord(label[pos + 1]) == 0x006C:
209
+ return True
210
+ return False
211
+
212
+ elif cp_value == 0x0375:
213
+ if pos < len(label) - 1 and len(label) > 1:
214
+ return _is_script(label[pos + 1], "Greek")
215
+ return False
216
+
217
+ elif cp_value == 0x05F3 or cp_value == 0x05F4:
218
+ if pos > 0:
219
+ return _is_script(label[pos - 1], "Hebrew")
220
+ return False
221
+
222
+ elif cp_value == 0x30FB:
223
+ for cp in label:
224
+ if cp == "\u30fb":
225
+ continue
226
+ if _is_script(cp, "Hiragana") or _is_script(cp, "Katakana") or _is_script(cp, "Han"):
227
+ return True
228
+ return False
229
+
230
+ elif 0x660 <= cp_value <= 0x669:
231
+ for cp in label:
232
+ if 0x6F0 <= ord(cp) <= 0x06F9:
233
+ return False
234
+ return True
235
+
236
+ elif 0x6F0 <= cp_value <= 0x6F9:
237
+ for cp in label:
238
+ if 0x660 <= ord(cp) <= 0x0669:
239
+ return False
240
+ return True
241
+
242
+ return False
243
+
244
+
245
+ def check_label(label: Union[str, bytes, bytearray]) -> None:
246
+ if isinstance(label, (bytes, bytearray)):
247
+ label = label.decode("utf-8")
248
+ if len(label) == 0:
249
+ raise IDNAError("Empty Label")
250
+
251
+ check_nfc(label)
252
+ check_hyphen_ok(label)
253
+ check_initial_combiner(label)
254
+
255
+ for pos, cp in enumerate(label):
256
+ cp_value = ord(cp)
257
+ if intranges_contain(cp_value, idnadata.codepoint_classes["PVALID"]):
258
+ continue
259
+ elif intranges_contain(cp_value, idnadata.codepoint_classes["CONTEXTJ"]):
260
+ try:
261
+ if not valid_contextj(label, pos):
262
+ raise InvalidCodepointContext(
263
+ "Joiner {} not allowed at position {} in {}".format(_unot(cp_value), pos + 1, repr(label))
264
+ )
265
+ except ValueError:
266
+ raise IDNAError(
267
+ "Unknown codepoint adjacent to joiner {} at position {} in {}".format(
268
+ _unot(cp_value), pos + 1, repr(label)
269
+ )
270
+ )
271
+ elif intranges_contain(cp_value, idnadata.codepoint_classes["CONTEXTO"]):
272
+ if not valid_contexto(label, pos):
273
+ raise InvalidCodepointContext(
274
+ "Codepoint {} not allowed at position {} in {}".format(_unot(cp_value), pos + 1, repr(label))
275
+ )
276
+ else:
277
+ raise InvalidCodepoint(
278
+ "Codepoint {} at position {} of {} not allowed".format(_unot(cp_value), pos + 1, repr(label))
279
+ )
280
+
281
+ check_bidi(label)
282
+
283
+
284
+ def alabel(label: str) -> bytes:
285
+ try:
286
+ label_bytes = label.encode("ascii")
287
+ ulabel(label_bytes)
288
+ if not valid_label_length(label_bytes):
289
+ raise IDNAError("Label too long")
290
+ return label_bytes
291
+ except UnicodeEncodeError:
292
+ pass
293
+
294
+ check_label(label)
295
+ label_bytes = _alabel_prefix + _punycode(label)
296
+
297
+ if not valid_label_length(label_bytes):
298
+ raise IDNAError("Label too long")
299
+
300
+ return label_bytes
301
+
302
+
303
+ def ulabel(label: Union[str, bytes, bytearray]) -> str:
304
+ if not isinstance(label, (bytes, bytearray)):
305
+ try:
306
+ label_bytes = label.encode("ascii")
307
+ except UnicodeEncodeError:
308
+ check_label(label)
309
+ return label
310
+ else:
311
+ label_bytes = bytes(label)
312
+
313
+ label_bytes = label_bytes.lower()
314
+ if label_bytes.startswith(_alabel_prefix):
315
+ label_bytes = label_bytes[len(_alabel_prefix) :]
316
+ if not label_bytes:
317
+ raise IDNAError("Malformed A-label, no Punycode eligible content found")
318
+ if label_bytes.decode("ascii")[-1] == "-":
319
+ raise IDNAError("A-label must not end with a hyphen")
320
+ else:
321
+ check_label(label_bytes)
322
+ return label_bytes.decode("ascii")
323
+
324
+ try:
325
+ label = label_bytes.decode("punycode")
326
+ except UnicodeError:
327
+ raise IDNAError("Invalid A-label")
328
+ check_label(label)
329
+ return label
330
+
331
+
332
+ def uts46_remap(domain: str, std3_rules: bool = True, transitional: bool = False) -> str:
333
+ """Re-map the characters in the string according to UTS46 processing."""
334
+ from .uts46data import uts46data
335
+
336
+ output = ""
337
+
338
+ for pos, char in enumerate(domain):
339
+ code_point = ord(char)
340
+ try:
341
+ uts46row = uts46data[code_point if code_point < 256 else bisect.bisect_left(uts46data, (code_point, "Z")) - 1]
342
+ status = uts46row[1]
343
+ replacement: Optional[str] = None
344
+ if len(uts46row) == 3:
345
+ replacement = uts46row[2]
346
+ if (
347
+ status == "V"
348
+ or (status == "D" and not transitional)
349
+ or (status == "3" and not std3_rules and replacement is None)
350
+ ):
351
+ output += char
352
+ elif replacement is not None and (
353
+ status == "M" or (status == "3" and not std3_rules) or (status == "D" and transitional)
354
+ ):
355
+ output += replacement
356
+ elif status != "I":
357
+ raise IndexError()
358
+ except IndexError:
359
+ raise InvalidCodepoint(
360
+ "Codepoint {} not allowed at position {} in {}".format(_unot(code_point), pos + 1, repr(domain))
361
+ )
362
+
363
+ return unicodedata.normalize("NFC", output)
364
+
365
+
366
+ def encode(
367
+ s: Union[str, bytes, bytearray],
368
+ strict: bool = False,
369
+ uts46: bool = False,
370
+ std3_rules: bool = False,
371
+ transitional: bool = False,
372
+ ) -> bytes:
373
+ if not isinstance(s, str):
374
+ try:
375
+ s = str(s, "ascii")
376
+ except UnicodeDecodeError:
377
+ raise IDNAError("should pass a unicode string to the function rather than a byte string.")
378
+ if uts46:
379
+ s = uts46_remap(s, std3_rules, transitional)
380
+ trailing_dot = False
381
+ result = []
382
+ if strict:
383
+ labels = s.split(".")
384
+ else:
385
+ labels = _unicode_dots_re.split(s)
386
+ if not labels or labels == [""]:
387
+ raise IDNAError("Empty domain")
388
+ if labels[-1] == "":
389
+ del labels[-1]
390
+ trailing_dot = True
391
+ for label in labels:
392
+ s = alabel(label)
393
+ if s:
394
+ result.append(s)
395
+ else:
396
+ raise IDNAError("Empty label")
397
+ if trailing_dot:
398
+ result.append(b"")
399
+ s = b".".join(result)
400
+ if not valid_string_length(s, trailing_dot):
401
+ raise IDNAError("Domain too long")
402
+ return s
403
+
404
+
405
+ def decode(
406
+ s: Union[str, bytes, bytearray],
407
+ strict: bool = False,
408
+ uts46: bool = False,
409
+ std3_rules: bool = False,
410
+ ) -> str:
411
+ try:
412
+ if not isinstance(s, str):
413
+ s = str(s, "ascii")
414
+ except UnicodeDecodeError:
415
+ raise IDNAError("Invalid ASCII in A-label")
416
+ if uts46:
417
+ s = uts46_remap(s, std3_rules, False)
418
+ trailing_dot = False
419
+ result = []
420
+ if not strict:
421
+ labels = _unicode_dots_re.split(s)
422
+ else:
423
+ labels = s.split(".")
424
+ if not labels or labels == [""]:
425
+ raise IDNAError("Empty domain")
426
+ if not labels[-1]:
427
+ del labels[-1]
428
+ trailing_dot = True
429
+ for label in labels:
430
+ s = ulabel(label)
431
+ if s:
432
+ result.append(s)
433
+ else:
434
+ raise IDNAError("Empty label")
435
+ if trailing_dot:
436
+ result.append("")
437
+ return ".".join(result)
venv/lib/python3.10/site-packages/idna/idnadata.py ADDED
@@ -0,0 +1,4309 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file is automatically generated by tools/idna-data
2
+
3
+ __version__ = "16.0.0"
4
+
5
+ scripts = {
6
+ "Greek": (
7
+ 0x37000000374,
8
+ 0x37500000378,
9
+ 0x37A0000037E,
10
+ 0x37F00000380,
11
+ 0x38400000385,
12
+ 0x38600000387,
13
+ 0x3880000038B,
14
+ 0x38C0000038D,
15
+ 0x38E000003A2,
16
+ 0x3A3000003E2,
17
+ 0x3F000000400,
18
+ 0x1D2600001D2B,
19
+ 0x1D5D00001D62,
20
+ 0x1D6600001D6B,
21
+ 0x1DBF00001DC0,
22
+ 0x1F0000001F16,
23
+ 0x1F1800001F1E,
24
+ 0x1F2000001F46,
25
+ 0x1F4800001F4E,
26
+ 0x1F5000001F58,
27
+ 0x1F5900001F5A,
28
+ 0x1F5B00001F5C,
29
+ 0x1F5D00001F5E,
30
+ 0x1F5F00001F7E,
31
+ 0x1F8000001FB5,
32
+ 0x1FB600001FC5,
33
+ 0x1FC600001FD4,
34
+ 0x1FD600001FDC,
35
+ 0x1FDD00001FF0,
36
+ 0x1FF200001FF5,
37
+ 0x1FF600001FFF,
38
+ 0x212600002127,
39
+ 0xAB650000AB66,
40
+ 0x101400001018F,
41
+ 0x101A0000101A1,
42
+ 0x1D2000001D246,
43
+ ),
44
+ "Han": (
45
+ 0x2E8000002E9A,
46
+ 0x2E9B00002EF4,
47
+ 0x2F0000002FD6,
48
+ 0x300500003006,
49
+ 0x300700003008,
50
+ 0x30210000302A,
51
+ 0x30380000303C,
52
+ 0x340000004DC0,
53
+ 0x4E000000A000,
54
+ 0xF9000000FA6E,
55
+ 0xFA700000FADA,
56
+ 0x16FE200016FE4,
57
+ 0x16FF000016FF2,
58
+ 0x200000002A6E0,
59
+ 0x2A7000002B73A,
60
+ 0x2B7400002B81E,
61
+ 0x2B8200002CEA2,
62
+ 0x2CEB00002EBE1,
63
+ 0x2EBF00002EE5E,
64
+ 0x2F8000002FA1E,
65
+ 0x300000003134B,
66
+ 0x31350000323B0,
67
+ ),
68
+ "Hebrew": (
69
+ 0x591000005C8,
70
+ 0x5D0000005EB,
71
+ 0x5EF000005F5,
72
+ 0xFB1D0000FB37,
73
+ 0xFB380000FB3D,
74
+ 0xFB3E0000FB3F,
75
+ 0xFB400000FB42,
76
+ 0xFB430000FB45,
77
+ 0xFB460000FB50,
78
+ ),
79
+ "Hiragana": (
80
+ 0x304100003097,
81
+ 0x309D000030A0,
82
+ 0x1B0010001B120,
83
+ 0x1B1320001B133,
84
+ 0x1B1500001B153,
85
+ 0x1F2000001F201,
86
+ ),
87
+ "Katakana": (
88
+ 0x30A1000030FB,
89
+ 0x30FD00003100,
90
+ 0x31F000003200,
91
+ 0x32D0000032FF,
92
+ 0x330000003358,
93
+ 0xFF660000FF70,
94
+ 0xFF710000FF9E,
95
+ 0x1AFF00001AFF4,
96
+ 0x1AFF50001AFFC,
97
+ 0x1AFFD0001AFFF,
98
+ 0x1B0000001B001,
99
+ 0x1B1200001B123,
100
+ 0x1B1550001B156,
101
+ 0x1B1640001B168,
102
+ ),
103
+ }
104
+ joining_types = {
105
+ 0xAD: 84,
106
+ 0x300: 84,
107
+ 0x301: 84,
108
+ 0x302: 84,
109
+ 0x303: 84,
110
+ 0x304: 84,
111
+ 0x305: 84,
112
+ 0x306: 84,
113
+ 0x307: 84,
114
+ 0x308: 84,
115
+ 0x309: 84,
116
+ 0x30A: 84,
117
+ 0x30B: 84,
118
+ 0x30C: 84,
119
+ 0x30D: 84,
120
+ 0x30E: 84,
121
+ 0x30F: 84,
122
+ 0x310: 84,
123
+ 0x311: 84,
124
+ 0x312: 84,
125
+ 0x313: 84,
126
+ 0x314: 84,
127
+ 0x315: 84,
128
+ 0x316: 84,
129
+ 0x317: 84,
130
+ 0x318: 84,
131
+ 0x319: 84,
132
+ 0x31A: 84,
133
+ 0x31B: 84,
134
+ 0x31C: 84,
135
+ 0x31D: 84,
136
+ 0x31E: 84,
137
+ 0x31F: 84,
138
+ 0x320: 84,
139
+ 0x321: 84,
140
+ 0x322: 84,
141
+ 0x323: 84,
142
+ 0x324: 84,
143
+ 0x325: 84,
144
+ 0x326: 84,
145
+ 0x327: 84,
146
+ 0x328: 84,
147
+ 0x329: 84,
148
+ 0x32A: 84,
149
+ 0x32B: 84,
150
+ 0x32C: 84,
151
+ 0x32D: 84,
152
+ 0x32E: 84,
153
+ 0x32F: 84,
154
+ 0x330: 84,
155
+ 0x331: 84,
156
+ 0x332: 84,
157
+ 0x333: 84,
158
+ 0x334: 84,
159
+ 0x335: 84,
160
+ 0x336: 84,
161
+ 0x337: 84,
162
+ 0x338: 84,
163
+ 0x339: 84,
164
+ 0x33A: 84,
165
+ 0x33B: 84,
166
+ 0x33C: 84,
167
+ 0x33D: 84,
168
+ 0x33E: 84,
169
+ 0x33F: 84,
170
+ 0x340: 84,
171
+ 0x341: 84,
172
+ 0x342: 84,
173
+ 0x343: 84,
174
+ 0x344: 84,
175
+ 0x345: 84,
176
+ 0x346: 84,
177
+ 0x347: 84,
178
+ 0x348: 84,
179
+ 0x349: 84,
180
+ 0x34A: 84,
181
+ 0x34B: 84,
182
+ 0x34C: 84,
183
+ 0x34D: 84,
184
+ 0x34E: 84,
185
+ 0x34F: 84,
186
+ 0x350: 84,
187
+ 0x351: 84,
188
+ 0x352: 84,
189
+ 0x353: 84,
190
+ 0x354: 84,
191
+ 0x355: 84,
192
+ 0x356: 84,
193
+ 0x357: 84,
194
+ 0x358: 84,
195
+ 0x359: 84,
196
+ 0x35A: 84,
197
+ 0x35B: 84,
198
+ 0x35C: 84,
199
+ 0x35D: 84,
200
+ 0x35E: 84,
201
+ 0x35F: 84,
202
+ 0x360: 84,
203
+ 0x361: 84,
204
+ 0x362: 84,
205
+ 0x363: 84,
206
+ 0x364: 84,
207
+ 0x365: 84,
208
+ 0x366: 84,
209
+ 0x367: 84,
210
+ 0x368: 84,
211
+ 0x369: 84,
212
+ 0x36A: 84,
213
+ 0x36B: 84,
214
+ 0x36C: 84,
215
+ 0x36D: 84,
216
+ 0x36E: 84,
217
+ 0x36F: 84,
218
+ 0x483: 84,
219
+ 0x484: 84,
220
+ 0x485: 84,
221
+ 0x486: 84,
222
+ 0x487: 84,
223
+ 0x488: 84,
224
+ 0x489: 84,
225
+ 0x591: 84,
226
+ 0x592: 84,
227
+ 0x593: 84,
228
+ 0x594: 84,
229
+ 0x595: 84,
230
+ 0x596: 84,
231
+ 0x597: 84,
232
+ 0x598: 84,
233
+ 0x599: 84,
234
+ 0x59A: 84,
235
+ 0x59B: 84,
236
+ 0x59C: 84,
237
+ 0x59D: 84,
238
+ 0x59E: 84,
239
+ 0x59F: 84,
240
+ 0x5A0: 84,
241
+ 0x5A1: 84,
242
+ 0x5A2: 84,
243
+ 0x5A3: 84,
244
+ 0x5A4: 84,
245
+ 0x5A5: 84,
246
+ 0x5A6: 84,
247
+ 0x5A7: 84,
248
+ 0x5A8: 84,
249
+ 0x5A9: 84,
250
+ 0x5AA: 84,
251
+ 0x5AB: 84,
252
+ 0x5AC: 84,
253
+ 0x5AD: 84,
254
+ 0x5AE: 84,
255
+ 0x5AF: 84,
256
+ 0x5B0: 84,
257
+ 0x5B1: 84,
258
+ 0x5B2: 84,
259
+ 0x5B3: 84,
260
+ 0x5B4: 84,
261
+ 0x5B5: 84,
262
+ 0x5B6: 84,
263
+ 0x5B7: 84,
264
+ 0x5B8: 84,
265
+ 0x5B9: 84,
266
+ 0x5BA: 84,
267
+ 0x5BB: 84,
268
+ 0x5BC: 84,
269
+ 0x5BD: 84,
270
+ 0x5BF: 84,
271
+ 0x5C1: 84,
272
+ 0x5C2: 84,
273
+ 0x5C4: 84,
274
+ 0x5C5: 84,
275
+ 0x5C7: 84,
276
+ 0x610: 84,
277
+ 0x611: 84,
278
+ 0x612: 84,
279
+ 0x613: 84,
280
+ 0x614: 84,
281
+ 0x615: 84,
282
+ 0x616: 84,
283
+ 0x617: 84,
284
+ 0x618: 84,
285
+ 0x619: 84,
286
+ 0x61A: 84,
287
+ 0x61C: 84,
288
+ 0x620: 68,
289
+ 0x622: 82,
290
+ 0x623: 82,
291
+ 0x624: 82,
292
+ 0x625: 82,
293
+ 0x626: 68,
294
+ 0x627: 82,
295
+ 0x628: 68,
296
+ 0x629: 82,
297
+ 0x62A: 68,
298
+ 0x62B: 68,
299
+ 0x62C: 68,
300
+ 0x62D: 68,
301
+ 0x62E: 68,
302
+ 0x62F: 82,
303
+ 0x630: 82,
304
+ 0x631: 82,
305
+ 0x632: 82,
306
+ 0x633: 68,
307
+ 0x634: 68,
308
+ 0x635: 68,
309
+ 0x636: 68,
310
+ 0x637: 68,
311
+ 0x638: 68,
312
+ 0x639: 68,
313
+ 0x63A: 68,
314
+ 0x63B: 68,
315
+ 0x63C: 68,
316
+ 0x63D: 68,
317
+ 0x63E: 68,
318
+ 0x63F: 68,
319
+ 0x640: 67,
320
+ 0x641: 68,
321
+ 0x642: 68,
322
+ 0x643: 68,
323
+ 0x644: 68,
324
+ 0x645: 68,
325
+ 0x646: 68,
326
+ 0x647: 68,
327
+ 0x648: 82,
328
+ 0x649: 68,
329
+ 0x64A: 68,
330
+ 0x64B: 84,
331
+ 0x64C: 84,
332
+ 0x64D: 84,
333
+ 0x64E: 84,
334
+ 0x64F: 84,
335
+ 0x650: 84,
336
+ 0x651: 84,
337
+ 0x652: 84,
338
+ 0x653: 84,
339
+ 0x654: 84,
340
+ 0x655: 84,
341
+ 0x656: 84,
342
+ 0x657: 84,
343
+ 0x658: 84,
344
+ 0x659: 84,
345
+ 0x65A: 84,
346
+ 0x65B: 84,
347
+ 0x65C: 84,
348
+ 0x65D: 84,
349
+ 0x65E: 84,
350
+ 0x65F: 84,
351
+ 0x66E: 68,
352
+ 0x66F: 68,
353
+ 0x670: 84,
354
+ 0x671: 82,
355
+ 0x672: 82,
356
+ 0x673: 82,
357
+ 0x675: 82,
358
+ 0x676: 82,
359
+ 0x677: 82,
360
+ 0x678: 68,
361
+ 0x679: 68,
362
+ 0x67A: 68,
363
+ 0x67B: 68,
364
+ 0x67C: 68,
365
+ 0x67D: 68,
366
+ 0x67E: 68,
367
+ 0x67F: 68,
368
+ 0x680: 68,
369
+ 0x681: 68,
370
+ 0x682: 68,
371
+ 0x683: 68,
372
+ 0x684: 68,
373
+ 0x685: 68,
374
+ 0x686: 68,
375
+ 0x687: 68,
376
+ 0x688: 82,
377
+ 0x689: 82,
378
+ 0x68A: 82,
379
+ 0x68B: 82,
380
+ 0x68C: 82,
381
+ 0x68D: 82,
382
+ 0x68E: 82,
383
+ 0x68F: 82,
384
+ 0x690: 82,
385
+ 0x691: 82,
386
+ 0x692: 82,
387
+ 0x693: 82,
388
+ 0x694: 82,
389
+ 0x695: 82,
390
+ 0x696: 82,
391
+ 0x697: 82,
392
+ 0x698: 82,
393
+ 0x699: 82,
394
+ 0x69A: 68,
395
+ 0x69B: 68,
396
+ 0x69C: 68,
397
+ 0x69D: 68,
398
+ 0x69E: 68,
399
+ 0x69F: 68,
400
+ 0x6A0: 68,
401
+ 0x6A1: 68,
402
+ 0x6A2: 68,
403
+ 0x6A3: 68,
404
+ 0x6A4: 68,
405
+ 0x6A5: 68,
406
+ 0x6A6: 68,
407
+ 0x6A7: 68,
408
+ 0x6A8: 68,
409
+ 0x6A9: 68,
410
+ 0x6AA: 68,
411
+ 0x6AB: 68,
412
+ 0x6AC: 68,
413
+ 0x6AD: 68,
414
+ 0x6AE: 68,
415
+ 0x6AF: 68,
416
+ 0x6B0: 68,
417
+ 0x6B1: 68,
418
+ 0x6B2: 68,
419
+ 0x6B3: 68,
420
+ 0x6B4: 68,
421
+ 0x6B5: 68,
422
+ 0x6B6: 68,
423
+ 0x6B7: 68,
424
+ 0x6B8: 68,
425
+ 0x6B9: 68,
426
+ 0x6BA: 68,
427
+ 0x6BB: 68,
428
+ 0x6BC: 68,
429
+ 0x6BD: 68,
430
+ 0x6BE: 68,
431
+ 0x6BF: 68,
432
+ 0x6C0: 82,
433
+ 0x6C1: 68,
434
+ 0x6C2: 68,
435
+ 0x6C3: 82,
436
+ 0x6C4: 82,
437
+ 0x6C5: 82,
438
+ 0x6C6: 82,
439
+ 0x6C7: 82,
440
+ 0x6C8: 82,
441
+ 0x6C9: 82,
442
+ 0x6CA: 82,
443
+ 0x6CB: 82,
444
+ 0x6CC: 68,
445
+ 0x6CD: 82,
446
+ 0x6CE: 68,
447
+ 0x6CF: 82,
448
+ 0x6D0: 68,
449
+ 0x6D1: 68,
450
+ 0x6D2: 82,
451
+ 0x6D3: 82,
452
+ 0x6D5: 82,
453
+ 0x6D6: 84,
454
+ 0x6D7: 84,
455
+ 0x6D8: 84,
456
+ 0x6D9: 84,
457
+ 0x6DA: 84,
458
+ 0x6DB: 84,
459
+ 0x6DC: 84,
460
+ 0x6DF: 84,
461
+ 0x6E0: 84,
462
+ 0x6E1: 84,
463
+ 0x6E2: 84,
464
+ 0x6E3: 84,
465
+ 0x6E4: 84,
466
+ 0x6E7: 84,
467
+ 0x6E8: 84,
468
+ 0x6EA: 84,
469
+ 0x6EB: 84,
470
+ 0x6EC: 84,
471
+ 0x6ED: 84,
472
+ 0x6EE: 82,
473
+ 0x6EF: 82,
474
+ 0x6FA: 68,
475
+ 0x6FB: 68,
476
+ 0x6FC: 68,
477
+ 0x6FF: 68,
478
+ 0x70F: 84,
479
+ 0x710: 82,
480
+ 0x711: 84,
481
+ 0x712: 68,
482
+ 0x713: 68,
483
+ 0x714: 68,
484
+ 0x715: 82,
485
+ 0x716: 82,
486
+ 0x717: 82,
487
+ 0x718: 82,
488
+ 0x719: 82,
489
+ 0x71A: 68,
490
+ 0x71B: 68,
491
+ 0x71C: 68,
492
+ 0x71D: 68,
493
+ 0x71E: 82,
494
+ 0x71F: 68,
495
+ 0x720: 68,
496
+ 0x721: 68,
497
+ 0x722: 68,
498
+ 0x723: 68,
499
+ 0x724: 68,
500
+ 0x725: 68,
501
+ 0x726: 68,
502
+ 0x727: 68,
503
+ 0x728: 82,
504
+ 0x729: 68,
505
+ 0x72A: 82,
506
+ 0x72B: 68,
507
+ 0x72C: 82,
508
+ 0x72D: 68,
509
+ 0x72E: 68,
510
+ 0x72F: 82,
511
+ 0x730: 84,
512
+ 0x731: 84,
513
+ 0x732: 84,
514
+ 0x733: 84,
515
+ 0x734: 84,
516
+ 0x735: 84,
517
+ 0x736: 84,
518
+ 0x737: 84,
519
+ 0x738: 84,
520
+ 0x739: 84,
521
+ 0x73A: 84,
522
+ 0x73B: 84,
523
+ 0x73C: 84,
524
+ 0x73D: 84,
525
+ 0x73E: 84,
526
+ 0x73F: 84,
527
+ 0x740: 84,
528
+ 0x741: 84,
529
+ 0x742: 84,
530
+ 0x743: 84,
531
+ 0x744: 84,
532
+ 0x745: 84,
533
+ 0x746: 84,
534
+ 0x747: 84,
535
+ 0x748: 84,
536
+ 0x749: 84,
537
+ 0x74A: 84,
538
+ 0x74D: 82,
539
+ 0x74E: 68,
540
+ 0x74F: 68,
541
+ 0x750: 68,
542
+ 0x751: 68,
543
+ 0x752: 68,
544
+ 0x753: 68,
545
+ 0x754: 68,
546
+ 0x755: 68,
547
+ 0x756: 68,
548
+ 0x757: 68,
549
+ 0x758: 68,
550
+ 0x759: 82,
551
+ 0x75A: 82,
552
+ 0x75B: 82,
553
+ 0x75C: 68,
554
+ 0x75D: 68,
555
+ 0x75E: 68,
556
+ 0x75F: 68,
557
+ 0x760: 68,
558
+ 0x761: 68,
559
+ 0x762: 68,
560
+ 0x763: 68,
561
+ 0x764: 68,
562
+ 0x765: 68,
563
+ 0x766: 68,
564
+ 0x767: 68,
565
+ 0x768: 68,
566
+ 0x769: 68,
567
+ 0x76A: 68,
568
+ 0x76B: 82,
569
+ 0x76C: 82,
570
+ 0x76D: 68,
571
+ 0x76E: 68,
572
+ 0x76F: 68,
573
+ 0x770: 68,
574
+ 0x771: 82,
575
+ 0x772: 68,
576
+ 0x773: 82,
577
+ 0x774: 82,
578
+ 0x775: 68,
579
+ 0x776: 68,
580
+ 0x777: 68,
581
+ 0x778: 82,
582
+ 0x779: 82,
583
+ 0x77A: 68,
584
+ 0x77B: 68,
585
+ 0x77C: 68,
586
+ 0x77D: 68,
587
+ 0x77E: 68,
588
+ 0x77F: 68,
589
+ 0x7A6: 84,
590
+ 0x7A7: 84,
591
+ 0x7A8: 84,
592
+ 0x7A9: 84,
593
+ 0x7AA: 84,
594
+ 0x7AB: 84,
595
+ 0x7AC: 84,
596
+ 0x7AD: 84,
597
+ 0x7AE: 84,
598
+ 0x7AF: 84,
599
+ 0x7B0: 84,
600
+ 0x7CA: 68,
601
+ 0x7CB: 68,
602
+ 0x7CC: 68,
603
+ 0x7CD: 68,
604
+ 0x7CE: 68,
605
+ 0x7CF: 68,
606
+ 0x7D0: 68,
607
+ 0x7D1: 68,
608
+ 0x7D2: 68,
609
+ 0x7D3: 68,
610
+ 0x7D4: 68,
611
+ 0x7D5: 68,
612
+ 0x7D6: 68,
613
+ 0x7D7: 68,
614
+ 0x7D8: 68,
615
+ 0x7D9: 68,
616
+ 0x7DA: 68,
617
+ 0x7DB: 68,
618
+ 0x7DC: 68,
619
+ 0x7DD: 68,
620
+ 0x7DE: 68,
621
+ 0x7DF: 68,
622
+ 0x7E0: 68,
623
+ 0x7E1: 68,
624
+ 0x7E2: 68,
625
+ 0x7E3: 68,
626
+ 0x7E4: 68,
627
+ 0x7E5: 68,
628
+ 0x7E6: 68,
629
+ 0x7E7: 68,
630
+ 0x7E8: 68,
631
+ 0x7E9: 68,
632
+ 0x7EA: 68,
633
+ 0x7EB: 84,
634
+ 0x7EC: 84,
635
+ 0x7ED: 84,
636
+ 0x7EE: 84,
637
+ 0x7EF: 84,
638
+ 0x7F0: 84,
639
+ 0x7F1: 84,
640
+ 0x7F2: 84,
641
+ 0x7F3: 84,
642
+ 0x7FA: 67,
643
+ 0x7FD: 84,
644
+ 0x816: 84,
645
+ 0x817: 84,
646
+ 0x818: 84,
647
+ 0x819: 84,
648
+ 0x81B: 84,
649
+ 0x81C: 84,
650
+ 0x81D: 84,
651
+ 0x81E: 84,
652
+ 0x81F: 84,
653
+ 0x820: 84,
654
+ 0x821: 84,
655
+ 0x822: 84,
656
+ 0x823: 84,
657
+ 0x825: 84,
658
+ 0x826: 84,
659
+ 0x827: 84,
660
+ 0x829: 84,
661
+ 0x82A: 84,
662
+ 0x82B: 84,
663
+ 0x82C: 84,
664
+ 0x82D: 84,
665
+ 0x840: 82,
666
+ 0x841: 68,
667
+ 0x842: 68,
668
+ 0x843: 68,
669
+ 0x844: 68,
670
+ 0x845: 68,
671
+ 0x846: 82,
672
+ 0x847: 82,
673
+ 0x848: 68,
674
+ 0x849: 82,
675
+ 0x84A: 68,
676
+ 0x84B: 68,
677
+ 0x84C: 68,
678
+ 0x84D: 68,
679
+ 0x84E: 68,
680
+ 0x84F: 68,
681
+ 0x850: 68,
682
+ 0x851: 68,
683
+ 0x852: 68,
684
+ 0x853: 68,
685
+ 0x854: 82,
686
+ 0x855: 68,
687
+ 0x856: 82,
688
+ 0x857: 82,
689
+ 0x858: 82,
690
+ 0x859: 84,
691
+ 0x85A: 84,
692
+ 0x85B: 84,
693
+ 0x860: 68,
694
+ 0x862: 68,
695
+ 0x863: 68,
696
+ 0x864: 68,
697
+ 0x865: 68,
698
+ 0x867: 82,
699
+ 0x868: 68,
700
+ 0x869: 82,
701
+ 0x86A: 82,
702
+ 0x870: 82,
703
+ 0x871: 82,
704
+ 0x872: 82,
705
+ 0x873: 82,
706
+ 0x874: 82,
707
+ 0x875: 82,
708
+ 0x876: 82,
709
+ 0x877: 82,
710
+ 0x878: 82,
711
+ 0x879: 82,
712
+ 0x87A: 82,
713
+ 0x87B: 82,
714
+ 0x87C: 82,
715
+ 0x87D: 82,
716
+ 0x87E: 82,
717
+ 0x87F: 82,
718
+ 0x880: 82,
719
+ 0x881: 82,
720
+ 0x882: 82,
721
+ 0x883: 67,
722
+ 0x884: 67,
723
+ 0x885: 67,
724
+ 0x886: 68,
725
+ 0x889: 68,
726
+ 0x88A: 68,
727
+ 0x88B: 68,
728
+ 0x88C: 68,
729
+ 0x88D: 68,
730
+ 0x88E: 82,
731
+ 0x897: 84,
732
+ 0x898: 84,
733
+ 0x899: 84,
734
+ 0x89A: 84,
735
+ 0x89B: 84,
736
+ 0x89C: 84,
737
+ 0x89D: 84,
738
+ 0x89E: 84,
739
+ 0x89F: 84,
740
+ 0x8A0: 68,
741
+ 0x8A1: 68,
742
+ 0x8A2: 68,
743
+ 0x8A3: 68,
744
+ 0x8A4: 68,
745
+ 0x8A5: 68,
746
+ 0x8A6: 68,
747
+ 0x8A7: 68,
748
+ 0x8A8: 68,
749
+ 0x8A9: 68,
750
+ 0x8AA: 82,
751
+ 0x8AB: 82,
752
+ 0x8AC: 82,
753
+ 0x8AE: 82,
754
+ 0x8AF: 68,
755
+ 0x8B0: 68,
756
+ 0x8B1: 82,
757
+ 0x8B2: 82,
758
+ 0x8B3: 68,
759
+ 0x8B4: 68,
760
+ 0x8B5: 68,
761
+ 0x8B6: 68,
762
+ 0x8B7: 68,
763
+ 0x8B8: 68,
764
+ 0x8B9: 82,
765
+ 0x8BA: 68,
766
+ 0x8BB: 68,
767
+ 0x8BC: 68,
768
+ 0x8BD: 68,
769
+ 0x8BE: 68,
770
+ 0x8BF: 68,
771
+ 0x8C0: 68,
772
+ 0x8C1: 68,
773
+ 0x8C2: 68,
774
+ 0x8C3: 68,
775
+ 0x8C4: 68,
776
+ 0x8C5: 68,
777
+ 0x8C6: 68,
778
+ 0x8C7: 68,
779
+ 0x8C8: 68,
780
+ 0x8CA: 84,
781
+ 0x8CB: 84,
782
+ 0x8CC: 84,
783
+ 0x8CD: 84,
784
+ 0x8CE: 84,
785
+ 0x8CF: 84,
786
+ 0x8D0: 84,
787
+ 0x8D1: 84,
788
+ 0x8D2: 84,
789
+ 0x8D3: 84,
790
+ 0x8D4: 84,
791
+ 0x8D5: 84,
792
+ 0x8D6: 84,
793
+ 0x8D7: 84,
794
+ 0x8D8: 84,
795
+ 0x8D9: 84,
796
+ 0x8DA: 84,
797
+ 0x8DB: 84,
798
+ 0x8DC: 84,
799
+ 0x8DD: 84,
800
+ 0x8DE: 84,
801
+ 0x8DF: 84,
802
+ 0x8E0: 84,
803
+ 0x8E1: 84,
804
+ 0x8E3: 84,
805
+ 0x8E4: 84,
806
+ 0x8E5: 84,
807
+ 0x8E6: 84,
808
+ 0x8E7: 84,
809
+ 0x8E8: 84,
810
+ 0x8E9: 84,
811
+ 0x8EA: 84,
812
+ 0x8EB: 84,
813
+ 0x8EC: 84,
814
+ 0x8ED: 84,
815
+ 0x8EE: 84,
816
+ 0x8EF: 84,
817
+ 0x8F0: 84,
818
+ 0x8F1: 84,
819
+ 0x8F2: 84,
820
+ 0x8F3: 84,
821
+ 0x8F4: 84,
822
+ 0x8F5: 84,
823
+ 0x8F6: 84,
824
+ 0x8F7: 84,
825
+ 0x8F8: 84,
826
+ 0x8F9: 84,
827
+ 0x8FA: 84,
828
+ 0x8FB: 84,
829
+ 0x8FC: 84,
830
+ 0x8FD: 84,
831
+ 0x8FE: 84,
832
+ 0x8FF: 84,
833
+ 0x900: 84,
834
+ 0x901: 84,
835
+ 0x902: 84,
836
+ 0x93A: 84,
837
+ 0x93C: 84,
838
+ 0x941: 84,
839
+ 0x942: 84,
840
+ 0x943: 84,
841
+ 0x944: 84,
842
+ 0x945: 84,
843
+ 0x946: 84,
844
+ 0x947: 84,
845
+ 0x948: 84,
846
+ 0x94D: 84,
847
+ 0x951: 84,
848
+ 0x952: 84,
849
+ 0x953: 84,
850
+ 0x954: 84,
851
+ 0x955: 84,
852
+ 0x956: 84,
853
+ 0x957: 84,
854
+ 0x962: 84,
855
+ 0x963: 84,
856
+ 0x981: 84,
857
+ 0x9BC: 84,
858
+ 0x9C1: 84,
859
+ 0x9C2: 84,
860
+ 0x9C3: 84,
861
+ 0x9C4: 84,
862
+ 0x9CD: 84,
863
+ 0x9E2: 84,
864
+ 0x9E3: 84,
865
+ 0x9FE: 84,
866
+ 0xA01: 84,
867
+ 0xA02: 84,
868
+ 0xA3C: 84,
869
+ 0xA41: 84,
870
+ 0xA42: 84,
871
+ 0xA47: 84,
872
+ 0xA48: 84,
873
+ 0xA4B: 84,
874
+ 0xA4C: 84,
875
+ 0xA4D: 84,
876
+ 0xA51: 84,
877
+ 0xA70: 84,
878
+ 0xA71: 84,
879
+ 0xA75: 84,
880
+ 0xA81: 84,
881
+ 0xA82: 84,
882
+ 0xABC: 84,
883
+ 0xAC1: 84,
884
+ 0xAC2: 84,
885
+ 0xAC3: 84,
886
+ 0xAC4: 84,
887
+ 0xAC5: 84,
888
+ 0xAC7: 84,
889
+ 0xAC8: 84,
890
+ 0xACD: 84,
891
+ 0xAE2: 84,
892
+ 0xAE3: 84,
893
+ 0xAFA: 84,
894
+ 0xAFB: 84,
895
+ 0xAFC: 84,
896
+ 0xAFD: 84,
897
+ 0xAFE: 84,
898
+ 0xAFF: 84,
899
+ 0xB01: 84,
900
+ 0xB3C: 84,
901
+ 0xB3F: 84,
902
+ 0xB41: 84,
903
+ 0xB42: 84,
904
+ 0xB43: 84,
905
+ 0xB44: 84,
906
+ 0xB4D: 84,
907
+ 0xB55: 84,
908
+ 0xB56: 84,
909
+ 0xB62: 84,
910
+ 0xB63: 84,
911
+ 0xB82: 84,
912
+ 0xBC0: 84,
913
+ 0xBCD: 84,
914
+ 0xC00: 84,
915
+ 0xC04: 84,
916
+ 0xC3C: 84,
917
+ 0xC3E: 84,
918
+ 0xC3F: 84,
919
+ 0xC40: 84,
920
+ 0xC46: 84,
921
+ 0xC47: 84,
922
+ 0xC48: 84,
923
+ 0xC4A: 84,
924
+ 0xC4B: 84,
925
+ 0xC4C: 84,
926
+ 0xC4D: 84,
927
+ 0xC55: 84,
928
+ 0xC56: 84,
929
+ 0xC62: 84,
930
+ 0xC63: 84,
931
+ 0xC81: 84,
932
+ 0xCBC: 84,
933
+ 0xCBF: 84,
934
+ 0xCC6: 84,
935
+ 0xCCC: 84,
936
+ 0xCCD: 84,
937
+ 0xCE2: 84,
938
+ 0xCE3: 84,
939
+ 0xD00: 84,
940
+ 0xD01: 84,
941
+ 0xD3B: 84,
942
+ 0xD3C: 84,
943
+ 0xD41: 84,
944
+ 0xD42: 84,
945
+ 0xD43: 84,
946
+ 0xD44: 84,
947
+ 0xD4D: 84,
948
+ 0xD62: 84,
949
+ 0xD63: 84,
950
+ 0xD81: 84,
951
+ 0xDCA: 84,
952
+ 0xDD2: 84,
953
+ 0xDD3: 84,
954
+ 0xDD4: 84,
955
+ 0xDD6: 84,
956
+ 0xE31: 84,
957
+ 0xE34: 84,
958
+ 0xE35: 84,
959
+ 0xE36: 84,
960
+ 0xE37: 84,
961
+ 0xE38: 84,
962
+ 0xE39: 84,
963
+ 0xE3A: 84,
964
+ 0xE47: 84,
965
+ 0xE48: 84,
966
+ 0xE49: 84,
967
+ 0xE4A: 84,
968
+ 0xE4B: 84,
969
+ 0xE4C: 84,
970
+ 0xE4D: 84,
971
+ 0xE4E: 84,
972
+ 0xEB1: 84,
973
+ 0xEB4: 84,
974
+ 0xEB5: 84,
975
+ 0xEB6: 84,
976
+ 0xEB7: 84,
977
+ 0xEB8: 84,
978
+ 0xEB9: 84,
979
+ 0xEBA: 84,
980
+ 0xEBB: 84,
981
+ 0xEBC: 84,
982
+ 0xEC8: 84,
983
+ 0xEC9: 84,
984
+ 0xECA: 84,
985
+ 0xECB: 84,
986
+ 0xECC: 84,
987
+ 0xECD: 84,
988
+ 0xECE: 84,
989
+ 0xF18: 84,
990
+ 0xF19: 84,
991
+ 0xF35: 84,
992
+ 0xF37: 84,
993
+ 0xF39: 84,
994
+ 0xF71: 84,
995
+ 0xF72: 84,
996
+ 0xF73: 84,
997
+ 0xF74: 84,
998
+ 0xF75: 84,
999
+ 0xF76: 84,
1000
+ 0xF77: 84,
1001
+ 0xF78: 84,
1002
+ 0xF79: 84,
1003
+ 0xF7A: 84,
1004
+ 0xF7B: 84,
1005
+ 0xF7C: 84,
1006
+ 0xF7D: 84,
1007
+ 0xF7E: 84,
1008
+ 0xF80: 84,
1009
+ 0xF81: 84,
1010
+ 0xF82: 84,
1011
+ 0xF83: 84,
1012
+ 0xF84: 84,
1013
+ 0xF86: 84,
1014
+ 0xF87: 84,
1015
+ 0xF8D: 84,
1016
+ 0xF8E: 84,
1017
+ 0xF8F: 84,
1018
+ 0xF90: 84,
1019
+ 0xF91: 84,
1020
+ 0xF92: 84,
1021
+ 0xF93: 84,
1022
+ 0xF94: 84,
1023
+ 0xF95: 84,
1024
+ 0xF96: 84,
1025
+ 0xF97: 84,
1026
+ 0xF99: 84,
1027
+ 0xF9A: 84,
1028
+ 0xF9B: 84,
1029
+ 0xF9C: 84,
1030
+ 0xF9D: 84,
1031
+ 0xF9E: 84,
1032
+ 0xF9F: 84,
1033
+ 0xFA0: 84,
1034
+ 0xFA1: 84,
1035
+ 0xFA2: 84,
1036
+ 0xFA3: 84,
1037
+ 0xFA4: 84,
1038
+ 0xFA5: 84,
1039
+ 0xFA6: 84,
1040
+ 0xFA7: 84,
1041
+ 0xFA8: 84,
1042
+ 0xFA9: 84,
1043
+ 0xFAA: 84,
1044
+ 0xFAB: 84,
1045
+ 0xFAC: 84,
1046
+ 0xFAD: 84,
1047
+ 0xFAE: 84,
1048
+ 0xFAF: 84,
1049
+ 0xFB0: 84,
1050
+ 0xFB1: 84,
1051
+ 0xFB2: 84,
1052
+ 0xFB3: 84,
1053
+ 0xFB4: 84,
1054
+ 0xFB5: 84,
1055
+ 0xFB6: 84,
1056
+ 0xFB7: 84,
1057
+ 0xFB8: 84,
1058
+ 0xFB9: 84,
1059
+ 0xFBA: 84,
1060
+ 0xFBB: 84,
1061
+ 0xFBC: 84,
1062
+ 0xFC6: 84,
1063
+ 0x102D: 84,
1064
+ 0x102E: 84,
1065
+ 0x102F: 84,
1066
+ 0x1030: 84,
1067
+ 0x1032: 84,
1068
+ 0x1033: 84,
1069
+ 0x1034: 84,
1070
+ 0x1035: 84,
1071
+ 0x1036: 84,
1072
+ 0x1037: 84,
1073
+ 0x1039: 84,
1074
+ 0x103A: 84,
1075
+ 0x103D: 84,
1076
+ 0x103E: 84,
1077
+ 0x1058: 84,
1078
+ 0x1059: 84,
1079
+ 0x105E: 84,
1080
+ 0x105F: 84,
1081
+ 0x1060: 84,
1082
+ 0x1071: 84,
1083
+ 0x1072: 84,
1084
+ 0x1073: 84,
1085
+ 0x1074: 84,
1086
+ 0x1082: 84,
1087
+ 0x1085: 84,
1088
+ 0x1086: 84,
1089
+ 0x108D: 84,
1090
+ 0x109D: 84,
1091
+ 0x135D: 84,
1092
+ 0x135E: 84,
1093
+ 0x135F: 84,
1094
+ 0x1712: 84,
1095
+ 0x1713: 84,
1096
+ 0x1714: 84,
1097
+ 0x1732: 84,
1098
+ 0x1733: 84,
1099
+ 0x1752: 84,
1100
+ 0x1753: 84,
1101
+ 0x1772: 84,
1102
+ 0x1773: 84,
1103
+ 0x17B4: 84,
1104
+ 0x17B5: 84,
1105
+ 0x17B7: 84,
1106
+ 0x17B8: 84,
1107
+ 0x17B9: 84,
1108
+ 0x17BA: 84,
1109
+ 0x17BB: 84,
1110
+ 0x17BC: 84,
1111
+ 0x17BD: 84,
1112
+ 0x17C6: 84,
1113
+ 0x17C9: 84,
1114
+ 0x17CA: 84,
1115
+ 0x17CB: 84,
1116
+ 0x17CC: 84,
1117
+ 0x17CD: 84,
1118
+ 0x17CE: 84,
1119
+ 0x17CF: 84,
1120
+ 0x17D0: 84,
1121
+ 0x17D1: 84,
1122
+ 0x17D2: 84,
1123
+ 0x17D3: 84,
1124
+ 0x17DD: 84,
1125
+ 0x1807: 68,
1126
+ 0x180A: 67,
1127
+ 0x180B: 84,
1128
+ 0x180C: 84,
1129
+ 0x180D: 84,
1130
+ 0x180F: 84,
1131
+ 0x1820: 68,
1132
+ 0x1821: 68,
1133
+ 0x1822: 68,
1134
+ 0x1823: 68,
1135
+ 0x1824: 68,
1136
+ 0x1825: 68,
1137
+ 0x1826: 68,
1138
+ 0x1827: 68,
1139
+ 0x1828: 68,
1140
+ 0x1829: 68,
1141
+ 0x182A: 68,
1142
+ 0x182B: 68,
1143
+ 0x182C: 68,
1144
+ 0x182D: 68,
1145
+ 0x182E: 68,
1146
+ 0x182F: 68,
1147
+ 0x1830: 68,
1148
+ 0x1831: 68,
1149
+ 0x1832: 68,
1150
+ 0x1833: 68,
1151
+ 0x1834: 68,
1152
+ 0x1835: 68,
1153
+ 0x1836: 68,
1154
+ 0x1837: 68,
1155
+ 0x1838: 68,
1156
+ 0x1839: 68,
1157
+ 0x183A: 68,
1158
+ 0x183B: 68,
1159
+ 0x183C: 68,
1160
+ 0x183D: 68,
1161
+ 0x183E: 68,
1162
+ 0x183F: 68,
1163
+ 0x1840: 68,
1164
+ 0x1841: 68,
1165
+ 0x1842: 68,
1166
+ 0x1843: 68,
1167
+ 0x1844: 68,
1168
+ 0x1845: 68,
1169
+ 0x1846: 68,
1170
+ 0x1847: 68,
1171
+ 0x1848: 68,
1172
+ 0x1849: 68,
1173
+ 0x184A: 68,
1174
+ 0x184B: 68,
1175
+ 0x184C: 68,
1176
+ 0x184D: 68,
1177
+ 0x184E: 68,
1178
+ 0x184F: 68,
1179
+ 0x1850: 68,
1180
+ 0x1851: 68,
1181
+ 0x1852: 68,
1182
+ 0x1853: 68,
1183
+ 0x1854: 68,
1184
+ 0x1855: 68,
1185
+ 0x1856: 68,
1186
+ 0x1857: 68,
1187
+ 0x1858: 68,
1188
+ 0x1859: 68,
1189
+ 0x185A: 68,
1190
+ 0x185B: 68,
1191
+ 0x185C: 68,
1192
+ 0x185D: 68,
1193
+ 0x185E: 68,
1194
+ 0x185F: 68,
1195
+ 0x1860: 68,
1196
+ 0x1861: 68,
1197
+ 0x1862: 68,
1198
+ 0x1863: 68,
1199
+ 0x1864: 68,
1200
+ 0x1865: 68,
1201
+ 0x1866: 68,
1202
+ 0x1867: 68,
1203
+ 0x1868: 68,
1204
+ 0x1869: 68,
1205
+ 0x186A: 68,
1206
+ 0x186B: 68,
1207
+ 0x186C: 68,
1208
+ 0x186D: 68,
1209
+ 0x186E: 68,
1210
+ 0x186F: 68,
1211
+ 0x1870: 68,
1212
+ 0x1871: 68,
1213
+ 0x1872: 68,
1214
+ 0x1873: 68,
1215
+ 0x1874: 68,
1216
+ 0x1875: 68,
1217
+ 0x1876: 68,
1218
+ 0x1877: 68,
1219
+ 0x1878: 68,
1220
+ 0x1885: 84,
1221
+ 0x1886: 84,
1222
+ 0x1887: 68,
1223
+ 0x1888: 68,
1224
+ 0x1889: 68,
1225
+ 0x188A: 68,
1226
+ 0x188B: 68,
1227
+ 0x188C: 68,
1228
+ 0x188D: 68,
1229
+ 0x188E: 68,
1230
+ 0x188F: 68,
1231
+ 0x1890: 68,
1232
+ 0x1891: 68,
1233
+ 0x1892: 68,
1234
+ 0x1893: 68,
1235
+ 0x1894: 68,
1236
+ 0x1895: 68,
1237
+ 0x1896: 68,
1238
+ 0x1897: 68,
1239
+ 0x1898: 68,
1240
+ 0x1899: 68,
1241
+ 0x189A: 68,
1242
+ 0x189B: 68,
1243
+ 0x189C: 68,
1244
+ 0x189D: 68,
1245
+ 0x189E: 68,
1246
+ 0x189F: 68,
1247
+ 0x18A0: 68,
1248
+ 0x18A1: 68,
1249
+ 0x18A2: 68,
1250
+ 0x18A3: 68,
1251
+ 0x18A4: 68,
1252
+ 0x18A5: 68,
1253
+ 0x18A6: 68,
1254
+ 0x18A7: 68,
1255
+ 0x18A8: 68,
1256
+ 0x18A9: 84,
1257
+ 0x18AA: 68,
1258
+ 0x1920: 84,
1259
+ 0x1921: 84,
1260
+ 0x1922: 84,
1261
+ 0x1927: 84,
1262
+ 0x1928: 84,
1263
+ 0x1932: 84,
1264
+ 0x1939: 84,
1265
+ 0x193A: 84,
1266
+ 0x193B: 84,
1267
+ 0x1A17: 84,
1268
+ 0x1A18: 84,
1269
+ 0x1A1B: 84,
1270
+ 0x1A56: 84,
1271
+ 0x1A58: 84,
1272
+ 0x1A59: 84,
1273
+ 0x1A5A: 84,
1274
+ 0x1A5B: 84,
1275
+ 0x1A5C: 84,
1276
+ 0x1A5D: 84,
1277
+ 0x1A5E: 84,
1278
+ 0x1A60: 84,
1279
+ 0x1A62: 84,
1280
+ 0x1A65: 84,
1281
+ 0x1A66: 84,
1282
+ 0x1A67: 84,
1283
+ 0x1A68: 84,
1284
+ 0x1A69: 84,
1285
+ 0x1A6A: 84,
1286
+ 0x1A6B: 84,
1287
+ 0x1A6C: 84,
1288
+ 0x1A73: 84,
1289
+ 0x1A74: 84,
1290
+ 0x1A75: 84,
1291
+ 0x1A76: 84,
1292
+ 0x1A77: 84,
1293
+ 0x1A78: 84,
1294
+ 0x1A79: 84,
1295
+ 0x1A7A: 84,
1296
+ 0x1A7B: 84,
1297
+ 0x1A7C: 84,
1298
+ 0x1A7F: 84,
1299
+ 0x1AB0: 84,
1300
+ 0x1AB1: 84,
1301
+ 0x1AB2: 84,
1302
+ 0x1AB3: 84,
1303
+ 0x1AB4: 84,
1304
+ 0x1AB5: 84,
1305
+ 0x1AB6: 84,
1306
+ 0x1AB7: 84,
1307
+ 0x1AB8: 84,
1308
+ 0x1AB9: 84,
1309
+ 0x1ABA: 84,
1310
+ 0x1ABB: 84,
1311
+ 0x1ABC: 84,
1312
+ 0x1ABD: 84,
1313
+ 0x1ABE: 84,
1314
+ 0x1ABF: 84,
1315
+ 0x1AC0: 84,
1316
+ 0x1AC1: 84,
1317
+ 0x1AC2: 84,
1318
+ 0x1AC3: 84,
1319
+ 0x1AC4: 84,
1320
+ 0x1AC5: 84,
1321
+ 0x1AC6: 84,
1322
+ 0x1AC7: 84,
1323
+ 0x1AC8: 84,
1324
+ 0x1AC9: 84,
1325
+ 0x1ACA: 84,
1326
+ 0x1ACB: 84,
1327
+ 0x1ACC: 84,
1328
+ 0x1ACD: 84,
1329
+ 0x1ACE: 84,
1330
+ 0x1B00: 84,
1331
+ 0x1B01: 84,
1332
+ 0x1B02: 84,
1333
+ 0x1B03: 84,
1334
+ 0x1B34: 84,
1335
+ 0x1B36: 84,
1336
+ 0x1B37: 84,
1337
+ 0x1B38: 84,
1338
+ 0x1B39: 84,
1339
+ 0x1B3A: 84,
1340
+ 0x1B3C: 84,
1341
+ 0x1B42: 84,
1342
+ 0x1B6B: 84,
1343
+ 0x1B6C: 84,
1344
+ 0x1B6D: 84,
1345
+ 0x1B6E: 84,
1346
+ 0x1B6F: 84,
1347
+ 0x1B70: 84,
1348
+ 0x1B71: 84,
1349
+ 0x1B72: 84,
1350
+ 0x1B73: 84,
1351
+ 0x1B80: 84,
1352
+ 0x1B81: 84,
1353
+ 0x1BA2: 84,
1354
+ 0x1BA3: 84,
1355
+ 0x1BA4: 84,
1356
+ 0x1BA5: 84,
1357
+ 0x1BA8: 84,
1358
+ 0x1BA9: 84,
1359
+ 0x1BAB: 84,
1360
+ 0x1BAC: 84,
1361
+ 0x1BAD: 84,
1362
+ 0x1BE6: 84,
1363
+ 0x1BE8: 84,
1364
+ 0x1BE9: 84,
1365
+ 0x1BED: 84,
1366
+ 0x1BEF: 84,
1367
+ 0x1BF0: 84,
1368
+ 0x1BF1: 84,
1369
+ 0x1C2C: 84,
1370
+ 0x1C2D: 84,
1371
+ 0x1C2E: 84,
1372
+ 0x1C2F: 84,
1373
+ 0x1C30: 84,
1374
+ 0x1C31: 84,
1375
+ 0x1C32: 84,
1376
+ 0x1C33: 84,
1377
+ 0x1C36: 84,
1378
+ 0x1C37: 84,
1379
+ 0x1CD0: 84,
1380
+ 0x1CD1: 84,
1381
+ 0x1CD2: 84,
1382
+ 0x1CD4: 84,
1383
+ 0x1CD5: 84,
1384
+ 0x1CD6: 84,
1385
+ 0x1CD7: 84,
1386
+ 0x1CD8: 84,
1387
+ 0x1CD9: 84,
1388
+ 0x1CDA: 84,
1389
+ 0x1CDB: 84,
1390
+ 0x1CDC: 84,
1391
+ 0x1CDD: 84,
1392
+ 0x1CDE: 84,
1393
+ 0x1CDF: 84,
1394
+ 0x1CE0: 84,
1395
+ 0x1CE2: 84,
1396
+ 0x1CE3: 84,
1397
+ 0x1CE4: 84,
1398
+ 0x1CE5: 84,
1399
+ 0x1CE6: 84,
1400
+ 0x1CE7: 84,
1401
+ 0x1CE8: 84,
1402
+ 0x1CED: 84,
1403
+ 0x1CF4: 84,
1404
+ 0x1CF8: 84,
1405
+ 0x1CF9: 84,
1406
+ 0x1DC0: 84,
1407
+ 0x1DC1: 84,
1408
+ 0x1DC2: 84,
1409
+ 0x1DC3: 84,
1410
+ 0x1DC4: 84,
1411
+ 0x1DC5: 84,
1412
+ 0x1DC6: 84,
1413
+ 0x1DC7: 84,
1414
+ 0x1DC8: 84,
1415
+ 0x1DC9: 84,
1416
+ 0x1DCA: 84,
1417
+ 0x1DCB: 84,
1418
+ 0x1DCC: 84,
1419
+ 0x1DCD: 84,
1420
+ 0x1DCE: 84,
1421
+ 0x1DCF: 84,
1422
+ 0x1DD0: 84,
1423
+ 0x1DD1: 84,
1424
+ 0x1DD2: 84,
1425
+ 0x1DD3: 84,
1426
+ 0x1DD4: 84,
1427
+ 0x1DD5: 84,
1428
+ 0x1DD6: 84,
1429
+ 0x1DD7: 84,
1430
+ 0x1DD8: 84,
1431
+ 0x1DD9: 84,
1432
+ 0x1DDA: 84,
1433
+ 0x1DDB: 84,
1434
+ 0x1DDC: 84,
1435
+ 0x1DDD: 84,
1436
+ 0x1DDE: 84,
1437
+ 0x1DDF: 84,
1438
+ 0x1DE0: 84,
1439
+ 0x1DE1: 84,
1440
+ 0x1DE2: 84,
1441
+ 0x1DE3: 84,
1442
+ 0x1DE4: 84,
1443
+ 0x1DE5: 84,
1444
+ 0x1DE6: 84,
1445
+ 0x1DE7: 84,
1446
+ 0x1DE8: 84,
1447
+ 0x1DE9: 84,
1448
+ 0x1DEA: 84,
1449
+ 0x1DEB: 84,
1450
+ 0x1DEC: 84,
1451
+ 0x1DED: 84,
1452
+ 0x1DEE: 84,
1453
+ 0x1DEF: 84,
1454
+ 0x1DF0: 84,
1455
+ 0x1DF1: 84,
1456
+ 0x1DF2: 84,
1457
+ 0x1DF3: 84,
1458
+ 0x1DF4: 84,
1459
+ 0x1DF5: 84,
1460
+ 0x1DF6: 84,
1461
+ 0x1DF7: 84,
1462
+ 0x1DF8: 84,
1463
+ 0x1DF9: 84,
1464
+ 0x1DFA: 84,
1465
+ 0x1DFB: 84,
1466
+ 0x1DFC: 84,
1467
+ 0x1DFD: 84,
1468
+ 0x1DFE: 84,
1469
+ 0x1DFF: 84,
1470
+ 0x200B: 84,
1471
+ 0x200D: 67,
1472
+ 0x200E: 84,
1473
+ 0x200F: 84,
1474
+ 0x202A: 84,
1475
+ 0x202B: 84,
1476
+ 0x202C: 84,
1477
+ 0x202D: 84,
1478
+ 0x202E: 84,
1479
+ 0x2060: 84,
1480
+ 0x2061: 84,
1481
+ 0x2062: 84,
1482
+ 0x2063: 84,
1483
+ 0x2064: 84,
1484
+ 0x206A: 84,
1485
+ 0x206B: 84,
1486
+ 0x206C: 84,
1487
+ 0x206D: 84,
1488
+ 0x206E: 84,
1489
+ 0x206F: 84,
1490
+ 0x20D0: 84,
1491
+ 0x20D1: 84,
1492
+ 0x20D2: 84,
1493
+ 0x20D3: 84,
1494
+ 0x20D4: 84,
1495
+ 0x20D5: 84,
1496
+ 0x20D6: 84,
1497
+ 0x20D7: 84,
1498
+ 0x20D8: 84,
1499
+ 0x20D9: 84,
1500
+ 0x20DA: 84,
1501
+ 0x20DB: 84,
1502
+ 0x20DC: 84,
1503
+ 0x20DD: 84,
1504
+ 0x20DE: 84,
1505
+ 0x20DF: 84,
1506
+ 0x20E0: 84,
1507
+ 0x20E1: 84,
1508
+ 0x20E2: 84,
1509
+ 0x20E3: 84,
1510
+ 0x20E4: 84,
1511
+ 0x20E5: 84,
1512
+ 0x20E6: 84,
1513
+ 0x20E7: 84,
1514
+ 0x20E8: 84,
1515
+ 0x20E9: 84,
1516
+ 0x20EA: 84,
1517
+ 0x20EB: 84,
1518
+ 0x20EC: 84,
1519
+ 0x20ED: 84,
1520
+ 0x20EE: 84,
1521
+ 0x20EF: 84,
1522
+ 0x20F0: 84,
1523
+ 0x2CEF: 84,
1524
+ 0x2CF0: 84,
1525
+ 0x2CF1: 84,
1526
+ 0x2D7F: 84,
1527
+ 0x2DE0: 84,
1528
+ 0x2DE1: 84,
1529
+ 0x2DE2: 84,
1530
+ 0x2DE3: 84,
1531
+ 0x2DE4: 84,
1532
+ 0x2DE5: 84,
1533
+ 0x2DE6: 84,
1534
+ 0x2DE7: 84,
1535
+ 0x2DE8: 84,
1536
+ 0x2DE9: 84,
1537
+ 0x2DEA: 84,
1538
+ 0x2DEB: 84,
1539
+ 0x2DEC: 84,
1540
+ 0x2DED: 84,
1541
+ 0x2DEE: 84,
1542
+ 0x2DEF: 84,
1543
+ 0x2DF0: 84,
1544
+ 0x2DF1: 84,
1545
+ 0x2DF2: 84,
1546
+ 0x2DF3: 84,
1547
+ 0x2DF4: 84,
1548
+ 0x2DF5: 84,
1549
+ 0x2DF6: 84,
1550
+ 0x2DF7: 84,
1551
+ 0x2DF8: 84,
1552
+ 0x2DF9: 84,
1553
+ 0x2DFA: 84,
1554
+ 0x2DFB: 84,
1555
+ 0x2DFC: 84,
1556
+ 0x2DFD: 84,
1557
+ 0x2DFE: 84,
1558
+ 0x2DFF: 84,
1559
+ 0x302A: 84,
1560
+ 0x302B: 84,
1561
+ 0x302C: 84,
1562
+ 0x302D: 84,
1563
+ 0x3099: 84,
1564
+ 0x309A: 84,
1565
+ 0xA66F: 84,
1566
+ 0xA670: 84,
1567
+ 0xA671: 84,
1568
+ 0xA672: 84,
1569
+ 0xA674: 84,
1570
+ 0xA675: 84,
1571
+ 0xA676: 84,
1572
+ 0xA677: 84,
1573
+ 0xA678: 84,
1574
+ 0xA679: 84,
1575
+ 0xA67A: 84,
1576
+ 0xA67B: 84,
1577
+ 0xA67C: 84,
1578
+ 0xA67D: 84,
1579
+ 0xA69E: 84,
1580
+ 0xA69F: 84,
1581
+ 0xA6F0: 84,
1582
+ 0xA6F1: 84,
1583
+ 0xA802: 84,
1584
+ 0xA806: 84,
1585
+ 0xA80B: 84,
1586
+ 0xA825: 84,
1587
+ 0xA826: 84,
1588
+ 0xA82C: 84,
1589
+ 0xA840: 68,
1590
+ 0xA841: 68,
1591
+ 0xA842: 68,
1592
+ 0xA843: 68,
1593
+ 0xA844: 68,
1594
+ 0xA845: 68,
1595
+ 0xA846: 68,
1596
+ 0xA847: 68,
1597
+ 0xA848: 68,
1598
+ 0xA849: 68,
1599
+ 0xA84A: 68,
1600
+ 0xA84B: 68,
1601
+ 0xA84C: 68,
1602
+ 0xA84D: 68,
1603
+ 0xA84E: 68,
1604
+ 0xA84F: 68,
1605
+ 0xA850: 68,
1606
+ 0xA851: 68,
1607
+ 0xA852: 68,
1608
+ 0xA853: 68,
1609
+ 0xA854: 68,
1610
+ 0xA855: 68,
1611
+ 0xA856: 68,
1612
+ 0xA857: 68,
1613
+ 0xA858: 68,
1614
+ 0xA859: 68,
1615
+ 0xA85A: 68,
1616
+ 0xA85B: 68,
1617
+ 0xA85C: 68,
1618
+ 0xA85D: 68,
1619
+ 0xA85E: 68,
1620
+ 0xA85F: 68,
1621
+ 0xA860: 68,
1622
+ 0xA861: 68,
1623
+ 0xA862: 68,
1624
+ 0xA863: 68,
1625
+ 0xA864: 68,
1626
+ 0xA865: 68,
1627
+ 0xA866: 68,
1628
+ 0xA867: 68,
1629
+ 0xA868: 68,
1630
+ 0xA869: 68,
1631
+ 0xA86A: 68,
1632
+ 0xA86B: 68,
1633
+ 0xA86C: 68,
1634
+ 0xA86D: 68,
1635
+ 0xA86E: 68,
1636
+ 0xA86F: 68,
1637
+ 0xA870: 68,
1638
+ 0xA871: 68,
1639
+ 0xA872: 76,
1640
+ 0xA8C4: 84,
1641
+ 0xA8C5: 84,
1642
+ 0xA8E0: 84,
1643
+ 0xA8E1: 84,
1644
+ 0xA8E2: 84,
1645
+ 0xA8E3: 84,
1646
+ 0xA8E4: 84,
1647
+ 0xA8E5: 84,
1648
+ 0xA8E6: 84,
1649
+ 0xA8E7: 84,
1650
+ 0xA8E8: 84,
1651
+ 0xA8E9: 84,
1652
+ 0xA8EA: 84,
1653
+ 0xA8EB: 84,
1654
+ 0xA8EC: 84,
1655
+ 0xA8ED: 84,
1656
+ 0xA8EE: 84,
1657
+ 0xA8EF: 84,
1658
+ 0xA8F0: 84,
1659
+ 0xA8F1: 84,
1660
+ 0xA8FF: 84,
1661
+ 0xA926: 84,
1662
+ 0xA927: 84,
1663
+ 0xA928: 84,
1664
+ 0xA929: 84,
1665
+ 0xA92A: 84,
1666
+ 0xA92B: 84,
1667
+ 0xA92C: 84,
1668
+ 0xA92D: 84,
1669
+ 0xA947: 84,
1670
+ 0xA948: 84,
1671
+ 0xA949: 84,
1672
+ 0xA94A: 84,
1673
+ 0xA94B: 84,
1674
+ 0xA94C: 84,
1675
+ 0xA94D: 84,
1676
+ 0xA94E: 84,
1677
+ 0xA94F: 84,
1678
+ 0xA950: 84,
1679
+ 0xA951: 84,
1680
+ 0xA980: 84,
1681
+ 0xA981: 84,
1682
+ 0xA982: 84,
1683
+ 0xA9B3: 84,
1684
+ 0xA9B6: 84,
1685
+ 0xA9B7: 84,
1686
+ 0xA9B8: 84,
1687
+ 0xA9B9: 84,
1688
+ 0xA9BC: 84,
1689
+ 0xA9BD: 84,
1690
+ 0xA9E5: 84,
1691
+ 0xAA29: 84,
1692
+ 0xAA2A: 84,
1693
+ 0xAA2B: 84,
1694
+ 0xAA2C: 84,
1695
+ 0xAA2D: 84,
1696
+ 0xAA2E: 84,
1697
+ 0xAA31: 84,
1698
+ 0xAA32: 84,
1699
+ 0xAA35: 84,
1700
+ 0xAA36: 84,
1701
+ 0xAA43: 84,
1702
+ 0xAA4C: 84,
1703
+ 0xAA7C: 84,
1704
+ 0xAAB0: 84,
1705
+ 0xAAB2: 84,
1706
+ 0xAAB3: 84,
1707
+ 0xAAB4: 84,
1708
+ 0xAAB7: 84,
1709
+ 0xAAB8: 84,
1710
+ 0xAABE: 84,
1711
+ 0xAABF: 84,
1712
+ 0xAAC1: 84,
1713
+ 0xAAEC: 84,
1714
+ 0xAAED: 84,
1715
+ 0xAAF6: 84,
1716
+ 0xABE5: 84,
1717
+ 0xABE8: 84,
1718
+ 0xABED: 84,
1719
+ 0xFB1E: 84,
1720
+ 0xFE00: 84,
1721
+ 0xFE01: 84,
1722
+ 0xFE02: 84,
1723
+ 0xFE03: 84,
1724
+ 0xFE04: 84,
1725
+ 0xFE05: 84,
1726
+ 0xFE06: 84,
1727
+ 0xFE07: 84,
1728
+ 0xFE08: 84,
1729
+ 0xFE09: 84,
1730
+ 0xFE0A: 84,
1731
+ 0xFE0B: 84,
1732
+ 0xFE0C: 84,
1733
+ 0xFE0D: 84,
1734
+ 0xFE0E: 84,
1735
+ 0xFE0F: 84,
1736
+ 0xFE20: 84,
1737
+ 0xFE21: 84,
1738
+ 0xFE22: 84,
1739
+ 0xFE23: 84,
1740
+ 0xFE24: 84,
1741
+ 0xFE25: 84,
1742
+ 0xFE26: 84,
1743
+ 0xFE27: 84,
1744
+ 0xFE28: 84,
1745
+ 0xFE29: 84,
1746
+ 0xFE2A: 84,
1747
+ 0xFE2B: 84,
1748
+ 0xFE2C: 84,
1749
+ 0xFE2D: 84,
1750
+ 0xFE2E: 84,
1751
+ 0xFE2F: 84,
1752
+ 0xFEFF: 84,
1753
+ 0xFFF9: 84,
1754
+ 0xFFFA: 84,
1755
+ 0xFFFB: 84,
1756
+ 0x101FD: 84,
1757
+ 0x102E0: 84,
1758
+ 0x10376: 84,
1759
+ 0x10377: 84,
1760
+ 0x10378: 84,
1761
+ 0x10379: 84,
1762
+ 0x1037A: 84,
1763
+ 0x10A01: 84,
1764
+ 0x10A02: 84,
1765
+ 0x10A03: 84,
1766
+ 0x10A05: 84,
1767
+ 0x10A06: 84,
1768
+ 0x10A0C: 84,
1769
+ 0x10A0D: 84,
1770
+ 0x10A0E: 84,
1771
+ 0x10A0F: 84,
1772
+ 0x10A38: 84,
1773
+ 0x10A39: 84,
1774
+ 0x10A3A: 84,
1775
+ 0x10A3F: 84,
1776
+ 0x10AC0: 68,
1777
+ 0x10AC1: 68,
1778
+ 0x10AC2: 68,
1779
+ 0x10AC3: 68,
1780
+ 0x10AC4: 68,
1781
+ 0x10AC5: 82,
1782
+ 0x10AC7: 82,
1783
+ 0x10AC9: 82,
1784
+ 0x10ACA: 82,
1785
+ 0x10ACD: 76,
1786
+ 0x10ACE: 82,
1787
+ 0x10ACF: 82,
1788
+ 0x10AD0: 82,
1789
+ 0x10AD1: 82,
1790
+ 0x10AD2: 82,
1791
+ 0x10AD3: 68,
1792
+ 0x10AD4: 68,
1793
+ 0x10AD5: 68,
1794
+ 0x10AD6: 68,
1795
+ 0x10AD7: 76,
1796
+ 0x10AD8: 68,
1797
+ 0x10AD9: 68,
1798
+ 0x10ADA: 68,
1799
+ 0x10ADB: 68,
1800
+ 0x10ADC: 68,
1801
+ 0x10ADD: 82,
1802
+ 0x10ADE: 68,
1803
+ 0x10ADF: 68,
1804
+ 0x10AE0: 68,
1805
+ 0x10AE1: 82,
1806
+ 0x10AE4: 82,
1807
+ 0x10AE5: 84,
1808
+ 0x10AE6: 84,
1809
+ 0x10AEB: 68,
1810
+ 0x10AEC: 68,
1811
+ 0x10AED: 68,
1812
+ 0x10AEE: 68,
1813
+ 0x10AEF: 82,
1814
+ 0x10B80: 68,
1815
+ 0x10B81: 82,
1816
+ 0x10B82: 68,
1817
+ 0x10B83: 82,
1818
+ 0x10B84: 82,
1819
+ 0x10B85: 82,
1820
+ 0x10B86: 68,
1821
+ 0x10B87: 68,
1822
+ 0x10B88: 68,
1823
+ 0x10B89: 82,
1824
+ 0x10B8A: 68,
1825
+ 0x10B8B: 68,
1826
+ 0x10B8C: 82,
1827
+ 0x10B8D: 68,
1828
+ 0x10B8E: 82,
1829
+ 0x10B8F: 82,
1830
+ 0x10B90: 68,
1831
+ 0x10B91: 82,
1832
+ 0x10BA9: 82,
1833
+ 0x10BAA: 82,
1834
+ 0x10BAB: 82,
1835
+ 0x10BAC: 82,
1836
+ 0x10BAD: 68,
1837
+ 0x10BAE: 68,
1838
+ 0x10D00: 76,
1839
+ 0x10D01: 68,
1840
+ 0x10D02: 68,
1841
+ 0x10D03: 68,
1842
+ 0x10D04: 68,
1843
+ 0x10D05: 68,
1844
+ 0x10D06: 68,
1845
+ 0x10D07: 68,
1846
+ 0x10D08: 68,
1847
+ 0x10D09: 68,
1848
+ 0x10D0A: 68,
1849
+ 0x10D0B: 68,
1850
+ 0x10D0C: 68,
1851
+ 0x10D0D: 68,
1852
+ 0x10D0E: 68,
1853
+ 0x10D0F: 68,
1854
+ 0x10D10: 68,
1855
+ 0x10D11: 68,
1856
+ 0x10D12: 68,
1857
+ 0x10D13: 68,
1858
+ 0x10D14: 68,
1859
+ 0x10D15: 68,
1860
+ 0x10D16: 68,
1861
+ 0x10D17: 68,
1862
+ 0x10D18: 68,
1863
+ 0x10D19: 68,
1864
+ 0x10D1A: 68,
1865
+ 0x10D1B: 68,
1866
+ 0x10D1C: 68,
1867
+ 0x10D1D: 68,
1868
+ 0x10D1E: 68,
1869
+ 0x10D1F: 68,
1870
+ 0x10D20: 68,
1871
+ 0x10D21: 68,
1872
+ 0x10D22: 82,
1873
+ 0x10D23: 68,
1874
+ 0x10D24: 84,
1875
+ 0x10D25: 84,
1876
+ 0x10D26: 84,
1877
+ 0x10D27: 84,
1878
+ 0x10D69: 84,
1879
+ 0x10D6A: 84,
1880
+ 0x10D6B: 84,
1881
+ 0x10D6C: 84,
1882
+ 0x10D6D: 84,
1883
+ 0x10EAB: 84,
1884
+ 0x10EAC: 84,
1885
+ 0x10EC2: 82,
1886
+ 0x10EC3: 68,
1887
+ 0x10EC4: 68,
1888
+ 0x10EFC: 84,
1889
+ 0x10EFD: 84,
1890
+ 0x10EFE: 84,
1891
+ 0x10EFF: 84,
1892
+ 0x10F30: 68,
1893
+ 0x10F31: 68,
1894
+ 0x10F32: 68,
1895
+ 0x10F33: 82,
1896
+ 0x10F34: 68,
1897
+ 0x10F35: 68,
1898
+ 0x10F36: 68,
1899
+ 0x10F37: 68,
1900
+ 0x10F38: 68,
1901
+ 0x10F39: 68,
1902
+ 0x10F3A: 68,
1903
+ 0x10F3B: 68,
1904
+ 0x10F3C: 68,
1905
+ 0x10F3D: 68,
1906
+ 0x10F3E: 68,
1907
+ 0x10F3F: 68,
1908
+ 0x10F40: 68,
1909
+ 0x10F41: 68,
1910
+ 0x10F42: 68,
1911
+ 0x10F43: 68,
1912
+ 0x10F44: 68,
1913
+ 0x10F46: 84,
1914
+ 0x10F47: 84,
1915
+ 0x10F48: 84,
1916
+ 0x10F49: 84,
1917
+ 0x10F4A: 84,
1918
+ 0x10F4B: 84,
1919
+ 0x10F4C: 84,
1920
+ 0x10F4D: 84,
1921
+ 0x10F4E: 84,
1922
+ 0x10F4F: 84,
1923
+ 0x10F50: 84,
1924
+ 0x10F51: 68,
1925
+ 0x10F52: 68,
1926
+ 0x10F53: 68,
1927
+ 0x10F54: 82,
1928
+ 0x10F70: 68,
1929
+ 0x10F71: 68,
1930
+ 0x10F72: 68,
1931
+ 0x10F73: 68,
1932
+ 0x10F74: 82,
1933
+ 0x10F75: 82,
1934
+ 0x10F76: 68,
1935
+ 0x10F77: 68,
1936
+ 0x10F78: 68,
1937
+ 0x10F79: 68,
1938
+ 0x10F7A: 68,
1939
+ 0x10F7B: 68,
1940
+ 0x10F7C: 68,
1941
+ 0x10F7D: 68,
1942
+ 0x10F7E: 68,
1943
+ 0x10F7F: 68,
1944
+ 0x10F80: 68,
1945
+ 0x10F81: 68,
1946
+ 0x10F82: 84,
1947
+ 0x10F83: 84,
1948
+ 0x10F84: 84,
1949
+ 0x10F85: 84,
1950
+ 0x10FB0: 68,
1951
+ 0x10FB2: 68,
1952
+ 0x10FB3: 68,
1953
+ 0x10FB4: 82,
1954
+ 0x10FB5: 82,
1955
+ 0x10FB6: 82,
1956
+ 0x10FB8: 68,
1957
+ 0x10FB9: 82,
1958
+ 0x10FBA: 82,
1959
+ 0x10FBB: 68,
1960
+ 0x10FBC: 68,
1961
+ 0x10FBD: 82,
1962
+ 0x10FBE: 68,
1963
+ 0x10FBF: 68,
1964
+ 0x10FC1: 68,
1965
+ 0x10FC2: 82,
1966
+ 0x10FC3: 82,
1967
+ 0x10FC4: 68,
1968
+ 0x10FC9: 82,
1969
+ 0x10FCA: 68,
1970
+ 0x10FCB: 76,
1971
+ 0x11001: 84,
1972
+ 0x11038: 84,
1973
+ 0x11039: 84,
1974
+ 0x1103A: 84,
1975
+ 0x1103B: 84,
1976
+ 0x1103C: 84,
1977
+ 0x1103D: 84,
1978
+ 0x1103E: 84,
1979
+ 0x1103F: 84,
1980
+ 0x11040: 84,
1981
+ 0x11041: 84,
1982
+ 0x11042: 84,
1983
+ 0x11043: 84,
1984
+ 0x11044: 84,
1985
+ 0x11045: 84,
1986
+ 0x11046: 84,
1987
+ 0x11070: 84,
1988
+ 0x11073: 84,
1989
+ 0x11074: 84,
1990
+ 0x1107F: 84,
1991
+ 0x11080: 84,
1992
+ 0x11081: 84,
1993
+ 0x110B3: 84,
1994
+ 0x110B4: 84,
1995
+ 0x110B5: 84,
1996
+ 0x110B6: 84,
1997
+ 0x110B9: 84,
1998
+ 0x110BA: 84,
1999
+ 0x110C2: 84,
2000
+ 0x11100: 84,
2001
+ 0x11101: 84,
2002
+ 0x11102: 84,
2003
+ 0x11127: 84,
2004
+ 0x11128: 84,
2005
+ 0x11129: 84,
2006
+ 0x1112A: 84,
2007
+ 0x1112B: 84,
2008
+ 0x1112D: 84,
2009
+ 0x1112E: 84,
2010
+ 0x1112F: 84,
2011
+ 0x11130: 84,
2012
+ 0x11131: 84,
2013
+ 0x11132: 84,
2014
+ 0x11133: 84,
2015
+ 0x11134: 84,
2016
+ 0x11173: 84,
2017
+ 0x11180: 84,
2018
+ 0x11181: 84,
2019
+ 0x111B6: 84,
2020
+ 0x111B7: 84,
2021
+ 0x111B8: 84,
2022
+ 0x111B9: 84,
2023
+ 0x111BA: 84,
2024
+ 0x111BB: 84,
2025
+ 0x111BC: 84,
2026
+ 0x111BD: 84,
2027
+ 0x111BE: 84,
2028
+ 0x111C9: 84,
2029
+ 0x111CA: 84,
2030
+ 0x111CB: 84,
2031
+ 0x111CC: 84,
2032
+ 0x111CF: 84,
2033
+ 0x1122F: 84,
2034
+ 0x11230: 84,
2035
+ 0x11231: 84,
2036
+ 0x11234: 84,
2037
+ 0x11236: 84,
2038
+ 0x11237: 84,
2039
+ 0x1123E: 84,
2040
+ 0x11241: 84,
2041
+ 0x112DF: 84,
2042
+ 0x112E3: 84,
2043
+ 0x112E4: 84,
2044
+ 0x112E5: 84,
2045
+ 0x112E6: 84,
2046
+ 0x112E7: 84,
2047
+ 0x112E8: 84,
2048
+ 0x112E9: 84,
2049
+ 0x112EA: 84,
2050
+ 0x11300: 84,
2051
+ 0x11301: 84,
2052
+ 0x1133B: 84,
2053
+ 0x1133C: 84,
2054
+ 0x11340: 84,
2055
+ 0x11366: 84,
2056
+ 0x11367: 84,
2057
+ 0x11368: 84,
2058
+ 0x11369: 84,
2059
+ 0x1136A: 84,
2060
+ 0x1136B: 84,
2061
+ 0x1136C: 84,
2062
+ 0x11370: 84,
2063
+ 0x11371: 84,
2064
+ 0x11372: 84,
2065
+ 0x11373: 84,
2066
+ 0x11374: 84,
2067
+ 0x113BB: 84,
2068
+ 0x113BC: 84,
2069
+ 0x113BD: 84,
2070
+ 0x113BE: 84,
2071
+ 0x113BF: 84,
2072
+ 0x113C0: 84,
2073
+ 0x113CE: 84,
2074
+ 0x113D0: 84,
2075
+ 0x113D2: 84,
2076
+ 0x113E1: 84,
2077
+ 0x113E2: 84,
2078
+ 0x11438: 84,
2079
+ 0x11439: 84,
2080
+ 0x1143A: 84,
2081
+ 0x1143B: 84,
2082
+ 0x1143C: 84,
2083
+ 0x1143D: 84,
2084
+ 0x1143E: 84,
2085
+ 0x1143F: 84,
2086
+ 0x11442: 84,
2087
+ 0x11443: 84,
2088
+ 0x11444: 84,
2089
+ 0x11446: 84,
2090
+ 0x1145E: 84,
2091
+ 0x114B3: 84,
2092
+ 0x114B4: 84,
2093
+ 0x114B5: 84,
2094
+ 0x114B6: 84,
2095
+ 0x114B7: 84,
2096
+ 0x114B8: 84,
2097
+ 0x114BA: 84,
2098
+ 0x114BF: 84,
2099
+ 0x114C0: 84,
2100
+ 0x114C2: 84,
2101
+ 0x114C3: 84,
2102
+ 0x115B2: 84,
2103
+ 0x115B3: 84,
2104
+ 0x115B4: 84,
2105
+ 0x115B5: 84,
2106
+ 0x115BC: 84,
2107
+ 0x115BD: 84,
2108
+ 0x115BF: 84,
2109
+ 0x115C0: 84,
2110
+ 0x115DC: 84,
2111
+ 0x115DD: 84,
2112
+ 0x11633: 84,
2113
+ 0x11634: 84,
2114
+ 0x11635: 84,
2115
+ 0x11636: 84,
2116
+ 0x11637: 84,
2117
+ 0x11638: 84,
2118
+ 0x11639: 84,
2119
+ 0x1163A: 84,
2120
+ 0x1163D: 84,
2121
+ 0x1163F: 84,
2122
+ 0x11640: 84,
2123
+ 0x116AB: 84,
2124
+ 0x116AD: 84,
2125
+ 0x116B0: 84,
2126
+ 0x116B1: 84,
2127
+ 0x116B2: 84,
2128
+ 0x116B3: 84,
2129
+ 0x116B4: 84,
2130
+ 0x116B5: 84,
2131
+ 0x116B7: 84,
2132
+ 0x1171D: 84,
2133
+ 0x1171F: 84,
2134
+ 0x11722: 84,
2135
+ 0x11723: 84,
2136
+ 0x11724: 84,
2137
+ 0x11725: 84,
2138
+ 0x11727: 84,
2139
+ 0x11728: 84,
2140
+ 0x11729: 84,
2141
+ 0x1172A: 84,
2142
+ 0x1172B: 84,
2143
+ 0x1182F: 84,
2144
+ 0x11830: 84,
2145
+ 0x11831: 84,
2146
+ 0x11832: 84,
2147
+ 0x11833: 84,
2148
+ 0x11834: 84,
2149
+ 0x11835: 84,
2150
+ 0x11836: 84,
2151
+ 0x11837: 84,
2152
+ 0x11839: 84,
2153
+ 0x1183A: 84,
2154
+ 0x1193B: 84,
2155
+ 0x1193C: 84,
2156
+ 0x1193E: 84,
2157
+ 0x11943: 84,
2158
+ 0x119D4: 84,
2159
+ 0x119D5: 84,
2160
+ 0x119D6: 84,
2161
+ 0x119D7: 84,
2162
+ 0x119DA: 84,
2163
+ 0x119DB: 84,
2164
+ 0x119E0: 84,
2165
+ 0x11A01: 84,
2166
+ 0x11A02: 84,
2167
+ 0x11A03: 84,
2168
+ 0x11A04: 84,
2169
+ 0x11A05: 84,
2170
+ 0x11A06: 84,
2171
+ 0x11A07: 84,
2172
+ 0x11A08: 84,
2173
+ 0x11A09: 84,
2174
+ 0x11A0A: 84,
2175
+ 0x11A33: 84,
2176
+ 0x11A34: 84,
2177
+ 0x11A35: 84,
2178
+ 0x11A36: 84,
2179
+ 0x11A37: 84,
2180
+ 0x11A38: 84,
2181
+ 0x11A3B: 84,
2182
+ 0x11A3C: 84,
2183
+ 0x11A3D: 84,
2184
+ 0x11A3E: 84,
2185
+ 0x11A47: 84,
2186
+ 0x11A51: 84,
2187
+ 0x11A52: 84,
2188
+ 0x11A53: 84,
2189
+ 0x11A54: 84,
2190
+ 0x11A55: 84,
2191
+ 0x11A56: 84,
2192
+ 0x11A59: 84,
2193
+ 0x11A5A: 84,
2194
+ 0x11A5B: 84,
2195
+ 0x11A8A: 84,
2196
+ 0x11A8B: 84,
2197
+ 0x11A8C: 84,
2198
+ 0x11A8D: 84,
2199
+ 0x11A8E: 84,
2200
+ 0x11A8F: 84,
2201
+ 0x11A90: 84,
2202
+ 0x11A91: 84,
2203
+ 0x11A92: 84,
2204
+ 0x11A93: 84,
2205
+ 0x11A94: 84,
2206
+ 0x11A95: 84,
2207
+ 0x11A96: 84,
2208
+ 0x11A98: 84,
2209
+ 0x11A99: 84,
2210
+ 0x11C30: 84,
2211
+ 0x11C31: 84,
2212
+ 0x11C32: 84,
2213
+ 0x11C33: 84,
2214
+ 0x11C34: 84,
2215
+ 0x11C35: 84,
2216
+ 0x11C36: 84,
2217
+ 0x11C38: 84,
2218
+ 0x11C39: 84,
2219
+ 0x11C3A: 84,
2220
+ 0x11C3B: 84,
2221
+ 0x11C3C: 84,
2222
+ 0x11C3D: 84,
2223
+ 0x11C3F: 84,
2224
+ 0x11C92: 84,
2225
+ 0x11C93: 84,
2226
+ 0x11C94: 84,
2227
+ 0x11C95: 84,
2228
+ 0x11C96: 84,
2229
+ 0x11C97: 84,
2230
+ 0x11C98: 84,
2231
+ 0x11C99: 84,
2232
+ 0x11C9A: 84,
2233
+ 0x11C9B: 84,
2234
+ 0x11C9C: 84,
2235
+ 0x11C9D: 84,
2236
+ 0x11C9E: 84,
2237
+ 0x11C9F: 84,
2238
+ 0x11CA0: 84,
2239
+ 0x11CA1: 84,
2240
+ 0x11CA2: 84,
2241
+ 0x11CA3: 84,
2242
+ 0x11CA4: 84,
2243
+ 0x11CA5: 84,
2244
+ 0x11CA6: 84,
2245
+ 0x11CA7: 84,
2246
+ 0x11CAA: 84,
2247
+ 0x11CAB: 84,
2248
+ 0x11CAC: 84,
2249
+ 0x11CAD: 84,
2250
+ 0x11CAE: 84,
2251
+ 0x11CAF: 84,
2252
+ 0x11CB0: 84,
2253
+ 0x11CB2: 84,
2254
+ 0x11CB3: 84,
2255
+ 0x11CB5: 84,
2256
+ 0x11CB6: 84,
2257
+ 0x11D31: 84,
2258
+ 0x11D32: 84,
2259
+ 0x11D33: 84,
2260
+ 0x11D34: 84,
2261
+ 0x11D35: 84,
2262
+ 0x11D36: 84,
2263
+ 0x11D3A: 84,
2264
+ 0x11D3C: 84,
2265
+ 0x11D3D: 84,
2266
+ 0x11D3F: 84,
2267
+ 0x11D40: 84,
2268
+ 0x11D41: 84,
2269
+ 0x11D42: 84,
2270
+ 0x11D43: 84,
2271
+ 0x11D44: 84,
2272
+ 0x11D45: 84,
2273
+ 0x11D47: 84,
2274
+ 0x11D90: 84,
2275
+ 0x11D91: 84,
2276
+ 0x11D95: 84,
2277
+ 0x11D97: 84,
2278
+ 0x11EF3: 84,
2279
+ 0x11EF4: 84,
2280
+ 0x11F00: 84,
2281
+ 0x11F01: 84,
2282
+ 0x11F36: 84,
2283
+ 0x11F37: 84,
2284
+ 0x11F38: 84,
2285
+ 0x11F39: 84,
2286
+ 0x11F3A: 84,
2287
+ 0x11F40: 84,
2288
+ 0x11F42: 84,
2289
+ 0x11F5A: 84,
2290
+ 0x13430: 84,
2291
+ 0x13431: 84,
2292
+ 0x13432: 84,
2293
+ 0x13433: 84,
2294
+ 0x13434: 84,
2295
+ 0x13435: 84,
2296
+ 0x13436: 84,
2297
+ 0x13437: 84,
2298
+ 0x13438: 84,
2299
+ 0x13439: 84,
2300
+ 0x1343A: 84,
2301
+ 0x1343B: 84,
2302
+ 0x1343C: 84,
2303
+ 0x1343D: 84,
2304
+ 0x1343E: 84,
2305
+ 0x1343F: 84,
2306
+ 0x13440: 84,
2307
+ 0x13447: 84,
2308
+ 0x13448: 84,
2309
+ 0x13449: 84,
2310
+ 0x1344A: 84,
2311
+ 0x1344B: 84,
2312
+ 0x1344C: 84,
2313
+ 0x1344D: 84,
2314
+ 0x1344E: 84,
2315
+ 0x1344F: 84,
2316
+ 0x13450: 84,
2317
+ 0x13451: 84,
2318
+ 0x13452: 84,
2319
+ 0x13453: 84,
2320
+ 0x13454: 84,
2321
+ 0x13455: 84,
2322
+ 0x1611E: 84,
2323
+ 0x1611F: 84,
2324
+ 0x16120: 84,
2325
+ 0x16121: 84,
2326
+ 0x16122: 84,
2327
+ 0x16123: 84,
2328
+ 0x16124: 84,
2329
+ 0x16125: 84,
2330
+ 0x16126: 84,
2331
+ 0x16127: 84,
2332
+ 0x16128: 84,
2333
+ 0x16129: 84,
2334
+ 0x1612D: 84,
2335
+ 0x1612E: 84,
2336
+ 0x1612F: 84,
2337
+ 0x16AF0: 84,
2338
+ 0x16AF1: 84,
2339
+ 0x16AF2: 84,
2340
+ 0x16AF3: 84,
2341
+ 0x16AF4: 84,
2342
+ 0x16B30: 84,
2343
+ 0x16B31: 84,
2344
+ 0x16B32: 84,
2345
+ 0x16B33: 84,
2346
+ 0x16B34: 84,
2347
+ 0x16B35: 84,
2348
+ 0x16B36: 84,
2349
+ 0x16F4F: 84,
2350
+ 0x16F8F: 84,
2351
+ 0x16F90: 84,
2352
+ 0x16F91: 84,
2353
+ 0x16F92: 84,
2354
+ 0x16FE4: 84,
2355
+ 0x1BC9D: 84,
2356
+ 0x1BC9E: 84,
2357
+ 0x1BCA0: 84,
2358
+ 0x1BCA1: 84,
2359
+ 0x1BCA2: 84,
2360
+ 0x1BCA3: 84,
2361
+ 0x1CF00: 84,
2362
+ 0x1CF01: 84,
2363
+ 0x1CF02: 84,
2364
+ 0x1CF03: 84,
2365
+ 0x1CF04: 84,
2366
+ 0x1CF05: 84,
2367
+ 0x1CF06: 84,
2368
+ 0x1CF07: 84,
2369
+ 0x1CF08: 84,
2370
+ 0x1CF09: 84,
2371
+ 0x1CF0A: 84,
2372
+ 0x1CF0B: 84,
2373
+ 0x1CF0C: 84,
2374
+ 0x1CF0D: 84,
2375
+ 0x1CF0E: 84,
2376
+ 0x1CF0F: 84,
2377
+ 0x1CF10: 84,
2378
+ 0x1CF11: 84,
2379
+ 0x1CF12: 84,
2380
+ 0x1CF13: 84,
2381
+ 0x1CF14: 84,
2382
+ 0x1CF15: 84,
2383
+ 0x1CF16: 84,
2384
+ 0x1CF17: 84,
2385
+ 0x1CF18: 84,
2386
+ 0x1CF19: 84,
2387
+ 0x1CF1A: 84,
2388
+ 0x1CF1B: 84,
2389
+ 0x1CF1C: 84,
2390
+ 0x1CF1D: 84,
2391
+ 0x1CF1E: 84,
2392
+ 0x1CF1F: 84,
2393
+ 0x1CF20: 84,
2394
+ 0x1CF21: 84,
2395
+ 0x1CF22: 84,
2396
+ 0x1CF23: 84,
2397
+ 0x1CF24: 84,
2398
+ 0x1CF25: 84,
2399
+ 0x1CF26: 84,
2400
+ 0x1CF27: 84,
2401
+ 0x1CF28: 84,
2402
+ 0x1CF29: 84,
2403
+ 0x1CF2A: 84,
2404
+ 0x1CF2B: 84,
2405
+ 0x1CF2C: 84,
2406
+ 0x1CF2D: 84,
2407
+ 0x1CF30: 84,
2408
+ 0x1CF31: 84,
2409
+ 0x1CF32: 84,
2410
+ 0x1CF33: 84,
2411
+ 0x1CF34: 84,
2412
+ 0x1CF35: 84,
2413
+ 0x1CF36: 84,
2414
+ 0x1CF37: 84,
2415
+ 0x1CF38: 84,
2416
+ 0x1CF39: 84,
2417
+ 0x1CF3A: 84,
2418
+ 0x1CF3B: 84,
2419
+ 0x1CF3C: 84,
2420
+ 0x1CF3D: 84,
2421
+ 0x1CF3E: 84,
2422
+ 0x1CF3F: 84,
2423
+ 0x1CF40: 84,
2424
+ 0x1CF41: 84,
2425
+ 0x1CF42: 84,
2426
+ 0x1CF43: 84,
2427
+ 0x1CF44: 84,
2428
+ 0x1CF45: 84,
2429
+ 0x1CF46: 84,
2430
+ 0x1D167: 84,
2431
+ 0x1D168: 84,
2432
+ 0x1D169: 84,
2433
+ 0x1D173: 84,
2434
+ 0x1D174: 84,
2435
+ 0x1D175: 84,
2436
+ 0x1D176: 84,
2437
+ 0x1D177: 84,
2438
+ 0x1D178: 84,
2439
+ 0x1D179: 84,
2440
+ 0x1D17A: 84,
2441
+ 0x1D17B: 84,
2442
+ 0x1D17C: 84,
2443
+ 0x1D17D: 84,
2444
+ 0x1D17E: 84,
2445
+ 0x1D17F: 84,
2446
+ 0x1D180: 84,
2447
+ 0x1D181: 84,
2448
+ 0x1D182: 84,
2449
+ 0x1D185: 84,
2450
+ 0x1D186: 84,
2451
+ 0x1D187: 84,
2452
+ 0x1D188: 84,
2453
+ 0x1D189: 84,
2454
+ 0x1D18A: 84,
2455
+ 0x1D18B: 84,
2456
+ 0x1D1AA: 84,
2457
+ 0x1D1AB: 84,
2458
+ 0x1D1AC: 84,
2459
+ 0x1D1AD: 84,
2460
+ 0x1D242: 84,
2461
+ 0x1D243: 84,
2462
+ 0x1D244: 84,
2463
+ 0x1DA00: 84,
2464
+ 0x1DA01: 84,
2465
+ 0x1DA02: 84,
2466
+ 0x1DA03: 84,
2467
+ 0x1DA04: 84,
2468
+ 0x1DA05: 84,
2469
+ 0x1DA06: 84,
2470
+ 0x1DA07: 84,
2471
+ 0x1DA08: 84,
2472
+ 0x1DA09: 84,
2473
+ 0x1DA0A: 84,
2474
+ 0x1DA0B: 84,
2475
+ 0x1DA0C: 84,
2476
+ 0x1DA0D: 84,
2477
+ 0x1DA0E: 84,
2478
+ 0x1DA0F: 84,
2479
+ 0x1DA10: 84,
2480
+ 0x1DA11: 84,
2481
+ 0x1DA12: 84,
2482
+ 0x1DA13: 84,
2483
+ 0x1DA14: 84,
2484
+ 0x1DA15: 84,
2485
+ 0x1DA16: 84,
2486
+ 0x1DA17: 84,
2487
+ 0x1DA18: 84,
2488
+ 0x1DA19: 84,
2489
+ 0x1DA1A: 84,
2490
+ 0x1DA1B: 84,
2491
+ 0x1DA1C: 84,
2492
+ 0x1DA1D: 84,
2493
+ 0x1DA1E: 84,
2494
+ 0x1DA1F: 84,
2495
+ 0x1DA20: 84,
2496
+ 0x1DA21: 84,
2497
+ 0x1DA22: 84,
2498
+ 0x1DA23: 84,
2499
+ 0x1DA24: 84,
2500
+ 0x1DA25: 84,
2501
+ 0x1DA26: 84,
2502
+ 0x1DA27: 84,
2503
+ 0x1DA28: 84,
2504
+ 0x1DA29: 84,
2505
+ 0x1DA2A: 84,
2506
+ 0x1DA2B: 84,
2507
+ 0x1DA2C: 84,
2508
+ 0x1DA2D: 84,
2509
+ 0x1DA2E: 84,
2510
+ 0x1DA2F: 84,
2511
+ 0x1DA30: 84,
2512
+ 0x1DA31: 84,
2513
+ 0x1DA32: 84,
2514
+ 0x1DA33: 84,
2515
+ 0x1DA34: 84,
2516
+ 0x1DA35: 84,
2517
+ 0x1DA36: 84,
2518
+ 0x1DA3B: 84,
2519
+ 0x1DA3C: 84,
2520
+ 0x1DA3D: 84,
2521
+ 0x1DA3E: 84,
2522
+ 0x1DA3F: 84,
2523
+ 0x1DA40: 84,
2524
+ 0x1DA41: 84,
2525
+ 0x1DA42: 84,
2526
+ 0x1DA43: 84,
2527
+ 0x1DA44: 84,
2528
+ 0x1DA45: 84,
2529
+ 0x1DA46: 84,
2530
+ 0x1DA47: 84,
2531
+ 0x1DA48: 84,
2532
+ 0x1DA49: 84,
2533
+ 0x1DA4A: 84,
2534
+ 0x1DA4B: 84,
2535
+ 0x1DA4C: 84,
2536
+ 0x1DA4D: 84,
2537
+ 0x1DA4E: 84,
2538
+ 0x1DA4F: 84,
2539
+ 0x1DA50: 84,
2540
+ 0x1DA51: 84,
2541
+ 0x1DA52: 84,
2542
+ 0x1DA53: 84,
2543
+ 0x1DA54: 84,
2544
+ 0x1DA55: 84,
2545
+ 0x1DA56: 84,
2546
+ 0x1DA57: 84,
2547
+ 0x1DA58: 84,
2548
+ 0x1DA59: 84,
2549
+ 0x1DA5A: 84,
2550
+ 0x1DA5B: 84,
2551
+ 0x1DA5C: 84,
2552
+ 0x1DA5D: 84,
2553
+ 0x1DA5E: 84,
2554
+ 0x1DA5F: 84,
2555
+ 0x1DA60: 84,
2556
+ 0x1DA61: 84,
2557
+ 0x1DA62: 84,
2558
+ 0x1DA63: 84,
2559
+ 0x1DA64: 84,
2560
+ 0x1DA65: 84,
2561
+ 0x1DA66: 84,
2562
+ 0x1DA67: 84,
2563
+ 0x1DA68: 84,
2564
+ 0x1DA69: 84,
2565
+ 0x1DA6A: 84,
2566
+ 0x1DA6B: 84,
2567
+ 0x1DA6C: 84,
2568
+ 0x1DA75: 84,
2569
+ 0x1DA84: 84,
2570
+ 0x1DA9B: 84,
2571
+ 0x1DA9C: 84,
2572
+ 0x1DA9D: 84,
2573
+ 0x1DA9E: 84,
2574
+ 0x1DA9F: 84,
2575
+ 0x1DAA1: 84,
2576
+ 0x1DAA2: 84,
2577
+ 0x1DAA3: 84,
2578
+ 0x1DAA4: 84,
2579
+ 0x1DAA5: 84,
2580
+ 0x1DAA6: 84,
2581
+ 0x1DAA7: 84,
2582
+ 0x1DAA8: 84,
2583
+ 0x1DAA9: 84,
2584
+ 0x1DAAA: 84,
2585
+ 0x1DAAB: 84,
2586
+ 0x1DAAC: 84,
2587
+ 0x1DAAD: 84,
2588
+ 0x1DAAE: 84,
2589
+ 0x1DAAF: 84,
2590
+ 0x1E000: 84,
2591
+ 0x1E001: 84,
2592
+ 0x1E002: 84,
2593
+ 0x1E003: 84,
2594
+ 0x1E004: 84,
2595
+ 0x1E005: 84,
2596
+ 0x1E006: 84,
2597
+ 0x1E008: 84,
2598
+ 0x1E009: 84,
2599
+ 0x1E00A: 84,
2600
+ 0x1E00B: 84,
2601
+ 0x1E00C: 84,
2602
+ 0x1E00D: 84,
2603
+ 0x1E00E: 84,
2604
+ 0x1E00F: 84,
2605
+ 0x1E010: 84,
2606
+ 0x1E011: 84,
2607
+ 0x1E012: 84,
2608
+ 0x1E013: 84,
2609
+ 0x1E014: 84,
2610
+ 0x1E015: 84,
2611
+ 0x1E016: 84,
2612
+ 0x1E017: 84,
2613
+ 0x1E018: 84,
2614
+ 0x1E01B: 84,
2615
+ 0x1E01C: 84,
2616
+ 0x1E01D: 84,
2617
+ 0x1E01E: 84,
2618
+ 0x1E01F: 84,
2619
+ 0x1E020: 84,
2620
+ 0x1E021: 84,
2621
+ 0x1E023: 84,
2622
+ 0x1E024: 84,
2623
+ 0x1E026: 84,
2624
+ 0x1E027: 84,
2625
+ 0x1E028: 84,
2626
+ 0x1E029: 84,
2627
+ 0x1E02A: 84,
2628
+ 0x1E08F: 84,
2629
+ 0x1E130: 84,
2630
+ 0x1E131: 84,
2631
+ 0x1E132: 84,
2632
+ 0x1E133: 84,
2633
+ 0x1E134: 84,
2634
+ 0x1E135: 84,
2635
+ 0x1E136: 84,
2636
+ 0x1E2AE: 84,
2637
+ 0x1E2EC: 84,
2638
+ 0x1E2ED: 84,
2639
+ 0x1E2EE: 84,
2640
+ 0x1E2EF: 84,
2641
+ 0x1E4EC: 84,
2642
+ 0x1E4ED: 84,
2643
+ 0x1E4EE: 84,
2644
+ 0x1E4EF: 84,
2645
+ 0x1E5EE: 84,
2646
+ 0x1E5EF: 84,
2647
+ 0x1E8D0: 84,
2648
+ 0x1E8D1: 84,
2649
+ 0x1E8D2: 84,
2650
+ 0x1E8D3: 84,
2651
+ 0x1E8D4: 84,
2652
+ 0x1E8D5: 84,
2653
+ 0x1E8D6: 84,
2654
+ 0x1E900: 68,
2655
+ 0x1E901: 68,
2656
+ 0x1E902: 68,
2657
+ 0x1E903: 68,
2658
+ 0x1E904: 68,
2659
+ 0x1E905: 68,
2660
+ 0x1E906: 68,
2661
+ 0x1E907: 68,
2662
+ 0x1E908: 68,
2663
+ 0x1E909: 68,
2664
+ 0x1E90A: 68,
2665
+ 0x1E90B: 68,
2666
+ 0x1E90C: 68,
2667
+ 0x1E90D: 68,
2668
+ 0x1E90E: 68,
2669
+ 0x1E90F: 68,
2670
+ 0x1E910: 68,
2671
+ 0x1E911: 68,
2672
+ 0x1E912: 68,
2673
+ 0x1E913: 68,
2674
+ 0x1E914: 68,
2675
+ 0x1E915: 68,
2676
+ 0x1E916: 68,
2677
+ 0x1E917: 68,
2678
+ 0x1E918: 68,
2679
+ 0x1E919: 68,
2680
+ 0x1E91A: 68,
2681
+ 0x1E91B: 68,
2682
+ 0x1E91C: 68,
2683
+ 0x1E91D: 68,
2684
+ 0x1E91E: 68,
2685
+ 0x1E91F: 68,
2686
+ 0x1E920: 68,
2687
+ 0x1E921: 68,
2688
+ 0x1E922: 68,
2689
+ 0x1E923: 68,
2690
+ 0x1E924: 68,
2691
+ 0x1E925: 68,
2692
+ 0x1E926: 68,
2693
+ 0x1E927: 68,
2694
+ 0x1E928: 68,
2695
+ 0x1E929: 68,
2696
+ 0x1E92A: 68,
2697
+ 0x1E92B: 68,
2698
+ 0x1E92C: 68,
2699
+ 0x1E92D: 68,
2700
+ 0x1E92E: 68,
2701
+ 0x1E92F: 68,
2702
+ 0x1E930: 68,
2703
+ 0x1E931: 68,
2704
+ 0x1E932: 68,
2705
+ 0x1E933: 68,
2706
+ 0x1E934: 68,
2707
+ 0x1E935: 68,
2708
+ 0x1E936: 68,
2709
+ 0x1E937: 68,
2710
+ 0x1E938: 68,
2711
+ 0x1E939: 68,
2712
+ 0x1E93A: 68,
2713
+ 0x1E93B: 68,
2714
+ 0x1E93C: 68,
2715
+ 0x1E93D: 68,
2716
+ 0x1E93E: 68,
2717
+ 0x1E93F: 68,
2718
+ 0x1E940: 68,
2719
+ 0x1E941: 68,
2720
+ 0x1E942: 68,
2721
+ 0x1E943: 68,
2722
+ 0x1E944: 84,
2723
+ 0x1E945: 84,
2724
+ 0x1E946: 84,
2725
+ 0x1E947: 84,
2726
+ 0x1E948: 84,
2727
+ 0x1E949: 84,
2728
+ 0x1E94A: 84,
2729
+ 0x1E94B: 84,
2730
+ 0xE0001: 84,
2731
+ 0xE0020: 84,
2732
+ 0xE0021: 84,
2733
+ 0xE0022: 84,
2734
+ 0xE0023: 84,
2735
+ 0xE0024: 84,
2736
+ 0xE0025: 84,
2737
+ 0xE0026: 84,
2738
+ 0xE0027: 84,
2739
+ 0xE0028: 84,
2740
+ 0xE0029: 84,
2741
+ 0xE002A: 84,
2742
+ 0xE002B: 84,
2743
+ 0xE002C: 84,
2744
+ 0xE002D: 84,
2745
+ 0xE002E: 84,
2746
+ 0xE002F: 84,
2747
+ 0xE0030: 84,
2748
+ 0xE0031: 84,
2749
+ 0xE0032: 84,
2750
+ 0xE0033: 84,
2751
+ 0xE0034: 84,
2752
+ 0xE0035: 84,
2753
+ 0xE0036: 84,
2754
+ 0xE0037: 84,
2755
+ 0xE0038: 84,
2756
+ 0xE0039: 84,
2757
+ 0xE003A: 84,
2758
+ 0xE003B: 84,
2759
+ 0xE003C: 84,
2760
+ 0xE003D: 84,
2761
+ 0xE003E: 84,
2762
+ 0xE003F: 84,
2763
+ 0xE0040: 84,
2764
+ 0xE0041: 84,
2765
+ 0xE0042: 84,
2766
+ 0xE0043: 84,
2767
+ 0xE0044: 84,
2768
+ 0xE0045: 84,
2769
+ 0xE0046: 84,
2770
+ 0xE0047: 84,
2771
+ 0xE0048: 84,
2772
+ 0xE0049: 84,
2773
+ 0xE004A: 84,
2774
+ 0xE004B: 84,
2775
+ 0xE004C: 84,
2776
+ 0xE004D: 84,
2777
+ 0xE004E: 84,
2778
+ 0xE004F: 84,
2779
+ 0xE0050: 84,
2780
+ 0xE0051: 84,
2781
+ 0xE0052: 84,
2782
+ 0xE0053: 84,
2783
+ 0xE0054: 84,
2784
+ 0xE0055: 84,
2785
+ 0xE0056: 84,
2786
+ 0xE0057: 84,
2787
+ 0xE0058: 84,
2788
+ 0xE0059: 84,
2789
+ 0xE005A: 84,
2790
+ 0xE005B: 84,
2791
+ 0xE005C: 84,
2792
+ 0xE005D: 84,
2793
+ 0xE005E: 84,
2794
+ 0xE005F: 84,
2795
+ 0xE0060: 84,
2796
+ 0xE0061: 84,
2797
+ 0xE0062: 84,
2798
+ 0xE0063: 84,
2799
+ 0xE0064: 84,
2800
+ 0xE0065: 84,
2801
+ 0xE0066: 84,
2802
+ 0xE0067: 84,
2803
+ 0xE0068: 84,
2804
+ 0xE0069: 84,
2805
+ 0xE006A: 84,
2806
+ 0xE006B: 84,
2807
+ 0xE006C: 84,
2808
+ 0xE006D: 84,
2809
+ 0xE006E: 84,
2810
+ 0xE006F: 84,
2811
+ 0xE0070: 84,
2812
+ 0xE0071: 84,
2813
+ 0xE0072: 84,
2814
+ 0xE0073: 84,
2815
+ 0xE0074: 84,
2816
+ 0xE0075: 84,
2817
+ 0xE0076: 84,
2818
+ 0xE0077: 84,
2819
+ 0xE0078: 84,
2820
+ 0xE0079: 84,
2821
+ 0xE007A: 84,
2822
+ 0xE007B: 84,
2823
+ 0xE007C: 84,
2824
+ 0xE007D: 84,
2825
+ 0xE007E: 84,
2826
+ 0xE007F: 84,
2827
+ 0xE0100: 84,
2828
+ 0xE0101: 84,
2829
+ 0xE0102: 84,
2830
+ 0xE0103: 84,
2831
+ 0xE0104: 84,
2832
+ 0xE0105: 84,
2833
+ 0xE0106: 84,
2834
+ 0xE0107: 84,
2835
+ 0xE0108: 84,
2836
+ 0xE0109: 84,
2837
+ 0xE010A: 84,
2838
+ 0xE010B: 84,
2839
+ 0xE010C: 84,
2840
+ 0xE010D: 84,
2841
+ 0xE010E: 84,
2842
+ 0xE010F: 84,
2843
+ 0xE0110: 84,
2844
+ 0xE0111: 84,
2845
+ 0xE0112: 84,
2846
+ 0xE0113: 84,
2847
+ 0xE0114: 84,
2848
+ 0xE0115: 84,
2849
+ 0xE0116: 84,
2850
+ 0xE0117: 84,
2851
+ 0xE0118: 84,
2852
+ 0xE0119: 84,
2853
+ 0xE011A: 84,
2854
+ 0xE011B: 84,
2855
+ 0xE011C: 84,
2856
+ 0xE011D: 84,
2857
+ 0xE011E: 84,
2858
+ 0xE011F: 84,
2859
+ 0xE0120: 84,
2860
+ 0xE0121: 84,
2861
+ 0xE0122: 84,
2862
+ 0xE0123: 84,
2863
+ 0xE0124: 84,
2864
+ 0xE0125: 84,
2865
+ 0xE0126: 84,
2866
+ 0xE0127: 84,
2867
+ 0xE0128: 84,
2868
+ 0xE0129: 84,
2869
+ 0xE012A: 84,
2870
+ 0xE012B: 84,
2871
+ 0xE012C: 84,
2872
+ 0xE012D: 84,
2873
+ 0xE012E: 84,
2874
+ 0xE012F: 84,
2875
+ 0xE0130: 84,
2876
+ 0xE0131: 84,
2877
+ 0xE0132: 84,
2878
+ 0xE0133: 84,
2879
+ 0xE0134: 84,
2880
+ 0xE0135: 84,
2881
+ 0xE0136: 84,
2882
+ 0xE0137: 84,
2883
+ 0xE0138: 84,
2884
+ 0xE0139: 84,
2885
+ 0xE013A: 84,
2886
+ 0xE013B: 84,
2887
+ 0xE013C: 84,
2888
+ 0xE013D: 84,
2889
+ 0xE013E: 84,
2890
+ 0xE013F: 84,
2891
+ 0xE0140: 84,
2892
+ 0xE0141: 84,
2893
+ 0xE0142: 84,
2894
+ 0xE0143: 84,
2895
+ 0xE0144: 84,
2896
+ 0xE0145: 84,
2897
+ 0xE0146: 84,
2898
+ 0xE0147: 84,
2899
+ 0xE0148: 84,
2900
+ 0xE0149: 84,
2901
+ 0xE014A: 84,
2902
+ 0xE014B: 84,
2903
+ 0xE014C: 84,
2904
+ 0xE014D: 84,
2905
+ 0xE014E: 84,
2906
+ 0xE014F: 84,
2907
+ 0xE0150: 84,
2908
+ 0xE0151: 84,
2909
+ 0xE0152: 84,
2910
+ 0xE0153: 84,
2911
+ 0xE0154: 84,
2912
+ 0xE0155: 84,
2913
+ 0xE0156: 84,
2914
+ 0xE0157: 84,
2915
+ 0xE0158: 84,
2916
+ 0xE0159: 84,
2917
+ 0xE015A: 84,
2918
+ 0xE015B: 84,
2919
+ 0xE015C: 84,
2920
+ 0xE015D: 84,
2921
+ 0xE015E: 84,
2922
+ 0xE015F: 84,
2923
+ 0xE0160: 84,
2924
+ 0xE0161: 84,
2925
+ 0xE0162: 84,
2926
+ 0xE0163: 84,
2927
+ 0xE0164: 84,
2928
+ 0xE0165: 84,
2929
+ 0xE0166: 84,
2930
+ 0xE0167: 84,
2931
+ 0xE0168: 84,
2932
+ 0xE0169: 84,
2933
+ 0xE016A: 84,
2934
+ 0xE016B: 84,
2935
+ 0xE016C: 84,
2936
+ 0xE016D: 84,
2937
+ 0xE016E: 84,
2938
+ 0xE016F: 84,
2939
+ 0xE0170: 84,
2940
+ 0xE0171: 84,
2941
+ 0xE0172: 84,
2942
+ 0xE0173: 84,
2943
+ 0xE0174: 84,
2944
+ 0xE0175: 84,
2945
+ 0xE0176: 84,
2946
+ 0xE0177: 84,
2947
+ 0xE0178: 84,
2948
+ 0xE0179: 84,
2949
+ 0xE017A: 84,
2950
+ 0xE017B: 84,
2951
+ 0xE017C: 84,
2952
+ 0xE017D: 84,
2953
+ 0xE017E: 84,
2954
+ 0xE017F: 84,
2955
+ 0xE0180: 84,
2956
+ 0xE0181: 84,
2957
+ 0xE0182: 84,
2958
+ 0xE0183: 84,
2959
+ 0xE0184: 84,
2960
+ 0xE0185: 84,
2961
+ 0xE0186: 84,
2962
+ 0xE0187: 84,
2963
+ 0xE0188: 84,
2964
+ 0xE0189: 84,
2965
+ 0xE018A: 84,
2966
+ 0xE018B: 84,
2967
+ 0xE018C: 84,
2968
+ 0xE018D: 84,
2969
+ 0xE018E: 84,
2970
+ 0xE018F: 84,
2971
+ 0xE0190: 84,
2972
+ 0xE0191: 84,
2973
+ 0xE0192: 84,
2974
+ 0xE0193: 84,
2975
+ 0xE0194: 84,
2976
+ 0xE0195: 84,
2977
+ 0xE0196: 84,
2978
+ 0xE0197: 84,
2979
+ 0xE0198: 84,
2980
+ 0xE0199: 84,
2981
+ 0xE019A: 84,
2982
+ 0xE019B: 84,
2983
+ 0xE019C: 84,
2984
+ 0xE019D: 84,
2985
+ 0xE019E: 84,
2986
+ 0xE019F: 84,
2987
+ 0xE01A0: 84,
2988
+ 0xE01A1: 84,
2989
+ 0xE01A2: 84,
2990
+ 0xE01A3: 84,
2991
+ 0xE01A4: 84,
2992
+ 0xE01A5: 84,
2993
+ 0xE01A6: 84,
2994
+ 0xE01A7: 84,
2995
+ 0xE01A8: 84,
2996
+ 0xE01A9: 84,
2997
+ 0xE01AA: 84,
2998
+ 0xE01AB: 84,
2999
+ 0xE01AC: 84,
3000
+ 0xE01AD: 84,
3001
+ 0xE01AE: 84,
3002
+ 0xE01AF: 84,
3003
+ 0xE01B0: 84,
3004
+ 0xE01B1: 84,
3005
+ 0xE01B2: 84,
3006
+ 0xE01B3: 84,
3007
+ 0xE01B4: 84,
3008
+ 0xE01B5: 84,
3009
+ 0xE01B6: 84,
3010
+ 0xE01B7: 84,
3011
+ 0xE01B8: 84,
3012
+ 0xE01B9: 84,
3013
+ 0xE01BA: 84,
3014
+ 0xE01BB: 84,
3015
+ 0xE01BC: 84,
3016
+ 0xE01BD: 84,
3017
+ 0xE01BE: 84,
3018
+ 0xE01BF: 84,
3019
+ 0xE01C0: 84,
3020
+ 0xE01C1: 84,
3021
+ 0xE01C2: 84,
3022
+ 0xE01C3: 84,
3023
+ 0xE01C4: 84,
3024
+ 0xE01C5: 84,
3025
+ 0xE01C6: 84,
3026
+ 0xE01C7: 84,
3027
+ 0xE01C8: 84,
3028
+ 0xE01C9: 84,
3029
+ 0xE01CA: 84,
3030
+ 0xE01CB: 84,
3031
+ 0xE01CC: 84,
3032
+ 0xE01CD: 84,
3033
+ 0xE01CE: 84,
3034
+ 0xE01CF: 84,
3035
+ 0xE01D0: 84,
3036
+ 0xE01D1: 84,
3037
+ 0xE01D2: 84,
3038
+ 0xE01D3: 84,
3039
+ 0xE01D4: 84,
3040
+ 0xE01D5: 84,
3041
+ 0xE01D6: 84,
3042
+ 0xE01D7: 84,
3043
+ 0xE01D8: 84,
3044
+ 0xE01D9: 84,
3045
+ 0xE01DA: 84,
3046
+ 0xE01DB: 84,
3047
+ 0xE01DC: 84,
3048
+ 0xE01DD: 84,
3049
+ 0xE01DE: 84,
3050
+ 0xE01DF: 84,
3051
+ 0xE01E0: 84,
3052
+ 0xE01E1: 84,
3053
+ 0xE01E2: 84,
3054
+ 0xE01E3: 84,
3055
+ 0xE01E4: 84,
3056
+ 0xE01E5: 84,
3057
+ 0xE01E6: 84,
3058
+ 0xE01E7: 84,
3059
+ 0xE01E8: 84,
3060
+ 0xE01E9: 84,
3061
+ 0xE01EA: 84,
3062
+ 0xE01EB: 84,
3063
+ 0xE01EC: 84,
3064
+ 0xE01ED: 84,
3065
+ 0xE01EE: 84,
3066
+ 0xE01EF: 84,
3067
+ }
3068
+ codepoint_classes = {
3069
+ "PVALID": (
3070
+ 0x2D0000002E,
3071
+ 0x300000003A,
3072
+ 0x610000007B,
3073
+ 0xDF000000F7,
3074
+ 0xF800000100,
3075
+ 0x10100000102,
3076
+ 0x10300000104,
3077
+ 0x10500000106,
3078
+ 0x10700000108,
3079
+ 0x1090000010A,
3080
+ 0x10B0000010C,
3081
+ 0x10D0000010E,
3082
+ 0x10F00000110,
3083
+ 0x11100000112,
3084
+ 0x11300000114,
3085
+ 0x11500000116,
3086
+ 0x11700000118,
3087
+ 0x1190000011A,
3088
+ 0x11B0000011C,
3089
+ 0x11D0000011E,
3090
+ 0x11F00000120,
3091
+ 0x12100000122,
3092
+ 0x12300000124,
3093
+ 0x12500000126,
3094
+ 0x12700000128,
3095
+ 0x1290000012A,
3096
+ 0x12B0000012C,
3097
+ 0x12D0000012E,
3098
+ 0x12F00000130,
3099
+ 0x13100000132,
3100
+ 0x13500000136,
3101
+ 0x13700000139,
3102
+ 0x13A0000013B,
3103
+ 0x13C0000013D,
3104
+ 0x13E0000013F,
3105
+ 0x14200000143,
3106
+ 0x14400000145,
3107
+ 0x14600000147,
3108
+ 0x14800000149,
3109
+ 0x14B0000014C,
3110
+ 0x14D0000014E,
3111
+ 0x14F00000150,
3112
+ 0x15100000152,
3113
+ 0x15300000154,
3114
+ 0x15500000156,
3115
+ 0x15700000158,
3116
+ 0x1590000015A,
3117
+ 0x15B0000015C,
3118
+ 0x15D0000015E,
3119
+ 0x15F00000160,
3120
+ 0x16100000162,
3121
+ 0x16300000164,
3122
+ 0x16500000166,
3123
+ 0x16700000168,
3124
+ 0x1690000016A,
3125
+ 0x16B0000016C,
3126
+ 0x16D0000016E,
3127
+ 0x16F00000170,
3128
+ 0x17100000172,
3129
+ 0x17300000174,
3130
+ 0x17500000176,
3131
+ 0x17700000178,
3132
+ 0x17A0000017B,
3133
+ 0x17C0000017D,
3134
+ 0x17E0000017F,
3135
+ 0x18000000181,
3136
+ 0x18300000184,
3137
+ 0x18500000186,
3138
+ 0x18800000189,
3139
+ 0x18C0000018E,
3140
+ 0x19200000193,
3141
+ 0x19500000196,
3142
+ 0x1990000019C,
3143
+ 0x19E0000019F,
3144
+ 0x1A1000001A2,
3145
+ 0x1A3000001A4,
3146
+ 0x1A5000001A6,
3147
+ 0x1A8000001A9,
3148
+ 0x1AA000001AC,
3149
+ 0x1AD000001AE,
3150
+ 0x1B0000001B1,
3151
+ 0x1B4000001B5,
3152
+ 0x1B6000001B7,
3153
+ 0x1B9000001BC,
3154
+ 0x1BD000001C4,
3155
+ 0x1CE000001CF,
3156
+ 0x1D0000001D1,
3157
+ 0x1D2000001D3,
3158
+ 0x1D4000001D5,
3159
+ 0x1D6000001D7,
3160
+ 0x1D8000001D9,
3161
+ 0x1DA000001DB,
3162
+ 0x1DC000001DE,
3163
+ 0x1DF000001E0,
3164
+ 0x1E1000001E2,
3165
+ 0x1E3000001E4,
3166
+ 0x1E5000001E6,
3167
+ 0x1E7000001E8,
3168
+ 0x1E9000001EA,
3169
+ 0x1EB000001EC,
3170
+ 0x1ED000001EE,
3171
+ 0x1EF000001F1,
3172
+ 0x1F5000001F6,
3173
+ 0x1F9000001FA,
3174
+ 0x1FB000001FC,
3175
+ 0x1FD000001FE,
3176
+ 0x1FF00000200,
3177
+ 0x20100000202,
3178
+ 0x20300000204,
3179
+ 0x20500000206,
3180
+ 0x20700000208,
3181
+ 0x2090000020A,
3182
+ 0x20B0000020C,
3183
+ 0x20D0000020E,
3184
+ 0x20F00000210,
3185
+ 0x21100000212,
3186
+ 0x21300000214,
3187
+ 0x21500000216,
3188
+ 0x21700000218,
3189
+ 0x2190000021A,
3190
+ 0x21B0000021C,
3191
+ 0x21D0000021E,
3192
+ 0x21F00000220,
3193
+ 0x22100000222,
3194
+ 0x22300000224,
3195
+ 0x22500000226,
3196
+ 0x22700000228,
3197
+ 0x2290000022A,
3198
+ 0x22B0000022C,
3199
+ 0x22D0000022E,
3200
+ 0x22F00000230,
3201
+ 0x23100000232,
3202
+ 0x2330000023A,
3203
+ 0x23C0000023D,
3204
+ 0x23F00000241,
3205
+ 0x24200000243,
3206
+ 0x24700000248,
3207
+ 0x2490000024A,
3208
+ 0x24B0000024C,
3209
+ 0x24D0000024E,
3210
+ 0x24F000002B0,
3211
+ 0x2B9000002C2,
3212
+ 0x2C6000002D2,
3213
+ 0x2EC000002ED,
3214
+ 0x2EE000002EF,
3215
+ 0x30000000340,
3216
+ 0x34200000343,
3217
+ 0x3460000034F,
3218
+ 0x35000000370,
3219
+ 0x37100000372,
3220
+ 0x37300000374,
3221
+ 0x37700000378,
3222
+ 0x37B0000037E,
3223
+ 0x39000000391,
3224
+ 0x3AC000003CF,
3225
+ 0x3D7000003D8,
3226
+ 0x3D9000003DA,
3227
+ 0x3DB000003DC,
3228
+ 0x3DD000003DE,
3229
+ 0x3DF000003E0,
3230
+ 0x3E1000003E2,
3231
+ 0x3E3000003E4,
3232
+ 0x3E5000003E6,
3233
+ 0x3E7000003E8,
3234
+ 0x3E9000003EA,
3235
+ 0x3EB000003EC,
3236
+ 0x3ED000003EE,
3237
+ 0x3EF000003F0,
3238
+ 0x3F3000003F4,
3239
+ 0x3F8000003F9,
3240
+ 0x3FB000003FD,
3241
+ 0x43000000460,
3242
+ 0x46100000462,
3243
+ 0x46300000464,
3244
+ 0x46500000466,
3245
+ 0x46700000468,
3246
+ 0x4690000046A,
3247
+ 0x46B0000046C,
3248
+ 0x46D0000046E,
3249
+ 0x46F00000470,
3250
+ 0x47100000472,
3251
+ 0x47300000474,
3252
+ 0x47500000476,
3253
+ 0x47700000478,
3254
+ 0x4790000047A,
3255
+ 0x47B0000047C,
3256
+ 0x47D0000047E,
3257
+ 0x47F00000480,
3258
+ 0x48100000482,
3259
+ 0x48300000488,
3260
+ 0x48B0000048C,
3261
+ 0x48D0000048E,
3262
+ 0x48F00000490,
3263
+ 0x49100000492,
3264
+ 0x49300000494,
3265
+ 0x49500000496,
3266
+ 0x49700000498,
3267
+ 0x4990000049A,
3268
+ 0x49B0000049C,
3269
+ 0x49D0000049E,
3270
+ 0x49F000004A0,
3271
+ 0x4A1000004A2,
3272
+ 0x4A3000004A4,
3273
+ 0x4A5000004A6,
3274
+ 0x4A7000004A8,
3275
+ 0x4A9000004AA,
3276
+ 0x4AB000004AC,
3277
+ 0x4AD000004AE,
3278
+ 0x4AF000004B0,
3279
+ 0x4B1000004B2,
3280
+ 0x4B3000004B4,
3281
+ 0x4B5000004B6,
3282
+ 0x4B7000004B8,
3283
+ 0x4B9000004BA,
3284
+ 0x4BB000004BC,
3285
+ 0x4BD000004BE,
3286
+ 0x4BF000004C0,
3287
+ 0x4C2000004C3,
3288
+ 0x4C4000004C5,
3289
+ 0x4C6000004C7,
3290
+ 0x4C8000004C9,
3291
+ 0x4CA000004CB,
3292
+ 0x4CC000004CD,
3293
+ 0x4CE000004D0,
3294
+ 0x4D1000004D2,
3295
+ 0x4D3000004D4,
3296
+ 0x4D5000004D6,
3297
+ 0x4D7000004D8,
3298
+ 0x4D9000004DA,
3299
+ 0x4DB000004DC,
3300
+ 0x4DD000004DE,
3301
+ 0x4DF000004E0,
3302
+ 0x4E1000004E2,
3303
+ 0x4E3000004E4,
3304
+ 0x4E5000004E6,
3305
+ 0x4E7000004E8,
3306
+ 0x4E9000004EA,
3307
+ 0x4EB000004EC,
3308
+ 0x4ED000004EE,
3309
+ 0x4EF000004F0,
3310
+ 0x4F1000004F2,
3311
+ 0x4F3000004F4,
3312
+ 0x4F5000004F6,
3313
+ 0x4F7000004F8,
3314
+ 0x4F9000004FA,
3315
+ 0x4FB000004FC,
3316
+ 0x4FD000004FE,
3317
+ 0x4FF00000500,
3318
+ 0x50100000502,
3319
+ 0x50300000504,
3320
+ 0x50500000506,
3321
+ 0x50700000508,
3322
+ 0x5090000050A,
3323
+ 0x50B0000050C,
3324
+ 0x50D0000050E,
3325
+ 0x50F00000510,
3326
+ 0x51100000512,
3327
+ 0x51300000514,
3328
+ 0x51500000516,
3329
+ 0x51700000518,
3330
+ 0x5190000051A,
3331
+ 0x51B0000051C,
3332
+ 0x51D0000051E,
3333
+ 0x51F00000520,
3334
+ 0x52100000522,
3335
+ 0x52300000524,
3336
+ 0x52500000526,
3337
+ 0x52700000528,
3338
+ 0x5290000052A,
3339
+ 0x52B0000052C,
3340
+ 0x52D0000052E,
3341
+ 0x52F00000530,
3342
+ 0x5590000055A,
3343
+ 0x56000000587,
3344
+ 0x58800000589,
3345
+ 0x591000005BE,
3346
+ 0x5BF000005C0,
3347
+ 0x5C1000005C3,
3348
+ 0x5C4000005C6,
3349
+ 0x5C7000005C8,
3350
+ 0x5D0000005EB,
3351
+ 0x5EF000005F3,
3352
+ 0x6100000061B,
3353
+ 0x62000000640,
3354
+ 0x64100000660,
3355
+ 0x66E00000675,
3356
+ 0x679000006D4,
3357
+ 0x6D5000006DD,
3358
+ 0x6DF000006E9,
3359
+ 0x6EA000006F0,
3360
+ 0x6FA00000700,
3361
+ 0x7100000074B,
3362
+ 0x74D000007B2,
3363
+ 0x7C0000007F6,
3364
+ 0x7FD000007FE,
3365
+ 0x8000000082E,
3366
+ 0x8400000085C,
3367
+ 0x8600000086B,
3368
+ 0x87000000888,
3369
+ 0x8890000088F,
3370
+ 0x897000008E2,
3371
+ 0x8E300000958,
3372
+ 0x96000000964,
3373
+ 0x96600000970,
3374
+ 0x97100000984,
3375
+ 0x9850000098D,
3376
+ 0x98F00000991,
3377
+ 0x993000009A9,
3378
+ 0x9AA000009B1,
3379
+ 0x9B2000009B3,
3380
+ 0x9B6000009BA,
3381
+ 0x9BC000009C5,
3382
+ 0x9C7000009C9,
3383
+ 0x9CB000009CF,
3384
+ 0x9D7000009D8,
3385
+ 0x9E0000009E4,
3386
+ 0x9E6000009F2,
3387
+ 0x9FC000009FD,
3388
+ 0x9FE000009FF,
3389
+ 0xA0100000A04,
3390
+ 0xA0500000A0B,
3391
+ 0xA0F00000A11,
3392
+ 0xA1300000A29,
3393
+ 0xA2A00000A31,
3394
+ 0xA3200000A33,
3395
+ 0xA3500000A36,
3396
+ 0xA3800000A3A,
3397
+ 0xA3C00000A3D,
3398
+ 0xA3E00000A43,
3399
+ 0xA4700000A49,
3400
+ 0xA4B00000A4E,
3401
+ 0xA5100000A52,
3402
+ 0xA5C00000A5D,
3403
+ 0xA6600000A76,
3404
+ 0xA8100000A84,
3405
+ 0xA8500000A8E,
3406
+ 0xA8F00000A92,
3407
+ 0xA9300000AA9,
3408
+ 0xAAA00000AB1,
3409
+ 0xAB200000AB4,
3410
+ 0xAB500000ABA,
3411
+ 0xABC00000AC6,
3412
+ 0xAC700000ACA,
3413
+ 0xACB00000ACE,
3414
+ 0xAD000000AD1,
3415
+ 0xAE000000AE4,
3416
+ 0xAE600000AF0,
3417
+ 0xAF900000B00,
3418
+ 0xB0100000B04,
3419
+ 0xB0500000B0D,
3420
+ 0xB0F00000B11,
3421
+ 0xB1300000B29,
3422
+ 0xB2A00000B31,
3423
+ 0xB3200000B34,
3424
+ 0xB3500000B3A,
3425
+ 0xB3C00000B45,
3426
+ 0xB4700000B49,
3427
+ 0xB4B00000B4E,
3428
+ 0xB5500000B58,
3429
+ 0xB5F00000B64,
3430
+ 0xB6600000B70,
3431
+ 0xB7100000B72,
3432
+ 0xB8200000B84,
3433
+ 0xB8500000B8B,
3434
+ 0xB8E00000B91,
3435
+ 0xB9200000B96,
3436
+ 0xB9900000B9B,
3437
+ 0xB9C00000B9D,
3438
+ 0xB9E00000BA0,
3439
+ 0xBA300000BA5,
3440
+ 0xBA800000BAB,
3441
+ 0xBAE00000BBA,
3442
+ 0xBBE00000BC3,
3443
+ 0xBC600000BC9,
3444
+ 0xBCA00000BCE,
3445
+ 0xBD000000BD1,
3446
+ 0xBD700000BD8,
3447
+ 0xBE600000BF0,
3448
+ 0xC0000000C0D,
3449
+ 0xC0E00000C11,
3450
+ 0xC1200000C29,
3451
+ 0xC2A00000C3A,
3452
+ 0xC3C00000C45,
3453
+ 0xC4600000C49,
3454
+ 0xC4A00000C4E,
3455
+ 0xC5500000C57,
3456
+ 0xC5800000C5B,
3457
+ 0xC5D00000C5E,
3458
+ 0xC6000000C64,
3459
+ 0xC6600000C70,
3460
+ 0xC8000000C84,
3461
+ 0xC8500000C8D,
3462
+ 0xC8E00000C91,
3463
+ 0xC9200000CA9,
3464
+ 0xCAA00000CB4,
3465
+ 0xCB500000CBA,
3466
+ 0xCBC00000CC5,
3467
+ 0xCC600000CC9,
3468
+ 0xCCA00000CCE,
3469
+ 0xCD500000CD7,
3470
+ 0xCDD00000CDF,
3471
+ 0xCE000000CE4,
3472
+ 0xCE600000CF0,
3473
+ 0xCF100000CF4,
3474
+ 0xD0000000D0D,
3475
+ 0xD0E00000D11,
3476
+ 0xD1200000D45,
3477
+ 0xD4600000D49,
3478
+ 0xD4A00000D4F,
3479
+ 0xD5400000D58,
3480
+ 0xD5F00000D64,
3481
+ 0xD6600000D70,
3482
+ 0xD7A00000D80,
3483
+ 0xD8100000D84,
3484
+ 0xD8500000D97,
3485
+ 0xD9A00000DB2,
3486
+ 0xDB300000DBC,
3487
+ 0xDBD00000DBE,
3488
+ 0xDC000000DC7,
3489
+ 0xDCA00000DCB,
3490
+ 0xDCF00000DD5,
3491
+ 0xDD600000DD7,
3492
+ 0xDD800000DE0,
3493
+ 0xDE600000DF0,
3494
+ 0xDF200000DF4,
3495
+ 0xE0100000E33,
3496
+ 0xE3400000E3B,
3497
+ 0xE4000000E4F,
3498
+ 0xE5000000E5A,
3499
+ 0xE8100000E83,
3500
+ 0xE8400000E85,
3501
+ 0xE8600000E8B,
3502
+ 0xE8C00000EA4,
3503
+ 0xEA500000EA6,
3504
+ 0xEA700000EB3,
3505
+ 0xEB400000EBE,
3506
+ 0xEC000000EC5,
3507
+ 0xEC600000EC7,
3508
+ 0xEC800000ECF,
3509
+ 0xED000000EDA,
3510
+ 0xEDE00000EE0,
3511
+ 0xF0000000F01,
3512
+ 0xF0B00000F0C,
3513
+ 0xF1800000F1A,
3514
+ 0xF2000000F2A,
3515
+ 0xF3500000F36,
3516
+ 0xF3700000F38,
3517
+ 0xF3900000F3A,
3518
+ 0xF3E00000F43,
3519
+ 0xF4400000F48,
3520
+ 0xF4900000F4D,
3521
+ 0xF4E00000F52,
3522
+ 0xF5300000F57,
3523
+ 0xF5800000F5C,
3524
+ 0xF5D00000F69,
3525
+ 0xF6A00000F6D,
3526
+ 0xF7100000F73,
3527
+ 0xF7400000F75,
3528
+ 0xF7A00000F81,
3529
+ 0xF8200000F85,
3530
+ 0xF8600000F93,
3531
+ 0xF9400000F98,
3532
+ 0xF9900000F9D,
3533
+ 0xF9E00000FA2,
3534
+ 0xFA300000FA7,
3535
+ 0xFA800000FAC,
3536
+ 0xFAD00000FB9,
3537
+ 0xFBA00000FBD,
3538
+ 0xFC600000FC7,
3539
+ 0x10000000104A,
3540
+ 0x10500000109E,
3541
+ 0x10D0000010FB,
3542
+ 0x10FD00001100,
3543
+ 0x120000001249,
3544
+ 0x124A0000124E,
3545
+ 0x125000001257,
3546
+ 0x125800001259,
3547
+ 0x125A0000125E,
3548
+ 0x126000001289,
3549
+ 0x128A0000128E,
3550
+ 0x1290000012B1,
3551
+ 0x12B2000012B6,
3552
+ 0x12B8000012BF,
3553
+ 0x12C0000012C1,
3554
+ 0x12C2000012C6,
3555
+ 0x12C8000012D7,
3556
+ 0x12D800001311,
3557
+ 0x131200001316,
3558
+ 0x13180000135B,
3559
+ 0x135D00001360,
3560
+ 0x138000001390,
3561
+ 0x13A0000013F6,
3562
+ 0x14010000166D,
3563
+ 0x166F00001680,
3564
+ 0x16810000169B,
3565
+ 0x16A0000016EB,
3566
+ 0x16F1000016F9,
3567
+ 0x170000001716,
3568
+ 0x171F00001735,
3569
+ 0x174000001754,
3570
+ 0x17600000176D,
3571
+ 0x176E00001771,
3572
+ 0x177200001774,
3573
+ 0x1780000017B4,
3574
+ 0x17B6000017D4,
3575
+ 0x17D7000017D8,
3576
+ 0x17DC000017DE,
3577
+ 0x17E0000017EA,
3578
+ 0x18100000181A,
3579
+ 0x182000001879,
3580
+ 0x1880000018AB,
3581
+ 0x18B0000018F6,
3582
+ 0x19000000191F,
3583
+ 0x19200000192C,
3584
+ 0x19300000193C,
3585
+ 0x19460000196E,
3586
+ 0x197000001975,
3587
+ 0x1980000019AC,
3588
+ 0x19B0000019CA,
3589
+ 0x19D0000019DA,
3590
+ 0x1A0000001A1C,
3591
+ 0x1A2000001A5F,
3592
+ 0x1A6000001A7D,
3593
+ 0x1A7F00001A8A,
3594
+ 0x1A9000001A9A,
3595
+ 0x1AA700001AA8,
3596
+ 0x1AB000001ABE,
3597
+ 0x1ABF00001ACF,
3598
+ 0x1B0000001B4D,
3599
+ 0x1B5000001B5A,
3600
+ 0x1B6B00001B74,
3601
+ 0x1B8000001BF4,
3602
+ 0x1C0000001C38,
3603
+ 0x1C4000001C4A,
3604
+ 0x1C4D00001C7E,
3605
+ 0x1C8A00001C8B,
3606
+ 0x1CD000001CD3,
3607
+ 0x1CD400001CFB,
3608
+ 0x1D0000001D2C,
3609
+ 0x1D2F00001D30,
3610
+ 0x1D3B00001D3C,
3611
+ 0x1D4E00001D4F,
3612
+ 0x1D6B00001D78,
3613
+ 0x1D7900001D9B,
3614
+ 0x1DC000001E00,
3615
+ 0x1E0100001E02,
3616
+ 0x1E0300001E04,
3617
+ 0x1E0500001E06,
3618
+ 0x1E0700001E08,
3619
+ 0x1E0900001E0A,
3620
+ 0x1E0B00001E0C,
3621
+ 0x1E0D00001E0E,
3622
+ 0x1E0F00001E10,
3623
+ 0x1E1100001E12,
3624
+ 0x1E1300001E14,
3625
+ 0x1E1500001E16,
3626
+ 0x1E1700001E18,
3627
+ 0x1E1900001E1A,
3628
+ 0x1E1B00001E1C,
3629
+ 0x1E1D00001E1E,
3630
+ 0x1E1F00001E20,
3631
+ 0x1E2100001E22,
3632
+ 0x1E2300001E24,
3633
+ 0x1E2500001E26,
3634
+ 0x1E2700001E28,
3635
+ 0x1E2900001E2A,
3636
+ 0x1E2B00001E2C,
3637
+ 0x1E2D00001E2E,
3638
+ 0x1E2F00001E30,
3639
+ 0x1E3100001E32,
3640
+ 0x1E3300001E34,
3641
+ 0x1E3500001E36,
3642
+ 0x1E3700001E38,
3643
+ 0x1E3900001E3A,
3644
+ 0x1E3B00001E3C,
3645
+ 0x1E3D00001E3E,
3646
+ 0x1E3F00001E40,
3647
+ 0x1E4100001E42,
3648
+ 0x1E4300001E44,
3649
+ 0x1E4500001E46,
3650
+ 0x1E4700001E48,
3651
+ 0x1E4900001E4A,
3652
+ 0x1E4B00001E4C,
3653
+ 0x1E4D00001E4E,
3654
+ 0x1E4F00001E50,
3655
+ 0x1E5100001E52,
3656
+ 0x1E5300001E54,
3657
+ 0x1E5500001E56,
3658
+ 0x1E5700001E58,
3659
+ 0x1E5900001E5A,
3660
+ 0x1E5B00001E5C,
3661
+ 0x1E5D00001E5E,
3662
+ 0x1E5F00001E60,
3663
+ 0x1E6100001E62,
3664
+ 0x1E6300001E64,
3665
+ 0x1E6500001E66,
3666
+ 0x1E6700001E68,
3667
+ 0x1E6900001E6A,
3668
+ 0x1E6B00001E6C,
3669
+ 0x1E6D00001E6E,
3670
+ 0x1E6F00001E70,
3671
+ 0x1E7100001E72,
3672
+ 0x1E7300001E74,
3673
+ 0x1E7500001E76,
3674
+ 0x1E7700001E78,
3675
+ 0x1E7900001E7A,
3676
+ 0x1E7B00001E7C,
3677
+ 0x1E7D00001E7E,
3678
+ 0x1E7F00001E80,
3679
+ 0x1E8100001E82,
3680
+ 0x1E8300001E84,
3681
+ 0x1E8500001E86,
3682
+ 0x1E8700001E88,
3683
+ 0x1E8900001E8A,
3684
+ 0x1E8B00001E8C,
3685
+ 0x1E8D00001E8E,
3686
+ 0x1E8F00001E90,
3687
+ 0x1E9100001E92,
3688
+ 0x1E9300001E94,
3689
+ 0x1E9500001E9A,
3690
+ 0x1E9C00001E9E,
3691
+ 0x1E9F00001EA0,
3692
+ 0x1EA100001EA2,
3693
+ 0x1EA300001EA4,
3694
+ 0x1EA500001EA6,
3695
+ 0x1EA700001EA8,
3696
+ 0x1EA900001EAA,
3697
+ 0x1EAB00001EAC,
3698
+ 0x1EAD00001EAE,
3699
+ 0x1EAF00001EB0,
3700
+ 0x1EB100001EB2,
3701
+ 0x1EB300001EB4,
3702
+ 0x1EB500001EB6,
3703
+ 0x1EB700001EB8,
3704
+ 0x1EB900001EBA,
3705
+ 0x1EBB00001EBC,
3706
+ 0x1EBD00001EBE,
3707
+ 0x1EBF00001EC0,
3708
+ 0x1EC100001EC2,
3709
+ 0x1EC300001EC4,
3710
+ 0x1EC500001EC6,
3711
+ 0x1EC700001EC8,
3712
+ 0x1EC900001ECA,
3713
+ 0x1ECB00001ECC,
3714
+ 0x1ECD00001ECE,
3715
+ 0x1ECF00001ED0,
3716
+ 0x1ED100001ED2,
3717
+ 0x1ED300001ED4,
3718
+ 0x1ED500001ED6,
3719
+ 0x1ED700001ED8,
3720
+ 0x1ED900001EDA,
3721
+ 0x1EDB00001EDC,
3722
+ 0x1EDD00001EDE,
3723
+ 0x1EDF00001EE0,
3724
+ 0x1EE100001EE2,
3725
+ 0x1EE300001EE4,
3726
+ 0x1EE500001EE6,
3727
+ 0x1EE700001EE8,
3728
+ 0x1EE900001EEA,
3729
+ 0x1EEB00001EEC,
3730
+ 0x1EED00001EEE,
3731
+ 0x1EEF00001EF0,
3732
+ 0x1EF100001EF2,
3733
+ 0x1EF300001EF4,
3734
+ 0x1EF500001EF6,
3735
+ 0x1EF700001EF8,
3736
+ 0x1EF900001EFA,
3737
+ 0x1EFB00001EFC,
3738
+ 0x1EFD00001EFE,
3739
+ 0x1EFF00001F08,
3740
+ 0x1F1000001F16,
3741
+ 0x1F2000001F28,
3742
+ 0x1F3000001F38,
3743
+ 0x1F4000001F46,
3744
+ 0x1F5000001F58,
3745
+ 0x1F6000001F68,
3746
+ 0x1F7000001F71,
3747
+ 0x1F7200001F73,
3748
+ 0x1F7400001F75,
3749
+ 0x1F7600001F77,
3750
+ 0x1F7800001F79,
3751
+ 0x1F7A00001F7B,
3752
+ 0x1F7C00001F7D,
3753
+ 0x1FB000001FB2,
3754
+ 0x1FB600001FB7,
3755
+ 0x1FC600001FC7,
3756
+ 0x1FD000001FD3,
3757
+ 0x1FD600001FD8,
3758
+ 0x1FE000001FE3,
3759
+ 0x1FE400001FE8,
3760
+ 0x1FF600001FF7,
3761
+ 0x214E0000214F,
3762
+ 0x218400002185,
3763
+ 0x2C3000002C60,
3764
+ 0x2C6100002C62,
3765
+ 0x2C6500002C67,
3766
+ 0x2C6800002C69,
3767
+ 0x2C6A00002C6B,
3768
+ 0x2C6C00002C6D,
3769
+ 0x2C7100002C72,
3770
+ 0x2C7300002C75,
3771
+ 0x2C7600002C7C,
3772
+ 0x2C8100002C82,
3773
+ 0x2C8300002C84,
3774
+ 0x2C8500002C86,
3775
+ 0x2C8700002C88,
3776
+ 0x2C8900002C8A,
3777
+ 0x2C8B00002C8C,
3778
+ 0x2C8D00002C8E,
3779
+ 0x2C8F00002C90,
3780
+ 0x2C9100002C92,
3781
+ 0x2C9300002C94,
3782
+ 0x2C9500002C96,
3783
+ 0x2C9700002C98,
3784
+ 0x2C9900002C9A,
3785
+ 0x2C9B00002C9C,
3786
+ 0x2C9D00002C9E,
3787
+ 0x2C9F00002CA0,
3788
+ 0x2CA100002CA2,
3789
+ 0x2CA300002CA4,
3790
+ 0x2CA500002CA6,
3791
+ 0x2CA700002CA8,
3792
+ 0x2CA900002CAA,
3793
+ 0x2CAB00002CAC,
3794
+ 0x2CAD00002CAE,
3795
+ 0x2CAF00002CB0,
3796
+ 0x2CB100002CB2,
3797
+ 0x2CB300002CB4,
3798
+ 0x2CB500002CB6,
3799
+ 0x2CB700002CB8,
3800
+ 0x2CB900002CBA,
3801
+ 0x2CBB00002CBC,
3802
+ 0x2CBD00002CBE,
3803
+ 0x2CBF00002CC0,
3804
+ 0x2CC100002CC2,
3805
+ 0x2CC300002CC4,
3806
+ 0x2CC500002CC6,
3807
+ 0x2CC700002CC8,
3808
+ 0x2CC900002CCA,
3809
+ 0x2CCB00002CCC,
3810
+ 0x2CCD00002CCE,
3811
+ 0x2CCF00002CD0,
3812
+ 0x2CD100002CD2,
3813
+ 0x2CD300002CD4,
3814
+ 0x2CD500002CD6,
3815
+ 0x2CD700002CD8,
3816
+ 0x2CD900002CDA,
3817
+ 0x2CDB00002CDC,
3818
+ 0x2CDD00002CDE,
3819
+ 0x2CDF00002CE0,
3820
+ 0x2CE100002CE2,
3821
+ 0x2CE300002CE5,
3822
+ 0x2CEC00002CED,
3823
+ 0x2CEE00002CF2,
3824
+ 0x2CF300002CF4,
3825
+ 0x2D0000002D26,
3826
+ 0x2D2700002D28,
3827
+ 0x2D2D00002D2E,
3828
+ 0x2D3000002D68,
3829
+ 0x2D7F00002D97,
3830
+ 0x2DA000002DA7,
3831
+ 0x2DA800002DAF,
3832
+ 0x2DB000002DB7,
3833
+ 0x2DB800002DBF,
3834
+ 0x2DC000002DC7,
3835
+ 0x2DC800002DCF,
3836
+ 0x2DD000002DD7,
3837
+ 0x2DD800002DDF,
3838
+ 0x2DE000002E00,
3839
+ 0x2E2F00002E30,
3840
+ 0x300500003008,
3841
+ 0x302A0000302E,
3842
+ 0x303C0000303D,
3843
+ 0x304100003097,
3844
+ 0x30990000309B,
3845
+ 0x309D0000309F,
3846
+ 0x30A1000030FB,
3847
+ 0x30FC000030FF,
3848
+ 0x310500003130,
3849
+ 0x31A0000031C0,
3850
+ 0x31F000003200,
3851
+ 0x340000004DC0,
3852
+ 0x4E000000A48D,
3853
+ 0xA4D00000A4FE,
3854
+ 0xA5000000A60D,
3855
+ 0xA6100000A62C,
3856
+ 0xA6410000A642,
3857
+ 0xA6430000A644,
3858
+ 0xA6450000A646,
3859
+ 0xA6470000A648,
3860
+ 0xA6490000A64A,
3861
+ 0xA64B0000A64C,
3862
+ 0xA64D0000A64E,
3863
+ 0xA64F0000A650,
3864
+ 0xA6510000A652,
3865
+ 0xA6530000A654,
3866
+ 0xA6550000A656,
3867
+ 0xA6570000A658,
3868
+ 0xA6590000A65A,
3869
+ 0xA65B0000A65C,
3870
+ 0xA65D0000A65E,
3871
+ 0xA65F0000A660,
3872
+ 0xA6610000A662,
3873
+ 0xA6630000A664,
3874
+ 0xA6650000A666,
3875
+ 0xA6670000A668,
3876
+ 0xA6690000A66A,
3877
+ 0xA66B0000A66C,
3878
+ 0xA66D0000A670,
3879
+ 0xA6740000A67E,
3880
+ 0xA67F0000A680,
3881
+ 0xA6810000A682,
3882
+ 0xA6830000A684,
3883
+ 0xA6850000A686,
3884
+ 0xA6870000A688,
3885
+ 0xA6890000A68A,
3886
+ 0xA68B0000A68C,
3887
+ 0xA68D0000A68E,
3888
+ 0xA68F0000A690,
3889
+ 0xA6910000A692,
3890
+ 0xA6930000A694,
3891
+ 0xA6950000A696,
3892
+ 0xA6970000A698,
3893
+ 0xA6990000A69A,
3894
+ 0xA69B0000A69C,
3895
+ 0xA69E0000A6E6,
3896
+ 0xA6F00000A6F2,
3897
+ 0xA7170000A720,
3898
+ 0xA7230000A724,
3899
+ 0xA7250000A726,
3900
+ 0xA7270000A728,
3901
+ 0xA7290000A72A,
3902
+ 0xA72B0000A72C,
3903
+ 0xA72D0000A72E,
3904
+ 0xA72F0000A732,
3905
+ 0xA7330000A734,
3906
+ 0xA7350000A736,
3907
+ 0xA7370000A738,
3908
+ 0xA7390000A73A,
3909
+ 0xA73B0000A73C,
3910
+ 0xA73D0000A73E,
3911
+ 0xA73F0000A740,
3912
+ 0xA7410000A742,
3913
+ 0xA7430000A744,
3914
+ 0xA7450000A746,
3915
+ 0xA7470000A748,
3916
+ 0xA7490000A74A,
3917
+ 0xA74B0000A74C,
3918
+ 0xA74D0000A74E,
3919
+ 0xA74F0000A750,
3920
+ 0xA7510000A752,
3921
+ 0xA7530000A754,
3922
+ 0xA7550000A756,
3923
+ 0xA7570000A758,
3924
+ 0xA7590000A75A,
3925
+ 0xA75B0000A75C,
3926
+ 0xA75D0000A75E,
3927
+ 0xA75F0000A760,
3928
+ 0xA7610000A762,
3929
+ 0xA7630000A764,
3930
+ 0xA7650000A766,
3931
+ 0xA7670000A768,
3932
+ 0xA7690000A76A,
3933
+ 0xA76B0000A76C,
3934
+ 0xA76D0000A76E,
3935
+ 0xA76F0000A770,
3936
+ 0xA7710000A779,
3937
+ 0xA77A0000A77B,
3938
+ 0xA77C0000A77D,
3939
+ 0xA77F0000A780,
3940
+ 0xA7810000A782,
3941
+ 0xA7830000A784,
3942
+ 0xA7850000A786,
3943
+ 0xA7870000A789,
3944
+ 0xA78C0000A78D,
3945
+ 0xA78E0000A790,
3946
+ 0xA7910000A792,
3947
+ 0xA7930000A796,
3948
+ 0xA7970000A798,
3949
+ 0xA7990000A79A,
3950
+ 0xA79B0000A79C,
3951
+ 0xA79D0000A79E,
3952
+ 0xA79F0000A7A0,
3953
+ 0xA7A10000A7A2,
3954
+ 0xA7A30000A7A4,
3955
+ 0xA7A50000A7A6,
3956
+ 0xA7A70000A7A8,
3957
+ 0xA7A90000A7AA,
3958
+ 0xA7AF0000A7B0,
3959
+ 0xA7B50000A7B6,
3960
+ 0xA7B70000A7B8,
3961
+ 0xA7B90000A7BA,
3962
+ 0xA7BB0000A7BC,
3963
+ 0xA7BD0000A7BE,
3964
+ 0xA7BF0000A7C0,
3965
+ 0xA7C10000A7C2,
3966
+ 0xA7C30000A7C4,
3967
+ 0xA7C80000A7C9,
3968
+ 0xA7CA0000A7CB,
3969
+ 0xA7CD0000A7CE,
3970
+ 0xA7D10000A7D2,
3971
+ 0xA7D30000A7D4,
3972
+ 0xA7D50000A7D6,
3973
+ 0xA7D70000A7D8,
3974
+ 0xA7D90000A7DA,
3975
+ 0xA7DB0000A7DC,
3976
+ 0xA7F60000A7F8,
3977
+ 0xA7FA0000A828,
3978
+ 0xA82C0000A82D,
3979
+ 0xA8400000A874,
3980
+ 0xA8800000A8C6,
3981
+ 0xA8D00000A8DA,
3982
+ 0xA8E00000A8F8,
3983
+ 0xA8FB0000A8FC,
3984
+ 0xA8FD0000A92E,
3985
+ 0xA9300000A954,
3986
+ 0xA9800000A9C1,
3987
+ 0xA9CF0000A9DA,
3988
+ 0xA9E00000A9FF,
3989
+ 0xAA000000AA37,
3990
+ 0xAA400000AA4E,
3991
+ 0xAA500000AA5A,
3992
+ 0xAA600000AA77,
3993
+ 0xAA7A0000AAC3,
3994
+ 0xAADB0000AADE,
3995
+ 0xAAE00000AAF0,
3996
+ 0xAAF20000AAF7,
3997
+ 0xAB010000AB07,
3998
+ 0xAB090000AB0F,
3999
+ 0xAB110000AB17,
4000
+ 0xAB200000AB27,
4001
+ 0xAB280000AB2F,
4002
+ 0xAB300000AB5B,
4003
+ 0xAB600000AB69,
4004
+ 0xABC00000ABEB,
4005
+ 0xABEC0000ABEE,
4006
+ 0xABF00000ABFA,
4007
+ 0xAC000000D7A4,
4008
+ 0xFA0E0000FA10,
4009
+ 0xFA110000FA12,
4010
+ 0xFA130000FA15,
4011
+ 0xFA1F0000FA20,
4012
+ 0xFA210000FA22,
4013
+ 0xFA230000FA25,
4014
+ 0xFA270000FA2A,
4015
+ 0xFB1E0000FB1F,
4016
+ 0xFE200000FE30,
4017
+ 0xFE730000FE74,
4018
+ 0x100000001000C,
4019
+ 0x1000D00010027,
4020
+ 0x100280001003B,
4021
+ 0x1003C0001003E,
4022
+ 0x1003F0001004E,
4023
+ 0x100500001005E,
4024
+ 0x10080000100FB,
4025
+ 0x101FD000101FE,
4026
+ 0x102800001029D,
4027
+ 0x102A0000102D1,
4028
+ 0x102E0000102E1,
4029
+ 0x1030000010320,
4030
+ 0x1032D00010341,
4031
+ 0x103420001034A,
4032
+ 0x103500001037B,
4033
+ 0x103800001039E,
4034
+ 0x103A0000103C4,
4035
+ 0x103C8000103D0,
4036
+ 0x104280001049E,
4037
+ 0x104A0000104AA,
4038
+ 0x104D8000104FC,
4039
+ 0x1050000010528,
4040
+ 0x1053000010564,
4041
+ 0x10597000105A2,
4042
+ 0x105A3000105B2,
4043
+ 0x105B3000105BA,
4044
+ 0x105BB000105BD,
4045
+ 0x105C0000105F4,
4046
+ 0x1060000010737,
4047
+ 0x1074000010756,
4048
+ 0x1076000010768,
4049
+ 0x1078000010781,
4050
+ 0x1080000010806,
4051
+ 0x1080800010809,
4052
+ 0x1080A00010836,
4053
+ 0x1083700010839,
4054
+ 0x1083C0001083D,
4055
+ 0x1083F00010856,
4056
+ 0x1086000010877,
4057
+ 0x108800001089F,
4058
+ 0x108E0000108F3,
4059
+ 0x108F4000108F6,
4060
+ 0x1090000010916,
4061
+ 0x109200001093A,
4062
+ 0x10980000109B8,
4063
+ 0x109BE000109C0,
4064
+ 0x10A0000010A04,
4065
+ 0x10A0500010A07,
4066
+ 0x10A0C00010A14,
4067
+ 0x10A1500010A18,
4068
+ 0x10A1900010A36,
4069
+ 0x10A3800010A3B,
4070
+ 0x10A3F00010A40,
4071
+ 0x10A6000010A7D,
4072
+ 0x10A8000010A9D,
4073
+ 0x10AC000010AC8,
4074
+ 0x10AC900010AE7,
4075
+ 0x10B0000010B36,
4076
+ 0x10B4000010B56,
4077
+ 0x10B6000010B73,
4078
+ 0x10B8000010B92,
4079
+ 0x10C0000010C49,
4080
+ 0x10CC000010CF3,
4081
+ 0x10D0000010D28,
4082
+ 0x10D3000010D3A,
4083
+ 0x10D4000010D50,
4084
+ 0x10D6900010D6E,
4085
+ 0x10D6F00010D86,
4086
+ 0x10E8000010EAA,
4087
+ 0x10EAB00010EAD,
4088
+ 0x10EB000010EB2,
4089
+ 0x10EC200010EC5,
4090
+ 0x10EFC00010F1D,
4091
+ 0x10F2700010F28,
4092
+ 0x10F3000010F51,
4093
+ 0x10F7000010F86,
4094
+ 0x10FB000010FC5,
4095
+ 0x10FE000010FF7,
4096
+ 0x1100000011047,
4097
+ 0x1106600011076,
4098
+ 0x1107F000110BB,
4099
+ 0x110C2000110C3,
4100
+ 0x110D0000110E9,
4101
+ 0x110F0000110FA,
4102
+ 0x1110000011135,
4103
+ 0x1113600011140,
4104
+ 0x1114400011148,
4105
+ 0x1115000011174,
4106
+ 0x1117600011177,
4107
+ 0x11180000111C5,
4108
+ 0x111C9000111CD,
4109
+ 0x111CE000111DB,
4110
+ 0x111DC000111DD,
4111
+ 0x1120000011212,
4112
+ 0x1121300011238,
4113
+ 0x1123E00011242,
4114
+ 0x1128000011287,
4115
+ 0x1128800011289,
4116
+ 0x1128A0001128E,
4117
+ 0x1128F0001129E,
4118
+ 0x1129F000112A9,
4119
+ 0x112B0000112EB,
4120
+ 0x112F0000112FA,
4121
+ 0x1130000011304,
4122
+ 0x113050001130D,
4123
+ 0x1130F00011311,
4124
+ 0x1131300011329,
4125
+ 0x1132A00011331,
4126
+ 0x1133200011334,
4127
+ 0x113350001133A,
4128
+ 0x1133B00011345,
4129
+ 0x1134700011349,
4130
+ 0x1134B0001134E,
4131
+ 0x1135000011351,
4132
+ 0x1135700011358,
4133
+ 0x1135D00011364,
4134
+ 0x113660001136D,
4135
+ 0x1137000011375,
4136
+ 0x113800001138A,
4137
+ 0x1138B0001138C,
4138
+ 0x1138E0001138F,
4139
+ 0x11390000113B6,
4140
+ 0x113B7000113C1,
4141
+ 0x113C2000113C3,
4142
+ 0x113C5000113C6,
4143
+ 0x113C7000113CB,
4144
+ 0x113CC000113D4,
4145
+ 0x113E1000113E3,
4146
+ 0x114000001144B,
4147
+ 0x114500001145A,
4148
+ 0x1145E00011462,
4149
+ 0x11480000114C6,
4150
+ 0x114C7000114C8,
4151
+ 0x114D0000114DA,
4152
+ 0x11580000115B6,
4153
+ 0x115B8000115C1,
4154
+ 0x115D8000115DE,
4155
+ 0x1160000011641,
4156
+ 0x1164400011645,
4157
+ 0x116500001165A,
4158
+ 0x11680000116B9,
4159
+ 0x116C0000116CA,
4160
+ 0x116D0000116E4,
4161
+ 0x117000001171B,
4162
+ 0x1171D0001172C,
4163
+ 0x117300001173A,
4164
+ 0x1174000011747,
4165
+ 0x118000001183B,
4166
+ 0x118C0000118EA,
4167
+ 0x118FF00011907,
4168
+ 0x119090001190A,
4169
+ 0x1190C00011914,
4170
+ 0x1191500011917,
4171
+ 0x1191800011936,
4172
+ 0x1193700011939,
4173
+ 0x1193B00011944,
4174
+ 0x119500001195A,
4175
+ 0x119A0000119A8,
4176
+ 0x119AA000119D8,
4177
+ 0x119DA000119E2,
4178
+ 0x119E3000119E5,
4179
+ 0x11A0000011A3F,
4180
+ 0x11A4700011A48,
4181
+ 0x11A5000011A9A,
4182
+ 0x11A9D00011A9E,
4183
+ 0x11AB000011AF9,
4184
+ 0x11BC000011BE1,
4185
+ 0x11BF000011BFA,
4186
+ 0x11C0000011C09,
4187
+ 0x11C0A00011C37,
4188
+ 0x11C3800011C41,
4189
+ 0x11C5000011C5A,
4190
+ 0x11C7200011C90,
4191
+ 0x11C9200011CA8,
4192
+ 0x11CA900011CB7,
4193
+ 0x11D0000011D07,
4194
+ 0x11D0800011D0A,
4195
+ 0x11D0B00011D37,
4196
+ 0x11D3A00011D3B,
4197
+ 0x11D3C00011D3E,
4198
+ 0x11D3F00011D48,
4199
+ 0x11D5000011D5A,
4200
+ 0x11D6000011D66,
4201
+ 0x11D6700011D69,
4202
+ 0x11D6A00011D8F,
4203
+ 0x11D9000011D92,
4204
+ 0x11D9300011D99,
4205
+ 0x11DA000011DAA,
4206
+ 0x11EE000011EF7,
4207
+ 0x11F0000011F11,
4208
+ 0x11F1200011F3B,
4209
+ 0x11F3E00011F43,
4210
+ 0x11F5000011F5B,
4211
+ 0x11FB000011FB1,
4212
+ 0x120000001239A,
4213
+ 0x1248000012544,
4214
+ 0x12F9000012FF1,
4215
+ 0x1300000013430,
4216
+ 0x1344000013456,
4217
+ 0x13460000143FB,
4218
+ 0x1440000014647,
4219
+ 0x161000001613A,
4220
+ 0x1680000016A39,
4221
+ 0x16A4000016A5F,
4222
+ 0x16A6000016A6A,
4223
+ 0x16A7000016ABF,
4224
+ 0x16AC000016ACA,
4225
+ 0x16AD000016AEE,
4226
+ 0x16AF000016AF5,
4227
+ 0x16B0000016B37,
4228
+ 0x16B4000016B44,
4229
+ 0x16B5000016B5A,
4230
+ 0x16B6300016B78,
4231
+ 0x16B7D00016B90,
4232
+ 0x16D4000016D6D,
4233
+ 0x16D7000016D7A,
4234
+ 0x16E6000016E80,
4235
+ 0x16F0000016F4B,
4236
+ 0x16F4F00016F88,
4237
+ 0x16F8F00016FA0,
4238
+ 0x16FE000016FE2,
4239
+ 0x16FE300016FE5,
4240
+ 0x16FF000016FF2,
4241
+ 0x17000000187F8,
4242
+ 0x1880000018CD6,
4243
+ 0x18CFF00018D09,
4244
+ 0x1AFF00001AFF4,
4245
+ 0x1AFF50001AFFC,
4246
+ 0x1AFFD0001AFFF,
4247
+ 0x1B0000001B123,
4248
+ 0x1B1320001B133,
4249
+ 0x1B1500001B153,
4250
+ 0x1B1550001B156,
4251
+ 0x1B1640001B168,
4252
+ 0x1B1700001B2FC,
4253
+ 0x1BC000001BC6B,
4254
+ 0x1BC700001BC7D,
4255
+ 0x1BC800001BC89,
4256
+ 0x1BC900001BC9A,
4257
+ 0x1BC9D0001BC9F,
4258
+ 0x1CCF00001CCFA,
4259
+ 0x1CF000001CF2E,
4260
+ 0x1CF300001CF47,
4261
+ 0x1DA000001DA37,
4262
+ 0x1DA3B0001DA6D,
4263
+ 0x1DA750001DA76,
4264
+ 0x1DA840001DA85,
4265
+ 0x1DA9B0001DAA0,
4266
+ 0x1DAA10001DAB0,
4267
+ 0x1DF000001DF1F,
4268
+ 0x1DF250001DF2B,
4269
+ 0x1E0000001E007,
4270
+ 0x1E0080001E019,
4271
+ 0x1E01B0001E022,
4272
+ 0x1E0230001E025,
4273
+ 0x1E0260001E02B,
4274
+ 0x1E08F0001E090,
4275
+ 0x1E1000001E12D,
4276
+ 0x1E1300001E13E,
4277
+ 0x1E1400001E14A,
4278
+ 0x1E14E0001E14F,
4279
+ 0x1E2900001E2AF,
4280
+ 0x1E2C00001E2FA,
4281
+ 0x1E4D00001E4FA,
4282
+ 0x1E5D00001E5FB,
4283
+ 0x1E7E00001E7E7,
4284
+ 0x1E7E80001E7EC,
4285
+ 0x1E7ED0001E7EF,
4286
+ 0x1E7F00001E7FF,
4287
+ 0x1E8000001E8C5,
4288
+ 0x1E8D00001E8D7,
4289
+ 0x1E9220001E94C,
4290
+ 0x1E9500001E95A,
4291
+ 0x200000002A6E0,
4292
+ 0x2A7000002B73A,
4293
+ 0x2B7400002B81E,
4294
+ 0x2B8200002CEA2,
4295
+ 0x2CEB00002EBE1,
4296
+ 0x2EBF00002EE5E,
4297
+ 0x300000003134B,
4298
+ 0x31350000323B0,
4299
+ ),
4300
+ "CONTEXTJ": (0x200C0000200E,),
4301
+ "CONTEXTO": (
4302
+ 0xB7000000B8,
4303
+ 0x37500000376,
4304
+ 0x5F3000005F5,
4305
+ 0x6600000066A,
4306
+ 0x6F0000006FA,
4307
+ 0x30FB000030FC,
4308
+ ),
4309
+ }
venv/lib/python3.10/site-packages/idna/intranges.py ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Given a list of integers, made up of (hopefully) a small number of long runs
3
+ of consecutive integers, compute a representation of the form
4
+ ((start1, end1), (start2, end2) ...). Then answer the question "was x present
5
+ in the original list?" in time O(log(# runs)).
6
+ """
7
+
8
+ import bisect
9
+ from typing import List, Tuple
10
+
11
+
12
+ def intranges_from_list(list_: List[int]) -> Tuple[int, ...]:
13
+ """Represent a list of integers as a sequence of ranges:
14
+ ((start_0, end_0), (start_1, end_1), ...), such that the original
15
+ integers are exactly those x such that start_i <= x < end_i for some i.
16
+
17
+ Ranges are encoded as single integers (start << 32 | end), not as tuples.
18
+ """
19
+
20
+ sorted_list = sorted(list_)
21
+ ranges = []
22
+ last_write = -1
23
+ for i in range(len(sorted_list)):
24
+ if i + 1 < len(sorted_list):
25
+ if sorted_list[i] == sorted_list[i + 1] - 1:
26
+ continue
27
+ current_range = sorted_list[last_write + 1 : i + 1]
28
+ ranges.append(_encode_range(current_range[0], current_range[-1] + 1))
29
+ last_write = i
30
+
31
+ return tuple(ranges)
32
+
33
+
34
+ def _encode_range(start: int, end: int) -> int:
35
+ return (start << 32) | end
36
+
37
+
38
+ def _decode_range(r: int) -> Tuple[int, int]:
39
+ return (r >> 32), (r & ((1 << 32) - 1))
40
+
41
+
42
+ def intranges_contain(int_: int, ranges: Tuple[int, ...]) -> bool:
43
+ """Determine if `int_` falls into one of the ranges in `ranges`."""
44
+ tuple_ = _encode_range(int_, 0)
45
+ pos = bisect.bisect_left(ranges, tuple_)
46
+ # we could be immediately ahead of a tuple (start, end)
47
+ # with start < int_ <= end
48
+ if pos > 0:
49
+ left, right = _decode_range(ranges[pos - 1])
50
+ if left <= int_ < right:
51
+ return True
52
+ # or we could be immediately behind a tuple (int_, end)
53
+ if pos < len(ranges):
54
+ left, _ = _decode_range(ranges[pos])
55
+ if left == int_:
56
+ return True
57
+ return False
venv/lib/python3.10/site-packages/idna/package_data.py ADDED
@@ -0,0 +1 @@
 
 
1
+ __version__ = "3.11"