Spaces:
Sleeping
Sleeping
tensorkelechi
commited on
Update requirements.txt
Browse files- requirements.txt +7 -479
requirements.txt
CHANGED
@@ -1,479 +1,7 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
altair==5.2.0
|
9 |
-
altgraph==0.17.4
|
10 |
-
annotated-types==0.6.0
|
11 |
-
anthropic==0.19.1
|
12 |
-
anyio==4.2.0
|
13 |
-
argcomplete==1.8.1
|
14 |
-
argon2-cffi==23.1.0
|
15 |
-
argon2-cffi-bindings==21.2.0
|
16 |
-
arrow==1.3.0
|
17 |
-
asgiref==3.7.2
|
18 |
-
asttokens==2.4.1
|
19 |
-
astunparse==1.6.3
|
20 |
-
async-lru==2.0.4
|
21 |
-
async-timeout==4.0.3
|
22 |
-
asyncio==3.4.3
|
23 |
-
attrs==23.2.0
|
24 |
-
audioread==3.0.1
|
25 |
-
av==11.0.0
|
26 |
-
Babel==2.14.0
|
27 |
-
backoff==2.2.1
|
28 |
-
bcrypt==4.1.2
|
29 |
-
beautifulsoup4==4.12.3
|
30 |
-
bleach==6.1.0
|
31 |
-
blinker==1.7.0
|
32 |
-
Brlapi==0.8.3
|
33 |
-
build==1.2.1
|
34 |
-
CacheControl==0.14.0
|
35 |
-
cachetools==5.3.2
|
36 |
-
cattrs==23.2.3
|
37 |
-
certifi==2024.2.2
|
38 |
-
cffi==1.16.0
|
39 |
-
chardet==4.0.0
|
40 |
-
charset-normalizer==3.3.2
|
41 |
-
chex==0.1.86
|
42 |
-
chroma-hnswlib==0.7.3
|
43 |
-
chromadb==0.4.24
|
44 |
-
chrome-gnome-shell==0.0.0
|
45 |
-
ci-info==0.3.0
|
46 |
-
circuitbreaker==1.4.0
|
47 |
-
cleo==2.1.0
|
48 |
-
click==8.1.7
|
49 |
-
cloudinary==1.39.0
|
50 |
-
colorama==0.4.4
|
51 |
-
coloredlogs==15.0.1
|
52 |
-
comm==0.2.1
|
53 |
-
command-not-found==0.3
|
54 |
-
configobj==5.0.8
|
55 |
-
configparser==7.0.0
|
56 |
-
contourpy==1.2.0
|
57 |
-
crashtest==0.4.1
|
58 |
-
cryptography==42.0.5
|
59 |
-
cupshelpers==1.0
|
60 |
-
cycler==0.12.1
|
61 |
-
dataclasses-json==0.6.4
|
62 |
-
datasets==2.18.0
|
63 |
-
dbus-python==1.2.18
|
64 |
-
debugpy==1.8.1
|
65 |
-
decorator==5.1.1
|
66 |
-
defer==1.0.6
|
67 |
-
defusedxml==0.7.1
|
68 |
-
Deprecated==1.2.14
|
69 |
-
diffusers==0.27.2
|
70 |
-
dill==0.3.8
|
71 |
-
discord==2.3.2
|
72 |
-
discord.py==2.3.2
|
73 |
-
distlib==0.3.8
|
74 |
-
distro==1.7.0
|
75 |
-
Django==5.0.2
|
76 |
-
djangorestframework==3.14.0
|
77 |
-
dnspython==2.6.1
|
78 |
-
docarray==0.32.1
|
79 |
-
docker-pycreds==0.4.0
|
80 |
-
docutils==0.21.2
|
81 |
-
dulwich==0.21.7
|
82 |
-
einops==0.8.0
|
83 |
-
etelemetry==0.3.1
|
84 |
-
etils==1.7.0
|
85 |
-
exceptiongroup==1.2.0
|
86 |
-
executing==2.0.1
|
87 |
-
faiss-cpu==1.8.0
|
88 |
-
fastapi==0.109.2
|
89 |
-
fastjsonschema==2.19.1
|
90 |
-
filelock==3.13.1
|
91 |
-
fitz==0.0.1.dev2
|
92 |
-
Flask==3.0.2
|
93 |
-
flatbuffers==23.5.26
|
94 |
-
flax==0.8.4
|
95 |
-
fonttools==4.49.0
|
96 |
-
fqdn==1.5.1
|
97 |
-
frozenlist==1.4.1
|
98 |
-
fsspec==2024.2.0
|
99 |
-
gast==0.5.4
|
100 |
-
gitdb==4.0.11
|
101 |
-
GitPython==3.1.42
|
102 |
-
google-ai-generativelanguage==0.6.4
|
103 |
-
google-api-core==2.17.1
|
104 |
-
google-api-python-client==2.129.0
|
105 |
-
google-auth==2.28.1
|
106 |
-
google-auth-httplib2==0.2.0
|
107 |
-
google-auth-oauthlib==1.2.0
|
108 |
-
google-crc32c==1.5.0
|
109 |
-
google-generativeai==0.5.4
|
110 |
-
google-pasta==0.2.0
|
111 |
-
googleapis-common-protos==1.62.0
|
112 |
-
googlesearch-python==1.2.3
|
113 |
-
gpuctypes==0.3.0
|
114 |
-
greenlet==3.0.3
|
115 |
-
grpcio==1.64.0
|
116 |
-
grpcio-status==1.62.0
|
117 |
-
gyp==0.1
|
118 |
-
h11==0.14.0
|
119 |
-
h5py==3.10.0
|
120 |
-
hidpidaemon==18.4.6
|
121 |
-
hnswlib==0.8.0
|
122 |
-
httpcore==1.0.3
|
123 |
-
httplib2==0.20.2
|
124 |
-
httptools==0.6.1
|
125 |
-
httpx==0.26.0
|
126 |
-
huggingface-hub==0.23.4
|
127 |
-
humanfriendly==10.0
|
128 |
-
idna==3.3
|
129 |
-
ifaddr==0.2.0
|
130 |
-
importlib-metadata==7.0.0
|
131 |
-
importlib_resources==6.4.0
|
132 |
-
iniconfig==2.0.0
|
133 |
-
installer==0.7.0
|
134 |
-
ipykernel==6.29.2
|
135 |
-
ipython==8.24.0
|
136 |
-
ipywidgets==8.1.2
|
137 |
-
isodate==0.6.1
|
138 |
-
isoduration==20.11.0
|
139 |
-
itsdangerous==2.1.2
|
140 |
-
jaraco.classes==3.4.0
|
141 |
-
jax==0.4.28
|
142 |
-
jaxlib==0.4.28
|
143 |
-
jedi==0.19.1
|
144 |
-
jeepney==0.7.1
|
145 |
-
Jinja2==3.1.3
|
146 |
-
joblib==1.3.2
|
147 |
-
json5==0.9.17
|
148 |
-
jsonpatch==1.33
|
149 |
-
jsonpointer==2.4
|
150 |
-
jsonschema==4.21.1
|
151 |
-
jsonschema-specifications==2023.12.1
|
152 |
-
jupyter==1.0.0
|
153 |
-
jupyter-console==6.6.3
|
154 |
-
jupyter-events==0.9.0
|
155 |
-
jupyter-lsp==2.2.2
|
156 |
-
jupyter_client==8.6.0
|
157 |
-
jupyter_core==5.7.1
|
158 |
-
jupyter_server==2.12.5
|
159 |
-
jupyter_server_terminals==0.5.2
|
160 |
-
jupyterlab==4.1.2
|
161 |
-
jupyterlab_pygments==0.3.0
|
162 |
-
jupyterlab_server==2.25.3
|
163 |
-
jupyterlab_widgets==3.0.10
|
164 |
-
kaggle==1.6.12
|
165 |
-
keras==3.3.3
|
166 |
-
kernelstub==3.1.4
|
167 |
-
keyring==24.3.1
|
168 |
-
kiwisolver==1.4.5
|
169 |
-
kubernetes==29.0.0
|
170 |
-
langchain==0.2.0
|
171 |
-
langchain-community==0.2.0
|
172 |
-
langchain-core==0.2.0
|
173 |
-
langchain-google-genai==1.0.4
|
174 |
-
langchain-text-splitters==0.2.0
|
175 |
-
langsmith==0.1.60
|
176 |
-
language-selector==0.1
|
177 |
-
launchpadlib==1.10.16
|
178 |
-
lazr.restfulclient==0.14.4
|
179 |
-
lazr.uri==1.0.6
|
180 |
-
lazy_loader==0.4
|
181 |
-
lazypredict==0.2.12
|
182 |
-
libclang==16.0.6
|
183 |
-
libcst==1.1.0
|
184 |
-
librosa==0.10.2.post1
|
185 |
-
lightgbm==4.3.0
|
186 |
-
lightning==2.2.1
|
187 |
-
lightning-utilities==0.11.2
|
188 |
-
livereload==2.6.3
|
189 |
-
llvmlite==0.42.0
|
190 |
-
looseversion==1.3.0
|
191 |
-
louis==3.20.0
|
192 |
-
lsprotocol==2023.0.1
|
193 |
-
lxml==5.1.0
|
194 |
-
macaroonbakery==1.3.1
|
195 |
-
Mako==1.1.3
|
196 |
-
Markdown==3.5.2
|
197 |
-
markdown-it-py==3.0.0
|
198 |
-
MarkupSafe==2.1.5
|
199 |
-
marshmallow==3.21.0
|
200 |
-
matplotlib==3.8.3
|
201 |
-
matplotlib-inline==0.1.6
|
202 |
-
mdurl==0.1.2
|
203 |
-
mesop==0.7.2
|
204 |
-
mistune==3.0.2
|
205 |
-
mkdocs==1.1.2
|
206 |
-
ml-dtypes==0.3.2
|
207 |
-
mmh3==4.1.0
|
208 |
-
monotonic==1.6
|
209 |
-
more-itertools==8.10.0
|
210 |
-
mpmath==1.3.0
|
211 |
-
msgpack==1.0.3
|
212 |
-
multidict==6.0.5
|
213 |
-
multiprocess==0.70.16
|
214 |
-
mypy-extensions==1.0.0
|
215 |
-
namex==0.0.8
|
216 |
-
nbclient==0.9.0
|
217 |
-
nbconvert==7.16.1
|
218 |
-
nbformat==5.9.2
|
219 |
-
nest-asyncio==1.6.0
|
220 |
-
netaddr==0.8.0
|
221 |
-
netifaces==0.11.0
|
222 |
-
networkx==3.2.1
|
223 |
-
nh3==0.2.17
|
224 |
-
nibabel==5.2.1
|
225 |
-
nipype==1.8.6
|
226 |
-
nltk==3.8.1
|
227 |
-
nodeenv==1.8.0
|
228 |
-
notebook==7.1.0
|
229 |
-
notebook_shim==0.2.4
|
230 |
-
numba==0.59.1
|
231 |
-
numpy==1.26.4
|
232 |
-
nvidia-cublas-cu12==12.1.3.1
|
233 |
-
nvidia-cuda-cupti-cu12==12.1.105
|
234 |
-
nvidia-cuda-nvrtc-cu12==12.1.105
|
235 |
-
nvidia-cuda-runtime-cu12==12.1.105
|
236 |
-
nvidia-cudnn-cu12==8.9.2.26
|
237 |
-
nvidia-cufft-cu12==11.0.2.54
|
238 |
-
nvidia-curand-cu12==10.3.2.106
|
239 |
-
nvidia-cusolver-cu12==11.4.5.107
|
240 |
-
nvidia-cusparse-cu12==12.1.0.106
|
241 |
-
nvidia-nccl-cu12==2.19.3
|
242 |
-
nvidia-nvjitlink-cu12==12.4.99
|
243 |
-
nvidia-nvtx-cu12==12.1.105
|
244 |
-
oauthlib==3.2.2
|
245 |
-
oci==2.124.0
|
246 |
-
onnxruntime==1.17.1
|
247 |
-
openai==1.16.0
|
248 |
-
opencv-python==4.9.0.80
|
249 |
-
opentelemetry-api==1.24.0
|
250 |
-
opentelemetry-exporter-otlp-proto-common==1.24.0
|
251 |
-
opentelemetry-exporter-otlp-proto-grpc==1.24.0
|
252 |
-
opentelemetry-instrumentation==0.45b0
|
253 |
-
opentelemetry-instrumentation-asgi==0.45b0
|
254 |
-
opentelemetry-instrumentation-fastapi==0.45b0
|
255 |
-
opentelemetry-proto==1.24.0
|
256 |
-
opentelemetry-sdk==1.24.0
|
257 |
-
opentelemetry-semantic-conventions==0.45b0
|
258 |
-
opentelemetry-util-http==0.45b0
|
259 |
-
opt-einsum==3.3.0
|
260 |
-
optax==0.2.2
|
261 |
-
optree==0.11.0
|
262 |
-
orbax-checkpoint==0.5.15
|
263 |
-
orjson==3.9.14
|
264 |
-
outcome==1.3.0.post0
|
265 |
-
overrides==7.7.0
|
266 |
-
packaging==23.2
|
267 |
-
pandas==2.2.1
|
268 |
-
pandocfilters==1.5.1
|
269 |
-
parso==0.8.3
|
270 |
-
pathlib==1.0.1
|
271 |
-
pexpect==4.9.0
|
272 |
-
pillow==10.2.0
|
273 |
-
pipx==1.0.0
|
274 |
-
pkginfo==1.11.1
|
275 |
-
platformdirs==4.2.0
|
276 |
-
pluggy==1.4.0
|
277 |
-
poetry==1.8.3
|
278 |
-
poetry-core==1.9.0
|
279 |
-
poetry-plugin-export==1.8.0
|
280 |
-
polars==0.20.16
|
281 |
-
pooch==1.8.1
|
282 |
-
pop-transition==1.1.2
|
283 |
-
posthog==3.5.0
|
284 |
-
prisma==0.12.0
|
285 |
-
prometheus_client==0.20.0
|
286 |
-
prompt-toolkit==3.0.43
|
287 |
-
proto-plus==1.23.0
|
288 |
-
protobuf==4.25.3
|
289 |
-
prov==2.0.0
|
290 |
-
psutil==5.9.8
|
291 |
-
psycopg2-binary==2.9.9
|
292 |
-
ptyprocess==0.7.0
|
293 |
-
pulsar-client==3.4.0
|
294 |
-
pure-eval==0.2.2
|
295 |
-
pyarrow==15.0.0
|
296 |
-
pyarrow-hotfix==0.6
|
297 |
-
pyasn1==0.5.1
|
298 |
-
pyasn1-modules==0.3.0
|
299 |
-
pycairo==1.20.1
|
300 |
-
pyclipper==1.3.0.post5
|
301 |
-
pycparser==2.21
|
302 |
-
pycups==2.0.1
|
303 |
-
pydantic==2.7.3
|
304 |
-
pydantic-extra-types==2.5.0
|
305 |
-
pydantic-settings==2.2.0
|
306 |
-
pydantic_core==2.18.4
|
307 |
-
pydbus==0.6.0
|
308 |
-
pydeck==0.8.1b0
|
309 |
-
pydot==2.0.0
|
310 |
-
pyee==11.1.0
|
311 |
-
pygls==1.3.1
|
312 |
-
Pygments==2.17.2
|
313 |
-
PyGObject==3.42.1
|
314 |
-
pyinotify==0.9.6
|
315 |
-
PyInquirer==1.0.3
|
316 |
-
pyinstaller==6.5.0
|
317 |
-
pyinstaller-hooks-contrib==2024.3
|
318 |
-
PyJWT==2.3.0
|
319 |
-
pylibsrtp==0.10.0
|
320 |
-
pymacaroons==0.13.0
|
321 |
-
pymongo==4.6.1
|
322 |
-
PyMuPDF==1.24.4
|
323 |
-
PyMuPDFb==1.24.3
|
324 |
-
PyNaCl==1.5.0
|
325 |
-
pynvim==0.5.0
|
326 |
-
pyOpenSSL==24.0.0
|
327 |
-
pyparsing==3.1.2
|
328 |
-
pypdf==4.2.0
|
329 |
-
PyPDF2==3.0.1
|
330 |
-
PyPika==0.48.9
|
331 |
-
pyproject_hooks==1.0.0
|
332 |
-
pyRFC3339==1.1
|
333 |
-
pyright==1.1.368
|
334 |
-
PySocks==1.7.1
|
335 |
-
pyte==0.8.2
|
336 |
-
pytest==8.0.2
|
337 |
-
python-apt==2.4.0+ubuntu3
|
338 |
-
python-dateutil==2.8.2
|
339 |
-
python-debian==0.1.43+ubuntu1.1
|
340 |
-
python-dotenv==1.0.1
|
341 |
-
python-gnupg==0.4.8
|
342 |
-
python-json-logger==2.0.7
|
343 |
-
python-multipart==0.0.9
|
344 |
-
python-slugify==8.0.4
|
345 |
-
python-snappy==0.6.1
|
346 |
-
python-xlib==0.29
|
347 |
-
pytorch-lightning==2.2.1
|
348 |
-
pytz==2022.1
|
349 |
-
pyxdg==0.27
|
350 |
-
pyxnat==1.6.2
|
351 |
-
PyYAML==6.0.1
|
352 |
-
pyzmq==25.1.2
|
353 |
-
qtconsole==5.5.1
|
354 |
-
QtPy==2.4.1
|
355 |
-
rapidfuzz==3.9.3
|
356 |
-
rapidocr-onnxruntime==1.3.19
|
357 |
-
rdflib==7.0.0
|
358 |
-
readme_renderer==43.0
|
359 |
-
referencing==0.33.0
|
360 |
-
regex==2023.12.25
|
361 |
-
replicate==0.24.0
|
362 |
-
repolib==2.2.1
|
363 |
-
repoman==1.4.0
|
364 |
-
requests==2.31.0
|
365 |
-
requests-oauthlib==1.3.1
|
366 |
-
requests-toolbelt==1.0.0
|
367 |
-
rfc3339-validator==0.1.4
|
368 |
-
rfc3986==2.0.0
|
369 |
-
rfc3986-validator==0.1.1
|
370 |
-
rich==13.7.0
|
371 |
-
rpds-py==0.18.0
|
372 |
-
rsa==4.9
|
373 |
-
ruff==0.3.3
|
374 |
-
ruff-lsp==0.0.53
|
375 |
-
safetensors==0.4.2
|
376 |
-
scipy==1.12.0
|
377 |
-
seaborn==0.13.2
|
378 |
-
SecretStorage==3.3.1
|
379 |
-
selenium==4.18.1
|
380 |
-
Send2Trash==1.8.2
|
381 |
-
sentence-transformers==3.0.1
|
382 |
-
sentry-sdk==2.2.1
|
383 |
-
sessioninstaller==0.0.0
|
384 |
-
setproctitle==1.3.3
|
385 |
-
shapely==2.0.4
|
386 |
-
shellingham==1.5.4
|
387 |
-
simplejson==3.19.2
|
388 |
-
six==1.16.0
|
389 |
-
smmap==5.0.1
|
390 |
-
sniffio==1.3.0
|
391 |
-
sortedcontainers==2.4.0
|
392 |
-
soundfile==0.12.1
|
393 |
-
soupsieve==2.5
|
394 |
-
soxr==0.3.7
|
395 |
-
SQLAlchemy==2.0.27
|
396 |
-
sqlparse==0.4.4
|
397 |
-
stack-data==0.6.3
|
398 |
-
starlette==0.36.3
|
399 |
-
streamlit==1.36.0
|
400 |
-
streamlit-chat==0.1.1
|
401 |
-
streamlit-webrtc==0.47.6
|
402 |
-
StrEnum==0.4.15
|
403 |
-
sympy==1.12
|
404 |
-
systemd-python==234
|
405 |
-
tenacity==8.2.3
|
406 |
-
tensorboard==2.16.2
|
407 |
-
tensorboard-data-server==0.7.2
|
408 |
-
tensorflow-estimator==2.15.0
|
409 |
-
tensorflow-io-gcs-filesystem==0.36.0
|
410 |
-
tensorstore==0.1.60
|
411 |
-
termcolor==2.4.0
|
412 |
-
terminado==0.18.0
|
413 |
-
text-unidecode==1.3
|
414 |
-
thefuck==3.32
|
415 |
-
threadpoolctl==3.3.0
|
416 |
-
tiktoken==0.7.0
|
417 |
-
tinycss2==1.2.1
|
418 |
-
tinygrad==0.8.0
|
419 |
-
tokenizers==0.19.1
|
420 |
-
toml==0.10.2
|
421 |
-
tomli==2.0.1
|
422 |
-
tomlkit==0.12.4
|
423 |
-
toolz==0.12.1
|
424 |
-
torchmetrics==1.3.2
|
425 |
-
tornado==6.4
|
426 |
-
tqdm==4.66.2
|
427 |
-
traitlets==5.14.1
|
428 |
-
traits==6.3.2
|
429 |
-
transformers==4.42.0
|
430 |
-
trio==0.24.0
|
431 |
-
trio-websocket==0.11.1
|
432 |
-
triton==2.2.0
|
433 |
-
trove-classifiers==2024.5.22
|
434 |
-
twilio==9.0.1
|
435 |
-
twine==5.1.0
|
436 |
-
typer==0.12.0
|
437 |
-
typer-cli==0.12.0
|
438 |
-
typer-slim==0.12.0
|
439 |
-
types-python-dateutil==2.8.19.20240106
|
440 |
-
types-requests==2.32.0.20240622
|
441 |
-
typing-inspect==0.9.0
|
442 |
-
typing_extensions==4.9.0
|
443 |
-
tzdata==2024.1
|
444 |
-
tzlocal==5.2
|
445 |
-
ubuntu-drivers-common==0.0.0
|
446 |
-
ufw==0.36.1
|
447 |
-
ujson==5.9.0
|
448 |
-
uri-template==1.3.0
|
449 |
-
uritemplate==4.1.1
|
450 |
-
urllib3==2.2.1
|
451 |
-
userpath==1.8.0
|
452 |
-
uvicorn==0.27.1
|
453 |
-
uvloop==0.19.0
|
454 |
-
validators==0.22.0
|
455 |
-
vboxapi==1.0
|
456 |
-
virtualenv==20.26.2
|
457 |
-
wadllib==1.3.6
|
458 |
-
wandb==0.17.0
|
459 |
-
watchdog==4.0.0
|
460 |
-
watchfiles==0.21.0
|
461 |
-
wcwidth==0.2.13
|
462 |
-
webcolors==1.13
|
463 |
-
webdriver-manager==4.0.1
|
464 |
-
webencodings==0.5.1
|
465 |
-
websocket-client==1.7.0
|
466 |
-
websockets==12.0
|
467 |
-
Werkzeug==3.0.1
|
468 |
-
wget==3.2
|
469 |
-
widgetsnbextension==4.0.10
|
470 |
-
wrapt==1.14.1
|
471 |
-
wsproto==1.2.0
|
472 |
-
xdg==5
|
473 |
-
xgboost==2.0.3
|
474 |
-
xkit==0.0.0
|
475 |
-
xlrd==2.0.1
|
476 |
-
xxhash==3.4.1
|
477 |
-
yarl==1.9.4
|
478 |
-
youtube-dl==2021.12.17
|
479 |
-
zipp==1.0.0
|
|
|
1 |
+
streamlit
|
2 |
+
langchain
|
3 |
+
langchain-community
|
4 |
+
faiss
|
5 |
+
google-generativeai
|
6 |
+
langchain-google-genai
|
7 |
+
PyPDF2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|