diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..870957227c60cdf258f0ba663eb7eb3dc6c2263b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,257 @@
+# https://github.com/github/gitignore/blob/main/Python.gitignore
+
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+#  Usually these files are written by a python script from a template
+#  before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+cover/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+.pybuilder/
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+#   For a library or package, you might want to ignore these files since the code is
+#   intended to run in multiple environments; otherwise, check them in:
+.python-version
+
+# pipenv
+#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
+#   However, in case of collaboration, if having platform-specific dependencies or dependencies
+#   having no cross-platform support, pipenv may install dependencies that don't work, or not
+#   install all needed dependencies.
+#Pipfile.lock
+
+# poetry
+#   Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
+#   This is especially recommended for binary packages to ensure reproducibility, and is more
+#   commonly ignored for libraries.
+#   https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
+#poetry.lock
+
+# pdm
+#   Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
+#pdm.lock
+#   pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
+#   in version control.
+#   https://pdm.fming.dev/#use-with-ide
+.pdm.toml
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/
+
+# pytype static type analyzer
+.pytype/
+
+# Cython debug symbols
+cython_debug/
+
+# PyCharm
+#  JetBrains specific template is maintained in a separate JetBrains.gitignore that can
+#  be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
+#  and can be added to the global gitignore or merged into this file.  For a more nuclear
+#  option (not recommended) you can uncomment the following to ignore the entire idea folder.
+.idea/
+
+
+# https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore/
+
+.vscode/*
+!.vscode/settings.json
+# !.vscode/tasks.json
+# !.vscode/launch.json
+# !.vscode/extensions.json
+!.vscode/*.code-snippets
+
+# Local History for Visual Studio Code
+.history/
+
+# Built Visual Studio Code Extensions
+*.vsix
+
+
+# https://github.com/github/gitignore/blob/main/Global/macOS.gitignore
+
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+
+# https://github.com/github/gitignore/blob/main/Global/Windows.gitignore
+
+# Windows thumbnail cache files
+Thumbs.db
+Thumbs.db:encryptable
+ehthumbs.db
+ehthumbs_vista.db
+
+# Dump file
+*.stackdump
+
+# Folder config file
+[Dd]esktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+
+# https://github.com/github/gitignore/blob/main/Global/Linux.gitignore
+
+*~
+
+# temporary files which can be created if a process still has a handle open of a deleted file
+.fuse_hidden*
+
+# KDE directory preferences
+.directory
+
+# Linux trash folder which might appear on any partition or disk
+.Trash-*
+
+# .nfs files are created when an open file is removed but is still being accessed
+.nfs*
+
+# local overwrites for docker-compose files
+docker-compose.local.yml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8a6663034374abbb13231e33b87f27519a68257e
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,44 @@
+image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-fair/ci-runner:latest
+
+variables:
+  DOCKER_TAG: ${CI_COMMIT_REF_SLUG}
+
+workflow:
+  rules:
+    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
+    - if: $CI_COMMIT_TAG
+      variables:
+        DOCKER_TAG: ${CI_COMMIT_REF_NAME}
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+    - when: never
+
+stages:
+  - build
+
+.build:
+  stage: build
+  tags:
+    - docker-builder
+  image:
+    name: gcr.io/kaniko-project/executor:debug
+    entrypoint: [""]
+  variables:
+    IMAGE_TAG: latest
+    GIT_SUBMODULE_STRATEGY: recursive
+    GIT_SUBMODULE_DEPTH: 1
+    GIT_SUBMODULE_UPDATE_FLAGS: --jobs 4
+  before_script:
+    - echo "{\"auths\":{\"${CI_REGISTRY}\":{\"auth\":\"$(printf "%s:%s" "${CI_REGISTRY_USER}" "${CI_REGISTRY_PASSWORD}" | base64 | tr -d '\n')\"},\"$CI_DEPENDENCY_PROXY_SERVER\":{\"auth\":\"$(printf "%s:%s" ${CI_DEPENDENCY_PROXY_USER} "${CI_DEPENDENCY_PROXY_PASSWORD}" | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json
+
+build:
+  extends: .build
+  script:
+    - /kaniko/executor
+      --context "${CI_PROJECT_DIR}"
+      --dockerfile "${CI_PROJECT_DIR}/Dockerfile"
+      --destination "${CI_REGISTRY_IMAGE}/jupyter:${DOCKER_TAG}"
+  rules:
+    - changes:
+      - ${CI_PROJECT_DIR}/Dockerfile
+    - when: on_success
+
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..74421d3b4a925563e2ce64a5b1ba338973eaad63
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,40 @@
+FROM quay.io/jupyter/minimal-notebook:lab-4.2.5
+
+# Fix: https://github.com/hadolint/hadolint/wiki/DL4006
+# Fix: https://github.com/koalaman/shellcheck/wiki/SC3014
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+
+USER root
+
+RUN apt-get update --yes \
+ && apt-get install --yes --no-install-recommends \
+    git-lfs \
+    build-essential \
+    gcc \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+USER ${NB_UID}
+COPY --from=ghcr.io/astral-sh/uv:0.6.9 /uv /uvx /bin/
+COPY --chown=${NB_UID}:${NB_GID} requirements.txt /tmp/
+RUN uv pip install --system -r /tmp/requirements.txt \
+ && fix-permissions "${CONDA_DIR}" \
+ && fix-permissions "/home/${NB_USER}"
+
+# https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html#dockerfiles
+ENV NVIDIA_VISIBLE_DEVICES="all" \
+    NVIDIA_DRIVER_CAPABILITIES="compute,utility"
+
+# Puts the nvidia-smi binary (system management interface) on path
+# with associated library files to execute it
+ENV PATH="${PATH}:/usr/local/nvidia/bin" \
+    LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64"
+
+USER ${NB_UID}
+WORKDIR ${HOME}
+
+COPY --chown=${NB_UID}:${NB_GID} api_writer/ api_writer/
+COPY --chown=${NB_UID}:${NB_GID} jupyterhub_test.ipynb .
+COPY --chown=${NB_UID}:${NB_GID} vllm.ipynb .
+COPY --chown=${NB_UID}:${NB_GID} vllm_simple.ipynb .
+    
\ No newline at end of file
diff --git a/api_writer/__init__.py b/api_writer/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/api_writer/config.yaml b/api_writer/config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f623952972ea87db15f5687b68bdc06c1d69645c
--- /dev/null
+++ b/api_writer/config.yaml
@@ -0,0 +1,5 @@
+load-format: bitsandbytes
+dtype: bfloat16
+quantization: bitsandbytes
+enable-prefix-caching: true
+max-lora-rank: 32
diff --git a/api_writer/demo_api.json b/api_writer/demo_api.json
new file mode 100644
index 0000000000000000000000000000000000000000..3a81e7cb21472e4b1199fa8af5da80f68132f0b6
--- /dev/null
+++ b/api_writer/demo_api.json
@@ -0,0 +1,8 @@
+{
+    "results.material.elements:all": [
+      "Ca",
+      "Mo",
+      "Ir",
+      "V"
+    ]
+}
\ No newline at end of file
diff --git a/api_writer/demo_return.json b/api_writer/demo_return.json
new file mode 100644
index 0000000000000000000000000000000000000000..27edf92657999860383c304c9af53755df3f17c0
--- /dev/null
+++ b/api_writer/demo_return.json
@@ -0,0 +1,2754 @@
+{
+    "owner": "visible",
+    "query": {
+      "name": "results.material.elements",
+      "value": {
+        "all": [
+          "Ca",
+          "V",
+          "Mo",
+          "Ir"
+        ]
+      }
+    },
+    "pagination": {
+      "page_size": 20,
+      "order_by": "upload_create_time",
+      "order": "desc",
+      "total": 6
+    },
+    "required": {
+      "exclude": [
+        "quantities",
+        "sections",
+        "files"
+      ]
+    },
+    "aggregations": {
+      "results.material.elements:default": {
+        "terms": {
+          "quantity": "results.material.elements",
+          "exclude_from_search": false,
+          "metrics": [],
+          "size": 119,
+          "data": [
+            {
+              "count": 6,
+              "nested_count": 6,
+              "value": "Ca"
+            },
+            {
+              "count": 6,
+              "nested_count": 6,
+              "value": "Ir"
+            },
+            {
+              "count": 6,
+              "nested_count": 6,
+              "value": "Mo"
+            },
+            {
+              "count": 6,
+              "nested_count": 6,
+              "value": "V"
+            }
+          ],
+          "exhausted": true,
+          "total": 24
+        }
+      },
+      "results.material.n_elements:default_histogram": {
+        "histogram": {
+          "quantity": "results.material.n_elements",
+          "exclude_from_search": true,
+          "metrics": [],
+          "interval": 1,
+          "data": [
+            {
+              "count": 6,
+              "nested_count": 6,
+              "value": 4
+            }
+          ]
+        }
+      }
+    },
+    "data": [
+      {
+        "upload_id": "TKooJaRDShmEsKg9PSRybw",
+        "references": [
+          "http://www.sciencedirect.com/science/article/pii/S0927025614003322",
+          "http://aflowlib.org",
+          "http://www.sciencedirect.com/science/article/pii/S0927025612000687"
+        ],
+        "origin": "AFLOW",
+        "datasets": [],
+        "n_quantities": 1344,
+        "nomad_version": "1.0.0",
+        "upload_create_time": "2020-02-06T15:09:08.397000",
+        "nomad_commit": "37587aa6",
+        "publish_time": "2020-02-06T16:42:13.653000",
+        "processing_errors": [],
+        "results": {
+          "material": {
+            "symmetry": {
+              "bravais_lattice": "cF",
+              "space_group_symbol": "F-43m",
+              "prototype_aflow_id": "ABCD_cF16_216_c_d_b_a",
+              "prototype_formula": "AuLiMgSn",
+              "space_group_number": 216,
+              "point_group": "-43m",
+              "crystal_system": "cubic",
+              "hall_number": 512,
+              "hall_symbol": "F -4 2 3"
+            },
+            "elements": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "elements_exclusive": "Ca Ir Mo V",
+            "chemical_formula_anonymous": "ABCD",
+            "material_id": "pw-Src0usR1UuEQsJ6JiUaVdHvH6",
+            "structural_type": "bulk",
+            "chemical_formula_reduced": "CaIrMoV",
+            "n_elements": 4,
+            "chemical_formula_descriptive": "CaIrMoV",
+            "chemical_formula_reduced_fragments": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "chemical_formula_hill": "CaIrMoV"
+          },
+          "method": {
+            "method_name": "DFT",
+            "simulation": {
+              "program_version": "5.4.1 05Feb16 (build Jan 29 2019 17:37:47) complex parallel HPE-SGI-Intel",
+              "dft": {
+                "basis_set_type": "plane waves",
+                "core_electron_treatment": "pseudopotential",
+                "xc_functional_type": "GGA",
+                "xc_functional_names": [
+                  "GGA_C_PBE",
+                  "GGA_X_PBE"
+                ],
+                "scf_threshold_energy_change": 1.602176634e-25
+              },
+              "program_name": "VASP"
+            }
+          },
+          "properties": {
+            "available_properties": [
+              "dos_electronic",
+              "geometry_optimization"
+            ],
+            "n_calculations": 5,
+            "structures": {
+              "structure_primitive": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.531674626252806e-29,
+                "lattice_parameters": {
+                  "a": 4.520431022647377e-10,
+                  "b": 4.520431022647377e-10,
+                  "c": 4.520431022647377e-10,
+                  "alpha": 1.0471975511965976,
+                  "beta": 1.0471975511965976,
+                  "gamma": 1.0471975511965976
+                }
+              },
+              "structure_conventional": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 16,
+                "cell_volume": 2.6126698505011136e-28,
+                "lattice_parameters": {
+                  "a": 6.392854860000001e-10,
+                  "b": 6.392854860000001e-10,
+                  "c": 6.392854860000001e-10,
+                  "alpha": 1.5707963267948966,
+                  "beta": 1.5707963267948966,
+                  "gamma": 1.5707963267948966
+                }
+              },
+              "structure_original": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.531674626252806e-29,
+                "lattice_parameters": {
+                  "a": 4.520431022647377e-10,
+                  "b": 4.520431022647377e-10,
+                  "c": 4.520431022647377e-10,
+                  "alpha": 1.0471975511965976,
+                  "beta": 1.0471975511965976,
+                  "gamma": 1.0471975511965976
+                }
+              }
+            },
+            "electronic": {
+              "dos_electronic": {
+                "spin_polarized": true,
+                "band_gap": [
+                  {
+                    "index": 0
+                  },
+                  {
+                    "index": 1
+                  }
+                ]
+              }
+            },
+            "geometry_optimization": {
+              "structure_optimized": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.531674626252806e-29,
+                "lattice_parameters": {
+                  "a": 4.520431022647377e-10,
+                  "b": 4.520431022647377e-10,
+                  "c": 4.520431022647377e-10,
+                  "alpha": 1.0471975511965976,
+                  "beta": 1.0471975511965976,
+                  "gamma": 1.0471975511965976
+                }
+              },
+              "final_force_maximum": 0,
+              "final_energy_difference": 4.6487155035298135e-23
+            }
+          }
+        },
+        "last_processing_time": "2022-01-03T09:15:31.333000",
+        "optimade": {
+          "nperiodic_dimensions": 3,
+          "species_at_sites": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "nsites": 4,
+          "elements": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "chemical_formula_anonymous": "ABCD",
+          "chemical_formula_reduced": "CaIrMoV",
+          "structure_features": [],
+          "nelements": 4,
+          "chemical_formula_descriptive": "CaIrMoV",
+          "chemical_formula_hill": "CaIrMoV",
+          "elements_ratios": [
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ]
+          ]
+        },
+        "parser_name": "parsers/vasp",
+        "calc_id": "vExnObNnnxs3reqwZHMPCSTSE_0T",
+        "published": true,
+        "writers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "processed": true,
+        "mainfile": "nomad/fairdi/external/aflowlib/LIB4_LIB/AFLOWDATA_LIB4_LIB_Ca_svIrMo_pvV_sv_PAW_PBE_ABCD_cF16_216_c_d_b_a.ABCD/vasprun.xml.relax1.xz",
+        "main_author": {
+          "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+          "name": "Stefano Curtarolo"
+        },
+        "viewers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "entry_create_time": "2020-02-07T08:28:37",
+        "with_embargo": false,
+        "external_db": "AFLOW",
+        "domain": "dft",
+        "comment": "",
+        "entry_id": "vExnObNnnxs3reqwZHMPCSTSE_0T",
+        "upload_name": "AFLOWLIB__200206154147395846",
+        "authors": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "license": "CC BY 4.0"
+      },
+      {
+        "upload_id": "TKooJaRDShmEsKg9PSRybw",
+        "references": [
+          "http://www.sciencedirect.com/science/article/pii/S0927025614003322",
+          "http://aflowlib.org",
+          "http://www.sciencedirect.com/science/article/pii/S0927025612000687"
+        ],
+        "origin": "AFLOW",
+        "datasets": [],
+        "n_quantities": 1431,
+        "nomad_version": "1.0.0",
+        "upload_create_time": "2020-02-06T15:09:08.397000",
+        "nomad_commit": "37587aa6",
+        "publish_time": "2020-02-06T16:42:13.653000",
+        "processing_errors": [],
+        "results": {
+          "material": {
+            "symmetry": {
+              "bravais_lattice": "cF",
+              "space_group_symbol": "F-43m",
+              "prototype_aflow_id": "ABCD_cF16_216_c_d_b_a",
+              "prototype_formula": "AuLiMgSn",
+              "space_group_number": 216,
+              "point_group": "-43m",
+              "crystal_system": "cubic",
+              "hall_number": 512,
+              "hall_symbol": "F -4 2 3"
+            },
+            "elements": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "elements_exclusive": "Ca Ir Mo V",
+            "chemical_formula_anonymous": "ABCD",
+            "material_id": "q8Nrqq7nk9BEYAayNtxO2LwAq2E9",
+            "structural_type": "bulk",
+            "chemical_formula_reduced": "CaIrMoV",
+            "n_elements": 4,
+            "chemical_formula_descriptive": "CaIrMoV",
+            "chemical_formula_reduced_fragments": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "chemical_formula_hill": "CaIrMoV"
+          },
+          "method": {
+            "method_name": "DFT",
+            "simulation": {
+              "program_version": "5.4.1 05Feb16 (build Jan 29 2019 17:37:47) complex parallel HPE-SGI-Intel",
+              "dft": {
+                "basis_set_type": "plane waves",
+                "core_electron_treatment": "pseudopotential",
+                "xc_functional_type": "GGA",
+                "xc_functional_names": [
+                  "GGA_C_PBE",
+                  "GGA_X_PBE"
+                ],
+                "scf_threshold_energy_change": 1.602176634e-25
+              },
+              "program_name": "VASP"
+            }
+          },
+          "properties": {
+            "available_properties": [
+              "dos_electronic",
+              "geometry_optimization"
+            ],
+            "n_calculations": 6,
+            "structures": {
+              "structure_primitive": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.71069116895825e-29,
+                "lattice_parameters": {
+                  "a": 4.5613572034873335e-10,
+                  "b": 4.5613572034873335e-10,
+                  "c": 4.5613572034873335e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              },
+              "structure_conventional": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 16,
+                "cell_volume": 2.684276467583272e-28,
+                "lattice_parameters": {
+                  "a": 6.45073322e-10,
+                  "b": 6.45073322e-10,
+                  "c": 6.45073322e-10,
+                  "alpha": 1.5707963267948966,
+                  "beta": 1.5707963267948966,
+                  "gamma": 1.5707963267948966
+                }
+              },
+              "structure_original": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.71069116895825e-29,
+                "lattice_parameters": {
+                  "a": 4.5613572034873335e-10,
+                  "b": 4.5613572034873335e-10,
+                  "c": 4.5613572034873335e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              }
+            },
+            "electronic": {
+              "dos_electronic": {
+                "spin_polarized": true,
+                "band_gap": [
+                  {
+                    "index": 0
+                  },
+                  {
+                    "index": 1
+                  }
+                ]
+              }
+            },
+            "geometry_optimization": {
+              "structure_optimized": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.71069116895825e-29,
+                "lattice_parameters": {
+                  "a": 4.5613572034873335e-10,
+                  "b": 4.5613572034873335e-10,
+                  "c": 4.5613572034873335e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              },
+              "final_force_maximum": 0,
+              "final_energy_difference": 1.4675937966594379e-24
+            }
+          }
+        },
+        "last_processing_time": "2022-01-03T09:15:22.960000",
+        "optimade": {
+          "nperiodic_dimensions": 3,
+          "species_at_sites": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "nsites": 4,
+          "elements": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "chemical_formula_anonymous": "ABCD",
+          "chemical_formula_reduced": "CaIrMoV",
+          "structure_features": [],
+          "nelements": 4,
+          "chemical_formula_descriptive": "CaIrMoV",
+          "chemical_formula_hill": "CaIrMoV",
+          "elements_ratios": [
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ]
+          ]
+        },
+        "parser_name": "parsers/vasp",
+        "calc_id": "upihdOfU0YEeW1JTnYDuhG024Uh-",
+        "published": true,
+        "writers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "processed": true,
+        "mainfile": "nomad/fairdi/external/aflowlib/LIB4_LIB/AFLOWDATA_LIB4_LIB_Ca_svIrMo_pvV_sv_PAW_PBE_ABCD_cF16_216_c_d_b_a.CABD/vasprun.xml.relax1.xz",
+        "main_author": {
+          "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+          "name": "Stefano Curtarolo"
+        },
+        "viewers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "entry_create_time": "2020-02-07T08:28:37",
+        "with_embargo": false,
+        "external_db": "AFLOW",
+        "domain": "dft",
+        "comment": "",
+        "entry_id": "upihdOfU0YEeW1JTnYDuhG024Uh-",
+        "upload_name": "AFLOWLIB__200206154147395846",
+        "authors": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "license": "CC BY 4.0"
+      },
+      {
+        "upload_id": "TKooJaRDShmEsKg9PSRybw",
+        "references": [
+          "http://www.sciencedirect.com/science/article/pii/S0927025614003322",
+          "http://aflowlib.org",
+          "http://www.sciencedirect.com/science/article/pii/S0927025612000687"
+        ],
+        "origin": "AFLOW",
+        "datasets": [],
+        "n_quantities": 922,
+        "nomad_version": "1.0.0",
+        "upload_create_time": "2020-02-06T15:09:08.397000",
+        "nomad_commit": "37587aa6",
+        "publish_time": "2020-02-06T16:42:13.653000",
+        "processing_errors": [],
+        "results": {
+          "material": {
+            "symmetry": {
+              "bravais_lattice": "cF",
+              "space_group_symbol": "F-43m",
+              "prototype_aflow_id": "ABCD_cF16_216_c_d_b_a",
+              "prototype_formula": "AuLiMgSn",
+              "space_group_number": 216,
+              "point_group": "-43m",
+              "crystal_system": "cubic",
+              "hall_number": 512,
+              "hall_symbol": "F -4 2 3"
+            },
+            "elements": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "elements_exclusive": "Ca Ir Mo V",
+            "chemical_formula_anonymous": "ABCD",
+            "material_id": "q8Nrqq7nk9BEYAayNtxO2LwAq2E9",
+            "structural_type": "bulk",
+            "chemical_formula_reduced": "CaIrMoV",
+            "n_elements": 4,
+            "chemical_formula_descriptive": "CaIrMoV",
+            "chemical_formula_reduced_fragments": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "chemical_formula_hill": "CaIrMoV"
+          },
+          "method": {
+            "method_name": "DFT",
+            "simulation": {
+              "program_version": "5.4.1 05Feb16 (build Jan 29 2019 17:37:47) complex parallel HPE-SGI-Intel",
+              "dft": {
+                "basis_set_type": "plane waves",
+                "core_electron_treatment": "pseudopotential",
+                "xc_functional_type": "GGA",
+                "xc_functional_names": [
+                  "GGA_C_PBE",
+                  "GGA_X_PBE"
+                ],
+                "scf_threshold_energy_change": 1.602176634e-25
+              },
+              "program_name": "VASP"
+            }
+          },
+          "properties": {
+            "available_properties": [
+              "dos_electronic",
+              "geometry_optimization"
+            ],
+            "n_calculations": 3,
+            "structures": {
+              "structure_primitive": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.702270518857077e-29,
+                "lattice_parameters": {
+                  "a": 4.559448524295013e-10,
+                  "b": 4.559448524295013e-10,
+                  "c": 4.559448524295013e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              },
+              "structure_conventional": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 16,
+                "cell_volume": 2.6809082075428405e-28,
+                "lattice_parameters": {
+                  "a": 6.448033940000002e-10,
+                  "b": 6.448033940000002e-10,
+                  "c": 6.448033940000002e-10,
+                  "alpha": 1.5707963267948966,
+                  "beta": 1.5707963267948966,
+                  "gamma": 1.5707963267948966
+                }
+              },
+              "structure_original": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.702270518857077e-29,
+                "lattice_parameters": {
+                  "a": 4.559448524295013e-10,
+                  "b": 4.559448524295013e-10,
+                  "c": 4.559448524295013e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              }
+            },
+            "electronic": {
+              "dos_electronic": {
+                "spin_polarized": true,
+                "band_gap": [
+                  {
+                    "index": 0
+                  },
+                  {
+                    "index": 1
+                  }
+                ]
+              }
+            },
+            "geometry_optimization": {
+              "structure_optimized": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.702270518857077e-29,
+                "lattice_parameters": {
+                  "a": 4.5594485242950124e-10,
+                  "b": 4.5594485242950124e-10,
+                  "c": 4.5594485242950124e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              },
+              "final_force_maximum": 0,
+              "final_energy_difference": 1.2311125256046689e-23
+            }
+          }
+        },
+        "last_processing_time": "2022-01-03T09:03:35.885000",
+        "optimade": {
+          "nperiodic_dimensions": 3,
+          "species_at_sites": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "nsites": 4,
+          "elements": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "chemical_formula_anonymous": "ABCD",
+          "chemical_formula_reduced": "CaIrMoV",
+          "structure_features": [],
+          "nelements": 4,
+          "chemical_formula_descriptive": "CaIrMoV",
+          "chemical_formula_hill": "CaIrMoV",
+          "elements_ratios": [
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ]
+          ]
+        },
+        "parser_name": "parsers/vasp",
+        "calc_id": "JhJzGgFP1yO0mvfbVqa3uFL76u9D",
+        "published": true,
+        "writers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "processed": true,
+        "mainfile": "nomad/fairdi/external/aflowlib/LIB4_LIB/AFLOWDATA_LIB4_LIB_Ca_svIrMo_pvV_sv_PAW_PBE_ABCD_cF16_216_c_d_b_a.CABD/vasprun.xml.relax2.xz",
+        "main_author": {
+          "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+          "name": "Stefano Curtarolo"
+        },
+        "viewers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "entry_create_time": "2020-02-07T08:28:37",
+        "with_embargo": false,
+        "external_db": "AFLOW",
+        "domain": "dft",
+        "comment": "",
+        "entry_id": "JhJzGgFP1yO0mvfbVqa3uFL76u9D",
+        "upload_name": "AFLOWLIB__200206154147395846",
+        "authors": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "license": "CC BY 4.0"
+      },
+      {
+        "upload_id": "TKooJaRDShmEsKg9PSRybw",
+        "references": [
+          "http://www.sciencedirect.com/science/article/pii/S0927025614003322",
+          "http://aflowlib.org",
+          "http://www.sciencedirect.com/science/article/pii/S0927025612000687"
+        ],
+        "origin": "AFLOW",
+        "datasets": [],
+        "n_quantities": 898,
+        "nomad_version": "1.0.0",
+        "upload_create_time": "2020-02-06T15:09:08.397000",
+        "nomad_commit": "37587aa6",
+        "publish_time": "2020-02-06T16:42:13.653000",
+        "processing_errors": [],
+        "results": {
+          "material": {
+            "symmetry": {
+              "bravais_lattice": "cF",
+              "space_group_symbol": "F-43m",
+              "prototype_aflow_id": "ABCD_cF16_216_c_d_b_a",
+              "prototype_formula": "AuLiMgSn",
+              "space_group_number": 216,
+              "point_group": "-43m",
+              "crystal_system": "cubic",
+              "hall_number": 512,
+              "hall_symbol": "F -4 2 3"
+            },
+            "elements": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "elements_exclusive": "Ca Ir Mo V",
+            "chemical_formula_anonymous": "ABCD",
+            "material_id": "pw-Src0usR1UuEQsJ6JiUaVdHvH6",
+            "structural_type": "bulk",
+            "chemical_formula_reduced": "CaIrMoV",
+            "n_elements": 4,
+            "chemical_formula_descriptive": "CaIrMoV",
+            "chemical_formula_reduced_fragments": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "chemical_formula_hill": "CaIrMoV"
+          },
+          "method": {
+            "method_name": "DFT",
+            "simulation": {
+              "program_version": "5.4.1 05Feb16 (build Jan 29 2019 17:37:47) complex parallel HPE-SGI-Intel",
+              "dft": {
+                "basis_set_type": "plane waves",
+                "core_electron_treatment": "pseudopotential",
+                "xc_functional_type": "GGA",
+                "xc_functional_names": [
+                  "GGA_C_PBE",
+                  "GGA_X_PBE"
+                ],
+                "scf_threshold_energy_change": 1.602176634e-25
+              },
+              "program_name": "VASP"
+            }
+          },
+          "properties": {
+            "available_properties": [
+              "dos_electronic",
+              "geometry_optimization"
+            ],
+            "n_calculations": 3,
+            "structures": {
+              "structure_primitive": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.521345083370319e-29,
+                "lattice_parameters": {
+                  "a": 4.5180468141447083e-10,
+                  "b": 4.5180468141447083e-10,
+                  "c": 4.5180468141447083e-10,
+                  "alpha": 1.0471975511965976,
+                  "beta": 1.0471975511965976,
+                  "gamma": 1.0471975511965976
+                }
+              },
+              "structure_conventional": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 16,
+                "cell_volume": 2.6085380333481e-28,
+                "lattice_parameters": {
+                  "a": 6.389483080000001e-10,
+                  "b": 6.389483080000001e-10,
+                  "c": 6.389483080000001e-10,
+                  "alpha": 1.5707963267948966,
+                  "beta": 1.5707963267948966,
+                  "gamma": 1.5707963267948966
+                }
+              },
+              "structure_original": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.521345083370319e-29,
+                "lattice_parameters": {
+                  "a": 4.518046814144708e-10,
+                  "b": 4.518046814144708e-10,
+                  "c": 4.518046814144708e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              }
+            },
+            "electronic": {
+              "dos_electronic": {
+                "spin_polarized": true,
+                "band_gap": [
+                  {
+                    "index": 0
+                  },
+                  {
+                    "index": 1
+                  }
+                ]
+              }
+            },
+            "geometry_optimization": {
+              "structure_optimized": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.521345083370319e-29,
+                "lattice_parameters": {
+                  "a": 4.518046814144708e-10,
+                  "b": 4.518046814144708e-10,
+                  "c": 4.518046814144708e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              },
+              "final_force_maximum": 0,
+              "final_energy_difference": 6.769196279335623e-24
+            }
+          }
+        },
+        "last_processing_time": "2022-01-03T08:58:01.070000",
+        "optimade": {
+          "nperiodic_dimensions": 3,
+          "species_at_sites": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "nsites": 4,
+          "elements": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "chemical_formula_anonymous": "ABCD",
+          "chemical_formula_reduced": "CaIrMoV",
+          "structure_features": [],
+          "nelements": 4,
+          "chemical_formula_descriptive": "CaIrMoV",
+          "chemical_formula_hill": "CaIrMoV",
+          "elements_ratios": [
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ]
+          ]
+        },
+        "parser_name": "parsers/vasp",
+        "calc_id": "1iMQzzQfeR8BdK3fA7TQw4y_6hIZ",
+        "published": true,
+        "writers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "processed": true,
+        "mainfile": "nomad/fairdi/external/aflowlib/LIB4_LIB/AFLOWDATA_LIB4_LIB_Ca_svIrMo_pvV_sv_PAW_PBE_ABCD_cF16_216_c_d_b_a.ABCD/vasprun.xml.relax2.xz",
+        "main_author": {
+          "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+          "name": "Stefano Curtarolo"
+        },
+        "viewers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "entry_create_time": "2020-02-07T08:28:37",
+        "with_embargo": false,
+        "external_db": "AFLOW",
+        "domain": "dft",
+        "comment": "",
+        "entry_id": "1iMQzzQfeR8BdK3fA7TQw4y_6hIZ",
+        "upload_name": "AFLOWLIB__200206154147395846",
+        "authors": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "license": "CC BY 4.0"
+      },
+      {
+        "upload_id": "ImjhfoPcRey-eoovFCQ9Og",
+        "references": [
+          "http://www.sciencedirect.com/science/article/pii/S0927025614003322",
+          "http://aflowlib.org",
+          "http://www.sciencedirect.com/science/article/pii/S0927025612000687"
+        ],
+        "origin": "AFLOW",
+        "datasets": [],
+        "n_quantities": 938,
+        "nomad_version": "1.0.0",
+        "upload_create_time": "2020-02-06T15:08:13.602000",
+        "nomad_commit": "37587aa6",
+        "publish_time": "2020-02-06T16:55:06.765000",
+        "processing_errors": [],
+        "results": {
+          "material": {
+            "symmetry": {
+              "bravais_lattice": "cF",
+              "space_group_symbol": "F-43m",
+              "prototype_aflow_id": "ABCD_cF16_216_c_d_b_a",
+              "prototype_formula": "AuLiMgSn",
+              "space_group_number": 216,
+              "point_group": "-43m",
+              "crystal_system": "cubic",
+              "hall_number": 512,
+              "hall_symbol": "F -4 2 3"
+            },
+            "elements": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "elements_exclusive": "Ca Ir Mo V",
+            "chemical_formula_anonymous": "ABCD",
+            "material_id": "NW_k8RSa8bbUspH4c_4SWi5oEDvk",
+            "structural_type": "bulk",
+            "chemical_formula_reduced": "CaIrMoV",
+            "n_elements": 4,
+            "chemical_formula_descriptive": "CaIrMoV",
+            "chemical_formula_reduced_fragments": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "chemical_formula_hill": "CaIrMoV"
+          },
+          "method": {
+            "method_name": "DFT",
+            "simulation": {
+              "program_version": "5.4.1 05Feb16 (build Jan 29 2019 17:37:47) complex parallel HPE-SGI-Intel",
+              "dft": {
+                "basis_set_type": "plane waves",
+                "core_electron_treatment": "pseudopotential",
+                "xc_functional_type": "GGA",
+                "xc_functional_names": [
+                  "GGA_C_PBE",
+                  "GGA_X_PBE"
+                ],
+                "scf_threshold_energy_change": 1.602176634e-25
+              },
+              "program_name": "VASP"
+            }
+          },
+          "properties": {
+            "available_properties": [
+              "dos_electronic",
+              "geometry_optimization"
+            ],
+            "n_calculations": 3,
+            "structures": {
+              "structure_primitive": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.594521219352661e-29,
+                "lattice_parameters": {
+                  "a": 4.53488302660476e-10,
+                  "b": 4.53488302660476e-10,
+                  "c": 4.53488302660476e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              },
+              "structure_conventional": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 16,
+                "cell_volume": 2.637808487741037e-28,
+                "lattice_parameters": {
+                  "a": 6.41329308e-10,
+                  "b": 6.41329308e-10,
+                  "c": 6.41329308e-10,
+                  "alpha": 1.5707963267948966,
+                  "beta": 1.5707963267948966,
+                  "gamma": 1.5707963267948966
+                }
+              },
+              "structure_original": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.594521219352661e-29,
+                "lattice_parameters": {
+                  "a": 4.534883026604761e-10,
+                  "b": 4.534883026604761e-10,
+                  "c": 4.534883026604761e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              }
+            },
+            "electronic": {
+              "dos_electronic": {
+                "spin_polarized": true,
+                "band_gap": [
+                  {
+                    "index": 0
+                  },
+                  {
+                    "index": 1
+                  }
+                ]
+              }
+            },
+            "geometry_optimization": {
+              "structure_optimized": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.594521219352661e-29,
+                "lattice_parameters": {
+                  "a": 4.53488302660476e-10,
+                  "b": 4.53488302660476e-10,
+                  "c": 4.53488302660476e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              },
+              "final_force_maximum": 0,
+              "final_energy_difference": 1.0172219449506601e-23
+            }
+          }
+        },
+        "last_processing_time": "2021-12-27T01:36:19.157000",
+        "optimade": {
+          "nperiodic_dimensions": 3,
+          "species_at_sites": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "nsites": 4,
+          "elements": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "chemical_formula_anonymous": "ABCD",
+          "chemical_formula_reduced": "CaIrMoV",
+          "structure_features": [],
+          "nelements": 4,
+          "chemical_formula_descriptive": "CaIrMoV",
+          "chemical_formula_hill": "CaIrMoV",
+          "elements_ratios": [
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ]
+          ]
+        },
+        "parser_name": "parsers/vasp",
+        "calc_id": "fsRU-FefedFLcKKKwgisioqMpA8y",
+        "published": true,
+        "writers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "processed": true,
+        "mainfile": "nomad/fairdi/external/aflowlib/LIB4_LIB/AFLOWDATA_LIB4_LIB_Ca_svIrMo_pvV_sv_PAW_PBE_ABCD_cF16_216_c_d_b_a.BCAD/vasprun.xml.relax2.xz",
+        "main_author": {
+          "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+          "name": "Stefano Curtarolo"
+        },
+        "viewers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "entry_create_time": "2020-02-07T08:28:37",
+        "with_embargo": false,
+        "external_db": "AFLOW",
+        "domain": "dft",
+        "comment": "",
+        "entry_id": "fsRU-FefedFLcKKKwgisioqMpA8y",
+        "upload_name": "AFLOWLIB__200206153929935392",
+        "authors": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "license": "CC BY 4.0"
+      },
+      {
+        "upload_id": "ImjhfoPcRey-eoovFCQ9Og",
+        "references": [
+          "http://www.sciencedirect.com/science/article/pii/S0927025614003322",
+          "http://aflowlib.org",
+          "http://www.sciencedirect.com/science/article/pii/S0927025612000687"
+        ],
+        "origin": "AFLOW",
+        "datasets": [],
+        "n_quantities": 1400,
+        "nomad_version": "1.0.0",
+        "upload_create_time": "2020-02-06T15:08:13.602000",
+        "nomad_commit": "37587aa6",
+        "publish_time": "2020-02-06T16:55:06.765000",
+        "processing_errors": [],
+        "results": {
+          "material": {
+            "symmetry": {
+              "bravais_lattice": "cF",
+              "space_group_symbol": "F-43m",
+              "prototype_aflow_id": "ABCD_cF16_216_c_d_b_a",
+              "prototype_formula": "AuLiMgSn",
+              "space_group_number": 216,
+              "point_group": "-43m",
+              "crystal_system": "cubic",
+              "hall_number": 512,
+              "hall_symbol": "F -4 2 3"
+            },
+            "elements": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "elements_exclusive": "Ca Ir Mo V",
+            "chemical_formula_anonymous": "ABCD",
+            "material_id": "NW_k8RSa8bbUspH4c_4SWi5oEDvk",
+            "structural_type": "bulk",
+            "chemical_formula_reduced": "CaIrMoV",
+            "n_elements": 4,
+            "chemical_formula_descriptive": "CaIrMoV",
+            "chemical_formula_reduced_fragments": [
+              "Ca",
+              "Ir",
+              "Mo",
+              "V"
+            ],
+            "chemical_formula_hill": "CaIrMoV"
+          },
+          "method": {
+            "method_name": "DFT",
+            "simulation": {
+              "program_version": "5.4.1 05Feb16 (build Jan 29 2019 17:37:47) complex parallel HPE-SGI-Intel",
+              "dft": {
+                "basis_set_type": "plane waves",
+                "core_electron_treatment": "pseudopotential",
+                "xc_functional_type": "GGA",
+                "xc_functional_names": [
+                  "GGA_C_PBE",
+                  "GGA_X_PBE"
+                ],
+                "scf_threshold_energy_change": 1.602176634e-25
+              },
+              "program_name": "VASP"
+            }
+          },
+          "properties": {
+            "available_properties": [
+              "dos_electronic",
+              "geometry_optimization"
+            ],
+            "n_calculations": 5,
+            "structures": {
+              "structure_primitive": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.604076601521608e-29,
+                "lattice_parameters": {
+                  "a": 4.5370722999099913e-10,
+                  "b": 4.5370722999099913e-10,
+                  "c": 4.5370722999099913e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              },
+              "structure_conventional": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 16,
+                "cell_volume": 2.641630640608653e-28,
+                "lattice_parameters": {
+                  "a": 6.41638918e-10,
+                  "b": 6.41638918e-10,
+                  "c": 6.41638918e-10,
+                  "alpha": 1.5707963267948966,
+                  "beta": 1.5707963267948966,
+                  "gamma": 1.5707963267948966
+                }
+              },
+              "structure_original": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.604076601521608e-29,
+                "lattice_parameters": {
+                  "a": 4.5370722999099913e-10,
+                  "b": 4.5370722999099913e-10,
+                  "c": 4.5370722999099913e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              }
+            },
+            "electronic": {
+              "dos_electronic": {
+                "spin_polarized": true,
+                "band_gap": [
+                  {
+                    "index": 0
+                  },
+                  {
+                    "index": 1
+                  }
+                ]
+              }
+            },
+            "geometry_optimization": {
+              "structure_optimized": {
+                "nperiodic_dimensions": 3,
+                "n_sites": 4,
+                "cell_volume": 6.604076601521608e-29,
+                "lattice_parameters": {
+                  "a": 4.5370722999099913e-10,
+                  "b": 4.5370722999099913e-10,
+                  "c": 4.5370722999099913e-10,
+                  "alpha": 1.0471975511965979,
+                  "beta": 1.0471975511965979,
+                  "gamma": 1.0471975511965979
+                }
+              },
+              "final_force_maximum": 0,
+              "final_energy_difference": 1.9658707299105274e-23
+            }
+          }
+        },
+        "last_processing_time": "2021-12-27T01:36:02.272000",
+        "optimade": {
+          "nperiodic_dimensions": 3,
+          "species_at_sites": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "nsites": 4,
+          "elements": [
+            "Ca",
+            "Ir",
+            "Mo",
+            "V"
+          ],
+          "chemical_formula_anonymous": "ABCD",
+          "chemical_formula_reduced": "CaIrMoV",
+          "structure_features": [],
+          "nelements": 4,
+          "chemical_formula_descriptive": "CaIrMoV",
+          "chemical_formula_hill": "CaIrMoV",
+          "elements_ratios": [
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ],
+            [
+              {
+                "elements": "Ca",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Ir",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "Mo",
+                "elements_ratios": 0.25
+              },
+              {
+                "elements": "V",
+                "elements_ratios": 0.25
+              }
+            ]
+          ]
+        },
+        "parser_name": "parsers/vasp",
+        "calc_id": "f4blyDBwL7VqwZiqLRjoCIwaLTSZ",
+        "published": true,
+        "writers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "processed": true,
+        "mainfile": "nomad/fairdi/external/aflowlib/LIB4_LIB/AFLOWDATA_LIB4_LIB_Ca_svIrMo_pvV_sv_PAW_PBE_ABCD_cF16_216_c_d_b_a.BCAD/vasprun.xml.relax1.xz",
+        "main_author": {
+          "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+          "name": "Stefano Curtarolo"
+        },
+        "viewers": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "entry_create_time": "2020-02-07T08:28:37",
+        "with_embargo": false,
+        "external_db": "AFLOW",
+        "domain": "dft",
+        "comment": "",
+        "entry_id": "f4blyDBwL7VqwZiqLRjoCIwaLTSZ",
+        "upload_name": "AFLOWLIB__200206153929935392",
+        "authors": [
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          },
+          {
+            "user_id": "f409d859-2639-4f82-b198-85e1c7c62f8b",
+            "name": "Kesong Yang"
+          },
+          {
+            "user_id": "580f7036-97b8-42b1-a9e6-815058bcac72",
+            "name": "Lance Nelson"
+          },
+          {
+            "user_id": "4c8d767d-335f-4ccd-9459-d0152b2026bc",
+            "name": "Gus Hart"
+          },
+          {
+            "user_id": "7effd16a-a65c-4d95-b692-652488d94146",
+            "name": "Stefano Sanvito"
+          },
+          {
+            "user_id": "d59b3610-6335-4ad8-aca0-24a905de3a25",
+            "name": "Natalio Mingo"
+          },
+          {
+            "user_id": "3df68fed-6ca0-4bf9-b2b1-d6be71e18f72",
+            "name": "Shidong Wang"
+          },
+          {
+            "user_id": "f7b540eb-a266-4379-9611-911ed8e3630e",
+            "name": "Wahyu Setyawan"
+          },
+          {
+            "user_id": "7b3fe468-0011-4ba8-bd53-1ee65acda114",
+            "name": "Marco Buongiorno Nardelli"
+          },
+          {
+            "user_id": "48e7a028-1a41-440d-9986-38540f5079c9",
+            "name": "Cormac Toher"
+          },
+          {
+            "user_id": "d63d07e6-ccc8-4eac-82af-d841627b6c53",
+            "name": "Ohad Levy"
+          },
+          {
+            "user_id": "9c308f66-eed1-4996-b33e-af78fb4944c7",
+            "name": "Richard Taylor"
+          },
+          {
+            "user_id": "d2621bc7-c45a-4d35-9dc1-5c05fa8326cb",
+            "name": "Frisco Rose"
+          },
+          {
+            "user_id": "ecba0e68-65ee-4b40-8fbf-a42714b1072b",
+            "name": "Junkai Xue"
+          },
+          {
+            "user_id": "81b96683-7170-49d7-8c4e-e9f34906b3ea",
+            "name": "Stefano Curtarolo"
+          }
+        ],
+        "license": "CC BY 4.0"
+      }
+    ]
+  }
\ No newline at end of file
diff --git a/api_writer/description.md b/api_writer/description.md
new file mode 100644
index 0000000000000000000000000000000000000000..7744019ed9c36f6ca09779c6f31ff0947abbba71
--- /dev/null
+++ b/api_writer/description.md
@@ -0,0 +1,10 @@
+# NOMAD API Writer: 
+
+This tool transforms your natural language text into structured API queries for searching NOMAD. We want to test and evaluate the models capablities and find its shortcomings to improve the model and the search functionality.
+
+The LLM generates two options for you to evaluate. Select which query performed better (1 or 2), or indicate if both performed equally well (Tie) or if neither were satisfactory (Both are bad). Note: The two options may be the same sometimes.
+
+You can also edit either generated query to demonstrate the correct query or provide free-form feedback in the notes section.
+
+IMPORTANT: The queries and your feedback are only logged when you click on Submit.
+
diff --git a/api_writer/fast_app.py b/api_writer/fast_app.py
new file mode 100644
index 0000000000000000000000000000000000000000..43ad91b62f86a964e766867bbd52bec84b070efd
--- /dev/null
+++ b/api_writer/fast_app.py
@@ -0,0 +1,12 @@
+from fastapi import FastAPI
+from api_writer.test_ui import demo
+import gradio as gr
+
+CUSTOM_PATH = "/api_writer"
+
+app = FastAPI()
+
+@app.get("/")
+def read_main():
+    return {"message": "This is your main app"}
+app = gr.mount_gradio_app(app, demo, path=CUSTOM_PATH)
\ No newline at end of file
diff --git a/api_writer/hf_model.py b/api_writer/hf_model.py
new file mode 100644
index 0000000000000000000000000000000000000000..71136e976de6c8258740a250a274fe2ed31aa2c6
--- /dev/null
+++ b/api_writer/hf_model.py
@@ -0,0 +1,15 @@
+import os
+from huggingface_hub import snapshot_download
+
+try:
+    hf_token = os.environ['HF_TOKEN_PVT']
+except:
+    hf_token = ""
+
+
+snapshot_path=snapshot_download("pilar12/nomad-api-writer-lora", revision=os.environ['LORA_VERSION'], token=hf_token, local_dir='api_lora')
+os.environ['api_lora_path'] = snapshot_path
+snapshot_path = snapshot_download(os.environ['BASE_MODEL'])
+def download_model(model_path="pilar12/nomad-api-writer-lora", revision=os.environ['LORA_VERSION']):
+    snapshot_path=snapshot_download(model_path, revision=revision, token=hf_token,local_dir='api_lora')
+    return snapshot_path
\ No newline at end of file
diff --git a/api_writer/nomad_api.py b/api_writer/nomad_api.py
new file mode 100644
index 0000000000000000000000000000000000000000..b9cfb99b4415dc479780f00d02b235491346b737
--- /dev/null
+++ b/api_writer/nomad_api.py
@@ -0,0 +1,33 @@
+import requests, json
+URL = "http://nomad-lab.eu/prod/v1/api/v1/"
+BASE_REQUEST ={
+  "owner": "visible",
+  "query": {},
+  "aggregations": {},
+  "pagination": {
+    "order_by": "upload_create_time",
+    "order": "desc",
+    "page_size": 20
+  },
+"required": {"include":["entry_id","upload_name","origin","results.material.chemical_formula_descriptive"]}
+}
+
+def make_query(query: str):
+    if type(query)==str:
+      try:
+          query+=" "
+          query = query[query.index('{'):query[::-1].index('}')*-1]
+          query = query.replace("\'",'"')
+          query = json.loads(query)
+          if len(query.keys())==1 and 'all' in query.keys():
+              query['and'] = query['all']
+      except Exception as e:
+          return True, 'Error parsing query: ' + query + ' ' + str(e)
+    if 'query' in query:
+        query = query['query']
+    query["upload_name:none"]=["Co-pilot test"]
+    request_query = BASE_REQUEST.copy()
+    request_query['query'] = query
+    response = requests.post(URL + 'entries/query/', json=request_query)
+    print('API response:', response.status_code)
+    return response.status_code, response.json()
\ No newline at end of file
diff --git a/api_writer/sampling_params.yaml b/api_writer/sampling_params.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a668699044bfe5589c3aed3b05f8627d4284fd7c
--- /dev/null
+++ b/api_writer/sampling_params.yaml
@@ -0,0 +1,9 @@
+n: 2
+model: "api_lora"
+stream: False
+max_tokens: 2048
+temperature: 1.0    
+top_k: 10
+seed: 42
+stop: ["<|end_of_text|>"]
+        
\ No newline at end of file
diff --git a/api_writer/sampling_params_2.yaml b/api_writer/sampling_params_2.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6e073d5094665d08ab99875ff4c1ff30ce3a76c3
--- /dev/null
+++ b/api_writer/sampling_params_2.yaml
@@ -0,0 +1,9 @@
+n: 3
+model: "api_lora"
+stream: False
+max_tokens: 2048
+temperature: 0.7    
+top_k: 10
+seed: 42
+stop: ["<|end_of_text|>"]
+        
\ No newline at end of file
diff --git a/api_writer/search_quantities_lim.json b/api_writer/search_quantities_lim.json
new file mode 100644
index 0000000000000000000000000000000000000000..ad7d2b006d9cf2618441b20940d549b1c2c2773e
--- /dev/null
+++ b/api_writer/search_quantities_lim.json
@@ -0,0 +1,1977 @@
+{
+    "upload_id": {
+        "description": "The persistent and globally unique identifier for the upload of the entry",
+        "type": "str"
+    },
+    "upload_name": {
+        "description": "The user provided upload name",
+        "type": "str"
+    },
+    "upload_create_time": {
+        "description": "The date and time when the upload was created in nomad",
+        "type": "nomad.metainfo.data_type.Datetime"
+    },
+    "entry_id": {
+        "description": "A persistent and globally unique identifier for the entry",
+        "type": "str"
+    },
+    "entry_name": {
+        "description": "A brief human readable name for the entry.",
+        "type": "str"
+    },
+    "entry_name.prefix": {
+        "description": "A brief human readable name for the entry.",
+        "type": "str"
+    },
+    "entry_type": {
+        "description": "The main schema definition. This is the name of the section used for data.",
+        "type": "str"
+    },
+    "calc_id": {
+        "description": "Legacy field name, use `entry_id` instead.",
+        "type": "str"
+    },
+    "entry_create_time": {
+        "description": "The date and time when the entry was created in nomad",
+        "type": "nomad.metainfo.data_type.Datetime"
+    },
+    "parser_name": {
+        "description": "The NOMAD parser used for the last processing",
+        "type": "str"
+    },
+    "mainfile": {
+        "description": "The path to the mainfile from the root directory of the uploaded files",
+        "type": "str"
+    },
+    "mainfile.path": {
+        "description": "The path to the mainfile from the root directory of the uploaded files",
+        "type": "str"
+    },
+    "mainfile_key": {
+        "description": "Key used to differentiate between different *child entries* of an entry.\nFor parent entries and entries that do not have any children, the value should\nbe empty.",
+        "type": "str"
+    },
+    "mainfile_key.path": {
+        "description": "Key used to differentiate between different *child entries* of an entry.\nFor parent entries and entries that do not have any children, the value should\nbe empty.",
+        "type": "str"
+    },
+    "text_search_contents": {
+        "description": "Contains text contents that should be considered when\ndoing free text queries for entries.",
+        "type": "str"
+    },
+    "files": {
+        "description": "The paths to the files within the upload that belong to this entry.\nAll files within the same directory as the entry's mainfile are considered the\nauxiliary files that belong to the entry.",
+        "type": "str"
+    },
+    "files.path": {
+        "description": "The paths to the files within the upload that belong to this entry.\nAll files within the same directory as the entry's mainfile are considered the\nauxiliary files that belong to the entry.",
+        "type": "str"
+    },
+    "pid": {
+        "description": "The unique, sequentially enumerated, integer PID that was used in the legacy\nNOMAD CoE. It allows to resolve URLs of the old NOMAD CoE Repository.",
+        "type": "str"
+    },
+    "raw_id": {
+        "description": "The code specific identifier extracted from the entry's raw files by the parser,\nif supported.",
+        "type": "str"
+    },
+    "external_id": {
+        "description": "A user provided external id. Usually the id for an entry in an external database\nwhere the data was imported from.",
+        "type": "str"
+    },
+    "published": {
+        "description": "Indicates if the entry is published",
+        "type": "bool"
+    },
+    "publish_time": {
+        "description": "The date and time when the upload was published in nomad",
+        "type": "nomad.metainfo.data_type.Datetime"
+    },
+    "with_embargo": {
+        "description": "Indicated if this entry is under an embargo",
+        "type": "bool"
+    },
+    "processed": {
+        "description": "Indicates that the entry is successfully processed.",
+        "type": "bool"
+    },
+    "last_processing_time": {
+        "description": "The date and time of the last processing.",
+        "type": "nomad.metainfo.data_type.Datetime"
+    },
+    "processing_errors": {
+        "description": "Errors that occurred during processing",
+        "type": "str"
+    },
+    "nomad_version": {
+        "description": "The NOMAD version used for the last processing",
+        "type": "str"
+    },
+    "nomad_commit": {
+        "description": "The NOMAD commit used for the last processing",
+        "type": "str"
+    },
+    "comment": {
+        "description": "A user provided comment for this entry",
+        "type": "str"
+    },
+    "references": {
+        "description": "User provided references (URLs) for this entry",
+        "type": "str"
+    },
+    "external_db": {
+        "description": "The repository or external database where the original data resides",
+        "type": "AFLOW,EELS Data Base,Kyoto Phonopy Database,Materials Project,OQMD,The Perovskite Database Project"
+    },
+    "origin": {
+        "description": "A short human readable description of the entries origin. Usually it is the\nhandle of an external database/repository or the name of the main author.",
+        "type": "str"
+    },
+    "main_author.name": {
+        "type": "str"
+    },
+    "main_author.name.text": {
+        "type": "str"
+    },
+    "main_author.user_id": {
+        "description": "The unique, persistent keycloak UUID",
+        "type": "str"
+    },
+    "main_author": {
+        "description": "The main author of the entry",
+        "type": "User"
+    },
+    "authors.name": {
+        "type": "str"
+    },
+    "authors.name.text": {
+        "type": "str"
+    },
+    "authors": {
+        "description": "All authors (main author and co-authors)",
+        "type": "Author"
+    },
+    "writers.name": {
+        "type": "str"
+    },
+    "writers.name.text": {
+        "type": "str"
+    },
+    "writers.user_id": {
+        "description": "The unique, persistent keycloak UUID",
+        "type": "str"
+    },
+    "writers": {
+        "description": "All writers (main author, upload coauthors)",
+        "type": "User"
+    },
+    "writer_groups": {
+        "description": "Groups with write access (= coauthor groups).",
+        "type": "str"
+    },
+    "viewers.name": {
+        "type": "str"
+    },
+    "viewers.name.text": {
+        "type": "str"
+    },
+    "viewers.user_id": {
+        "description": "The unique, persistent keycloak UUID",
+        "type": "str"
+    },
+    "viewers": {
+        "description": "All viewers (main author, upload coauthors, and reviewers)",
+        "type": "User"
+    },
+    "viewer_groups": {
+        "description": "Groups with read access (= coauthor groups + reviewer groups).",
+        "type": "str"
+    },
+    "datasets.dataset_id": {
+        "description": "The unique identifier for this dataset as a string. It should be\na randomly generated UUID, similar to other nomad ids.",
+        "type": "str"
+    },
+    "datasets.dataset_name": {
+        "description": "The human-readable name of the dataset as string. The dataset name must be\nunique for the user.",
+        "type": "str"
+    },
+    "datasets.doi": {
+        "description": "The optional Document Object Identifier (DOI) associated with this dataset.\nNomad can register DOIs that link back to the respective representation of\nthe dataset in the nomad UI. This quantity holds the string representation of\nthis DOI. There is only one per dataset. The DOI is just the DOI name, not its\nfull URL, e.g. \"10.17172/nomad/2019.10.29-1\".",
+        "type": "str"
+    },
+    "datasets.dataset_create_time": {
+        "description": "The date when the dataset was first created.",
+        "type": "nomad.metainfo.data_type.Datetime"
+    },
+    "datasets.dataset_modified_time": {
+        "description": "The date when the dataset was last modified. An owned dataset\ncan only be extended after a DOI was assigned. A foreign dataset cannot be changed\nonce a DOI was assigned.",
+        "type": "nomad.metainfo.data_type.Datetime"
+    },
+    "datasets.dataset_type": {
+        "description": "The type determined if a dataset is owned, i.e. was created by\nthe authors of the contained entries; or if a dataset is foreign,\ni.e. it was created by someone not necessarily related to the entries.",
+        "type": "foreign,owned"
+    },
+    "datasets": {
+        "description": "A list of user curated datasets this entry belongs to.",
+        "type": "/packages/16/section_definitions/0"
+    },
+    "domain": {
+        "description": "The material science domain",
+        "type": "dft,ems,nexus"
+    },
+    "n_quantities": {
+        "description": "Number of metainfo quantities parsed from the entry.",
+        "type": "int"
+    },
+    "quantities": {
+        "description": "All quantities that are used by this entry.",
+        "type": "str"
+    },
+    "quantities.path": {
+        "description": "All quantities that are used by this entry.",
+        "type": "str"
+    },
+    "sections": {
+        "description": "All sections that are present in this entry. This field is deprecated and will be removed.",
+        "type": "str"
+    },
+    "optimade.elements": {
+        "description": "Names of the different elements present in the structure.",
+        "type": "Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,X,Xe,Y,Yb,Zn,Zr"
+    },
+    "optimade.nelements": {
+        "description": "Number of different elements in the structure as an integer.",
+        "type": "int"
+    },
+    "optimade.elements_ratios": {
+        "description": "Relative proportions of different elements in the structure.",
+        "type": "float"
+    },
+    "optimade.chemical_formula_descriptive": {
+        "description": "The chemical formula for a structure as a string in a form chosen by the API\nimplementation.",
+        "type": "str"
+    },
+    "optimade.chemical_formula_reduced": {
+        "description": "The reduced chemical formula for a structure as a string with element symbols and\ninteger chemical proportion numbers. The proportion number MUST be omitted if it is 1.",
+        "type": "str"
+    },
+    "optimade.chemical_formula_hill": {
+        "description": "The chemical formula for a structure in Hill form with element symbols followed by\ninteger chemical proportion numbers. The proportion number MUST be omitted if it is 1.",
+        "type": "str"
+    },
+    "optimade.chemical_formula_anonymous": {
+        "description": "The anonymous formula is the chemical_formula_reduced, but where the elements are\ninstead first ordered by their chemical proportion number, and then, in order left to\nright, replaced by anonymous symbols A, B, C, ..., Z, Aa, Ba, ..., Za, Ab, Bb, ... and\nso on.",
+        "type": "str"
+    },
+    "optimade.nperiodic_dimensions": {
+        "description": "An integer specifying the number of periodic dimensions in the structure, equivalent\nto the number of non-zero entries in dimension_types.",
+        "type": "int"
+    },
+    "optimade.nsites": {
+        "description": "An integer specifying the length of the cartesian_site_positions property.",
+        "type": "int"
+    },
+    "optimade.structure_features": {
+        "description": "A list of strings that flag which special features are used by the structure.\n\n- disorder: This flag MUST be present if any one entry in the species list has a\nchemical_symbols list that is longer than 1 element.\n- unknown_positions: This flag MUST be present if at least one component of the\ncartesian_site_positions list of lists has value null.\n- assemblies: This flag MUST be present if the assemblies list is present.",
+        "type": "assemblies,disorder,unknown_positions"
+    },
+    "section_defs.definition_qualified_name": {
+        "description": "The qualified name of the compatible section.",
+        "type": "str"
+    },
+    "section_defs.definition_id": {
+        "description": "The definition id of the compatible section.",
+        "type": "str"
+    },
+    "section_defs.used_directly": {
+        "description": "If the compatible section is directly used as base section.",
+        "type": "bool"
+    },
+    "entry_references.target_reference": {
+        "description": "The full url like reference of the the target.",
+        "type": "str"
+    },
+    "entry_references.target_entry_id": {
+        "description": "The id of the entry containing the target.",
+        "type": "str"
+    },
+    "entry_references.target_mainfile": {
+        "description": "The mainfile of the entry containing the target.",
+        "type": "str"
+    },
+    "entry_references.target_upload_id": {
+        "description": "The id of the upload containing the target.",
+        "type": "str"
+    },
+    "entry_references.target_name": {
+        "description": "The name of the target quantity/section.",
+        "type": "str"
+    },
+    "entry_references.target_path": {
+        "description": "The path of the target quantity/section in its archive.",
+        "type": "str"
+    },
+    "entry_references.source_name": {
+        "description": "The name of the source (self) quantity/section in its archive.",
+        "type": "str"
+    },
+    "entry_references.source_path": {
+        "description": "The path of the source (self) quantity/section in its archive.",
+        "type": "str"
+    },
+    "entry_references.source_quantity": {
+        "description": "A reference to the quantity definition that defines the reference",
+        "type": "str"
+    },
+    "search_quantities.id": {
+        "description": "The full identifier for this quantity that contains the path in the schema +\nschema name.",
+        "type": "str"
+    },
+    "search_quantities.definition": {
+        "description": "A reference to the quantity definition.",
+        "type": "str"
+    },
+    "search_quantities.path_archive": {
+        "description": "Path of the value within the archive.",
+        "type": "str"
+    },
+    "search_quantities.bool_value": {
+        "description": "The value mapped as an ES boolean field.",
+        "type": "bool"
+    },
+    "search_quantities.str_value": {
+        "description": "The value mapped as an ES text and keyword field.",
+        "type": "str"
+    },
+    "search_quantities.str_value.keyword": {
+        "description": "The value mapped as an ES text and keyword field.",
+        "type": "str"
+    },
+    "search_quantities.int_value": {
+        "description": "The value mapped as an ES long number field.",
+        "type": "int"
+    },
+    "search_quantities.float_value": {
+        "description": "The value mapped as an ES double number field.",
+        "type": "float"
+    },
+    "search_quantities.datetime_value": {
+        "description": "The value mapped as an ES date field.",
+        "type": "nomad.metainfo.data_type.Datetime"
+    },
+    "results.material.material_id": {
+        "description": "A fixed length, unique material identifier in the form of a hash\ndigest.",
+        "type": "str"
+    },
+    "results.material.material_name": {
+        "description": "Meaningful names for this a material if any can be assigned.",
+        "type": "str"
+    },
+    "results.material.structural_type": {
+        "description": "Structural class determined from the atomic structure.",
+        "type": "1D,2D,atom,bulk,molecule / cluster,not processed,surface,unavailable"
+    },
+    "results.material.dimensionality": {
+        "description": "Dimensionality of the system. For atomistic systems this is\nautomatically evaluated by using the topology-scaling algorithm:\nhttps://doi.org/10.1103/PhysRevLett.118.106101.\n\n| Value | Description |\n| --------- | ----------------------- |\n| `'0D'` | Not connected periodically |\n| `'1D'` | Periodically connected in one dimension |\n| `'2D'` | Periodically connected in two dimensions |\n| `'3D'` | Periodically connected in three dimensions |",
+        "type": "0D,1D,2D,3D"
+    },
+    "results.material.building_block": {
+        "description": "More exact classification for this system, i.e. the type of \"building\nblock\" it represents.\n\n| Value | Description |\n| --------- | ----------------------- |\n| `'surface'` | Structure built from a unit cell that repeats periodically in two directions and at least twice, but not infinitely in a third direction. |\n| `'2D material'` | Structure built from a unit cell that repeats periodically in two directions and only once in a third direction. |\n| `'molecule'` | Molecule defined in the force-field topology |\n| `'monomer'` | Monomer defined in the force-field topology |",
+        "type": "2D material,molecule,monomer,surface"
+    },
+    "results.material.functional_type": {
+        "description": "Classification based on the functional properties.",
+        "type": "str"
+    },
+    "results.material.compound_type": {
+        "description": "Classification based on the chemical formula.",
+        "type": "str"
+    },
+    "results.material.elements": {
+        "description": "Names of the different elements present in the structure.",
+        "type": "Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,X,Xe,Y,Yb,Zn,Zr"
+    },
+    "results.material.n_elements": {
+        "description": "Number of different elements in the structure as an integer.",
+        "type": "int"
+    },
+    "results.material.elements_exclusive": {
+        "description": "String containing the chemical elements in alphabetical order and\nseparated by a single whitespace. This quantity can be used for\nexclusive element searches where you want to find entries/materials\nwith only certain given elements.",
+        "type": "str"
+    },
+    "results.material.chemical_formula_descriptive": {
+        "description": "The chemical formula for a structure as a string in a form chosen by the API\nimplementation.",
+        "type": "str"
+    },
+    "results.material.chemical_formula_reduced": {
+        "description": "Alphabetically sorted chemical formula with reduced integer chemical\nproportion numbers. The proportion number is omitted if it is 1.",
+        "type": "str"
+    },
+    "results.material.chemical_formula_hill": {
+        "description": "The chemical formula for a structure in Hill form with element\nsymbols followed by non-reduced integer chemical proportion numbers.\nThe proportion number is omitted if it is 1.",
+        "type": "str"
+    },
+    "results.material.chemical_formula_iupac": {
+        "description": "Formula where the elements are ordered using a formal list loosely\nbased on electronegativity as defined in the IUPAC nomenclature of\ninorganic chemistry (2005). Contains reduced integer chemical\nproportion numbers where the proportion number is omitted if it is\n1.",
+        "type": "str"
+    },
+    "results.material.chemical_formula_anonymous": {
+        "description": "Formula with the elements ordered by their reduced integer chemical\nproportion number, and the chemical species replaced by\nalphabetically ordered letters. The proportion number is omitted if\nit is 1. E.g.  H2O becomes A2B and H2O2 becomes AB. The letters are\ndrawn from the english alphabet that may be extended by increasing\nthe number of letters, e.g. A, B, ..., Z, Aa, Ab and so on. This\ndefinition is in line with the similarly named OPTIMADE definition.",
+        "type": "str"
+    },
+    "results.material.chemical_formula_reduced_fragments": {
+        "description": "Alphabetically sorted chemical formula with reduced integer chemical\nproportion numbers. The proportion number is omitted if it is 1.",
+        "type": "str"
+    },
+    "results.material.elemental_composition.element": {
+        "description": "The symbol of the element, e.g. 'Pb'.",
+        "type": "Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,Xe,Y,Yb,Zn,Zr"
+    },
+    "results.material.elemental_composition.atomic_fraction": {
+        "description": "The atomic fraction of the element in the system it is contained within.\nPer definition a positive value less than or equal to 1.",
+        "type": "float64"
+    },
+    "results.material.elemental_composition.mass_fraction": {
+        "description": "The mass fraction of the element in the system it is contained within.\nPer definition a positive value less than or equal to 1.",
+        "type": "float64"
+    },
+    "results.material.symmetry.bravais_lattice": {
+        "description": "Identifier for the Bravais lattice in Pearson notation. The first lowercase letter\nidentifies the crystal family and can be one of the following: a (triclinic), b\n(monoclinic), o (orthorhombic), t (tetragonal), h (hexagonal) or c (cubic). The\nsecond uppercase letter identifies the centring and can be one of the following: P\n(primitive), S (face centred), I (body centred), R (rhombohedral centring) or F\n(all faces centred).",
+        "type": "aP,cF,cI,cP,hP,hR,mP,mS,oF,oI,oP,oS,tI,tP"
+    },
+    "results.material.symmetry.crystal_system": {
+        "description": "Name of the crystal system.",
+        "type": "cubic,hexagonal,monoclinic,orthorhombic,tetragonal,triclinic,trigonal"
+    },
+    "results.material.symmetry.hall_number": {
+        "description": "The Hall number for this system.",
+        "type": "int32"
+    },
+    "results.material.symmetry.hall_symbol": {
+        "description": "The Hall symbol for this system.",
+        "type": "str"
+    },
+    "results.material.symmetry.point_group": {
+        "description": "Symbol of the crystallographic point group in the Hermann-Mauguin notation.",
+        "type": "str"
+    },
+    "results.material.symmetry.space_group_number": {
+        "description": "Specifies the International Union of Crystallography (IUC) number of the 3D space\ngroup of this system.",
+        "type": "int32"
+    },
+    "results.material.symmetry.space_group_symbol": {
+        "description": "The International Union of Crystallography (IUC) short symbol of the 3D\nspace group of this system.",
+        "type": "str"
+    },
+    "results.material.symmetry.prototype_formula": {
+        "description": "The formula of the prototypical material for this structure.",
+        "type": "str"
+    },
+    "results.material.symmetry.prototype_aflow_id": {
+        "description": "The identifier of this structure in the AFLOW encyclopedia of\ncrystallographic prototypes:\nhttp://www.aflowlib.org/prototype-encyclopedia/index.html",
+        "type": "str"
+    },
+    "results.material.symmetry.structure_name": {
+        "description": "A common name for this structure, e.g. fcc, bcc.",
+        "type": "4-member ring,Heusler,bcc,bct,bct5,clathrate,cuprite,diamond,fcc,fct,half-Heusler,hcp,perovskite,rock salt,rutile,simple cubic,wurtzite,zincblende"
+    },
+    "results.material.symmetry.strukturbericht_designation": {
+        "description": "Classification of the material according to the historically grown\n'strukturbericht'.",
+        "type": "str"
+    },
+    "results.material.topology.system_id": {
+        "description": "That path of this section within the metainfo that is used as a unique\nidentifier.",
+        "type": "str"
+    },
+    "results.material.topology.label": {
+        "description": "Descriptive label that identifies this structural part.",
+        "type": "str"
+    },
+    "results.material.topology.method": {
+        "description": "The method used for identifying this system.",
+        "type": "matid,parser,porosity,user"
+    },
+    "results.material.topology.description": {
+        "description": "A short description about this part of the topology.",
+        "type": "str"
+    },
+    "results.material.topology.material_id": {
+        "description": "A fixed length, unique material identifier in the form of a hash\ndigest.",
+        "type": "str"
+    },
+    "results.material.topology.material_name": {
+        "description": "Meaningful names for this a material if any can be assigned.",
+        "type": "str"
+    },
+    "results.material.topology.structural_type": {
+        "description": "Structural class determined from the atomic structure.",
+        "type": "1D,2D,active orbitals,atom,bulk,group,molecule,molecule / cluster,monomer,not processed,surface,unavailable"
+    },
+    "results.material.topology.dimensionality": {
+        "description": "Dimensionality of the system. For atomistic systems this is\nautomatically evaluated by using the topology-scaling algorithm:\nhttps://doi.org/10.1103/PhysRevLett.118.106101.\n\n| Value | Description |\n| --------- | ----------------------- |\n| `'0D'` | Not connected periodically |\n| `'1D'` | Periodically connected in one dimension |\n| `'2D'` | Periodically connected in two dimensions |\n| `'3D'` | Periodically connected in three dimensions |",
+        "type": "0D,1D,2D,3D"
+    },
+    "results.material.topology.building_block": {
+        "description": "More exact classification for this system, i.e. the type of \"building\nblock\" it represents.\n\n| Value | Description |\n| --------- | ----------------------- |\n| `'surface'` | Structure built from a unit cell that repeats periodically in two directions and at least twice, but not infinitely in a third direction. |\n| `'2D material'` | Structure built from a unit cell that repeats periodically in two directions and only once in a third direction. |\n| `'molecule'` | Molecule defined in the force-field topology |\n| `'monomer'` | Monomer defined in the force-field topology |",
+        "type": "2D material,molecule,monomer,surface"
+    },
+    "results.material.topology.functional_type": {
+        "description": "Classification based on the functional properties.",
+        "type": "str"
+    },
+    "results.material.topology.compound_type": {
+        "description": "Classification based on the chemical formula.",
+        "type": "str"
+    },
+    "results.material.topology.elements": {
+        "description": "Names of the different elements present in the structure.",
+        "type": "Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,X,Xe,Y,Yb,Zn,Zr"
+    },
+    "results.material.topology.n_elements": {
+        "description": "Number of different elements in the structure as an integer.",
+        "type": "int"
+    },
+    "results.material.topology.elements_exclusive": {
+        "description": "String containing the chemical elements in alphabetical order and\nseparated by a single whitespace. This quantity can be used for\nexclusive element searches where you want to find entries/materials\nwith only certain given elements.",
+        "type": "str"
+    },
+    "results.material.topology.chemical_formula_descriptive": {
+        "description": "The chemical formula for a structure as a string in a form chosen by the API\nimplementation.",
+        "type": "str"
+    },
+    "results.material.topology.chemical_formula_reduced": {
+        "description": "Alphabetically sorted chemical formula with reduced integer chemical\nproportion numbers. The proportion number is omitted if it is 1.",
+        "type": "str"
+    },
+    "results.material.topology.chemical_formula_hill": {
+        "description": "The chemical formula for a structure in Hill form with element\nsymbols followed by non-reduced integer chemical proportion numbers.\nThe proportion number is omitted if it is 1.",
+        "type": "str"
+    },
+    "results.material.topology.chemical_formula_iupac": {
+        "description": "Formula where the elements are ordered using a formal list loosely\nbased on electronegativity as defined in the IUPAC nomenclature of\ninorganic chemistry (2005). Contains reduced integer chemical\nproportion numbers where the proportion number is omitted if it is\n1.",
+        "type": "str"
+    },
+    "results.material.topology.chemical_formula_anonymous": {
+        "description": "Formula with the elements ordered by their reduced integer chemical\nproportion number, and the chemical species replaced by\nalphabetically ordered letters. The proportion number is omitted if\nit is 1. E.g.  H2O becomes A2B and H2O2 becomes AB. The letters are\ndrawn from the english alphabet that may be extended by increasing\nthe number of letters, e.g. A, B, ..., Z, Aa, Ab and so on. This\ndefinition is in line with the similarly named OPTIMADE definition.",
+        "type": "str"
+    },
+    "results.material.topology.chemical_formula_reduced_fragments": {
+        "description": "Alphabetically sorted chemical formula with reduced integer chemical\nproportion numbers. The proportion number is omitted if it is 1.",
+        "type": "str"
+    },
+    "results.material.topology.parent_system": {
+        "description": "Reference to the parent system.",
+        "type": "str"
+    },
+    "results.material.topology.child_systems": {
+        "description": "References to the child systems.",
+        "type": "str"
+    },
+    "results.material.topology.atomic_fraction": {
+        "description": "The atomic fraction of this system in the full structure it is contained in.\nPer definition a positive value less than or equal to 1.",
+        "type": "float64"
+    },
+    "results.material.topology.mass_fraction": {
+        "description": "The mass fraction of this system in the full structure it is contained within.\nPer definition a positive value less than or equal to 1.",
+        "type": "float64"
+    },
+    "results.material.topology.n_atoms": {
+        "description": "The total number of species (atoms, particles) in the system.",
+        "type": "int"
+    },
+    "results.material.topology.sbu_type": {
+        "description": "The topological representation of the metal secondary building units (sbus).\nThe shape of most metal sbus are well defined and form the basis of most\n popular MOFs. The most common example is the paddlewheel, rodlike mofs,\n irmofs, uio66",
+        "type": "str"
+    },
+    "results.material.topology.largest_cavity_diameter": {
+        "description": "The largest cavity diameter is the largest sphere that can be inserted in a porous\nsystem without overlapping with any of the atoms in the system.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.material.topology.pore_limiting_diameter": {
+        "description": "The pore limiting diameter is the largest sphere that can freely\ndiffuse through the porous network without overlapping with any of the\natoms in the system.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.material.topology.largest_included_sphere_along_free_sphere_path": {
+        "description": "The largest included sphere along free sphere path is\nlargest sphere that can be inserted in the pore.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.material.topology.accessible_surface_area": {
+        "description": "The surface area accessible is the area that is accessible to guest molecules\nin a porous system. It is generally considered to be the entire surface area\nthat can be spanned by a probe of a specific radius. In NOMAD, by default we use\na probe that has a radius of 1.86 Angstrom, which correspond to the\ncovalent radii of nitrogen gas. For biomolecular system, a radii of\n1.4 Angstrom can be used, which correspond to the covalent radii\nof water.",
+        "type": "float64",
+        "unit": "meter ** 2"
+    },
+    "results.material.topology.accessible_volume": {
+        "description": "Volume of unoccupied space in a system that can be accessible to\nguest molecules, like solvents.",
+        "type": "float64",
+        "unit": "meter ** 3"
+    },
+    "results.material.topology.void_fraction": {
+        "description": "Ratio of the the volume of the unoccupied space in the system\nto the volume of the entire system. It is a good proxy to\ndetermine how porous a system is. Highly porous systems\noften have a larger void fraction, meanwhile compact or dense\nsystems have smaller void fractions.",
+        "type": "float64"
+    },
+    "results.material.topology.n_channels": {
+        "description": "Number of channels present in the porous system, which correspond to the number of\npores within the system.",
+        "type": "int"
+    },
+    "results.material.topology.sbu_coordination_number": {
+        "description": "The number of connecting point in the secondary building units(sbu), which corresponds to\nthe to the number of point of extension in the secondary building unit. Some common\nterminology include\n1 : monotopic\n2 : ditopic\n3 : tritopic\n4 : tetratopic\n5 : pentatopic",
+        "type": "int"
+    },
+    "results.material.topology.elemental_composition.element": {
+        "description": "The symbol of the element, e.g. 'Pb'.",
+        "type": "Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,Xe,Y,Yb,Zn,Zr"
+    },
+    "results.material.topology.elemental_composition.atomic_fraction": {
+        "description": "The atomic fraction of the element in the system it is contained within.\nPer definition a positive value less than or equal to 1.",
+        "type": "float64"
+    },
+    "results.material.topology.elemental_composition.mass_fraction": {
+        "description": "The mass fraction of the element in the system it is contained within.\nPer definition a positive value less than or equal to 1.",
+        "type": "float64"
+    },
+    "results.material.topology.system_relation.type": {
+        "description": "The type of relation between a system and it's parent.\n\n| Value | Description |\n| --------- | ----------------------- |\n| `'root'` | System representing the entire structure, has no parent system. |\n| `'subsystem'` | A single logical entity extracted from the parent system. |\n| `'group'` | A logical group of subsystems within the parent, e.g. a group of molecules in MD. |\n| `'primitive_cell'` | The conventional cell from which the parent is constructed from. |\n| `'conventional_cell'` | The primitive cell from which the parent is constructed from. |",
+        "type": "conventional_cell,group,primitive_cell,root,subsystem"
+    },
+    "results.material.topology.cell.a": {
+        "description": "Length of the first basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.material.topology.cell.b": {
+        "description": "Length of the second basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.material.topology.cell.c": {
+        "description": "Length of the third basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.material.topology.cell.alpha": {
+        "description": "Angle between second and third basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.material.topology.cell.beta": {
+        "description": "Angle between first and third basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.material.topology.cell.gamma": {
+        "description": "Angle between first and second basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.material.topology.cell.volume": {
+        "description": "Volume of the cell.",
+        "type": "float64",
+        "unit": "meter ** 3"
+    },
+    "results.material.topology.cell.atomic_density": {
+        "description": "Atomic density of the material (atoms/volume).'",
+        "type": "float64",
+        "unit": "1 / meter ** 3"
+    },
+    "results.material.topology.cell.mass_density": {
+        "description": "Mass density of the material.",
+        "type": "float64",
+        "unit": "kilogram / meter ** 3"
+    },
+    "results.material.topology.symmetry.bravais_lattice": {
+        "description": "Identifier for the Bravais lattice in Pearson notation. The first lowercase letter\nidentifies the crystal family and can be one of the following: a (triclinic), b\n(monoclinic), o (orthorhombic), t (tetragonal), h (hexagonal) or c (cubic). The\nsecond uppercase letter identifies the centring and can be one of the following: P\n(primitive), S (face centred), I (body centred), R (rhombohedral centring) or F\n(all faces centred).",
+        "type": "aP,cF,cI,cP,hP,hR,mP,mS,oF,oI,oP,oS,tI,tP"
+    },
+    "results.material.topology.symmetry.crystal_system": {
+        "description": "Name of the crystal system.",
+        "type": "cubic,hexagonal,monoclinic,orthorhombic,tetragonal,triclinic,trigonal"
+    },
+    "results.material.topology.symmetry.hall_number": {
+        "description": "The Hall number for this system.",
+        "type": "int32"
+    },
+    "results.material.topology.symmetry.hall_symbol": {
+        "description": "The Hall symbol for this system.",
+        "type": "str"
+    },
+    "results.material.topology.symmetry.point_group": {
+        "description": "Symbol of the crystallographic point group in the Hermann-Mauguin notation.",
+        "type": "str"
+    },
+    "results.material.topology.symmetry.space_group_number": {
+        "description": "Specifies the International Union of Crystallography (IUC) number of the 3D space\ngroup of this system.",
+        "type": "int32"
+    },
+    "results.material.topology.symmetry.space_group_symbol": {
+        "description": "The International Union of Crystallography (IUC) short symbol of the 3D\nspace group of this system.",
+        "type": "str"
+    },
+    "results.material.topology.symmetry.strukturbericht_designation": {
+        "description": "Classification of the material according to the historically grown\n'strukturbericht'.",
+        "type": "str"
+    },
+    "results.material.topology.symmetry.prototype_label_aflow": {
+        "description": "AFLOW label of the prototype (see\nhttp://aflowlib.org/CrystalDatabase/prototype_index.html) identified on the basis\nof the space_group and normalized_wyckoff.",
+        "type": "str"
+    },
+    "results.material.topology.symmetry.prototype_name": {
+        "description": "A common name for this prototypical structure, e.g. fcc, bcc.",
+        "type": "4-member ring,Heusler,bcc,bct,bct5,clathrate,cuprite,diamond,fcc,fct,half-Heusler,hcp,perovskite,rock salt,rutile,simple cubic,wurtzite,zincblende"
+    },
+    "results.material.topology.active_orbitals.n_quantum_number": {
+        "description": "Principal quantum number $n$.",
+        "type": "int32"
+    },
+    "results.material.topology.active_orbitals.j_quantum_number": {
+        "description": "Total angular momentum quantum number $j = |l-s| ... l+s$.\n**Necessary with strong L-S coupling or non-collinear spin systems.**",
+        "type": "float64"
+    },
+    "results.material.topology.active_orbitals.mj_quantum_number": {
+        "description": "Azimuthal projection of the $j$ vector.\n**Necessary with strong L-S coupling or non-collinear spin systems.**",
+        "type": "float64"
+    },
+    "results.material.topology.active_orbitals.degeneracy": {
+        "description": "The number of states under the filling constraints applied to the orbital set.\nThis implicitly assumes that all orbitals in the set are degenerate.",
+        "type": "int32"
+    },
+    "results.material.topology.active_orbitals.n_electrons_excited": {
+        "description": "The electron charge excited for modelling purposes.\nChoices that deviate from 0 or 1 typically leverage Janak composition.\nUnless the `initial` state is chosen, the model corresponds to a single electron being excited in physical reality.",
+        "type": "float64"
+    },
+    "results.material.topology.active_orbitals.occupation": {
+        "description": "The total number of electrons within the state (as defined by degeneracy)\nafter exciting the model charge.",
+        "type": "float64"
+    },
+    "results.material.topology.active_orbitals.l_quantum_symbol": {
+        "description": "Azimuthal $l$ in symbolic form.",
+        "type": "str"
+    },
+    "results.material.topology.active_orbitals.ml_quantum_symbol": {
+        "description": "Magnetic quantum number $m_l$ in symbolic form.",
+        "type": "str"
+    },
+    "results.material.topology.active_orbitals.ms_quantum_symbol": {
+        "description": "Spin quantum number $m_s$ in symbolic form.",
+        "type": "str"
+    },
+    "results.method.method_id": {
+        "description": "Identifier for the used method. Only available for a subset of entries\nfor which the methodology has been identified with precision.",
+        "type": "str"
+    },
+    "results.method.method_name": {
+        "description": "Common name for the used method.",
+        "type": "BSE,CoreHole,DFT,DMFT,EELS,GW,NMR,TB,XPS,XRD,kMC,quantum cms,unavailable"
+    },
+    "results.method.workflow_name": {
+        "type": "str"
+    },
+    "results.method.simulation.program_name": {
+        "description": "The name of the used program.",
+        "type": "str"
+    },
+    "results.method.simulation.program_version": {
+        "description": "The version of the used program.",
+        "type": "str"
+    },
+    "results.method.simulation.program_version_internal": {
+        "description": "The version tag used internally by the development team.",
+        "type": "str"
+    },
+    "results.method.simulation.dft.basis_set_type": {
+        "description": "The used basis set functions.",
+        "type": "(L)APW+lo,gaussians,not processed,numeric AOs,plane waves,psinc functions,real-space grid,unavailable"
+    },
+    "results.method.simulation.dft.core_electron_treatment": {
+        "description": "How the core electrons are described.",
+        "type": "all electron frozen core,full all electron,pseudopotential,unavailable"
+    },
+    "results.method.simulation.dft.spin_polarized": {
+        "description": "Whether the calculation is spin-polarized.",
+        "type": "bool"
+    },
+    "results.method.simulation.dft.scf_threshold_energy_change": {
+        "description": "Specifies the threshold for the total energy change between two subsequent\nself-consistent field (SCF) iterations. The SCF is considered converged when the\ntotal-energy change between two SCF cycles is below the threshold (possibly in\ncombination with other criteria).",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.method.simulation.dft.van_der_Waals_method": {
+        "description": "The used van der Waals method.",
+        "type": "str"
+    },
+    "results.method.simulation.dft.relativity_method": {
+        "description": "Describes the relativistic treatment used for the calculation of the final energy\nand related quantities. If skipped or empty, no relativistic treatment is applied.",
+        "type": "pseudo_scalar_relativistic,scalar_relativistic,scalar_relativistic_atomic_ZORA"
+    },
+    "results.method.simulation.dft.smearing_kind": {
+        "description": "Specifies the kind of smearing on the electron occupation used to calculate the\nfree energy (see energy_free)\n\nValid values are:\n\n| Smearing kind             | Description                       |\n\n| ------------------------- | --------------------------------- |\n\n| `\"empty\"`                 | No smearing is applied            |\n\n| `\"gaussian\"`              | Gaussian smearing                 |\n\n| `\"fermi\"`                 | Fermi smearing                    |\n\n| `\"marzari-vanderbilt\"`    | Marzari-Vanderbilt smearing       |\n\n| `\"methfessel-paxton\"`     | Methfessel-Paxton smearing        |\n\n| `\"tetrahedra\"`            | Interpolation of state energies and occupations\n(ignores smearing_width) |",
+        "type": "str"
+    },
+    "results.method.simulation.dft.smearing_width": {
+        "description": "Specifies the width of the smearing in energy for the electron occupation used to\ncalculate the free energy (see energy_free).\n\n*NOTE:* Not all methods specified in smearing_kind uses this value.",
+        "type": "float64"
+    },
+    "results.method.simulation.dft.jacobs_ladder": {
+        "description": "Functional classification in line with Jacob's Ladder.\nFor more information, see https://doi.org/10.1063/1.1390175 (original paper);\nhttps://doi.org/10.1103/PhysRevLett.91.146401 (meta-GGA);\nand https://doi.org/10.1063/1.1904565 (hyper-GGA).",
+        "type": "GGA,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable"
+    },
+    "results.method.simulation.dft.xc_functional_type": {
+        "description": "Functional classification in line with Jacob's Ladder.\nFor more information, see https://doi.org/10.1063/1.1390175 (original paper);\nhttps://doi.org/10.1103/PhysRevLett.91.146401 (meta-GGA);\nand https://doi.org/10.1063/1.1904565 (hyper-GGA).",
+        "type": "GGA,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable"
+    },
+    "results.method.simulation.dft.xc_functional_names": {
+        "description": "The list of libXC functional names that where used in this entry.",
+        "type": "str"
+    },
+    "results.method.simulation.dft.exact_exchange_mixing_factor": {
+        "description": "Amount of exact exchange mixed in with the XC functional (value range = [0,1]).",
+        "type": "float64"
+    },
+    "results.method.simulation.dft.hubbard_kanamori_model.u_effective": {
+        "description": "Value of the effective U parameter (u - j).",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.method.simulation.dft.hubbard_kanamori_model.u": {
+        "description": "Value of the (intraorbital) Hubbard interaction",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.method.simulation.dft.hubbard_kanamori_model.j": {
+        "description": "Value of the exchange interaction. In rotational invariant systems, j = jh.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.method.simulation.tb.type": {
+        "description": "Tight-binding model type: Slater Koster fitting, DFTB approximation, xTB perturbation\ntheory, or Wannier projection.",
+        "type": "DFTB,Slater-Koster,Wannier,not processed,xTB"
+    },
+    "results.method.simulation.tb.localization_type": {
+        "description": "Localization type of the Wannier orbitals.",
+        "type": "maximally_localized,single_shot"
+    },
+    "results.method.simulation.gw.type": {
+        "description": "GW Hedin's self-consistency cycle:\n\n| Name      | Description                      | Reference             |\n\n| --------- | -------------------------------- | --------------------- |\n\n| `'G0W0'`  | single-shot                      | PRB 74, 035101 (2006) |\n\n| `'scGW'`  | self-consistent G and W               | PRB 75, 235102 (2007) |\n\n| `'scGW0'` | self-consistent G with fixed W0  | PRB 54, 8411 (1996)   |\n\n| `'scG0W'` | self-consistent W with fixed G0  | -                     |\n\n| `'ev-scGW0'`  | eigenvalues self-consistent G with fixed W0   | PRB 34, 5390 (1986)   |\n\n| `'ev-scGW'`  | eigenvalues self-consistent G and W   | PRB 74, 045102 (2006)   |\n\n| `'qp-scGW0'`  | quasiparticle self-consistent G with fixed W0 | PRL 99, 115109 (2007) |\n\n| `'qp-scGW'`  | quasiparticle self-consistent G and W | PRL 96, 226402 (2006) |",
+        "type": "G0W0,ev-scGW,ev-scGW0,qp-scGW,qp-scGW0,scG0W,scGW,scGW0"
+    },
+    "results.method.simulation.gw.basis_set_type": {
+        "description": "The used basis set functions.",
+        "type": "(L)APW+lo,gaussians,not processed,numeric AOs,plane waves,psinc functions,real-space grid,unavailable"
+    },
+    "results.method.simulation.gw.starting_point_type": {
+        "description": "The libXC based xc functional classification used in the starting point DFT simulation.",
+        "type": "GGA,HF,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable"
+    },
+    "results.method.simulation.gw.starting_point_names": {
+        "description": "The list of libXC functional names that where used in this entry.",
+        "type": "str"
+    },
+    "results.method.simulation.bse.type": {
+        "description": "Type of BSE hamiltonian solved:\n\n    H_BSE = H_diagonal + 2 * gx * Hx - gc * Hc\n\nwhere gx, gc specifies the type.\n\nOnline resources for the theory:\n- http://exciting.wikidot.com/carbon-excited-states-from-bse#toc1\n- https://www.vasp.at/wiki/index.php/Bethe-Salpeter-equations_calculations\n- https://docs.abinit.org/theory/bse/\n- https://www.yambo-code.eu/wiki/index.php/Bethe-Salpeter_kernel\n\n| Name | Description |\n\n| --------- | ----------------------- |\n\n| `'Singlet'` | gx = 1, gc = 1 |\n\n| `'Triplet'` | gx = 0, gc = 1 |\n\n| `'IP'` | Independent-particle approach |\n\n| `'RPA'` | Random Phase Approximation |",
+        "type": "IP,RPA,Singlet,Triplet"
+    },
+    "results.method.simulation.bse.basis_set_type": {
+        "description": "The used basis set functions.",
+        "type": "(L)APW+lo,gaussians,not processed,numeric AOs,plane waves,psinc functions,real-space grid,unavailable"
+    },
+    "results.method.simulation.bse.starting_point_type": {
+        "description": "The libXC based xc functional classification used in the starting point DFT simulation.",
+        "type": "GGA,HF,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable"
+    },
+    "results.method.simulation.bse.starting_point_names": {
+        "description": "The list of libXC functional names that where used in this entry.",
+        "type": "str"
+    },
+    "results.method.simulation.bse.solver": {
+        "description": "Solver algotithm used to diagonalize the BSE Hamiltonian.\n\n| Name | Description | Reference |\n\n| --------- | ----------------------- | ----------- |\n\n| `'Full-diagonalization'` | Full diagonalization of the BSE Hamiltonian | - |\n\n| `'Lanczos-Haydock'` | Subspace iterative Lanczos-Haydock algorithm | https://doi.org/10.1103/PhysRevB.59.5441 |\n\n| `'GMRES'` | Generalized minimal residual method | https://doi.org/10.1137/0907058 |\n\n| `'SLEPc'` | Scalable Library for Eigenvalue Problem Computations | https://slepc.upv.es/ |\n\n| `'TDA'` | Tamm-Dancoff approximation | https://doi.org/10.1016/S0009-2614(99)01149-5 |",
+        "type": "Full-diagonalization,GMRES,Lanczos-Haydock,SLEPc,TDA"
+    },
+    "results.method.simulation.bse.gw_type": {
+        "description": "GW Hedin's self-consistency cycle:\n\n| Name      | Description                      | Reference             |\n\n| --------- | -------------------------------- | --------------------- |\n\n| `'G0W0'`  | single-shot                      | PRB 74, 035101 (2006) |\n\n| `'scGW'`  | self-consistent G and W               | PRB 75, 235102 (2007) |\n\n| `'scGW0'` | self-consistent G with fixed W0  | PRB 54, 8411 (1996)   |\n\n| `'scG0W'` | self-consistent W with fixed G0  | -                     |\n\n| `'ev-scGW0'`  | eigenvalues self-consistent G with fixed W0   | PRB 34, 5390 (1986)   |\n\n| `'ev-scGW'`  | eigenvalues self-consistent G and W   | PRB 74, 045102 (2006)   |\n\n| `'qp-scGW0'`  | quasiparticle self-consistent G with fixed W0 | PRL 99, 115109 (2007) |\n\n| `'qp-scGW'`  | quasiparticle self-consistent G and W | PRL 96, 226402 (2006) |",
+        "type": "G0W0,ev-scGW,ev-scGW0,qp-scGW,qp-scGW0,scG0W,scGW,scGW0"
+    },
+    "results.method.simulation.dmft.impurity_solver_type": {
+        "description": "Impurity solver method used in the DMFT loop:\n\n| Name              | Reference                            |\n\n| ----------------- | ------------------------------------ |\n\n| `'CT-INT'`        | Rubtsov et al., JEPT Lett 80 (2004)  |\n\n| `'CT-HYB'`        | Werner et al., PRL 97 (2006)         |\n\n| `'CT-AUX'`        | Gull et al., EPL 82 (2008)           |\n\n| `'ED'`            | Caffarrel et al, PRL 72 (1994)       |\n\n| `'NRG'`           | Bulla et al., RMP 80 (2008)          |\n\n| `'MPS'`           | Ganahl et al., PRB 90 (2014)         |\n\n| `'IPT'`           | Georges et al., PRB 45 (1992)        |\n\n| `'NCA'`           | Pruschke et al., PRB 47 (1993)       |\n\n| `'OCA'`           | Pruschke et al., PRB 47 (1993)       |\n\n| `'slave_bosons'`  | Kotliar et al., PRL 57 (1986)        |\n\n| `'hubbard_I'`     | -                                    |",
+        "type": "CT-AUX,CT-HYB,CT-INT,ED,IPT,MPS,NCA,NRG,OCA,hubbard_I,slave_bosons"
+    },
+    "results.method.simulation.dmft.inverse_temperature": {
+        "description": "Inverse temperature = 1/(kB*T).",
+        "type": "float64",
+        "unit": "1 / joule"
+    },
+    "results.method.simulation.dmft.magnetic_state": {
+        "description": "Magnetic state in which the DMFT calculation is done.",
+        "type": "antiferromagnetic,ferromagnetic,paramagnetic"
+    },
+    "results.method.simulation.dmft.u": {
+        "description": "Value of the (intraorbital) Hubbard interaction",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.method.simulation.dmft.jh": {
+        "description": "Value of the (interorbital) Hund's coupling.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.method.simulation.dmft.analytical_continuation": {
+        "description": "Analytical continuation used to continuate the imaginary space Green's functions into\nthe real frequencies space.\n\n| Name           | Description         | Reference                        |\n\n| -------------- | ------------------- | -------------------------------- |\n\n| `'Pade'` | Pade's approximant  | https://www.sciencedirect.com/science/article/pii/0021999173901277?via%3Dihub |\n\n| `'MaxEnt'` | Maximum Entropy method | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.41.2380 |\n\n| `'SVD'` | Singular value decomposition | https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.75.517 |\n\n| `'Stochastic'` | Stochastic method | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.57.10287 |",
+        "type": "MaxEnt,Pade,SVD,Stochastic"
+    },
+    "results.method.simulation.precision.k_line_density": {
+        "description": "Amount of sampled k-points per unit reciprocal length along each axis.\nContains the least precise density out of all axes.\nShould only be compared between calulations of similar dimensionality.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.method.simulation.precision.native_tier": {
+        "description": "The code-specific tag indicating the precision used\nfor the basis set and meshes of numerical routines.\n\nSupported codes (with hyperlinks to the relevant documentation):\n- [`VASP`](https://www.vasp.at/wiki/index.php/PREC)\n- `FHI-aims`\n- [`CASTEP`](http://www.tcm.phy.cam.ac.uk/castep/documentation/WebHelp/CASTEP.html#modules/castep/tskcastepsetelecquality.htm?Highlight=ultra-fine)",
+        "type": "str"
+    },
+    "results.method.simulation.precision.basis_set": {
+        "description": "The type of basis set used by the program.\n\n| Value                          |                       Description |\n| ------------------------------ | --------------------------------- |\n| `'APW'`                        | Augmented plane waves             |\n| `'LAPW'`                       | Linearized augmented plane waves  |\n| `'APW+lo'`             | Augmented plane waves with local orbitals |\n| `'LAPW+lo'` | Linearized augmented plane waves with local orbitals |\n| `'(L)APW'`                     |     A combination of APW and LAPW |\n| `'(L)APW+lo'`  | A combination of APW and LAPW with local orbitals |\n| `'plane waves'`                | Plane waves                       |\n| `'gaussians + plane waves'`    | Basis set of the Quickstep algorithm (DOI: 10.1016/j.cpc.2004.12.014) |\n| `'real-space grid'`            | Real-space grid                   |\n| `'suppport functions'`         | Support functions                 |",
+        "type": "(L)APW,(L)APW+lo,APW,APW+lo,LAPW,LAPW+lo,atom-centered orbitals,gaussians + plane waves,not processed,plane waves,real-space grid,support functions,unavailable"
+    },
+    "results.method.simulation.precision.planewave_cutoff": {
+        "description": "Spherical cutoff in reciprocal space for a plane-wave basis set. It is the energy\nof the highest plane-wave ($\\frac{\\hbar^2|k+G|^2}{2m_e}$) included in the basis\nset.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.method.simulation.precision.apw_cutoff": {
+        "description": "The spherical cutoff parameter for the interstitial plane waves in the LAPW family.\nThis cutoff is unitless, referring to the product of the smallest muffin-tin radius\nand the length of the cutoff reciprocal vector ($r_{MT} * |K_{cut}|$).",
+        "type": "float64"
+    },
+    "results.method.measurement.xrd.diffraction_method_name": {
+        "description": "The diffraction method used to obtain the diffraction pattern.\n| X-Ray Diffraction Method                                   | Description                                                                                                                                                                                                 |\n|------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Powder X-Ray Diffraction (PXRD)**                        | The term \"powder\" refers more to the random orientation of small crystallites than to the physical form of the sample. Can be used with non-powder samples if they present random crystallite orientations. |\n| **Single Crystal X-Ray Diffraction (SCXRD)**               | Used for determining the atomic structure of a single crystal.                                                                                                                                              |\n| **High-Resolution X-Ray Diffraction (HRXRD)**              | A technique typically used for detailed characterization of epitaxial thin films using precise diffraction measurements.                                                                                    |\n| **Small-Angle X-Ray Scattering (SAXS)**                    | Used for studying nanostructures in the size range of 1-100 nm. Provides information on particle size, shape, and distribution.                                                                             |\n| **X-Ray Reflectivity (XRR)**                               | Used to study thin film layers, interfaces, and multilayers. Provides info on film thickness, density, and roughness.                                                                                       |\n| **Grazing Incidence X-Ray Diffraction (GIXRD)**            | Primarily used for the analysis of thin films with the incident beam at a fixed shallow angle.                                                                                                              |\n| **Reciprocal Space Mapping (RSM)**                         | High-resolution XRD method to measure diffracted intensity in a 2-dimensional region of reciprocal space. Provides information about the real-structure (lattice mismatch, domain structure, stress and defects) in single-crystalline and epitaxial samples.|",
+        "type": "Grazing Incidence X-Ray Diffraction (GIXRD),High-Resolution X-Ray Diffraction (HRXRD),Powder X-Ray Diffraction (PXRD),Reciprocal Space Mapping (RSM),Single Crystal X-Ray Diffraction (SCXRD),Small-Angle X-Ray Scattering (SAXS),X-Ray Reflectivity (XRR),unavailable"
+    },
+    "results.properties.n_calculations": {
+        "description": "The number of performed single configuration calculations.'",
+        "type": "int"
+    },
+    "results.properties.available_properties": {
+        "description": "Subset of the property names that are present in this entry.",
+        "type": "str"
+    },
+    "results.properties.structural.radial_distribution_function.type": {
+        "description": "Describes if the observable is calculated at the molecular or atomic level.",
+        "type": "atomic,molecular"
+    },
+    "results.properties.structural.radial_distribution_function.label": {
+        "description": "Describes the atoms or molecule types involved in determining the property.",
+        "type": "str"
+    },
+    "results.properties.structural.radial_distribution_function.provenance.label": {
+        "description": "Class or type of the provenance.\nCan be used to add further description to the provenance.",
+        "type": "str"
+    },
+    "results.properties.structural.radial_distribution_function.provenance.molecular_dynamics.time_step": {
+        "description": "The timestep at which the numerical integration is performed.",
+        "type": "float64",
+        "unit": "second"
+    },
+    "results.properties.structural.radial_distribution_function.provenance.molecular_dynamics.ensemble_type": {
+        "description": "The type of thermodynamic ensemble that was simulated.\n\nAllowed values are:\n\n| Thermodynamic Ensemble          | Description                               |\n\n| ---------------------- | ----------------------------------------- |\n\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\n\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\n\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\n\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy |",
+        "type": "NPH,NPT,NVE,NVT"
+    },
+    "results.properties.structural.radius_of_gyration.kind": {
+        "description": "Kind of the quantity.",
+        "type": "str"
+    },
+    "results.properties.structural.radius_of_gyration.label": {
+        "description": "Describes the atoms or molecule types involved in determining the property.",
+        "type": "str"
+    },
+    "results.properties.structural.radius_of_gyration.provenance.label": {
+        "description": "Class or type of the provenance.\nCan be used to add further description to the provenance.",
+        "type": "str"
+    },
+    "results.properties.structural.radius_of_gyration.provenance.molecular_dynamics.time_step": {
+        "description": "The timestep at which the numerical integration is performed.",
+        "type": "float64",
+        "unit": "second"
+    },
+    "results.properties.structural.radius_of_gyration.provenance.molecular_dynamics.ensemble_type": {
+        "description": "The type of thermodynamic ensemble that was simulated.\n\nAllowed values are:\n\n| Thermodynamic Ensemble          | Description                               |\n\n| ---------------------- | ----------------------------------------- |\n\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\n\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\n\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\n\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy |",
+        "type": "NPH,NPT,NVE,NVT"
+    },
+    "results.properties.structural.diffraction_pattern.incident_beam_wavelength": {
+        "description": "The wavelength of the incident beam.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.properties.dynamical.mean_squared_displacement.type": {
+        "description": "Describes if the observable is calculated at the molecular or atomic level.",
+        "type": "atomic,molecular"
+    },
+    "results.properties.dynamical.mean_squared_displacement.label": {
+        "description": "Describes the atoms or molecule types involved in determining the property.",
+        "type": "str"
+    },
+    "results.properties.dynamical.mean_squared_displacement.provenance.label": {
+        "description": "Class or type of the provenance.\nCan be used to add further description to the provenance.",
+        "type": "str"
+    },
+    "results.properties.dynamical.mean_squared_displacement.provenance.molecular_dynamics.time_step": {
+        "description": "The timestep at which the numerical integration is performed.",
+        "type": "float64",
+        "unit": "second"
+    },
+    "results.properties.dynamical.mean_squared_displacement.provenance.molecular_dynamics.ensemble_type": {
+        "description": "The type of thermodynamic ensemble that was simulated.\n\nAllowed values are:\n\n| Thermodynamic Ensemble          | Description                               |\n\n| ---------------------- | ----------------------------------------- |\n\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\n\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\n\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\n\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy |",
+        "type": "NPH,NPT,NVE,NVT"
+    },
+    "results.properties.structures.structure_original.nperiodic_dimensions": {
+        "description": "An integer specifying the number of periodic dimensions in the\nstructure, equivalent to the number of non-zero entries in\ndimension_types.",
+        "type": "int"
+    },
+    "results.properties.structures.structure_original.n_sites": {
+        "description": "An integer specifying the length of the cartesian_site_positions property.",
+        "type": "int"
+    },
+    "results.properties.structures.structure_original.cell_volume": {
+        "description": "Volume of the cell.",
+        "type": "float64",
+        "unit": "meter ** 3"
+    },
+    "results.properties.structures.structure_original.lattice_parameters.a": {
+        "description": "Length of the first basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.properties.structures.structure_original.lattice_parameters.b": {
+        "description": "Length of the second basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.properties.structures.structure_original.lattice_parameters.c": {
+        "description": "Length of the third basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.properties.structures.structure_original.lattice_parameters.alpha": {
+        "description": "Angle between second and third basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.properties.structures.structure_original.lattice_parameters.beta": {
+        "description": "Angle between first and third basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.properties.structures.structure_original.lattice_parameters.gamma": {
+        "description": "Angle between first and second basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.properties.structures.structure_conventional.nperiodic_dimensions": {
+        "description": "An integer specifying the number of periodic dimensions in the\nstructure, equivalent to the number of non-zero entries in\ndimension_types.",
+        "type": "int"
+    },
+    "results.properties.structures.structure_conventional.n_sites": {
+        "description": "An integer specifying the length of the cartesian_site_positions property.",
+        "type": "int"
+    },
+    "results.properties.structures.structure_conventional.cell_volume": {
+        "description": "Volume of the cell.",
+        "type": "float64",
+        "unit": "meter ** 3"
+    },
+    "results.properties.structures.structure_conventional.lattice_parameters.a": {
+        "description": "Length of the first basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.properties.structures.structure_conventional.lattice_parameters.b": {
+        "description": "Length of the second basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.properties.structures.structure_conventional.lattice_parameters.c": {
+        "description": "Length of the third basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.properties.structures.structure_conventional.lattice_parameters.alpha": {
+        "description": "Angle between second and third basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.properties.structures.structure_conventional.lattice_parameters.beta": {
+        "description": "Angle between first and third basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.properties.structures.structure_conventional.lattice_parameters.gamma": {
+        "description": "Angle between first and second basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.properties.structures.structure_primitive.nperiodic_dimensions": {
+        "description": "An integer specifying the number of periodic dimensions in the\nstructure, equivalent to the number of non-zero entries in\ndimension_types.",
+        "type": "int"
+    },
+    "results.properties.structures.structure_primitive.n_sites": {
+        "description": "An integer specifying the length of the cartesian_site_positions property.",
+        "type": "int"
+    },
+    "results.properties.structures.structure_primitive.cell_volume": {
+        "description": "Volume of the cell.",
+        "type": "float64",
+        "unit": "meter ** 3"
+    },
+    "results.properties.structures.structure_primitive.lattice_parameters.a": {
+        "description": "Length of the first basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.properties.structures.structure_primitive.lattice_parameters.b": {
+        "description": "Length of the second basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.properties.structures.structure_primitive.lattice_parameters.c": {
+        "description": "Length of the third basis vector.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.properties.structures.structure_primitive.lattice_parameters.alpha": {
+        "description": "Angle between second and third basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.properties.structures.structure_primitive.lattice_parameters.beta": {
+        "description": "Angle between first and third basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.properties.structures.structure_primitive.lattice_parameters.gamma": {
+        "description": "Angle between first and second basis vector.",
+        "type": "float64",
+        "unit": "radian"
+    },
+    "results.properties.electronic.band_gap.index": {
+        "description": "The spin channel index.",
+        "type": "int32"
+    },
+    "results.properties.electronic.band_gap.value": {
+        "description": "The actual value of the band gap. Value of zero indicates a vanishing band gap and\nis distinct from sources lacking any band gap measurement or calculation.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.properties.electronic.band_gap.type": {
+        "description": "Band gap type.",
+        "type": "direct,indirect"
+    },
+    "results.properties.electronic.band_gap.provenance.label": {
+        "description": "Class or type of the provenance.\nCan be used to add further description to the provenance.",
+        "type": "str"
+    },
+    "results.properties.electronic.dos_electronic.spin_polarized": {
+        "description": "Whether the DOS is spin-polarized, i.e. is contains channels for both\nspin values.",
+        "type": "bool"
+    },
+    "results.properties.electronic.dos_electronic.band_gap.index": {
+        "description": "The spin channel index.",
+        "type": "int32"
+    },
+    "results.properties.electronic.dos_electronic.band_gap.value": {
+        "description": "The actual value of the band gap. Value of zero indicates a vanishing band gap and\nis distinct from sources lacking any band gap measurement or calculation.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.properties.electronic.dos_electronic.band_gap.type": {
+        "description": "Band gap type.",
+        "type": "direct,indirect"
+    },
+    "results.properties.electronic.dos_electronic.band_gap.provenance.label": {
+        "description": "Class or type of the provenance.\nCan be used to add further description to the provenance.",
+        "type": "str"
+    },
+    "results.properties.electronic.dos_electronic_new.spin_polarized": {
+        "description": "Whether the DOS is spin-polarized, i.e. is contains channels for both\nspin values.",
+        "type": "bool"
+    },
+    "results.properties.electronic.dos_electronic_new.has_projected": {
+        "description": "Whether the DOS has information about projections (species-, atom-, and/or orbital-\nprojected).",
+        "type": "bool"
+    },
+    "results.properties.electronic.dos_electronic_new.data.band_gap.index": {
+        "description": "The spin channel index.",
+        "type": "int32"
+    },
+    "results.properties.electronic.dos_electronic_new.data.band_gap.value": {
+        "description": "The actual value of the band gap. Value of zero indicates a vanishing band gap and\nis distinct from sources lacking any band gap measurement or calculation.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.properties.electronic.dos_electronic_new.data.band_gap.type": {
+        "description": "Band gap type.",
+        "type": "direct,indirect"
+    },
+    "results.properties.electronic.dos_electronic_new.data.band_gap.provenance.label": {
+        "description": "Class or type of the provenance.\nCan be used to add further description to the provenance.",
+        "type": "str"
+    },
+    "results.properties.electronic.band_structure_electronic.spin_polarized": {
+        "description": "Whether the band structure is spin-polarized, i.e. is contains channels\nfor both spin values.",
+        "type": "bool"
+    },
+    "results.properties.electronic.band_structure_electronic.band_gap.index": {
+        "description": "The spin channel index.",
+        "type": "int32"
+    },
+    "results.properties.electronic.band_structure_electronic.band_gap.value": {
+        "description": "The actual value of the band gap. Value of zero indicates a vanishing band gap and\nis distinct from sources lacking any band gap measurement or calculation.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.properties.electronic.band_structure_electronic.band_gap.type": {
+        "description": "Band gap type.",
+        "type": "direct,indirect"
+    },
+    "results.properties.electronic.band_structure_electronic.band_gap.provenance.label": {
+        "description": "Class or type of the provenance.\nCan be used to add further description to the provenance.",
+        "type": "str"
+    },
+    "results.properties.magnetic.spin_spin_coupling.source": {
+        "description": "Identifier for the source of the data: 'experiment' or 'simulation'.",
+        "type": "experiment,simulation"
+    },
+    "results.properties.magnetic.magnetic_susceptibility.source": {
+        "description": "Identifier for the source of the data: 'experiment' or 'simulation'.",
+        "type": "experiment,simulation"
+    },
+    "results.properties.optoelectronic.solar_cell.efficiency": {
+        "description": "Power conversion effciency of a solar cell in percentage %.",
+        "type": "float64"
+    },
+    "results.properties.optoelectronic.solar_cell.fill_factor": {
+        "description": "Fill factor of a solar cell in absolute values (from 0 to 1).",
+        "type": "float64"
+    },
+    "results.properties.optoelectronic.solar_cell.open_circuit_voltage": {
+        "description": "Open circuit voltage of a solar cell.",
+        "type": "float64",
+        "unit": "volt"
+    },
+    "results.properties.optoelectronic.solar_cell.short_circuit_current_density": {
+        "description": "Short circuit current density of a solar cell.",
+        "type": "float64",
+        "unit": "ampere / meter ** 2"
+    },
+    "results.properties.optoelectronic.solar_cell.illumination_intensity": {
+        "description": "The light intensity during the IV measurement.",
+        "type": "float64",
+        "unit": "watt / meter ** 2"
+    },
+    "results.properties.optoelectronic.solar_cell.device_area": {
+        "description": "The total area of the cell during IV and stability measurements under illumination.",
+        "type": "float64",
+        "unit": "meter ** 2"
+    },
+    "results.properties.optoelectronic.solar_cell.device_architecture": {
+        "description": "Device architecture of the solar cell. Examples are:\n`pn-Heterojunction`, `pin`, `nip`, ...",
+        "type": "str"
+    },
+    "results.properties.optoelectronic.solar_cell.device_stack": {
+        "description": "Layers of the entire device.",
+        "type": "str"
+    },
+    "results.properties.optoelectronic.solar_cell.absorber": {
+        "description": "Absorber layers used in the solar cell.",
+        "type": "str"
+    },
+    "results.properties.optoelectronic.solar_cell.absorber_fabrication": {
+        "description": "Technique describing the fabrication of the absorber layer. Examples are:\n`Spin-coating`, `Evaporation`, `Doctor blading`, ...",
+        "type": "str"
+    },
+    "results.properties.optoelectronic.solar_cell.electron_transport_layer": {
+        "description": "Electron selective contact layers used in the solar cell.",
+        "type": "str"
+    },
+    "results.properties.optoelectronic.solar_cell.hole_transport_layer": {
+        "description": "Hole selective contact layers used in the solar cell.",
+        "type": "str"
+    },
+    "results.properties.optoelectronic.solar_cell.substrate": {
+        "description": "Substrate layers used in the solar cell.",
+        "type": "str"
+    },
+    "results.properties.optoelectronic.solar_cell.back_contact": {
+        "description": "Back contact layers used in the solar cell.",
+        "type": "str"
+    },
+    "results.properties.catalytic.reaction.name": {
+        "description": "Name of the catalytic test reaction.",
+        "type": "str"
+    },
+    "results.properties.catalytic.reaction.type": {
+        "description": "Classification of the catalytic test reaction such as Oxidation, Hydrogenation,\nIsomerization, Coupling...",
+        "type": "str"
+    },
+    "results.properties.catalytic.reaction.reactants.name": {
+        "description": "IUPAC name of the reagent.",
+        "type": "str"
+    },
+    "results.properties.catalytic.reaction.reactants.gas_concentration_in": {
+        "description": "Volumetric concentration (fraction) of the reagent in the feed gas.\nShould be a value between 0 and 1.",
+        "type": "float64"
+    },
+    "results.properties.catalytic.reaction.reactants.gas_concentration_out": {
+        "description": "Volumetric concentration (fraction) of the reagent after the reactor.\nShould be a value between 0 and 1.",
+        "type": "float64"
+    },
+    "results.properties.catalytic.reaction.reactants.conversion": {
+        "description": "Conversion of the reactant, in %.",
+        "type": "float64"
+    },
+    "results.properties.catalytic.reaction.products.name": {
+        "description": "Name of the product, preferably the IUPAC name.",
+        "type": "str"
+    },
+    "results.properties.catalytic.reaction.products.gas_concentration_in": {
+        "description": "Volumetric concentration (fraction) of the reagent in the feed gas.\nShould be a value between 0 and 1.",
+        "type": "float64"
+    },
+    "results.properties.catalytic.reaction.products.gas_concentration_out": {
+        "description": "Volumetric concentration (fraction) of the reagent after the reactor.\nShould be a value between 0 and 1.",
+        "type": "float64"
+    },
+    "results.properties.catalytic.reaction.products.selectivity": {
+        "description": "Selectivity of the product, in %.",
+        "type": "float64"
+    },
+    "results.properties.catalytic.reaction.products.space_time_yield": {
+        "description": "Space-time-yield of the product, in mass product per mass catalyst per time.",
+        "type": "float64",
+        "unit": "1 / second"
+    },
+    "results.properties.catalytic.reaction.rates.name": {
+        "description": "IUPAC name of the reagent whose rate is captured.",
+        "type": "str"
+    },
+    "results.properties.catalytic.reaction.rates.reaction_rate": {
+        "description": "The rate of the number of reactant or product molecules converted/produced,\nper mass of total catalyst, per time.",
+        "type": "float64",
+        "unit": "mole / gram / second"
+    },
+    "results.properties.catalytic.reaction.rates.specific_mass_rate": {
+        "description": "The specific rate of the reactant, per mass of active catalyst component\n(e.g. metal).",
+        "type": "float64",
+        "unit": "mole / gram / second"
+    },
+    "results.properties.catalytic.reaction.rates.specific_surface_area_rate": {
+        "description": "The specific rate of the reactant, per surface area of active catalyst.",
+        "type": "float64",
+        "unit": "mole / meter ** 2 / second"
+    },
+    "results.properties.catalytic.reaction.rates.turnover_frequency": {
+        "description": "The turnover frequency, calculated from mol of reactant or product per\nnumber of sites over time.",
+        "type": "float64",
+        "unit": "1 / second"
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.temperature": {
+        "description": "The reaction temperature(s) in the catalytic reactor during a chemical reaction.",
+        "type": "float64",
+        "unit": "kelvin"
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.pressure": {
+        "description": "The pressure during the catalytic test reaction.",
+        "type": "float64",
+        "unit": "pascal"
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity": {
+        "description": "The weight hourly space velocity in 1/time (gas flow per catalyst mass).",
+        "type": "float64",
+        "unit": "milliliter / gram / second"
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.gas_hourly_space_velocity": {
+        "description": "The gas hourly space velocity in 1/time (gas flow per catalyst volume).",
+        "type": "float64",
+        "unit": "1 / second"
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.flow_rate": {
+        "description": "The volumetric gas flow in volume per time.",
+        "type": "float64",
+        "unit": "meter ** 3 / second"
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.time_on_stream": {
+        "description": "The time on stream of the catalyst in the catalytic reaction.",
+        "type": "float64",
+        "unit": "second"
+    },
+    "results.properties.catalytic.reaction.reaction_mechanism.initial_states": {
+        "description": "The names of reactants of the reaction or elementary step.",
+        "type": "str"
+    },
+    "results.properties.catalytic.reaction.reaction_mechanism.final_states": {
+        "description": "The names of products of the reaction or elementary step.",
+        "type": "str"
+    },
+    "results.properties.catalytic.reaction.reaction_mechanism.reaction_enthalpy": {
+        "description": "The reaction enthalpy of the reaction or reaction step.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.properties.catalytic.reaction.reaction_mechanism.activation_energy": {
+        "description": "The (apparent) activation energy of the catalyzed reaction or reaction step.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.properties.catalytic.catalyst.catalyst_name": {
+        "description": "Custom name of catalyst.",
+        "type": "str"
+    },
+    "results.properties.catalytic.catalyst.preparation_method": {
+        "description": "The main preparation method of the catalyst sample.",
+        "type": "str"
+    },
+    "results.properties.catalytic.catalyst.catalyst_type": {
+        "description": "The type of catalyst, wether metal or oxide, model, bulk, supported, ect.\nMultiple values can apply.",
+        "type": "str"
+    },
+    "results.properties.catalytic.catalyst.characterization_methods": {
+        "description": "A list of methods used to characterize the catalyst sample.",
+        "type": "str"
+    },
+    "results.properties.catalytic.catalyst.surface_area": {
+        "description": "The surface area per catalyst mass.",
+        "type": "float64",
+        "unit": "meter ** 2 / gram"
+    },
+    "results.properties.mechanical.energy_volume_curve.type": {
+        "type": "birch_euler,birch_lagrange,birch_murnaghan,mie_gruneisen,murnaghan,pack_evans_james,pourier_tarantola,raw,tait,vinet"
+    },
+    "results.properties.mechanical.bulk_modulus.type": {
+        "description": "Describes the methodology for obtaining the value.",
+        "type": "birch_euler,birch_lagrange,birch_murnaghan,mie_gruneisen,murnaghan,pack_evans_james,pourier_tarantola,reuss_average,tait,vinet,voigt_average,voigt_reuss_hill_average"
+    },
+    "results.properties.mechanical.bulk_modulus.value": {
+        "description": "Bulk modulus value.",
+        "type": "float64",
+        "unit": "pascal"
+    },
+    "results.properties.mechanical.shear_modulus.type": {
+        "description": "Describes the methodology for obtaining the value.",
+        "type": "reuss_average,voigt_average,voigt_reuss_hill_average"
+    },
+    "results.properties.mechanical.shear_modulus.value": {
+        "description": "Shear modulus value.",
+        "type": "float64",
+        "unit": "pascal"
+    },
+    "results.properties.thermodynamic.trajectory.available_properties": {
+        "description": "Subset of the property names that are present in this trajectory.",
+        "type": "energy_potential,pressure,temperature,volume"
+    },
+    "results.properties.thermodynamic.trajectory.provenance.label": {
+        "description": "Class or type of the provenance.\nCan be used to add further description to the provenance.",
+        "type": "str"
+    },
+    "results.properties.thermodynamic.trajectory.provenance.molecular_dynamics.time_step": {
+        "description": "The timestep at which the numerical integration is performed.",
+        "type": "float64",
+        "unit": "second"
+    },
+    "results.properties.thermodynamic.trajectory.provenance.molecular_dynamics.ensemble_type": {
+        "description": "The type of thermodynamic ensemble that was simulated.\n\nAllowed values are:\n\n| Thermodynamic Ensemble          | Description                               |\n\n| ---------------------- | ----------------------------------------- |\n\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\n\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\n\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\n\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy |",
+        "type": "NPH,NPT,NVE,NVT"
+    },
+    "results.properties.spectroscopic.spectra.type": {
+        "description": "Identifier for the methodology done to obtain the spectra data: EELS, XAS, XPS, etc.",
+        "type": "EELS,EXAFS,RXIS,XANES,XAS,XES,XPS,unavailable"
+    },
+    "results.properties.spectroscopic.spectra.label": {
+        "description": "Identifier for the source of the spectra data, either 'computation' or 'experiment'.",
+        "type": "computation,experiment"
+    },
+    "results.properties.spectroscopic.spectra.provenance.label": {
+        "description": "Class or type of the provenance.\nCan be used to add further description to the provenance.",
+        "type": "str"
+    },
+    "results.properties.spectroscopic.spectra.provenance.eels.detector_type": {
+        "description": "Detector type.",
+        "type": "str"
+    },
+    "results.properties.spectroscopic.spectra.provenance.eels.resolution": {
+        "description": "Energy resolution of the detector.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.properties.spectroscopic.spectra.provenance.eels.max_energy": {
+        "description": "Maximum energy of the detector.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.properties.spectroscopic.spectra.provenance.eels.min_energy": {
+        "description": "Minimum energy of the detector.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.properties.spectroscopic.spectra.provenance.electronic_structure.label": {
+        "description": "Class or type of the provenance.\nCan be used to add further description to the provenance.",
+        "type": "str"
+    },
+    "results.properties.geometry_optimization.convergence_tolerance_energy_difference": {
+        "description": "The input energy difference tolerance criterion.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.properties.geometry_optimization.convergence_tolerance_force_maximum": {
+        "description": "The input maximum net force tolerance criterion.",
+        "type": "float64",
+        "unit": "newton"
+    },
+    "results.properties.geometry_optimization.final_force_maximum": {
+        "description": "The maximum net force in the last optimization step.",
+        "type": "float64",
+        "unit": "newton"
+    },
+    "results.properties.geometry_optimization.final_energy_difference": {
+        "description": "The difference in the energy_total between the last two steps during\noptimization.",
+        "type": "float64",
+        "unit": "joule"
+    },
+    "results.properties.geometry_optimization.final_displacement_maximum": {
+        "description": "The maximum displacement in the last optimization step with respect to previous.",
+        "type": "float64",
+        "unit": "meter"
+    },
+    "results.eln.sections": {
+        "description": "The type of sections used in entries to search for. By default these are the names\nof the used section definitions.",
+        "type": "str"
+    },
+    "results.eln.tags": {
+        "description": "Short tags that are useful to quickly search based on various\nuser defined criteria.",
+        "type": "str"
+    },
+    "results.eln.names": {
+        "description": "Short human readable and descriptive names that appear in\nELN entries.",
+        "type": "str"
+    },
+    "results.eln.descriptions": {
+        "description": "'Human descriptions that appear in ELN entries.",
+        "type": "str"
+    },
+    "results.eln.instruments": {
+        "description": "The name or type of instrument used in an activity, e.g. process or\nmeasurement.",
+        "type": "str"
+    },
+    "results.eln.methods": {
+        "description": "The name or the applied method in an activity, e.g. process or measurement",
+        "type": "str"
+    },
+    "results.eln.lab_ids": {
+        "description": "The laboratory specific id for any item, e.g. sample, chemical, instrument.",
+        "type": "str"
+    },
+    "results.material": {
+        "description": "Section containing information on the material composition and structure.",
+        "type": "None"
+    },
+    "results.material.elemental_composition": {
+        "description": "Section containing information about the concentration of an element,\n        given by its atomic and mass fraction within the system or material.",
+        "type": "None"
+    },
+    "results.material.symmetry": {
+        "description": "Section containing information about the symmetry of the material. All\n        of these properties are derived by running a symmetry analysis on a\n        representative geometry from the original data. This original geometry\n        is stored in results.properties together with the primitive and\n        conventional structures.",
+        "type": "None"
+    },
+    "results.material.topology": {
+        "description": "Describes a a structural part that has been identified within the entry.\n        May be related to other systems.",
+        "type": "None"
+    },
+    "results.material.topology.atoms": {
+        "description": "Describes the atomic structure of the physical system. This includes the atom positions, lattice vectors, etc.",
+        "type": "None"
+    },
+    "results.material.topology.elemental_composition": {
+        "description": "Section containing information about the concentration of an element,\n        given by its atomic and mass fraction within the system or material.",
+        "type": "None"
+    },
+    "results.material.topology.system_relation": {
+        "description": "Contains information about the relation between two different systems.",
+        "type": "None"
+    },
+    "results.material.topology.cell": {
+        "description": "Properties of a unit cell.",
+        "type": "None"
+    },
+    "results.material.topology.symmetry": {
+        "description": "Section containing information about the symmetry properties of a\n        conventional cell related to a system.",
+        "type": "None"
+    },
+    "results.material.topology.symmetry.wyckoff_sets": {
+        "description": "Section for storing Wyckoff set information. Only available for\n        conventional cells that have undergone symmetry analysis.",
+        "type": "None"
+    },
+    "results.material.topology.metal_coordination": {
+        "description": "Coordination number of an element, which represents the number of atoms directly bonded to the element.",
+        "type": "None"
+    },
+    "results.material.topology.active_orbitals": {
+        "type": "None"
+    },
+    "results.method": {
+        "description": "Contains a summary of the methodology that has been used in this entry.\n        This methodology applies to all of the reported properties and\n        determines the result of a single energy evalution. The individual\n        properties may be further methodological details affect e.g. the\n        sampling.",
+        "type": "None"
+    },
+    "results.method.simulation": {
+        "description": "Contains method details for a simulation entry.",
+        "type": "None"
+    },
+    "results.method.simulation.dft": {
+        "description": "Methodology for a DFT calculation.",
+        "type": "None"
+    },
+    "results.method.simulation.dft.hubbard_kanamori_model": {
+        "description": "Setup of the Hubbard model used in DFT+U",
+        "type": "None"
+    },
+    "results.method.simulation.tb": {
+        "description": "Methodology for a Tight-Binding calculation.",
+        "type": "None"
+    },
+    "results.method.simulation.gw": {
+        "description": "Methodology for a GW calculation.",
+        "type": "None"
+    },
+    "results.method.simulation.bse": {
+        "description": "Methodology for a BSE calculation.",
+        "type": "None"
+    },
+    "results.method.simulation.dmft": {
+        "description": "Methodology for a DMFT calculation.",
+        "type": "None"
+    },
+    "results.method.simulation.quantum_cms": {
+        "type": "None"
+    },
+    "results.method.simulation.quantum_cms.quantum_circuit": {
+        "type": "None"
+    },
+    "results.method.simulation.precision": {
+        "description": "Contains parameters for controlling or evaluating the convergence of the electronic structure.",
+        "type": "None"
+    },
+    "results.method.measurement": {
+        "description": "Contains method details for a measurement entry.",
+        "type": "None"
+    },
+    "results.method.measurement.xrd": {
+        "description": "Methodology for an X-Ray Diffraction measurement.",
+        "type": "None"
+    },
+    "results.properties": {
+        "description": "Contains the physical properties that have been calculated or used in\n        this entry.",
+        "type": "None"
+    },
+    "results.properties.structural": {
+        "description": "Structural properties.",
+        "type": "None"
+    },
+    "results.properties.structural.radial_distribution_function": {
+        "description": "Radial distribution function.",
+        "type": "None"
+    },
+    "results.properties.structural.radial_distribution_function.provenance": {
+        "description": "Contains provenance information for properties derived from molecular\n        dynamics simulations.",
+        "type": "None"
+    },
+    "results.properties.structural.radial_distribution_function.provenance.molecular_dynamics": {
+        "description": "Methodology for molecular dynamics.",
+        "type": "None"
+    },
+    "results.properties.structural.radius_of_gyration": {
+        "description": "Contains Radius of Gyration values as a trajectory.",
+        "type": "None"
+    },
+    "results.properties.structural.radius_of_gyration.provenance": {
+        "description": "Contains provenance information for properties derived from molecular\n        dynamics simulations.",
+        "type": "None"
+    },
+    "results.properties.structural.radius_of_gyration.provenance.molecular_dynamics": {
+        "description": "Methodology for molecular dynamics.",
+        "type": "None"
+    },
+    "results.properties.structural.diffraction_pattern": {
+        "description": "Diffraction pattern.",
+        "type": "None"
+    },
+    "results.properties.dynamical": {
+        "description": "Dynamical properties.",
+        "type": "None"
+    },
+    "results.properties.dynamical.mean_squared_displacement": {
+        "description": "Mean Squared Displacements.",
+        "type": "None"
+    },
+    "results.properties.dynamical.mean_squared_displacement.provenance": {
+        "description": "Contains provenance information for properties derived from molecular\n        dynamics simulations.",
+        "type": "None"
+    },
+    "results.properties.dynamical.mean_squared_displacement.provenance.molecular_dynamics": {
+        "description": "Methodology for molecular dynamics.",
+        "type": "None"
+    },
+    "results.properties.structures": {
+        "description": "Contains full atomistic representations of the material in different\n        forms.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_original": {
+        "description": "Describes an atomistic structure.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_original.species": {
+        "description": "Used to describe the species of the sites of this structure. Species can be pure chemical elements, or virtual-crystal atoms representing a statistical occupation of a\ngiven site by multiple chemical elements.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_original.lattice_parameters": {
+        "description": "Lattice parameters of a cell.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_original.wyckoff_sets": {
+        "description": "Section for storing Wyckoff set information. Only available for\n        conventional cells that have undergone symmetry analysis.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_conventional": {
+        "description": "Describes an atomistic structure.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_conventional.species": {
+        "description": "Used to describe the species of the sites of this structure. Species can be pure chemical elements, or virtual-crystal atoms representing a statistical occupation of a\ngiven site by multiple chemical elements.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_conventional.lattice_parameters": {
+        "description": "Lattice parameters of a cell.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_conventional.wyckoff_sets": {
+        "description": "Section for storing Wyckoff set information. Only available for\n        conventional cells that have undergone symmetry analysis.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_primitive": {
+        "description": "Describes an atomistic structure.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_primitive.species": {
+        "description": "Used to describe the species of the sites of this structure. Species can be pure chemical elements, or virtual-crystal atoms representing a statistical occupation of a\ngiven site by multiple chemical elements.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_primitive.lattice_parameters": {
+        "description": "Lattice parameters of a cell.",
+        "type": "None"
+    },
+    "results.properties.structures.structure_primitive.wyckoff_sets": {
+        "description": "Section for storing Wyckoff set information. Only available for\n        conventional cells that have undergone symmetry analysis.",
+        "type": "None"
+    },
+    "results.properties.vibrational": {
+        "description": "Vibrational properties.",
+        "type": "None"
+    },
+    "results.properties.vibrational.band_structure_phonon": {
+        "description": "This section stores information on a vibrational band structure\n        evaluation along one-dimensional pathways in the reciprocal space.",
+        "type": "None"
+    },
+    "results.properties.vibrational.dos_phonon": {
+        "description": "Contains the phonon density of states.",
+        "type": "None"
+    },
+    "results.properties.vibrational.heat_capacity_constant_volume": {
+        "description": "Contains the values of the specific (per mass) and isochoric (constant\n        volume) heat capacity at different temperatures.",
+        "type": "None"
+    },
+    "results.properties.vibrational.energy_free_helmholtz": {
+        "description": "Contains the values of the Helmholtz free energy per atom at constant\n        volume and at different temperatures.",
+        "type": "None"
+    },
+    "results.properties.electronic": {
+        "description": "Electronic properties.",
+        "type": "None"
+    },
+    "results.properties.electronic.band_gap": {
+        "type": "None"
+    },
+    "results.properties.electronic.band_gap.provenance": {
+        "description": "",
+        "type": "None"
+    },
+    "results.properties.electronic.dos_electronic": {
+        "description": "Contains the total electronic density of states.\n\n        OLD VERSION: it will eventually be deprecated.",
+        "type": "None"
+    },
+    "results.properties.electronic.dos_electronic.band_gap": {
+        "type": "None"
+    },
+    "results.properties.electronic.dos_electronic.band_gap.provenance": {
+        "description": "Contains semantically labelled provenance information.\n        To be stored under PropertySection.provenance or children.",
+        "type": "None"
+    },
+    "results.properties.electronic.dos_electronic_new": {
+        "description": "Contains the electronic Density of States (DOS). This section can be repeated to refer to\n        different methodologies (e.g., label = 'DFT', 'GW', 'TB', etc.), and it can be spin-polarized\n        or not. The sub-section data points to each (if present) spin channels.",
+        "type": "None"
+    },
+    "results.properties.electronic.dos_electronic_new.data": {
+        "description": "Section containign the density of states data.\n\n        It includes the total DOS and the projected DOS values. We differentiate `species_projected` as the\n        projected DOS for same atomic species, `atom_projected` as the projected DOS for different\n        atoms in the cell, and `orbital_projected` as the projected DOS for the orbitals of each\n        atom.",
+        "type": "None"
+    },
+    "results.properties.electronic.dos_electronic_new.data.band_gap": {
+        "type": "None"
+    },
+    "results.properties.electronic.dos_electronic_new.data.band_gap.provenance": {
+        "description": "Contains semantically labelled provenance information.\n        To be stored under PropertySection.provenance or children.",
+        "type": "None"
+    },
+    "results.properties.electronic.band_structure_electronic": {
+        "description": "This section stores information on a electonic band structure\n        evaluation along one-dimensional pathways in the reciprocal space.",
+        "type": "None"
+    },
+    "results.properties.electronic.band_structure_electronic.band_gap": {
+        "type": "None"
+    },
+    "results.properties.electronic.band_structure_electronic.band_gap.provenance": {
+        "description": "Contains semantically labelled provenance information.\n        To be stored under PropertySection.provenance or children.",
+        "type": "None"
+    },
+    "results.properties.electronic.greens_functions_electronic": {
+        "description": "Base class for Green's functions information.",
+        "type": "None"
+    },
+    "results.properties.electronic.electric_field_gradient": {
+        "description": "Base class for the electric field gradient information. This section is relevant\n        for NMR and describes the potential generated my the nuclei in the system.",
+        "type": "None"
+    },
+    "results.properties.magnetic": {
+        "description": "Magnetic properties.",
+        "type": "None"
+    },
+    "results.properties.magnetic.magnetic_shielding": {
+        "description": "Base class for the atomic magnetic shielding information.",
+        "type": "None"
+    },
+    "results.properties.magnetic.spin_spin_coupling": {
+        "description": "Base class for the spin-spin coupling information.",
+        "type": "None"
+    },
+    "results.properties.magnetic.magnetic_susceptibility": {
+        "description": "Base class for the magnetic susceptibility information.",
+        "type": "None"
+    },
+    "results.properties.optoelectronic": {
+        "description": "Optoelectronic properties.",
+        "type": "None"
+    },
+    "results.properties.optoelectronic.solar_cell": {
+        "description": "Properties of solar cells.",
+        "type": "None"
+    },
+    "results.properties.catalytic": {
+        "description": "Properties relating to catalysis.",
+        "type": "None"
+    },
+    "results.properties.catalytic.reaction": {
+        "description": "A collection of specifications and properties of a full catalytic reaction.\n        This may include reaction conditions, results and mechanistic aspects of a reaction.",
+        "type": "None"
+    },
+    "results.properties.catalytic.reaction.reactants": {
+        "description": "A reactant in a catalytic test reaction. A reactant\n        is identified by having a conversion.",
+        "type": "None"
+    },
+    "results.properties.catalytic.reaction.products": {
+        "description": "A product of a catalytic reaction. A product here is usually identified by having\n        a selectivity, or a gas_concentration_out but no/zero gas_concentration_in.",
+        "type": "None"
+    },
+    "results.properties.catalytic.reaction.rates": {
+        "description": "Section bundling multiple representations of catalytic reaction rates.",
+        "type": "None"
+    },
+    "results.properties.catalytic.reaction.reaction_conditions": {
+        "description": "Conditions under which a catalytic test reaction was performed.",
+        "type": "None"
+    },
+    "results.properties.catalytic.reaction.reaction_mechanism": {
+        "description": "Properties of single steps of a catalytic reaction mechanism.",
+        "type": "None"
+    },
+    "results.properties.catalytic.catalyst": {
+        "description": "Properties of a heterogeneous catalyst.",
+        "type": "None"
+    },
+    "results.properties.mechanical": {
+        "description": "Mechanical properties.",
+        "type": "None"
+    },
+    "results.properties.mechanical.energy_volume_curve": {
+        "description": "Energy volume curve.",
+        "type": "None"
+    },
+    "results.properties.mechanical.bulk_modulus": {
+        "description": "Contains bulk modulus values calculated with different methodologies.",
+        "type": "None"
+    },
+    "results.properties.mechanical.shear_modulus": {
+        "description": "Contains shear modulus values calculated with different methodologies.",
+        "type": "None"
+    },
+    "results.properties.thermodynamic": {
+        "description": "Thermodynamic properties.",
+        "type": "None"
+    },
+    "results.properties.thermodynamic.trajectory": {
+        "description": "Thermodynamic properties reported for an ensemble evolving in time.",
+        "type": "None"
+    },
+    "results.properties.thermodynamic.trajectory.provenance": {
+        "description": "Contains provenance information for properties derived from molecular\n        dynamics simulations.",
+        "type": "None"
+    },
+    "results.properties.thermodynamic.trajectory.provenance.molecular_dynamics": {
+        "description": "Methodology for molecular dynamics.",
+        "type": "None"
+    },
+    "results.properties.thermodynamic.trajectory.temperature": {
+        "description": "Contains temperature values evaluated at different times.",
+        "type": "None"
+    },
+    "results.properties.thermodynamic.trajectory.pressure": {
+        "description": "Contains pressure values evaluated at different times.",
+        "type": "None"
+    },
+    "results.properties.thermodynamic.trajectory.volume": {
+        "description": "Contains volume values evaluated at different times.",
+        "type": "None"
+    },
+    "results.properties.thermodynamic.trajectory.energy_potential": {
+        "description": "Contains energy values evaluated at different times.",
+        "type": "None"
+    },
+    "results.properties.spectroscopic": {
+        "description": "Spectroscopic properties.",
+        "type": "None"
+    },
+    "results.properties.spectroscopic.spectra": {
+        "description": "Base class for Spectra calculation information as obtained from an experiment or a computation.",
+        "type": "None"
+    },
+    "results.properties.spectroscopic.spectra.provenance": {
+        "description": "Contains provenance information (mainly the methodology section) for spectra properties\n        derived from an experiment or a calculation.",
+        "type": "None"
+    },
+    "results.properties.spectroscopic.spectra.provenance.eels": {
+        "description": "Base class for the EELS methodology.",
+        "type": "None"
+    },
+    "results.properties.spectroscopic.spectra.provenance.electronic_structure": {
+        "description": "",
+        "type": "None"
+    },
+    "results.properties.geometry_optimization": {
+        "description": "Geometry optimization results and settings.",
+        "type": "None"
+    },
+    "results.eln": {
+        "type": "None"
+    }
+}
\ No newline at end of file
diff --git a/api_writer/test_ui.py b/api_writer/test_ui.py
new file mode 100644
index 0000000000000000000000000000000000000000..3efa75929db1289e0062668b3b07e6affbd4df0e
--- /dev/null
+++ b/api_writer/test_ui.py
@@ -0,0 +1,228 @@
+import gradio as gr
+import pandas as pd
+import os
+import json
+import time
+from opik import track, opik_context
+from api_writer.nomad_api import make_query
+from api_writer.utils import add_values, check_keys, load_query, load_config
+from copy import deepcopy
+
+use_vllm_api = os.environ['USE_VLLM_API']
+if use_vllm_api == "True":
+    from api_writer.vllm_api import http_bot
+else:
+    from api_writer.vllm_model import http_bot
+
+search_link_url='https://nomad-lab.eu/prod/v1/gui/search/entries/entry/id/'
+print("Caching context...")
+http_bot('warmup')
+
+try:
+    os.environ["OPIK_API_KEY"]
+except:
+    os.environ["OPIK_API_KEY"] =""
+os.environ["OPIK_WORKSPACE"] = "pilar12"
+try:
+    project_name = os.environ['OPIK_PROJECT_NAME']
+except:
+    project_name = "NOMAD_Demo_test_ui"
+
+sampling_params=load_config('api_writer/sampling_params_2.yaml')
+
+n=2
+def format_num_response(response):
+    response=response[response.index('JSON')+5:]
+    values=response[response.index('\'\'\'')+3:].strip().split('\n')
+    base_json=response[:response.index('\'\'\'')].strip()
+    if values!=['']:
+        response=add_values(base_json,values)
+    else:
+        return base_json
+    return response
+
+def process_api_output(api_output: dict) -> pd.DataFrame:
+    """
+    Takes LLM output and returns a pandas DataFrame.
+    Replace with your actual processing function.
+    """
+    # Create a sample DataFrame
+    data=[]
+    columns={'Name':'upload_name','Formula':"results.material.chemical_formula_descriptive","Entry Type":'entry_type','Author':'origin'}
+    for i in api_output['data']:
+        base={}
+        base[' '] = f'<a href="{search_link_url}{i['entry_id']}" target="_blank" style="text-decoration: none; font-size: 16px;">↗️</a>'
+        for col in columns:
+            try:
+                if col=='Formula':
+                    base[col]=i['results']['material']['chemical_formula_descriptive']
+                else:
+                    base[col]=i[columns[col]]
+            except:
+                base[col]=''
+        data.append(deepcopy(base))
+    if data==[]:
+        data={'Search Result':["Zero entries found"]}
+    return pd.DataFrame(data)
+
+track(capture_input=False, capture_output=False)
+def process_query(query):
+    # llm_query = json.load(open("demo_api.json"))
+    # api_response = json.load(open("demo_return.json"))
+    llm_response, llm_queries = http_bot(query)
+    hidden_all_text = "\n\n\n".join(llm_queries)
+    dissimilar,qs,qi = check_keys(llm_queries)
+    if not dissimilar:
+        gr.Info(" LLM Queries are same", duration=5)
+        # gr.Info(" LLM Queries might be same", duration=5)
+
+    llm_queries = [llm_queries[i] for i in range(len(llm_queries)) if i in qi]
+    r_df=[]
+    r_llm_query=[]
+    rh_llm_query=[]
+    for llm_query in llm_queries:
+        error,formatted_llm_query=load_query(llm_query)
+        # try:
+        #     llm_query = llm_query[llm_query.index("\'\'\'"):]
+        # except:
+        #     pass
+        # llm_query=llm_query.replace('\\"','"').replace('\\n','\n')
+        # try:
+        #     formatted_llm_query=format_num_response(llm_query)
+        # except:
+        #     formatted_llm_query=llm_query
+        full_llm_query = llm_query +'\n\n\n' + json.dumps(formatted_llm_query,indent=4)
+        status_code, api_output = make_query(deepcopy(formatted_llm_query))
+        if status_code==200:
+            df = process_api_output(api_output)
+        else:
+            df = pd.DataFrame({"Error":[True]})
+        r_df.append(df)
+        r_llm_query.append(json.dumps(formatted_llm_query,indent=4))
+        rh_llm_query.append(full_llm_query)
+    return *r_llm_query, *rh_llm_query, hidden_all_text, *r_df
+
+def user_fix_query(query):
+    status_code, api_output = make_query(query)
+    df = process_api_output(api_output)
+    return query + "\n Fixed", df
+
+def update_selection(selected_values):
+    # Take only the last selected value if multiple are selected
+    if len(selected_values) > 1:
+        return [selected_values[-1]]
+    return selected_values
+
+description = open("api_writer/description.md").read()
+rating_dict={"👍":1, "👎":0}
+pft_dict = {"Tie":0, "Both are bad":-1}
+csvlogger = gr.CSVLogger()
+for i in range(n):
+    pft_dict[f'{i+1}'] = i+1
+@track(project_name=project_name,capture_input=False, capture_output=False)
+def log_data(*args):
+    output = {}
+    for i in range(n):
+        output[f'LLM Query {i+1}'] = args[i+1]
+        output[f'Fixed LLM Query {i+1}'] = args[i+n+1]
+    # feedback_scores = [{'name':f"Rating {i}",'value': float(rating_dict[args[i+2*n+1][0]]) if args[i+2*n+1]!= [] else 0} for i in range(n)]
+    feedback_scores = []
+    preferred_query = pft_dict[args[-1][0]] if args[-1] != [] else 0
+    feedback_scores.append({'name':'Preferred LLM Query', 'value': preferred_query})
+    input = {'query': args[0]}
+    output['Notes'] = args[-2]
+    output['All LLM Generated Queries'] = args[-3]
+    if preferred_query >0:
+        output[f'Preferred LLM Query ({preferred_query})'] = args[preferred_query+n+1-1]
+    opik_context.update_current_trace(input=input,
+                                      output=output,
+                                      feedback_scores=feedback_scores)
+    csvlogger.flag(args)
+    return gr.update(visible=True), gr.update(visible=False)
+
+@track(project_name="NOMAD_Demo_test_ui", capture_output=False)
+def log_data2(*args):
+    csvlogger.flag(args)
+
+def process_and_notify():
+    # Simulate some processing
+    time.sleep(1)
+    # Show message
+    return gr.update(visible=True), gr.update(visible=False)
+
+def hide_message():
+    # Called after delay to hide message
+    return gr.update(visible=False), gr.update(visible=True)
+
+with gr.Blocks() as demo:
+    gr.Markdown("# LLM Query Processor")
+    with gr.Accordion("Details"):
+        gr.Markdown(description)
+    with gr.Row():
+        query_input = gr.Textbox(label="Enter your query", placeholder="Type your question here...",interactive=True,submit_btn=True)
+
+    n=2    
+    output_text = []
+    hidden_text = []
+    # hidden_all_text = []
+    output_dataframe = []
+    rating = []
+    with gr.Row():
+        for i in range(n):
+            with gr.Column():
+                output_text.append(gr.Textbox(label=f"LLM Generated query {i+1}", max_lines=100, interactive=True, submit_btn=True, show_copy_button=True))
+                hidden_text.append(gr.Textbox(label=f"Original LLM Generated query {i+1}", interactive=False, visible=False))
+        hidden_all_text = gr.Textbox(label="All LLM Generated queries", interactive=False, visible=False)
+                # rating.append(gr.CheckboxGroup(["👍", "👎"], label="Rating", info="👍  Upvote or 👎 Downvote"))
+                # rating.append(gr.CheckboxGroup(["1", "2", "3", "4", "5"], label="Rating", info="Rate the query from 1 to 5"))
+       
+    with gr.Row():
+        pfts=[f'{i+1}' for i in range(n)]
+        pfts.extend(['Tie','Both are bad'])
+        pft_checkbox = gr.CheckboxGroup(pfts, label="Best LLM query", info="Select the query that matches the NLU query the best.")
+        # pft_checkbox = gr.CheckboxGroup([f'{i+1}' for i in range(n)], label="Best LLM query", info="Select the query that matches the NLU query the best.")
+    with gr.Row():
+        notes = gr.Textbox(label="Notes", placeholder="Enter any additional feedback here...",max_lines=100, interactive=True, submit_btn=False)
+    with gr.Row():
+        for i in range(n):
+            with gr.Column():
+                output_dataframe.append(gr.Dataframe(interactive=False, max_height=500, wrap=True,column_widths=["5%", "35%", "20%", "20%", "20%" ], datatype=['html','str','str','str','str']))
+
+    with gr.Row():
+        end_button = gr.Button("Submit")
+        msg = gr.Markdown("✅ Process Complete!", visible=False)
+    with gr.Row():
+        clear_button = gr.ClearButton(components=[query_input, *hidden_text, *output_text, *output_dataframe, hidden_all_text, notes, pft_checkbox],value="Clear")
+        # clear_button = gr.ClearButton(components=[query_input, *hidden_text, *output_text, *rating, *output_dataframe, pft_checkbox],value="Clear")
+    csvlogger.setup([query_input, *hidden_text, *output_text, *output_dataframe, hidden_all_text, notes,pft_checkbox], "out_dir")
+    # csvlogger.setup([query_input, *hidden_text, *output_text, *rating, pft_checkbox], "out_dir")
+    query_input.submit(
+        fn=process_query,
+        inputs=query_input,
+        outputs=[*output_text, *hidden_text, hidden_all_text, *output_dataframe],
+    )
+
+    for i in range(n):
+        output_text[i].submit(
+            fn=user_fix_query,
+            inputs=output_text[i],
+            outputs=[output_text[i], output_dataframe[i]]
+        )
+    
+    # for i in range(n):
+    #     rating[i].select(update_selection,rating[i],rating[i])
+    pft_checkbox.select(update_selection,pft_checkbox,pft_checkbox)
+    end_button.click(log_data, [query_input, *hidden_text, *output_text, *output_dataframe, hidden_all_text, notes, pft_checkbox], [msg, end_button], preprocess=False, trigger_mode="once").then(
+        fn=lambda: time.sleep(1), inputs=None, outputs=None
+    ).then(
+        fn=hide_message, outputs=[msg, end_button]
+    )
+    # end_button.click(log_data, [query_input, *hidden_text, *output_text, *rating, pft_checkbox], [msg, end_button], preprocess=False, trigger_mode="once").then(
+    #     fn=lambda: time.sleep(1), inputs=None, outputs=None
+    # ).then(
+    #     fn=hide_message, outputs=[msg, end_button]
+    # )
+    
+
+if __name__ == "__main__":
+    demo.launch(debug=True,share=True,show_api=False)
\ No newline at end of file
diff --git a/api_writer/utils.py b/api_writer/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..7132cb1e4907f49464bc48f7472d37949043bf84
--- /dev/null
+++ b/api_writer/utils.py
@@ -0,0 +1,232 @@
+import yaml
+import pickle
+from nomad.units import ureg as units
+import json
+from collections import defaultdict
+def load_templates(model_path):
+    with open(model_path+"/system_prompt.txt", "r") as f:
+        system_prompt = f.read()
+    with open(model_path+"/chat_template.txt", "r") as f:
+        chat_template = f.read()
+    with open(model_path+"/eval_chat_template.txt", "r") as f:
+        eval_chat_template = f.read()
+    with open(model_path+"/full_context.pkl", "rb") as f:
+        full_context = pickle.load(f)
+    system_context=system_prompt.format(context=full_context)
+
+    return system_prompt, chat_template, eval_chat_template, full_context, system_context
+def load_config(config_path: str) -> dict:
+    """
+    Load configuration from YAML file
+       Dictionary containing configuration values
+    """
+    with open(config_path, "r") as f:
+        return yaml.safe_load(f) 
+
+def get_unit_quantities():
+    search_quantities=json.load(open("api_writer/search_quantities_lim.json","r"))
+    unit_quantities={}
+    for i in search_quantities:
+        if 'unit' in search_quantities[i]:
+            unit_quantities[i]=search_quantities[i]['unit']
+    return unit_quantities
+
+unit_quantities=get_unit_quantities()
+def convert_units(key,value,unit):
+    search_unit=unit_quantities[key]
+    value=units.Quantity(float(value),unit).to(search_unit).magnitude
+    return value
+
+
+def add_values(base_json,values):
+    for i in values:
+        key,tag,value,unit = i.split(':')
+        try:
+            ind=base_json.index(tag)
+            value = convert_units(key,value,unit)
+            base_json = base_json[:ind-1] + str(value) + base_json[ind+len(tag)+1:]
+        except Exception as e:
+            print(e)
+            pass
+    return base_json
+
+def format_num_response(response):
+    response=response[response.index('JSON')+5:]
+    values=response[response.index('\'\'\'')+3:].strip().split('\n')
+    base_json=response[:response.index('\'\'\'')].strip()
+    if values!=['']:
+        response=add_values(base_json,values)
+    else:
+        return base_json
+    return response
+def clean_json(data, exclude_fields=None):
+    """
+    Clean a nested JSON structure by removing specified fields and formatting numbers.
+    
+    Args:
+        data: Input JSON structure (dict, list, or primitive types)
+        exclude_fields: Set of field names to remove
+        
+    Returns:
+        Cleaned data structure
+    """
+    if exclude_fields is None:
+        exclude_fields = set()
+        
+    if isinstance(data, dict):
+        if data != {}:
+            return {
+                key: clean_json(value, exclude_fields)
+                for key, value in data.items()
+                if key not in exclude_fields and value is not None
+            }
+    elif isinstance(data, list):
+        clean_list=[]
+        for item in data:
+            if item !={}:
+                clean_item = clean_json(item,exclude_fields)
+                if clean_item != {}:
+                    clean_list.append(clean_item)
+        return clean_list
+        
+    elif isinstance(data, float):
+        # Format float to 3 decimal places and use E notation where appropriate
+        formatted = f"{data:.3e}" if abs(data) < 0.001 or abs(data) >= 1000 else f"{data:.3f}"
+        return float(formatted)
+    return data
+
+def load_query(query):
+    query=query.replace('\\"','"').replace('\\n','\n')
+    try:
+        query = format_num_response(query)
+    except Exception as e:
+        return True, 'Error formatting num query: ' + str(e)
+    # print(query)
+    try:
+        query+=" "
+        query = query[query.index('{'):query[::-1].index('}')*-1]
+        # print(query)
+        query = query.replace("\'",'"')
+        # print(query)
+        if 'null' in query:
+            query = json.loads(query)
+            query=clean_json(query)
+            # print('dd')
+        else:
+            query = json.loads(query)
+        # print(query)
+        if len(query.keys())==1 and 'all' in query.keys():
+            query['and'] = query['all']
+        # print(query)
+    except Exception as e:
+        return True, 'Error parsing query: ' + query + ' ' + str(e)
+    return False, query
+
+def get_query_keys(
+    d,
+    exclude_keys = None,
+    current_key_string= '',
+    keys = None,
+    values=None,
+) :
+    """
+    Extracts all unique keys from a dictionary or list.
+
+    Arguments:
+        d: Dictionary or list to process
+        exclude_keys: Set of keys to exclude
+        current_key_string: Current key string
+        keys: Set to store keys
+
+    Returns:
+        Set of keys
+    """
+    
+    if keys is None:
+        keys = set()
+    if exclude_keys is None:
+        exclude_keys = set()
+    if values is None:
+        values=defaultdict(list)
+    if isinstance(d, dict):
+        # If dictionary is empty or has no non-excluded keys, add current key string
+        valid_items = [
+            (k, v)
+            for k, v in d.items()
+            if isinstance(v, (dict, list)) or k not in exclude_keys
+        ]
+        
+        if not valid_items and current_key_string:
+            keys.add(current_key_string)
+
+        for key, value in d.items():
+            # Determine the new key string based on whether key is excluded
+            if key in exclude_keys:
+                new_key_string = current_key_string
+            else:
+                new_key_string = f'{current_key_string}.{key}' if current_key_string else key
+
+            # Only recurse if value is a dict, list, or key is excluded
+            if isinstance(value, (dict, list)):
+                get_query_keys(value, exclude_keys, new_key_string, keys,values)
+            elif key not in exclude_keys:
+                keys.add(new_key_string)
+                values[new_key_string].append(d[key])
+
+    elif isinstance(d, list):
+        if (not d) and current_key_string:  # Empty list
+            keys.add(current_key_string)
+        flag=0
+        for item in d:            
+            if isinstance(item,(dict,list)):
+                flag=1
+                get_query_keys(item, exclude_keys, current_key_string, keys,values)
+        if not flag:
+            keys.add(current_key_string)
+            values[current_key_string].append(d)
+    else:
+        keys.add(current_key_string)
+        values[current_key_string].append(d)
+
+    return keys, values
+
+def check_keys(o):
+    queries=[load_query(q) for q in o]
+    qks=[]
+    for i in queries:
+        if not i[0]:
+            # if len(i[1])==1 and 'and' in i[1]:
+            #     q=
+            # else:
+            #     q=i[1]
+            q=i[1]
+            qk=get_query_keys(q,exclude_keys=['and'])[0]
+            qks.append(qk)
+        else:
+            qks.append([])
+    qk1_ind=0
+    for i in range(len(qks)):
+        if qks[i]!=[]:
+            qk1_ind=i
+            qk1=qks[i]
+            break
+    qk2_ind=-1
+    diff=0
+    for i,qk in enumerate(qks):
+        if i==qk1_ind or qk==[]:
+            continue
+        idiff=len(qk1.difference(qk))
+        if idiff>diff:
+            qk2_ind=i
+            diff=idiff
+    dissimilar=True
+    if qk2_ind==-1:
+        dissimilar=False
+        for i in range(len(qks)):
+            if qks[i]!=[] and i!=qk1_ind:
+                qk2_ind=i
+                break
+    if qk2_ind==-1:
+        qk2_ind=qk1_ind
+    return dissimilar,[queries[qk1_ind],queries[qk2_ind]],[qk1_ind,qk2_ind]
+    
\ No newline at end of file
diff --git a/api_writer/vllm_api.py b/api_writer/vllm_api.py
new file mode 100644
index 0000000000000000000000000000000000000000..82a6c0fd5be2c4d4e922ddc6c056a590ba4016c6
--- /dev/null
+++ b/api_writer/vllm_api.py
@@ -0,0 +1,31 @@
+from openai import OpenAI
+from api_writer.utils import load_config,load_templates
+import requests
+from copy import deepcopy
+# from api_writer.hf_model import snapshot_path
+
+openai_api_key = "EMPTY"
+openai_api_base = "http://localhost:8001/v1"   
+client = OpenAI(
+    # defaults to os.environ.get("OPENAI_API_KEY")
+    api_key=openai_api_key,
+    base_url=openai_api_base,
+)   
+model = 'api_lora'
+sampling_params=load_config('api_writer/sampling_params_2.yaml')
+system_prompt, chat_template, eval_chat_template, full_context, system_context = load_templates("api_lora")
+def http_bot(prompt):
+    headers = {"User-Agent": "vLLM Client"}
+    prompt = eval_chat_template.format(SYSTEM=system_context, INPUT=prompt)
+    pload = deepcopy(sampling_params)
+    pload['prompt']=prompt
+    response = requests.post('http://localhost:8001/v1/completions',
+                             headers=headers,
+                             json=pload,
+                             stream=True)
+    outputs=[]
+    if response.status_code==200:
+        completions=response.json()['choices']
+        for i in completions:
+            outputs.append(i['text'])
+    return response, outputs
\ No newline at end of file
diff --git a/api_writer/vllm_model.py b/api_writer/vllm_model.py
new file mode 100644
index 0000000000000000000000000000000000000000..0a8876002ca294199148801e993e443b4975fdfe
--- /dev/null
+++ b/api_writer/vllm_model.py
@@ -0,0 +1,69 @@
+from vllm import LLM, SamplingParams
+from vllm.lora.request import LoRARequest
+import torch# unsloth/tinyllama-bnb-4bit is a pre-quantized checkpoint.
+import os
+from api_writer.utils import load_config,load_templates
+import time
+
+model_id = os.environ['BASE_MODEL'] #"unsloth/tinyllama-bnb-4bit"#
+llm = LLM(model=model_id, dtype=torch.bfloat16, trust_remote_code=True, quantization="bitsandbytes",load_format="bitsandbytes",enable_lora=True,enable_prefix_caching=True,max_lora_rank=32,max_loras=1,enforce_eager=True)
+gpu_stats = torch.cuda.get_device_properties(0)
+start_gpu_memory = round(torch.cuda.max_memory_reserved() / 1024 / 1024 / 1024, 3)
+max_memory = round(gpu_stats.total_memory / 1024 / 1024 / 1024, 3)
+print(f"GPU = {gpu_stats.name}. Max memory = {max_memory} GB.")
+print(f"{start_gpu_memory} GB of memory reserved.")
+
+sampling_config=load_config('api_writer/sampling_params_2.yaml')
+system_prompt, chat_template, eval_chat_template, full_context, system_context = load_templates("api_lora")
+sampling_params = [SamplingParams(
+    n=1,
+    temperature=0.0,
+    max_tokens=2048,
+    top_k=10,
+    seed=42,
+    stop=["<|end_of_text|>"],
+),SamplingParams(
+    n=1,
+    temperature=1.0,
+    max_tokens=2048,
+    top_k=10,
+    seed=42,
+    stop=["<|end_of_text|>"],
+)]
+
+# sampling_params=[SamplingParams(
+#     n=sampling_config['n'],
+#     temperature=sampling_config['temperature'],
+#     max_tokens=sampling_config['max_tokens'],
+#     top_k=sampling_config['top_k'],
+#     seed=sampling_config['seed'],
+#     stop=sampling_config['stop'],
+# )]
+
+sampling_params.append(SamplingParams(
+    n=sampling_config['n'],
+    temperature=sampling_config['temperature'],
+    max_tokens=sampling_config['max_tokens'],
+    top_k=sampling_config['top_k'],
+    seed=sampling_config['seed'],
+    stop=sampling_config['stop'],
+))
+lora_request=LoRARequest("api_lora", 1, "api_lora")
+
+
+def http_bot(prompt, llm=llm, sampling_params=sampling_params,lora_request=lora_request):
+    # time the generation
+    start_time = time.time()
+    prompt = [eval_chat_template.format(SYSTEM=system_context, INPUT=prompt)]*len(sampling_params)
+    outputs = llm.generate(
+    prompt,
+    sampling_params,
+    lora_request=lora_request)
+    end_time = time.time()
+    # print the output and generation time
+    generated_text=[]
+    for output in outputs:
+        for o in output.outputs:
+            generated_text.append(o.text)
+    print(f"Generation time: {end_time - start_time} seconds.")
+    return outputs, generated_text
\ No newline at end of file
diff --git a/jupyterhub_test.ipynb b/jupyterhub_test.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..de2823813559c6800b6e8716576324cb25e02b24
--- /dev/null
+++ b/jupyterhub_test.ipynb
@@ -0,0 +1,412 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "80440c29-cf44-4b98-b5c3-3d93e9cd3854",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from api_writer.test_ui import demo"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "53357a59-8198-40f9-862c-b14c863fcb40",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Collecting gradio\n",
+      "  Downloading gradio-5.24.0-py3-none-any.whl.metadata (16 kB)\n",
+      "Collecting aiofiles<25.0,>=22.0 (from gradio)\n",
+      "  Downloading aiofiles-24.1.0-py3-none-any.whl.metadata (10 kB)\n",
+      "Requirement already satisfied: anyio<5.0,>=3.0 in /opt/conda/lib/python3.12/site-packages (from gradio) (4.6.2.post1)\n",
+      "Collecting fastapi<1.0,>=0.115.2 (from gradio)\n",
+      "  Downloading fastapi-0.115.12-py3-none-any.whl.metadata (27 kB)\n",
+      "Collecting ffmpy (from gradio)\n",
+      "  Downloading ffmpy-0.5.0-py3-none-any.whl.metadata (3.0 kB)\n",
+      "Collecting gradio-client==1.8.0 (from gradio)\n",
+      "  Downloading gradio_client-1.8.0-py3-none-any.whl.metadata (7.1 kB)\n",
+      "Collecting groovy~=0.1 (from gradio)\n",
+      "  Downloading groovy-0.1.2-py3-none-any.whl.metadata (6.1 kB)\n",
+      "Requirement already satisfied: httpx>=0.24.1 in /opt/conda/lib/python3.12/site-packages (from gradio) (0.27.2)\n",
+      "Requirement already satisfied: huggingface-hub>=0.28.1 in /opt/conda/lib/python3.12/site-packages (from gradio) (0.29.3)\n",
+      "Requirement already satisfied: jinja2<4.0 in /opt/conda/lib/python3.12/site-packages (from gradio) (3.1.4)\n",
+      "Requirement already satisfied: markupsafe<4.0,>=2.0 in /opt/conda/lib/python3.12/site-packages (from gradio) (3.0.2)\n",
+      "Requirement already satisfied: numpy<3.0,>=1.0 in /opt/conda/lib/python3.12/site-packages (from gradio) (1.26.4)\n",
+      "Requirement already satisfied: orjson~=3.0 in /opt/conda/lib/python3.12/site-packages (from gradio) (3.10.16)\n",
+      "Requirement already satisfied: packaging in /opt/conda/lib/python3.12/site-packages (from gradio) (24.1)\n",
+      "Requirement already satisfied: pandas<3.0,>=1.0 in /opt/conda/lib/python3.12/site-packages (from gradio) (2.2.3)\n",
+      "Requirement already satisfied: pillow<12.0,>=8.0 in /opt/conda/lib/python3.12/site-packages (from gradio) (11.1.0)\n",
+      "Requirement already satisfied: pydantic<2.12,>=2.0 in /opt/conda/lib/python3.12/site-packages (from gradio) (2.9.2)\n",
+      "Collecting pydub (from gradio)\n",
+      "  Downloading pydub-0.25.1-py2.py3-none-any.whl.metadata (1.4 kB)\n",
+      "Collecting python-multipart>=0.0.18 (from gradio)\n",
+      "  Downloading python_multipart-0.0.20-py3-none-any.whl.metadata (1.8 kB)\n",
+      "Requirement already satisfied: pyyaml<7.0,>=5.0 in /opt/conda/lib/python3.12/site-packages (from gradio) (6.0.2)\n",
+      "Collecting ruff>=0.9.3 (from gradio)\n",
+      "  Downloading ruff-0.11.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (25 kB)\n",
+      "Collecting safehttpx<0.2.0,>=0.1.6 (from gradio)\n",
+      "  Downloading safehttpx-0.1.6-py3-none-any.whl.metadata (4.2 kB)\n",
+      "Collecting semantic-version~=2.0 (from gradio)\n",
+      "  Downloading semantic_version-2.10.0-py2.py3-none-any.whl.metadata (9.7 kB)\n",
+      "Collecting starlette<1.0,>=0.40.0 (from gradio)\n",
+      "  Downloading starlette-0.46.1-py3-none-any.whl.metadata (6.2 kB)\n",
+      "Requirement already satisfied: tomlkit<0.14.0,>=0.12.0 in /opt/conda/lib/python3.12/site-packages (from gradio) (0.13.2)\n",
+      "Collecting typer<1.0,>=0.12 (from gradio)\n",
+      "  Downloading typer-0.15.2-py3-none-any.whl.metadata (15 kB)\n",
+      "Requirement already satisfied: typing-extensions~=4.0 in /opt/conda/lib/python3.12/site-packages (from gradio) (4.12.2)\n",
+      "Collecting uvicorn>=0.14.0 (from gradio)\n",
+      "  Downloading uvicorn-0.34.0-py3-none-any.whl.metadata (6.5 kB)\n",
+      "Requirement already satisfied: fsspec in /opt/conda/lib/python3.12/site-packages (from gradio-client==1.8.0->gradio) (2025.3.0)\n",
+      "Collecting websockets<16.0,>=10.0 (from gradio-client==1.8.0->gradio)\n",
+      "  Downloading websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.8 kB)\n",
+      "Requirement already satisfied: idna>=2.8 in /opt/conda/lib/python3.12/site-packages (from anyio<5.0,>=3.0->gradio) (3.10)\n",
+      "Requirement already satisfied: sniffio>=1.1 in /opt/conda/lib/python3.12/site-packages (from anyio<5.0,>=3.0->gradio) (1.3.1)\n",
+      "Requirement already satisfied: certifi in /opt/conda/lib/python3.12/site-packages (from httpx>=0.24.1->gradio) (2024.8.30)\n",
+      "Requirement already satisfied: httpcore==1.* in /opt/conda/lib/python3.12/site-packages (from httpx>=0.24.1->gradio) (1.0.6)\n",
+      "Requirement already satisfied: h11<0.15,>=0.13 in /opt/conda/lib/python3.12/site-packages (from httpcore==1.*->httpx>=0.24.1->gradio) (0.14.0)\n",
+      "Requirement already satisfied: filelock in /opt/conda/lib/python3.12/site-packages (from huggingface-hub>=0.28.1->gradio) (3.18.0)\n",
+      "Requirement already satisfied: requests in /opt/conda/lib/python3.12/site-packages (from huggingface-hub>=0.28.1->gradio) (2.32.3)\n",
+      "Requirement already satisfied: tqdm>=4.42.1 in /opt/conda/lib/python3.12/site-packages (from huggingface-hub>=0.28.1->gradio) (4.67.0)\n",
+      "Requirement already satisfied: python-dateutil>=2.8.2 in /opt/conda/lib/python3.12/site-packages (from pandas<3.0,>=1.0->gradio) (2.9.0)\n",
+      "Requirement already satisfied: pytz>=2020.1 in /opt/conda/lib/python3.12/site-packages (from pandas<3.0,>=1.0->gradio) (2024.2)\n",
+      "Requirement already satisfied: tzdata>=2022.7 in /opt/conda/lib/python3.12/site-packages (from pandas<3.0,>=1.0->gradio) (2025.2)\n",
+      "Requirement already satisfied: annotated-types>=0.6.0 in /opt/conda/lib/python3.12/site-packages (from pydantic<2.12,>=2.0->gradio) (0.7.0)\n",
+      "Requirement already satisfied: pydantic-core==2.23.4 in /opt/conda/lib/python3.12/site-packages (from pydantic<2.12,>=2.0->gradio) (2.23.4)\n",
+      "Requirement already satisfied: click>=8.0.0 in /opt/conda/lib/python3.12/site-packages (from typer<1.0,>=0.12->gradio) (8.1.8)\n",
+      "Collecting shellingham>=1.3.0 (from typer<1.0,>=0.12->gradio)\n",
+      "  Downloading shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)\n",
+      "Collecting rich>=10.11.0 (from typer<1.0,>=0.12->gradio)\n",
+      "  Downloading rich-14.0.0-py3-none-any.whl.metadata (18 kB)\n",
+      "Requirement already satisfied: six>=1.5 in /opt/conda/lib/python3.12/site-packages (from python-dateutil>=2.8.2->pandas<3.0,>=1.0->gradio) (1.16.0)\n",
+      "Collecting markdown-it-py>=2.2.0 (from rich>=10.11.0->typer<1.0,>=0.12->gradio)\n",
+      "  Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)\n",
+      "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /opt/conda/lib/python3.12/site-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio) (2.18.0)\n",
+      "Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/lib/python3.12/site-packages (from requests->huggingface-hub>=0.28.1->gradio) (3.4.0)\n",
+      "Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/conda/lib/python3.12/site-packages (from requests->huggingface-hub>=0.28.1->gradio) (2.2.3)\n",
+      "Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<1.0,>=0.12->gradio)\n",
+      "  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)\n",
+      "Downloading gradio-5.24.0-py3-none-any.whl (46.9 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m46.9/46.9 MB\u001b[0m \u001b[31m103.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading gradio_client-1.8.0-py3-none-any.whl (322 kB)\n",
+      "Downloading aiofiles-24.1.0-py3-none-any.whl (15 kB)\n",
+      "Downloading fastapi-0.115.12-py3-none-any.whl (95 kB)\n",
+      "Downloading groovy-0.1.2-py3-none-any.whl (14 kB)\n",
+      "Downloading python_multipart-0.0.20-py3-none-any.whl (24 kB)\n",
+      "Downloading ruff-0.11.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.3 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.3/11.3 MB\u001b[0m \u001b[31m97.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading safehttpx-0.1.6-py3-none-any.whl (8.7 kB)\n",
+      "Downloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)\n",
+      "Downloading starlette-0.46.1-py3-none-any.whl (71 kB)\n",
+      "Downloading typer-0.15.2-py3-none-any.whl (45 kB)\n",
+      "Downloading uvicorn-0.34.0-py3-none-any.whl (62 kB)\n",
+      "Downloading ffmpy-0.5.0-py3-none-any.whl (6.0 kB)\n",
+      "Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n",
+      "Downloading rich-14.0.0-py3-none-any.whl (243 kB)\n",
+      "Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)\n",
+      "Downloading websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (182 kB)\n",
+      "Downloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB)\n",
+      "Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\n",
+      "Installing collected packages: pydub, websockets, uvicorn, shellingham, semantic-version, ruff, python-multipart, mdurl, groovy, ffmpy, aiofiles, starlette, markdown-it-py, safehttpx, rich, gradio-client, fastapi, typer, gradio\n",
+      "Successfully installed aiofiles-24.1.0 fastapi-0.115.12 ffmpy-0.5.0 gradio-5.24.0 gradio-client-1.8.0 groovy-0.1.2 markdown-it-py-3.0.0 mdurl-0.1.2 pydub-0.25.1 python-multipart-0.0.20 rich-14.0.0 ruff-0.11.4 safehttpx-0.1.6 semantic-version-2.10.0 shellingham-1.5.4 starlette-0.46.1 typer-0.15.2 uvicorn-0.34.0 websockets-15.0.1\n"
+     ]
+    }
+   ],
+   "source": [
+    "!pip install gradio\n",
+    "!pip install opik"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "8c081ed0-03b7-4a91-b487-4e5e3332db9b",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Collecting opik\n",
+      "  Downloading opik-1.7.0-py3-none-any.whl.metadata (24 kB)\n",
+      "Collecting boto3-stubs>=1.34.110 (from boto3-stubs[bedrock-runtime]>=1.34.110->opik)\n",
+      "  Downloading boto3_stubs-1.37.30-py3-none-any.whl.metadata (149 kB)\n",
+      "Requirement already satisfied: click in /opt/conda/lib/python3.12/site-packages (from opik) (8.1.8)\n",
+      "Requirement already satisfied: httpx in /opt/conda/lib/python3.12/site-packages (from opik) (0.27.2)\n",
+      "Collecting levenshtein<1.0.0 (from opik)\n",
+      "  Downloading levenshtein-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.6 kB)\n",
+      "Collecting litellm (from opik)\n",
+      "  Downloading litellm-1.65.4.post1.tar.gz (6.7 MB)\n",
+      "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.7/6.7 MB\u001b[0m \u001b[31m69.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25h  Installing build dependencies ... \u001b[?25ldone\n",
+      "\u001b[?25h  Getting requirements to build wheel ... \u001b[?25ldone\n",
+      "\u001b[?25h  Preparing metadata (pyproject.toml) ... \u001b[?25ldone\n",
+      "\u001b[?25hCollecting openai<2.0.0 (from opik)\n",
+      "  Downloading openai-1.72.0-py3-none-any.whl.metadata (25 kB)\n",
+      "Requirement already satisfied: pydantic-settings<3.0.0,>=2.0.0 in /opt/conda/lib/python3.12/site-packages (from opik) (2.8.1)\n",
+      "Requirement already satisfied: pydantic<3.0.0,>=2.0.0 in /opt/conda/lib/python3.12/site-packages (from opik) (2.9.2)\n",
+      "Requirement already satisfied: pytest in /opt/conda/lib/python3.12/site-packages (from opik) (8.3.5)\n",
+      "Requirement already satisfied: rich in /opt/conda/lib/python3.12/site-packages (from opik) (14.0.0)\n",
+      "Requirement already satisfied: sentry_sdk>=2.0.0 in /opt/conda/lib/python3.12/site-packages (from opik) (2.24.1)\n",
+      "Collecting tenacity (from opik)\n",
+      "  Downloading tenacity-9.1.2-py3-none-any.whl.metadata (1.2 kB)\n",
+      "Requirement already satisfied: tqdm in /opt/conda/lib/python3.12/site-packages (from opik) (4.67.0)\n",
+      "Collecting uuid6 (from opik)\n",
+      "  Downloading uuid6-2024.7.10-py3-none-any.whl.metadata (8.6 kB)\n",
+      "Requirement already satisfied: jinja2 in /opt/conda/lib/python3.12/site-packages (from opik) (3.1.4)\n",
+      "Collecting botocore-stubs (from boto3-stubs>=1.34.110->boto3-stubs[bedrock-runtime]>=1.34.110->opik)\n",
+      "  Downloading botocore_stubs-1.37.29-py3-none-any.whl.metadata (4.7 kB)\n",
+      "Collecting types-s3transfer (from boto3-stubs>=1.34.110->boto3-stubs[bedrock-runtime]>=1.34.110->opik)\n",
+      "  Downloading types_s3transfer-0.11.4-py3-none-any.whl.metadata (5.0 kB)\n",
+      "Collecting mypy-boto3-bedrock-runtime<1.38.0,>=1.37.0 (from boto3-stubs[bedrock-runtime]>=1.34.110->opik)\n",
+      "  Downloading mypy_boto3_bedrock_runtime-1.37.30-py3-none-any.whl.metadata (15 kB)\n",
+      "Collecting rapidfuzz<4.0.0,>=3.9.0 (from levenshtein<1.0.0->opik)\n",
+      "  Downloading rapidfuzz-3.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (12 kB)\n",
+      "Requirement already satisfied: anyio<5,>=3.5.0 in /opt/conda/lib/python3.12/site-packages (from openai<2.0.0->opik) (4.6.2.post1)\n",
+      "Requirement already satisfied: distro<2,>=1.7.0 in /opt/conda/lib/python3.12/site-packages (from openai<2.0.0->opik) (1.9.0)\n",
+      "Collecting jiter<1,>=0.4.0 (from openai<2.0.0->opik)\n",
+      "  Downloading jiter-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.2 kB)\n",
+      "Requirement already satisfied: sniffio in /opt/conda/lib/python3.12/site-packages (from openai<2.0.0->opik) (1.3.1)\n",
+      "Requirement already satisfied: typing-extensions<5,>=4.11 in /opt/conda/lib/python3.12/site-packages (from openai<2.0.0->opik) (4.12.2)\n",
+      "Requirement already satisfied: certifi in /opt/conda/lib/python3.12/site-packages (from httpx->opik) (2024.8.30)\n",
+      "Requirement already satisfied: httpcore==1.* in /opt/conda/lib/python3.12/site-packages (from httpx->opik) (1.0.6)\n",
+      "Requirement already satisfied: idna in /opt/conda/lib/python3.12/site-packages (from httpx->opik) (3.10)\n",
+      "Requirement already satisfied: h11<0.15,>=0.13 in /opt/conda/lib/python3.12/site-packages (from httpcore==1.*->httpx->opik) (0.14.0)\n",
+      "Requirement already satisfied: annotated-types>=0.6.0 in /opt/conda/lib/python3.12/site-packages (from pydantic<3.0.0,>=2.0.0->opik) (0.7.0)\n",
+      "Requirement already satisfied: pydantic-core==2.23.4 in /opt/conda/lib/python3.12/site-packages (from pydantic<3.0.0,>=2.0.0->opik) (2.23.4)\n",
+      "Requirement already satisfied: python-dotenv>=0.21.0 in /opt/conda/lib/python3.12/site-packages (from pydantic-settings<3.0.0,>=2.0.0->opik) (1.1.0)\n",
+      "Requirement already satisfied: urllib3>=1.26.11 in /opt/conda/lib/python3.12/site-packages (from sentry_sdk>=2.0.0->opik) (2.2.3)\n",
+      "Requirement already satisfied: MarkupSafe>=2.0 in /opt/conda/lib/python3.12/site-packages (from jinja2->opik) (3.0.2)\n",
+      "Requirement already satisfied: aiohttp in /opt/conda/lib/python3.12/site-packages (from litellm->opik) (3.11.14)\n",
+      "Requirement already satisfied: importlib-metadata>=6.8.0 in /opt/conda/lib/python3.12/site-packages (from litellm->opik) (8.5.0)\n",
+      "Requirement already satisfied: jsonschema<5.0.0,>=4.22.0 in /opt/conda/lib/python3.12/site-packages (from litellm->opik) (4.23.0)\n",
+      "Collecting tiktoken>=0.7.0 (from litellm->opik)\n",
+      "  Downloading tiktoken-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.7 kB)\n",
+      "Collecting tokenizers (from litellm->opik)\n",
+      "  Downloading tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.8 kB)\n",
+      "Requirement already satisfied: iniconfig in /opt/conda/lib/python3.12/site-packages (from pytest->opik) (2.1.0)\n",
+      "Requirement already satisfied: packaging in /opt/conda/lib/python3.12/site-packages (from pytest->opik) (24.1)\n",
+      "Requirement already satisfied: pluggy<2,>=1.5 in /opt/conda/lib/python3.12/site-packages (from pytest->opik) (1.5.0)\n",
+      "Requirement already satisfied: markdown-it-py>=2.2.0 in /opt/conda/lib/python3.12/site-packages (from rich->opik) (3.0.0)\n",
+      "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /opt/conda/lib/python3.12/site-packages (from rich->opik) (2.18.0)\n",
+      "Requirement already satisfied: zipp>=3.20 in /opt/conda/lib/python3.12/site-packages (from importlib-metadata>=6.8.0->litellm->opik) (3.21.0)\n",
+      "Requirement already satisfied: attrs>=22.2.0 in /opt/conda/lib/python3.12/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm->opik) (24.2.0)\n",
+      "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /opt/conda/lib/python3.12/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm->opik) (2024.10.1)\n",
+      "Requirement already satisfied: referencing>=0.28.4 in /opt/conda/lib/python3.12/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm->opik) (0.35.1)\n",
+      "Requirement already satisfied: rpds-py>=0.7.1 in /opt/conda/lib/python3.12/site-packages (from jsonschema<5.0.0,>=4.22.0->litellm->opik) (0.21.0)\n",
+      "Requirement already satisfied: mdurl~=0.1 in /opt/conda/lib/python3.12/site-packages (from markdown-it-py>=2.2.0->rich->opik) (0.1.2)\n",
+      "Collecting regex>=2022.1.18 (from tiktoken>=0.7.0->litellm->opik)\n",
+      "  Downloading regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (40 kB)\n",
+      "Requirement already satisfied: requests>=2.26.0 in /opt/conda/lib/python3.12/site-packages (from tiktoken>=0.7.0->litellm->opik) (2.32.3)\n",
+      "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /opt/conda/lib/python3.12/site-packages (from aiohttp->litellm->opik) (2.6.1)\n",
+      "Requirement already satisfied: aiosignal>=1.1.2 in /opt/conda/lib/python3.12/site-packages (from aiohttp->litellm->opik) (1.3.2)\n",
+      "Requirement already satisfied: frozenlist>=1.1.1 in /opt/conda/lib/python3.12/site-packages (from aiohttp->litellm->opik) (1.5.0)\n",
+      "Requirement already satisfied: multidict<7.0,>=4.5 in /opt/conda/lib/python3.12/site-packages (from aiohttp->litellm->opik) (6.2.0)\n",
+      "Requirement already satisfied: propcache>=0.2.0 in /opt/conda/lib/python3.12/site-packages (from aiohttp->litellm->opik) (0.3.1)\n",
+      "Requirement already satisfied: yarl<2.0,>=1.17.0 in /opt/conda/lib/python3.12/site-packages (from aiohttp->litellm->opik) (1.18.3)\n",
+      "Collecting types-awscrt (from botocore-stubs->boto3-stubs>=1.34.110->boto3-stubs[bedrock-runtime]>=1.34.110->opik)\n",
+      "  Downloading types_awscrt-0.25.7-py3-none-any.whl.metadata (4.9 kB)\n",
+      "Requirement already satisfied: huggingface-hub<1.0,>=0.16.4 in /opt/conda/lib/python3.12/site-packages (from tokenizers->litellm->opik) (0.29.3)\n",
+      "Requirement already satisfied: filelock in /opt/conda/lib/python3.12/site-packages (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm->opik) (3.18.0)\n",
+      "Requirement already satisfied: fsspec>=2023.5.0 in /opt/conda/lib/python3.12/site-packages (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm->opik) (2025.3.0)\n",
+      "Requirement already satisfied: pyyaml>=5.1 in /opt/conda/lib/python3.12/site-packages (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm->opik) (6.0.2)\n",
+      "Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/lib/python3.12/site-packages (from requests>=2.26.0->tiktoken>=0.7.0->litellm->opik) (3.4.0)\n",
+      "Downloading opik-1.7.0-py3-none-any.whl (455 kB)\n",
+      "Downloading boto3_stubs-1.37.30-py3-none-any.whl (68 kB)\n",
+      "Downloading levenshtein-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (159 kB)\n",
+      "Downloading openai-1.72.0-py3-none-any.whl (643 kB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m643.9/643.9 kB\u001b[0m \u001b[31m3.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading tenacity-9.1.2-py3-none-any.whl (28 kB)\n",
+      "Downloading uuid6-2024.7.10-py3-none-any.whl (6.4 kB)\n",
+      "Downloading jiter-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (351 kB)\n",
+      "Downloading mypy_boto3_bedrock_runtime-1.37.30-py3-none-any.whl (31 kB)\n",
+      "Downloading rapidfuzz-3.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.1/3.1 MB\u001b[0m \u001b[31m65.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading tiktoken-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.2/1.2 MB\u001b[0m \u001b[31m24.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading botocore_stubs-1.37.29-py3-none-any.whl (65 kB)\n",
+      "Downloading tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.0/3.0 MB\u001b[0m \u001b[31m88.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading types_s3transfer-0.11.4-py3-none-any.whl (19 kB)\n",
+      "Downloading regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (796 kB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m796.9/796.9 kB\u001b[0m \u001b[31m16.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading types_awscrt-0.25.7-py3-none-any.whl (19 kB)\n",
+      "Building wheels for collected packages: litellm\n",
+      "  Building wheel for litellm (pyproject.toml) ... \u001b[?25ldone\n",
+      "\u001b[?25h  Created wheel for litellm: filename=litellm-1.65.4.post1-py3-none-any.whl size=7076116 sha256=e7119b661a42760df647ffc8364ff1d8d57236bfa59b59526e88f6a472e90b8f\n",
+      "  Stored in directory: /home/jovyan/.cache/pip/wheels/cc/8b/33/b810bb0a1b4f5db5563396062e0b45e426619a6f294c3534f6\n",
+      "Successfully built litellm\n",
+      "Installing collected packages: uuid6, types-s3transfer, types-awscrt, tenacity, regex, rapidfuzz, mypy-boto3-bedrock-runtime, jiter, tiktoken, levenshtein, botocore-stubs, tokenizers, openai, boto3-stubs, litellm, opik\n",
+      "Successfully installed boto3-stubs-1.37.30 botocore-stubs-1.37.29 jiter-0.9.0 levenshtein-0.27.1 litellm-1.65.4.post1 mypy-boto3-bedrock-runtime-1.37.30 openai-1.72.0 opik-1.7.0 rapidfuzz-3.13.0 regex-2024.11.6 tenacity-9.1.2 tiktoken-0.9.0 tokenizers-0.21.1 types-awscrt-0.25.7 types-s3transfer-0.11.4 uuid6-2024.7.10\n"
+     ]
+    }
+   ],
+   "source": [
+    "!pip install opik"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "12d620e0-0466-4fc6-b030-6fe7769446ca",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "* Running on local URL:  http://127.0.0.1:7860\n",
+      "* Running on public URL: https://bb9ff0a89e0c2a5294.gradio.live\n",
+      "\n",
+      "This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to Hugging Face Spaces (https://huggingface.co/spaces)\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<div><iframe src=\"https://bb9ff0a89e0c2a5294.gradio.live\" width=\"100%\" height=\"500\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Traceback (most recent call last):\n",
+      "  File \"/opt/conda/lib/python3.12/site-packages/gradio/queueing.py\", line 625, in process_events\n",
+      "    response = await route_utils.call_process_api(\n",
+      "               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "  File \"/opt/conda/lib/python3.12/site-packages/gradio/route_utils.py\", line 322, in call_process_api\n",
+      "    output = await app.get_blocks().process_api(\n",
+      "             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "  File \"/opt/conda/lib/python3.12/site-packages/gradio/blocks.py\", line 2137, in process_api\n",
+      "    result = await self.call_function(\n",
+      "             ^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "  File \"/opt/conda/lib/python3.12/site-packages/gradio/blocks.py\", line 1663, in call_function\n",
+      "    prediction = await anyio.to_thread.run_sync(  # type: ignore\n",
+      "                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "  File \"/opt/conda/lib/python3.12/site-packages/anyio/to_thread.py\", line 56, in run_sync\n",
+      "    return await get_async_backend().run_sync_in_worker_thread(\n",
+      "           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "  File \"/opt/conda/lib/python3.12/site-packages/anyio/_backends/_asyncio.py\", line 2441, in run_sync_in_worker_thread\n",
+      "    return await future\n",
+      "           ^^^^^^^^^^^^\n",
+      "  File \"/opt/conda/lib/python3.12/site-packages/anyio/_backends/_asyncio.py\", line 943, in run\n",
+      "    result = context.run(func, *args)\n",
+      "             ^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "  File \"/opt/conda/lib/python3.12/site-packages/gradio/utils.py\", line 890, in wrapper\n",
+      "    response = f(*args, **kwargs)\n",
+      "               ^^^^^^^^^^^^^^^^^^\n",
+      "  File \"/home/jovyan/api_writer/test_ui.py\", line 54, in process_query\n",
+      "    llm_response, llm_queries = http_bot(prompt)\n",
+      "                                         ^^^^^^\n",
+      "NameError: name 'prompt' is not defined\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Keyboard interruption in main thread... closing server.\n",
+      "Killing tunnel 127.0.0.1:7860 <> https://bb9ff0a89e0c2a5294.gradio.live\n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": []
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "demo.launch(debug=True,share=True)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "id": "54ff0145-6e2c-4edc-9e7e-6e7845b2124a",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import sys"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "id": "b9822a93-e06f-4f0b-9e35-69cffdc227e3",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "True"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "sys.version_info >= (3,11)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "f03df0a7-2e42-474b-808d-479f93c8b27e",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import pint"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "7fcfd5f2-147d-46eb-9d7e-f9322eff6941",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.13.1"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5e3ed775d1884c6ea965185302d9e79b305a7c8d
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,7 @@
+vllm==0.8.3
+bitsandbytes>=0.45.3
+gradio==5.24.0
+opik==1.7.0
+flashinfer-python==0.2.5
+nomad-lab==1.3.15
+
diff --git a/vllm.ipynb b/vllm.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..5264aad0a3b4ecdd372b9dbf9709fe9bbd07adf6
--- /dev/null
+++ b/vllm.ipynb
@@ -0,0 +1,1425 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "a280186f-c8ff-4927-a56d-d604313e0a6b",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Collecting vllm\n",
+      "  Using cached vllm-0.8.3-cp38-abi3-manylinux1_x86_64.whl.metadata (27 kB)\n",
+      "Requirement already satisfied: cachetools in /opt/conda/lib/python3.12/site-packages (from vllm) (5.5.2)\n",
+      "Requirement already satisfied: psutil in /opt/conda/lib/python3.12/site-packages (from vllm) (6.1.0)\n",
+      "Collecting sentencepiece (from vllm)\n",
+      "  Using cached sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.7 kB)\n",
+      "Requirement already satisfied: numpy in /opt/conda/lib/python3.12/site-packages (from vllm) (1.26.4)\n",
+      "Requirement already satisfied: requests>=2.26.0 in /opt/conda/lib/python3.12/site-packages (from vllm) (2.32.3)\n",
+      "Requirement already satisfied: tqdm in /opt/conda/lib/python3.12/site-packages (from vllm) (4.67.0)\n",
+      "Collecting blake3 (from vllm)\n",
+      "  Using cached blake3-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)\n",
+      "Collecting py-cpuinfo (from vllm)\n",
+      "  Using cached py_cpuinfo-9.0.0-py3-none-any.whl.metadata (794 bytes)\n",
+      "Collecting transformers>=4.51.0 (from vllm)\n",
+      "  Using cached transformers-4.51.1-py3-none-any.whl.metadata (38 kB)\n",
+      "Collecting huggingface-hub>=0.30.0 (from huggingface-hub[hf_xet]>=0.30.0->vllm)\n",
+      "  Using cached huggingface_hub-0.30.2-py3-none-any.whl.metadata (13 kB)\n",
+      "Requirement already satisfied: tokenizers>=0.19.1 in /opt/conda/lib/python3.12/site-packages (from vllm) (0.21.1)\n",
+      "Requirement already satisfied: protobuf in /opt/conda/lib/python3.12/site-packages (from vllm) (5.29.4)\n",
+      "Requirement already satisfied: fastapi>=0.115.0 in /opt/conda/lib/python3.12/site-packages (from fastapi[standard]>=0.115.0->vllm) (0.115.12)\n",
+      "Requirement already satisfied: aiohttp in /opt/conda/lib/python3.12/site-packages (from vllm) (3.11.14)\n",
+      "Requirement already satisfied: openai>=1.52.0 in /opt/conda/lib/python3.12/site-packages (from vllm) (1.72.0)\n",
+      "Requirement already satisfied: pydantic>=2.9 in /opt/conda/lib/python3.12/site-packages (from vllm) (2.9.2)\n",
+      "Requirement already satisfied: prometheus_client>=0.18.0 in /opt/conda/lib/python3.12/site-packages (from vllm) (0.21.0)\n",
+      "Requirement already satisfied: pillow in /opt/conda/lib/python3.12/site-packages (from vllm) (11.1.0)\n",
+      "Collecting prometheus-fastapi-instrumentator>=7.0.0 (from vllm)\n",
+      "  Using cached prometheus_fastapi_instrumentator-7.1.0-py3-none-any.whl.metadata (13 kB)\n",
+      "Requirement already satisfied: tiktoken>=0.6.0 in /opt/conda/lib/python3.12/site-packages (from vllm) (0.9.0)\n",
+      "Collecting lm-format-enforcer<0.11,>=0.10.11 (from vllm)\n",
+      "  Using cached lm_format_enforcer-0.10.11-py3-none-any.whl.metadata (17 kB)\n",
+      "Collecting llguidance<0.8.0,>=0.7.9 (from vllm)\n",
+      "  Using cached llguidance-0.7.13-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (9.2 kB)\n",
+      "Collecting outlines==0.1.11 (from vllm)\n",
+      "  Using cached outlines-0.1.11-py3-none-any.whl.metadata (17 kB)\n",
+      "Collecting lark==1.2.2 (from vllm)\n",
+      "  Using cached lark-1.2.2-py3-none-any.whl.metadata (1.8 kB)\n",
+      "Collecting xgrammar==0.1.17 (from vllm)\n",
+      "  Using cached xgrammar-0.1.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.5 kB)\n",
+      "Requirement already satisfied: typing_extensions>=4.10 in /opt/conda/lib/python3.12/site-packages (from vllm) (4.12.2)\n",
+      "Requirement already satisfied: filelock>=3.16.1 in /opt/conda/lib/python3.12/site-packages (from vllm) (3.18.0)\n",
+      "Collecting partial-json-parser (from vllm)\n",
+      "  Using cached partial_json_parser-0.2.1.1.post5-py3-none-any.whl.metadata (6.1 kB)\n",
+      "Requirement already satisfied: pyzmq in /opt/conda/lib/python3.12/site-packages (from vllm) (26.2.0)\n",
+      "Collecting msgspec (from vllm)\n",
+      "  Using cached msgspec-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.9 kB)\n",
+      "Collecting gguf==0.10.0 (from vllm)\n",
+      "  Using cached gguf-0.10.0-py3-none-any.whl.metadata (3.5 kB)\n",
+      "Requirement already satisfied: importlib_metadata in /opt/conda/lib/python3.12/site-packages (from vllm) (8.5.0)\n",
+      "Collecting mistral_common>=1.5.4 (from mistral_common[opencv]>=1.5.4->vllm)\n",
+      "  Using cached mistral_common-1.5.4-py3-none-any.whl.metadata (4.5 kB)\n",
+      "Collecting opencv-python-headless>=4.11.0 (from vllm)\n",
+      "  Using cached opencv_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB)\n",
+      "Requirement already satisfied: pyyaml in /opt/conda/lib/python3.12/site-packages (from vllm) (6.0.2)\n",
+      "Requirement already satisfied: six>=1.16.0 in /opt/conda/lib/python3.12/site-packages (from vllm) (1.16.0)\n",
+      "Requirement already satisfied: setuptools>=74.1.1 in /opt/conda/lib/python3.12/site-packages (from vllm) (75.3.0)\n",
+      "Collecting einops (from vllm)\n",
+      "  Using cached einops-0.8.1-py3-none-any.whl.metadata (13 kB)\n",
+      "Collecting compressed-tensors==0.9.2 (from vllm)\n",
+      "  Using cached compressed_tensors-0.9.2-py3-none-any.whl.metadata (7.0 kB)\n",
+      "Collecting depyf==0.18.0 (from vllm)\n",
+      "  Using cached depyf-0.18.0-py3-none-any.whl.metadata (7.1 kB)\n",
+      "Collecting cloudpickle (from vllm)\n",
+      "  Using cached cloudpickle-3.1.1-py3-none-any.whl.metadata (7.1 kB)\n",
+      "Collecting watchfiles (from vllm)\n",
+      "  Using cached watchfiles-1.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)\n",
+      "Requirement already satisfied: python-json-logger in /opt/conda/lib/python3.12/site-packages (from vllm) (2.0.7)\n",
+      "Requirement already satisfied: scipy in /opt/conda/lib/python3.12/site-packages (from vllm) (1.15.2)\n",
+      "Collecting ninja (from vllm)\n",
+      "  Using cached ninja-1.11.1.4-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (5.0 kB)\n",
+      "Collecting numba==0.61 (from vllm)\n",
+      "  Using cached numba-0.61.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.8 kB)\n",
+      "Collecting ray!=2.44.*,>=2.43.0 (from ray[cgraph]!=2.44.*,>=2.43.0->vllm)\n",
+      "  Using cached ray-2.43.0-cp312-cp312-manylinux2014_x86_64.whl.metadata (19 kB)\n",
+      "Collecting torch==2.6.0 (from vllm)\n",
+      "  Using cached torch-2.6.0-cp312-cp312-manylinux1_x86_64.whl.metadata (28 kB)\n",
+      "Collecting torchaudio==2.6.0 (from vllm)\n",
+      "  Using cached torchaudio-2.6.0-cp312-cp312-manylinux1_x86_64.whl.metadata (6.6 kB)\n",
+      "Collecting torchvision==0.21.0 (from vllm)\n",
+      "  Using cached torchvision-0.21.0-cp312-cp312-manylinux1_x86_64.whl.metadata (6.1 kB)\n",
+      "Collecting xformers==0.0.29.post2 (from vllm)\n",
+      "  Using cached xformers-0.0.29.post2-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (1.2 kB)\n",
+      "Collecting astor (from depyf==0.18.0->vllm)\n",
+      "  Using cached astor-0.8.1-py2.py3-none-any.whl.metadata (4.2 kB)\n",
+      "Requirement already satisfied: dill in /opt/conda/lib/python3.12/site-packages (from depyf==0.18.0->vllm) (0.3.9)\n",
+      "Collecting llvmlite<0.45,>=0.44.0dev0 (from numba==0.61->vllm)\n",
+      "  Using cached llvmlite-0.44.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.0 kB)\n",
+      "Collecting interegular (from outlines==0.1.11->vllm)\n",
+      "  Using cached interegular-0.3.3-py37-none-any.whl.metadata (3.0 kB)\n",
+      "Requirement already satisfied: jinja2 in /opt/conda/lib/python3.12/site-packages (from outlines==0.1.11->vllm) (3.1.4)\n",
+      "Requirement already satisfied: nest_asyncio in /opt/conda/lib/python3.12/site-packages (from outlines==0.1.11->vllm) (1.6.0)\n",
+      "Collecting diskcache (from outlines==0.1.11->vllm)\n",
+      "  Using cached diskcache-5.6.3-py3-none-any.whl.metadata (20 kB)\n",
+      "Requirement already satisfied: referencing in /opt/conda/lib/python3.12/site-packages (from outlines==0.1.11->vllm) (0.35.1)\n",
+      "Requirement already satisfied: jsonschema in /opt/conda/lib/python3.12/site-packages (from outlines==0.1.11->vllm) (4.23.0)\n",
+      "Collecting pycountry (from outlines==0.1.11->vllm)\n",
+      "  Using cached pycountry-24.6.1-py3-none-any.whl.metadata (12 kB)\n",
+      "Collecting airportsdata (from outlines==0.1.11->vllm)\n",
+      "  Using cached airportsdata-20250224-py3-none-any.whl.metadata (9.0 kB)\n",
+      "Collecting outlines_core==0.1.26 (from outlines==0.1.11->vllm)\n",
+      "  Using cached outlines_core-0.1.26-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.8 kB)\n",
+      "Requirement already satisfied: networkx in /opt/conda/lib/python3.12/site-packages (from torch==2.6.0->vllm) (3.4.2)\n",
+      "Requirement already satisfied: fsspec in /opt/conda/lib/python3.12/site-packages (from torch==2.6.0->vllm) (2025.3.0)\n",
+      "Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
+      "Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
+      "Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
+      "Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
+      "Collecting nvidia-cublas-cu12==12.4.5.8 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
+      "Collecting nvidia-cufft-cu12==11.2.1.3 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
+      "Collecting nvidia-curand-cu12==10.3.5.147 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
+      "Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
+      "Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
+      "Collecting nvidia-cusparselt-cu12==0.6.2 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl.metadata (6.8 kB)\n",
+      "Collecting nvidia-nccl-cu12==2.21.5 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n",
+      "Collecting nvidia-nvtx-cu12==12.4.127 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.7 kB)\n",
+      "Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch==2.6.0->vllm)\n",
+      "  Using cached nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
+      "Collecting triton==3.2.0 (from torch==2.6.0->vllm)\n",
+      "  Using cached triton-3.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.4 kB)\n",
+      "Collecting sympy==1.13.1 (from torch==2.6.0->vllm)\n",
+      "  Using cached sympy-1.13.1-py3-none-any.whl.metadata (12 kB)\n",
+      "Collecting nanobind>=2.0.0 (from xgrammar==0.1.17->vllm)\n",
+      "  Using cached nanobind-2.6.1-py3-none-any.whl.metadata (1.8 kB)\n",
+      "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /opt/conda/lib/python3.12/site-packages (from sympy==1.13.1->torch==2.6.0->vllm) (1.3.0)\n",
+      "Requirement already satisfied: starlette<0.47.0,>=0.40.0 in /opt/conda/lib/python3.12/site-packages (from fastapi>=0.115.0->fastapi[standard]>=0.115.0->vllm) (0.46.1)\n",
+      "Collecting fastapi-cli>=0.0.5 (from fastapi-cli[standard]>=0.0.5; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm)\n",
+      "  Using cached fastapi_cli-0.0.7-py3-none-any.whl.metadata (6.2 kB)\n",
+      "Requirement already satisfied: httpx>=0.23.0 in /opt/conda/lib/python3.12/site-packages (from fastapi[standard]>=0.115.0->vllm) (0.27.2)\n",
+      "Collecting jinja2 (from outlines==0.1.11->vllm)\n",
+      "  Using cached jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)\n",
+      "Requirement already satisfied: python-multipart>=0.0.18 in /opt/conda/lib/python3.12/site-packages (from fastapi[standard]>=0.115.0->vllm) (0.0.20)\n",
+      "Collecting email-validator>=2.0.0 (from fastapi[standard]>=0.115.0->vllm)\n",
+      "  Using cached email_validator-2.2.0-py3-none-any.whl.metadata (25 kB)\n",
+      "Requirement already satisfied: uvicorn>=0.12.0 in /opt/conda/lib/python3.12/site-packages (from uvicorn[standard]>=0.12.0; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm) (0.34.0)\n",
+      "Requirement already satisfied: packaging>=20.9 in /opt/conda/lib/python3.12/site-packages (from huggingface-hub>=0.30.0->huggingface-hub[hf_xet]>=0.30.0->vllm) (24.1)\n",
+      "Collecting hf-xet>=0.1.4 (from huggingface-hub[hf_xet]>=0.30.0->vllm)\n",
+      "  Using cached hf_xet-1.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (494 bytes)\n",
+      "Requirement already satisfied: anyio<5,>=3.5.0 in /opt/conda/lib/python3.12/site-packages (from openai>=1.52.0->vllm) (4.6.2.post1)\n",
+      "Requirement already satisfied: distro<2,>=1.7.0 in /opt/conda/lib/python3.12/site-packages (from openai>=1.52.0->vllm) (1.9.0)\n",
+      "Requirement already satisfied: jiter<1,>=0.4.0 in /opt/conda/lib/python3.12/site-packages (from openai>=1.52.0->vllm) (0.9.0)\n",
+      "Requirement already satisfied: sniffio in /opt/conda/lib/python3.12/site-packages (from openai>=1.52.0->vllm) (1.3.1)\n",
+      "Requirement already satisfied: annotated-types>=0.6.0 in /opt/conda/lib/python3.12/site-packages (from pydantic>=2.9->vllm) (0.7.0)\n",
+      "Requirement already satisfied: pydantic-core==2.23.4 in /opt/conda/lib/python3.12/site-packages (from pydantic>=2.9->vllm) (2.23.4)\n",
+      "Requirement already satisfied: click>=7.0 in /opt/conda/lib/python3.12/site-packages (from ray!=2.44.*,>=2.43.0->ray[cgraph]!=2.44.*,>=2.43.0->vllm) (8.1.8)\n",
+      "Requirement already satisfied: msgpack<2.0.0,>=1.0.0 in /opt/conda/lib/python3.12/site-packages (from ray!=2.44.*,>=2.43.0->ray[cgraph]!=2.44.*,>=2.43.0->vllm) (1.1.0)\n",
+      "Requirement already satisfied: aiosignal in /opt/conda/lib/python3.12/site-packages (from ray!=2.44.*,>=2.43.0->ray[cgraph]!=2.44.*,>=2.43.0->vllm) (1.3.2)\n",
+      "Requirement already satisfied: frozenlist in /opt/conda/lib/python3.12/site-packages (from ray!=2.44.*,>=2.43.0->ray[cgraph]!=2.44.*,>=2.43.0->vllm) (1.5.0)\n",
+      "Collecting cupy-cuda12x (from ray[cgraph]!=2.44.*,>=2.43.0->vllm)\n",
+      "  Using cached cupy_cuda12x-13.4.1-cp312-cp312-manylinux2014_x86_64.whl.metadata (2.6 kB)\n",
+      "Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/lib/python3.12/site-packages (from requests>=2.26.0->vllm) (3.4.0)\n",
+      "Requirement already satisfied: idna<4,>=2.5 in /opt/conda/lib/python3.12/site-packages (from requests>=2.26.0->vllm) (3.10)\n",
+      "Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/conda/lib/python3.12/site-packages (from requests>=2.26.0->vllm) (2.2.3)\n",
+      "Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.12/site-packages (from requests>=2.26.0->vllm) (2024.8.30)\n",
+      "Requirement already satisfied: regex>=2022.1.18 in /opt/conda/lib/python3.12/site-packages (from tiktoken>=0.6.0->vllm) (2024.11.6)\n",
+      "Collecting safetensors>=0.4.3 (from transformers>=4.51.0->vllm)\n",
+      "  Using cached safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.8 kB)\n",
+      "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /opt/conda/lib/python3.12/site-packages (from aiohttp->vllm) (2.6.1)\n",
+      "Requirement already satisfied: attrs>=17.3.0 in /opt/conda/lib/python3.12/site-packages (from aiohttp->vllm) (24.2.0)\n",
+      "Requirement already satisfied: multidict<7.0,>=4.5 in /opt/conda/lib/python3.12/site-packages (from aiohttp->vllm) (6.2.0)\n",
+      "Requirement already satisfied: propcache>=0.2.0 in /opt/conda/lib/python3.12/site-packages (from aiohttp->vllm) (0.3.1)\n",
+      "Requirement already satisfied: yarl<2.0,>=1.17.0 in /opt/conda/lib/python3.12/site-packages (from aiohttp->vllm) (1.18.3)\n",
+      "Requirement already satisfied: zipp>=3.20 in /opt/conda/lib/python3.12/site-packages (from importlib_metadata->vllm) (3.21.0)\n",
+      "Requirement already satisfied: dnspython>=2.0.0 in /opt/conda/lib/python3.12/site-packages (from email-validator>=2.0.0->fastapi[standard]>=0.115.0->vllm) (2.7.0)\n",
+      "Requirement already satisfied: typer>=0.12.3 in /opt/conda/lib/python3.12/site-packages (from fastapi-cli>=0.0.5->fastapi-cli[standard]>=0.0.5; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm) (0.15.2)\n",
+      "Collecting rich-toolkit>=0.11.1 (from fastapi-cli>=0.0.5->fastapi-cli[standard]>=0.0.5; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm)\n",
+      "  Using cached rich_toolkit-0.14.1-py3-none-any.whl.metadata (999 bytes)\n",
+      "Requirement already satisfied: httpcore==1.* in /opt/conda/lib/python3.12/site-packages (from httpx>=0.23.0->fastapi[standard]>=0.115.0->vllm) (1.0.6)\n",
+      "Requirement already satisfied: h11<0.15,>=0.13 in /opt/conda/lib/python3.12/site-packages (from httpcore==1.*->httpx>=0.23.0->fastapi[standard]>=0.115.0->vllm) (0.14.0)\n",
+      "Requirement already satisfied: MarkupSafe>=2.0 in /opt/conda/lib/python3.12/site-packages (from jinja2->outlines==0.1.11->vllm) (3.0.2)\n",
+      "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /opt/conda/lib/python3.12/site-packages (from jsonschema->outlines==0.1.11->vllm) (2024.10.1)\n",
+      "Requirement already satisfied: rpds-py>=0.7.1 in /opt/conda/lib/python3.12/site-packages (from jsonschema->outlines==0.1.11->vllm) (0.21.0)\n",
+      "Collecting httptools>=0.6.3 (from uvicorn[standard]>=0.12.0; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm)\n",
+      "  Using cached httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.6 kB)\n",
+      "Requirement already satisfied: python-dotenv>=0.13 in /opt/conda/lib/python3.12/site-packages (from uvicorn[standard]>=0.12.0; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm) (1.1.0)\n",
+      "Collecting uvloop!=0.15.0,!=0.15.1,>=0.14.0 (from uvicorn[standard]>=0.12.0; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm)\n",
+      "  Using cached uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)\n",
+      "Requirement already satisfied: websockets>=10.4 in /opt/conda/lib/python3.12/site-packages (from uvicorn[standard]>=0.12.0; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm) (15.0.1)\n",
+      "Collecting fastrlock>=0.5 (from cupy-cuda12x->ray[cgraph]!=2.44.*,>=2.43.0->vllm)\n",
+      "  Using cached fastrlock-0.8.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.metadata (7.7 kB)\n",
+      "Requirement already satisfied: rich>=13.7.1 in /opt/conda/lib/python3.12/site-packages (from rich-toolkit>=0.11.1->fastapi-cli>=0.0.5->fastapi-cli[standard]>=0.0.5; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm) (14.0.0)\n",
+      "Requirement already satisfied: shellingham>=1.3.0 in /opt/conda/lib/python3.12/site-packages (from typer>=0.12.3->fastapi-cli>=0.0.5->fastapi-cli[standard]>=0.0.5; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm) (1.5.4)\n",
+      "Requirement already satisfied: markdown-it-py>=2.2.0 in /opt/conda/lib/python3.12/site-packages (from rich>=13.7.1->rich-toolkit>=0.11.1->fastapi-cli>=0.0.5->fastapi-cli[standard]>=0.0.5; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm) (3.0.0)\n",
+      "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /opt/conda/lib/python3.12/site-packages (from rich>=13.7.1->rich-toolkit>=0.11.1->fastapi-cli>=0.0.5->fastapi-cli[standard]>=0.0.5; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm) (2.18.0)\n",
+      "Requirement already satisfied: mdurl~=0.1 in /opt/conda/lib/python3.12/site-packages (from markdown-it-py>=2.2.0->rich>=13.7.1->rich-toolkit>=0.11.1->fastapi-cli>=0.0.5->fastapi-cli[standard]>=0.0.5; extra == \"standard\"->fastapi[standard]>=0.115.0->vllm) (0.1.2)\n",
+      "Using cached vllm-0.8.3-cp38-abi3-manylinux1_x86_64.whl (294.0 MB)\n",
+      "Using cached compressed_tensors-0.9.2-py3-none-any.whl (97 kB)\n",
+      "Using cached depyf-0.18.0-py3-none-any.whl (38 kB)\n",
+      "Using cached gguf-0.10.0-py3-none-any.whl (71 kB)\n",
+      "Using cached lark-1.2.2-py3-none-any.whl (111 kB)\n",
+      "Using cached numba-0.61.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.9 MB)\n",
+      "Using cached outlines-0.1.11-py3-none-any.whl (87 kB)\n",
+      "Using cached torch-2.6.0-cp312-cp312-manylinux1_x86_64.whl (766.6 MB)\n",
+      "Using cached torchaudio-2.6.0-cp312-cp312-manylinux1_x86_64.whl (3.4 MB)\n",
+      "Using cached torchvision-0.21.0-cp312-cp312-manylinux1_x86_64.whl (7.2 MB)\n",
+      "Using cached xformers-0.0.29.post2-cp312-cp312-manylinux_2_28_x86_64.whl (44.3 MB)\n",
+      "Using cached xgrammar-0.1.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB)\n",
+      "Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m363.4/363.4 MB\u001b[0m \u001b[31m131.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.8/13.8 MB\u001b[0m \u001b[31m120.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m24.6/24.6 MB\u001b[0m \u001b[31m92.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m:00:01\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m883.7/883.7 kB\u001b[0m \u001b[31m33.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m664.8/664.8 MB\u001b[0m \u001b[31m77.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m211.5/211.5 MB\u001b[0m \u001b[31m156.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m56.3/56.3 MB\u001b[0m \u001b[31m130.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m127.9/127.9 MB\u001b[0m \u001b[31m155.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m207.5/207.5 MB\u001b[0m \u001b[31m144.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_cusparselt_cu12-0.6.2-py3-none-manylinux2014_x86_64.whl (150.1 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m150.1/150.1 MB\u001b[0m \u001b[31m76.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m188.7/188.7 MB\u001b[0m \u001b[31m75.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21.1/21.1 MB\u001b[0m \u001b[31m48.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m:00:01\u001b[0m\n",
+      "\u001b[?25hDownloading nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (99 kB)\n",
+      "Downloading outlines_core-0.1.26-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (343 kB)\n",
+      "Downloading sympy-1.13.1-py3-none-any.whl (6.2 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.2/6.2 MB\u001b[0m \u001b[31m57.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading triton-3.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.2 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m253.2/253.2 MB\u001b[0m \u001b[31m127.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading huggingface_hub-0.30.2-py3-none-any.whl (481 kB)\n",
+      "Downloading llguidance-0.7.13-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.8 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.8/13.8 MB\u001b[0m \u001b[31m66.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m:00:01\u001b[0m\n",
+      "\u001b[?25hDownloading lm_format_enforcer-0.10.11-py3-none-any.whl (44 kB)\n",
+      "Downloading mistral_common-1.5.4-py3-none-any.whl (6.5 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.5/6.5 MB\u001b[0m \u001b[31m84.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading opencv_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.0 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.0/50.0 MB\u001b[0m \u001b[31m118.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading prometheus_fastapi_instrumentator-7.1.0-py3-none-any.whl (19 kB)\n",
+      "Downloading ray-2.43.0-cp312-cp312-manylinux2014_x86_64.whl (67.8 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m67.8/67.8 MB\u001b[0m \u001b[31m135.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m39.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading transformers-4.51.1-py3-none-any.whl (10.4 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.4/10.4 MB\u001b[0m \u001b[31m104.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading blake3-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (374 kB)\n",
+      "Downloading cloudpickle-3.1.1-py3-none-any.whl (20 kB)\n",
+      "Downloading einops-0.8.1-py3-none-any.whl (64 kB)\n",
+      "Downloading msgspec-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (213 kB)\n",
+      "Downloading ninja-1.11.1.4-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (422 kB)\n",
+      "Downloading partial_json_parser-0.2.1.1.post5-py3-none-any.whl (10 kB)\n",
+      "Downloading py_cpuinfo-9.0.0-py3-none-any.whl (22 kB)\n",
+      "Downloading watchfiles-1.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (454 kB)\n",
+      "Downloading email_validator-2.2.0-py3-none-any.whl (33 kB)\n",
+      "Downloading fastapi_cli-0.0.7-py3-none-any.whl (10 kB)\n",
+      "Downloading hf_xet-1.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (53.8 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m53.8/53.8 MB\u001b[0m \u001b[31m117.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading interegular-0.3.3-py37-none-any.whl (23 kB)\n",
+      "Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)\n",
+      "Downloading llvmlite-0.44.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (42.4 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m42.4/42.4 MB\u001b[0m \u001b[31m128.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading nanobind-2.6.1-py3-none-any.whl (238 kB)\n",
+      "Downloading safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (471 kB)\n",
+      "Downloading airportsdata-20250224-py3-none-any.whl (913 kB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m913.7/913.7 kB\u001b[0m \u001b[31m21.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading astor-0.8.1-py2.py3-none-any.whl (27 kB)\n",
+      "Downloading cupy_cuda12x-13.4.1-cp312-cp312-manylinux2014_x86_64.whl (105.3 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m105.3/105.3 MB\u001b[0m \u001b[31m142.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+      "\u001b[?25hDownloading diskcache-5.6.3-py3-none-any.whl (45 kB)\n",
+      "Downloading pycountry-24.6.1-py3-none-any.whl (6.3 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.3/6.3 MB\u001b[0m \u001b[31m76.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hDownloading fastrlock-0.8.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (53 kB)\n",
+      "Downloading httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (510 kB)\n",
+      "Downloading rich_toolkit-0.14.1-py3-none-any.whl (24 kB)\n",
+      "Downloading uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)\n",
+      "\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.7/4.7 MB\u001b[0m \u001b[31m68.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+      "\u001b[?25hInstalling collected packages: triton, sentencepiece, py-cpuinfo, nvidia-cusparselt-cu12, nanobind, fastrlock, blake3, uvloop, sympy, safetensors, pycountry, partial-json-parser, opencv-python-headless, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, ninja, msgspec, llvmlite, llguidance, lark, jinja2, interegular, httptools, hf-xet, gguf, email-validator, einops, diskcache, cupy-cuda12x, cloudpickle, astor, airportsdata, watchfiles, nvidia-cusparse-cu12, nvidia-cudnn-cu12, numba, huggingface-hub, depyf, rich-toolkit, prometheus-fastapi-instrumentator, nvidia-cusolver-cu12, lm-format-enforcer, transformers, torch, ray, outlines_core, mistral_common, fastapi-cli, xgrammar, xformers, torchvision, torchaudio, outlines, compressed-tensors, vllm\n",
+      "  Attempting uninstall: sympy\n",
+      "    Found existing installation: sympy 1.13.3\n",
+      "    Uninstalling sympy-1.13.3:\n",
+      "      Successfully uninstalled sympy-1.13.3\n",
+      "  Attempting uninstall: jinja2\n",
+      "    Found existing installation: Jinja2 3.1.4\n",
+      "    Uninstalling Jinja2-3.1.4:\n",
+      "      Successfully uninstalled Jinja2-3.1.4\n",
+      "  Attempting uninstall: huggingface-hub\n",
+      "    Found existing installation: huggingface-hub 0.29.3\n",
+      "    Uninstalling huggingface-hub-0.29.3:\n",
+      "      Successfully uninstalled huggingface-hub-0.29.3\n",
+      "  Attempting uninstall: torch\n",
+      "    Found existing installation: torch 2.2.1+cu118\n",
+      "    Uninstalling torch-2.2.1+cu118:\n",
+      "      Successfully uninstalled torch-2.2.1+cu118\n",
+      "  Attempting uninstall: torchvision\n",
+      "    Found existing installation: torchvision 0.17.1+cu118\n",
+      "    Uninstalling torchvision-0.17.1+cu118:\n",
+      "      Successfully uninstalled torchvision-0.17.1+cu118\n",
+      "  Attempting uninstall: torchaudio\n",
+      "    Found existing installation: torchaudio 2.2.1+cu118\n",
+      "    Uninstalling torchaudio-2.2.1+cu118:\n",
+      "      Successfully uninstalled torchaudio-2.2.1+cu118\n",
+      "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
+      "mattergen 1.0 requires torch==2.2.1+cu118; sys_platform == \"linux\", but you have torch 2.6.0 which is incompatible.\n",
+      "mattergen 1.0 requires torchaudio==2.2.1+cu118; sys_platform == \"linux\", but you have torchaudio 2.6.0 which is incompatible.\n",
+      "mattergen 1.0 requires torchvision==0.17.1+cu118; sys_platform == \"linux\", but you have torchvision 0.21.0 which is incompatible.\u001b[0m\u001b[31m\n",
+      "\u001b[0mSuccessfully installed airportsdata-20250224 astor-0.8.1 blake3-1.0.4 cloudpickle-3.1.1 compressed-tensors-0.9.2 cupy-cuda12x-13.4.1 depyf-0.18.0 diskcache-5.6.3 einops-0.8.1 email-validator-2.2.0 fastapi-cli-0.0.7 fastrlock-0.8.3 gguf-0.10.0 hf-xet-1.0.3 httptools-0.6.4 huggingface-hub-0.30.2 interegular-0.3.3 jinja2-3.1.6 lark-1.2.2 llguidance-0.7.13 llvmlite-0.44.0 lm-format-enforcer-0.10.11 mistral_common-1.5.4 msgspec-0.19.0 nanobind-2.6.1 ninja-1.11.1.4 numba-0.61.0 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-cusparselt-cu12-0.6.2 nvidia-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 opencv-python-headless-4.11.0.86 outlines-0.1.11 outlines_core-0.1.26 partial-json-parser-0.2.1.1.post5 prometheus-fastapi-instrumentator-7.1.0 py-cpuinfo-9.0.0 pycountry-24.6.1 ray-2.43.0 rich-toolkit-0.14.1 safetensors-0.5.3 sentencepiece-0.2.0 sympy-1.13.1 torch-2.6.0 torchaudio-2.6.0 torchvision-0.21.0 transformers-4.51.1 triton-3.2.0 uvloop-0.21.0 vllm-0.8.3 watchfiles-1.0.5 xformers-0.0.29.post2 xgrammar-0.1.17\n"
+     ]
+    }
+   ],
+   "source": [
+    "!pip install vllm"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "56526343-4ae8-4610-a647-27276baf5edd",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "!pip install bitsandbytes>=0.45.3"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "id": "0ad22fdf-4092-4097-b478-3c993213c152",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "INFO 04-11 08:50:54 [__init__.py:239] Automatically detected platform cuda.\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "2025-04-11 08:50:56,651\tINFO util.py:154 -- Missing packages: ['ipywidgets']. Run `pip install -U ipywidgets`, then restart the notebook server for rich notebook output.\n"
+     ]
+    }
+   ],
+   "source": [
+    "import vllm\n",
+    "import pickle\n",
+    "import torch\n",
+    "import time\n",
+    "import json"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "aafc6ae6-ae6c-44d6-ac86-8c5e356edfe1",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/opt/conda/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
+      "  from .autonotebook import tqdm as notebook_tqdm\n",
+      "Fetching 11 files: 100%|██████████| 11/11 [00:01<00:00,  5.69it/s]\n"
+     ]
+    }
+   ],
+   "source": [
+    "hf_token=\"\"\n",
+    "from huggingface_hub import snapshot_download\n",
+    "snapshot_path=snapshot_download(\"pilar12/nomad-api-writer-lora\", revision= 'v_27', token=hf_token)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "ac3fac68-1177-46ed-a1d2-4bde37931004",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "snapshot_path = '/home/jovyan/.cache/huggingface/hub/models--pilar12--nomad-api-writer-lora/snapshots/f0d29149ccca6ca2cb75f770ecded2835f711f48/'"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "d69e341c-d700-47dc-a5c1-b6f11a58de0b",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def load_templates(model_path):\n",
+    "    with open(model_path+\"/system_prompt.txt\", \"r\") as f:\n",
+    "        system_prompt = f.read()\n",
+    "    with open(model_path+\"/chat_template.txt\", \"r\") as f:\n",
+    "        chat_template = f.read()\n",
+    "    with open(model_path+\"/eval_chat_template.txt\", \"r\") as f:\n",
+    "        eval_chat_template = f.read()\n",
+    "    with open(model_path+\"/full_context.pkl\", \"rb\") as f:\n",
+    "        full_context = pickle.load(f)\n",
+    "    system_context=system_prompt.format(context=full_context)\n",
+    "\n",
+    "    return system_prompt, chat_template, eval_chat_template, full_context, system_context"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "id": "4a7689d5-7f30-41ba-8746-665056900df7",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# lora_path=\"huggingface/hub/models--pilar12--nomad-api-writer-lora/snapshots/4cf37226134cf2256c89a20cfb782bdb7d42d9d0\"\n",
+    "lora_path = snapshot_path\n",
+    "system_prompt, chat_template, eval_chat_template, full_context, system_context = load_templates(lora_path)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "cf768300-1e01-42dc-a43a-2083ff09a502",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "adapter_config = json.load(open(snapshot_path+\"/adapter_config.json\",\"r\"))\n",
+    "model_id = adapter_config['base_model_name_or_path']"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "ccc29fab-5624-47dd-a8eb-2803f9320987",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "model_id_mapper={'unsloth/meta-llama-3.1-8b-instruct-bnb-4bit':'unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit'}"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "id": "07f38d9a-bbd2-4c76-997c-1858d82fce88",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "GPU = NVIDIA A40. Max memory = 44.339 GB.\n",
+      "0.0 GB of memory reserved.\n"
+     ]
+    }
+   ],
+   "source": [
+    "gpu_stats = torch.cuda.get_device_properties(0)\n",
+    "start_gpu_memory = round(torch.cuda.max_memory_reserved() / 1024 / 1024 / 1024, 3)\n",
+    "max_memory = round(gpu_stats.total_memory / 1024 / 1024 / 1024, 3)\n",
+    "print(f\"GPU = {gpu_stats.name}. Max memory = {max_memory} GB.\")\n",
+    "print(f\"{start_gpu_memory} GB of memory reserved.\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "e157cdd4-1320-497a-b48e-426d1582a281",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "INFO 04-10 08:49:55 [config.py:600] This model supports multiple tasks: {'score', 'classify', 'reward', 'generate', 'embed'}. Defaulting to 'generate'.\n",
+      "WARNING 04-10 08:49:56 [config.py:679] bitsandbytes quantization is not fully optimized yet. The speed can be slower than non-quantized models.\n",
+      "INFO 04-10 08:49:57 [config.py:1780] Chunked prefill is enabled with max_num_batched_tokens=8192.\n",
+      "WARNING 04-10 08:49:57 [config.py:2468] LoRA with chunked prefill is still experimental and may be unstable.\n",
+      "INFO 04-10 08:49:59 [core.py:61] Initializing a V1 LLM engine (v0.8.3) with config: model='unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit', speculative_config=None, tokenizer='unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, override_neuron_config=None, tokenizer_revision=None, trust_remote_code=True, dtype=torch.bfloat16, max_seq_len=131072, download_dir=None, load_format=LoadFormat.BITSANDBYTES, tensor_parallel_size=1, pipeline_parallel_size=1, disable_custom_all_reduce=False, quantization=bitsandbytes, enforce_eager=False, kv_cache_dtype=auto,  device_config=cuda, decoding_config=DecodingConfig(guided_decoding_backend='xgrammar', reasoning_backend=None), observability_config=ObservabilityConfig(show_hidden_metrics=False, otlp_traces_endpoint=None, collect_model_forward_time=False, collect_model_execute_time=False), seed=None, served_model_name=unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit, num_scheduler_steps=1, multi_step_stream_outputs=True, enable_prefix_caching=True, chunked_prefill_enabled=True, use_async_output_proc=True, disable_mm_preprocessor_cache=False, mm_processor_kwargs=None, pooler_config=None, compilation_config={\"level\":3,\"custom_ops\":[\"none\"],\"splitting_ops\":[\"vllm.unified_attention\",\"vllm.unified_attention_with_output\"],\"use_inductor\":true,\"compile_sizes\":[],\"use_cudagraph\":true,\"cudagraph_num_of_warmups\":1,\"cudagraph_capture_sizes\":[512,504,496,488,480,472,464,456,448,440,432,424,416,408,400,392,384,376,368,360,352,344,336,328,320,312,304,296,288,280,272,264,256,248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,4,2,1],\"max_capture_size\":512}\n",
+      "WARNING 04-10 08:49:59 [utils.py:2413] Methods determine_num_available_blocks,device_config,get_cache_block_size_bytes,initialize_cache not implemented in <vllm.v1.worker.gpu_worker.Worker object at 0x7f1e38c91310>\n",
+      "INFO 04-10 08:50:00 [parallel_state.py:957] rank 0 in world size 1 is assigned as DP rank 0, PP rank 0, TP rank 0\n",
+      "INFO 04-10 08:50:00 [cuda.py:221] Using Flash Attention backend on V1 engine.\n",
+      "INFO 04-10 08:50:00 [gpu_model_runner.py:1258] Starting to load model unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit...\n",
+      "WARNING 04-10 08:50:00 [config.py:3785] `torch.compile` is turned on, but the model unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit does not support it. Please open an issue on GitHub if you want it to be supported.\n",
+      "ERROR 04-10 08:50:00 [core.py:390] EngineCore hit an exception: Traceback (most recent call last):\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/v1/engine/core.py\", line 378, in run_engine_core\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     engine_core = EngineCoreProc(*args, **kwargs)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/v1/engine/core.py\", line 319, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     super().__init__(vllm_config, executor_class, log_stats)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/v1/engine/core.py\", line 67, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self.model_executor = executor_class(vllm_config)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/executor/executor_base.py\", line 52, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self._init_executor()\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/executor/uniproc_executor.py\", line 47, in _init_executor\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self.collective_rpc(\"load_model\")\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/executor/uniproc_executor.py\", line 56, in collective_rpc\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     answer = run_method(self.driver_worker, method, args, kwargs)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/utils.py\", line 2347, in run_method\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     return func(*args, **kwargs)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]            ^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/v1/worker/gpu_worker.py\", line 136, in load_model\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self.model_runner.load_model()\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/v1/worker/gpu_model_runner.py\", line 1261, in load_model\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self.model = get_model(vllm_config=self.vllm_config)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/model_loader/__init__.py\", line 14, in get_model\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     return loader.load_model(vllm_config=vllm_config)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/model_loader/loader.py\", line 1278, in load_model\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     model = _initialize_model(vllm_config=vllm_config)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/model_loader/loader.py\", line 127, in _initialize_model\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     return model_class(vllm_config=vllm_config, prefix=prefix)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/models/llama.py\", line 486, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self.model = self._init_model(vllm_config=vllm_config,\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/models/llama.py\", line 527, in _init_model\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     return LlamaModel(vllm_config=vllm_config,\n",
+      "ERROR 04-10 08:50:00 [core.py:390]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/compilation/decorators.py\", line 151, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     old_init(self, vllm_config=vllm_config, prefix=prefix, **kwargs)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/models/llama.py\", line 321, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self.start_layer, self.end_layer, self.layers = make_layers(\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                                                     ^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/models/utils.py\", line 610, in make_layers\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     maybe_offload_to_cpu(layer_fn(prefix=f\"{prefix}.{idx}\"))\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/models/llama.py\", line 323, in <lambda>\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     lambda prefix: layer_type(config=config,\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                    ^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/models/llama.py\", line 239, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self.self_attn = LlamaAttention(\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                      ^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/models/llama.py\", line 142, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self.qkv_proj = QKVParallelLinear(\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                     ^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/layers/linear.py\", line 833, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     super().__init__(input_size=input_size,\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/layers/linear.py\", line 384, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     super().__init__(input_size,\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/layers/linear.py\", line 231, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self.quant_method = quant_config.get_quant_method(self,\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/layers/quantization/bitsandbytes.py\", line 128, in get_quant_method\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     return BitsAndBytesLinearMethod(self)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/vllm/model_executor/layers/quantization/bitsandbytes.py\", line 158, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     import bitsandbytes\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/bitsandbytes/__init__.py\", line 15, in <module>\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     from .nn import modules\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/bitsandbytes/nn/__init__.py\", line 21, in <module>\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     from .triton_based_modules import (\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/bitsandbytes/nn/triton_based_modules.py\", line 6, in <module>\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     from bitsandbytes.triton.dequantize_rowwise import dequantize_rowwise\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/bitsandbytes/triton/dequantize_rowwise.py\", line 18, in <module>\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     @triton.autotune(\n",
+      "ERROR 04-10 08:50:00 [core.py:390]      ^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/triton/runtime/autotuner.py\", line 368, in decorator\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     return Autotuner(fn, fn.arg_names, configs, key, reset_to_zero, restore_value, pre_hook=pre_hook,\n",
+      "ERROR 04-10 08:50:00 [core.py:390]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/triton/runtime/autotuner.py\", line 130, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self.do_bench = driver.active.get_benchmarker()\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/triton/runtime/driver.py\", line 23, in __getattr__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self._initialize_obj()\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/triton/runtime/driver.py\", line 20, in _initialize_obj\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self._obj = self._init_fn()\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                 ^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/triton/runtime/driver.py\", line 9, in _create_driver\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     return actives[0]()\n",
+      "ERROR 04-10 08:50:00 [core.py:390]            ^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/triton/backends/nvidia/driver.py\", line 450, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     self.utils = CudaUtils()  # TODO: make static\n",
+      "ERROR 04-10 08:50:00 [core.py:390]                  ^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/triton/backends/nvidia/driver.py\", line 80, in __init__\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     mod = compile_module_from_src(Path(os.path.join(dirname, \"driver.c\")).read_text(), \"cuda_utils\")\n",
+      "ERROR 04-10 08:50:00 [core.py:390]           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/triton/backends/nvidia/driver.py\", line 57, in compile_module_from_src\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     so = _build(name, src_path, tmpdir, library_dirs(), include_dir, libraries)\n",
+      "ERROR 04-10 08:50:00 [core.py:390]          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
+      "ERROR 04-10 08:50:00 [core.py:390]   File \"/opt/conda/lib/python3.12/site-packages/triton/runtime/build.py\", line 32, in _build\n",
+      "ERROR 04-10 08:50:00 [core.py:390]     raise RuntimeError(\"Failed to find C compiler. Please specify via CC environment variable.\")\n",
+      "ERROR 04-10 08:50:00 [core.py:390] RuntimeError: Failed to find C compiler. Please specify via CC environment variable.\n",
+      "ERROR 04-10 08:50:00 [core.py:390] \n",
+      "CRITICAL 04-10 08:50:00 [core_client.py:361] Got fatal signal from worker processes, shutting down. See stack trace above for root cause issue.\n"
+     ]
+    }
+   ],
+   "source": [
+    "from vllm import LLM, SamplingParams\n",
+    "from vllm.lora.request import LoRARequest\n",
+    "import torch# unsloth/tinyllama-bnb-4bit is a pre-quantized checkpoint.\n",
+    "model_id = \"unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit\" #\"unsloth/tinyllama-bnb-4bit\"#\n",
+    "llm = LLM(model=model_id, dtype=torch.bfloat16, trust_remote_code=True, quantization=\"bitsandbytes\",load_format=\"bitsandbytes\",enable_lora=True,enable_prefix_caching=True,max_lora_rank=64)\n",
+    "gpu_stats = torch.cuda.get_device_properties(0)\n",
+    "start_gpu_memory = round(torch.cuda.max_memory_reserved() / 1024 / 1024 / 1024, 3)\n",
+    "max_memory = round(gpu_stats.total_memory / 1024 / 1024 / 1024, 3)\n",
+    "print(f\"GPU = {gpu_stats.name}. Max memory = {max_memory} GB.\")\n",
+    "print(f\"{start_gpu_memory} GB of memory reserved.\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "eae926b7-c5af-4f14-ab05-461fb6d18032",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def get_generation_time(llm, sampling_params, prompts,lora_request):\n",
+    "    # time the generation\n",
+    "    start_time = time.time()\n",
+    "    outputs = llm.generate(\n",
+    "    prompts,\n",
+    "    sampling_params,\n",
+    "    lora_request=lora_request)\n",
+    "    end_time = time.time()\n",
+    "    # print the output and generation time\n",
+    "    for output in outputs:\n",
+    "        for o in output.outputs:\n",
+    "            print(f\"Output: {o.text}\")\n",
+    "    print(f\"Generation time: {end_time - start_time} seconds.\")\n",
+    "    return outputs"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "id": "5eefb8f4-8495-4134-8144-64ae7023d4a7",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [],
+   "source": [
+    "q='Search the NOMAD database for materials that belong to the triclinic crystal system, contain the elements phosphorus (P), oxygen (O), and sulfur (S), have been studied using Density Functional Theory (DFT), and exhibit spin-polarized electronic density of states (DOS).'\n",
+    "q='Retrieve entries of aluminum nitride in a wurtzite structure.'\n",
+    "queries = [eval_chat_template.format(SYSTEM=system_context, INPUT=q),eval_chat_template.format(SYSTEM=system_context, INPUT=q)]\n",
+    "sampling_params = [SamplingParams(\n",
+    "    n=1,\n",
+    "    temperature=0,\n",
+    "    max_tokens=2048,\n",
+    "    # top_k=10,\n",
+    "    # top_p=0.,\n",
+    "    # presence_penalty=1,\n",
+    "    # repetition_penalty=0,\n",
+    "    # frequency_penalty=0,\n",
+    "    seed=42,\n",
+    "    stop=[\"<|end_of_text|>\"],\n",
+    "),SamplingParams(\n",
+    "    n=2,\n",
+    "    temperature=1.0,\n",
+    "    max_tokens=2048,\n",
+    "    top_k=10,\n",
+    "    # top_p=0.,\n",
+    "    # presence_penalty=1,\n",
+    "    # repetition_penalty=0,\n",
+    "    # frequency_penalty=0,\n",
+    "    seed=42,\n",
+    "    stop=[\"<|end_of_text|>\"],\n",
+    ")]\n",
+    "\n",
+    "lora_request=LoRARequest(\"api_lora\", 1, lora_path)\n",
+    "        \n",
+    "# o=get_generation_time(llm,sampling_params,queries,lora_request)\n",
+    "# outputs = llm.generate(\n",
+    "#     queries,\n",
+    "#     sampling_params,\n",
+    "#     lora_request=LoRARequest(\"api_lora\", 1, lora_path)\n",
+    "# )"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "id": "7684c9a5-ac63-482a-b995-c7d0a11610b3",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Processed prompts:  67%|██████▋   | 2/3 [00:13<00:06,  6.89s/it, est. speed input: 2848.23 toks/s, output: 14.29 toks/s]"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Output: \n",
+      "\n",
+      "''' JSON: {\n",
+      "    \"and\": [\n",
+      "        {\n",
+      "            \"results.material.elements\": {\n",
+      "                \"all\": [\n",
+      "                    \"Al\",\n",
+      "                    \"N\"\n",
+      "                ]\n",
+      "            },\n",
+      "            \"results.material.symmetry.structure_name\": {\n",
+      "                \"any\": [\n",
+      "                    \"wurtzite\"\n",
+      "                ]\n",
+      "            }\n",
+      "        }\n",
+      "    ]\n",
+      "}''' \n",
+      "Output: \n",
+      "\n",
+      "''' JSON: {\n",
+      "    \"and\": [\n",
+      "        {\n",
+      "            \"results.material.composition\": {\n",
+      "                \"all\": [\n",
+      "                    \"AlN\"\n",
+      "                ]\n",
+      "            },\n",
+      "            \"results.material.symmetry.structure_name\": {\n",
+      "                \"any\": [\n",
+      "                    \"wurtzite\"\n",
+      "                ]\n",
+      "            }\n",
+      "        }\n",
+      "    ]\n",
+      "}''' \n",
+      "Output: \n",
+      "\n",
+      "''' JSON: {\n",
+      "    \"results.material.elements\": {\n",
+      "        \"all\": [\n",
+      "            \"Al\",\n",
+      "            \"N\"\n",
+      "        ]\n",
+      "    },\n",
+      "    \"results.material.symmetry.structure_name\": {\n",
+      "        \"any\": [\n",
+      "            \"wurtzite\"\n",
+      "        ]\n",
+      "    }\n",
+      "}''' \n",
+      "Generation time: 14.315262794494629 seconds.\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "o=get_generation_time(llm,sampling_params,queries,lora_request)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "id": "730a95cc-3ceb-45cf-bb23-fd08498ec6e8",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Processed prompts:  67%|██████▋   | 2/3 [00:04<00:02,  2.41s/it, est. speed input: 8145.50 toks/s, output: 47.31 toks/s]"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Output: \n",
+      "\n",
+      "''' JSON: {\n",
+      "    \"and\": [\n",
+      "        {\n",
+      "            \"results.material.topology.cell.atomic_density\": {\n",
+      "                \"gt\": null,\n",
+      "                \"gte\": null,\n",
+      "                \"lt\": null,\n",
+      "                \"lte\": \"value_0\"\n",
+      "            }\n",
+      "        }\n",
+      "    ]\n",
+      "}''' \n",
+      "\n",
+      "results.material.topology.cell.atomic_density:value_0:0.06111:e-26 / meter ** 3\n",
+      "Output: \n",
+      "\n",
+      "''' JSON: {\n",
+      "    \"results.material.topology.cell.atomic_density\": {\n",
+      "        \"gt\": null,\n",
+      "        \"gte\": null,\n",
+      "        \"lt\": null,\n",
+      "        \"lte\": \"value_0\"\n",
+      "    }\n",
+      "}''' \n",
+      "\n",
+      "results.material.topology.cell.atomic_density:value_0:0.06111:e-28:angstrom **-3\n",
+      "Output: \n",
+      "\n",
+      "''' JSON: {\n",
+      "    \"results.material.topology.cell.atomic_density\": {\n",
+      "        \"gt\": null,\n",
+      "        \"gte\": 0.06111,\n",
+      "        \"lt\": null,\n",
+      "        \"lte\": null\n",
+      "    }\n",
+      "}''' \n",
+      "\n",
+      "results.material.topology.cell.atomic_density:value_0:0.06111:ångström ** 3\n",
+      "Generation time: 4.8828887939453125 seconds.\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "q='materials with primitive atomic density equal top 0.06111 Å^-3'\n",
+    "queries = [eval_chat_template.format(SYSTEM=system_context, INPUT=q),eval_chat_template.format(SYSTEM=system_context, INPUT=q)]\n",
+    "o=get_generation_time(llm,sampling_params,queries,lora_request)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "id": "ac257093-56f3-4de6-bb1e-a6f86ba66b95",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[RequestOutput(request_id=0, prompt='<|begin_of_text|><|start_header_id|>system<|end_header_id|>\\n\\nYou are an assistant helping users search NOMAD a Materials science database. You have chemistry and materials science knowledge. Your task is to create a search api for natural language search queries by users. \\nYou are given the relevant search fields and their descriptions as name : description : the data type or the list of enum  values for the field : optional unit of the value.\\nIf the data type is \"None\" the field can only be used in the \"quantities\" field to check its existence. Do not use it as a search field.\\nDont format it into ES DSL format (dont use bool, must, terms) instead use the NOMAD API format. \\nOnly give the json formatted query no explanation is needed.\\nTime is formatted as Unix Timestamp. \\nUse these ops to format the query:\\n    all: Requires all values in list to match\\n    any: Matches if any value in list matches (default)\\n    none: Requires none of the values to match\\n    lte, lt, gte, gt: Range comparisons for numeric fields     \\nDont use \"all\" as the first field.\\nConvert units where the field has a specified unit.\\nUse \"results.material.topology.label\": \"MOF\" for metal organic framework queries\\n\\nSearch Fields: upload_id : The persistent and globally unique identifier for the upload of the entry : str\\nupload_name : The user provided upload name : str\\nupload_create_time : The date and time when the upload was created in nomad : nomad.metainfo.data_type.Datetime\\nentry_id : A persistent and globally unique identifier for the entry : str\\nentry_name : A brief human readable name for the entry. : str\\nentry_name.prefix : A brief human readable name for the entry. : str\\nentry_type : The main schema definition. This is the name of the section used for data. : str\\ncalc_id : Legacy field name, use `entry_id` instead. : str\\nentry_create_time : The date and time when the entry was created in nomad : nomad.metainfo.data_type.Datetime\\nparser_name : The NOMAD parser used for the last processing : str\\nmainfile : The path to the mainfile from the root directory of the uploaded files : str\\nmainfile.path : The path to the mainfile from the root directory of the uploaded files : str\\nmainfile_key : Key used to differentiate between different *child entries* of an entry.\\nFor parent entries and entries that do not have any children, the value should\\nbe empty. : str\\nmainfile_key.path : Key used to differentiate between different *child entries* of an entry.\\nFor parent entries and entries that do not have any children, the value should\\nbe empty. : str\\ntext_search_contents : Contains text contents that should be considered when\\ndoing free text queries for entries. : str\\nfiles : The paths to the files within the upload that belong to this entry.\\nAll files within the same directory as the entry\\'s mainfile are considered the\\nauxiliary files that belong to the entry. : str\\nfiles.path : The paths to the files within the upload that belong to this entry.\\nAll files within the same directory as the entry\\'s mainfile are considered the\\nauxiliary files that belong to the entry. : str\\npid : The unique, sequentially enumerated, integer PID that was used in the legacy\\nNOMAD CoE. It allows to resolve URLs of the old NOMAD CoE Repository. : str\\nraw_id : The code specific identifier extracted from the entry\\'s raw files by the parser,\\nif supported. : str\\nexternal_id : A user provided external id. Usually the id for an entry in an external database\\nwhere the data was imported from. : str\\npublished : Indicates if the entry is published : bool\\npublish_time : The date and time when the upload was published in nomad : nomad.metainfo.data_type.Datetime\\nwith_embargo : Indicated if this entry is under an embargo : bool\\nprocessed : Indicates that the entry is successfully processed. : bool\\nlast_processing_time : The date and time of the last processing. : nomad.metainfo.data_type.Datetime\\nprocessing_errors : Errors that occurred during processing : str\\nnomad_version : The NOMAD version used for the last processing : str\\nnomad_commit : The NOMAD commit used for the last processing : str\\ncomment : A user provided comment for this entry : str\\nreferences : User provided references (URLs) for this entry : str\\nexternal_db : The repository or external database where the original data resides : AFLOW,EELS Data Base,Kyoto Phonopy Database,Materials Project,OQMD,The Perovskite Database Project\\norigin : A short human readable description of the entries origin. Usually it is the\\nhandle of an external database/repository or the name of the main author. : str\\nmain_author.name :   : str\\nmain_author.name.text :   : str\\nmain_author.user_id : The unique, persistent keycloak UUID : str\\nmain_author : The main author of the entry : User\\nauthors.name :   : str\\nauthors.name.text :   : str\\nauthors : All authors (main author and co-authors) : Author\\nwriters.name :   : str\\nwriters.name.text :   : str\\nwriters.user_id : The unique, persistent keycloak UUID : str\\nwriters : All writers (main author, upload coauthors) : User\\nwriter_groups : Groups with write access (= coauthor groups). : str\\nviewers.name :   : str\\nviewers.name.text :   : str\\nviewers.user_id : The unique, persistent keycloak UUID : str\\nviewers : All viewers (main author, upload coauthors, and reviewers) : User\\nviewer_groups : Groups with read access (= coauthor groups + reviewer groups). : str\\ndatasets.dataset_id : The unique identifier for this dataset as a string. It should be\\na randomly generated UUID, similar to other nomad ids. : str\\ndatasets.dataset_name : The human-readable name of the dataset as string. The dataset name must be\\nunique for the user. : str\\ndatasets.doi : The optional Document Object Identifier (DOI) associated with this dataset.\\nNomad can register DOIs that link back to the respective representation of\\nthe dataset in the nomad UI. This quantity holds the string representation of\\nthis DOI. There is only one per dataset. The DOI is just the DOI name, not its\\nfull URL, e.g. \"10.17172/nomad/2019.10.29-1\". : str\\ndatasets.dataset_create_time : The date when the dataset was first created. : nomad.metainfo.data_type.Datetime\\ndatasets.dataset_modified_time : The date when the dataset was last modified. An owned dataset\\ncan only be extended after a DOI was assigned. A foreign dataset cannot be changed\\nonce a DOI was assigned. : nomad.metainfo.data_type.Datetime\\ndatasets.dataset_type : The type determined if a dataset is owned, i.e. was created by\\nthe authors of the contained entries; or if a dataset is foreign,\\ni.e. it was created by someone not necessarily related to the entries. : foreign,owned\\ndatasets : A list of user curated datasets this entry belongs to. : /packages/16/section_definitions/0\\ndomain : The material science domain : dft,ems,nexus\\nn_quantities : Number of metainfo quantities parsed from the entry. : int\\nquantities : All quantities that are used by this entry. : str\\nquantities.path : All quantities that are used by this entry. : str\\nsections : All sections that are present in this entry. This field is deprecated and will be removed. : str\\noptimade.elements : Names of the different elements present in the structure. : Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,X,Xe,Y,Yb,Zn,Zr\\noptimade.nelements : Number of different elements in the structure as an integer. : int\\noptimade.elements_ratios : Relative proportions of different elements in the structure. : float\\noptimade.chemical_formula_descriptive : The chemical formula for a structure as a string in a form chosen by the API\\nimplementation. : str\\noptimade.chemical_formula_reduced : The reduced chemical formula for a structure as a string with element symbols and\\ninteger chemical proportion numbers. The proportion number MUST be omitted if it is 1. : str\\noptimade.chemical_formula_hill : The chemical formula for a structure in Hill form with element symbols followed by\\ninteger chemical proportion numbers. The proportion number MUST be omitted if it is 1. : str\\noptimade.chemical_formula_anonymous : The anonymous formula is the chemical_formula_reduced, but where the elements are\\ninstead first ordered by their chemical proportion number, and then, in order left to\\nright, replaced by anonymous symbols A, B, C, ..., Z, Aa, Ba, ..., Za, Ab, Bb, ... and\\nso on. : str\\noptimade.nperiodic_dimensions : An integer specifying the number of periodic dimensions in the structure, equivalent\\nto the number of non-zero entries in dimension_types. : int\\noptimade.nsites : An integer specifying the length of the cartesian_site_positions property. : int\\noptimade.structure_features : A list of strings that flag which special features are used by the structure.\\n\\n- disorder: This flag MUST be present if any one entry in the species list has a\\nchemical_symbols list that is longer than 1 element.\\n- unknown_positions: This flag MUST be present if at least one component of the\\ncartesian_site_positions list of lists has value null.\\n- assemblies: This flag MUST be present if the assemblies list is present. : assemblies,disorder,unknown_positions\\nsection_defs.definition_qualified_name : The qualified name of the compatible section. : str\\nsection_defs.definition_id : The definition id of the compatible section. : str\\nsection_defs.used_directly : If the compatible section is directly used as base section. : bool\\nentry_references.target_reference : The full url like reference of the the target. : str\\nentry_references.target_entry_id : The id of the entry containing the target. : str\\nentry_references.target_mainfile : The mainfile of the entry containing the target. : str\\nentry_references.target_upload_id : The id of the upload containing the target. : str\\nentry_references.target_name : The name of the target quantity/section. : str\\nentry_references.target_path : The path of the target quantity/section in its archive. : str\\nentry_references.source_name : The name of the source (self) quantity/section in its archive. : str\\nentry_references.source_path : The path of the source (self) quantity/section in its archive. : str\\nentry_references.source_quantity : A reference to the quantity definition that defines the reference : str\\nsearch_quantities.id : The full identifier for this quantity that contains the path in the schema +\\nschema name. : str\\nsearch_quantities.definition : A reference to the quantity definition. : str\\nsearch_quantities.path_archive : Path of the value within the archive. : str\\nsearch_quantities.bool_value : The value mapped as an ES boolean field. : bool\\nsearch_quantities.str_value : The value mapped as an ES text and keyword field. : str\\nsearch_quantities.str_value.keyword : The value mapped as an ES text and keyword field. : str\\nsearch_quantities.int_value : The value mapped as an ES long number field. : int\\nsearch_quantities.float_value : The value mapped as an ES double number field. : float\\nsearch_quantities.datetime_value : The value mapped as an ES date field. : nomad.metainfo.data_type.Datetime\\nresults.material.material_id : A fixed length, unique material identifier in the form of a hash\\ndigest. : str\\nresults.material.material_name : Meaningful names for this a material if any can be assigned. : str\\nresults.material.structural_type : Structural class determined from the atomic structure. : 1D,2D,atom,bulk,molecule / cluster,not processed,surface,unavailable\\nresults.material.dimensionality : Dimensionality of the system. For atomistic systems this is\\nautomatically evaluated by using the topology-scaling algorithm:\\nhttps://doi.org/10.1103/PhysRevLett.118.106101.\\n\\n| Value | Description |\\n| --------- | ----------------------- |\\n| `\\'0D\\'` | Not connected periodically |\\n| `\\'1D\\'` | Periodically connected in one dimension |\\n| `\\'2D\\'` | Periodically connected in two dimensions |\\n| `\\'3D\\'` | Periodically connected in three dimensions | : 0D,1D,2D,3D\\nresults.material.building_block : More exact classification for this system, i.e. the type of \"building\\nblock\" it represents.\\n\\n| Value | Description |\\n| --------- | ----------------------- |\\n| `\\'surface\\'` | Structure built from a unit cell that repeats periodically in two directions and at least twice, but not infinitely in a third direction. |\\n| `\\'2D material\\'` | Structure built from a unit cell that repeats periodically in two directions and only once in a third direction. |\\n| `\\'molecule\\'` | Molecule defined in the force-field topology |\\n| `\\'monomer\\'` | Monomer defined in the force-field topology | : 2D material,molecule,monomer,surface\\nresults.material.functional_type : Classification based on the functional properties. : str\\nresults.material.compound_type : Classification based on the chemical formula. : str\\nresults.material.elements : Names of the different elements present in the structure. : Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,X,Xe,Y,Yb,Zn,Zr\\nresults.material.n_elements : Number of different elements in the structure as an integer. : int\\nresults.material.elements_exclusive : String containing the chemical elements in alphabetical order and\\nseparated by a single whitespace. This quantity can be used for\\nexclusive element searches where you want to find entries/materials\\nwith only certain given elements. : str\\nresults.material.chemical_formula_descriptive : The chemical formula for a structure as a string in a form chosen by the API\\nimplementation. : str\\nresults.material.chemical_formula_reduced : Alphabetically sorted chemical formula with reduced integer chemical\\nproportion numbers. The proportion number is omitted if it is 1. : str\\nresults.material.chemical_formula_hill : The chemical formula for a structure in Hill form with element\\nsymbols followed by non-reduced integer chemical proportion numbers.\\nThe proportion number is omitted if it is 1. : str\\nresults.material.chemical_formula_iupac : Formula where the elements are ordered using a formal list loosely\\nbased on electronegativity as defined in the IUPAC nomenclature of\\ninorganic chemistry (2005). Contains reduced integer chemical\\nproportion numbers where the proportion number is omitted if it is\\n1. : str\\nresults.material.chemical_formula_anonymous : Formula with the elements ordered by their reduced integer chemical\\nproportion number, and the chemical species replaced by\\nalphabetically ordered letters. The proportion number is omitted if\\nit is 1. E.g.  H2O becomes A2B and H2O2 becomes AB. The letters are\\ndrawn from the english alphabet that may be extended by increasing\\nthe number of letters, e.g. A, B, ..., Z, Aa, Ab and so on. This\\ndefinition is in line with the similarly named OPTIMADE definition. : str\\nresults.material.chemical_formula_reduced_fragments : Alphabetically sorted chemical formula with reduced integer chemical\\nproportion numbers. The proportion number is omitted if it is 1. : str\\nresults.material.elemental_composition.element : The symbol of the element, e.g. \\'Pb\\'. : Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,Xe,Y,Yb,Zn,Zr\\nresults.material.elemental_composition.atomic_fraction : The atomic fraction of the element in the system it is contained within.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.elemental_composition.mass_fraction : The mass fraction of the element in the system it is contained within.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.symmetry.bravais_lattice : Identifier for the Bravais lattice in Pearson notation. The first lowercase letter\\nidentifies the crystal family and can be one of the following: a (triclinic), b\\n(monoclinic), o (orthorhombic), t (tetragonal), h (hexagonal) or c (cubic). The\\nsecond uppercase letter identifies the centring and can be one of the following: P\\n(primitive), S (face centred), I (body centred), R (rhombohedral centring) or F\\n(all faces centred). : aP,cF,cI,cP,hP,hR,mP,mS,oF,oI,oP,oS,tI,tP\\nresults.material.symmetry.crystal_system : Name of the crystal system. : cubic,hexagonal,monoclinic,orthorhombic,tetragonal,triclinic,trigonal\\nresults.material.symmetry.hall_number : The Hall number for this system. : int32\\nresults.material.symmetry.hall_symbol : The Hall symbol for this system. : str\\nresults.material.symmetry.point_group : Symbol of the crystallographic point group in the Hermann-Mauguin notation. : str\\nresults.material.symmetry.space_group_number : Specifies the International Union of Crystallography (IUC) number of the 3D space\\ngroup of this system. : int32\\nresults.material.symmetry.space_group_symbol : The International Union of Crystallography (IUC) short symbol of the 3D\\nspace group of this system. : str\\nresults.material.symmetry.prototype_formula : The formula of the prototypical material for this structure. : str\\nresults.material.symmetry.prototype_aflow_id : The identifier of this structure in the AFLOW encyclopedia of\\ncrystallographic prototypes:\\nhttp://www.aflowlib.org/prototype-encyclopedia/index.html : str\\nresults.material.symmetry.structure_name : A common name for this structure, e.g. fcc, bcc. : 4-member ring,Heusler,bcc,bct,bct5,clathrate,cuprite,diamond,fcc,fct,half-Heusler,hcp,perovskite,rock salt,rutile,simple cubic,wurtzite,zincblende\\nresults.material.symmetry.strukturbericht_designation : Classification of the material according to the historically grown\\n\\'strukturbericht\\'. : str\\nresults.material.topology.system_id : That path of this section within the metainfo that is used as a unique\\nidentifier. : str\\nresults.material.topology.label : Descriptive label that identifies this structural part. : str\\nresults.material.topology.method : The method used for identifying this system. : matid,parser,porosity,user\\nresults.material.topology.description : A short description about this part of the topology. : str\\nresults.material.topology.material_id : A fixed length, unique material identifier in the form of a hash\\ndigest. : str\\nresults.material.topology.material_name : Meaningful names for this a material if any can be assigned. : str\\nresults.material.topology.structural_type : Structural class determined from the atomic structure. : 1D,2D,active orbitals,atom,bulk,group,molecule,molecule / cluster,monomer,not processed,surface,unavailable\\nresults.material.topology.dimensionality : Dimensionality of the system. For atomistic systems this is\\nautomatically evaluated by using the topology-scaling algorithm:\\nhttps://doi.org/10.1103/PhysRevLett.118.106101.\\n\\n| Value | Description |\\n| --------- | ----------------------- |\\n| `\\'0D\\'` | Not connected periodically |\\n| `\\'1D\\'` | Periodically connected in one dimension |\\n| `\\'2D\\'` | Periodically connected in two dimensions |\\n| `\\'3D\\'` | Periodically connected in three dimensions | : 0D,1D,2D,3D\\nresults.material.topology.building_block : More exact classification for this system, i.e. the type of \"building\\nblock\" it represents.\\n\\n| Value | Description |\\n| --------- | ----------------------- |\\n| `\\'surface\\'` | Structure built from a unit cell that repeats periodically in two directions and at least twice, but not infinitely in a third direction. |\\n| `\\'2D material\\'` | Structure built from a unit cell that repeats periodically in two directions and only once in a third direction. |\\n| `\\'molecule\\'` | Molecule defined in the force-field topology |\\n| `\\'monomer\\'` | Monomer defined in the force-field topology | : 2D material,molecule,monomer,surface\\nresults.material.topology.functional_type : Classification based on the functional properties. : str\\nresults.material.topology.compound_type : Classification based on the chemical formula. : str\\nresults.material.topology.elements : Names of the different elements present in the structure. : Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,X,Xe,Y,Yb,Zn,Zr\\nresults.material.topology.n_elements : Number of different elements in the structure as an integer. : int\\nresults.material.topology.elements_exclusive : String containing the chemical elements in alphabetical order and\\nseparated by a single whitespace. This quantity can be used for\\nexclusive element searches where you want to find entries/materials\\nwith only certain given elements. : str\\nresults.material.topology.chemical_formula_descriptive : The chemical formula for a structure as a string in a form chosen by the API\\nimplementation. : str\\nresults.material.topology.chemical_formula_reduced : Alphabetically sorted chemical formula with reduced integer chemical\\nproportion numbers. The proportion number is omitted if it is 1. : str\\nresults.material.topology.chemical_formula_hill : The chemical formula for a structure in Hill form with element\\nsymbols followed by non-reduced integer chemical proportion numbers.\\nThe proportion number is omitted if it is 1. : str\\nresults.material.topology.chemical_formula_iupac : Formula where the elements are ordered using a formal list loosely\\nbased on electronegativity as defined in the IUPAC nomenclature of\\ninorganic chemistry (2005). Contains reduced integer chemical\\nproportion numbers where the proportion number is omitted if it is\\n1. : str\\nresults.material.topology.chemical_formula_anonymous : Formula with the elements ordered by their reduced integer chemical\\nproportion number, and the chemical species replaced by\\nalphabetically ordered letters. The proportion number is omitted if\\nit is 1. E.g.  H2O becomes A2B and H2O2 becomes AB. The letters are\\ndrawn from the english alphabet that may be extended by increasing\\nthe number of letters, e.g. A, B, ..., Z, Aa, Ab and so on. This\\ndefinition is in line with the similarly named OPTIMADE definition. : str\\nresults.material.topology.chemical_formula_reduced_fragments : Alphabetically sorted chemical formula with reduced integer chemical\\nproportion numbers. The proportion number is omitted if it is 1. : str\\nresults.material.topology.parent_system : Reference to the parent system. : str\\nresults.material.topology.child_systems : References to the child systems. : str\\nresults.material.topology.atomic_fraction : The atomic fraction of this system in the full structure it is contained in.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.topology.mass_fraction : The mass fraction of this system in the full structure it is contained within.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.topology.n_atoms : The total number of species (atoms, particles) in the system. : int\\nresults.material.topology.sbu_type : The topological representation of the metal secondary building units (sbus).\\nThe shape of most metal sbus are well defined and form the basis of most\\n popular MOFs. The most common example is the paddlewheel, rodlike mofs,\\n irmofs, uio66 : str\\nresults.material.topology.largest_cavity_diameter : The largest cavity diameter is the largest sphere that can be inserted in a porous\\nsystem without overlapping with any of the atoms in the system. : float64 : meter\\nresults.material.topology.pore_limiting_diameter : The pore limiting diameter is the largest sphere that can freely\\ndiffuse through the porous network without overlapping with any of the\\natoms in the system. : float64 : meter\\nresults.material.topology.largest_included_sphere_along_free_sphere_path : The largest included sphere along free sphere path is\\nlargest sphere that can be inserted in the pore. : float64 : meter\\nresults.material.topology.accessible_surface_area : The surface area accessible is the area that is accessible to guest molecules\\nin a porous system. It is generally considered to be the entire surface area\\nthat can be spanned by a probe of a specific radius. In NOMAD, by default we use\\na probe that has a radius of 1.86 Angstrom, which correspond to the\\ncovalent radii of nitrogen gas. For biomolecular system, a radii of\\n1.4 Angstrom can be used, which correspond to the covalent radii\\nof water. : float64 : meter ** 2\\nresults.material.topology.accessible_volume : Volume of unoccupied space in a system that can be accessible to\\nguest molecules, like solvents. : float64 : meter ** 3\\nresults.material.topology.void_fraction : Ratio of the the volume of the unoccupied space in the system\\nto the volume of the entire system. It is a good proxy to\\ndetermine how porous a system is. Highly porous systems\\noften have a larger void fraction, meanwhile compact or dense\\nsystems have smaller void fractions. : float64\\nresults.material.topology.n_channels : Number of channels present in the porous system, which correspond to the number of\\npores within the system. : int\\nresults.material.topology.sbu_coordination_number : The number of connecting point in the secondary building units(sbu), which corresponds to\\nthe to the number of point of extension in the secondary building unit. Some common\\nterminology include\\n1 : monotopic\\n2 : ditopic\\n3 : tritopic\\n4 : tetratopic\\n5 : pentatopic : int\\nresults.material.topology.elemental_composition.element : The symbol of the element, e.g. \\'Pb\\'. : Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,Xe,Y,Yb,Zn,Zr\\nresults.material.topology.elemental_composition.atomic_fraction : The atomic fraction of the element in the system it is contained within.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.topology.elemental_composition.mass_fraction : The mass fraction of the element in the system it is contained within.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.topology.system_relation.type : The type of relation between a system and it\\'s parent.\\n\\n| Value | Description |\\n| --------- | ----------------------- |\\n| `\\'root\\'` | System representing the entire structure, has no parent system. |\\n| `\\'subsystem\\'` | A single logical entity extracted from the parent system. |\\n| `\\'group\\'` | A logical group of subsystems within the parent, e.g. a group of molecules in MD. |\\n| `\\'primitive_cell\\'` | The conventional cell from which the parent is constructed from. |\\n| `\\'conventional_cell\\'` | The primitive cell from which the parent is constructed from. | : conventional_cell,group,primitive_cell,root,subsystem\\nresults.material.topology.cell.a : Length of the first basis vector. : float64 : meter\\nresults.material.topology.cell.b : Length of the second basis vector. : float64 : meter\\nresults.material.topology.cell.c : Length of the third basis vector. : float64 : meter\\nresults.material.topology.cell.alpha : Angle between second and third basis vector. : float64 : radian\\nresults.material.topology.cell.beta : Angle between first and third basis vector. : float64 : radian\\nresults.material.topology.cell.gamma : Angle between first and second basis vector. : float64 : radian\\nresults.material.topology.cell.volume : Volume of the cell. : float64 : meter ** 3\\nresults.material.topology.cell.atomic_density : Atomic density of the material (atoms/volume).\\' : float64 : 1 / meter ** 3\\nresults.material.topology.cell.mass_density : Mass density of the material. : float64 : kilogram / meter ** 3\\nresults.material.topology.symmetry.bravais_lattice : Identifier for the Bravais lattice in Pearson notation. The first lowercase letter\\nidentifies the crystal family and can be one of the following: a (triclinic), b\\n(monoclinic), o (orthorhombic), t (tetragonal), h (hexagonal) or c (cubic). The\\nsecond uppercase letter identifies the centring and can be one of the following: P\\n(primitive), S (face centred), I (body centred), R (rhombohedral centring) or F\\n(all faces centred). : aP,cF,cI,cP,hP,hR,mP,mS,oF,oI,oP,oS,tI,tP\\nresults.material.topology.symmetry.crystal_system : Name of the crystal system. : cubic,hexagonal,monoclinic,orthorhombic,tetragonal,triclinic,trigonal\\nresults.material.topology.symmetry.hall_number : The Hall number for this system. : int32\\nresults.material.topology.symmetry.hall_symbol : The Hall symbol for this system. : str\\nresults.material.topology.symmetry.point_group : Symbol of the crystallographic point group in the Hermann-Mauguin notation. : str\\nresults.material.topology.symmetry.space_group_number : Specifies the International Union of Crystallography (IUC) number of the 3D space\\ngroup of this system. : int32\\nresults.material.topology.symmetry.space_group_symbol : The International Union of Crystallography (IUC) short symbol of the 3D\\nspace group of this system. : str\\nresults.material.topology.symmetry.strukturbericht_designation : Classification of the material according to the historically grown\\n\\'strukturbericht\\'. : str\\nresults.material.topology.symmetry.prototype_label_aflow : AFLOW label of the prototype (see\\nhttp://aflowlib.org/CrystalDatabase/prototype_index.html) identified on the basis\\nof the space_group and normalized_wyckoff. : str\\nresults.material.topology.symmetry.prototype_name : A common name for this prototypical structure, e.g. fcc, bcc. : 4-member ring,Heusler,bcc,bct,bct5,clathrate,cuprite,diamond,fcc,fct,half-Heusler,hcp,perovskite,rock salt,rutile,simple cubic,wurtzite,zincblende\\nresults.material.topology.active_orbitals.n_quantum_number : Principal quantum number $n$. : int32\\nresults.material.topology.active_orbitals.j_quantum_number : Total angular momentum quantum number $j = |l-s| ... l+s$.\\n**Necessary with strong L-S coupling or non-collinear spin systems.** : float64\\nresults.material.topology.active_orbitals.mj_quantum_number : Azimuthal projection of the $j$ vector.\\n**Necessary with strong L-S coupling or non-collinear spin systems.** : float64\\nresults.material.topology.active_orbitals.degeneracy : The number of states under the filling constraints applied to the orbital set.\\nThis implicitly assumes that all orbitals in the set are degenerate. : int32\\nresults.material.topology.active_orbitals.n_electrons_excited : The electron charge excited for modelling purposes.\\nChoices that deviate from 0 or 1 typically leverage Janak composition.\\nUnless the `initial` state is chosen, the model corresponds to a single electron being excited in physical reality. : float64\\nresults.material.topology.active_orbitals.occupation : The total number of electrons within the state (as defined by degeneracy)\\nafter exciting the model charge. : float64\\nresults.material.topology.active_orbitals.l_quantum_symbol : Azimuthal $l$ in symbolic form. : str\\nresults.material.topology.active_orbitals.ml_quantum_symbol : Magnetic quantum number $m_l$ in symbolic form. : str\\nresults.material.topology.active_orbitals.ms_quantum_symbol : Spin quantum number $m_s$ in symbolic form. : str\\nresults.method.method_id : Identifier for the used method. Only available for a subset of entries\\nfor which the methodology has been identified with precision. : str\\nresults.method.method_name : Common name for the used method. : BSE,CoreHole,DFT,DMFT,EELS,GW,NMR,TB,XPS,XRD,kMC,quantum cms,unavailable\\nresults.method.workflow_name :   : str\\nresults.method.simulation.program_name : The name of the used program. : str\\nresults.method.simulation.program_version : The version of the used program. : str\\nresults.method.simulation.program_version_internal : The version tag used internally by the development team. : str\\nresults.method.simulation.dft.basis_set_type : The used basis set functions. : (L)APW+lo,gaussians,not processed,numeric AOs,plane waves,psinc functions,real-space grid,unavailable\\nresults.method.simulation.dft.core_electron_treatment : How the core electrons are described. : all electron frozen core,full all electron,pseudopotential,unavailable\\nresults.method.simulation.dft.spin_polarized : Whether the calculation is spin-polarized. : bool\\nresults.method.simulation.dft.scf_threshold_energy_change : Specifies the threshold for the total energy change between two subsequent\\nself-consistent field (SCF) iterations. The SCF is considered converged when the\\ntotal-energy change between two SCF cycles is below the threshold (possibly in\\ncombination with other criteria). : float64 : joule\\nresults.method.simulation.dft.van_der_Waals_method : The used van der Waals method. : str\\nresults.method.simulation.dft.relativity_method : Describes the relativistic treatment used for the calculation of the final energy\\nand related quantities. If skipped or empty, no relativistic treatment is applied. : pseudo_scalar_relativistic,scalar_relativistic,scalar_relativistic_atomic_ZORA\\nresults.method.simulation.dft.smearing_kind : Specifies the kind of smearing on the electron occupation used to calculate the\\nfree energy (see energy_free)\\n\\nValid values are:\\n\\n| Smearing kind             | Description                       |\\n\\n| ------------------------- | --------------------------------- |\\n\\n| `\"empty\"`                 | No smearing is applied            |\\n\\n| `\"gaussian\"`              | Gaussian smearing                 |\\n\\n| `\"fermi\"`                 | Fermi smearing                    |\\n\\n| `\"marzari-vanderbilt\"`    | Marzari-Vanderbilt smearing       |\\n\\n| `\"methfessel-paxton\"`     | Methfessel-Paxton smearing        |\\n\\n| `\"tetrahedra\"`            | Interpolation of state energies and occupations\\n(ignores smearing_width) | : str\\nresults.method.simulation.dft.smearing_width : Specifies the width of the smearing in energy for the electron occupation used to\\ncalculate the free energy (see energy_free).\\n\\n*NOTE:* Not all methods specified in smearing_kind uses this value. : float64\\nresults.method.simulation.dft.jacobs_ladder : Functional classification in line with Jacob\\'s Ladder.\\nFor more information, see https://doi.org/10.1063/1.1390175 (original paper);\\nhttps://doi.org/10.1103/PhysRevLett.91.146401 (meta-GGA);\\nand https://doi.org/10.1063/1.1904565 (hyper-GGA). : GGA,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable\\nresults.method.simulation.dft.xc_functional_type : Functional classification in line with Jacob\\'s Ladder.\\nFor more information, see https://doi.org/10.1063/1.1390175 (original paper);\\nhttps://doi.org/10.1103/PhysRevLett.91.146401 (meta-GGA);\\nand https://doi.org/10.1063/1.1904565 (hyper-GGA). : GGA,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable\\nresults.method.simulation.dft.xc_functional_names : The list of libXC functional names that where used in this entry. : str\\nresults.method.simulation.dft.exact_exchange_mixing_factor : Amount of exact exchange mixed in with the XC functional (value range = [0,1]). : float64\\nresults.method.simulation.dft.hubbard_kanamori_model.u_effective : Value of the effective U parameter (u - j). : float64 : joule\\nresults.method.simulation.dft.hubbard_kanamori_model.u : Value of the (intraorbital) Hubbard interaction : float64 : joule\\nresults.method.simulation.dft.hubbard_kanamori_model.j : Value of the exchange interaction. In rotational invariant systems, j = jh. : float64 : joule\\nresults.method.simulation.tb.type : Tight-binding model type: Slater Koster fitting, DFTB approximation, xTB perturbation\\ntheory, or Wannier projection. : DFTB,Slater-Koster,Wannier,not processed,xTB\\nresults.method.simulation.tb.localization_type : Localization type of the Wannier orbitals. : maximally_localized,single_shot\\nresults.method.simulation.gw.type : GW Hedin\\'s self-consistency cycle:\\n\\n| Name      | Description                      | Reference             |\\n\\n| --------- | -------------------------------- | --------------------- |\\n\\n| `\\'G0W0\\'`  | single-shot                      | PRB 74, 035101 (2006) |\\n\\n| `\\'scGW\\'`  | self-consistent G and W               | PRB 75, 235102 (2007) |\\n\\n| `\\'scGW0\\'` | self-consistent G with fixed W0  | PRB 54, 8411 (1996)   |\\n\\n| `\\'scG0W\\'` | self-consistent W with fixed G0  | -                     |\\n\\n| `\\'ev-scGW0\\'`  | eigenvalues self-consistent G with fixed W0   | PRB 34, 5390 (1986)   |\\n\\n| `\\'ev-scGW\\'`  | eigenvalues self-consistent G and W   | PRB 74, 045102 (2006)   |\\n\\n| `\\'qp-scGW0\\'`  | quasiparticle self-consistent G with fixed W0 | PRL 99, 115109 (2007) |\\n\\n| `\\'qp-scGW\\'`  | quasiparticle self-consistent G and W | PRL 96, 226402 (2006) | : G0W0,ev-scGW,ev-scGW0,qp-scGW,qp-scGW0,scG0W,scGW,scGW0\\nresults.method.simulation.gw.basis_set_type : The used basis set functions. : (L)APW+lo,gaussians,not processed,numeric AOs,plane waves,psinc functions,real-space grid,unavailable\\nresults.method.simulation.gw.starting_point_type : The libXC based xc functional classification used in the starting point DFT simulation. : GGA,HF,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable\\nresults.method.simulation.gw.starting_point_names : The list of libXC functional names that where used in this entry. : str\\nresults.method.simulation.bse.type : Type of BSE hamiltonian solved:\\n\\n    H_BSE = H_diagonal + 2 * gx * Hx - gc * Hc\\n\\nwhere gx, gc specifies the type.\\n\\nOnline resources for the theory:\\n- http://exciting.wikidot.com/carbon-excited-states-from-bse#toc1\\n- https://www.vasp.at/wiki/index.php/Bethe-Salpeter-equations_calculations\\n- https://docs.abinit.org/theory/bse/\\n- https://www.yambo-code.eu/wiki/index.php/Bethe-Salpeter_kernel\\n\\n| Name | Description |\\n\\n| --------- | ----------------------- |\\n\\n| `\\'Singlet\\'` | gx = 1, gc = 1 |\\n\\n| `\\'Triplet\\'` | gx = 0, gc = 1 |\\n\\n| `\\'IP\\'` | Independent-particle approach |\\n\\n| `\\'RPA\\'` | Random Phase Approximation | : IP,RPA,Singlet,Triplet\\nresults.method.simulation.bse.basis_set_type : The used basis set functions. : (L)APW+lo,gaussians,not processed,numeric AOs,plane waves,psinc functions,real-space grid,unavailable\\nresults.method.simulation.bse.starting_point_type : The libXC based xc functional classification used in the starting point DFT simulation. : GGA,HF,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable\\nresults.method.simulation.bse.starting_point_names : The list of libXC functional names that where used in this entry. : str\\nresults.method.simulation.bse.solver : Solver algotithm used to diagonalize the BSE Hamiltonian.\\n\\n| Name | Description | Reference |\\n\\n| --------- | ----------------------- | ----------- |\\n\\n| `\\'Full-diagonalization\\'` | Full diagonalization of the BSE Hamiltonian | - |\\n\\n| `\\'Lanczos-Haydock\\'` | Subspace iterative Lanczos-Haydock algorithm | https://doi.org/10.1103/PhysRevB.59.5441 |\\n\\n| `\\'GMRES\\'` | Generalized minimal residual method | https://doi.org/10.1137/0907058 |\\n\\n| `\\'SLEPc\\'` | Scalable Library for Eigenvalue Problem Computations | https://slepc.upv.es/ |\\n\\n| `\\'TDA\\'` | Tamm-Dancoff approximation | https://doi.org/10.1016/S0009-2614(99)01149-5 | : Full-diagonalization,GMRES,Lanczos-Haydock,SLEPc,TDA\\nresults.method.simulation.bse.gw_type : GW Hedin\\'s self-consistency cycle:\\n\\n| Name      | Description                      | Reference             |\\n\\n| --------- | -------------------------------- | --------------------- |\\n\\n| `\\'G0W0\\'`  | single-shot                      | PRB 74, 035101 (2006) |\\n\\n| `\\'scGW\\'`  | self-consistent G and W               | PRB 75, 235102 (2007) |\\n\\n| `\\'scGW0\\'` | self-consistent G with fixed W0  | PRB 54, 8411 (1996)   |\\n\\n| `\\'scG0W\\'` | self-consistent W with fixed G0  | -                     |\\n\\n| `\\'ev-scGW0\\'`  | eigenvalues self-consistent G with fixed W0   | PRB 34, 5390 (1986)   |\\n\\n| `\\'ev-scGW\\'`  | eigenvalues self-consistent G and W   | PRB 74, 045102 (2006)   |\\n\\n| `\\'qp-scGW0\\'`  | quasiparticle self-consistent G with fixed W0 | PRL 99, 115109 (2007) |\\n\\n| `\\'qp-scGW\\'`  | quasiparticle self-consistent G and W | PRL 96, 226402 (2006) | : G0W0,ev-scGW,ev-scGW0,qp-scGW,qp-scGW0,scG0W,scGW,scGW0\\nresults.method.simulation.dmft.impurity_solver_type : Impurity solver method used in the DMFT loop:\\n\\n| Name              | Reference                            |\\n\\n| ----------------- | ------------------------------------ |\\n\\n| `\\'CT-INT\\'`        | Rubtsov et al., JEPT Lett 80 (2004)  |\\n\\n| `\\'CT-HYB\\'`        | Werner et al., PRL 97 (2006)         |\\n\\n| `\\'CT-AUX\\'`        | Gull et al., EPL 82 (2008)           |\\n\\n| `\\'ED\\'`            | Caffarrel et al, PRL 72 (1994)       |\\n\\n| `\\'NRG\\'`           | Bulla et al., RMP 80 (2008)          |\\n\\n| `\\'MPS\\'`           | Ganahl et al., PRB 90 (2014)         |\\n\\n| `\\'IPT\\'`           | Georges et al., PRB 45 (1992)        |\\n\\n| `\\'NCA\\'`           | Pruschke et al., PRB 47 (1993)       |\\n\\n| `\\'OCA\\'`           | Pruschke et al., PRB 47 (1993)       |\\n\\n| `\\'slave_bosons\\'`  | Kotliar et al., PRL 57 (1986)        |\\n\\n| `\\'hubbard_I\\'`     | -                                    | : CT-AUX,CT-HYB,CT-INT,ED,IPT,MPS,NCA,NRG,OCA,hubbard_I,slave_bosons\\nresults.method.simulation.dmft.inverse_temperature : Inverse temperature = 1/(kB*T). : float64 : 1 / joule\\nresults.method.simulation.dmft.magnetic_state : Magnetic state in which the DMFT calculation is done. : antiferromagnetic,ferromagnetic,paramagnetic\\nresults.method.simulation.dmft.u : Value of the (intraorbital) Hubbard interaction : float64 : joule\\nresults.method.simulation.dmft.jh : Value of the (interorbital) Hund\\'s coupling. : float64 : joule\\nresults.method.simulation.dmft.analytical_continuation : Analytical continuation used to continuate the imaginary space Green\\'s functions into\\nthe real frequencies space.\\n\\n| Name           | Description         | Reference                        |\\n\\n| -------------- | ------------------- | -------------------------------- |\\n\\n| `\\'Pade\\'` | Pade\\'s approximant  | https://www.sciencedirect.com/science/article/pii/0021999173901277?via%3Dihub |\\n\\n| `\\'MaxEnt\\'` | Maximum Entropy method | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.41.2380 |\\n\\n| `\\'SVD\\'` | Singular value decomposition | https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.75.517 |\\n\\n| `\\'Stochastic\\'` | Stochastic method | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.57.10287 | : MaxEnt,Pade,SVD,Stochastic\\nresults.method.simulation.precision.k_line_density : Amount of sampled k-points per unit reciprocal length along each axis.\\nContains the least precise density out of all axes.\\nShould only be compared between calulations of similar dimensionality. : float64 : meter\\nresults.method.simulation.precision.native_tier : The code-specific tag indicating the precision used\\nfor the basis set and meshes of numerical routines.\\n\\nSupported codes (with hyperlinks to the relevant documentation):\\n- [`VASP`](https://www.vasp.at/wiki/index.php/PREC)\\n- `FHI-aims`\\n- [`CASTEP`](http://www.tcm.phy.cam.ac.uk/castep/documentation/WebHelp/CASTEP.html#modules/castep/tskcastepsetelecquality.htm?Highlight=ultra-fine) : str\\nresults.method.simulation.precision.basis_set : The type of basis set used by the program.\\n\\n| Value                          |                       Description |\\n| ------------------------------ | --------------------------------- |\\n| `\\'APW\\'`                        | Augmented plane waves             |\\n| `\\'LAPW\\'`                       | Linearized augmented plane waves  |\\n| `\\'APW+lo\\'`             | Augmented plane waves with local orbitals |\\n| `\\'LAPW+lo\\'` | Linearized augmented plane waves with local orbitals |\\n| `\\'(L)APW\\'`                     |     A combination of APW and LAPW |\\n| `\\'(L)APW+lo\\'`  | A combination of APW and LAPW with local orbitals |\\n| `\\'plane waves\\'`                | Plane waves                       |\\n| `\\'gaussians + plane waves\\'`    | Basis set of the Quickstep algorithm (DOI: 10.1016/j.cpc.2004.12.014) |\\n| `\\'real-space grid\\'`            | Real-space grid                   |\\n| `\\'suppport functions\\'`         | Support functions                 | : (L)APW,(L)APW+lo,APW,APW+lo,LAPW,LAPW+lo,atom-centered orbitals,gaussians + plane waves,not processed,plane waves,real-space grid,support functions,unavailable\\nresults.method.simulation.precision.planewave_cutoff : Spherical cutoff in reciprocal space for a plane-wave basis set. It is the energy\\nof the highest plane-wave ($\\\\frac{\\\\hbar^2|k+G|^2}{2m_e}$) included in the basis\\nset. : float64 : joule\\nresults.method.simulation.precision.apw_cutoff : The spherical cutoff parameter for the interstitial plane waves in the LAPW family.\\nThis cutoff is unitless, referring to the product of the smallest muffin-tin radius\\nand the length of the cutoff reciprocal vector ($r_{MT} * |K_{cut}|$). : float64\\nresults.method.measurement.xrd.diffraction_method_name : The diffraction method used to obtain the diffraction pattern.\\n| X-Ray Diffraction Method                                   | Description                                                                                                                                                                                                 |\\n|------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| **Powder X-Ray Diffraction (PXRD)**                        | The term \"powder\" refers more to the random orientation of small crystallites than to the physical form of the sample. Can be used with non-powder samples if they present random crystallite orientations. |\\n| **Single Crystal X-Ray Diffraction (SCXRD)**               | Used for determining the atomic structure of a single crystal.                                                                                                                                              |\\n| **High-Resolution X-Ray Diffraction (HRXRD)**              | A technique typically used for detailed characterization of epitaxial thin films using precise diffraction measurements.                                                                                    |\\n| **Small-Angle X-Ray Scattering (SAXS)**                    | Used for studying nanostructures in the size range of 1-100 nm. Provides information on particle size, shape, and distribution.                                                                             |\\n| **X-Ray Reflectivity (XRR)**                               | Used to study thin film layers, interfaces, and multilayers. Provides info on film thickness, density, and roughness.                                                                                       |\\n| **Grazing Incidence X-Ray Diffraction (GIXRD)**            | Primarily used for the analysis of thin films with the incident beam at a fixed shallow angle.                                                                                                              |\\n| **Reciprocal Space Mapping (RSM)**                         | High-resolution XRD method to measure diffracted intensity in a 2-dimensional region of reciprocal space. Provides information about the real-structure (lattice mismatch, domain structure, stress and defects) in single-crystalline and epitaxial samples.| : Grazing Incidence X-Ray Diffraction (GIXRD),High-Resolution X-Ray Diffraction (HRXRD),Powder X-Ray Diffraction (PXRD),Reciprocal Space Mapping (RSM),Single Crystal X-Ray Diffraction (SCXRD),Small-Angle X-Ray Scattering (SAXS),X-Ray Reflectivity (XRR),unavailable\\nresults.properties.n_calculations : The number of performed single configuration calculations.\\' : int\\nresults.properties.available_properties : Subset of the property names that are present in this entry. : str\\nresults.properties.structural.radial_distribution_function.type : Describes if the observable is calculated at the molecular or atomic level. : atomic,molecular\\nresults.properties.structural.radial_distribution_function.label : Describes the atoms or molecule types involved in determining the property. : str\\nresults.properties.structural.radial_distribution_function.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.structural.radial_distribution_function.provenance.molecular_dynamics.time_step : The timestep at which the numerical integration is performed. : float64 : second\\nresults.properties.structural.radial_distribution_function.provenance.molecular_dynamics.ensemble_type : The type of thermodynamic ensemble that was simulated.\\n\\nAllowed values are:\\n\\n| Thermodynamic Ensemble          | Description                               |\\n\\n| ---------------------- | ----------------------------------------- |\\n\\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\\n\\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\\n\\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\\n\\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy | : NPH,NPT,NVE,NVT\\nresults.properties.structural.radius_of_gyration.kind : Kind of the quantity. : str\\nresults.properties.structural.radius_of_gyration.label : Describes the atoms or molecule types involved in determining the property. : str\\nresults.properties.structural.radius_of_gyration.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.structural.radius_of_gyration.provenance.molecular_dynamics.time_step : The timestep at which the numerical integration is performed. : float64 : second\\nresults.properties.structural.radius_of_gyration.provenance.molecular_dynamics.ensemble_type : The type of thermodynamic ensemble that was simulated.\\n\\nAllowed values are:\\n\\n| Thermodynamic Ensemble          | Description                               |\\n\\n| ---------------------- | ----------------------------------------- |\\n\\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\\n\\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\\n\\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\\n\\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy | : NPH,NPT,NVE,NVT\\nresults.properties.structural.diffraction_pattern.incident_beam_wavelength : The wavelength of the incident beam. : float64 : meter\\nresults.properties.dynamical.mean_squared_displacement.type : Describes if the observable is calculated at the molecular or atomic level. : atomic,molecular\\nresults.properties.dynamical.mean_squared_displacement.label : Describes the atoms or molecule types involved in determining the property. : str\\nresults.properties.dynamical.mean_squared_displacement.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.dynamical.mean_squared_displacement.provenance.molecular_dynamics.time_step : The timestep at which the numerical integration is performed. : float64 : second\\nresults.properties.dynamical.mean_squared_displacement.provenance.molecular_dynamics.ensemble_type : The type of thermodynamic ensemble that was simulated.\\n\\nAllowed values are:\\n\\n| Thermodynamic Ensemble          | Description                               |\\n\\n| ---------------------- | ----------------------------------------- |\\n\\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\\n\\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\\n\\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\\n\\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy | : NPH,NPT,NVE,NVT\\nresults.properties.structures.structure_original.nperiodic_dimensions : An integer specifying the number of periodic dimensions in the\\nstructure, equivalent to the number of non-zero entries in\\ndimension_types. : int\\nresults.properties.structures.structure_original.n_sites : An integer specifying the length of the cartesian_site_positions property. : int\\nresults.properties.structures.structure_original.cell_volume : Volume of the cell. : float64 : meter ** 3\\nresults.properties.structures.structure_original.lattice_parameters.a : Length of the first basis vector. : float64 : meter\\nresults.properties.structures.structure_original.lattice_parameters.b : Length of the second basis vector. : float64 : meter\\nresults.properties.structures.structure_original.lattice_parameters.c : Length of the third basis vector. : float64 : meter\\nresults.properties.structures.structure_original.lattice_parameters.alpha : Angle between second and third basis vector. : float64 : radian\\nresults.properties.structures.structure_original.lattice_parameters.beta : Angle between first and third basis vector. : float64 : radian\\nresults.properties.structures.structure_original.lattice_parameters.gamma : Angle between first and second basis vector. : float64 : radian\\nresults.properties.structures.structure_conventional.nperiodic_dimensions : An integer specifying the number of periodic dimensions in the\\nstructure, equivalent to the number of non-zero entries in\\ndimension_types. : int\\nresults.properties.structures.structure_conventional.n_sites : An integer specifying the length of the cartesian_site_positions property. : int\\nresults.properties.structures.structure_conventional.cell_volume : Volume of the cell. : float64 : meter ** 3\\nresults.properties.structures.structure_conventional.lattice_parameters.a : Length of the first basis vector. : float64 : meter\\nresults.properties.structures.structure_conventional.lattice_parameters.b : Length of the second basis vector. : float64 : meter\\nresults.properties.structures.structure_conventional.lattice_parameters.c : Length of the third basis vector. : float64 : meter\\nresults.properties.structures.structure_conventional.lattice_parameters.alpha : Angle between second and third basis vector. : float64 : radian\\nresults.properties.structures.structure_conventional.lattice_parameters.beta : Angle between first and third basis vector. : float64 : radian\\nresults.properties.structures.structure_conventional.lattice_parameters.gamma : Angle between first and second basis vector. : float64 : radian\\nresults.properties.structures.structure_primitive.nperiodic_dimensions : An integer specifying the number of periodic dimensions in the\\nstructure, equivalent to the number of non-zero entries in\\ndimension_types. : int\\nresults.properties.structures.structure_primitive.n_sites : An integer specifying the length of the cartesian_site_positions property. : int\\nresults.properties.structures.structure_primitive.cell_volume : Volume of the cell. : float64 : meter ** 3\\nresults.properties.structures.structure_primitive.lattice_parameters.a : Length of the first basis vector. : float64 : meter\\nresults.properties.structures.structure_primitive.lattice_parameters.b : Length of the second basis vector. : float64 : meter\\nresults.properties.structures.structure_primitive.lattice_parameters.c : Length of the third basis vector. : float64 : meter\\nresults.properties.structures.structure_primitive.lattice_parameters.alpha : Angle between second and third basis vector. : float64 : radian\\nresults.properties.structures.structure_primitive.lattice_parameters.beta : Angle between first and third basis vector. : float64 : radian\\nresults.properties.structures.structure_primitive.lattice_parameters.gamma : Angle between first and second basis vector. : float64 : radian\\nresults.properties.electronic.band_gap.index : The spin channel index. : int32\\nresults.properties.electronic.band_gap.value : The actual value of the band gap. Value of zero indicates a vanishing band gap and\\nis distinct from sources lacking any band gap measurement or calculation. : float64 : joule\\nresults.properties.electronic.band_gap.type : Band gap type. : direct,indirect\\nresults.properties.electronic.band_gap.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.electronic.dos_electronic.spin_polarized : Whether the DOS is spin-polarized, i.e. is contains channels for both\\nspin values. : bool\\nresults.properties.electronic.dos_electronic.band_gap.index : The spin channel index. : int32\\nresults.properties.electronic.dos_electronic.band_gap.value : The actual value of the band gap. Value of zero indicates a vanishing band gap and\\nis distinct from sources lacking any band gap measurement or calculation. : float64 : joule\\nresults.properties.electronic.dos_electronic.band_gap.type : Band gap type. : direct,indirect\\nresults.properties.electronic.dos_electronic.band_gap.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.electronic.dos_electronic_new.spin_polarized : Whether the DOS is spin-polarized, i.e. is contains channels for both\\nspin values. : bool\\nresults.properties.electronic.dos_electronic_new.has_projected : Whether the DOS has information about projections (species-, atom-, and/or orbital-\\nprojected). : bool\\nresults.properties.electronic.dos_electronic_new.data.band_gap.index : The spin channel index. : int32\\nresults.properties.electronic.dos_electronic_new.data.band_gap.value : The actual value of the band gap. Value of zero indicates a vanishing band gap and\\nis distinct from sources lacking any band gap measurement or calculation. : float64 : joule\\nresults.properties.electronic.dos_electronic_new.data.band_gap.type : Band gap type. : direct,indirect\\nresults.properties.electronic.dos_electronic_new.data.band_gap.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.electronic.band_structure_electronic.spin_polarized : Whether the band structure is spin-polarized, i.e. is contains channels\\nfor both spin values. : bool\\nresults.properties.electronic.band_structure_electronic.band_gap.index : The spin channel index. : int32\\nresults.properties.electronic.band_structure_electronic.band_gap.value : The actual value of the band gap. Value of zero indicates a vanishing band gap and\\nis distinct from sources lacking any band gap measurement or calculation. : float64 : joule\\nresults.properties.electronic.band_structure_electronic.band_gap.type : Band gap type. : direct,indirect\\nresults.properties.electronic.band_structure_electronic.band_gap.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.magnetic.spin_spin_coupling.source : Identifier for the source of the data: \\'experiment\\' or \\'simulation\\'. : experiment,simulation\\nresults.properties.magnetic.magnetic_susceptibility.source : Identifier for the source of the data: \\'experiment\\' or \\'simulation\\'. : experiment,simulation\\nresults.properties.optoelectronic.solar_cell.efficiency : Power conversion effciency of a solar cell in percentage %. : float64\\nresults.properties.optoelectronic.solar_cell.fill_factor : Fill factor of a solar cell in absolute values (from 0 to 1). : float64\\nresults.properties.optoelectronic.solar_cell.open_circuit_voltage : Open circuit voltage of a solar cell. : float64 : volt\\nresults.properties.optoelectronic.solar_cell.short_circuit_current_density : Short circuit current density of a solar cell. : float64 : ampere / meter ** 2\\nresults.properties.optoelectronic.solar_cell.illumination_intensity : The light intensity during the IV measurement. : float64 : watt / meter ** 2\\nresults.properties.optoelectronic.solar_cell.device_area : The total area of the cell during IV and stability measurements under illumination. : float64 : meter ** 2\\nresults.properties.optoelectronic.solar_cell.device_architecture : Device architecture of the solar cell. Examples are:\\n`pn-Heterojunction`, `pin`, `nip`, ... : str\\nresults.properties.optoelectronic.solar_cell.device_stack : Layers of the entire device. : str\\nresults.properties.optoelectronic.solar_cell.absorber : Absorber layers used in the solar cell. : str\\nresults.properties.optoelectronic.solar_cell.absorber_fabrication : Technique describing the fabrication of the absorber layer. Examples are:\\n`Spin-coating`, `Evaporation`, `Doctor blading`, ... : str\\nresults.properties.optoelectronic.solar_cell.electron_transport_layer : Electron selective contact layers used in the solar cell. : str\\nresults.properties.optoelectronic.solar_cell.hole_transport_layer : Hole selective contact layers used in the solar cell. : str\\nresults.properties.optoelectronic.solar_cell.substrate : Substrate layers used in the solar cell. : str\\nresults.properties.optoelectronic.solar_cell.back_contact : Back contact layers used in the solar cell. : str\\nresults.properties.catalytic.reaction.name : Name of the catalytic test reaction. : str\\nresults.properties.catalytic.reaction.type : Classification of the catalytic test reaction such as Oxidation, Hydrogenation,\\nIsomerization, Coupling... : str\\nresults.properties.catalytic.reaction.reactants.name : IUPAC name of the reagent. : str\\nresults.properties.catalytic.reaction.reactants.gas_concentration_in : Volumetric concentration (fraction) of the reagent in the feed gas.\\nShould be a value between 0 and 1. : float64\\nresults.properties.catalytic.reaction.reactants.gas_concentration_out : Volumetric concentration (fraction) of the reagent after the reactor.\\nShould be a value between 0 and 1. : float64\\nresults.properties.catalytic.reaction.reactants.conversion : Conversion of the reactant, in %. : float64\\nresults.properties.catalytic.reaction.products.name : Name of the product, preferably the IUPAC name. : str\\nresults.properties.catalytic.reaction.products.gas_concentration_in : Volumetric concentration (fraction) of the reagent in the feed gas.\\nShould be a value between 0 and 1. : float64\\nresults.properties.catalytic.reaction.products.gas_concentration_out : Volumetric concentration (fraction) of the reagent after the reactor.\\nShould be a value between 0 and 1. : float64\\nresults.properties.catalytic.reaction.products.selectivity : Selectivity of the product, in %. : float64\\nresults.properties.catalytic.reaction.products.space_time_yield : Space-time-yield of the product, in mass product per mass catalyst per time. : float64 : 1 / second\\nresults.properties.catalytic.reaction.rates.name : IUPAC name of the reagent whose rate is captured. : str\\nresults.properties.catalytic.reaction.rates.reaction_rate : The rate of the number of reactant or product molecules converted/produced,\\nper mass of total catalyst, per time. : float64 : mole / gram / second\\nresults.properties.catalytic.reaction.rates.specific_mass_rate : The specific rate of the reactant, per mass of active catalyst component\\n(e.g. metal). : float64 : mole / gram / second\\nresults.properties.catalytic.reaction.rates.specific_surface_area_rate : The specific rate of the reactant, per surface area of active catalyst. : float64 : mole / meter ** 2 / second\\nresults.properties.catalytic.reaction.rates.turnover_frequency : The turnover frequency, calculated from mol of reactant or product per\\nnumber of sites over time. : float64 : 1 / second\\nresults.properties.catalytic.reaction.reaction_conditions.temperature : The reaction temperature(s) in the catalytic reactor during a chemical reaction. : float64 : kelvin\\nresults.properties.catalytic.reaction.reaction_conditions.pressure : The pressure during the catalytic test reaction. : float64 : pascal\\nresults.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity : The weight hourly space velocity in 1/time (gas flow per catalyst mass). : float64 : milliliter / gram / second\\nresults.properties.catalytic.reaction.reaction_conditions.gas_hourly_space_velocity : The gas hourly space velocity in 1/time (gas flow per catalyst volume). : float64 : 1 / second\\nresults.properties.catalytic.reaction.reaction_conditions.flow_rate : The volumetric gas flow in volume per time. : float64 : meter ** 3 / second\\nresults.properties.catalytic.reaction.reaction_conditions.time_on_stream : The time on stream of the catalyst in the catalytic reaction. : float64 : second\\nresults.properties.catalytic.reaction.reaction_mechanism.initial_states : The names of reactants of the reaction or elementary step. : str\\nresults.properties.catalytic.reaction.reaction_mechanism.final_states : The names of products of the reaction or elementary step. : str\\nresults.properties.catalytic.reaction.reaction_mechanism.reaction_enthalpy : The reaction enthalpy of the reaction or reaction step. : float64 : joule\\nresults.properties.catalytic.reaction.reaction_mechanism.activation_energy : The (apparent) activation energy of the catalyzed reaction or reaction step. : float64 : joule\\nresults.properties.catalytic.catalyst.catalyst_name : Custom name of catalyst. : str\\nresults.properties.catalytic.catalyst.preparation_method : The main preparation method of the catalyst sample. : str\\nresults.properties.catalytic.catalyst.catalyst_type : The type of catalyst, wether metal or oxide, model, bulk, supported, ect.\\nMultiple values can apply. : str\\nresults.properties.catalytic.catalyst.characterization_methods : A list of methods used to characterize the catalyst sample. : str\\nresults.properties.catalytic.catalyst.surface_area : The surface area per catalyst mass. : float64 : meter ** 2 / gram\\nresults.properties.mechanical.energy_volume_curve.type :   : birch_euler,birch_lagrange,birch_murnaghan,mie_gruneisen,murnaghan,pack_evans_james,pourier_tarantola,raw,tait,vinet\\nresults.properties.mechanical.bulk_modulus.type : Describes the methodology for obtaining the value. : birch_euler,birch_lagrange,birch_murnaghan,mie_gruneisen,murnaghan,pack_evans_james,pourier_tarantola,reuss_average,tait,vinet,voigt_average,voigt_reuss_hill_average\\nresults.properties.mechanical.bulk_modulus.value : Bulk modulus value. : float64 : pascal\\nresults.properties.mechanical.shear_modulus.type : Describes the methodology for obtaining the value. : reuss_average,voigt_average,voigt_reuss_hill_average\\nresults.properties.mechanical.shear_modulus.value : Shear modulus value. : float64 : pascal\\nresults.properties.thermodynamic.trajectory.available_properties : Subset of the property names that are present in this trajectory. : energy_potential,pressure,temperature,volume\\nresults.properties.thermodynamic.trajectory.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.thermodynamic.trajectory.provenance.molecular_dynamics.time_step : The timestep at which the numerical integration is performed. : float64 : second\\nresults.properties.thermodynamic.trajectory.provenance.molecular_dynamics.ensemble_type : The type of thermodynamic ensemble that was simulated.\\n\\nAllowed values are:\\n\\n| Thermodynamic Ensemble          | Description                               |\\n\\n| ---------------------- | ----------------------------------------- |\\n\\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\\n\\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\\n\\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\\n\\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy | : NPH,NPT,NVE,NVT\\nresults.properties.spectroscopic.spectra.type : Identifier for the methodology done to obtain the spectra data: EELS, XAS, XPS, etc. : EELS,EXAFS,RXIS,XANES,XAS,XES,XPS,unavailable\\nresults.properties.spectroscopic.spectra.label : Identifier for the source of the spectra data, either \\'computation\\' or \\'experiment\\'. : computation,experiment\\nresults.properties.spectroscopic.spectra.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.spectroscopic.spectra.provenance.eels.detector_type : Detector type. : str\\nresults.properties.spectroscopic.spectra.provenance.eels.resolution : Energy resolution of the detector. : float64 : joule\\nresults.properties.spectroscopic.spectra.provenance.eels.max_energy : Maximum energy of the detector. : float64 : joule\\nresults.properties.spectroscopic.spectra.provenance.eels.min_energy : Minimum energy of the detector. : float64 : joule\\nresults.properties.spectroscopic.spectra.provenance.electronic_structure.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.geometry_optimization.convergence_tolerance_energy_difference : The input energy difference tolerance criterion. : float64 : joule\\nresults.properties.geometry_optimization.convergence_tolerance_force_maximum : The input maximum net force tolerance criterion. : float64 : newton\\nresults.properties.geometry_optimization.final_force_maximum : The maximum net force in the last optimization step. : float64 : newton\\nresults.properties.geometry_optimization.final_energy_difference : The difference in the energy_total between the last two steps during\\noptimization. : float64 : joule\\nresults.properties.geometry_optimization.final_displacement_maximum : The maximum displacement in the last optimization step with respect to previous. : float64 : meter\\nresults.eln.sections : The type of sections used in entries to search for. By default these are the names\\nof the used section definitions. : str\\nresults.eln.tags : Short tags that are useful to quickly search based on various\\nuser defined criteria. : str\\nresults.eln.names : Short human readable and descriptive names that appear in\\nELN entries. : str\\nresults.eln.descriptions : \\'Human descriptions that appear in ELN entries. : str\\nresults.eln.instruments : The name or type of instrument used in an activity, e.g. process or\\nmeasurement. : str\\nresults.eln.methods : The name or the applied method in an activity, e.g. process or measurement : str\\nresults.eln.lab_ids : The laboratory specific id for any item, e.g. sample, chemical, instrument. : str\\nresults.material : Section containing information on the material composition and structure. : None\\nresults.material.elemental_composition : Section containing information about the concentration of an element,\\n        given by its atomic and mass fraction within the system or material. : None\\nresults.material.symmetry : Section containing information about the symmetry of the material. All\\n        of these properties are derived by running a symmetry analysis on a\\n        representative geometry from the original data. This original geometry\\n        is stored in results.properties together with the primitive and\\n        conventional structures. : None\\nresults.material.topology : Describes a a structural part that has been identified within the entry.\\n        May be related to other systems. : None\\nresults.material.topology.atoms : Describes the atomic structure of the physical system. This includes the atom positions, lattice vectors, etc. : None\\nresults.material.topology.elemental_composition : Section containing information about the concentration of an element,\\n        given by its atomic and mass fraction within the system or material. : None\\nresults.material.topology.system_relation : Contains information about the relation between two different systems. : None\\nresults.material.topology.cell : Properties of a unit cell. : None\\nresults.material.topology.symmetry : Section containing information about the symmetry properties of a\\n        conventional cell related to a system. : None\\nresults.material.topology.symmetry.wyckoff_sets : Section for storing Wyckoff set information. Only available for\\n        conventional cells that have undergone symmetry analysis. : None\\nresults.material.topology.metal_coordination : Coordination number of an element, which represents the number of atoms directly bonded to the element. : None\\nresults.material.topology.active_orbitals :   : None\\nresults.method : Contains a summary of the methodology that has been used in this entry.\\n        This methodology applies to all of the reported properties and\\n        determines the result of a single energy evalution. The individual\\n        properties may be further methodological details affect e.g. the\\n        sampling. : None\\nresults.method.simulation : Contains method details for a simulation entry. : None\\nresults.method.simulation.dft : Methodology for a DFT calculation. : None\\nresults.method.simulation.dft.hubbard_kanamori_model : Setup of the Hubbard model used in DFT+U : None\\nresults.method.simulation.tb : Methodology for a Tight-Binding calculation. : None\\nresults.method.simulation.gw : Methodology for a GW calculation. : None\\nresults.method.simulation.bse : Methodology for a BSE calculation. : None\\nresults.method.simulation.dmft : Methodology for a DMFT calculation. : None\\nresults.method.simulation.quantum_cms :   : None\\nresults.method.simulation.quantum_cms.quantum_circuit :   : None\\nresults.method.simulation.precision : Contains parameters for controlling or evaluating the convergence of the electronic structure. : None\\nresults.method.measurement : Contains method details for a measurement entry. : None\\nresults.method.measurement.xrd : Methodology for an X-Ray Diffraction measurement. : None\\nresults.properties : Contains the physical properties that have been calculated or used in\\n        this entry. : None\\nresults.properties.structural : Structural properties. : None\\nresults.properties.structural.radial_distribution_function : Radial distribution function. : None\\nresults.properties.structural.radial_distribution_function.provenance : Contains provenance information for properties derived from molecular\\n        dynamics simulations. : None\\nresults.properties.structural.radial_distribution_function.provenance.molecular_dynamics : Methodology for molecular dynamics. : None\\nresults.properties.structural.radius_of_gyration : Contains Radius of Gyration values as a trajectory. : None\\nresults.properties.structural.radius_of_gyration.provenance : Contains provenance information for properties derived from molecular\\n        dynamics simulations. : None\\nresults.properties.structural.radius_of_gyration.provenance.molecular_dynamics : Methodology for molecular dynamics. : None\\nresults.properties.structural.diffraction_pattern : Diffraction pattern. : None\\nresults.properties.dynamical : Dynamical properties. : None\\nresults.properties.dynamical.mean_squared_displacement : Mean Squared Displacements. : None\\nresults.properties.dynamical.mean_squared_displacement.provenance : Contains provenance information for properties derived from molecular\\n        dynamics simulations. : None\\nresults.properties.dynamical.mean_squared_displacement.provenance.molecular_dynamics : Methodology for molecular dynamics. : None\\nresults.properties.structures : Contains full atomistic representations of the material in different\\n        forms. : None\\nresults.properties.structures.structure_original : Describes an atomistic structure. : None\\nresults.properties.structures.structure_original.species : Used to describe the species of the sites of this structure. Species can be pure chemical elements, or virtual-crystal atoms representing a statistical occupation of a\\ngiven site by multiple chemical elements. : None\\nresults.properties.structures.structure_original.lattice_parameters : Lattice parameters of a cell. : None\\nresults.properties.structures.structure_original.wyckoff_sets : Section for storing Wyckoff set information. Only available for\\n        conventional cells that have undergone symmetry analysis. : None\\nresults.properties.structures.structure_conventional : Describes an atomistic structure. : None\\nresults.properties.structures.structure_conventional.species : Used to describe the species of the sites of this structure. Species can be pure chemical elements, or virtual-crystal atoms representing a statistical occupation of a\\ngiven site by multiple chemical elements. : None\\nresults.properties.structures.structure_conventional.lattice_parameters : Lattice parameters of a cell. : None\\nresults.properties.structures.structure_conventional.wyckoff_sets : Section for storing Wyckoff set information. Only available for\\n        conventional cells that have undergone symmetry analysis. : None\\nresults.properties.structures.structure_primitive : Describes an atomistic structure. : None\\nresults.properties.structures.structure_primitive.species : Used to describe the species of the sites of this structure. Species can be pure chemical elements, or virtual-crystal atoms representing a statistical occupation of a\\ngiven site by multiple chemical elements. : None\\nresults.properties.structures.structure_primitive.lattice_parameters : Lattice parameters of a cell. : None\\nresults.properties.structures.structure_primitive.wyckoff_sets : Section for storing Wyckoff set information. Only available for\\n        conventional cells that have undergone symmetry analysis. : None\\nresults.properties.vibrational : Vibrational properties. : None\\nresults.properties.vibrational.band_structure_phonon : This section stores information on a vibrational band structure\\n        evaluation along one-dimensional pathways in the reciprocal space. : None\\nresults.properties.vibrational.dos_phonon : Contains the phonon density of states. : None\\nresults.properties.vibrational.heat_capacity_constant_volume : Contains the values of the specific (per mass) and isochoric (constant\\n        volume) heat capacity at different temperatures. : None\\nresults.properties.vibrational.energy_free_helmholtz : Contains the values of the Helmholtz free energy per atom at constant\\n        volume and at different temperatures. : None\\nresults.properties.electronic : Electronic properties. : None\\nresults.properties.electronic.band_gap :   : None\\nresults.properties.electronic.band_gap.provenance :  : None\\nresults.properties.electronic.dos_electronic : Contains the total electronic density of states.\\n\\n        OLD VERSION: it will eventually be deprecated. : None\\nresults.properties.electronic.dos_electronic.band_gap :   : None\\nresults.properties.electronic.dos_electronic.band_gap.provenance : Contains semantically labelled provenance information.\\n        To be stored under PropertySection.provenance or children. : None\\nresults.properties.electronic.dos_electronic_new : Contains the electronic Density of States (DOS). This section can be repeated to refer to\\n        different methodologies (e.g., label = \\'DFT\\', \\'GW\\', \\'TB\\', etc.), and it can be spin-polarized\\n        or not. The sub-section data points to each (if present) spin channels. : None\\nresults.properties.electronic.dos_electronic_new.data : Section containign the density of states data.\\n\\n        It includes the total DOS and the projected DOS values. We differentiate `species_projected` as the\\n        projected DOS for same atomic species, `atom_projected` as the projected DOS for different\\n        atoms in the cell, and `orbital_projected` as the projected DOS for the orbitals of each\\n        atom. : None\\nresults.properties.electronic.dos_electronic_new.data.band_gap :   : None\\nresults.properties.electronic.dos_electronic_new.data.band_gap.provenance : Contains semantically labelled provenance information.\\n        To be stored under PropertySection.provenance or children. : None\\nresults.properties.electronic.band_structure_electronic : This section stores information on a electonic band structure\\n        evaluation along one-dimensional pathways in the reciprocal space. : None\\nresults.properties.electronic.band_structure_electronic.band_gap :   : None\\nresults.properties.electronic.band_structure_electronic.band_gap.provenance : Contains semantically labelled provenance information.\\n        To be stored under PropertySection.provenance or children. : None\\nresults.properties.electronic.greens_functions_electronic : Base class for Green\\'s functions information. : None\\nresults.properties.electronic.electric_field_gradient : Base class for the electric field gradient information. This section is relevant\\n        for NMR and describes the potential generated my the nuclei in the system. : None\\nresults.properties.magnetic : Magnetic properties. : None\\nresults.properties.magnetic.magnetic_shielding : Base class for the atomic magnetic shielding information. : None\\nresults.properties.magnetic.spin_spin_coupling : Base class for the spin-spin coupling information. : None\\nresults.properties.magnetic.magnetic_susceptibility : Base class for the magnetic susceptibility information. : None\\nresults.properties.optoelectronic : Optoelectronic properties. : None\\nresults.properties.optoelectronic.solar_cell : Properties of solar cells. : None\\nresults.properties.catalytic : Properties relating to catalysis. : None\\nresults.properties.catalytic.reaction : A collection of specifications and properties of a full catalytic reaction.\\n        This may include reaction conditions, results and mechanistic aspects of a reaction. : None\\nresults.properties.catalytic.reaction.reactants : A reactant in a catalytic test reaction. A reactant\\n        is identified by having a conversion. : None\\nresults.properties.catalytic.reaction.products : A product of a catalytic reaction. A product here is usually identified by having\\n        a selectivity, or a gas_concentration_out but no/zero gas_concentration_in. : None\\nresults.properties.catalytic.reaction.rates : Section bundling multiple representations of catalytic reaction rates. : None\\nresults.properties.catalytic.reaction.reaction_conditions : Conditions under which a catalytic test reaction was performed. : None\\nresults.properties.catalytic.reaction.reaction_mechanism : Properties of single steps of a catalytic reaction mechanism. : None\\nresults.properties.catalytic.catalyst : Properties of a heterogeneous catalyst. : None\\nresults.properties.mechanical : Mechanical properties. : None\\nresults.properties.mechanical.energy_volume_curve : Energy volume curve. : None\\nresults.properties.mechanical.bulk_modulus : Contains bulk modulus values calculated with different methodologies. : None\\nresults.properties.mechanical.shear_modulus : Contains shear modulus values calculated with different methodologies. : None\\nresults.properties.thermodynamic : Thermodynamic properties. : None\\nresults.properties.thermodynamic.trajectory : Thermodynamic properties reported for an ensemble evolving in time. : None\\nresults.properties.thermodynamic.trajectory.provenance : Contains provenance information for properties derived from molecular\\n        dynamics simulations. : None\\nresults.properties.thermodynamic.trajectory.provenance.molecular_dynamics : Methodology for molecular dynamics. : None\\nresults.properties.thermodynamic.trajectory.temperature : Contains temperature values evaluated at different times. : None\\nresults.properties.thermodynamic.trajectory.pressure : Contains pressure values evaluated at different times. : None\\nresults.properties.thermodynamic.trajectory.volume : Contains volume values evaluated at different times. : None\\nresults.properties.thermodynamic.trajectory.energy_potential : Contains energy values evaluated at different times. : None\\nresults.properties.spectroscopic : Spectroscopic properties. : None\\nresults.properties.spectroscopic.spectra : Base class for Spectra calculation information as obtained from an experiment or a computation. : None\\nresults.properties.spectroscopic.spectra.provenance : Contains provenance information (mainly the methodology section) for spectra properties\\n        derived from an experiment or a calculation. : None\\nresults.properties.spectroscopic.spectra.provenance.eels : Base class for the EELS methodology. : None\\nresults.properties.spectroscopic.spectra.provenance.electronic_structure :  : None\\nresults.properties.geometry_optimization : Geometry optimization results and settings. : None\\nresults.eln :   : None\\n<|eot_id|><|start_header_id|>user<|end_header_id|>\\n\\nRetrieve entries of aluminum nitride in a wurtzite structure.<|eot_id|><|start_header_id|>assistant<|end_header_id|>', prompt_token_ids=[128000, 128000, 128006, 9125, 128007, 271, 2675, 527, 459, 18328, 10695, 3932, 2778, 98811, 1846, 264, 32009, 8198, 4729, 13, 1472, 617, 30903, 323, 7384, 8198, 6677, 13, 4718, 3465, 374, 311, 1893, 264, 2778, 6464, 369, 5933, 4221, 2778, 20126, 555, 3932, 13, 720, 2675, 527, 2728, 279, 9959, 2778, 5151, 323, 872, 28887, 439, 836, 551, 4096, 551, 279, 828, 955, 477, 279, 1160, 315, 7773, 220, 2819, 369, 279, 2115, 551, 10309, 5089, 315, 279, 907, 627, 2746, 279, 828, 955, 374, 330, 4155, 1, 279, 2115, 649, 1193, 387, 1511, 304, 279, 330, 31548, 1385, 1, 2115, 311, 1817, 1202, 14209, 13, 3234, 539, 1005, 433, 439, 264, 2778, 2115, 627, 35, 546, 3645, 433, 1139, 19844, 46658, 3645, 320, 78125, 1005, 1845, 11, 2011, 11, 3878, 8, 4619, 1005, 279, 98811, 1846, 5446, 3645, 13, 720, 7456, 3041, 279, 3024, 24001, 3319, 912, 16540, 374, 4460, 627, 1489, 374, 24001, 439, 48095, 33858, 13, 720, 10464, 1521, 28231, 311, 3645, 279, 3319, 512, 262, 682, 25, 45189, 682, 2819, 304, 1160, 311, 2489, 198, 262, 904, 25, 62354, 422, 904, 907, 304, 1160, 9248, 320, 2309, 340, 262, 7000, 25, 45189, 7000, 315, 279, 2819, 311, 2489, 198, 262, 326, 668, 11, 26237, 11, 342, 668, 11, 26220, 25, 16842, 36595, 369, 25031, 5151, 11187, 35, 546, 1005, 330, 543, 1, 439, 279, 1176, 2115, 627, 12281, 8316, 1405, 279, 2115, 706, 264, 5300, 5089, 627, 10464, 330, 8234, 24585, 8947, 2508, 2981, 794, 330, 10754, 37, 1, 369, 9501, 17808, 12914, 20126, 271, 6014, 25599, 25, 8298, 851, 551, 578, 26048, 323, 31550, 5016, 13110, 369, 279, 8298, 315, 279, 4441, 551, 610, 198, 6248, 1292, 551, 578, 1217, 3984, 8298, 836, 551, 610, 198, 6248, 8827, 3084, 551, 578, 2457, 323, 892, 994, 279, 8298, 574, 3549, 304, 9859, 329, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 4177, 851, 551, 362, 26048, 323, 31550, 5016, 13110, 369, 279, 4441, 551, 610, 198, 4177, 1292, 551, 362, 10015, 3823, 34898, 836, 369, 279, 4441, 13, 551, 610, 198, 4177, 1292, 39643, 551, 362, 10015, 3823, 34898, 836, 369, 279, 4441, 13, 551, 610, 198, 4177, 1857, 551, 578, 1925, 11036, 7419, 13, 1115, 374, 279, 836, 315, 279, 3857, 1511, 369, 828, 13, 551, 610, 198, 27684, 851, 551, 38987, 2115, 836, 11, 1005, 1595, 4177, 851, 63, 4619, 13, 551, 610, 198, 4177, 8827, 3084, 551, 578, 2457, 323, 892, 994, 279, 4441, 574, 3549, 304, 9859, 329, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 9854, 1292, 551, 578, 98811, 1846, 6871, 1511, 369, 279, 1566, 8863, 551, 610, 198, 3902, 1213, 551, 578, 1853, 311, 279, 1925, 1213, 505, 279, 3789, 6352, 315, 279, 23700, 3626, 551, 610, 198, 3902, 1213, 3960, 551, 578, 1853, 311, 279, 1925, 1213, 505, 279, 3789, 6352, 315, 279, 23700, 3626, 551, 610, 198, 3902, 1213, 3173, 551, 5422, 1511, 311, 54263, 1990, 2204, 353, 3124, 10925, 9, 315, 459, 4441, 627, 2520, 2748, 10925, 323, 10925, 430, 656, 539, 617, 904, 2911, 11, 279, 907, 1288, 198, 1395, 4384, 13, 551, 610, 198, 3902, 1213, 3173, 3960, 551, 5422, 1511, 311, 54263, 1990, 2204, 353, 3124, 10925, 9, 315, 459, 4441, 627, 2520, 2748, 10925, 323, 10925, 430, 656, 539, 617, 904, 2911, 11, 279, 907, 1288, 198, 1395, 4384, 13, 551, 610, 198, 1342, 10947, 17096, 551, 31911, 1495, 8970, 430, 1288, 387, 6646, 994, 198, 45359, 1949, 1495, 20126, 369, 10925, 13, 551, 610, 198, 7346, 551, 578, 13006, 311, 279, 3626, 2949, 279, 8298, 430, 9352, 311, 420, 4441, 627, 2460, 3626, 2949, 279, 1890, 6352, 439, 279, 4441, 596, 1925, 1213, 527, 6646, 279, 198, 12249, 35546, 3626, 430, 9352, 311, 279, 4441, 13, 551, 610, 198, 7346, 3960, 551, 578, 13006, 311, 279, 3626, 2949, 279, 8298, 430, 9352, 311, 420, 4441, 627, 2460, 3626, 2949, 279, 1890, 6352, 439, 279, 4441, 596, 1925, 1213, 527, 6646, 279, 198, 12249, 35546, 3626, 430, 9352, 311, 279, 4441, 13, 551, 610, 198, 10629, 551, 578, 5016, 11, 95659, 85969, 11, 7698, 36871, 430, 574, 1511, 304, 279, 20160, 198, 45, 1937, 1846, 3623, 36, 13, 1102, 6276, 311, 9006, 36106, 315, 279, 2362, 98811, 1846, 3623, 36, 27475, 13, 551, 610, 198, 1059, 851, 551, 578, 2082, 3230, 13110, 28532, 505, 279, 4441, 596, 7257, 3626, 555, 279, 6871, 345, 333, 7396, 13, 551, 610, 198, 21591, 851, 551, 362, 1217, 3984, 9434, 887, 13, 34067, 279, 887, 369, 459, 4441, 304, 459, 9434, 4729, 198, 2940, 279, 828, 574, 25973, 505, 13, 551, 610, 198, 33966, 551, 45367, 422, 279, 4441, 374, 4756, 551, 1845, 198, 28602, 3084, 551, 578, 2457, 323, 892, 994, 279, 8298, 574, 4756, 304, 9859, 329, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 4291, 57964, 12359, 551, 2314, 10297, 422, 420, 4441, 374, 1234, 459, 48702, 551, 1845, 198, 35122, 551, 45367, 430, 279, 4441, 374, 7946, 15590, 13, 551, 1845, 198, 4354, 59309, 3084, 551, 578, 2457, 323, 892, 315, 279, 1566, 8863, 13, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 21315, 20808, 551, 40356, 430, 10222, 2391, 8863, 551, 610, 198, 17101, 329, 9625, 551, 578, 98811, 1846, 2373, 1511, 369, 279, 1566, 8863, 551, 610, 198, 17101, 329, 37446, 551, 578, 98811, 1846, 5379, 1511, 369, 279, 1566, 8863, 551, 610, 198, 6313, 551, 362, 1217, 3984, 4068, 369, 420, 4441, 551, 610, 198, 37009, 551, 2724, 3984, 15407, 320, 3222, 82, 8, 369, 420, 4441, 551, 610, 198, 21591, 8856, 551, 578, 12827, 477, 9434, 4729, 1405, 279, 4113, 828, 54068, 551, 20479, 9628, 43225, 98952, 2956, 5464, 44754, 88, 2117, 71424, 1289, 10199, 11, 61612, 5907, 75449, 48, 6204, 11, 791, 3700, 869, 4991, 635, 10199, 5907, 198, 8781, 551, 362, 2875, 3823, 34898, 4096, 315, 279, 10925, 6371, 13, 34067, 433, 374, 279, 198, 8355, 315, 459, 9434, 4729, 98648, 477, 279, 836, 315, 279, 1925, 3229, 13, 551, 610, 198, 3902, 23790, 2710, 551, 256, 551, 610, 198, 3902, 23790, 2710, 2858, 551, 256, 551, 610, 198, 3902, 23790, 3405, 851, 551, 578, 5016, 11, 26048, 1401, 89851, 24628, 551, 610, 198, 3902, 23790, 551, 578, 1925, 3229, 315, 279, 4441, 551, 2724, 198, 48105, 2710, 551, 256, 551, 610, 198, 48105, 2710, 2858, 551, 256, 551, 610, 198, 48105, 551, 2052, 12283, 320, 3902, 3229, 323, 1080, 34603, 1105, 8, 551, 7030, 198, 62712, 2710, 551, 256, 551, 610, 198, 62712, 2710, 2858, 551, 256, 551, 610, 198, 62712, 3405, 851, 551, 578, 5016, 11, 26048, 1401, 89851, 24628, 551, 610, 198, 62712, 551, 2052, 16483, 320, 3902, 3229, 11, 8298, 1080, 48105, 8, 551, 2724, 198, 18688, 21833, 551, 35680, 449, 3350, 2680, 39838, 1080, 3170, 5315, 570, 551, 610, 198, 1068, 388, 2710, 551, 256, 551, 610, 198, 1068, 388, 2710, 2858, 551, 256, 551, 610, 198, 1068, 388, 3405, 851, 551, 578, 5016, 11, 26048, 1401, 89851, 24628, 551, 610, 198, 1068, 388, 551, 2052, 22511, 320, 3902, 3229, 11, 8298, 1080, 48105, 11, 323, 60138, 8, 551, 2724, 198, 48722, 21833, 551, 35680, 449, 1373, 2680, 39838, 1080, 3170, 5315, 489, 56614, 5315, 570, 551, 610, 198, 66646, 25600, 851, 551, 578, 5016, 13110, 369, 420, 10550, 439, 264, 925, 13, 1102, 1288, 387, 198, 64, 27716, 8066, 24628, 11, 4528, 311, 1023, 9859, 329, 14483, 13, 551, 610, 198, 66646, 25600, 1292, 551, 578, 3823, 84318, 836, 315, 279, 10550, 439, 925, 13, 578, 10550, 836, 2011, 387, 198, 9782, 369, 279, 1217, 13, 551, 610, 198, 66646, 962, 6870, 551, 578, 10309, 12051, 3075, 35721, 320, 91092, 8, 5938, 449, 420, 10550, 627, 37412, 329, 649, 4254, 9503, 3957, 430, 2723, 1203, 311, 279, 20081, 13340, 315, 198, 1820, 10550, 304, 279, 9859, 329, 3774, 13, 1115, 12472, 10187, 279, 925, 13340, 315, 198, 576, 59670, 13, 2684, 374, 1193, 832, 824, 10550, 13, 578, 59670, 374, 1120, 279, 59670, 836, 11, 539, 1202, 198, 9054, 5665, 11, 384, 1326, 13, 330, 605, 13, 11123, 5332, 9809, 316, 329, 14, 679, 24, 13, 605, 13, 1682, 12, 16, 3343, 551, 610, 198, 66646, 25600, 8827, 3084, 551, 578, 2457, 994, 279, 10550, 574, 1176, 3549, 13, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 66646, 25600, 38849, 3084, 551, 578, 2457, 994, 279, 10550, 574, 1566, 11041, 13, 1556, 13234, 10550, 198, 4919, 1193, 387, 11838, 1306, 264, 59670, 574, 12893, 13, 362, 7362, 10550, 4250, 387, 5614, 198, 13486, 264, 59670, 574, 12893, 13, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 66646, 25600, 1857, 551, 578, 955, 11075, 422, 264, 10550, 374, 13234, 11, 602, 1770, 13, 574, 3549, 555, 198, 1820, 12283, 315, 279, 13282, 10925, 26, 477, 422, 264, 10550, 374, 7362, 345, 72, 1770, 13, 433, 574, 3549, 555, 4423, 539, 14647, 5552, 311, 279, 10925, 13, 551, 7362, 11, 18838, 198, 66646, 551, 362, 1160, 315, 1217, 58732, 30525, 420, 4441, 17623, 311, 13, 551, 611, 44241, 14, 845, 14, 2879, 85981, 14, 15, 198, 12482, 551, 578, 3769, 8198, 8106, 551, 294, 728, 11, 12116, 10337, 24590, 198, 77, 54446, 1385, 551, 5742, 315, 2322, 467, 831, 33776, 16051, 505, 279, 4441, 13, 551, 528, 198, 31548, 1385, 551, 2052, 33776, 430, 527, 1511, 555, 420, 4441, 13, 551, 610, 198, 31548, 1385, 3960, 551, 2052, 33776, 430, 527, 1511, 555, 420, 4441, 13, 551, 610, 198, 25686, 551, 2052, 14491, 430, 527, 3118, 304, 420, 4441, 13, 1115, 2115, 374, 32690, 323, 690, 387, 7108, 13, 551, 610, 198, 19680, 1037, 29377, 551, 35975, 315, 279, 2204, 5540, 3118, 304, 279, 6070, 13, 551, 6515, 11, 9219, 11, 2149, 11, 6219, 11, 7098, 11, 2170, 11, 1688, 15381, 84, 8324, 8324, 64, 11, 3513, 8324, 71, 8324, 72, 8324, 74, 11, 6971, 11541, 11541, 64, 11541, 67, 11541, 68, 11541, 69, 11, 5176, 11541, 76, 11541, 77, 11, 7489, 11541, 81, 11541, 82, 11541, 84, 11, 8153, 28365, 82, 28365, 88, 11, 20027, 11, 17812, 43225, 84, 28328, 11, 6251, 11, 3968, 28328, 76, 11, 23376, 38406, 64, 38406, 67, 11, 9688, 44639, 11, 1548, 44639, 69, 44639, 70, 44639, 78, 44639, 82, 38868, 11, 644, 38868, 81, 44754, 44754, 81, 11, 8921, 31214, 72, 31214, 81, 31214, 84, 31214, 85, 11, 26353, 28112, 67, 28112, 70, 28112, 77, 11, 26694, 28112, 83, 22812, 11, 16589, 22812, 65, 22812, 67, 11, 8989, 22812, 71, 22812, 72, 86176, 22812, 79, 75449, 75449, 70, 11, 29967, 28494, 11, 20908, 28494, 65, 28494, 67, 28494, 76, 28494, 78, 11, 3617, 28494, 83, 28494, 84, 24412, 64, 24412, 65, 11, 697, 24412, 69, 24412, 70, 24412, 71, 24412, 77, 24412, 84, 21861, 21861, 65, 11, 3407, 11, 1542, 21861, 70, 21861, 72, 11, 10902, 11, 21380, 21861, 81, 20594, 64, 20594, 65, 20594, 66, 11, 6777, 70980, 20594, 72, 20594, 75, 20594, 76, 20594, 82, 51581, 41054, 50640, 30341, 30341, 68, 30533, 30533, 65, 51932, 77, 51932, 81, 198, 19680, 1037, 23456, 91555, 551, 5742, 315, 2204, 5540, 304, 279, 6070, 439, 459, 7698, 13, 551, 528, 198, 19680, 1037, 29377, 71575, 3614, 551, 40502, 49892, 315, 2204, 5540, 304, 279, 6070, 13, 551, 2273, 198, 19680, 1037, 13, 32056, 64969, 16145, 41419, 551, 578, 11742, 15150, 369, 264, 6070, 439, 264, 925, 304, 264, 1376, 12146, 555, 279, 5446, 198, 14706, 13, 551, 610, 198, 19680, 1037, 13, 32056, 64969, 1311, 54478, 551, 578, 11293, 11742, 15150, 369, 264, 6070, 439, 264, 925, 449, 2449, 18210, 323, 198, 11924, 11742, 21801, 5219, 13, 578, 21801, 1396, 28832, 387, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 19680, 1037, 13, 32056, 64969, 1552, 484, 551, 578, 11742, 15150, 369, 264, 6070, 304, 8270, 1376, 449, 2449, 18210, 8272, 555, 198, 11924, 11742, 21801, 5219, 13, 578, 21801, 1396, 28832, 387, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 19680, 1037, 13, 32056, 64969, 12277, 9956, 551, 578, 22939, 15150, 374, 279, 11742, 64969, 1311, 54478, 11, 719, 1405, 279, 5540, 527, 198, 65937, 1176, 11713, 555, 872, 11742, 21801, 1396, 11, 323, 1243, 11, 304, 2015, 2163, 311, 198, 1315, 11, 12860, 555, 22939, 18210, 362, 11, 426, 11, 356, 11, 61453, 1901, 11, 362, 64, 11, 14659, 11, 61453, 65808, 11, 3765, 11, 426, 65, 11, 2564, 323, 198, 708, 389, 13, 551, 610, 198, 19680, 1037, 1276, 19862, 292, 60799, 551, 1556, 7698, 38938, 279, 1396, 315, 39445, 15696, 304, 279, 6070, 11, 13890, 198, 998, 279, 1396, 315, 2536, 38029, 10925, 304, 13167, 9962, 13, 551, 528, 198, 19680, 1037, 53428, 3695, 551, 1556, 7698, 38938, 279, 3160, 315, 279, 95481, 25521, 38319, 3424, 13, 551, 528, 198, 19680, 1037, 68436, 15314, 551, 362, 1160, 315, 9246, 430, 5292, 902, 3361, 4519, 527, 1511, 555, 279, 6070, 382, 12, 19823, 25, 1115, 5292, 28832, 387, 3118, 422, 904, 832, 4441, 304, 279, 9606, 1160, 706, 264, 198, 32056, 56852, 1160, 430, 374, 5129, 1109, 220, 16, 2449, 627, 12, 9987, 38319, 25, 1115, 5292, 28832, 387, 3118, 422, 520, 3325, 832, 3777, 315, 279, 198, 11707, 30321, 25521, 38319, 1160, 315, 11725, 706, 907, 854, 627, 12, 62407, 25, 1115, 5292, 28832, 387, 3118, 422, 279, 62407, 1160, 374, 3118, 13, 551, 62407, 11, 4338, 1382, 11, 16476, 38319, 198, 2879, 57635, 78940, 62, 37435, 1292, 551, 578, 15337, 836, 315, 279, 18641, 3857, 13, 551, 610, 198, 2879, 57635, 78940, 851, 551, 578, 7419, 887, 315, 279, 18641, 3857, 13, 551, 610, 198, 2879, 57635, 84302, 33971, 398, 551, 1442, 279, 18641, 3857, 374, 6089, 1511, 439, 2385, 3857, 13, 551, 1845, 198, 4177, 93802, 6676, 26508, 551, 578, 2539, 2576, 1093, 5905, 315, 279, 279, 2218, 13, 551, 610, 198, 4177, 93802, 6676, 9255, 851, 551, 578, 887, 315, 279, 4441, 8649, 279, 2218, 13, 551, 610, 198, 4177, 93802, 6676, 11273, 1213, 551, 578, 1925, 1213, 315, 279, 4441, 8649, 279, 2218, 13, 551, 610, 198, 4177, 93802, 6676, 22433, 851, 551, 578, 887, 315, 279, 8298, 8649, 279, 2218, 13, 551, 610, 198, 4177, 93802, 6676, 1292, 551, 578, 836, 315, 279, 2218, 12472, 14, 2879, 13, 551, 610, 198, 4177, 93802, 6676, 2703, 551, 578, 1853, 315, 279, 2218, 12472, 14, 2879, 304, 1202, 18624, 13, 551, 610, 198, 4177, 93802, 15040, 1292, 551, 578, 836, 315, 279, 2592, 320, 726, 8, 12472, 14, 2879, 304, 1202, 18624, 13, 551, 610, 198, 4177, 93802, 15040, 2703, 551, 578, 1853, 315, 279, 2592, 320, 726, 8, 12472, 14, 2879, 304, 1202, 18624, 13, 551, 610, 198, 4177, 93802, 15040, 33197, 551, 362, 5905, 311, 279, 12472, 7419, 430, 19170, 279, 5905, 551, 610, 198, 1874, 54446, 1385, 1801, 551, 578, 2539, 13110, 369, 420, 12472, 430, 5727, 279, 1853, 304, 279, 11036, 3694, 17801, 836, 13, 551, 610, 198, 1874, 54446, 1385, 78940, 551, 362, 5905, 311, 279, 12472, 7419, 13, 551, 610, 198, 1874, 54446, 1385, 3960, 43973, 551, 8092, 315, 279, 907, 2949, 279, 18624, 13, 551, 610, 198, 1874, 54446, 1385, 29891, 3220, 551, 578, 907, 24784, 439, 459, 19844, 2777, 2115, 13, 551, 1845, 198, 1874, 54446, 1385, 9720, 3220, 551, 578, 907, 24784, 439, 459, 19844, 1495, 323, 16570, 2115, 13, 551, 610, 198, 1874, 54446, 1385, 9720, 3220, 75011, 551, 578, 907, 24784, 439, 459, 19844, 1495, 323, 16570, 2115, 13, 551, 610, 198, 1874, 54446, 1385, 6537, 3220, 551, 578, 907, 24784, 439, 459, 19844, 1317, 1396, 2115, 13, 551, 528, 198, 1874, 54446, 1385, 16304, 3220, 551, 578, 907, 24784, 439, 459, 19844, 2033, 1396, 2115, 13, 551, 2273, 198, 1874, 54446, 1385, 20296, 3220, 551, 578, 907, 24784, 439, 459, 19844, 2457, 2115, 13, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 8234, 24585, 24585, 851, 551, 362, 8521, 3160, 11, 5016, 3769, 13110, 304, 279, 1376, 315, 264, 5286, 198, 37439, 13, 551, 610, 198, 8234, 24585, 24585, 1292, 551, 49203, 1285, 5144, 369, 420, 264, 3769, 422, 904, 649, 387, 12893, 13, 551, 610, 198, 8234, 24585, 73318, 4269, 1857, 551, 73800, 538, 11075, 505, 279, 25524, 6070, 13, 551, 220, 16, 35, 11, 17, 35, 11, 22612, 8568, 22537, 13387, 55269, 611, 10879, 11, 1962, 15590, 10900, 10730, 11, 359, 10547, 198, 8234, 24585, 77143, 2786, 551, 29023, 2786, 315, 279, 1887, 13, 1789, 19670, 4633, 6067, 420, 374, 198, 28172, 7167, 26126, 555, 1701, 279, 45982, 62987, 287, 12384, 512, 2485, 1129, 48886, 2726, 14, 605, 13, 5120, 18, 14, 67171, 37284, 43, 7211, 13, 8899, 13, 7461, 4645, 382, 91, 5273, 765, 7817, 9432, 91, 81922, 765, 14730, 21622, 9432, 91, 74011, 15, 35, 6, 63, 765, 2876, 8599, 48582, 9432, 91, 74011, 16, 35, 6, 63, 765, 26572, 2740, 8599, 304, 832, 13167, 9432, 91, 74011, 17, 35, 6, 63, 765, 26572, 2740, 8599, 304, 1403, 15696, 9432, 91, 74011, 18, 35, 6, 63, 765, 26572, 2740, 8599, 304, 2380, 15696, 765, 551, 220, 15, 35, 11, 16, 35, 11, 17, 35, 11, 18, 35, 198, 8234, 24585, 13542, 287, 7258, 551, 4497, 4839, 24790, 369, 420, 1887, 11, 602, 1770, 13, 279, 955, 315, 330, 24177, 198, 4677, 1, 433, 11105, 382, 91, 5273, 765, 7817, 9432, 91, 81922, 765, 14730, 21622, 9432, 91, 74011, 40846, 6, 63, 765, 29696, 5918, 505, 264, 5089, 2849, 430, 44694, 48582, 304, 1403, 18445, 323, 520, 3325, 11157, 11, 719, 539, 72600, 304, 264, 4948, 5216, 13, 9432, 91, 74011, 17, 35, 3769, 6, 63, 765, 29696, 5918, 505, 264, 5089, 2849, 430, 44694, 48582, 304, 1403, 18445, 323, 1193, 3131, 304, 264, 4948, 5216, 13, 9432, 91, 74011, 76, 55269, 6, 63, 765, 386, 55269, 4613, 304, 279, 5457, 19677, 45982, 9432, 91, 74011, 1677, 26429, 6, 63, 765, 3206, 26429, 4613, 304, 279, 5457, 19677, 45982, 765, 551, 220, 17, 35, 3769, 13387, 55269, 11, 1677, 26429, 10900, 10730, 198, 8234, 24585, 64361, 1857, 551, 55982, 3196, 389, 279, 16003, 6012, 13, 551, 610, 198, 8234, 24585, 40802, 801, 1857, 551, 55982, 3196, 389, 279, 11742, 15150, 13, 551, 610, 198, 8234, 24585, 29377, 551, 35975, 315, 279, 2204, 5540, 3118, 304, 279, 6070, 13, 551, 6515, 11, 9219, 11, 2149, 11, 6219, 11, 7098, 11, 2170, 11, 1688, 15381, 84, 8324, 8324, 64, 11, 3513, 8324, 71, 8324, 72, 8324, 74, 11, 6971, 11541, 11541, 64, 11541, 67, 11541, 68, 11541, 69, 11, 5176, 11541, 76, 11541, 77, 11, 7489, 11541, 81, 11541, 82, 11541, 84, 11, 8153, 28365, 82, 28365, 88, 11, 20027, 11, 17812, 43225, 84, 28328, 11, 6251, 11, 3968, 28328, 76, 11, 23376, 38406, 64, 38406, 67, 11, 9688, 44639, 11, 1548, 44639, 69, 44639, 70, 44639, 78, 44639, 82, 38868, 11, 644, 38868, 81, 44754, 44754, 81, 11, 8921, 31214, 72, 31214, 81, 31214, 84, 31214, 85, 11, 26353, 28112, 67, 28112, 70, 28112, 77, 11, 26694, 28112, 83, 22812, 11, 16589, 22812, 65, 22812, 67, 11, 8989, 22812, 71, 22812, 72, 86176, 22812, 79, 75449, 75449, 70, 11, 29967, 28494, 11, 20908, 28494, 65, 28494, 67, 28494, 76, 28494, 78, 11, 3617, 28494, 83, 28494, 84, 24412, 64, 24412, 65, 11, 697, 24412, 69, 24412, 70, 24412, 71, 24412, 77, 24412, 84, 21861, 21861, 65, 11, 3407, 11, 1542, 21861, 70, 21861, 72, 11, 10902, 11, 21380, 21861, 81, 20594, 64, 20594, 65, 20594, 66, 11, 6777, 70980, 20594, 72, 20594, 75, 20594, 76, 20594, 82, 51581, 41054, 50640, 30341, 30341, 68, 30533, 30533, 65, 51932, 77, 51932, 81, 198, 8234, 24585, 1276, 23646, 551, 5742, 315, 2204, 5540, 304, 279, 6070, 439, 459, 7698, 13, 551, 528, 198, 8234, 24585, 29377, 2769, 8500, 551, 935, 8649, 279, 11742, 5540, 304, 84398, 2015, 323, 198, 325, 50700, 555, 264, 3254, 37472, 13, 1115, 12472, 649, 387, 1511, 369, 198, 90222, 2449, 27573, 1405, 499, 1390, 311, 1505, 10925, 15175, 82, 198, 4291, 1193, 3738, 2728, 5540, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 16145, 41419, 551, 578, 11742, 15150, 369, 264, 6070, 439, 264, 925, 304, 264, 1376, 12146, 555, 279, 5446, 198, 14706, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 1311, 54478, 551, 63897, 2740, 10839, 11742, 15150, 449, 11293, 7698, 11742, 198, 782, 15750, 5219, 13, 578, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 1552, 484, 551, 578, 11742, 15150, 369, 264, 6070, 304, 8270, 1376, 449, 2449, 198, 68526, 8272, 555, 2536, 5621, 54478, 7698, 11742, 21801, 5219, 627, 791, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 5431, 455, 582, 551, 31922, 1405, 279, 5540, 527, 11713, 1701, 264, 16287, 1160, 63557, 198, 31039, 389, 43906, 606, 70, 44515, 439, 4613, 304, 279, 358, 3202, 1741, 308, 89947, 1598, 315, 198, 258, 61694, 30903, 320, 1049, 20, 570, 31911, 11293, 7698, 11742, 198, 782, 15750, 5219, 1405, 279, 21801, 1396, 374, 40542, 422, 433, 374, 198, 16, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 12277, 9956, 551, 31922, 449, 279, 5540, 11713, 555, 872, 11293, 7698, 11742, 198, 782, 15750, 1396, 11, 323, 279, 11742, 9606, 12860, 555, 198, 90553, 2740, 11713, 12197, 13, 578, 21801, 1396, 374, 40542, 422, 198, 275, 374, 220, 16, 13, 469, 1326, 13, 220, 473, 17, 46, 9221, 362, 17, 33, 323, 473, 17, 46, 17, 9221, 14469, 13, 578, 12197, 527, 198, 7788, 77, 505, 279, 30063, 28890, 430, 1253, 387, 11838, 555, 7859, 198, 1820, 1396, 315, 12197, 11, 384, 1326, 13, 362, 11, 426, 11, 61453, 1901, 11, 362, 64, 11, 3765, 323, 779, 389, 13, 1115, 198, 18881, 374, 304, 1584, 449, 279, 30293, 7086, 41134, 1829, 33941, 7419, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 1311, 54478, 766, 43056, 551, 63897, 2740, 10839, 11742, 15150, 449, 11293, 7698, 11742, 198, 782, 15750, 5219, 13, 578, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 12613, 278, 3038, 3571, 12613, 551, 578, 7891, 315, 279, 2449, 11, 384, 1326, 13, 364, 47, 65, 4527, 551, 6515, 11, 9219, 11, 2149, 11, 6219, 11, 7098, 11, 2170, 11, 1688, 15381, 84, 8324, 8324, 64, 11, 3513, 8324, 71, 8324, 72, 8324, 74, 11, 6971, 11541, 11541, 64, 11541, 67, 11541, 68, 11541, 69, 11, 5176, 11541, 76, 11541, 77, 11, 7489, 11541, 81, 11541, 82, 11541, 84, 11, 8153, 28365, 82, 28365, 88, 11, 20027, 11, 17812, 43225, 84, 28328, 11, 6251, 11, 3968, 28328, 76, 11, 23376, 38406, 64, 38406, 67, 11, 9688, 44639, 11, 1548, 44639, 69, 44639, 70, 44639, 78, 44639, 82, 38868, 11, 644, 38868, 81, 44754, 44754, 81, 11, 8921, 31214, 72, 31214, 81, 31214, 84, 31214, 85, 11, 26353, 28112, 67, 28112, 70, 28112, 77, 11, 26694, 28112, 83, 22812, 11, 16589, 22812, 65, 22812, 67, 11, 8989, 22812, 71, 22812, 72, 86176, 22812, 79, 75449, 75449, 70, 11, 29967, 28494, 11, 20908, 28494, 65, 28494, 67, 28494, 76, 28494, 78, 11, 3617, 28494, 83, 28494, 84, 24412, 64, 24412, 65, 11, 697, 24412, 69, 24412, 70, 24412, 71, 24412, 77, 24412, 84, 21861, 21861, 65, 11, 3407, 11, 1542, 21861, 70, 21861, 72, 11, 10902, 11, 21380, 21861, 81, 20594, 64, 20594, 65, 20594, 66, 11, 6777, 70980, 20594, 72, 20594, 75, 20594, 76, 20594, 82, 51581, 41054, 50640, 30341, 68, 30533, 30533, 65, 51932, 77, 51932, 81, 198, 8234, 24585, 12613, 278, 3038, 3571, 69382, 60123, 551, 578, 25524, 19983, 315, 279, 2449, 304, 279, 1887, 433, 374, 13282, 2949, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 12613, 278, 3038, 3571, 68471, 60123, 551, 578, 3148, 19983, 315, 279, 2449, 304, 279, 1887, 433, 374, 13282, 2949, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 52001, 33342, 21610, 402, 2852, 918, 32891, 551, 35721, 369, 279, 3320, 402, 2852, 55372, 304, 59642, 45297, 13, 578, 1176, 43147, 6661, 198, 1748, 9803, 279, 26110, 3070, 323, 649, 387, 832, 315, 279, 2768, 25, 264, 320, 376, 292, 3817, 292, 705, 293, 198, 65618, 511, 3817, 292, 705, 297, 320, 2419, 269, 71, 2925, 292, 705, 259, 320, 73542, 4193, 25180, 705, 305, 320, 17757, 24346, 8, 477, 272, 320, 66, 42281, 570, 578, 198, 5686, 40582, 6661, 36611, 279, 2960, 12928, 323, 649, 387, 832, 315, 279, 2768, 25, 393, 198, 26022, 13968, 705, 328, 320, 1594, 2960, 1171, 705, 358, 320, 2664, 2960, 1171, 705, 432, 320, 81, 35940, 754, 71, 36620, 2960, 12928, 8, 477, 435, 198, 21013, 12580, 2960, 1171, 570, 551, 264, 47, 10317, 37, 10317, 40, 10317, 47, 20393, 47, 20393, 49, 13387, 47, 13387, 50, 50318, 37, 50318, 40, 50318, 47, 50318, 50, 14287, 40, 14287, 47, 198, 8234, 24585, 52001, 33342, 42664, 14272, 18155, 551, 4076, 315, 279, 26110, 1887, 13, 551, 41999, 11, 17757, 24346, 11, 1677, 511, 3817, 292, 11, 2419, 269, 71, 2925, 292, 14287, 295, 4193, 25180, 67554, 292, 3817, 292, 67554, 343, 25180, 198, 8234, 24585, 52001, 33342, 870, 543, 5617, 551, 578, 11166, 1396, 369, 420, 1887, 13, 551, 528, 843, 198, 8234, 24585, 52001, 33342, 870, 543, 21868, 551, 578, 11166, 7891, 369, 420, 1887, 13, 551, 610, 198, 8234, 24585, 52001, 33342, 24112, 6422, 551, 20185, 315, 279, 26110, 848, 79173, 1486, 1912, 304, 279, 32565, 1036, 5364, 19729, 75721, 45297, 13, 551, 610, 198, 8234, 24585, 52001, 33342, 36983, 6422, 5617, 551, 46080, 279, 7327, 9323, 315, 29016, 848, 1976, 88, 320, 40, 5576, 8, 1396, 315, 279, 220, 18, 35, 3634, 198, 4166, 315, 420, 1887, 13, 551, 528, 843, 198, 8234, 24585, 52001, 33342, 36983, 6422, 21868, 551, 578, 7327, 9323, 315, 29016, 848, 1976, 88, 320, 40, 5576, 8, 2875, 7891, 315, 279, 220, 18, 35, 198, 8920, 1912, 315, 420, 1887, 13, 551, 610, 198, 8234, 24585, 52001, 33342, 6131, 64969, 551, 578, 15150, 315, 279, 1760, 88167, 3769, 369, 420, 6070, 13, 551, 610, 198, 8234, 24585, 52001, 33342, 6131, 4404, 5072, 851, 551, 578, 13110, 315, 420, 6070, 304, 279, 20479, 9628, 83708, 315, 198, 5192, 14272, 848, 79173, 47728, 512, 1277, 1129, 2185, 5973, 5072, 2808, 2726, 14, 46754, 12, 2301, 66, 43473, 9199, 2628, 551, 610, 198, 8234, 24585, 52001, 33342, 68436, 1292, 551, 362, 4279, 836, 369, 420, 6070, 11, 384, 1326, 13, 282, 641, 11, 293, 641, 13, 551, 220, 19, 44650, 10264, 11, 1548, 355, 1565, 8568, 641, 8568, 302, 8568, 302, 20, 11, 566, 589, 7853, 10317, 455, 1269, 12260, 18986, 17514, 641, 17514, 302, 20393, 3181, 12, 1548, 355, 1565, 20393, 4777, 11, 716, 869, 4991, 635, 11, 21161, 12290, 16262, 332, 458, 10900, 6592, 41999, 25576, 5757, 89, 635, 23500, 2910, 2067, 11178, 198, 8234, 24585, 52001, 33342, 9720, 86056, 655, 4970, 50903, 367, 551, 55982, 315, 279, 3769, 4184, 311, 279, 35901, 15042, 198, 596, 376, 86056, 655, 4970, 4527, 551, 610, 198, 8234, 24585, 8947, 2508, 16315, 851, 551, 3011, 1853, 315, 420, 3857, 2949, 279, 2322, 467, 831, 430, 374, 1511, 439, 264, 5016, 198, 16288, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 2981, 551, 3959, 41419, 2440, 430, 36611, 420, 24693, 961, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13204, 551, 578, 1749, 1511, 369, 25607, 420, 1887, 13, 551, 5634, 307, 11, 9854, 11, 4406, 22828, 46061, 198, 8234, 24585, 8947, 2508, 13480, 551, 362, 2875, 4096, 922, 420, 961, 315, 279, 45982, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 24585, 851, 551, 362, 8521, 3160, 11, 5016, 3769, 13110, 304, 279, 1376, 315, 264, 5286, 198, 37439, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 24585, 1292, 551, 49203, 1285, 5144, 369, 420, 264, 3769, 422, 904, 649, 387, 12893, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 73318, 4269, 1857, 551, 73800, 538, 11075, 505, 279, 25524, 6070, 13, 551, 220, 16, 35, 11, 17, 35, 11, 3104, 27605, 1147, 11, 22612, 8568, 22537, 11, 4166, 13387, 55269, 13387, 55269, 611, 10879, 11, 1677, 26429, 11, 1962, 15590, 10900, 10730, 11, 359, 10547, 198, 8234, 24585, 8947, 2508, 77143, 2786, 551, 29023, 2786, 315, 279, 1887, 13, 1789, 19670, 4633, 6067, 420, 374, 198, 28172, 7167, 26126, 555, 1701, 279, 45982, 62987, 287, 12384, 512, 2485, 1129, 48886, 2726, 14, 605, 13, 5120, 18, 14, 67171, 37284, 43, 7211, 13, 8899, 13, 7461, 4645, 382, 91, 5273, 765, 7817, 9432, 91, 81922, 765, 14730, 21622, 9432, 91, 74011, 15, 35, 6, 63, 765, 2876, 8599, 48582, 9432, 91, 74011, 16, 35, 6, 63, 765, 26572, 2740, 8599, 304, 832, 13167, 9432, 91, 74011, 17, 35, 6, 63, 765, 26572, 2740, 8599, 304, 1403, 15696, 9432, 91, 74011, 18, 35, 6, 63, 765, 26572, 2740, 8599, 304, 2380, 15696, 765, 551, 220, 15, 35, 11, 16, 35, 11, 17, 35, 11, 18, 35, 198, 8234, 24585, 8947, 2508, 13542, 287, 7258, 551, 4497, 4839, 24790, 369, 420, 1887, 11, 602, 1770, 13, 279, 955, 315, 330, 24177, 198, 4677, 1, 433, 11105, 382, 91, 5273, 765, 7817, 9432, 91, 81922, 765, 14730, 21622, 9432, 91, 74011, 40846, 6, 63, 765, 29696, 5918, 505, 264, 5089, 2849, 430, 44694, 48582, 304, 1403, 18445, 323, 520, 3325, 11157, 11, 719, 539, 72600, 304, 264, 4948, 5216, 13, 9432, 91, 74011, 17, 35, 3769, 6, 63, 765, 29696, 5918, 505, 264, 5089, 2849, 430, 44694, 48582, 304, 1403, 18445, 323, 1193, 3131, 304, 264, 4948, 5216, 13, 9432, 91, 74011, 76, 55269, 6, 63, 765, 386, 55269, 4613, 304, 279, 5457, 19677, 45982, 9432, 91, 74011, 1677, 26429, 6, 63, 765, 3206, 26429, 4613, 304, 279, 5457, 19677, 45982, 765, 551, 220, 17, 35, 3769, 13387, 55269, 11, 1677, 26429, 10900, 10730, 198, 8234, 24585, 8947, 2508, 64361, 1857, 551, 55982, 3196, 389, 279, 16003, 6012, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 40802, 801, 1857, 551, 55982, 3196, 389, 279, 11742, 15150, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 29377, 551, 35975, 315, 279, 2204, 5540, 3118, 304, 279, 6070, 13, 551, 6515, 11, 9219, 11, 2149, 11, 6219, 11, 7098, 11, 2170, 11, 1688, 15381, 84, 8324, 8324, 64, 11, 3513, 8324, 71, 8324, 72, 8324, 74, 11, 6971, 11541, 11541, 64, 11541, 67, 11541, 68, 11541, 69, 11, 5176, 11541, 76, 11541, 77, 11, 7489, 11541, 81, 11541, 82, 11541, 84, 11, 8153, 28365, 82, 28365, 88, 11, 20027, 11, 17812, 43225, 84, 28328, 11, 6251, 11, 3968, 28328, 76, 11, 23376, 38406, 64, 38406, 67, 11, 9688, 44639, 11, 1548, 44639, 69, 44639, 70, 44639, 78, 44639, 82, 38868, 11, 644, 38868, 81, 44754, 44754, 81, 11, 8921, 31214, 72, 31214, 81, 31214, 84, 31214, 85, 11, 26353, 28112, 67, 28112, 70, 28112, 77, 11, 26694, 28112, 83, 22812, 11, 16589, 22812, 65, 22812, 67, 11, 8989, 22812, 71, 22812, 72, 86176, 22812, 79, 75449, 75449, 70, 11, 29967, 28494, 11, 20908, 28494, 65, 28494, 67, 28494, 76, 28494, 78, 11, 3617, 28494, 83, 28494, 84, 24412, 64, 24412, 65, 11, 697, 24412, 69, 24412, 70, 24412, 71, 24412, 77, 24412, 84, 21861, 21861, 65, 11, 3407, 11, 1542, 21861, 70, 21861, 72, 11, 10902, 11, 21380, 21861, 81, 20594, 64, 20594, 65, 20594, 66, 11, 6777, 70980, 20594, 72, 20594, 75, 20594, 76, 20594, 82, 51581, 41054, 50640, 30341, 30341, 68, 30533, 30533, 65, 51932, 77, 51932, 81, 198, 8234, 24585, 8947, 2508, 1276, 23646, 551, 5742, 315, 2204, 5540, 304, 279, 6070, 439, 459, 7698, 13, 551, 528, 198, 8234, 24585, 8947, 2508, 29377, 2769, 8500, 551, 935, 8649, 279, 11742, 5540, 304, 84398, 2015, 323, 198, 325, 50700, 555, 264, 3254, 37472, 13, 1115, 12472, 649, 387, 1511, 369, 198, 90222, 2449, 27573, 1405, 499, 1390, 311, 1505, 10925, 15175, 82, 198, 4291, 1193, 3738, 2728, 5540, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 16145, 41419, 551, 578, 11742, 15150, 369, 264, 6070, 439, 264, 925, 304, 264, 1376, 12146, 555, 279, 5446, 198, 14706, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 1311, 54478, 551, 63897, 2740, 10839, 11742, 15150, 449, 11293, 7698, 11742, 198, 782, 15750, 5219, 13, 578, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 1552, 484, 551, 578, 11742, 15150, 369, 264, 6070, 304, 8270, 1376, 449, 2449, 198, 68526, 8272, 555, 2536, 5621, 54478, 7698, 11742, 21801, 5219, 627, 791, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 5431, 455, 582, 551, 31922, 1405, 279, 5540, 527, 11713, 1701, 264, 16287, 1160, 63557, 198, 31039, 389, 43906, 606, 70, 44515, 439, 4613, 304, 279, 358, 3202, 1741, 308, 89947, 1598, 315, 198, 258, 61694, 30903, 320, 1049, 20, 570, 31911, 11293, 7698, 11742, 198, 782, 15750, 5219, 1405, 279, 21801, 1396, 374, 40542, 422, 433, 374, 198, 16, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 12277, 9956, 551, 31922, 449, 279, 5540, 11713, 555, 872, 11293, 7698, 11742, 198, 782, 15750, 1396, 11, 323, 279, 11742, 9606, 12860, 555, 198, 90553, 2740, 11713, 12197, 13, 578, 21801, 1396, 374, 40542, 422, 198, 275, 374, 220, 16, 13, 469, 1326, 13, 220, 473, 17, 46, 9221, 362, 17, 33, 323, 473, 17, 46, 17, 9221, 14469, 13, 578, 12197, 527, 198, 7788, 77, 505, 279, 30063, 28890, 430, 1253, 387, 11838, 555, 7859, 198, 1820, 1396, 315, 12197, 11, 384, 1326, 13, 362, 11, 426, 11, 61453, 1901, 11, 362, 64, 11, 3765, 323, 779, 389, 13, 1115, 198, 18881, 374, 304, 1584, 449, 279, 30293, 7086, 41134, 1829, 33941, 7419, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 1311, 54478, 766, 43056, 551, 63897, 2740, 10839, 11742, 15150, 449, 11293, 7698, 11742, 198, 782, 15750, 5219, 13, 578, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 8829, 18155, 551, 17650, 311, 279, 2748, 1887, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 17990, 18155, 82, 551, 45178, 311, 279, 1716, 6067, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 69382, 60123, 551, 578, 25524, 19983, 315, 420, 1887, 304, 279, 2539, 6070, 433, 374, 13282, 304, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 68471, 60123, 551, 578, 3148, 19983, 315, 420, 1887, 304, 279, 2539, 6070, 433, 374, 13282, 2949, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 1276, 68855, 551, 578, 2860, 1396, 315, 9606, 320, 66650, 11, 19252, 8, 304, 279, 1887, 13, 551, 528, 198, 8234, 24585, 8947, 2508, 516, 20218, 1857, 551, 578, 1948, 5848, 13340, 315, 279, 9501, 14580, 4857, 8316, 320, 82, 10551, 4390, 791, 6211, 315, 1455, 9501, 8057, 355, 527, 1664, 4613, 323, 1376, 279, 8197, 315, 1455, 198, 5526, 11672, 49400, 13, 578, 1455, 4279, 3187, 374, 279, 40403, 39690, 11, 21236, 4908, 296, 37181, 345, 98382, 37181, 11, 577, 822, 2287, 551, 610, 198, 8234, 24585, 8947, 2508, 929, 33481, 669, 11980, 821, 37144, 551, 578, 7928, 56429, 23899, 374, 279, 7928, 26436, 430, 649, 387, 22306, 304, 264, 94761, 198, 9125, 2085, 50917, 449, 904, 315, 279, 33299, 304, 279, 1887, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 558, 461, 15106, 287, 821, 37144, 551, 578, 97551, 33994, 23899, 374, 279, 7928, 26436, 430, 649, 26662, 198, 13798, 817, 1555, 279, 94761, 4009, 2085, 50917, 449, 904, 315, 279, 198, 66650, 304, 279, 1887, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 929, 33481, 1265, 10391, 88073, 8584, 647, 9082, 88073, 2703, 551, 578, 7928, 5343, 26436, 3235, 1949, 26436, 1853, 374, 198, 27995, 478, 26436, 430, 649, 387, 22306, 304, 279, 97551, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 22757, 1260, 32130, 15380, 551, 578, 7479, 3158, 15987, 374, 279, 3158, 430, 374, 15987, 311, 8810, 35715, 198, 258, 264, 94761, 1887, 13, 1102, 374, 8965, 6646, 311, 387, 279, 4553, 7479, 3158, 198, 9210, 649, 387, 9575, 19212, 555, 264, 22477, 315, 264, 3230, 10801, 13, 763, 98811, 1846, 11, 555, 1670, 584, 1005, 198, 64, 22477, 430, 706, 264, 10801, 315, 220, 16, 13, 4218, 7568, 35155, 11, 902, 8024, 311, 279, 198, 1030, 838, 306, 12164, 72, 315, 47503, 6962, 13, 1789, 39538, 43943, 1887, 11, 264, 12164, 72, 315, 198, 16, 13, 19, 7568, 35155, 649, 387, 1511, 11, 902, 8024, 311, 279, 1080, 838, 306, 12164, 72, 198, 1073, 3090, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 17, 198, 8234, 24585, 8947, 2508, 22757, 1260, 28039, 551, 20880, 315, 653, 41456, 3634, 304, 264, 1887, 430, 649, 387, 15987, 311, 198, 31277, 35715, 11, 1093, 2092, 48764, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 198, 8234, 24585, 8947, 2508, 13, 1019, 60123, 551, 51848, 315, 279, 279, 8286, 315, 279, 653, 41456, 3634, 304, 279, 1887, 198, 998, 279, 8286, 315, 279, 4553, 1887, 13, 1102, 374, 264, 1695, 13594, 311, 198, 67, 25296, 1268, 94761, 264, 1887, 374, 13, 53485, 94761, 6067, 198, 61917, 617, 264, 8294, 742, 19983, 11, 37318, 17251, 477, 29050, 198, 46654, 617, 9333, 742, 65995, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 1276, 19848, 551, 5742, 315, 12006, 3118, 304, 279, 94761, 1887, 11, 902, 8024, 311, 279, 1396, 315, 198, 79, 4692, 2949, 279, 1887, 13, 551, 528, 198, 8234, 24585, 8947, 2508, 516, 20218, 31196, 2617, 5617, 551, 578, 1396, 315, 21583, 1486, 304, 279, 14580, 4857, 8316, 1161, 20218, 705, 902, 34310, 311, 198, 1820, 311, 279, 1396, 315, 1486, 315, 9070, 304, 279, 14580, 4857, 5089, 13, 4427, 4279, 198, 23827, 2508, 2997, 198, 16, 551, 78316, 25847, 198, 17, 551, 22011, 25847, 198, 18, 551, 490, 275, 25847, 198, 19, 551, 259, 17820, 266, 25847, 198, 20, 551, 20801, 266, 25847, 551, 528, 198, 8234, 24585, 8947, 2508, 12613, 278, 3038, 3571, 12613, 551, 578, 7891, 315, 279, 2449, 11, 384, 1326, 13, 364, 47, 65, 4527, 551, 6515, 11, 9219, 11, 2149, 11, 6219, 11, 7098, 11, 2170, 11, 1688, 15381, 84, 8324, 8324, 64, 11, 3513, 8324, 71, 8324, 72, 8324, 74, 11, 6971, 11541, 11541, 64, 11541, 67, 11541, 68, 11541, 69, 11, 5176, 11541, 76, 11541, 77, 11, 7489, 11541, 81, 11541, 82, 11541, 84, 11, 8153, 28365, 82, 28365, 88, 11, 20027, 11, 17812, 43225, 84, 28328, 11, 6251, 11, 3968, 28328, 76, 11, 23376, 38406, 64, 38406, 67, 11, 9688, 44639, 11, 1548, 44639, 69, 44639, 70, 44639, 78, 44639, 82, 38868, 11, 644, 38868, 81, 44754, 44754, 81, 11, 8921, 31214, 72, 31214, 81, 31214, 84, 31214, 85, 11, 26353, 28112, 67, 28112, 70, 28112, 77, 11, 26694, 28112, 83, 22812, 11, 16589, 22812, 65, 22812, 67, 11, 8989, 22812, 71, 22812, 72, 86176, 22812, 79, 75449, 75449, 70, 11, 29967, 28494, 11, 20908, 28494, 65, 28494, 67, 28494, 76, 28494, 78, 11, 3617, 28494, 83, 28494, 84, 24412, 64, 24412, 65, 11, 697, 24412, 69, 24412, 70, 24412, 71, 24412, 77, 24412, 84, 21861, 21861, 65, 11, 3407, 11, 1542, 21861, 70, 21861, 72, 11, 10902, 11, 21380, 21861, 81, 20594, 64, 20594, 65, 20594, 66, 11, 6777, 70980, 20594, 72, 20594, 75, 20594, 76, 20594, 82, 51581, 41054, 50640, 30341, 68, 30533, 30533, 65, 51932, 77, 51932, 81, 198, 8234, 24585, 8947, 2508, 12613, 278, 3038, 3571, 69382, 60123, 551, 578, 25524, 19983, 315, 279, 2449, 304, 279, 1887, 433, 374, 13282, 2949, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 12613, 278, 3038, 3571, 68471, 60123, 551, 578, 3148, 19983, 315, 279, 2449, 304, 279, 1887, 433, 374, 13282, 2949, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 16315, 48084, 4957, 551, 578, 955, 315, 12976, 1990, 264, 1887, 323, 433, 596, 2748, 382, 91, 5273, 765, 7817, 9432, 91, 81922, 765, 14730, 21622, 9432, 91, 74011, 2959, 6, 63, 765, 744, 14393, 279, 4553, 6070, 11, 706, 912, 2748, 1887, 13, 9432, 91, 74011, 2008, 9125, 6, 63, 765, 362, 3254, 20406, 5502, 28532, 505, 279, 2748, 1887, 13, 9432, 91, 74011, 4166, 6, 63, 765, 362, 20406, 1912, 315, 53885, 82, 2949, 279, 2748, 11, 384, 1326, 13, 264, 1912, 315, 35715, 304, 14306, 13, 9432, 91, 74011, 74548, 17061, 6, 63, 765, 578, 21349, 2849, 505, 902, 279, 2748, 374, 20968, 505, 13, 9432, 91, 74011, 444, 44322, 17061, 6, 63, 765, 578, 28694, 2849, 505, 902, 279, 2748, 374, 20968, 505, 13, 765, 551, 21349, 17061, 11, 4166, 11, 74548, 17061, 11, 2959, 11, 2008, 9125, 198, 8234, 24585, 8947, 2508, 25606, 5973, 551, 17736, 315, 279, 1176, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 25606, 960, 551, 17736, 315, 279, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 25606, 522, 551, 17736, 315, 279, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 25606, 24879, 551, 37337, 1990, 2132, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 24585, 8947, 2508, 25606, 63029, 551, 37337, 1990, 1176, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 24585, 8947, 2508, 25606, 74401, 551, 37337, 1990, 1176, 323, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 24585, 8947, 2508, 25606, 41584, 551, 20880, 315, 279, 2849, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 198, 8234, 24585, 8947, 2508, 25606, 69382, 54449, 551, 31416, 17915, 315, 279, 3769, 320, 66650, 5574, 4765, 50522, 551, 2273, 1227, 551, 220, 16, 611, 23819, 3146, 220, 18, 198, 8234, 24585, 8947, 2508, 25606, 68471, 54449, 551, 9346, 17915, 315, 279, 3769, 13, 551, 2273, 1227, 551, 15395, 13255, 611, 23819, 3146, 220, 18, 198, 8234, 24585, 8947, 2508, 52001, 33342, 21610, 402, 2852, 918, 32891, 551, 35721, 369, 279, 3320, 402, 2852, 55372, 304, 59642, 45297, 13, 578, 1176, 43147, 6661, 198, 1748, 9803, 279, 26110, 3070, 323, 649, 387, 832, 315, 279, 2768, 25, 264, 320, 376, 292, 3817, 292, 705, 293, 198, 65618, 511, 3817, 292, 705, 297, 320, 2419, 269, 71, 2925, 292, 705, 259, 320, 73542, 4193, 25180, 705, 305, 320, 17757, 24346, 8, 477, 272, 320, 66, 42281, 570, 578, 198, 5686, 40582, 6661, 36611, 279, 2960, 12928, 323, 649, 387, 832, 315, 279, 2768, 25, 393, 198, 26022, 13968, 705, 328, 320, 1594, 2960, 1171, 705, 358, 320, 2664, 2960, 1171, 705, 432, 320, 81, 35940, 754, 71, 36620, 2960, 12928, 8, 477, 435, 198, 21013, 12580, 2960, 1171, 570, 551, 264, 47, 10317, 37, 10317, 40, 10317, 47, 20393, 47, 20393, 49, 13387, 47, 13387, 50, 50318, 37, 50318, 40, 50318, 47, 50318, 50, 14287, 40, 14287, 47, 198, 8234, 24585, 8947, 2508, 52001, 33342, 42664, 14272, 18155, 551, 4076, 315, 279, 26110, 1887, 13, 551, 41999, 11, 17757, 24346, 11, 1677, 511, 3817, 292, 11, 2419, 269, 71, 2925, 292, 14287, 295, 4193, 25180, 67554, 292, 3817, 292, 67554, 343, 25180, 198, 8234, 24585, 8947, 2508, 52001, 33342, 870, 543, 5617, 551, 578, 11166, 1396, 369, 420, 1887, 13, 551, 528, 843, 198, 8234, 24585, 8947, 2508, 52001, 33342, 870, 543, 21868, 551, 578, 11166, 7891, 369, 420, 1887, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 52001, 33342, 24112, 6422, 551, 20185, 315, 279, 26110, 848, 79173, 1486, 1912, 304, 279, 32565, 1036, 5364, 19729, 75721, 45297, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 52001, 33342, 36983, 6422, 5617, 551, 46080, 279, 7327, 9323, 315, 29016, 848, 1976, 88, 320, 40, 5576, 8, 1396, 315, 279, 220, 18, 35, 3634, 198, 4166, 315, 420, 1887, 13, 551, 528, 843, 198, 8234, 24585, 8947, 2508, 52001, 33342, 36983, 6422, 21868, 551, 578, 7327, 9323, 315, 29016, 848, 1976, 88, 320, 40, 5576, 8, 2875, 7891, 315, 279, 220, 18, 35, 198, 8920, 1912, 315, 420, 1887, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 52001, 33342, 9720, 86056, 655, 4970, 50903, 367, 551, 55982, 315, 279, 3769, 4184, 311, 279, 35901, 15042, 198, 596, 376, 86056, 655, 4970, 4527, 551, 610, 198, 8234, 24585, 8947, 2508, 52001, 33342, 6131, 6234, 4404, 5072, 551, 20479, 9628, 2440, 315, 279, 25018, 320, 4151, 198, 1277, 1129, 64, 5072, 2808, 2726, 11547, 81, 14272, 6116, 14, 46754, 3644, 2628, 8, 11054, 389, 279, 8197, 198, 1073, 279, 3634, 6422, 323, 30510, 1704, 88, 377, 1885, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 52001, 33342, 6131, 1292, 551, 362, 4279, 836, 369, 420, 1760, 88167, 6070, 11, 384, 1326, 13, 282, 641, 11, 293, 641, 13, 551, 220, 19, 44650, 10264, 11, 1548, 355, 1565, 8568, 641, 8568, 302, 8568, 302, 20, 11, 566, 589, 7853, 10317, 455, 1269, 12260, 18986, 17514, 641, 17514, 302, 20393, 3181, 12, 1548, 355, 1565, 20393, 4777, 11, 716, 869, 4991, 635, 11, 21161, 12290, 16262, 332, 458, 10900, 6592, 41999, 25576, 5757, 89, 635, 23500, 2910, 2067, 11178, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 1276, 54446, 372, 5617, 551, 37409, 31228, 1396, 400, 77, 13244, 551, 528, 843, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 1190, 54446, 372, 5617, 551, 10884, 20932, 24151, 31228, 1396, 400, 73, 284, 765, 75, 1355, 91, 2564, 326, 68897, 3, 627, 334, 45, 20726, 449, 3831, 445, 6354, 59086, 477, 2536, 1824, 980, 90021, 12903, 6067, 13, 334, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 97251, 54446, 372, 5617, 551, 15757, 56307, 278, 22343, 315, 279, 400, 73, 3, 4724, 627, 334, 45, 20726, 449, 3831, 445, 6354, 59086, 477, 2536, 1824, 980, 90021, 12903, 6067, 13, 334, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 2337, 7642, 2826, 551, 578, 1396, 315, 5415, 1234, 279, 21973, 17413, 9435, 311, 279, 65691, 743, 627, 2028, 52873, 22204, 430, 682, 27605, 1147, 304, 279, 743, 527, 5367, 13523, 13, 551, 528, 843, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 1276, 2253, 772, 26692, 46747, 1639, 551, 578, 17130, 6900, 12304, 369, 61966, 10096, 627, 90383, 430, 3567, 6629, 505, 220, 15, 477, 220, 16, 11383, 33164, 4448, 587, 18528, 627, 36687, 279, 1595, 9613, 63, 1614, 374, 12146, 11, 279, 1646, 34310, 311, 264, 3254, 17130, 1694, 12304, 304, 7106, 8903, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 13, 59362, 551, 578, 2860, 1396, 315, 57678, 2949, 279, 1614, 320, 300, 4613, 555, 5367, 804, 2826, 340, 10924, 13548, 279, 1646, 6900, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 929, 54446, 372, 21868, 551, 15757, 56307, 278, 400, 75, 3, 304, 36396, 1376, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 58509, 54446, 372, 21868, 551, 63755, 31228, 1396, 400, 76, 918, 3, 304, 36396, 1376, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 40215, 54446, 372, 21868, 551, 41785, 31228, 1396, 400, 76, 646, 3, 304, 36396, 1376, 13, 551, 610, 198, 8234, 13204, 13204, 851, 551, 35721, 369, 279, 1511, 1749, 13, 8442, 2561, 369, 264, 27084, 315, 10925, 198, 2000, 902, 279, 38152, 706, 1027, 11054, 449, 16437, 13, 551, 610, 198, 8234, 13204, 13204, 1292, 551, 7874, 836, 369, 279, 1511, 1749, 13, 551, 426, 937, 11, 5501, 39, 1286, 28365, 4082, 11, 8561, 4082, 43225, 98952, 38406, 54, 22812, 18953, 20594, 33, 30341, 5119, 30341, 37790, 16539, 11865, 11, 31548, 372, 27366, 11, 359, 10547, 198, 8234, 13204, 73874, 1292, 551, 256, 551, 610, 198, 8234, 13204, 29716, 2987, 46182, 1292, 551, 578, 836, 315, 279, 1511, 2068, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 46182, 9625, 551, 578, 2373, 315, 279, 1511, 2068, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 46182, 9625, 24369, 551, 578, 2373, 4877, 1511, 34167, 555, 279, 4500, 2128, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 962, 728, 960, 10949, 2667, 1857, 551, 578, 1511, 8197, 743, 5865, 13, 551, 320, 43, 8, 2599, 54, 10, 385, 11, 6885, 1892, 5493, 11, 1962, 15590, 11, 20173, 362, 29967, 11, 19563, 17301, 11, 1725, 2910, 5865, 11, 8110, 29047, 5950, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 962, 728, 4976, 2253, 70329, 530, 35320, 551, 2650, 279, 6332, 57678, 527, 7633, 13, 551, 682, 17130, 20268, 6332, 11, 9054, 682, 17130, 7385, 40512, 89490, 2335, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 962, 728, 91571, 623, 7569, 1534, 551, 13440, 279, 22702, 374, 12903, 2320, 7569, 1534, 13, 551, 1845, 198, 8234, 13204, 29716, 2987, 962, 728, 7840, 69, 22616, 35895, 16326, 551, 46080, 279, 12447, 369, 279, 2860, 4907, 2349, 1990, 1403, 17876, 198, 726, 69604, 18620, 2115, 320, 3624, 37, 8, 26771, 13, 578, 7683, 37, 374, 6646, 97875, 994, 279, 198, 5143, 65487, 2349, 1990, 1403, 7683, 37, 25492, 374, 3770, 279, 12447, 320, 54228, 304, 198, 76128, 449, 1023, 13186, 570, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 962, 728, 3211, 276, 36445, 2832, 64, 1147, 9209, 551, 578, 1511, 5355, 2761, 29614, 1147, 1749, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 962, 728, 1351, 5641, 1968, 9209, 551, 3959, 56236, 279, 59425, 4633, 6514, 1511, 369, 279, 22702, 315, 279, 1620, 4907, 198, 438, 5552, 33776, 13, 1442, 36257, 477, 4384, 11, 912, 59425, 4633, 6514, 374, 9435, 13, 551, 35850, 42752, 1311, 5641, 344, 4633, 11, 36442, 1311, 5641, 344, 4633, 11, 36442, 1311, 5641, 344, 4633, 52467, 12582, 52577, 198, 8234, 13204, 29716, 2987, 962, 728, 23368, 13992, 34262, 551, 46080, 279, 3169, 315, 1554, 13992, 389, 279, 17130, 30747, 1511, 311, 11294, 279, 198, 10816, 4907, 320, 4151, 4907, 9082, 696, 4180, 2819, 527, 1473, 91, 4487, 13992, 3169, 1835, 765, 7817, 5291, 36821, 91, 14730, 23573, 765, 20308, 12, 36821, 91, 54405, 3274, 41017, 338, 765, 2360, 1554, 13992, 374, 9435, 310, 36821, 91, 54405, 6885, 15950, 41017, 1078, 765, 49668, 1554, 13992, 338, 36821, 91, 54405, 809, 8318, 41017, 338, 765, 99362, 72, 1554, 13992, 504, 36821, 91, 54405, 5730, 89, 2850, 8437, 8363, 70824, 41017, 262, 765, 2947, 89, 2850, 20198, 8363, 70824, 1554, 13992, 996, 36821, 91, 54405, 69991, 69, 36648, 2320, 710, 783, 41017, 257, 765, 57175, 69, 36648, 9483, 710, 783, 1554, 13992, 286, 36821, 91, 54405, 73542, 33607, 291, 969, 41017, 310, 765, 5783, 45786, 315, 1614, 49969, 323, 60966, 198, 7, 625, 4692, 1554, 13992, 8086, 8, 765, 551, 610, 198, 8234, 13204, 29716, 2987, 962, 728, 23368, 13992, 8086, 551, 46080, 279, 2430, 315, 279, 1554, 13992, 304, 4907, 369, 279, 17130, 30747, 1511, 311, 198, 36697, 279, 1949, 4907, 320, 4151, 4907, 9082, 3677, 9, 28892, 54486, 2876, 682, 5528, 5300, 304, 1554, 13992, 34262, 5829, 420, 907, 13, 551, 2273, 1227, 198, 8234, 13204, 29716, 2987, 962, 728, 1190, 582, 5598, 918, 21473, 551, 55550, 24790, 304, 1584, 449, 25537, 596, 445, 21473, 627, 2520, 810, 2038, 11, 1518, 3788, 1129, 48886, 2726, 14, 605, 13, 7461, 18, 14, 16, 13, 10125, 17248, 20, 320, 10090, 5684, 317, 2485, 1129, 48886, 2726, 14, 605, 13, 5120, 18, 14, 67171, 37284, 43, 7211, 13, 5925, 13, 10465, 10841, 320, 5607, 12279, 16519, 317, 438, 3788, 1129, 48886, 2726, 14, 605, 13, 7461, 18, 14, 16, 13, 7028, 10961, 20, 320, 69292, 12279, 16519, 570, 551, 480, 16519, 31214, 6486, 11, 8671, 16621, 11, 69292, 12279, 16519, 11, 5607, 12279, 16519, 11, 1962, 15590, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 962, 728, 2036, 66, 9353, 278, 1857, 551, 55550, 24790, 304, 1584, 449, 25537, 596, 445, 21473, 627, 2520, 810, 2038, 11, 1518, 3788, 1129, 48886, 2726, 14, 605, 13, 7461, 18, 14, 16, 13, 10125, 17248, 20, 320, 10090, 5684, 317, 2485, 1129, 48886, 2726, 14, 605, 13, 5120, 18, 14, 67171, 37284, 43, 7211, 13, 5925, 13, 10465, 10841, 320, 5607, 12279, 16519, 317, 438, 3788, 1129, 48886, 2726, 14, 605, 13, 7461, 18, 14, 16, 13, 7028, 10961, 20, 320, 69292, 12279, 16519, 570, 551, 480, 16519, 31214, 6486, 11, 8671, 16621, 11, 69292, 12279, 16519, 11, 5607, 12279, 16519, 11, 1962, 15590, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 962, 728, 2036, 66, 9353, 278, 9366, 551, 578, 1160, 315, 3127, 39046, 16003, 5144, 430, 1405, 1511, 304, 420, 4441, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 962, 728, 2272, 533, 60312, 68829, 287, 19100, 551, 26868, 315, 4839, 9473, 9709, 304, 449, 279, 61442, 16003, 320, 970, 2134, 284, 510, 15, 11, 16, 10927, 551, 2273, 1227, 198, 8234, 13204, 29716, 2987, 962, 728, 870, 21340, 569, 4803, 276, 309, 13915, 5156, 11895, 28224, 535, 551, 5273, 315, 279, 7524, 549, 5852, 320, 84, 482, 503, 570, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 962, 728, 870, 21340, 569, 4803, 276, 309, 13915, 5156, 11895, 551, 5273, 315, 279, 320, 258, 2221, 30986, 2223, 8, 81000, 16628, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 962, 728, 870, 21340, 569, 4803, 276, 309, 13915, 5156, 1190, 551, 5273, 315, 279, 9473, 16628, 13, 763, 92371, 58720, 6067, 11, 503, 284, 503, 71, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 36386, 4957, 551, 75446, 65500, 1646, 955, 25, 98103, 735, 11975, 27442, 11, 423, 4082, 33, 57304, 11, 865, 32260, 18713, 65916, 198, 94304, 11, 477, 468, 1036, 1291, 22343, 13, 551, 423, 4082, 33, 11, 7594, 977, 16222, 11975, 50640, 1036, 1291, 11, 1962, 15590, 13095, 32260, 198, 8234, 13204, 29716, 2987, 36386, 77863, 1857, 551, 81920, 955, 315, 279, 468, 1036, 1291, 27605, 1147, 13, 551, 31127, 750, 13876, 1534, 10900, 2222, 82326, 198, 8234, 13204, 29716, 2987, 1326, 86, 4957, 551, 42353, 473, 31501, 596, 659, 69604, 48194, 11008, 1473, 91, 4076, 415, 765, 7817, 2611, 765, 17650, 1835, 36821, 91, 81922, 765, 20308, 765, 14730, 15431, 36821, 91, 74011, 38, 15, 54, 15, 6, 63, 220, 765, 3254, 64630, 2611, 765, 8743, 33, 220, 5728, 11, 220, 22407, 4645, 320, 1049, 21, 8, 36821, 91, 74011, 2445, 63665, 6, 63, 220, 765, 659, 69604, 18620, 480, 323, 468, 2342, 765, 8743, 33, 220, 2075, 11, 220, 12422, 4278, 320, 1049, 22, 8, 36821, 91, 74011, 2445, 63665, 15, 6, 63, 765, 659, 69604, 18620, 480, 449, 8521, 468, 15, 220, 765, 8743, 33, 220, 4370, 11, 220, 25496, 16, 320, 2550, 21, 8, 256, 36821, 91, 74011, 2445, 38, 15, 54, 6, 63, 765, 659, 69604, 18620, 468, 449, 8521, 480, 15, 220, 765, 482, 3909, 36821, 91, 74011, 5230, 31419, 63665, 15, 6, 63, 220, 765, 29824, 3745, 659, 69604, 18620, 480, 449, 8521, 468, 15, 256, 765, 8743, 33, 220, 1958, 11, 220, 23033, 15, 320, 3753, 21, 8, 256, 36821, 91, 74011, 5230, 31419, 63665, 6, 63, 220, 765, 29824, 3745, 659, 69604, 18620, 480, 323, 468, 256, 765, 8743, 33, 220, 5728, 11, 220, 23785, 4278, 320, 1049, 21, 8, 256, 36821, 91, 74011, 33863, 31419, 63665, 15, 6, 63, 220, 765, 934, 300, 575, 7203, 659, 69604, 18620, 480, 449, 8521, 468, 15, 765, 393, 4833, 220, 1484, 11, 220, 7322, 7743, 320, 1049, 22, 8, 36821, 91, 74011, 33863, 31419, 63665, 6, 63, 220, 765, 934, 300, 575, 7203, 659, 69604, 18620, 480, 323, 468, 765, 393, 4833, 220, 4161, 11, 220, 14057, 16496, 320, 1049, 21, 8, 765, 551, 480, 15, 54, 15, 82692, 31419, 63665, 82692, 31419, 63665, 15, 11, 33863, 31419, 63665, 11, 33863, 31419, 63665, 15, 11, 2445, 38, 15, 54, 11, 2445, 63665, 11, 2445, 63665, 15, 198, 8234, 13204, 29716, 2987, 1326, 86, 960, 10949, 2667, 1857, 551, 578, 1511, 8197, 743, 5865, 13, 551, 320, 43, 8, 2599, 54, 10, 385, 11, 6885, 1892, 5493, 11, 1962, 15590, 11, 20173, 362, 29967, 11, 19563, 17301, 11, 1725, 2910, 5865, 11, 8110, 29047, 5950, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 1326, 86, 5069, 287, 6213, 1857, 551, 578, 3127, 39046, 3196, 58001, 16003, 24790, 1511, 304, 279, 6041, 1486, 423, 4082, 19576, 13, 551, 480, 16519, 44639, 37, 31214, 6486, 11, 8671, 16621, 11, 69292, 12279, 16519, 11, 5607, 12279, 16519, 11, 1962, 15590, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 1326, 86, 5069, 287, 6213, 9366, 551, 578, 1160, 315, 3127, 39046, 16003, 5144, 430, 1405, 1511, 304, 420, 4441, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 960, 325, 4957, 551, 4078, 315, 426, 937, 13824, 16695, 1122, 29056, 1473, 262, 473, 1702, 937, 284, 473, 30577, 24346, 489, 220, 17, 353, 62133, 353, 473, 87, 482, 22903, 353, 473, 66, 271, 2940, 62133, 11, 22903, 30202, 279, 955, 382, 20171, 5070, 369, 279, 10334, 512, 12, 1795, 1129, 40541, 5977, 62601, 94369, 916, 2971, 52745, 98033, 1639, 90160, 39151, 1481, 325, 2, 55880, 16, 198, 12, 3788, 1129, 2185, 3211, 13671, 6990, 26583, 9199, 2348, 16675, 19030, 6354, 278, 79, 1430, 63359, 811, 24965, 3395, 811, 198, 12, 3788, 1129, 14452, 22823, 2381, 2726, 52357, 683, 3554, 325, 6018, 12, 3788, 1129, 2185, 2441, 309, 754, 26327, 36103, 26583, 9199, 2348, 16675, 19030, 6354, 278, 79, 1430, 27974, 271, 91, 4076, 765, 7817, 36821, 91, 81922, 765, 14730, 21622, 36821, 91, 74011, 60300, 1169, 6, 63, 765, 62133, 284, 220, 16, 11, 22903, 284, 220, 16, 36821, 91, 74011, 22646, 11053, 6, 63, 765, 62133, 284, 220, 15, 11, 22903, 284, 220, 16, 36821, 91, 74011, 3378, 6, 63, 765, 22765, 2320, 7203, 5603, 36821, 91, 74011, 49, 8201, 6, 63, 765, 10836, 28673, 44919, 5582, 765, 551, 6933, 24412, 8201, 21861, 287, 1169, 20594, 462, 11053, 198, 8234, 13204, 29716, 2987, 960, 325, 960, 10949, 2667, 1857, 551, 578, 1511, 8197, 743, 5865, 13, 551, 320, 43, 8, 2599, 54, 10, 385, 11, 6885, 1892, 5493, 11, 1962, 15590, 11, 20173, 362, 29967, 11, 19563, 17301, 11, 1725, 2910, 5865, 11, 8110, 29047, 5950, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 960, 325, 5069, 287, 6213, 1857, 551, 578, 3127, 39046, 3196, 58001, 16003, 24790, 1511, 304, 279, 6041, 1486, 423, 4082, 19576, 13, 551, 480, 16519, 44639, 37, 31214, 6486, 11, 8671, 16621, 11, 69292, 12279, 16519, 11, 5607, 12279, 16519, 11, 1962, 15590, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 960, 325, 5069, 287, 6213, 9366, 551, 578, 1160, 315, 3127, 39046, 16003, 5144, 430, 1405, 1511, 304, 420, 4441, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 960, 325, 516, 8080, 551, 69395, 17797, 354, 411, 76, 1511, 311, 38336, 553, 279, 426, 937, 24051, 1122, 382, 91, 4076, 765, 7817, 765, 17650, 36821, 91, 81922, 765, 14730, 21622, 765, 93686, 36821, 91, 74011, 9619, 51389, 24346, 2065, 6, 63, 765, 8797, 38336, 2065, 315, 279, 426, 937, 24051, 1122, 765, 482, 36821, 91, 74011, 43, 1149, 54801, 11529, 352, 78155, 6, 63, 765, 3804, 8920, 87975, 39634, 54801, 11529, 352, 78155, 12384, 765, 3788, 1129, 48886, 2726, 14, 605, 13, 5120, 18, 14, 67171, 37284, 33, 13, 2946, 13, 21239, 16, 36821, 91, 74011, 21287, 7157, 6, 63, 765, 3331, 1534, 17832, 33247, 1749, 765, 3788, 1129, 48886, 2726, 14, 605, 13, 8190, 22, 14, 18807, 21469, 23, 36821, 91, 74011, 50, 877, 47, 66, 6, 63, 765, 69934, 481, 11896, 369, 25059, 970, 22854, 24019, 811, 765, 3788, 1129, 82, 273, 4080, 18119, 85, 19060, 14, 36821, 91, 74011, 51, 6486, 6, 63, 765, 350, 8836, 9607, 19067, 544, 57304, 765, 3788, 1129, 48886, 2726, 14, 605, 13, 4645, 21, 11628, 931, 24, 12, 15602, 19, 7, 1484, 8, 10731, 2491, 12, 20, 765, 551, 8797, 51389, 24346, 2065, 11, 21287, 7157, 31214, 1149, 54801, 11529, 352, 78155, 21861, 877, 47, 66, 20594, 6486, 198, 8234, 13204, 29716, 2987, 960, 325, 1326, 86, 1857, 551, 42353, 473, 31501, 596, 659, 69604, 48194, 11008, 1473, 91, 4076, 415, 765, 7817, 2611, 765, 17650, 1835, 36821, 91, 81922, 765, 20308, 765, 14730, 15431, 36821, 91, 74011, 38, 15, 54, 15, 6, 63, 220, 765, 3254, 64630, 2611, 765, 8743, 33, 220, 5728, 11, 220, 22407, 4645, 320, 1049, 21, 8, 36821, 91, 74011, 2445, 63665, 6, 63, 220, 765, 659, 69604, 18620, 480, 323, 468, 2342, 765, 8743, 33, 220, 2075, 11, 220, 12422, 4278, 320, 1049, 22, 8, 36821, 91, 74011, 2445, 63665, 15, 6, 63, 765, 659, 69604, 18620, 480, 449, 8521, 468, 15, 220, 765, 8743, 33, 220, 4370, 11, 220, 25496, 16, 320, 2550, 21, 8, 256, 36821, 91, 74011, 2445, 38, 15, 54, 6, 63, 765, 659, 69604, 18620, 468, 449, 8521, 480, 15, 220, 765, 482, 3909, 36821, 91, 74011, 5230, 31419, 63665, 15, 6, 63, 220, 765, 29824, 3745, 659, 69604, 18620, 480, 449, 8521, 468, 15, 256, 765, 8743, 33, 220, 1958, 11, 220, 23033, 15, 320, 3753, 21, 8, 256, 36821, 91, 74011, 5230, 31419, 63665, 6, 63, 220, 765, 29824, 3745, 659, 69604, 18620, 480, 323, 468, 256, 765, 8743, 33, 220, 5728, 11, 220, 23785, 4278, 320, 1049, 21, 8, 256, 36821, 91, 74011, 33863, 31419, 63665, 15, 6, 63, 220, 765, 934, 300, 575, 7203, 659, 69604, 18620, 480, 449, 8521, 468, 15, 765, 393, 4833, 220, 1484, 11, 220, 7322, 7743, 320, 1049, 22, 8, 36821, 91, 74011, 33863, 31419, 63665, 6, 63, 220, 765, 934, 300, 575, 7203, 659, 69604, 18620, 480, 323, 468, 765, 393, 4833, 220, 4161, 11, 220, 14057, 16496, 320, 1049, 21, 8, 765, 551, 480, 15, 54, 15, 82692, 31419, 63665, 82692, 31419, 63665, 15, 11, 33863, 31419, 63665, 11, 33863, 31419, 63665, 15, 11, 2445, 38, 15, 54, 11, 2445, 63665, 11, 2445, 63665, 15, 198, 8234, 13204, 29716, 2987, 81183, 728, 81554, 5631, 54256, 1857, 551, 14727, 5631, 30061, 1749, 1511, 304, 279, 20804, 4082, 6471, 1473, 91, 4076, 1078, 765, 17650, 1014, 36821, 91, 14730, 12, 765, 20308, 381, 36821, 91, 74011, 1182, 12, 3301, 6, 63, 286, 765, 13134, 83, 85393, 1880, 453, 2637, 71430, 2898, 6914, 83, 220, 1490, 320, 1049, 19, 8, 220, 36821, 91, 74011, 1182, 11529, 56, 33, 6, 63, 286, 765, 80835, 1880, 453, 2637, 393, 4833, 220, 3534, 320, 1049, 21, 8, 260, 36821, 91, 74011, 1182, 6830, 13706, 6, 63, 286, 765, 480, 620, 1880, 453, 2637, 469, 2989, 220, 6086, 320, 1049, 23, 8, 1881, 36821, 91, 74011, 1507, 6, 63, 310, 765, 356, 2715, 277, 3833, 1880, 453, 11, 393, 4833, 220, 5332, 320, 2550, 19, 8, 996, 36821, 91, 74011, 27416, 38, 6, 63, 1881, 765, 22353, 64, 1880, 453, 2637, 432, 5901, 220, 1490, 320, 1049, 23, 8, 692, 36821, 91, 74011, 44, 5119, 6, 63, 1881, 765, 50181, 17137, 1880, 453, 2637, 8743, 33, 220, 1954, 320, 679, 19, 8, 260, 36821, 91, 74011, 40, 2898, 6, 63, 1881, 765, 95359, 1880, 453, 2637, 8743, 33, 220, 1774, 320, 2550, 17, 8, 286, 36821, 91, 74011, 45, 5158, 6, 63, 1881, 765, 2394, 52178, 441, 1880, 453, 2637, 8743, 33, 220, 2618, 320, 2550, 18, 8, 996, 36821, 91, 74011, 46, 5158, 6, 63, 1881, 765, 2394, 52178, 441, 1880, 453, 2637, 8743, 33, 220, 2618, 320, 2550, 18, 8, 996, 36821, 91, 74011, 53605, 890, 437, 2439, 6, 63, 220, 765, 62763, 747, 277, 1880, 453, 2637, 393, 4833, 220, 3226, 320, 3753, 21, 8, 286, 36821, 91, 74011, 71, 21340, 569, 8118, 6, 63, 257, 765, 482, 1961, 765, 551, 19084, 6830, 13706, 11, 1182, 11529, 56, 33, 11, 1182, 12, 3301, 11, 1507, 38868, 2898, 28112, 5119, 22812, 5158, 22812, 33460, 75449, 5158, 20393, 21340, 569, 8118, 11, 53605, 890, 437, 2439, 198, 8234, 13204, 29716, 2987, 81183, 728, 77663, 54625, 551, 763, 4550, 9499, 284, 220, 16, 12148, 82624, 61734, 570, 551, 2273, 1227, 551, 220, 16, 611, 28068, 273, 198, 8234, 13204, 29716, 2987, 81183, 728, 749, 39100, 4486, 551, 63755, 1614, 304, 902, 279, 20804, 4082, 22702, 374, 2884, 13, 551, 3276, 11691, 442, 39100, 11, 809, 442, 39100, 61662, 39100, 198, 8234, 13204, 29716, 2987, 81183, 728, 11895, 551, 5273, 315, 279, 320, 258, 2221, 30986, 2223, 8, 81000, 16628, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 81183, 728, 1190, 71, 551, 5273, 315, 279, 320, 2295, 30986, 2223, 8, 99014, 596, 59086, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 81183, 728, 10985, 5893, 35758, 70048, 4090, 551, 38527, 35758, 42271, 1511, 311, 2018, 6426, 279, 51052, 3634, 7997, 596, 5865, 1139, 198, 1820, 1972, 34873, 3634, 382, 91, 4076, 1881, 765, 7817, 260, 765, 17650, 667, 36821, 91, 33658, 313, 765, 14730, 4521, 765, 20308, 36821, 91, 74011, 47, 1037, 6, 63, 765, 393, 1037, 596, 10049, 318, 519, 220, 765, 3788, 1129, 2185, 516, 5979, 5886, 1248, 916, 34574, 1873, 39281, 63328, 72, 14, 6726, 2550, 24391, 15515, 6804, 22, 30, 20708, 4, 18, 35, 7141, 392, 36821, 91, 74011, 6102, 2300, 6, 63, 765, 27697, 4968, 18237, 1749, 765, 3788, 1129, 73, 33714, 13, 2690, 2726, 45772, 65, 14, 16647, 14, 605, 13, 5120, 18, 14, 67171, 37284, 33, 13, 3174, 13, 13895, 15, 36821, 91, 74011, 50, 12757, 6, 63, 765, 96030, 907, 66266, 765, 3788, 1129, 73, 33714, 13, 2690, 2726, 45772, 75, 14, 16647, 14, 605, 13, 5120, 18, 14, 67171, 37284, 43, 7211, 13, 2075, 13, 22507, 36821, 91, 74011, 626, 67054, 6, 63, 765, 800, 67054, 1749, 765, 3788, 1129, 73, 33714, 13, 2690, 2726, 45772, 65, 14, 16647, 14, 605, 13, 5120, 18, 14, 67171, 37284, 33, 13, 3226, 13, 4278, 4044, 765, 551, 7639, 2300, 28494, 1037, 21861, 12757, 11, 626, 67054, 198, 8234, 13204, 29716, 2987, 81941, 5314, 6665, 54449, 551, 26868, 315, 49976, 597, 93558, 824, 5089, 87298, 3160, 3235, 1855, 8183, 627, 24741, 279, 3325, 24473, 17915, 704, 315, 682, 25776, 627, 15346, 1193, 387, 7863, 1990, 1652, 7607, 315, 4528, 13167, 2786, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 13204, 29716, 2987, 81941, 15054, 530, 1291, 551, 578, 2082, 19440, 4877, 19392, 279, 16437, 1511, 198, 2000, 279, 8197, 743, 323, 65614, 315, 35876, 30597, 382, 35736, 14236, 320, 4291, 17508, 16259, 311, 279, 9959, 9904, 997, 12, 41618, 63380, 47, 85802, 2485, 1129, 2185, 3211, 13671, 6990, 26583, 9199, 2348, 16744, 67713, 340, 12, 1595, 37, 24860, 12, 26760, 4077, 12, 41618, 35263, 9377, 85802, 1277, 1129, 2185, 739, 6358, 2180, 88, 56840, 15761, 15549, 2971, 561, 752, 86686, 51538, 12978, 14, 35263, 9377, 2628, 2, 11786, 2971, 561, 752, 100146, 74, 3914, 752, 751, 10274, 66, 10692, 24165, 30, 30930, 28, 360, 2221, 2269, 483, 8, 551, 610, 198, 8234, 13204, 29716, 2987, 81941, 960, 10949, 2667, 551, 578, 955, 315, 8197, 743, 1511, 555, 279, 2068, 382, 91, 5273, 3586, 765, 5291, 7817, 9432, 91, 14730, 43191, 765, 20308, 12, 9432, 91, 74011, 2599, 54, 6, 63, 667, 765, 5033, 28078, 11277, 17301, 1835, 9432, 91, 74011, 43, 2599, 54, 6, 63, 5291, 765, 29363, 1534, 57088, 11277, 17301, 220, 9432, 91, 74011, 2599, 54, 10, 385, 6, 63, 1835, 765, 5033, 28078, 11277, 17301, 449, 2254, 27605, 1147, 9432, 91, 74011, 43, 2599, 54, 10, 385, 6, 63, 765, 29363, 1534, 57088, 11277, 17301, 449, 2254, 27605, 1147, 9432, 91, 1595, 59436, 43, 8, 2599, 54, 6, 63, 3909, 765, 257, 362, 10824, 315, 10314, 54, 323, 72428, 54, 9432, 91, 1595, 59436, 43, 8, 2599, 54, 10, 385, 6, 63, 220, 765, 362, 10824, 315, 10314, 54, 323, 72428, 54, 449, 2254, 27605, 1147, 9432, 91, 74011, 19563, 17301, 6, 63, 394, 765, 44144, 17301, 5291, 9432, 91, 74011, 6885, 1892, 5493, 489, 11277, 17301, 6, 63, 262, 765, 70128, 743, 315, 279, 17697, 9710, 12384, 320, 91092, 25, 220, 605, 13, 4645, 21, 4537, 522, 4080, 13, 1049, 19, 13, 717, 13, 15901, 8, 9432, 91, 74011, 8110, 29047, 5950, 6, 63, 310, 765, 8976, 29047, 5950, 4391, 9432, 91, 74011, 13066, 79, 403, 5865, 6, 63, 260, 765, 9365, 5865, 338, 765, 551, 320, 43, 8, 2599, 54, 13247, 43, 8, 2599, 54, 10, 385, 11, 2599, 54, 11, 2599, 54, 10, 385, 31214, 2599, 54, 31214, 2599, 54, 10, 385, 11, 22612, 50482, 27605, 1147, 11, 6885, 1892, 5493, 489, 11277, 17301, 11, 1962, 15590, 11, 19563, 17301, 11, 8110, 29047, 5950, 10900, 2870, 5865, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 81941, 46942, 365, 525, 75482, 551, 328, 45845, 45379, 304, 87298, 3634, 369, 264, 11277, 89354, 8197, 743, 13, 1102, 374, 279, 4907, 198, 1073, 279, 8592, 11277, 89354, 1746, 59, 38118, 36802, 71, 2308, 61, 17, 91, 74, 10, 38, 97850, 17, 15523, 17, 76, 2253, 32816, 8, 5343, 304, 279, 8197, 198, 751, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 81941, 4795, 86, 75482, 551, 578, 65251, 45379, 5852, 369, 279, 958, 49270, 11277, 17301, 304, 279, 72428, 54, 3070, 627, 2028, 45379, 374, 5089, 1752, 11, 22797, 311, 279, 2027, 315, 279, 25655, 55404, 258, 2442, 258, 10801, 198, 438, 279, 3160, 315, 279, 45379, 87298, 4724, 1746, 81, 15511, 8673, 92, 353, 765, 42, 15511, 10453, 53498, 3, 570, 551, 2273, 1227, 198, 8234, 13204, 17777, 25357, 2036, 6634, 41779, 16597, 9209, 1292, 551, 578, 3722, 16597, 1749, 1511, 311, 6994, 279, 3722, 16597, 5497, 627, 91, 1630, 79504, 29469, 16597, 6872, 9898, 765, 7817, 58040, 5351, 9432, 91, 9411, 5272, 91, 3597, 3597, 3597, 20098, 7511, 91, 3146, 67684, 1126, 1630, 79504, 29469, 16597, 320, 74912, 37790, 33395, 667, 765, 578, 4751, 330, 22491, 1126, 1, 19813, 810, 311, 279, 4288, 17140, 315, 2678, 64568, 3695, 1109, 311, 279, 7106, 1376, 315, 279, 6205, 13, 3053, 387, 1511, 449, 2536, 2320, 363, 1126, 10688, 422, 814, 3118, 4288, 64568, 635, 89935, 13, 9432, 91, 3146, 11126, 29016, 1630, 79504, 29469, 16597, 320, 3624, 55, 37790, 33395, 2342, 765, 12477, 369, 26679, 279, 25524, 6070, 315, 264, 3254, 26110, 13, 58040, 1078, 9432, 91, 3146, 12243, 12, 39206, 1630, 79504, 29469, 16597, 320, 17526, 55, 37790, 33395, 1078, 765, 362, 15105, 11383, 1511, 369, 11944, 60993, 315, 67422, 710, 532, 15792, 12631, 1701, 24473, 3722, 16597, 22323, 13, 52575, 9432, 91, 3146, 26375, 6830, 67330, 1630, 79504, 2522, 31436, 320, 50, 3027, 50, 33395, 504, 765, 12477, 369, 21630, 51593, 47194, 304, 279, 1404, 2134, 315, 220, 16, 12, 1041, 26807, 13, 37717, 2038, 389, 19320, 1404, 11, 6211, 11, 323, 8141, 13, 56899, 9432, 91, 3146, 55, 79504, 35698, 1968, 320, 55, 8268, 33395, 7714, 765, 12477, 311, 4007, 15792, 4632, 13931, 11, 25066, 11, 323, 2814, 321, 5184, 13, 37717, 3630, 389, 4632, 26839, 11, 17915, 11, 323, 11413, 2136, 13, 5351, 5291, 9432, 91, 3146, 38, 8875, 287, 4953, 7232, 1630, 79504, 29469, 16597, 320, 38, 5511, 37790, 33395, 310, 765, 36283, 6751, 1511, 369, 279, 6492, 315, 15792, 12631, 449, 279, 10672, 24310, 520, 264, 8521, 26682, 9392, 13, 5351, 13771, 9432, 91, 3146, 3905, 49889, 5531, 11746, 39546, 320, 49, 9691, 33395, 5218, 765, 5234, 64036, 1630, 37790, 1749, 311, 6767, 1422, 1658, 22955, 21261, 304, 264, 220, 17, 33520, 5654, 315, 87298, 3634, 13, 37717, 2038, 922, 279, 1972, 12, 7993, 320, 75, 32891, 36401, 11, 8106, 6070, 11, 8631, 323, 42655, 8, 304, 3254, 48689, 599, 543, 483, 323, 67422, 710, 532, 10688, 57370, 551, 94030, 287, 4953, 7232, 1630, 79504, 29469, 16597, 320, 38, 5511, 37790, 705, 12243, 12, 39206, 1630, 79504, 29469, 16597, 320, 17526, 55, 37790, 705, 67684, 1126, 1630, 79504, 29469, 16597, 320, 74912, 37790, 705, 3905, 49889, 5531, 11746, 39546, 320, 49, 9691, 705, 11126, 29016, 1630, 79504, 29469, 16597, 320, 3624, 55, 37790, 705, 26375, 6830, 67330, 1630, 79504, 2522, 31436, 320, 50, 3027, 50, 705, 55, 79504, 35698, 1968, 320, 55, 8268, 705, 359, 10547, 198, 8234, 21661, 1276, 24965, 3395, 811, 551, 578, 1396, 315, 10887, 3254, 6683, 29217, 3238, 551, 528, 198, 8234, 21661, 48211, 26216, 551, 74323, 315, 279, 3424, 5144, 430, 527, 3118, 304, 420, 4441, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 4957, 551, 3959, 56236, 422, 279, 40635, 374, 16997, 520, 279, 31206, 477, 25524, 2237, 13, 551, 25524, 13387, 43943, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2981, 551, 3959, 56236, 279, 33299, 477, 43030, 4595, 6532, 304, 26679, 279, 3424, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2776, 1055, 685, 749, 43943, 821, 51248, 6512, 12212, 551, 578, 75678, 520, 902, 279, 35876, 18052, 374, 10887, 13, 551, 2273, 1227, 551, 2132, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2776, 1055, 685, 749, 43943, 821, 51248, 13, 49575, 1857, 551, 578, 955, 315, 30945, 61002, 40126, 430, 574, 46836, 382, 36482, 2819, 527, 1473, 91, 68372, 61002, 89457, 692, 765, 7817, 7714, 36821, 91, 14730, 16974, 765, 20308, 23573, 36821, 91, 54405, 45, 4592, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 4907, 36821, 91, 54405, 45, 21089, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 9499, 36821, 91, 54405, 45, 2898, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 9499, 36821, 91, 54405, 45, 11079, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 1218, 12130, 3368, 765, 551, 452, 11079, 22812, 2898, 22812, 4592, 22812, 21089, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 37732, 551, 17262, 315, 279, 12472, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2981, 551, 3959, 56236, 279, 33299, 477, 43030, 4595, 6532, 304, 26679, 279, 3424, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2776, 1055, 685, 749, 43943, 821, 51248, 6512, 12212, 551, 578, 75678, 520, 902, 279, 35876, 18052, 374, 10887, 13, 551, 2273, 1227, 551, 2132, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2776, 1055, 685, 749, 43943, 821, 51248, 13, 49575, 1857, 551, 578, 955, 315, 30945, 61002, 40126, 430, 574, 46836, 382, 36482, 2819, 527, 1473, 91, 68372, 61002, 89457, 692, 765, 7817, 7714, 36821, 91, 14730, 16974, 765, 20308, 23573, 36821, 91, 54405, 45, 4592, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 4907, 36821, 91, 54405, 45, 21089, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 9499, 36821, 91, 54405, 45, 2898, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 9499, 36821, 91, 54405, 45, 11079, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 1218, 12130, 3368, 765, 551, 452, 11079, 22812, 2898, 22812, 4592, 22812, 21089, 198, 8234, 21661, 73318, 4269, 41779, 16597, 21957, 27895, 1748, 86450, 1704, 35961, 551, 578, 46406, 315, 279, 10672, 24310, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 4957, 551, 3959, 56236, 422, 279, 40635, 374, 16997, 520, 279, 31206, 477, 25524, 2237, 13, 551, 25524, 13387, 43943, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2981, 551, 3959, 56236, 279, 33299, 477, 43030, 4595, 6532, 304, 26679, 279, 3424, 13, 551, 610, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2776, 1055, 685, 749, 43943, 821, 51248, 6512, 12212, 551, 578, 75678, 520, 902, 279, 35876, 18052, 374, 10887, 13, 551, 2273, 1227, 551, 2132, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2776, 1055, 685, 749, 43943, 821, 51248, 13, 49575, 1857, 551, 578, 955, 315, 30945, 61002, 40126, 430, 574, 46836, 382, 36482, 2819, 527, 1473, 91, 68372, 61002, 89457, 692, 765, 7817, 7714, 36821, 91, 14730, 16974, 765, 20308, 23573, 36821, 91, 54405, 45, 4592, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 4907, 36821, 91, 54405, 45, 21089, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 9499, 36821, 91, 54405, 45, 2898, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 9499, 36821, 91, 54405, 45, 11079, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 1218, 12130, 3368, 765, 551, 452, 11079, 22812, 2898, 22812, 4592, 22812, 21089, 198, 8234, 21661, 13, 47194, 68436, 40656, 1276, 19862, 292, 60799, 551, 1556, 7698, 38938, 279, 1396, 315, 39445, 15696, 304, 279, 198, 7993, 11, 13890, 311, 279, 1396, 315, 2536, 38029, 10925, 304, 198, 43639, 9962, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 40656, 1276, 69700, 551, 1556, 7698, 38938, 279, 3160, 315, 279, 95481, 25521, 38319, 3424, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 40656, 25606, 28039, 551, 20880, 315, 279, 2849, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 5973, 551, 17736, 315, 279, 1176, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 960, 551, 17736, 315, 279, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 522, 551, 17736, 315, 279, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 24879, 551, 37337, 1990, 2132, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 63029, 551, 37337, 1990, 1176, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 74401, 551, 37337, 1990, 1176, 323, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 1276, 19862, 292, 60799, 551, 1556, 7698, 38938, 279, 1396, 315, 39445, 15696, 304, 279, 198, 7993, 11, 13890, 311, 279, 1396, 315, 2536, 38029, 10925, 304, 198, 43639, 9962, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 1276, 69700, 551, 1556, 7698, 38938, 279, 3160, 315, 279, 95481, 25521, 38319, 3424, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 25606, 28039, 551, 20880, 315, 279, 2849, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 5973, 551, 17736, 315, 279, 1176, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 960, 551, 17736, 315, 279, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 522, 551, 17736, 315, 279, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 24879, 551, 37337, 1990, 2132, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 63029, 551, 37337, 1990, 1176, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 74401, 551, 37337, 1990, 1176, 323, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 85187, 1276, 19862, 292, 60799, 551, 1556, 7698, 38938, 279, 1396, 315, 39445, 15696, 304, 279, 198, 7993, 11, 13890, 311, 279, 1396, 315, 2536, 38029, 10925, 304, 198, 43639, 9962, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 85187, 1276, 69700, 551, 1556, 7698, 38938, 279, 3160, 315, 279, 95481, 25521, 38319, 3424, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 85187, 25606, 28039, 551, 20880, 315, 279, 2849, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 5973, 551, 17736, 315, 279, 1176, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 960, 551, 17736, 315, 279, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 522, 551, 17736, 315, 279, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 24879, 551, 37337, 1990, 2132, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 63029, 551, 37337, 1990, 1176, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 74401, 551, 37337, 1990, 1176, 323, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 5265, 551, 578, 12903, 5613, 1963, 13, 551, 528, 843, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 2894, 551, 578, 5150, 907, 315, 279, 7200, 13225, 13, 5273, 315, 7315, 15151, 264, 5355, 11218, 7200, 13225, 323, 198, 285, 12742, 505, 8336, 32161, 904, 7200, 13225, 19179, 477, 22702, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 4957, 551, 17366, 13225, 955, 13, 551, 2167, 11, 485, 1248, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 91571, 623, 7569, 1534, 551, 13440, 279, 59580, 374, 12903, 2320, 7569, 1534, 11, 602, 1770, 13, 374, 5727, 12006, 369, 2225, 198, 42682, 2819, 13, 551, 1845, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 5265, 551, 578, 12903, 5613, 1963, 13, 551, 528, 843, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 2894, 551, 578, 5150, 907, 315, 279, 7200, 13225, 13, 5273, 315, 7315, 15151, 264, 5355, 11218, 7200, 13225, 323, 198, 285, 12742, 505, 8336, 32161, 904, 7200, 13225, 19179, 477, 22702, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 4957, 551, 17366, 13225, 955, 13, 551, 2167, 11, 485, 1248, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 91571, 623, 7569, 1534, 551, 13440, 279, 59580, 374, 12903, 2320, 7569, 1534, 11, 602, 1770, 13, 374, 5727, 12006, 369, 2225, 198, 42682, 2819, 13, 551, 1845, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 7001, 16756, 291, 551, 13440, 279, 59580, 706, 2038, 922, 41579, 320, 43590, 37619, 19670, 37619, 323, 5255, 65691, 7058, 5094, 291, 570, 551, 1845, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 5265, 551, 578, 12903, 5613, 1963, 13, 551, 528, 843, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 2894, 551, 578, 5150, 907, 315, 279, 7200, 13225, 13, 5273, 315, 7315, 15151, 264, 5355, 11218, 7200, 13225, 323, 198, 285, 12742, 505, 8336, 32161, 904, 7200, 13225, 19179, 477, 22702, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 4957, 551, 17366, 13225, 955, 13, 551, 2167, 11, 485, 1248, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 91571, 623, 7569, 1534, 551, 13440, 279, 7200, 6070, 374, 12903, 2320, 7569, 1534, 11, 602, 1770, 13, 374, 5727, 12006, 198, 2000, 2225, 12903, 2819, 13, 551, 1845, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 5265, 551, 578, 12903, 5613, 1963, 13, 551, 528, 843, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 2894, 551, 578, 5150, 907, 315, 279, 7200, 13225, 13, 5273, 315, 7315, 15151, 264, 5355, 11218, 7200, 13225, 323, 198, 285, 12742, 505, 8336, 32161, 904, 7200, 13225, 19179, 477, 22702, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 4957, 551, 17366, 13225, 955, 13, 551, 2167, 11, 485, 1248, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 749, 39100, 91571, 49065, 99863, 12127, 15040, 551, 35721, 369, 279, 2592, 315, 279, 828, 25, 364, 60529, 6, 477, 364, 84872, 4527, 551, 9526, 10900, 61461, 198, 8234, 21661, 749, 39100, 749, 39100, 646, 355, 1512, 3225, 15040, 551, 35721, 369, 279, 2592, 315, 279, 828, 25, 364, 60529, 6, 477, 364, 84872, 4527, 551, 9526, 10900, 61461, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 1770, 544, 10603, 551, 7572, 14747, 3369, 5979, 2301, 315, 264, 13238, 2849, 304, 11668, 19032, 551, 2273, 1227, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 12749, 19100, 551, 22748, 8331, 315, 264, 13238, 2849, 304, 10973, 2819, 320, 1527, 220, 15, 311, 220, 16, 570, 551, 2273, 1227, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 5949, 669, 38368, 63856, 551, 5377, 16622, 22465, 315, 264, 13238, 2849, 13, 551, 2273, 1227, 551, 16798, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 27764, 669, 38368, 11327, 54449, 551, 10928, 16622, 1510, 17915, 315, 264, 13238, 2849, 13, 551, 2273, 1227, 551, 23598, 486, 611, 23819, 3146, 220, 17, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 13, 77665, 2617, 81287, 551, 578, 3177, 21261, 2391, 279, 17244, 19179, 13, 551, 2273, 1227, 551, 67272, 611, 23819, 3146, 220, 17, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 18861, 15380, 551, 578, 2860, 3158, 315, 279, 2849, 2391, 17244, 323, 20334, 22323, 1234, 77052, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 17, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 18861, 35430, 42234, 551, 14227, 18112, 315, 279, 13238, 2849, 13, 26379, 527, 512, 63, 20553, 11529, 1430, 21963, 600, 7964, 1595, 13576, 7964, 1595, 70873, 7964, 2564, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 18861, 15897, 551, 84922, 315, 279, 4553, 3756, 13, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 14914, 269, 655, 551, 22855, 269, 655, 13931, 1511, 304, 279, 13238, 2849, 13, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 14914, 269, 655, 766, 29997, 367, 551, 78719, 23524, 279, 59251, 315, 279, 15938, 655, 6324, 13, 26379, 527, 512, 63, 42838, 23283, 1113, 7964, 1595, 35212, 96649, 7964, 1595, 43824, 1529, 2277, 7964, 2564, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 1770, 70329, 47498, 12969, 551, 77976, 44010, 3729, 13931, 1511, 304, 279, 13238, 2849, 13, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 870, 1286, 47498, 12969, 551, 52029, 44010, 3729, 13931, 1511, 304, 279, 13238, 2849, 13, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 18497, 349, 551, 3804, 71015, 13931, 1511, 304, 279, 13238, 2849, 13, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 7485, 21245, 551, 6984, 3729, 13931, 1511, 304, 279, 13238, 2849, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 2710, 551, 4076, 315, 279, 34454, 70504, 1296, 13010, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 4957, 551, 55982, 315, 279, 34454, 70504, 1296, 13010, 1778, 439, 51715, 307, 367, 11, 40602, 4469, 367, 345, 3957, 26429, 2065, 11, 18733, 12127, 1131, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 55782, 1821, 2710, 551, 358, 3202, 1741, 836, 315, 279, 312, 8252, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 55782, 1821, 1326, 300, 3464, 94376, 1265, 551, 650, 1152, 16743, 20545, 320, 82190, 8, 315, 279, 312, 8252, 304, 279, 5510, 6962, 627, 15346, 387, 264, 907, 1990, 220, 15, 323, 220, 16, 13, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 55782, 1821, 1326, 300, 3464, 94376, 6196, 551, 650, 1152, 16743, 20545, 320, 82190, 8, 315, 279, 312, 8252, 1306, 279, 38729, 627, 15346, 387, 264, 907, 1990, 220, 15, 323, 220, 16, 13, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 55782, 1821, 2932, 4464, 551, 43609, 315, 279, 14085, 519, 11, 304, 19032, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 2710, 551, 4076, 315, 279, 2027, 11, 52754, 279, 358, 3202, 1741, 836, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 1326, 300, 3464, 94376, 1265, 551, 650, 1152, 16743, 20545, 320, 82190, 8, 315, 279, 312, 8252, 304, 279, 5510, 6962, 627, 15346, 387, 264, 907, 1990, 220, 15, 323, 220, 16, 13, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 1326, 300, 3464, 94376, 6196, 551, 650, 1152, 16743, 20545, 320, 82190, 8, 315, 279, 312, 8252, 1306, 279, 38729, 627, 15346, 387, 264, 907, 1990, 220, 15, 323, 220, 16, 13, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 9911, 1968, 551, 8593, 1968, 315, 279, 2027, 11, 304, 19032, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 36983, 3084, 84809, 551, 11746, 7394, 12303, 823, 315, 279, 2027, 11, 304, 3148, 2027, 824, 3148, 51483, 824, 892, 13, 551, 2273, 1227, 551, 220, 16, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 2710, 551, 358, 3202, 1741, 836, 315, 279, 312, 8252, 6832, 4478, 374, 17439, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 1351, 1335, 9430, 551, 578, 4478, 315, 279, 1396, 315, 14085, 519, 477, 2027, 35715, 16489, 14, 8723, 2041, 345, 716, 3148, 315, 2860, 51483, 11, 824, 892, 13, 551, 2273, 1227, 551, 35751, 611, 23882, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 516, 15934, 37814, 9430, 551, 578, 3230, 4478, 315, 279, 14085, 519, 11, 824, 3148, 315, 4642, 51483, 3777, 198, 2069, 1326, 13, 9501, 570, 551, 2273, 1227, 551, 35751, 611, 23882, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 516, 15934, 32130, 15380, 9430, 551, 578, 3230, 4478, 315, 279, 14085, 519, 11, 824, 7479, 3158, 315, 4642, 51483, 13, 551, 2273, 1227, 551, 35751, 611, 23819, 3146, 220, 17, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 46734, 2017, 41232, 551, 578, 48639, 11900, 11, 16997, 505, 22337, 315, 14085, 519, 477, 2027, 824, 198, 4174, 315, 6732, 927, 892, 13, 551, 2273, 1227, 551, 220, 16, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 75466, 551, 578, 13010, 9499, 1161, 8, 304, 279, 34454, 70504, 38729, 2391, 264, 11742, 13010, 13, 551, 2273, 1227, 551, 49328, 9799, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 70908, 554, 551, 578, 7410, 2391, 279, 34454, 70504, 1296, 13010, 13, 551, 2273, 1227, 551, 281, 36940, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 26210, 33392, 398, 15005, 40766, 551, 578, 4785, 47729, 3634, 15798, 304, 220, 16, 36363, 320, 40625, 6530, 824, 51483, 3148, 570, 551, 2273, 1227, 551, 2606, 321, 2058, 611, 23882, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 1326, 300, 33392, 398, 15005, 40766, 551, 578, 6962, 47729, 3634, 15798, 304, 220, 16, 36363, 320, 40625, 6530, 824, 51483, 8286, 570, 551, 2273, 1227, 551, 220, 16, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 35171, 9430, 551, 578, 63920, 16743, 6962, 6530, 304, 8286, 824, 892, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 6512, 4570, 12962, 551, 578, 892, 389, 4365, 315, 279, 51483, 304, 279, 34454, 70504, 13010, 13, 551, 2273, 1227, 551, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 722, 4842, 68913, 18271, 23830, 551, 578, 5144, 315, 14085, 1821, 315, 279, 13010, 477, 36256, 3094, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 722, 4842, 68913, 44980, 23830, 551, 578, 5144, 315, 3956, 315, 279, 13010, 477, 36256, 3094, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 722, 4842, 68913, 1351, 1335, 28525, 12130, 3368, 551, 578, 13010, 1218, 12130, 3368, 315, 279, 13010, 477, 13010, 3094, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 722, 4842, 68913, 85923, 35895, 551, 578, 320, 680, 1415, 8, 15449, 4907, 315, 279, 34454, 88, 16284, 13010, 477, 13010, 3094, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 522, 4306, 599, 1292, 551, 8572, 836, 315, 51483, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 6357, 36235, 9209, 551, 578, 1925, 18459, 1749, 315, 279, 51483, 6205, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 522, 4306, 599, 1857, 551, 578, 955, 315, 51483, 11, 289, 2791, 9501, 477, 51180, 11, 1646, 11, 20155, 11, 7396, 11, 77594, 627, 33189, 2819, 649, 3881, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 48279, 2065, 37184, 551, 362, 1160, 315, 5528, 1511, 311, 70755, 279, 51483, 6205, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 77925, 15380, 551, 578, 7479, 3158, 824, 51483, 3148, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 17, 611, 23882, 198, 8234, 21661, 749, 4842, 45983, 70509, 28039, 44507, 4957, 551, 256, 551, 15606, 331, 2253, 8646, 8568, 404, 331, 918, 351, 9866, 8568, 404, 331, 722, 399, 97269, 13387, 648, 16057, 2957, 24004, 13387, 399, 97269, 11, 4853, 44813, 598, 5487, 986, 7385, 414, 1291, 67708, 519, 8083, 11, 1059, 14287, 1339, 11, 9799, 295, 198, 8234, 21661, 749, 4842, 45983, 89691, 7632, 19990, 4957, 551, 3959, 56236, 279, 38152, 369, 19546, 279, 907, 13, 551, 15606, 331, 2253, 8646, 8568, 404, 331, 918, 351, 9866, 8568, 404, 331, 722, 399, 97269, 13387, 648, 16057, 2957, 24004, 13387, 399, 97269, 11, 4853, 44813, 598, 5487, 986, 7385, 414, 1291, 67708, 519, 8083, 39225, 1892, 39694, 14287, 1339, 11, 9799, 295, 11, 3415, 18400, 39694, 11, 3415, 18400, 1311, 1892, 1552, 484, 39694, 198, 8234, 21661, 749, 4842, 45983, 89691, 7632, 19990, 2894, 551, 62020, 75124, 907, 13, 551, 2273, 1227, 551, 281, 36940, 198, 8234, 21661, 749, 4842, 45983, 516, 87160, 7632, 19990, 4957, 551, 3959, 56236, 279, 38152, 369, 19546, 279, 907, 13, 551, 312, 1892, 39694, 11, 3415, 18400, 39694, 11, 3415, 18400, 1311, 1892, 1552, 484, 39694, 198, 8234, 21661, 749, 4842, 45983, 516, 87160, 7632, 19990, 2894, 551, 3005, 277, 75124, 907, 13, 551, 2273, 1227, 551, 281, 36940, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 48211, 26216, 551, 74323, 315, 279, 3424, 5144, 430, 527, 3118, 304, 420, 35782, 13, 551, 4907, 59052, 2335, 11, 47074, 11, 35658, 14605, 4765, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 2776, 1055, 685, 749, 43943, 821, 51248, 6512, 12212, 551, 578, 75678, 520, 902, 279, 35876, 18052, 374, 10887, 13, 551, 2273, 1227, 551, 2132, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 2776, 1055, 685, 749, 43943, 821, 51248, 13, 49575, 1857, 551, 578, 955, 315, 30945, 61002, 40126, 430, 574, 46836, 382, 36482, 2819, 527, 1473, 91, 68372, 61002, 89457, 692, 765, 7817, 7714, 36821, 91, 14730, 16974, 765, 20308, 23573, 36821, 91, 54405, 45, 4592, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 4907, 36821, 91, 54405, 45, 21089, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 9499, 36821, 91, 54405, 45, 2898, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 9499, 36821, 91, 54405, 45, 11079, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 1218, 12130, 3368, 765, 551, 452, 11079, 22812, 2898, 22812, 4592, 22812, 21089, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 4957, 551, 35721, 369, 279, 38152, 2884, 311, 6994, 279, 63697, 828, 25, 469, 98952, 11, 1630, 1950, 11, 1630, 5119, 11, 5099, 13, 551, 469, 98952, 11, 3337, 8440, 50, 24412, 55, 1669, 30341, 1111, 1600, 30341, 1950, 30341, 1600, 30341, 5119, 11, 359, 10547, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2981, 551, 35721, 369, 279, 2592, 315, 279, 63697, 828, 11, 3060, 364, 884, 13623, 6, 477, 364, 60529, 4527, 551, 35547, 11, 60529, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 2053, 42213, 1279, 1857, 551, 80119, 955, 13, 551, 610, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 2053, 87531, 551, 12634, 11175, 315, 279, 32314, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 2053, 6817, 35895, 551, 27697, 4907, 315, 279, 32314, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 2053, 4456, 35895, 551, 32025, 4907, 315, 279, 32314, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 772, 8535, 39383, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 34930, 15382, 67064, 2932, 81848, 93169, 35895, 48625, 551, 578, 1988, 4907, 6811, 25065, 37057, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 34930, 15382, 67064, 2932, 81848, 93169, 41839, 94681, 551, 578, 1988, 7340, 4272, 5457, 25065, 37057, 13, 551, 2273, 1227, 551, 502, 783, 198, 8234, 21661, 34930, 15382, 67064, 44980, 41839, 94681, 551, 578, 7340, 4272, 5457, 304, 279, 1566, 26329, 3094, 13, 551, 2273, 1227, 551, 502, 783, 198, 8234, 21661, 34930, 15382, 67064, 44980, 35895, 48625, 551, 578, 6811, 304, 279, 4907, 11017, 1990, 279, 1566, 1403, 7504, 2391, 198, 19680, 2065, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 34930, 15382, 67064, 44980, 10135, 16491, 94681, 551, 578, 7340, 44153, 304, 279, 1566, 26329, 3094, 449, 5201, 311, 3766, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 16230, 77, 73272, 551, 578, 955, 315, 14491, 1511, 304, 10925, 311, 2778, 369, 13, 3296, 1670, 1521, 527, 279, 5144, 198, 1073, 279, 1511, 3857, 17931, 13, 551, 610, 198, 8234, 16230, 77, 33608, 551, 10928, 9681, 430, 527, 5505, 311, 6288, 2778, 3196, 389, 5370, 198, 882, 4613, 13186, 13, 551, 610, 198, 8234, 16230, 77, 48975, 551, 10928, 3823, 34898, 323, 53944, 5144, 430, 5101, 304, 198, 2818, 45, 10925, 13, 551, 610, 198, 8234, 16230, 77, 17853, 25712, 551, 364, 35075, 28887, 430, 5101, 304, 17705, 45, 10925, 13, 551, 610, 198, 8234, 16230, 77, 1896, 38818, 551, 578, 836, 477, 955, 315, 14473, 1511, 304, 459, 5820, 11, 384, 1326, 13, 1920, 477, 198, 82525, 13, 551, 610, 198, 8234, 16230, 77, 44013, 551, 578, 836, 477, 279, 9435, 1749, 304, 459, 5820, 11, 384, 1326, 13, 1920, 477, 19179, 551, 610, 198, 8234, 16230, 77, 56382, 8237, 551, 578, 27692, 3230, 887, 369, 904, 1537, 11, 384, 1326, 13, 6205, 11, 11742, 11, 14473, 13, 551, 610, 198, 8234, 24585, 551, 11360, 8649, 2038, 389, 279, 3769, 18528, 323, 6070, 13, 551, 2290, 198, 8234, 24585, 12613, 278, 3038, 3571, 551, 11360, 8649, 2038, 922, 279, 20545, 315, 459, 2449, 345, 286, 2728, 555, 1202, 25524, 323, 3148, 19983, 2949, 279, 1887, 477, 3769, 13, 551, 2290, 198, 8234, 24585, 52001, 33342, 551, 11360, 8649, 2038, 922, 279, 46220, 315, 279, 3769, 13, 2052, 198, 286, 315, 1521, 6012, 527, 14592, 555, 4401, 264, 46220, 6492, 389, 264, 198, 286, 18740, 17484, 505, 279, 4113, 828, 13, 1115, 4113, 17484, 198, 286, 374, 9967, 304, 3135, 21661, 3871, 449, 279, 28694, 323, 198, 286, 21349, 14726, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 551, 3959, 56236, 264, 264, 24693, 961, 430, 706, 1027, 11054, 2949, 279, 4441, 627, 286, 3297, 387, 5552, 311, 1023, 6067, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 6990, 7085, 551, 3959, 56236, 279, 25524, 6070, 315, 279, 7106, 1887, 13, 1115, 5764, 279, 19670, 10093, 11, 55372, 23728, 11, 5099, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 12613, 278, 3038, 3571, 551, 11360, 8649, 2038, 922, 279, 20545, 315, 459, 2449, 345, 286, 2728, 555, 1202, 25524, 323, 3148, 19983, 2949, 279, 1887, 477, 3769, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 16315, 48084, 551, 31911, 2038, 922, 279, 12976, 1990, 1403, 2204, 6067, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 25606, 551, 12094, 315, 264, 5089, 2849, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 52001, 33342, 551, 11360, 8649, 2038, 922, 279, 46220, 6012, 315, 264, 198, 286, 21349, 2849, 5552, 311, 264, 1887, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 52001, 33342, 1444, 88, 377, 1885, 21992, 551, 11360, 369, 28672, 24100, 377, 1885, 743, 2038, 13, 8442, 2561, 369, 198, 286, 21349, 7917, 430, 617, 64238, 46220, 6492, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 749, 22029, 31196, 2617, 551, 48949, 2617, 1396, 315, 459, 2449, 11, 902, 11105, 279, 1396, 315, 33299, 6089, 70241, 311, 279, 2449, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 551, 256, 551, 2290, 198, 8234, 13204, 551, 31911, 264, 12399, 315, 279, 38152, 430, 706, 1027, 1511, 304, 420, 4441, 627, 286, 1115, 38152, 17208, 311, 682, 315, 279, 5068, 6012, 323, 198, 286, 27667, 279, 1121, 315, 264, 3254, 4907, 5720, 1516, 13, 578, 3927, 198, 286, 6012, 1253, 387, 4726, 1749, 5848, 3649, 7958, 384, 1326, 13, 279, 198, 286, 25936, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 551, 31911, 1749, 3649, 369, 264, 19576, 4441, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 962, 728, 551, 6872, 2508, 369, 264, 423, 4082, 22702, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 962, 728, 870, 21340, 569, 4803, 276, 309, 13915, 5156, 551, 19139, 315, 279, 81000, 1646, 1511, 304, 423, 4082, 10, 52, 551, 2290, 198, 8234, 13204, 29716, 2987, 36386, 551, 6872, 2508, 369, 264, 75446, 7826, 4049, 22702, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 1326, 86, 551, 6872, 2508, 369, 264, 42353, 22702, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 960, 325, 551, 6872, 2508, 369, 264, 426, 937, 22702, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 81183, 728, 551, 6872, 2508, 369, 264, 20804, 4082, 22702, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 78702, 372, 669, 1026, 551, 256, 551, 2290, 198, 8234, 13204, 29716, 2987, 78702, 372, 669, 1026, 78702, 372, 669, 38368, 551, 256, 551, 2290, 198, 8234, 13204, 29716, 2987, 81941, 551, 31911, 5137, 369, 26991, 477, 38663, 279, 56541, 315, 279, 14683, 6070, 13, 551, 2290, 198, 8234, 13204, 17777, 25357, 551, 31911, 1749, 3649, 369, 264, 19179, 4441, 13, 551, 2290, 198, 8234, 13204, 17777, 25357, 2036, 6634, 551, 6872, 2508, 369, 459, 1630, 79504, 29469, 16597, 19179, 13, 551, 2290, 198, 8234, 21661, 551, 31911, 279, 7106, 6012, 430, 617, 1027, 16997, 477, 1511, 304, 198, 286, 420, 4441, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 551, 73800, 6012, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 551, 21254, 532, 8141, 734, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2776, 1055, 685, 551, 31911, 17033, 685, 2038, 369, 6012, 14592, 505, 31206, 198, 286, 30295, 47590, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2776, 1055, 685, 749, 43943, 821, 51248, 551, 6872, 2508, 369, 31206, 30295, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 551, 31911, 41553, 315, 56015, 2214, 2819, 439, 264, 35782, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2776, 1055, 685, 551, 31911, 17033, 685, 2038, 369, 6012, 14592, 505, 31206, 198, 286, 30295, 47590, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2776, 1055, 685, 749, 43943, 821, 51248, 551, 6872, 2508, 369, 31206, 30295, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 41779, 16597, 21957, 551, 29469, 16597, 5497, 13, 551, 2290, 198, 8234, 21661, 962, 11694, 950, 551, 33593, 950, 6012, 13, 551, 2290, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 551, 16729, 20685, 1636, 4185, 64635, 13, 551, 2290, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2776, 1055, 685, 551, 31911, 17033, 685, 2038, 369, 6012, 14592, 505, 31206, 198, 286, 30295, 47590, 13, 551, 2290, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2776, 1055, 685, 749, 43943, 821, 51248, 551, 6872, 2508, 369, 31206, 30295, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 551, 31911, 2539, 19670, 4633, 44713, 315, 279, 3769, 304, 2204, 198, 286, 7739, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 40656, 551, 3959, 56236, 459, 19670, 4633, 6070, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 40656, 99339, 551, 12477, 311, 7664, 279, 9606, 315, 279, 6732, 315, 420, 6070, 13, 51567, 649, 387, 10748, 11742, 5540, 11, 477, 4200, 48689, 14272, 33299, 14393, 264, 29564, 30747, 315, 264, 198, 43068, 2816, 555, 5361, 11742, 5540, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 551, 445, 32891, 5137, 315, 264, 2849, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 40656, 1444, 88, 377, 1885, 21992, 551, 11360, 369, 28672, 24100, 377, 1885, 743, 2038, 13, 8442, 2561, 369, 198, 286, 21349, 7917, 430, 617, 64238, 46220, 6492, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 551, 3959, 56236, 459, 19670, 4633, 6070, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 99339, 551, 12477, 311, 7664, 279, 9606, 315, 279, 6732, 315, 420, 6070, 13, 51567, 649, 387, 10748, 11742, 5540, 11, 477, 4200, 48689, 14272, 33299, 14393, 264, 29564, 30747, 315, 264, 198, 43068, 2816, 555, 5361, 11742, 5540, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 551, 445, 32891, 5137, 315, 264, 2849, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 1444, 88, 377, 1885, 21992, 551, 11360, 369, 28672, 24100, 377, 1885, 743, 2038, 13, 8442, 2561, 369, 198, 286, 21349, 7917, 430, 617, 64238, 46220, 6492, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 85187, 551, 3959, 56236, 459, 19670, 4633, 6070, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 85187, 99339, 551, 12477, 311, 7664, 279, 9606, 315, 279, 6732, 315, 420, 6070, 13, 51567, 649, 387, 10748, 11742, 5540, 11, 477, 4200, 48689, 14272, 33299, 14393, 264, 29564, 30747, 315, 264, 198, 43068, 2816, 555, 5361, 11742, 5540, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 551, 445, 32891, 5137, 315, 264, 2849, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 85187, 1444, 88, 377, 1885, 21992, 551, 11360, 369, 28672, 24100, 377, 1885, 743, 2038, 13, 8442, 2561, 369, 198, 286, 21349, 7917, 430, 617, 64238, 46220, 6492, 13, 551, 2290, 198, 8234, 21661, 3211, 10892, 1697, 551, 60288, 1697, 6012, 13, 551, 2290, 198, 8234, 21661, 3211, 10892, 1697, 75339, 39383, 9981, 263, 263, 551, 1115, 3857, 10756, 2038, 389, 264, 17358, 1697, 7200, 6070, 198, 286, 16865, 3235, 832, 33520, 44014, 304, 279, 87298, 3634, 13, 551, 2290, 198, 8234, 21661, 3211, 10892, 1697, 962, 437, 9981, 263, 263, 551, 31911, 279, 51923, 263, 17915, 315, 5415, 13, 551, 2290, 198, 8234, 21661, 3211, 10892, 1697, 13, 20559, 36703, 36067, 28039, 551, 31911, 279, 2819, 315, 279, 3230, 320, 716, 3148, 8, 323, 374, 5059, 27456, 320, 18568, 198, 286, 8286, 8, 8798, 8824, 520, 2204, 20472, 13, 551, 2290, 198, 8234, 21661, 3211, 10892, 1697, 70509, 9082, 1552, 24037, 71, 6312, 89, 551, 31911, 279, 2819, 315, 279, 16183, 53016, 6312, 89, 1949, 4907, 824, 19670, 520, 6926, 198, 286, 8286, 323, 520, 2204, 20472, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 551, 35269, 6012, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 551, 256, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 2776, 1055, 685, 551, 220, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 551, 31911, 279, 2860, 14683, 17915, 315, 5415, 382, 286, 65991, 34892, 25, 433, 690, 9778, 387, 32690, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 551, 256, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 2776, 1055, 685, 551, 31911, 5347, 82049, 61336, 17033, 685, 2038, 627, 286, 2057, 387, 9967, 1234, 8825, 9817, 2776, 1055, 685, 477, 2911, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 551, 31911, 279, 14683, 73710, 315, 4273, 320, 35, 3204, 570, 1115, 3857, 649, 387, 11763, 311, 8464, 311, 198, 286, 2204, 81898, 320, 68, 1326, 2637, 2440, 284, 364, 35, 4082, 518, 364, 63665, 518, 364, 32260, 518, 5099, 25390, 323, 433, 649, 387, 12903, 2320, 7569, 1534, 198, 286, 477, 539, 13, 578, 1207, 22327, 828, 3585, 311, 1855, 320, 333, 3118, 8, 12903, 12006, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 551, 11360, 6782, 625, 279, 17915, 315, 5415, 828, 382, 286, 1102, 5764, 279, 2860, 59580, 323, 279, 28448, 59580, 2819, 13, 1226, 54263, 1595, 43590, 16756, 291, 63, 439, 279, 198, 286, 28448, 59580, 369, 1890, 25524, 9606, 11, 1595, 22612, 16756, 291, 63, 439, 279, 28448, 59580, 369, 2204, 198, 286, 33299, 304, 279, 2849, 11, 323, 1595, 30986, 2223, 16756, 291, 63, 439, 279, 28448, 59580, 369, 279, 27605, 1147, 315, 1855, 198, 286, 19670, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 551, 256, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 2776, 1055, 685, 551, 31911, 5347, 82049, 61336, 17033, 685, 2038, 627, 286, 2057, 387, 9967, 1234, 8825, 9817, 2776, 1055, 685, 477, 2911, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 551, 1115, 3857, 10756, 2038, 389, 264, 4135, 14338, 7200, 6070, 198, 286, 16865, 3235, 832, 33520, 44014, 304, 279, 87298, 3634, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 551, 256, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 2776, 1055, 685, 551, 31911, 5347, 82049, 61336, 17033, 685, 2038, 627, 286, 2057, 387, 9967, 1234, 8825, 9817, 2776, 1055, 685, 477, 2911, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 1326, 265, 729, 32808, 2253, 772, 8535, 551, 5464, 538, 369, 7997, 596, 5865, 2038, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 1770, 47262, 5121, 50582, 551, 5464, 538, 369, 279, 9249, 2115, 20779, 2038, 13, 1115, 3857, 374, 9959, 198, 286, 369, 452, 18953, 323, 16964, 279, 4754, 8066, 856, 279, 97192, 304, 279, 1887, 13, 551, 2290, 198, 8234, 21661, 749, 39100, 551, 63755, 6012, 13, 551, 2290, 198, 8234, 21661, 749, 39100, 749, 39100, 3797, 100092, 551, 5464, 538, 369, 279, 25524, 24924, 97776, 2038, 13, 551, 2290, 198, 8234, 21661, 749, 39100, 91571, 49065, 99863, 12127, 551, 5464, 538, 369, 279, 12903, 82006, 59086, 2038, 13, 551, 2290, 198, 8234, 21661, 749, 39100, 749, 39100, 646, 355, 1512, 3225, 551, 5464, 538, 369, 279, 24924, 88636, 2038, 13, 551, 2290, 198, 8234, 21661, 29202, 4748, 772, 8535, 551, 16963, 4748, 772, 8535, 6012, 13, 551, 2290, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 551, 12094, 315, 13238, 7917, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 551, 12094, 23343, 311, 34454, 4548, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 551, 362, 4526, 315, 29803, 323, 6012, 315, 264, 2539, 34454, 70504, 13010, 627, 286, 1115, 1253, 2997, 13010, 4787, 11, 3135, 323, 7852, 4633, 13878, 315, 264, 13010, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 55782, 1821, 551, 362, 14085, 519, 304, 264, 34454, 70504, 1296, 13010, 13, 362, 14085, 519, 198, 286, 374, 11054, 555, 3515, 264, 14747, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 551, 362, 2027, 315, 264, 34454, 70504, 13010, 13, 362, 2027, 1618, 374, 6118, 11054, 555, 3515, 198, 286, 264, 3373, 1968, 11, 477, 264, 6962, 3464, 94376, 6196, 719, 912, 14, 14486, 6962, 3464, 94376, 1265, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 551, 11360, 10581, 2785, 5361, 44713, 315, 34454, 70504, 13010, 7969, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 551, 32934, 1234, 902, 264, 34454, 70504, 1296, 13010, 574, 10887, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 722, 4842, 68913, 551, 12094, 315, 3254, 7504, 315, 264, 34454, 70504, 13010, 17383, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 551, 12094, 315, 264, 98882, 51483, 13, 551, 2290, 198, 8234, 21661, 749, 4842, 45983, 551, 51684, 6012, 13, 551, 2290, 198, 8234, 21661, 749, 4842, 45983, 70509, 28039, 44507, 551, 12634, 8286, 16029, 13, 551, 2290, 198, 8234, 21661, 749, 4842, 45983, 89691, 7632, 19990, 551, 31911, 20155, 75124, 2819, 16997, 449, 2204, 81898, 13, 551, 2290, 198, 8234, 21661, 749, 4842, 45983, 516, 87160, 7632, 19990, 551, 31911, 65344, 75124, 2819, 16997, 449, 2204, 81898, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 551, 68372, 61002, 6012, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 551, 68372, 61002, 6012, 5068, 369, 459, 40126, 42028, 304, 892, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 2776, 1055, 685, 551, 31911, 17033, 685, 2038, 369, 6012, 14592, 505, 31206, 198, 286, 30295, 47590, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 2776, 1055, 685, 749, 43943, 821, 51248, 551, 6872, 2508, 369, 31206, 30295, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 75466, 551, 31911, 9499, 2819, 26126, 520, 2204, 3115, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 70908, 554, 551, 31911, 7410, 2819, 26126, 520, 2204, 3115, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 41584, 551, 31911, 8286, 2819, 26126, 520, 2204, 3115, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 70509, 59052, 2335, 551, 31911, 4907, 2819, 26126, 520, 2204, 3115, 13, 551, 2290, 198, 8234, 21661, 516, 1002, 299, 58510, 551, 27726, 299, 58510, 6012, 13, 551, 2290, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 551, 5464, 538, 369, 27726, 969, 22702, 2038, 439, 12457, 505, 459, 9526, 477, 264, 35547, 13, 551, 2290, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 551, 31911, 17033, 685, 2038, 320, 3902, 398, 279, 38152, 3857, 8, 369, 63697, 6012, 198, 286, 14592, 505, 459, 9526, 477, 264, 22702, 13, 551, 2290, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 2053, 551, 5464, 538, 369, 279, 469, 98952, 38152, 13, 551, 2290, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 772, 8535, 39383, 551, 220, 551, 2290, 198, 8234, 21661, 34930, 15382, 67064, 551, 40018, 26329, 3135, 323, 5110, 13, 551, 2290, 198, 8234, 16230, 77, 551, 256, 551, 2290, 198, 128009, 128006, 882, 128007, 271, 88765, 10925, 315, 25674, 25719, 1425, 304, 264, 289, 5757, 89, 635, 6070, 13, 128009, 128006, 78191, 128007], encoder_prompt=None, encoder_prompt_token_ids=None, prompt_logprobs=None, outputs=[CompletionOutput(index=0, text='', token_ids=(128009,), cumulative_logprob=None, logprobs=None, finish_reason=stop, stop_reason=None)], finished=True, metrics=RequestMetrics(arrival_time=1743501270.0963492, last_token_time=1743501270.2431462, first_scheduled_time=1743501270.1403975, first_token_time=1743501270.2431462, time_in_queue=0.044048309326171875, finished_time=1743501270.2444491, scheduler_time=0.00533777114469558, model_forward_time=None, model_execute_time=None), lora_request=LoRARequest(lora_name='api_lora', lora_int_id=1, lora_path='work/ai-copiltot-ft/models/unsloth_Meta-Llama-3.1-8B-Instruct-bnb-4bit/version_26/lora_model/', lora_local_path=None, long_lora_max_len=None, base_model_name=None), num_cached_tokens=19616, multi_modal_placeholders={}),\n",
+       " RequestOutput(request_id=1, prompt='<|begin_of_text|><|start_header_id|>system<|end_header_id|>\\n\\nYou are an assistant helping users search NOMAD a Materials science database. You have chemistry and materials science knowledge. Your task is to create a search api for natural language search queries by users. \\nYou are given the relevant search fields and their descriptions as name : description : the data type or the list of enum  values for the field : optional unit of the value.\\nIf the data type is \"None\" the field can only be used in the \"quantities\" field to check its existence. Do not use it as a search field.\\nDont format it into ES DSL format (dont use bool, must, terms) instead use the NOMAD API format. \\nOnly give the json formatted query no explanation is needed.\\nTime is formatted as Unix Timestamp. \\nUse these ops to format the query:\\n    all: Requires all values in list to match\\n    any: Matches if any value in list matches (default)\\n    none: Requires none of the values to match\\n    lte, lt, gte, gt: Range comparisons for numeric fields     \\nDont use \"all\" as the first field.\\nConvert units where the field has a specified unit.\\nUse \"results.material.topology.label\": \"MOF\" for metal organic framework queries\\n\\nSearch Fields: upload_id : The persistent and globally unique identifier for the upload of the entry : str\\nupload_name : The user provided upload name : str\\nupload_create_time : The date and time when the upload was created in nomad : nomad.metainfo.data_type.Datetime\\nentry_id : A persistent and globally unique identifier for the entry : str\\nentry_name : A brief human readable name for the entry. : str\\nentry_name.prefix : A brief human readable name for the entry. : str\\nentry_type : The main schema definition. This is the name of the section used for data. : str\\ncalc_id : Legacy field name, use `entry_id` instead. : str\\nentry_create_time : The date and time when the entry was created in nomad : nomad.metainfo.data_type.Datetime\\nparser_name : The NOMAD parser used for the last processing : str\\nmainfile : The path to the mainfile from the root directory of the uploaded files : str\\nmainfile.path : The path to the mainfile from the root directory of the uploaded files : str\\nmainfile_key : Key used to differentiate between different *child entries* of an entry.\\nFor parent entries and entries that do not have any children, the value should\\nbe empty. : str\\nmainfile_key.path : Key used to differentiate between different *child entries* of an entry.\\nFor parent entries and entries that do not have any children, the value should\\nbe empty. : str\\ntext_search_contents : Contains text contents that should be considered when\\ndoing free text queries for entries. : str\\nfiles : The paths to the files within the upload that belong to this entry.\\nAll files within the same directory as the entry\\'s mainfile are considered the\\nauxiliary files that belong to the entry. : str\\nfiles.path : The paths to the files within the upload that belong to this entry.\\nAll files within the same directory as the entry\\'s mainfile are considered the\\nauxiliary files that belong to the entry. : str\\npid : The unique, sequentially enumerated, integer PID that was used in the legacy\\nNOMAD CoE. It allows to resolve URLs of the old NOMAD CoE Repository. : str\\nraw_id : The code specific identifier extracted from the entry\\'s raw files by the parser,\\nif supported. : str\\nexternal_id : A user provided external id. Usually the id for an entry in an external database\\nwhere the data was imported from. : str\\npublished : Indicates if the entry is published : bool\\npublish_time : The date and time when the upload was published in nomad : nomad.metainfo.data_type.Datetime\\nwith_embargo : Indicated if this entry is under an embargo : bool\\nprocessed : Indicates that the entry is successfully processed. : bool\\nlast_processing_time : The date and time of the last processing. : nomad.metainfo.data_type.Datetime\\nprocessing_errors : Errors that occurred during processing : str\\nnomad_version : The NOMAD version used for the last processing : str\\nnomad_commit : The NOMAD commit used for the last processing : str\\ncomment : A user provided comment for this entry : str\\nreferences : User provided references (URLs) for this entry : str\\nexternal_db : The repository or external database where the original data resides : AFLOW,EELS Data Base,Kyoto Phonopy Database,Materials Project,OQMD,The Perovskite Database Project\\norigin : A short human readable description of the entries origin. Usually it is the\\nhandle of an external database/repository or the name of the main author. : str\\nmain_author.name :   : str\\nmain_author.name.text :   : str\\nmain_author.user_id : The unique, persistent keycloak UUID : str\\nmain_author : The main author of the entry : User\\nauthors.name :   : str\\nauthors.name.text :   : str\\nauthors : All authors (main author and co-authors) : Author\\nwriters.name :   : str\\nwriters.name.text :   : str\\nwriters.user_id : The unique, persistent keycloak UUID : str\\nwriters : All writers (main author, upload coauthors) : User\\nwriter_groups : Groups with write access (= coauthor groups). : str\\nviewers.name :   : str\\nviewers.name.text :   : str\\nviewers.user_id : The unique, persistent keycloak UUID : str\\nviewers : All viewers (main author, upload coauthors, and reviewers) : User\\nviewer_groups : Groups with read access (= coauthor groups + reviewer groups). : str\\ndatasets.dataset_id : The unique identifier for this dataset as a string. It should be\\na randomly generated UUID, similar to other nomad ids. : str\\ndatasets.dataset_name : The human-readable name of the dataset as string. The dataset name must be\\nunique for the user. : str\\ndatasets.doi : The optional Document Object Identifier (DOI) associated with this dataset.\\nNomad can register DOIs that link back to the respective representation of\\nthe dataset in the nomad UI. This quantity holds the string representation of\\nthis DOI. There is only one per dataset. The DOI is just the DOI name, not its\\nfull URL, e.g. \"10.17172/nomad/2019.10.29-1\". : str\\ndatasets.dataset_create_time : The date when the dataset was first created. : nomad.metainfo.data_type.Datetime\\ndatasets.dataset_modified_time : The date when the dataset was last modified. An owned dataset\\ncan only be extended after a DOI was assigned. A foreign dataset cannot be changed\\nonce a DOI was assigned. : nomad.metainfo.data_type.Datetime\\ndatasets.dataset_type : The type determined if a dataset is owned, i.e. was created by\\nthe authors of the contained entries; or if a dataset is foreign,\\ni.e. it was created by someone not necessarily related to the entries. : foreign,owned\\ndatasets : A list of user curated datasets this entry belongs to. : /packages/16/section_definitions/0\\ndomain : The material science domain : dft,ems,nexus\\nn_quantities : Number of metainfo quantities parsed from the entry. : int\\nquantities : All quantities that are used by this entry. : str\\nquantities.path : All quantities that are used by this entry. : str\\nsections : All sections that are present in this entry. This field is deprecated and will be removed. : str\\noptimade.elements : Names of the different elements present in the structure. : Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,X,Xe,Y,Yb,Zn,Zr\\noptimade.nelements : Number of different elements in the structure as an integer. : int\\noptimade.elements_ratios : Relative proportions of different elements in the structure. : float\\noptimade.chemical_formula_descriptive : The chemical formula for a structure as a string in a form chosen by the API\\nimplementation. : str\\noptimade.chemical_formula_reduced : The reduced chemical formula for a structure as a string with element symbols and\\ninteger chemical proportion numbers. The proportion number MUST be omitted if it is 1. : str\\noptimade.chemical_formula_hill : The chemical formula for a structure in Hill form with element symbols followed by\\ninteger chemical proportion numbers. The proportion number MUST be omitted if it is 1. : str\\noptimade.chemical_formula_anonymous : The anonymous formula is the chemical_formula_reduced, but where the elements are\\ninstead first ordered by their chemical proportion number, and then, in order left to\\nright, replaced by anonymous symbols A, B, C, ..., Z, Aa, Ba, ..., Za, Ab, Bb, ... and\\nso on. : str\\noptimade.nperiodic_dimensions : An integer specifying the number of periodic dimensions in the structure, equivalent\\nto the number of non-zero entries in dimension_types. : int\\noptimade.nsites : An integer specifying the length of the cartesian_site_positions property. : int\\noptimade.structure_features : A list of strings that flag which special features are used by the structure.\\n\\n- disorder: This flag MUST be present if any one entry in the species list has a\\nchemical_symbols list that is longer than 1 element.\\n- unknown_positions: This flag MUST be present if at least one component of the\\ncartesian_site_positions list of lists has value null.\\n- assemblies: This flag MUST be present if the assemblies list is present. : assemblies,disorder,unknown_positions\\nsection_defs.definition_qualified_name : The qualified name of the compatible section. : str\\nsection_defs.definition_id : The definition id of the compatible section. : str\\nsection_defs.used_directly : If the compatible section is directly used as base section. : bool\\nentry_references.target_reference : The full url like reference of the the target. : str\\nentry_references.target_entry_id : The id of the entry containing the target. : str\\nentry_references.target_mainfile : The mainfile of the entry containing the target. : str\\nentry_references.target_upload_id : The id of the upload containing the target. : str\\nentry_references.target_name : The name of the target quantity/section. : str\\nentry_references.target_path : The path of the target quantity/section in its archive. : str\\nentry_references.source_name : The name of the source (self) quantity/section in its archive. : str\\nentry_references.source_path : The path of the source (self) quantity/section in its archive. : str\\nentry_references.source_quantity : A reference to the quantity definition that defines the reference : str\\nsearch_quantities.id : The full identifier for this quantity that contains the path in the schema +\\nschema name. : str\\nsearch_quantities.definition : A reference to the quantity definition. : str\\nsearch_quantities.path_archive : Path of the value within the archive. : str\\nsearch_quantities.bool_value : The value mapped as an ES boolean field. : bool\\nsearch_quantities.str_value : The value mapped as an ES text and keyword field. : str\\nsearch_quantities.str_value.keyword : The value mapped as an ES text and keyword field. : str\\nsearch_quantities.int_value : The value mapped as an ES long number field. : int\\nsearch_quantities.float_value : The value mapped as an ES double number field. : float\\nsearch_quantities.datetime_value : The value mapped as an ES date field. : nomad.metainfo.data_type.Datetime\\nresults.material.material_id : A fixed length, unique material identifier in the form of a hash\\ndigest. : str\\nresults.material.material_name : Meaningful names for this a material if any can be assigned. : str\\nresults.material.structural_type : Structural class determined from the atomic structure. : 1D,2D,atom,bulk,molecule / cluster,not processed,surface,unavailable\\nresults.material.dimensionality : Dimensionality of the system. For atomistic systems this is\\nautomatically evaluated by using the topology-scaling algorithm:\\nhttps://doi.org/10.1103/PhysRevLett.118.106101.\\n\\n| Value | Description |\\n| --------- | ----------------------- |\\n| `\\'0D\\'` | Not connected periodically |\\n| `\\'1D\\'` | Periodically connected in one dimension |\\n| `\\'2D\\'` | Periodically connected in two dimensions |\\n| `\\'3D\\'` | Periodically connected in three dimensions | : 0D,1D,2D,3D\\nresults.material.building_block : More exact classification for this system, i.e. the type of \"building\\nblock\" it represents.\\n\\n| Value | Description |\\n| --------- | ----------------------- |\\n| `\\'surface\\'` | Structure built from a unit cell that repeats periodically in two directions and at least twice, but not infinitely in a third direction. |\\n| `\\'2D material\\'` | Structure built from a unit cell that repeats periodically in two directions and only once in a third direction. |\\n| `\\'molecule\\'` | Molecule defined in the force-field topology |\\n| `\\'monomer\\'` | Monomer defined in the force-field topology | : 2D material,molecule,monomer,surface\\nresults.material.functional_type : Classification based on the functional properties. : str\\nresults.material.compound_type : Classification based on the chemical formula. : str\\nresults.material.elements : Names of the different elements present in the structure. : Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,X,Xe,Y,Yb,Zn,Zr\\nresults.material.n_elements : Number of different elements in the structure as an integer. : int\\nresults.material.elements_exclusive : String containing the chemical elements in alphabetical order and\\nseparated by a single whitespace. This quantity can be used for\\nexclusive element searches where you want to find entries/materials\\nwith only certain given elements. : str\\nresults.material.chemical_formula_descriptive : The chemical formula for a structure as a string in a form chosen by the API\\nimplementation. : str\\nresults.material.chemical_formula_reduced : Alphabetically sorted chemical formula with reduced integer chemical\\nproportion numbers. The proportion number is omitted if it is 1. : str\\nresults.material.chemical_formula_hill : The chemical formula for a structure in Hill form with element\\nsymbols followed by non-reduced integer chemical proportion numbers.\\nThe proportion number is omitted if it is 1. : str\\nresults.material.chemical_formula_iupac : Formula where the elements are ordered using a formal list loosely\\nbased on electronegativity as defined in the IUPAC nomenclature of\\ninorganic chemistry (2005). Contains reduced integer chemical\\nproportion numbers where the proportion number is omitted if it is\\n1. : str\\nresults.material.chemical_formula_anonymous : Formula with the elements ordered by their reduced integer chemical\\nproportion number, and the chemical species replaced by\\nalphabetically ordered letters. The proportion number is omitted if\\nit is 1. E.g.  H2O becomes A2B and H2O2 becomes AB. The letters are\\ndrawn from the english alphabet that may be extended by increasing\\nthe number of letters, e.g. A, B, ..., Z, Aa, Ab and so on. This\\ndefinition is in line with the similarly named OPTIMADE definition. : str\\nresults.material.chemical_formula_reduced_fragments : Alphabetically sorted chemical formula with reduced integer chemical\\nproportion numbers. The proportion number is omitted if it is 1. : str\\nresults.material.elemental_composition.element : The symbol of the element, e.g. \\'Pb\\'. : Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,Xe,Y,Yb,Zn,Zr\\nresults.material.elemental_composition.atomic_fraction : The atomic fraction of the element in the system it is contained within.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.elemental_composition.mass_fraction : The mass fraction of the element in the system it is contained within.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.symmetry.bravais_lattice : Identifier for the Bravais lattice in Pearson notation. The first lowercase letter\\nidentifies the crystal family and can be one of the following: a (triclinic), b\\n(monoclinic), o (orthorhombic), t (tetragonal), h (hexagonal) or c (cubic). The\\nsecond uppercase letter identifies the centring and can be one of the following: P\\n(primitive), S (face centred), I (body centred), R (rhombohedral centring) or F\\n(all faces centred). : aP,cF,cI,cP,hP,hR,mP,mS,oF,oI,oP,oS,tI,tP\\nresults.material.symmetry.crystal_system : Name of the crystal system. : cubic,hexagonal,monoclinic,orthorhombic,tetragonal,triclinic,trigonal\\nresults.material.symmetry.hall_number : The Hall number for this system. : int32\\nresults.material.symmetry.hall_symbol : The Hall symbol for this system. : str\\nresults.material.symmetry.point_group : Symbol of the crystallographic point group in the Hermann-Mauguin notation. : str\\nresults.material.symmetry.space_group_number : Specifies the International Union of Crystallography (IUC) number of the 3D space\\ngroup of this system. : int32\\nresults.material.symmetry.space_group_symbol : The International Union of Crystallography (IUC) short symbol of the 3D\\nspace group of this system. : str\\nresults.material.symmetry.prototype_formula : The formula of the prototypical material for this structure. : str\\nresults.material.symmetry.prototype_aflow_id : The identifier of this structure in the AFLOW encyclopedia of\\ncrystallographic prototypes:\\nhttp://www.aflowlib.org/prototype-encyclopedia/index.html : str\\nresults.material.symmetry.structure_name : A common name for this structure, e.g. fcc, bcc. : 4-member ring,Heusler,bcc,bct,bct5,clathrate,cuprite,diamond,fcc,fct,half-Heusler,hcp,perovskite,rock salt,rutile,simple cubic,wurtzite,zincblende\\nresults.material.symmetry.strukturbericht_designation : Classification of the material according to the historically grown\\n\\'strukturbericht\\'. : str\\nresults.material.topology.system_id : That path of this section within the metainfo that is used as a unique\\nidentifier. : str\\nresults.material.topology.label : Descriptive label that identifies this structural part. : str\\nresults.material.topology.method : The method used for identifying this system. : matid,parser,porosity,user\\nresults.material.topology.description : A short description about this part of the topology. : str\\nresults.material.topology.material_id : A fixed length, unique material identifier in the form of a hash\\ndigest. : str\\nresults.material.topology.material_name : Meaningful names for this a material if any can be assigned. : str\\nresults.material.topology.structural_type : Structural class determined from the atomic structure. : 1D,2D,active orbitals,atom,bulk,group,molecule,molecule / cluster,monomer,not processed,surface,unavailable\\nresults.material.topology.dimensionality : Dimensionality of the system. For atomistic systems this is\\nautomatically evaluated by using the topology-scaling algorithm:\\nhttps://doi.org/10.1103/PhysRevLett.118.106101.\\n\\n| Value | Description |\\n| --------- | ----------------------- |\\n| `\\'0D\\'` | Not connected periodically |\\n| `\\'1D\\'` | Periodically connected in one dimension |\\n| `\\'2D\\'` | Periodically connected in two dimensions |\\n| `\\'3D\\'` | Periodically connected in three dimensions | : 0D,1D,2D,3D\\nresults.material.topology.building_block : More exact classification for this system, i.e. the type of \"building\\nblock\" it represents.\\n\\n| Value | Description |\\n| --------- | ----------------------- |\\n| `\\'surface\\'` | Structure built from a unit cell that repeats periodically in two directions and at least twice, but not infinitely in a third direction. |\\n| `\\'2D material\\'` | Structure built from a unit cell that repeats periodically in two directions and only once in a third direction. |\\n| `\\'molecule\\'` | Molecule defined in the force-field topology |\\n| `\\'monomer\\'` | Monomer defined in the force-field topology | : 2D material,molecule,monomer,surface\\nresults.material.topology.functional_type : Classification based on the functional properties. : str\\nresults.material.topology.compound_type : Classification based on the chemical formula. : str\\nresults.material.topology.elements : Names of the different elements present in the structure. : Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,X,Xe,Y,Yb,Zn,Zr\\nresults.material.topology.n_elements : Number of different elements in the structure as an integer. : int\\nresults.material.topology.elements_exclusive : String containing the chemical elements in alphabetical order and\\nseparated by a single whitespace. This quantity can be used for\\nexclusive element searches where you want to find entries/materials\\nwith only certain given elements. : str\\nresults.material.topology.chemical_formula_descriptive : The chemical formula for a structure as a string in a form chosen by the API\\nimplementation. : str\\nresults.material.topology.chemical_formula_reduced : Alphabetically sorted chemical formula with reduced integer chemical\\nproportion numbers. The proportion number is omitted if it is 1. : str\\nresults.material.topology.chemical_formula_hill : The chemical formula for a structure in Hill form with element\\nsymbols followed by non-reduced integer chemical proportion numbers.\\nThe proportion number is omitted if it is 1. : str\\nresults.material.topology.chemical_formula_iupac : Formula where the elements are ordered using a formal list loosely\\nbased on electronegativity as defined in the IUPAC nomenclature of\\ninorganic chemistry (2005). Contains reduced integer chemical\\nproportion numbers where the proportion number is omitted if it is\\n1. : str\\nresults.material.topology.chemical_formula_anonymous : Formula with the elements ordered by their reduced integer chemical\\nproportion number, and the chemical species replaced by\\nalphabetically ordered letters. The proportion number is omitted if\\nit is 1. E.g.  H2O becomes A2B and H2O2 becomes AB. The letters are\\ndrawn from the english alphabet that may be extended by increasing\\nthe number of letters, e.g. A, B, ..., Z, Aa, Ab and so on. This\\ndefinition is in line with the similarly named OPTIMADE definition. : str\\nresults.material.topology.chemical_formula_reduced_fragments : Alphabetically sorted chemical formula with reduced integer chemical\\nproportion numbers. The proportion number is omitted if it is 1. : str\\nresults.material.topology.parent_system : Reference to the parent system. : str\\nresults.material.topology.child_systems : References to the child systems. : str\\nresults.material.topology.atomic_fraction : The atomic fraction of this system in the full structure it is contained in.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.topology.mass_fraction : The mass fraction of this system in the full structure it is contained within.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.topology.n_atoms : The total number of species (atoms, particles) in the system. : int\\nresults.material.topology.sbu_type : The topological representation of the metal secondary building units (sbus).\\nThe shape of most metal sbus are well defined and form the basis of most\\n popular MOFs. The most common example is the paddlewheel, rodlike mofs,\\n irmofs, uio66 : str\\nresults.material.topology.largest_cavity_diameter : The largest cavity diameter is the largest sphere that can be inserted in a porous\\nsystem without overlapping with any of the atoms in the system. : float64 : meter\\nresults.material.topology.pore_limiting_diameter : The pore limiting diameter is the largest sphere that can freely\\ndiffuse through the porous network without overlapping with any of the\\natoms in the system. : float64 : meter\\nresults.material.topology.largest_included_sphere_along_free_sphere_path : The largest included sphere along free sphere path is\\nlargest sphere that can be inserted in the pore. : float64 : meter\\nresults.material.topology.accessible_surface_area : The surface area accessible is the area that is accessible to guest molecules\\nin a porous system. It is generally considered to be the entire surface area\\nthat can be spanned by a probe of a specific radius. In NOMAD, by default we use\\na probe that has a radius of 1.86 Angstrom, which correspond to the\\ncovalent radii of nitrogen gas. For biomolecular system, a radii of\\n1.4 Angstrom can be used, which correspond to the covalent radii\\nof water. : float64 : meter ** 2\\nresults.material.topology.accessible_volume : Volume of unoccupied space in a system that can be accessible to\\nguest molecules, like solvents. : float64 : meter ** 3\\nresults.material.topology.void_fraction : Ratio of the the volume of the unoccupied space in the system\\nto the volume of the entire system. It is a good proxy to\\ndetermine how porous a system is. Highly porous systems\\noften have a larger void fraction, meanwhile compact or dense\\nsystems have smaller void fractions. : float64\\nresults.material.topology.n_channels : Number of channels present in the porous system, which correspond to the number of\\npores within the system. : int\\nresults.material.topology.sbu_coordination_number : The number of connecting point in the secondary building units(sbu), which corresponds to\\nthe to the number of point of extension in the secondary building unit. Some common\\nterminology include\\n1 : monotopic\\n2 : ditopic\\n3 : tritopic\\n4 : tetratopic\\n5 : pentatopic : int\\nresults.material.topology.elemental_composition.element : The symbol of the element, e.g. \\'Pb\\'. : Ac,Ag,Al,Am,Ar,As,At,Au,B,Ba,Be,Bh,Bi,Bk,Br,C,Ca,Cd,Ce,Cf,Cl,Cm,Cn,Co,Cr,Cs,Cu,Db,Ds,Dy,Er,Es,Eu,F,Fe,Fl,Fm,Fr,Ga,Gd,Ge,H,He,Hf,Hg,Ho,Hs,I,In,Ir,K,Kr,La,Li,Lr,Lu,Lv,Mc,Md,Mg,Mn,Mo,Mt,N,Na,Nb,Nd,Ne,Nh,Ni,No,Np,O,Og,Os,P,Pa,Pb,Pd,Pm,Po,Pr,Pt,Pu,Ra,Rb,Re,Rf,Rg,Rh,Rn,Ru,S,Sb,Sc,Se,Sg,Si,Sm,Sn,Sr,Ta,Tb,Tc,Te,Th,Ti,Tl,Tm,Ts,U,V,W,Xe,Y,Yb,Zn,Zr\\nresults.material.topology.elemental_composition.atomic_fraction : The atomic fraction of the element in the system it is contained within.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.topology.elemental_composition.mass_fraction : The mass fraction of the element in the system it is contained within.\\nPer definition a positive value less than or equal to 1. : float64\\nresults.material.topology.system_relation.type : The type of relation between a system and it\\'s parent.\\n\\n| Value | Description |\\n| --------- | ----------------------- |\\n| `\\'root\\'` | System representing the entire structure, has no parent system. |\\n| `\\'subsystem\\'` | A single logical entity extracted from the parent system. |\\n| `\\'group\\'` | A logical group of subsystems within the parent, e.g. a group of molecules in MD. |\\n| `\\'primitive_cell\\'` | The conventional cell from which the parent is constructed from. |\\n| `\\'conventional_cell\\'` | The primitive cell from which the parent is constructed from. | : conventional_cell,group,primitive_cell,root,subsystem\\nresults.material.topology.cell.a : Length of the first basis vector. : float64 : meter\\nresults.material.topology.cell.b : Length of the second basis vector. : float64 : meter\\nresults.material.topology.cell.c : Length of the third basis vector. : float64 : meter\\nresults.material.topology.cell.alpha : Angle between second and third basis vector. : float64 : radian\\nresults.material.topology.cell.beta : Angle between first and third basis vector. : float64 : radian\\nresults.material.topology.cell.gamma : Angle between first and second basis vector. : float64 : radian\\nresults.material.topology.cell.volume : Volume of the cell. : float64 : meter ** 3\\nresults.material.topology.cell.atomic_density : Atomic density of the material (atoms/volume).\\' : float64 : 1 / meter ** 3\\nresults.material.topology.cell.mass_density : Mass density of the material. : float64 : kilogram / meter ** 3\\nresults.material.topology.symmetry.bravais_lattice : Identifier for the Bravais lattice in Pearson notation. The first lowercase letter\\nidentifies the crystal family and can be one of the following: a (triclinic), b\\n(monoclinic), o (orthorhombic), t (tetragonal), h (hexagonal) or c (cubic). The\\nsecond uppercase letter identifies the centring and can be one of the following: P\\n(primitive), S (face centred), I (body centred), R (rhombohedral centring) or F\\n(all faces centred). : aP,cF,cI,cP,hP,hR,mP,mS,oF,oI,oP,oS,tI,tP\\nresults.material.topology.symmetry.crystal_system : Name of the crystal system. : cubic,hexagonal,monoclinic,orthorhombic,tetragonal,triclinic,trigonal\\nresults.material.topology.symmetry.hall_number : The Hall number for this system. : int32\\nresults.material.topology.symmetry.hall_symbol : The Hall symbol for this system. : str\\nresults.material.topology.symmetry.point_group : Symbol of the crystallographic point group in the Hermann-Mauguin notation. : str\\nresults.material.topology.symmetry.space_group_number : Specifies the International Union of Crystallography (IUC) number of the 3D space\\ngroup of this system. : int32\\nresults.material.topology.symmetry.space_group_symbol : The International Union of Crystallography (IUC) short symbol of the 3D\\nspace group of this system. : str\\nresults.material.topology.symmetry.strukturbericht_designation : Classification of the material according to the historically grown\\n\\'strukturbericht\\'. : str\\nresults.material.topology.symmetry.prototype_label_aflow : AFLOW label of the prototype (see\\nhttp://aflowlib.org/CrystalDatabase/prototype_index.html) identified on the basis\\nof the space_group and normalized_wyckoff. : str\\nresults.material.topology.symmetry.prototype_name : A common name for this prototypical structure, e.g. fcc, bcc. : 4-member ring,Heusler,bcc,bct,bct5,clathrate,cuprite,diamond,fcc,fct,half-Heusler,hcp,perovskite,rock salt,rutile,simple cubic,wurtzite,zincblende\\nresults.material.topology.active_orbitals.n_quantum_number : Principal quantum number $n$. : int32\\nresults.material.topology.active_orbitals.j_quantum_number : Total angular momentum quantum number $j = |l-s| ... l+s$.\\n**Necessary with strong L-S coupling or non-collinear spin systems.** : float64\\nresults.material.topology.active_orbitals.mj_quantum_number : Azimuthal projection of the $j$ vector.\\n**Necessary with strong L-S coupling or non-collinear spin systems.** : float64\\nresults.material.topology.active_orbitals.degeneracy : The number of states under the filling constraints applied to the orbital set.\\nThis implicitly assumes that all orbitals in the set are degenerate. : int32\\nresults.material.topology.active_orbitals.n_electrons_excited : The electron charge excited for modelling purposes.\\nChoices that deviate from 0 or 1 typically leverage Janak composition.\\nUnless the `initial` state is chosen, the model corresponds to a single electron being excited in physical reality. : float64\\nresults.material.topology.active_orbitals.occupation : The total number of electrons within the state (as defined by degeneracy)\\nafter exciting the model charge. : float64\\nresults.material.topology.active_orbitals.l_quantum_symbol : Azimuthal $l$ in symbolic form. : str\\nresults.material.topology.active_orbitals.ml_quantum_symbol : Magnetic quantum number $m_l$ in symbolic form. : str\\nresults.material.topology.active_orbitals.ms_quantum_symbol : Spin quantum number $m_s$ in symbolic form. : str\\nresults.method.method_id : Identifier for the used method. Only available for a subset of entries\\nfor which the methodology has been identified with precision. : str\\nresults.method.method_name : Common name for the used method. : BSE,CoreHole,DFT,DMFT,EELS,GW,NMR,TB,XPS,XRD,kMC,quantum cms,unavailable\\nresults.method.workflow_name :   : str\\nresults.method.simulation.program_name : The name of the used program. : str\\nresults.method.simulation.program_version : The version of the used program. : str\\nresults.method.simulation.program_version_internal : The version tag used internally by the development team. : str\\nresults.method.simulation.dft.basis_set_type : The used basis set functions. : (L)APW+lo,gaussians,not processed,numeric AOs,plane waves,psinc functions,real-space grid,unavailable\\nresults.method.simulation.dft.core_electron_treatment : How the core electrons are described. : all electron frozen core,full all electron,pseudopotential,unavailable\\nresults.method.simulation.dft.spin_polarized : Whether the calculation is spin-polarized. : bool\\nresults.method.simulation.dft.scf_threshold_energy_change : Specifies the threshold for the total energy change between two subsequent\\nself-consistent field (SCF) iterations. The SCF is considered converged when the\\ntotal-energy change between two SCF cycles is below the threshold (possibly in\\ncombination with other criteria). : float64 : joule\\nresults.method.simulation.dft.van_der_Waals_method : The used van der Waals method. : str\\nresults.method.simulation.dft.relativity_method : Describes the relativistic treatment used for the calculation of the final energy\\nand related quantities. If skipped or empty, no relativistic treatment is applied. : pseudo_scalar_relativistic,scalar_relativistic,scalar_relativistic_atomic_ZORA\\nresults.method.simulation.dft.smearing_kind : Specifies the kind of smearing on the electron occupation used to calculate the\\nfree energy (see energy_free)\\n\\nValid values are:\\n\\n| Smearing kind             | Description                       |\\n\\n| ------------------------- | --------------------------------- |\\n\\n| `\"empty\"`                 | No smearing is applied            |\\n\\n| `\"gaussian\"`              | Gaussian smearing                 |\\n\\n| `\"fermi\"`                 | Fermi smearing                    |\\n\\n| `\"marzari-vanderbilt\"`    | Marzari-Vanderbilt smearing       |\\n\\n| `\"methfessel-paxton\"`     | Methfessel-Paxton smearing        |\\n\\n| `\"tetrahedra\"`            | Interpolation of state energies and occupations\\n(ignores smearing_width) | : str\\nresults.method.simulation.dft.smearing_width : Specifies the width of the smearing in energy for the electron occupation used to\\ncalculate the free energy (see energy_free).\\n\\n*NOTE:* Not all methods specified in smearing_kind uses this value. : float64\\nresults.method.simulation.dft.jacobs_ladder : Functional classification in line with Jacob\\'s Ladder.\\nFor more information, see https://doi.org/10.1063/1.1390175 (original paper);\\nhttps://doi.org/10.1103/PhysRevLett.91.146401 (meta-GGA);\\nand https://doi.org/10.1063/1.1904565 (hyper-GGA). : GGA,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable\\nresults.method.simulation.dft.xc_functional_type : Functional classification in line with Jacob\\'s Ladder.\\nFor more information, see https://doi.org/10.1063/1.1390175 (original paper);\\nhttps://doi.org/10.1103/PhysRevLett.91.146401 (meta-GGA);\\nand https://doi.org/10.1063/1.1904565 (hyper-GGA). : GGA,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable\\nresults.method.simulation.dft.xc_functional_names : The list of libXC functional names that where used in this entry. : str\\nresults.method.simulation.dft.exact_exchange_mixing_factor : Amount of exact exchange mixed in with the XC functional (value range = [0,1]). : float64\\nresults.method.simulation.dft.hubbard_kanamori_model.u_effective : Value of the effective U parameter (u - j). : float64 : joule\\nresults.method.simulation.dft.hubbard_kanamori_model.u : Value of the (intraorbital) Hubbard interaction : float64 : joule\\nresults.method.simulation.dft.hubbard_kanamori_model.j : Value of the exchange interaction. In rotational invariant systems, j = jh. : float64 : joule\\nresults.method.simulation.tb.type : Tight-binding model type: Slater Koster fitting, DFTB approximation, xTB perturbation\\ntheory, or Wannier projection. : DFTB,Slater-Koster,Wannier,not processed,xTB\\nresults.method.simulation.tb.localization_type : Localization type of the Wannier orbitals. : maximally_localized,single_shot\\nresults.method.simulation.gw.type : GW Hedin\\'s self-consistency cycle:\\n\\n| Name      | Description                      | Reference             |\\n\\n| --------- | -------------------------------- | --------------------- |\\n\\n| `\\'G0W0\\'`  | single-shot                      | PRB 74, 035101 (2006) |\\n\\n| `\\'scGW\\'`  | self-consistent G and W               | PRB 75, 235102 (2007) |\\n\\n| `\\'scGW0\\'` | self-consistent G with fixed W0  | PRB 54, 8411 (1996)   |\\n\\n| `\\'scG0W\\'` | self-consistent W with fixed G0  | -                     |\\n\\n| `\\'ev-scGW0\\'`  | eigenvalues self-consistent G with fixed W0   | PRB 34, 5390 (1986)   |\\n\\n| `\\'ev-scGW\\'`  | eigenvalues self-consistent G and W   | PRB 74, 045102 (2006)   |\\n\\n| `\\'qp-scGW0\\'`  | quasiparticle self-consistent G with fixed W0 | PRL 99, 115109 (2007) |\\n\\n| `\\'qp-scGW\\'`  | quasiparticle self-consistent G and W | PRL 96, 226402 (2006) | : G0W0,ev-scGW,ev-scGW0,qp-scGW,qp-scGW0,scG0W,scGW,scGW0\\nresults.method.simulation.gw.basis_set_type : The used basis set functions. : (L)APW+lo,gaussians,not processed,numeric AOs,plane waves,psinc functions,real-space grid,unavailable\\nresults.method.simulation.gw.starting_point_type : The libXC based xc functional classification used in the starting point DFT simulation. : GGA,HF,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable\\nresults.method.simulation.gw.starting_point_names : The list of libXC functional names that where used in this entry. : str\\nresults.method.simulation.bse.type : Type of BSE hamiltonian solved:\\n\\n    H_BSE = H_diagonal + 2 * gx * Hx - gc * Hc\\n\\nwhere gx, gc specifies the type.\\n\\nOnline resources for the theory:\\n- http://exciting.wikidot.com/carbon-excited-states-from-bse#toc1\\n- https://www.vasp.at/wiki/index.php/Bethe-Salpeter-equations_calculations\\n- https://docs.abinit.org/theory/bse/\\n- https://www.yambo-code.eu/wiki/index.php/Bethe-Salpeter_kernel\\n\\n| Name | Description |\\n\\n| --------- | ----------------------- |\\n\\n| `\\'Singlet\\'` | gx = 1, gc = 1 |\\n\\n| `\\'Triplet\\'` | gx = 0, gc = 1 |\\n\\n| `\\'IP\\'` | Independent-particle approach |\\n\\n| `\\'RPA\\'` | Random Phase Approximation | : IP,RPA,Singlet,Triplet\\nresults.method.simulation.bse.basis_set_type : The used basis set functions. : (L)APW+lo,gaussians,not processed,numeric AOs,plane waves,psinc functions,real-space grid,unavailable\\nresults.method.simulation.bse.starting_point_type : The libXC based xc functional classification used in the starting point DFT simulation. : GGA,HF,LDA,hybrid,hyper-GGA,meta-GGA,not processed,unavailable\\nresults.method.simulation.bse.starting_point_names : The list of libXC functional names that where used in this entry. : str\\nresults.method.simulation.bse.solver : Solver algotithm used to diagonalize the BSE Hamiltonian.\\n\\n| Name | Description | Reference |\\n\\n| --------- | ----------------------- | ----------- |\\n\\n| `\\'Full-diagonalization\\'` | Full diagonalization of the BSE Hamiltonian | - |\\n\\n| `\\'Lanczos-Haydock\\'` | Subspace iterative Lanczos-Haydock algorithm | https://doi.org/10.1103/PhysRevB.59.5441 |\\n\\n| `\\'GMRES\\'` | Generalized minimal residual method | https://doi.org/10.1137/0907058 |\\n\\n| `\\'SLEPc\\'` | Scalable Library for Eigenvalue Problem Computations | https://slepc.upv.es/ |\\n\\n| `\\'TDA\\'` | Tamm-Dancoff approximation | https://doi.org/10.1016/S0009-2614(99)01149-5 | : Full-diagonalization,GMRES,Lanczos-Haydock,SLEPc,TDA\\nresults.method.simulation.bse.gw_type : GW Hedin\\'s self-consistency cycle:\\n\\n| Name      | Description                      | Reference             |\\n\\n| --------- | -------------------------------- | --------------------- |\\n\\n| `\\'G0W0\\'`  | single-shot                      | PRB 74, 035101 (2006) |\\n\\n| `\\'scGW\\'`  | self-consistent G and W               | PRB 75, 235102 (2007) |\\n\\n| `\\'scGW0\\'` | self-consistent G with fixed W0  | PRB 54, 8411 (1996)   |\\n\\n| `\\'scG0W\\'` | self-consistent W with fixed G0  | -                     |\\n\\n| `\\'ev-scGW0\\'`  | eigenvalues self-consistent G with fixed W0   | PRB 34, 5390 (1986)   |\\n\\n| `\\'ev-scGW\\'`  | eigenvalues self-consistent G and W   | PRB 74, 045102 (2006)   |\\n\\n| `\\'qp-scGW0\\'`  | quasiparticle self-consistent G with fixed W0 | PRL 99, 115109 (2007) |\\n\\n| `\\'qp-scGW\\'`  | quasiparticle self-consistent G and W | PRL 96, 226402 (2006) | : G0W0,ev-scGW,ev-scGW0,qp-scGW,qp-scGW0,scG0W,scGW,scGW0\\nresults.method.simulation.dmft.impurity_solver_type : Impurity solver method used in the DMFT loop:\\n\\n| Name              | Reference                            |\\n\\n| ----------------- | ------------------------------------ |\\n\\n| `\\'CT-INT\\'`        | Rubtsov et al., JEPT Lett 80 (2004)  |\\n\\n| `\\'CT-HYB\\'`        | Werner et al., PRL 97 (2006)         |\\n\\n| `\\'CT-AUX\\'`        | Gull et al., EPL 82 (2008)           |\\n\\n| `\\'ED\\'`            | Caffarrel et al, PRL 72 (1994)       |\\n\\n| `\\'NRG\\'`           | Bulla et al., RMP 80 (2008)          |\\n\\n| `\\'MPS\\'`           | Ganahl et al., PRB 90 (2014)         |\\n\\n| `\\'IPT\\'`           | Georges et al., PRB 45 (1992)        |\\n\\n| `\\'NCA\\'`           | Pruschke et al., PRB 47 (1993)       |\\n\\n| `\\'OCA\\'`           | Pruschke et al., PRB 47 (1993)       |\\n\\n| `\\'slave_bosons\\'`  | Kotliar et al., PRL 57 (1986)        |\\n\\n| `\\'hubbard_I\\'`     | -                                    | : CT-AUX,CT-HYB,CT-INT,ED,IPT,MPS,NCA,NRG,OCA,hubbard_I,slave_bosons\\nresults.method.simulation.dmft.inverse_temperature : Inverse temperature = 1/(kB*T). : float64 : 1 / joule\\nresults.method.simulation.dmft.magnetic_state : Magnetic state in which the DMFT calculation is done. : antiferromagnetic,ferromagnetic,paramagnetic\\nresults.method.simulation.dmft.u : Value of the (intraorbital) Hubbard interaction : float64 : joule\\nresults.method.simulation.dmft.jh : Value of the (interorbital) Hund\\'s coupling. : float64 : joule\\nresults.method.simulation.dmft.analytical_continuation : Analytical continuation used to continuate the imaginary space Green\\'s functions into\\nthe real frequencies space.\\n\\n| Name           | Description         | Reference                        |\\n\\n| -------------- | ------------------- | -------------------------------- |\\n\\n| `\\'Pade\\'` | Pade\\'s approximant  | https://www.sciencedirect.com/science/article/pii/0021999173901277?via%3Dihub |\\n\\n| `\\'MaxEnt\\'` | Maximum Entropy method | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.41.2380 |\\n\\n| `\\'SVD\\'` | Singular value decomposition | https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.75.517 |\\n\\n| `\\'Stochastic\\'` | Stochastic method | https://journals.aps.org/prb/abstract/10.1103/PhysRevB.57.10287 | : MaxEnt,Pade,SVD,Stochastic\\nresults.method.simulation.precision.k_line_density : Amount of sampled k-points per unit reciprocal length along each axis.\\nContains the least precise density out of all axes.\\nShould only be compared between calulations of similar dimensionality. : float64 : meter\\nresults.method.simulation.precision.native_tier : The code-specific tag indicating the precision used\\nfor the basis set and meshes of numerical routines.\\n\\nSupported codes (with hyperlinks to the relevant documentation):\\n- [`VASP`](https://www.vasp.at/wiki/index.php/PREC)\\n- `FHI-aims`\\n- [`CASTEP`](http://www.tcm.phy.cam.ac.uk/castep/documentation/WebHelp/CASTEP.html#modules/castep/tskcastepsetelecquality.htm?Highlight=ultra-fine) : str\\nresults.method.simulation.precision.basis_set : The type of basis set used by the program.\\n\\n| Value                          |                       Description |\\n| ------------------------------ | --------------------------------- |\\n| `\\'APW\\'`                        | Augmented plane waves             |\\n| `\\'LAPW\\'`                       | Linearized augmented plane waves  |\\n| `\\'APW+lo\\'`             | Augmented plane waves with local orbitals |\\n| `\\'LAPW+lo\\'` | Linearized augmented plane waves with local orbitals |\\n| `\\'(L)APW\\'`                     |     A combination of APW and LAPW |\\n| `\\'(L)APW+lo\\'`  | A combination of APW and LAPW with local orbitals |\\n| `\\'plane waves\\'`                | Plane waves                       |\\n| `\\'gaussians + plane waves\\'`    | Basis set of the Quickstep algorithm (DOI: 10.1016/j.cpc.2004.12.014) |\\n| `\\'real-space grid\\'`            | Real-space grid                   |\\n| `\\'suppport functions\\'`         | Support functions                 | : (L)APW,(L)APW+lo,APW,APW+lo,LAPW,LAPW+lo,atom-centered orbitals,gaussians + plane waves,not processed,plane waves,real-space grid,support functions,unavailable\\nresults.method.simulation.precision.planewave_cutoff : Spherical cutoff in reciprocal space for a plane-wave basis set. It is the energy\\nof the highest plane-wave ($\\\\frac{\\\\hbar^2|k+G|^2}{2m_e}$) included in the basis\\nset. : float64 : joule\\nresults.method.simulation.precision.apw_cutoff : The spherical cutoff parameter for the interstitial plane waves in the LAPW family.\\nThis cutoff is unitless, referring to the product of the smallest muffin-tin radius\\nand the length of the cutoff reciprocal vector ($r_{MT} * |K_{cut}|$). : float64\\nresults.method.measurement.xrd.diffraction_method_name : The diffraction method used to obtain the diffraction pattern.\\n| X-Ray Diffraction Method                                   | Description                                                                                                                                                                                                 |\\n|------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\\n| **Powder X-Ray Diffraction (PXRD)**                        | The term \"powder\" refers more to the random orientation of small crystallites than to the physical form of the sample. Can be used with non-powder samples if they present random crystallite orientations. |\\n| **Single Crystal X-Ray Diffraction (SCXRD)**               | Used for determining the atomic structure of a single crystal.                                                                                                                                              |\\n| **High-Resolution X-Ray Diffraction (HRXRD)**              | A technique typically used for detailed characterization of epitaxial thin films using precise diffraction measurements.                                                                                    |\\n| **Small-Angle X-Ray Scattering (SAXS)**                    | Used for studying nanostructures in the size range of 1-100 nm. Provides information on particle size, shape, and distribution.                                                                             |\\n| **X-Ray Reflectivity (XRR)**                               | Used to study thin film layers, interfaces, and multilayers. Provides info on film thickness, density, and roughness.                                                                                       |\\n| **Grazing Incidence X-Ray Diffraction (GIXRD)**            | Primarily used for the analysis of thin films with the incident beam at a fixed shallow angle.                                                                                                              |\\n| **Reciprocal Space Mapping (RSM)**                         | High-resolution XRD method to measure diffracted intensity in a 2-dimensional region of reciprocal space. Provides information about the real-structure (lattice mismatch, domain structure, stress and defects) in single-crystalline and epitaxial samples.| : Grazing Incidence X-Ray Diffraction (GIXRD),High-Resolution X-Ray Diffraction (HRXRD),Powder X-Ray Diffraction (PXRD),Reciprocal Space Mapping (RSM),Single Crystal X-Ray Diffraction (SCXRD),Small-Angle X-Ray Scattering (SAXS),X-Ray Reflectivity (XRR),unavailable\\nresults.properties.n_calculations : The number of performed single configuration calculations.\\' : int\\nresults.properties.available_properties : Subset of the property names that are present in this entry. : str\\nresults.properties.structural.radial_distribution_function.type : Describes if the observable is calculated at the molecular or atomic level. : atomic,molecular\\nresults.properties.structural.radial_distribution_function.label : Describes the atoms or molecule types involved in determining the property. : str\\nresults.properties.structural.radial_distribution_function.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.structural.radial_distribution_function.provenance.molecular_dynamics.time_step : The timestep at which the numerical integration is performed. : float64 : second\\nresults.properties.structural.radial_distribution_function.provenance.molecular_dynamics.ensemble_type : The type of thermodynamic ensemble that was simulated.\\n\\nAllowed values are:\\n\\n| Thermodynamic Ensemble          | Description                               |\\n\\n| ---------------------- | ----------------------------------------- |\\n\\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\\n\\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\\n\\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\\n\\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy | : NPH,NPT,NVE,NVT\\nresults.properties.structural.radius_of_gyration.kind : Kind of the quantity. : str\\nresults.properties.structural.radius_of_gyration.label : Describes the atoms or molecule types involved in determining the property. : str\\nresults.properties.structural.radius_of_gyration.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.structural.radius_of_gyration.provenance.molecular_dynamics.time_step : The timestep at which the numerical integration is performed. : float64 : second\\nresults.properties.structural.radius_of_gyration.provenance.molecular_dynamics.ensemble_type : The type of thermodynamic ensemble that was simulated.\\n\\nAllowed values are:\\n\\n| Thermodynamic Ensemble          | Description                               |\\n\\n| ---------------------- | ----------------------------------------- |\\n\\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\\n\\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\\n\\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\\n\\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy | : NPH,NPT,NVE,NVT\\nresults.properties.structural.diffraction_pattern.incident_beam_wavelength : The wavelength of the incident beam. : float64 : meter\\nresults.properties.dynamical.mean_squared_displacement.type : Describes if the observable is calculated at the molecular or atomic level. : atomic,molecular\\nresults.properties.dynamical.mean_squared_displacement.label : Describes the atoms or molecule types involved in determining the property. : str\\nresults.properties.dynamical.mean_squared_displacement.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.dynamical.mean_squared_displacement.provenance.molecular_dynamics.time_step : The timestep at which the numerical integration is performed. : float64 : second\\nresults.properties.dynamical.mean_squared_displacement.provenance.molecular_dynamics.ensemble_type : The type of thermodynamic ensemble that was simulated.\\n\\nAllowed values are:\\n\\n| Thermodynamic Ensemble          | Description                               |\\n\\n| ---------------------- | ----------------------------------------- |\\n\\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\\n\\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\\n\\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\\n\\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy | : NPH,NPT,NVE,NVT\\nresults.properties.structures.structure_original.nperiodic_dimensions : An integer specifying the number of periodic dimensions in the\\nstructure, equivalent to the number of non-zero entries in\\ndimension_types. : int\\nresults.properties.structures.structure_original.n_sites : An integer specifying the length of the cartesian_site_positions property. : int\\nresults.properties.structures.structure_original.cell_volume : Volume of the cell. : float64 : meter ** 3\\nresults.properties.structures.structure_original.lattice_parameters.a : Length of the first basis vector. : float64 : meter\\nresults.properties.structures.structure_original.lattice_parameters.b : Length of the second basis vector. : float64 : meter\\nresults.properties.structures.structure_original.lattice_parameters.c : Length of the third basis vector. : float64 : meter\\nresults.properties.structures.structure_original.lattice_parameters.alpha : Angle between second and third basis vector. : float64 : radian\\nresults.properties.structures.structure_original.lattice_parameters.beta : Angle between first and third basis vector. : float64 : radian\\nresults.properties.structures.structure_original.lattice_parameters.gamma : Angle between first and second basis vector. : float64 : radian\\nresults.properties.structures.structure_conventional.nperiodic_dimensions : An integer specifying the number of periodic dimensions in the\\nstructure, equivalent to the number of non-zero entries in\\ndimension_types. : int\\nresults.properties.structures.structure_conventional.n_sites : An integer specifying the length of the cartesian_site_positions property. : int\\nresults.properties.structures.structure_conventional.cell_volume : Volume of the cell. : float64 : meter ** 3\\nresults.properties.structures.structure_conventional.lattice_parameters.a : Length of the first basis vector. : float64 : meter\\nresults.properties.structures.structure_conventional.lattice_parameters.b : Length of the second basis vector. : float64 : meter\\nresults.properties.structures.structure_conventional.lattice_parameters.c : Length of the third basis vector. : float64 : meter\\nresults.properties.structures.structure_conventional.lattice_parameters.alpha : Angle between second and third basis vector. : float64 : radian\\nresults.properties.structures.structure_conventional.lattice_parameters.beta : Angle between first and third basis vector. : float64 : radian\\nresults.properties.structures.structure_conventional.lattice_parameters.gamma : Angle between first and second basis vector. : float64 : radian\\nresults.properties.structures.structure_primitive.nperiodic_dimensions : An integer specifying the number of periodic dimensions in the\\nstructure, equivalent to the number of non-zero entries in\\ndimension_types. : int\\nresults.properties.structures.structure_primitive.n_sites : An integer specifying the length of the cartesian_site_positions property. : int\\nresults.properties.structures.structure_primitive.cell_volume : Volume of the cell. : float64 : meter ** 3\\nresults.properties.structures.structure_primitive.lattice_parameters.a : Length of the first basis vector. : float64 : meter\\nresults.properties.structures.structure_primitive.lattice_parameters.b : Length of the second basis vector. : float64 : meter\\nresults.properties.structures.structure_primitive.lattice_parameters.c : Length of the third basis vector. : float64 : meter\\nresults.properties.structures.structure_primitive.lattice_parameters.alpha : Angle between second and third basis vector. : float64 : radian\\nresults.properties.structures.structure_primitive.lattice_parameters.beta : Angle between first and third basis vector. : float64 : radian\\nresults.properties.structures.structure_primitive.lattice_parameters.gamma : Angle between first and second basis vector. : float64 : radian\\nresults.properties.electronic.band_gap.index : The spin channel index. : int32\\nresults.properties.electronic.band_gap.value : The actual value of the band gap. Value of zero indicates a vanishing band gap and\\nis distinct from sources lacking any band gap measurement or calculation. : float64 : joule\\nresults.properties.electronic.band_gap.type : Band gap type. : direct,indirect\\nresults.properties.electronic.band_gap.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.electronic.dos_electronic.spin_polarized : Whether the DOS is spin-polarized, i.e. is contains channels for both\\nspin values. : bool\\nresults.properties.electronic.dos_electronic.band_gap.index : The spin channel index. : int32\\nresults.properties.electronic.dos_electronic.band_gap.value : The actual value of the band gap. Value of zero indicates a vanishing band gap and\\nis distinct from sources lacking any band gap measurement or calculation. : float64 : joule\\nresults.properties.electronic.dos_electronic.band_gap.type : Band gap type. : direct,indirect\\nresults.properties.electronic.dos_electronic.band_gap.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.electronic.dos_electronic_new.spin_polarized : Whether the DOS is spin-polarized, i.e. is contains channels for both\\nspin values. : bool\\nresults.properties.electronic.dos_electronic_new.has_projected : Whether the DOS has information about projections (species-, atom-, and/or orbital-\\nprojected). : bool\\nresults.properties.electronic.dos_electronic_new.data.band_gap.index : The spin channel index. : int32\\nresults.properties.electronic.dos_electronic_new.data.band_gap.value : The actual value of the band gap. Value of zero indicates a vanishing band gap and\\nis distinct from sources lacking any band gap measurement or calculation. : float64 : joule\\nresults.properties.electronic.dos_electronic_new.data.band_gap.type : Band gap type. : direct,indirect\\nresults.properties.electronic.dos_electronic_new.data.band_gap.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.electronic.band_structure_electronic.spin_polarized : Whether the band structure is spin-polarized, i.e. is contains channels\\nfor both spin values. : bool\\nresults.properties.electronic.band_structure_electronic.band_gap.index : The spin channel index. : int32\\nresults.properties.electronic.band_structure_electronic.band_gap.value : The actual value of the band gap. Value of zero indicates a vanishing band gap and\\nis distinct from sources lacking any band gap measurement or calculation. : float64 : joule\\nresults.properties.electronic.band_structure_electronic.band_gap.type : Band gap type. : direct,indirect\\nresults.properties.electronic.band_structure_electronic.band_gap.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.magnetic.spin_spin_coupling.source : Identifier for the source of the data: \\'experiment\\' or \\'simulation\\'. : experiment,simulation\\nresults.properties.magnetic.magnetic_susceptibility.source : Identifier for the source of the data: \\'experiment\\' or \\'simulation\\'. : experiment,simulation\\nresults.properties.optoelectronic.solar_cell.efficiency : Power conversion effciency of a solar cell in percentage %. : float64\\nresults.properties.optoelectronic.solar_cell.fill_factor : Fill factor of a solar cell in absolute values (from 0 to 1). : float64\\nresults.properties.optoelectronic.solar_cell.open_circuit_voltage : Open circuit voltage of a solar cell. : float64 : volt\\nresults.properties.optoelectronic.solar_cell.short_circuit_current_density : Short circuit current density of a solar cell. : float64 : ampere / meter ** 2\\nresults.properties.optoelectronic.solar_cell.illumination_intensity : The light intensity during the IV measurement. : float64 : watt / meter ** 2\\nresults.properties.optoelectronic.solar_cell.device_area : The total area of the cell during IV and stability measurements under illumination. : float64 : meter ** 2\\nresults.properties.optoelectronic.solar_cell.device_architecture : Device architecture of the solar cell. Examples are:\\n`pn-Heterojunction`, `pin`, `nip`, ... : str\\nresults.properties.optoelectronic.solar_cell.device_stack : Layers of the entire device. : str\\nresults.properties.optoelectronic.solar_cell.absorber : Absorber layers used in the solar cell. : str\\nresults.properties.optoelectronic.solar_cell.absorber_fabrication : Technique describing the fabrication of the absorber layer. Examples are:\\n`Spin-coating`, `Evaporation`, `Doctor blading`, ... : str\\nresults.properties.optoelectronic.solar_cell.electron_transport_layer : Electron selective contact layers used in the solar cell. : str\\nresults.properties.optoelectronic.solar_cell.hole_transport_layer : Hole selective contact layers used in the solar cell. : str\\nresults.properties.optoelectronic.solar_cell.substrate : Substrate layers used in the solar cell. : str\\nresults.properties.optoelectronic.solar_cell.back_contact : Back contact layers used in the solar cell. : str\\nresults.properties.catalytic.reaction.name : Name of the catalytic test reaction. : str\\nresults.properties.catalytic.reaction.type : Classification of the catalytic test reaction such as Oxidation, Hydrogenation,\\nIsomerization, Coupling... : str\\nresults.properties.catalytic.reaction.reactants.name : IUPAC name of the reagent. : str\\nresults.properties.catalytic.reaction.reactants.gas_concentration_in : Volumetric concentration (fraction) of the reagent in the feed gas.\\nShould be a value between 0 and 1. : float64\\nresults.properties.catalytic.reaction.reactants.gas_concentration_out : Volumetric concentration (fraction) of the reagent after the reactor.\\nShould be a value between 0 and 1. : float64\\nresults.properties.catalytic.reaction.reactants.conversion : Conversion of the reactant, in %. : float64\\nresults.properties.catalytic.reaction.products.name : Name of the product, preferably the IUPAC name. : str\\nresults.properties.catalytic.reaction.products.gas_concentration_in : Volumetric concentration (fraction) of the reagent in the feed gas.\\nShould be a value between 0 and 1. : float64\\nresults.properties.catalytic.reaction.products.gas_concentration_out : Volumetric concentration (fraction) of the reagent after the reactor.\\nShould be a value between 0 and 1. : float64\\nresults.properties.catalytic.reaction.products.selectivity : Selectivity of the product, in %. : float64\\nresults.properties.catalytic.reaction.products.space_time_yield : Space-time-yield of the product, in mass product per mass catalyst per time. : float64 : 1 / second\\nresults.properties.catalytic.reaction.rates.name : IUPAC name of the reagent whose rate is captured. : str\\nresults.properties.catalytic.reaction.rates.reaction_rate : The rate of the number of reactant or product molecules converted/produced,\\nper mass of total catalyst, per time. : float64 : mole / gram / second\\nresults.properties.catalytic.reaction.rates.specific_mass_rate : The specific rate of the reactant, per mass of active catalyst component\\n(e.g. metal). : float64 : mole / gram / second\\nresults.properties.catalytic.reaction.rates.specific_surface_area_rate : The specific rate of the reactant, per surface area of active catalyst. : float64 : mole / meter ** 2 / second\\nresults.properties.catalytic.reaction.rates.turnover_frequency : The turnover frequency, calculated from mol of reactant or product per\\nnumber of sites over time. : float64 : 1 / second\\nresults.properties.catalytic.reaction.reaction_conditions.temperature : The reaction temperature(s) in the catalytic reactor during a chemical reaction. : float64 : kelvin\\nresults.properties.catalytic.reaction.reaction_conditions.pressure : The pressure during the catalytic test reaction. : float64 : pascal\\nresults.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity : The weight hourly space velocity in 1/time (gas flow per catalyst mass). : float64 : milliliter / gram / second\\nresults.properties.catalytic.reaction.reaction_conditions.gas_hourly_space_velocity : The gas hourly space velocity in 1/time (gas flow per catalyst volume). : float64 : 1 / second\\nresults.properties.catalytic.reaction.reaction_conditions.flow_rate : The volumetric gas flow in volume per time. : float64 : meter ** 3 / second\\nresults.properties.catalytic.reaction.reaction_conditions.time_on_stream : The time on stream of the catalyst in the catalytic reaction. : float64 : second\\nresults.properties.catalytic.reaction.reaction_mechanism.initial_states : The names of reactants of the reaction or elementary step. : str\\nresults.properties.catalytic.reaction.reaction_mechanism.final_states : The names of products of the reaction or elementary step. : str\\nresults.properties.catalytic.reaction.reaction_mechanism.reaction_enthalpy : The reaction enthalpy of the reaction or reaction step. : float64 : joule\\nresults.properties.catalytic.reaction.reaction_mechanism.activation_energy : The (apparent) activation energy of the catalyzed reaction or reaction step. : float64 : joule\\nresults.properties.catalytic.catalyst.catalyst_name : Custom name of catalyst. : str\\nresults.properties.catalytic.catalyst.preparation_method : The main preparation method of the catalyst sample. : str\\nresults.properties.catalytic.catalyst.catalyst_type : The type of catalyst, wether metal or oxide, model, bulk, supported, ect.\\nMultiple values can apply. : str\\nresults.properties.catalytic.catalyst.characterization_methods : A list of methods used to characterize the catalyst sample. : str\\nresults.properties.catalytic.catalyst.surface_area : The surface area per catalyst mass. : float64 : meter ** 2 / gram\\nresults.properties.mechanical.energy_volume_curve.type :   : birch_euler,birch_lagrange,birch_murnaghan,mie_gruneisen,murnaghan,pack_evans_james,pourier_tarantola,raw,tait,vinet\\nresults.properties.mechanical.bulk_modulus.type : Describes the methodology for obtaining the value. : birch_euler,birch_lagrange,birch_murnaghan,mie_gruneisen,murnaghan,pack_evans_james,pourier_tarantola,reuss_average,tait,vinet,voigt_average,voigt_reuss_hill_average\\nresults.properties.mechanical.bulk_modulus.value : Bulk modulus value. : float64 : pascal\\nresults.properties.mechanical.shear_modulus.type : Describes the methodology for obtaining the value. : reuss_average,voigt_average,voigt_reuss_hill_average\\nresults.properties.mechanical.shear_modulus.value : Shear modulus value. : float64 : pascal\\nresults.properties.thermodynamic.trajectory.available_properties : Subset of the property names that are present in this trajectory. : energy_potential,pressure,temperature,volume\\nresults.properties.thermodynamic.trajectory.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.thermodynamic.trajectory.provenance.molecular_dynamics.time_step : The timestep at which the numerical integration is performed. : float64 : second\\nresults.properties.thermodynamic.trajectory.provenance.molecular_dynamics.ensemble_type : The type of thermodynamic ensemble that was simulated.\\n\\nAllowed values are:\\n\\n| Thermodynamic Ensemble          | Description                               |\\n\\n| ---------------------- | ----------------------------------------- |\\n\\n| `\"NVE\"`           | Constant number of particles, volume, and energy |\\n\\n| `\"NVT\"`           | Constant number of particles, volume, and temperature |\\n\\n| `\"NPT\"`           | Constant number of particles, pressure, and temperature |\\n\\n| `\"NPH\"`           | Constant number of particles, pressure, and enthalpy | : NPH,NPT,NVE,NVT\\nresults.properties.spectroscopic.spectra.type : Identifier for the methodology done to obtain the spectra data: EELS, XAS, XPS, etc. : EELS,EXAFS,RXIS,XANES,XAS,XES,XPS,unavailable\\nresults.properties.spectroscopic.spectra.label : Identifier for the source of the spectra data, either \\'computation\\' or \\'experiment\\'. : computation,experiment\\nresults.properties.spectroscopic.spectra.provenance.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.spectroscopic.spectra.provenance.eels.detector_type : Detector type. : str\\nresults.properties.spectroscopic.spectra.provenance.eels.resolution : Energy resolution of the detector. : float64 : joule\\nresults.properties.spectroscopic.spectra.provenance.eels.max_energy : Maximum energy of the detector. : float64 : joule\\nresults.properties.spectroscopic.spectra.provenance.eels.min_energy : Minimum energy of the detector. : float64 : joule\\nresults.properties.spectroscopic.spectra.provenance.electronic_structure.label : Class or type of the provenance.\\nCan be used to add further description to the provenance. : str\\nresults.properties.geometry_optimization.convergence_tolerance_energy_difference : The input energy difference tolerance criterion. : float64 : joule\\nresults.properties.geometry_optimization.convergence_tolerance_force_maximum : The input maximum net force tolerance criterion. : float64 : newton\\nresults.properties.geometry_optimization.final_force_maximum : The maximum net force in the last optimization step. : float64 : newton\\nresults.properties.geometry_optimization.final_energy_difference : The difference in the energy_total between the last two steps during\\noptimization. : float64 : joule\\nresults.properties.geometry_optimization.final_displacement_maximum : The maximum displacement in the last optimization step with respect to previous. : float64 : meter\\nresults.eln.sections : The type of sections used in entries to search for. By default these are the names\\nof the used section definitions. : str\\nresults.eln.tags : Short tags that are useful to quickly search based on various\\nuser defined criteria. : str\\nresults.eln.names : Short human readable and descriptive names that appear in\\nELN entries. : str\\nresults.eln.descriptions : \\'Human descriptions that appear in ELN entries. : str\\nresults.eln.instruments : The name or type of instrument used in an activity, e.g. process or\\nmeasurement. : str\\nresults.eln.methods : The name or the applied method in an activity, e.g. process or measurement : str\\nresults.eln.lab_ids : The laboratory specific id for any item, e.g. sample, chemical, instrument. : str\\nresults.material : Section containing information on the material composition and structure. : None\\nresults.material.elemental_composition : Section containing information about the concentration of an element,\\n        given by its atomic and mass fraction within the system or material. : None\\nresults.material.symmetry : Section containing information about the symmetry of the material. All\\n        of these properties are derived by running a symmetry analysis on a\\n        representative geometry from the original data. This original geometry\\n        is stored in results.properties together with the primitive and\\n        conventional structures. : None\\nresults.material.topology : Describes a a structural part that has been identified within the entry.\\n        May be related to other systems. : None\\nresults.material.topology.atoms : Describes the atomic structure of the physical system. This includes the atom positions, lattice vectors, etc. : None\\nresults.material.topology.elemental_composition : Section containing information about the concentration of an element,\\n        given by its atomic and mass fraction within the system or material. : None\\nresults.material.topology.system_relation : Contains information about the relation between two different systems. : None\\nresults.material.topology.cell : Properties of a unit cell. : None\\nresults.material.topology.symmetry : Section containing information about the symmetry properties of a\\n        conventional cell related to a system. : None\\nresults.material.topology.symmetry.wyckoff_sets : Section for storing Wyckoff set information. Only available for\\n        conventional cells that have undergone symmetry analysis. : None\\nresults.material.topology.metal_coordination : Coordination number of an element, which represents the number of atoms directly bonded to the element. : None\\nresults.material.topology.active_orbitals :   : None\\nresults.method : Contains a summary of the methodology that has been used in this entry.\\n        This methodology applies to all of the reported properties and\\n        determines the result of a single energy evalution. The individual\\n        properties may be further methodological details affect e.g. the\\n        sampling. : None\\nresults.method.simulation : Contains method details for a simulation entry. : None\\nresults.method.simulation.dft : Methodology for a DFT calculation. : None\\nresults.method.simulation.dft.hubbard_kanamori_model : Setup of the Hubbard model used in DFT+U : None\\nresults.method.simulation.tb : Methodology for a Tight-Binding calculation. : None\\nresults.method.simulation.gw : Methodology for a GW calculation. : None\\nresults.method.simulation.bse : Methodology for a BSE calculation. : None\\nresults.method.simulation.dmft : Methodology for a DMFT calculation. : None\\nresults.method.simulation.quantum_cms :   : None\\nresults.method.simulation.quantum_cms.quantum_circuit :   : None\\nresults.method.simulation.precision : Contains parameters for controlling or evaluating the convergence of the electronic structure. : None\\nresults.method.measurement : Contains method details for a measurement entry. : None\\nresults.method.measurement.xrd : Methodology for an X-Ray Diffraction measurement. : None\\nresults.properties : Contains the physical properties that have been calculated or used in\\n        this entry. : None\\nresults.properties.structural : Structural properties. : None\\nresults.properties.structural.radial_distribution_function : Radial distribution function. : None\\nresults.properties.structural.radial_distribution_function.provenance : Contains provenance information for properties derived from molecular\\n        dynamics simulations. : None\\nresults.properties.structural.radial_distribution_function.provenance.molecular_dynamics : Methodology for molecular dynamics. : None\\nresults.properties.structural.radius_of_gyration : Contains Radius of Gyration values as a trajectory. : None\\nresults.properties.structural.radius_of_gyration.provenance : Contains provenance information for properties derived from molecular\\n        dynamics simulations. : None\\nresults.properties.structural.radius_of_gyration.provenance.molecular_dynamics : Methodology for molecular dynamics. : None\\nresults.properties.structural.diffraction_pattern : Diffraction pattern. : None\\nresults.properties.dynamical : Dynamical properties. : None\\nresults.properties.dynamical.mean_squared_displacement : Mean Squared Displacements. : None\\nresults.properties.dynamical.mean_squared_displacement.provenance : Contains provenance information for properties derived from molecular\\n        dynamics simulations. : None\\nresults.properties.dynamical.mean_squared_displacement.provenance.molecular_dynamics : Methodology for molecular dynamics. : None\\nresults.properties.structures : Contains full atomistic representations of the material in different\\n        forms. : None\\nresults.properties.structures.structure_original : Describes an atomistic structure. : None\\nresults.properties.structures.structure_original.species : Used to describe the species of the sites of this structure. Species can be pure chemical elements, or virtual-crystal atoms representing a statistical occupation of a\\ngiven site by multiple chemical elements. : None\\nresults.properties.structures.structure_original.lattice_parameters : Lattice parameters of a cell. : None\\nresults.properties.structures.structure_original.wyckoff_sets : Section for storing Wyckoff set information. Only available for\\n        conventional cells that have undergone symmetry analysis. : None\\nresults.properties.structures.structure_conventional : Describes an atomistic structure. : None\\nresults.properties.structures.structure_conventional.species : Used to describe the species of the sites of this structure. Species can be pure chemical elements, or virtual-crystal atoms representing a statistical occupation of a\\ngiven site by multiple chemical elements. : None\\nresults.properties.structures.structure_conventional.lattice_parameters : Lattice parameters of a cell. : None\\nresults.properties.structures.structure_conventional.wyckoff_sets : Section for storing Wyckoff set information. Only available for\\n        conventional cells that have undergone symmetry analysis. : None\\nresults.properties.structures.structure_primitive : Describes an atomistic structure. : None\\nresults.properties.structures.structure_primitive.species : Used to describe the species of the sites of this structure. Species can be pure chemical elements, or virtual-crystal atoms representing a statistical occupation of a\\ngiven site by multiple chemical elements. : None\\nresults.properties.structures.structure_primitive.lattice_parameters : Lattice parameters of a cell. : None\\nresults.properties.structures.structure_primitive.wyckoff_sets : Section for storing Wyckoff set information. Only available for\\n        conventional cells that have undergone symmetry analysis. : None\\nresults.properties.vibrational : Vibrational properties. : None\\nresults.properties.vibrational.band_structure_phonon : This section stores information on a vibrational band structure\\n        evaluation along one-dimensional pathways in the reciprocal space. : None\\nresults.properties.vibrational.dos_phonon : Contains the phonon density of states. : None\\nresults.properties.vibrational.heat_capacity_constant_volume : Contains the values of the specific (per mass) and isochoric (constant\\n        volume) heat capacity at different temperatures. : None\\nresults.properties.vibrational.energy_free_helmholtz : Contains the values of the Helmholtz free energy per atom at constant\\n        volume and at different temperatures. : None\\nresults.properties.electronic : Electronic properties. : None\\nresults.properties.electronic.band_gap :   : None\\nresults.properties.electronic.band_gap.provenance :  : None\\nresults.properties.electronic.dos_electronic : Contains the total electronic density of states.\\n\\n        OLD VERSION: it will eventually be deprecated. : None\\nresults.properties.electronic.dos_electronic.band_gap :   : None\\nresults.properties.electronic.dos_electronic.band_gap.provenance : Contains semantically labelled provenance information.\\n        To be stored under PropertySection.provenance or children. : None\\nresults.properties.electronic.dos_electronic_new : Contains the electronic Density of States (DOS). This section can be repeated to refer to\\n        different methodologies (e.g., label = \\'DFT\\', \\'GW\\', \\'TB\\', etc.), and it can be spin-polarized\\n        or not. The sub-section data points to each (if present) spin channels. : None\\nresults.properties.electronic.dos_electronic_new.data : Section containign the density of states data.\\n\\n        It includes the total DOS and the projected DOS values. We differentiate `species_projected` as the\\n        projected DOS for same atomic species, `atom_projected` as the projected DOS for different\\n        atoms in the cell, and `orbital_projected` as the projected DOS for the orbitals of each\\n        atom. : None\\nresults.properties.electronic.dos_electronic_new.data.band_gap :   : None\\nresults.properties.electronic.dos_electronic_new.data.band_gap.provenance : Contains semantically labelled provenance information.\\n        To be stored under PropertySection.provenance or children. : None\\nresults.properties.electronic.band_structure_electronic : This section stores information on a electonic band structure\\n        evaluation along one-dimensional pathways in the reciprocal space. : None\\nresults.properties.electronic.band_structure_electronic.band_gap :   : None\\nresults.properties.electronic.band_structure_electronic.band_gap.provenance : Contains semantically labelled provenance information.\\n        To be stored under PropertySection.provenance or children. : None\\nresults.properties.electronic.greens_functions_electronic : Base class for Green\\'s functions information. : None\\nresults.properties.electronic.electric_field_gradient : Base class for the electric field gradient information. This section is relevant\\n        for NMR and describes the potential generated my the nuclei in the system. : None\\nresults.properties.magnetic : Magnetic properties. : None\\nresults.properties.magnetic.magnetic_shielding : Base class for the atomic magnetic shielding information. : None\\nresults.properties.magnetic.spin_spin_coupling : Base class for the spin-spin coupling information. : None\\nresults.properties.magnetic.magnetic_susceptibility : Base class for the magnetic susceptibility information. : None\\nresults.properties.optoelectronic : Optoelectronic properties. : None\\nresults.properties.optoelectronic.solar_cell : Properties of solar cells. : None\\nresults.properties.catalytic : Properties relating to catalysis. : None\\nresults.properties.catalytic.reaction : A collection of specifications and properties of a full catalytic reaction.\\n        This may include reaction conditions, results and mechanistic aspects of a reaction. : None\\nresults.properties.catalytic.reaction.reactants : A reactant in a catalytic test reaction. A reactant\\n        is identified by having a conversion. : None\\nresults.properties.catalytic.reaction.products : A product of a catalytic reaction. A product here is usually identified by having\\n        a selectivity, or a gas_concentration_out but no/zero gas_concentration_in. : None\\nresults.properties.catalytic.reaction.rates : Section bundling multiple representations of catalytic reaction rates. : None\\nresults.properties.catalytic.reaction.reaction_conditions : Conditions under which a catalytic test reaction was performed. : None\\nresults.properties.catalytic.reaction.reaction_mechanism : Properties of single steps of a catalytic reaction mechanism. : None\\nresults.properties.catalytic.catalyst : Properties of a heterogeneous catalyst. : None\\nresults.properties.mechanical : Mechanical properties. : None\\nresults.properties.mechanical.energy_volume_curve : Energy volume curve. : None\\nresults.properties.mechanical.bulk_modulus : Contains bulk modulus values calculated with different methodologies. : None\\nresults.properties.mechanical.shear_modulus : Contains shear modulus values calculated with different methodologies. : None\\nresults.properties.thermodynamic : Thermodynamic properties. : None\\nresults.properties.thermodynamic.trajectory : Thermodynamic properties reported for an ensemble evolving in time. : None\\nresults.properties.thermodynamic.trajectory.provenance : Contains provenance information for properties derived from molecular\\n        dynamics simulations. : None\\nresults.properties.thermodynamic.trajectory.provenance.molecular_dynamics : Methodology for molecular dynamics. : None\\nresults.properties.thermodynamic.trajectory.temperature : Contains temperature values evaluated at different times. : None\\nresults.properties.thermodynamic.trajectory.pressure : Contains pressure values evaluated at different times. : None\\nresults.properties.thermodynamic.trajectory.volume : Contains volume values evaluated at different times. : None\\nresults.properties.thermodynamic.trajectory.energy_potential : Contains energy values evaluated at different times. : None\\nresults.properties.spectroscopic : Spectroscopic properties. : None\\nresults.properties.spectroscopic.spectra : Base class for Spectra calculation information as obtained from an experiment or a computation. : None\\nresults.properties.spectroscopic.spectra.provenance : Contains provenance information (mainly the methodology section) for spectra properties\\n        derived from an experiment or a calculation. : None\\nresults.properties.spectroscopic.spectra.provenance.eels : Base class for the EELS methodology. : None\\nresults.properties.spectroscopic.spectra.provenance.electronic_structure :  : None\\nresults.properties.geometry_optimization : Geometry optimization results and settings. : None\\nresults.eln :   : None\\n<|eot_id|><|start_header_id|>user<|end_header_id|>\\n\\nRetrieve entries of aluminum nitride in a wurtzite structure.<|eot_id|><|start_header_id|>assistant<|end_header_id|>', prompt_token_ids=[128000, 128000, 128006, 9125, 128007, 271, 2675, 527, 459, 18328, 10695, 3932, 2778, 98811, 1846, 264, 32009, 8198, 4729, 13, 1472, 617, 30903, 323, 7384, 8198, 6677, 13, 4718, 3465, 374, 311, 1893, 264, 2778, 6464, 369, 5933, 4221, 2778, 20126, 555, 3932, 13, 720, 2675, 527, 2728, 279, 9959, 2778, 5151, 323, 872, 28887, 439, 836, 551, 4096, 551, 279, 828, 955, 477, 279, 1160, 315, 7773, 220, 2819, 369, 279, 2115, 551, 10309, 5089, 315, 279, 907, 627, 2746, 279, 828, 955, 374, 330, 4155, 1, 279, 2115, 649, 1193, 387, 1511, 304, 279, 330, 31548, 1385, 1, 2115, 311, 1817, 1202, 14209, 13, 3234, 539, 1005, 433, 439, 264, 2778, 2115, 627, 35, 546, 3645, 433, 1139, 19844, 46658, 3645, 320, 78125, 1005, 1845, 11, 2011, 11, 3878, 8, 4619, 1005, 279, 98811, 1846, 5446, 3645, 13, 720, 7456, 3041, 279, 3024, 24001, 3319, 912, 16540, 374, 4460, 627, 1489, 374, 24001, 439, 48095, 33858, 13, 720, 10464, 1521, 28231, 311, 3645, 279, 3319, 512, 262, 682, 25, 45189, 682, 2819, 304, 1160, 311, 2489, 198, 262, 904, 25, 62354, 422, 904, 907, 304, 1160, 9248, 320, 2309, 340, 262, 7000, 25, 45189, 7000, 315, 279, 2819, 311, 2489, 198, 262, 326, 668, 11, 26237, 11, 342, 668, 11, 26220, 25, 16842, 36595, 369, 25031, 5151, 11187, 35, 546, 1005, 330, 543, 1, 439, 279, 1176, 2115, 627, 12281, 8316, 1405, 279, 2115, 706, 264, 5300, 5089, 627, 10464, 330, 8234, 24585, 8947, 2508, 2981, 794, 330, 10754, 37, 1, 369, 9501, 17808, 12914, 20126, 271, 6014, 25599, 25, 8298, 851, 551, 578, 26048, 323, 31550, 5016, 13110, 369, 279, 8298, 315, 279, 4441, 551, 610, 198, 6248, 1292, 551, 578, 1217, 3984, 8298, 836, 551, 610, 198, 6248, 8827, 3084, 551, 578, 2457, 323, 892, 994, 279, 8298, 574, 3549, 304, 9859, 329, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 4177, 851, 551, 362, 26048, 323, 31550, 5016, 13110, 369, 279, 4441, 551, 610, 198, 4177, 1292, 551, 362, 10015, 3823, 34898, 836, 369, 279, 4441, 13, 551, 610, 198, 4177, 1292, 39643, 551, 362, 10015, 3823, 34898, 836, 369, 279, 4441, 13, 551, 610, 198, 4177, 1857, 551, 578, 1925, 11036, 7419, 13, 1115, 374, 279, 836, 315, 279, 3857, 1511, 369, 828, 13, 551, 610, 198, 27684, 851, 551, 38987, 2115, 836, 11, 1005, 1595, 4177, 851, 63, 4619, 13, 551, 610, 198, 4177, 8827, 3084, 551, 578, 2457, 323, 892, 994, 279, 4441, 574, 3549, 304, 9859, 329, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 9854, 1292, 551, 578, 98811, 1846, 6871, 1511, 369, 279, 1566, 8863, 551, 610, 198, 3902, 1213, 551, 578, 1853, 311, 279, 1925, 1213, 505, 279, 3789, 6352, 315, 279, 23700, 3626, 551, 610, 198, 3902, 1213, 3960, 551, 578, 1853, 311, 279, 1925, 1213, 505, 279, 3789, 6352, 315, 279, 23700, 3626, 551, 610, 198, 3902, 1213, 3173, 551, 5422, 1511, 311, 54263, 1990, 2204, 353, 3124, 10925, 9, 315, 459, 4441, 627, 2520, 2748, 10925, 323, 10925, 430, 656, 539, 617, 904, 2911, 11, 279, 907, 1288, 198, 1395, 4384, 13, 551, 610, 198, 3902, 1213, 3173, 3960, 551, 5422, 1511, 311, 54263, 1990, 2204, 353, 3124, 10925, 9, 315, 459, 4441, 627, 2520, 2748, 10925, 323, 10925, 430, 656, 539, 617, 904, 2911, 11, 279, 907, 1288, 198, 1395, 4384, 13, 551, 610, 198, 1342, 10947, 17096, 551, 31911, 1495, 8970, 430, 1288, 387, 6646, 994, 198, 45359, 1949, 1495, 20126, 369, 10925, 13, 551, 610, 198, 7346, 551, 578, 13006, 311, 279, 3626, 2949, 279, 8298, 430, 9352, 311, 420, 4441, 627, 2460, 3626, 2949, 279, 1890, 6352, 439, 279, 4441, 596, 1925, 1213, 527, 6646, 279, 198, 12249, 35546, 3626, 430, 9352, 311, 279, 4441, 13, 551, 610, 198, 7346, 3960, 551, 578, 13006, 311, 279, 3626, 2949, 279, 8298, 430, 9352, 311, 420, 4441, 627, 2460, 3626, 2949, 279, 1890, 6352, 439, 279, 4441, 596, 1925, 1213, 527, 6646, 279, 198, 12249, 35546, 3626, 430, 9352, 311, 279, 4441, 13, 551, 610, 198, 10629, 551, 578, 5016, 11, 95659, 85969, 11, 7698, 36871, 430, 574, 1511, 304, 279, 20160, 198, 45, 1937, 1846, 3623, 36, 13, 1102, 6276, 311, 9006, 36106, 315, 279, 2362, 98811, 1846, 3623, 36, 27475, 13, 551, 610, 198, 1059, 851, 551, 578, 2082, 3230, 13110, 28532, 505, 279, 4441, 596, 7257, 3626, 555, 279, 6871, 345, 333, 7396, 13, 551, 610, 198, 21591, 851, 551, 362, 1217, 3984, 9434, 887, 13, 34067, 279, 887, 369, 459, 4441, 304, 459, 9434, 4729, 198, 2940, 279, 828, 574, 25973, 505, 13, 551, 610, 198, 33966, 551, 45367, 422, 279, 4441, 374, 4756, 551, 1845, 198, 28602, 3084, 551, 578, 2457, 323, 892, 994, 279, 8298, 574, 4756, 304, 9859, 329, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 4291, 57964, 12359, 551, 2314, 10297, 422, 420, 4441, 374, 1234, 459, 48702, 551, 1845, 198, 35122, 551, 45367, 430, 279, 4441, 374, 7946, 15590, 13, 551, 1845, 198, 4354, 59309, 3084, 551, 578, 2457, 323, 892, 315, 279, 1566, 8863, 13, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 21315, 20808, 551, 40356, 430, 10222, 2391, 8863, 551, 610, 198, 17101, 329, 9625, 551, 578, 98811, 1846, 2373, 1511, 369, 279, 1566, 8863, 551, 610, 198, 17101, 329, 37446, 551, 578, 98811, 1846, 5379, 1511, 369, 279, 1566, 8863, 551, 610, 198, 6313, 551, 362, 1217, 3984, 4068, 369, 420, 4441, 551, 610, 198, 37009, 551, 2724, 3984, 15407, 320, 3222, 82, 8, 369, 420, 4441, 551, 610, 198, 21591, 8856, 551, 578, 12827, 477, 9434, 4729, 1405, 279, 4113, 828, 54068, 551, 20479, 9628, 43225, 98952, 2956, 5464, 44754, 88, 2117, 71424, 1289, 10199, 11, 61612, 5907, 75449, 48, 6204, 11, 791, 3700, 869, 4991, 635, 10199, 5907, 198, 8781, 551, 362, 2875, 3823, 34898, 4096, 315, 279, 10925, 6371, 13, 34067, 433, 374, 279, 198, 8355, 315, 459, 9434, 4729, 98648, 477, 279, 836, 315, 279, 1925, 3229, 13, 551, 610, 198, 3902, 23790, 2710, 551, 256, 551, 610, 198, 3902, 23790, 2710, 2858, 551, 256, 551, 610, 198, 3902, 23790, 3405, 851, 551, 578, 5016, 11, 26048, 1401, 89851, 24628, 551, 610, 198, 3902, 23790, 551, 578, 1925, 3229, 315, 279, 4441, 551, 2724, 198, 48105, 2710, 551, 256, 551, 610, 198, 48105, 2710, 2858, 551, 256, 551, 610, 198, 48105, 551, 2052, 12283, 320, 3902, 3229, 323, 1080, 34603, 1105, 8, 551, 7030, 198, 62712, 2710, 551, 256, 551, 610, 198, 62712, 2710, 2858, 551, 256, 551, 610, 198, 62712, 3405, 851, 551, 578, 5016, 11, 26048, 1401, 89851, 24628, 551, 610, 198, 62712, 551, 2052, 16483, 320, 3902, 3229, 11, 8298, 1080, 48105, 8, 551, 2724, 198, 18688, 21833, 551, 35680, 449, 3350, 2680, 39838, 1080, 3170, 5315, 570, 551, 610, 198, 1068, 388, 2710, 551, 256, 551, 610, 198, 1068, 388, 2710, 2858, 551, 256, 551, 610, 198, 1068, 388, 3405, 851, 551, 578, 5016, 11, 26048, 1401, 89851, 24628, 551, 610, 198, 1068, 388, 551, 2052, 22511, 320, 3902, 3229, 11, 8298, 1080, 48105, 11, 323, 60138, 8, 551, 2724, 198, 48722, 21833, 551, 35680, 449, 1373, 2680, 39838, 1080, 3170, 5315, 489, 56614, 5315, 570, 551, 610, 198, 66646, 25600, 851, 551, 578, 5016, 13110, 369, 420, 10550, 439, 264, 925, 13, 1102, 1288, 387, 198, 64, 27716, 8066, 24628, 11, 4528, 311, 1023, 9859, 329, 14483, 13, 551, 610, 198, 66646, 25600, 1292, 551, 578, 3823, 84318, 836, 315, 279, 10550, 439, 925, 13, 578, 10550, 836, 2011, 387, 198, 9782, 369, 279, 1217, 13, 551, 610, 198, 66646, 962, 6870, 551, 578, 10309, 12051, 3075, 35721, 320, 91092, 8, 5938, 449, 420, 10550, 627, 37412, 329, 649, 4254, 9503, 3957, 430, 2723, 1203, 311, 279, 20081, 13340, 315, 198, 1820, 10550, 304, 279, 9859, 329, 3774, 13, 1115, 12472, 10187, 279, 925, 13340, 315, 198, 576, 59670, 13, 2684, 374, 1193, 832, 824, 10550, 13, 578, 59670, 374, 1120, 279, 59670, 836, 11, 539, 1202, 198, 9054, 5665, 11, 384, 1326, 13, 330, 605, 13, 11123, 5332, 9809, 316, 329, 14, 679, 24, 13, 605, 13, 1682, 12, 16, 3343, 551, 610, 198, 66646, 25600, 8827, 3084, 551, 578, 2457, 994, 279, 10550, 574, 1176, 3549, 13, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 66646, 25600, 38849, 3084, 551, 578, 2457, 994, 279, 10550, 574, 1566, 11041, 13, 1556, 13234, 10550, 198, 4919, 1193, 387, 11838, 1306, 264, 59670, 574, 12893, 13, 362, 7362, 10550, 4250, 387, 5614, 198, 13486, 264, 59670, 574, 12893, 13, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 66646, 25600, 1857, 551, 578, 955, 11075, 422, 264, 10550, 374, 13234, 11, 602, 1770, 13, 574, 3549, 555, 198, 1820, 12283, 315, 279, 13282, 10925, 26, 477, 422, 264, 10550, 374, 7362, 345, 72, 1770, 13, 433, 574, 3549, 555, 4423, 539, 14647, 5552, 311, 279, 10925, 13, 551, 7362, 11, 18838, 198, 66646, 551, 362, 1160, 315, 1217, 58732, 30525, 420, 4441, 17623, 311, 13, 551, 611, 44241, 14, 845, 14, 2879, 85981, 14, 15, 198, 12482, 551, 578, 3769, 8198, 8106, 551, 294, 728, 11, 12116, 10337, 24590, 198, 77, 54446, 1385, 551, 5742, 315, 2322, 467, 831, 33776, 16051, 505, 279, 4441, 13, 551, 528, 198, 31548, 1385, 551, 2052, 33776, 430, 527, 1511, 555, 420, 4441, 13, 551, 610, 198, 31548, 1385, 3960, 551, 2052, 33776, 430, 527, 1511, 555, 420, 4441, 13, 551, 610, 198, 25686, 551, 2052, 14491, 430, 527, 3118, 304, 420, 4441, 13, 1115, 2115, 374, 32690, 323, 690, 387, 7108, 13, 551, 610, 198, 19680, 1037, 29377, 551, 35975, 315, 279, 2204, 5540, 3118, 304, 279, 6070, 13, 551, 6515, 11, 9219, 11, 2149, 11, 6219, 11, 7098, 11, 2170, 11, 1688, 15381, 84, 8324, 8324, 64, 11, 3513, 8324, 71, 8324, 72, 8324, 74, 11, 6971, 11541, 11541, 64, 11541, 67, 11541, 68, 11541, 69, 11, 5176, 11541, 76, 11541, 77, 11, 7489, 11541, 81, 11541, 82, 11541, 84, 11, 8153, 28365, 82, 28365, 88, 11, 20027, 11, 17812, 43225, 84, 28328, 11, 6251, 11, 3968, 28328, 76, 11, 23376, 38406, 64, 38406, 67, 11, 9688, 44639, 11, 1548, 44639, 69, 44639, 70, 44639, 78, 44639, 82, 38868, 11, 644, 38868, 81, 44754, 44754, 81, 11, 8921, 31214, 72, 31214, 81, 31214, 84, 31214, 85, 11, 26353, 28112, 67, 28112, 70, 28112, 77, 11, 26694, 28112, 83, 22812, 11, 16589, 22812, 65, 22812, 67, 11, 8989, 22812, 71, 22812, 72, 86176, 22812, 79, 75449, 75449, 70, 11, 29967, 28494, 11, 20908, 28494, 65, 28494, 67, 28494, 76, 28494, 78, 11, 3617, 28494, 83, 28494, 84, 24412, 64, 24412, 65, 11, 697, 24412, 69, 24412, 70, 24412, 71, 24412, 77, 24412, 84, 21861, 21861, 65, 11, 3407, 11, 1542, 21861, 70, 21861, 72, 11, 10902, 11, 21380, 21861, 81, 20594, 64, 20594, 65, 20594, 66, 11, 6777, 70980, 20594, 72, 20594, 75, 20594, 76, 20594, 82, 51581, 41054, 50640, 30341, 30341, 68, 30533, 30533, 65, 51932, 77, 51932, 81, 198, 19680, 1037, 23456, 91555, 551, 5742, 315, 2204, 5540, 304, 279, 6070, 439, 459, 7698, 13, 551, 528, 198, 19680, 1037, 29377, 71575, 3614, 551, 40502, 49892, 315, 2204, 5540, 304, 279, 6070, 13, 551, 2273, 198, 19680, 1037, 13, 32056, 64969, 16145, 41419, 551, 578, 11742, 15150, 369, 264, 6070, 439, 264, 925, 304, 264, 1376, 12146, 555, 279, 5446, 198, 14706, 13, 551, 610, 198, 19680, 1037, 13, 32056, 64969, 1311, 54478, 551, 578, 11293, 11742, 15150, 369, 264, 6070, 439, 264, 925, 449, 2449, 18210, 323, 198, 11924, 11742, 21801, 5219, 13, 578, 21801, 1396, 28832, 387, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 19680, 1037, 13, 32056, 64969, 1552, 484, 551, 578, 11742, 15150, 369, 264, 6070, 304, 8270, 1376, 449, 2449, 18210, 8272, 555, 198, 11924, 11742, 21801, 5219, 13, 578, 21801, 1396, 28832, 387, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 19680, 1037, 13, 32056, 64969, 12277, 9956, 551, 578, 22939, 15150, 374, 279, 11742, 64969, 1311, 54478, 11, 719, 1405, 279, 5540, 527, 198, 65937, 1176, 11713, 555, 872, 11742, 21801, 1396, 11, 323, 1243, 11, 304, 2015, 2163, 311, 198, 1315, 11, 12860, 555, 22939, 18210, 362, 11, 426, 11, 356, 11, 61453, 1901, 11, 362, 64, 11, 14659, 11, 61453, 65808, 11, 3765, 11, 426, 65, 11, 2564, 323, 198, 708, 389, 13, 551, 610, 198, 19680, 1037, 1276, 19862, 292, 60799, 551, 1556, 7698, 38938, 279, 1396, 315, 39445, 15696, 304, 279, 6070, 11, 13890, 198, 998, 279, 1396, 315, 2536, 38029, 10925, 304, 13167, 9962, 13, 551, 528, 198, 19680, 1037, 53428, 3695, 551, 1556, 7698, 38938, 279, 3160, 315, 279, 95481, 25521, 38319, 3424, 13, 551, 528, 198, 19680, 1037, 68436, 15314, 551, 362, 1160, 315, 9246, 430, 5292, 902, 3361, 4519, 527, 1511, 555, 279, 6070, 382, 12, 19823, 25, 1115, 5292, 28832, 387, 3118, 422, 904, 832, 4441, 304, 279, 9606, 1160, 706, 264, 198, 32056, 56852, 1160, 430, 374, 5129, 1109, 220, 16, 2449, 627, 12, 9987, 38319, 25, 1115, 5292, 28832, 387, 3118, 422, 520, 3325, 832, 3777, 315, 279, 198, 11707, 30321, 25521, 38319, 1160, 315, 11725, 706, 907, 854, 627, 12, 62407, 25, 1115, 5292, 28832, 387, 3118, 422, 279, 62407, 1160, 374, 3118, 13, 551, 62407, 11, 4338, 1382, 11, 16476, 38319, 198, 2879, 57635, 78940, 62, 37435, 1292, 551, 578, 15337, 836, 315, 279, 18641, 3857, 13, 551, 610, 198, 2879, 57635, 78940, 851, 551, 578, 7419, 887, 315, 279, 18641, 3857, 13, 551, 610, 198, 2879, 57635, 84302, 33971, 398, 551, 1442, 279, 18641, 3857, 374, 6089, 1511, 439, 2385, 3857, 13, 551, 1845, 198, 4177, 93802, 6676, 26508, 551, 578, 2539, 2576, 1093, 5905, 315, 279, 279, 2218, 13, 551, 610, 198, 4177, 93802, 6676, 9255, 851, 551, 578, 887, 315, 279, 4441, 8649, 279, 2218, 13, 551, 610, 198, 4177, 93802, 6676, 11273, 1213, 551, 578, 1925, 1213, 315, 279, 4441, 8649, 279, 2218, 13, 551, 610, 198, 4177, 93802, 6676, 22433, 851, 551, 578, 887, 315, 279, 8298, 8649, 279, 2218, 13, 551, 610, 198, 4177, 93802, 6676, 1292, 551, 578, 836, 315, 279, 2218, 12472, 14, 2879, 13, 551, 610, 198, 4177, 93802, 6676, 2703, 551, 578, 1853, 315, 279, 2218, 12472, 14, 2879, 304, 1202, 18624, 13, 551, 610, 198, 4177, 93802, 15040, 1292, 551, 578, 836, 315, 279, 2592, 320, 726, 8, 12472, 14, 2879, 304, 1202, 18624, 13, 551, 610, 198, 4177, 93802, 15040, 2703, 551, 578, 1853, 315, 279, 2592, 320, 726, 8, 12472, 14, 2879, 304, 1202, 18624, 13, 551, 610, 198, 4177, 93802, 15040, 33197, 551, 362, 5905, 311, 279, 12472, 7419, 430, 19170, 279, 5905, 551, 610, 198, 1874, 54446, 1385, 1801, 551, 578, 2539, 13110, 369, 420, 12472, 430, 5727, 279, 1853, 304, 279, 11036, 3694, 17801, 836, 13, 551, 610, 198, 1874, 54446, 1385, 78940, 551, 362, 5905, 311, 279, 12472, 7419, 13, 551, 610, 198, 1874, 54446, 1385, 3960, 43973, 551, 8092, 315, 279, 907, 2949, 279, 18624, 13, 551, 610, 198, 1874, 54446, 1385, 29891, 3220, 551, 578, 907, 24784, 439, 459, 19844, 2777, 2115, 13, 551, 1845, 198, 1874, 54446, 1385, 9720, 3220, 551, 578, 907, 24784, 439, 459, 19844, 1495, 323, 16570, 2115, 13, 551, 610, 198, 1874, 54446, 1385, 9720, 3220, 75011, 551, 578, 907, 24784, 439, 459, 19844, 1495, 323, 16570, 2115, 13, 551, 610, 198, 1874, 54446, 1385, 6537, 3220, 551, 578, 907, 24784, 439, 459, 19844, 1317, 1396, 2115, 13, 551, 528, 198, 1874, 54446, 1385, 16304, 3220, 551, 578, 907, 24784, 439, 459, 19844, 2033, 1396, 2115, 13, 551, 2273, 198, 1874, 54446, 1385, 20296, 3220, 551, 578, 907, 24784, 439, 459, 19844, 2457, 2115, 13, 551, 9859, 329, 41748, 467, 831, 2245, 1857, 920, 28762, 198, 8234, 24585, 24585, 851, 551, 362, 8521, 3160, 11, 5016, 3769, 13110, 304, 279, 1376, 315, 264, 5286, 198, 37439, 13, 551, 610, 198, 8234, 24585, 24585, 1292, 551, 49203, 1285, 5144, 369, 420, 264, 3769, 422, 904, 649, 387, 12893, 13, 551, 610, 198, 8234, 24585, 73318, 4269, 1857, 551, 73800, 538, 11075, 505, 279, 25524, 6070, 13, 551, 220, 16, 35, 11, 17, 35, 11, 22612, 8568, 22537, 13387, 55269, 611, 10879, 11, 1962, 15590, 10900, 10730, 11, 359, 10547, 198, 8234, 24585, 77143, 2786, 551, 29023, 2786, 315, 279, 1887, 13, 1789, 19670, 4633, 6067, 420, 374, 198, 28172, 7167, 26126, 555, 1701, 279, 45982, 62987, 287, 12384, 512, 2485, 1129, 48886, 2726, 14, 605, 13, 5120, 18, 14, 67171, 37284, 43, 7211, 13, 8899, 13, 7461, 4645, 382, 91, 5273, 765, 7817, 9432, 91, 81922, 765, 14730, 21622, 9432, 91, 74011, 15, 35, 6, 63, 765, 2876, 8599, 48582, 9432, 91, 74011, 16, 35, 6, 63, 765, 26572, 2740, 8599, 304, 832, 13167, 9432, 91, 74011, 17, 35, 6, 63, 765, 26572, 2740, 8599, 304, 1403, 15696, 9432, 91, 74011, 18, 35, 6, 63, 765, 26572, 2740, 8599, 304, 2380, 15696, 765, 551, 220, 15, 35, 11, 16, 35, 11, 17, 35, 11, 18, 35, 198, 8234, 24585, 13542, 287, 7258, 551, 4497, 4839, 24790, 369, 420, 1887, 11, 602, 1770, 13, 279, 955, 315, 330, 24177, 198, 4677, 1, 433, 11105, 382, 91, 5273, 765, 7817, 9432, 91, 81922, 765, 14730, 21622, 9432, 91, 74011, 40846, 6, 63, 765, 29696, 5918, 505, 264, 5089, 2849, 430, 44694, 48582, 304, 1403, 18445, 323, 520, 3325, 11157, 11, 719, 539, 72600, 304, 264, 4948, 5216, 13, 9432, 91, 74011, 17, 35, 3769, 6, 63, 765, 29696, 5918, 505, 264, 5089, 2849, 430, 44694, 48582, 304, 1403, 18445, 323, 1193, 3131, 304, 264, 4948, 5216, 13, 9432, 91, 74011, 76, 55269, 6, 63, 765, 386, 55269, 4613, 304, 279, 5457, 19677, 45982, 9432, 91, 74011, 1677, 26429, 6, 63, 765, 3206, 26429, 4613, 304, 279, 5457, 19677, 45982, 765, 551, 220, 17, 35, 3769, 13387, 55269, 11, 1677, 26429, 10900, 10730, 198, 8234, 24585, 64361, 1857, 551, 55982, 3196, 389, 279, 16003, 6012, 13, 551, 610, 198, 8234, 24585, 40802, 801, 1857, 551, 55982, 3196, 389, 279, 11742, 15150, 13, 551, 610, 198, 8234, 24585, 29377, 551, 35975, 315, 279, 2204, 5540, 3118, 304, 279, 6070, 13, 551, 6515, 11, 9219, 11, 2149, 11, 6219, 11, 7098, 11, 2170, 11, 1688, 15381, 84, 8324, 8324, 64, 11, 3513, 8324, 71, 8324, 72, 8324, 74, 11, 6971, 11541, 11541, 64, 11541, 67, 11541, 68, 11541, 69, 11, 5176, 11541, 76, 11541, 77, 11, 7489, 11541, 81, 11541, 82, 11541, 84, 11, 8153, 28365, 82, 28365, 88, 11, 20027, 11, 17812, 43225, 84, 28328, 11, 6251, 11, 3968, 28328, 76, 11, 23376, 38406, 64, 38406, 67, 11, 9688, 44639, 11, 1548, 44639, 69, 44639, 70, 44639, 78, 44639, 82, 38868, 11, 644, 38868, 81, 44754, 44754, 81, 11, 8921, 31214, 72, 31214, 81, 31214, 84, 31214, 85, 11, 26353, 28112, 67, 28112, 70, 28112, 77, 11, 26694, 28112, 83, 22812, 11, 16589, 22812, 65, 22812, 67, 11, 8989, 22812, 71, 22812, 72, 86176, 22812, 79, 75449, 75449, 70, 11, 29967, 28494, 11, 20908, 28494, 65, 28494, 67, 28494, 76, 28494, 78, 11, 3617, 28494, 83, 28494, 84, 24412, 64, 24412, 65, 11, 697, 24412, 69, 24412, 70, 24412, 71, 24412, 77, 24412, 84, 21861, 21861, 65, 11, 3407, 11, 1542, 21861, 70, 21861, 72, 11, 10902, 11, 21380, 21861, 81, 20594, 64, 20594, 65, 20594, 66, 11, 6777, 70980, 20594, 72, 20594, 75, 20594, 76, 20594, 82, 51581, 41054, 50640, 30341, 30341, 68, 30533, 30533, 65, 51932, 77, 51932, 81, 198, 8234, 24585, 1276, 23646, 551, 5742, 315, 2204, 5540, 304, 279, 6070, 439, 459, 7698, 13, 551, 528, 198, 8234, 24585, 29377, 2769, 8500, 551, 935, 8649, 279, 11742, 5540, 304, 84398, 2015, 323, 198, 325, 50700, 555, 264, 3254, 37472, 13, 1115, 12472, 649, 387, 1511, 369, 198, 90222, 2449, 27573, 1405, 499, 1390, 311, 1505, 10925, 15175, 82, 198, 4291, 1193, 3738, 2728, 5540, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 16145, 41419, 551, 578, 11742, 15150, 369, 264, 6070, 439, 264, 925, 304, 264, 1376, 12146, 555, 279, 5446, 198, 14706, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 1311, 54478, 551, 63897, 2740, 10839, 11742, 15150, 449, 11293, 7698, 11742, 198, 782, 15750, 5219, 13, 578, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 1552, 484, 551, 578, 11742, 15150, 369, 264, 6070, 304, 8270, 1376, 449, 2449, 198, 68526, 8272, 555, 2536, 5621, 54478, 7698, 11742, 21801, 5219, 627, 791, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 5431, 455, 582, 551, 31922, 1405, 279, 5540, 527, 11713, 1701, 264, 16287, 1160, 63557, 198, 31039, 389, 43906, 606, 70, 44515, 439, 4613, 304, 279, 358, 3202, 1741, 308, 89947, 1598, 315, 198, 258, 61694, 30903, 320, 1049, 20, 570, 31911, 11293, 7698, 11742, 198, 782, 15750, 5219, 1405, 279, 21801, 1396, 374, 40542, 422, 433, 374, 198, 16, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 12277, 9956, 551, 31922, 449, 279, 5540, 11713, 555, 872, 11293, 7698, 11742, 198, 782, 15750, 1396, 11, 323, 279, 11742, 9606, 12860, 555, 198, 90553, 2740, 11713, 12197, 13, 578, 21801, 1396, 374, 40542, 422, 198, 275, 374, 220, 16, 13, 469, 1326, 13, 220, 473, 17, 46, 9221, 362, 17, 33, 323, 473, 17, 46, 17, 9221, 14469, 13, 578, 12197, 527, 198, 7788, 77, 505, 279, 30063, 28890, 430, 1253, 387, 11838, 555, 7859, 198, 1820, 1396, 315, 12197, 11, 384, 1326, 13, 362, 11, 426, 11, 61453, 1901, 11, 362, 64, 11, 3765, 323, 779, 389, 13, 1115, 198, 18881, 374, 304, 1584, 449, 279, 30293, 7086, 41134, 1829, 33941, 7419, 13, 551, 610, 198, 8234, 24585, 13, 32056, 64969, 1311, 54478, 766, 43056, 551, 63897, 2740, 10839, 11742, 15150, 449, 11293, 7698, 11742, 198, 782, 15750, 5219, 13, 578, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 12613, 278, 3038, 3571, 12613, 551, 578, 7891, 315, 279, 2449, 11, 384, 1326, 13, 364, 47, 65, 4527, 551, 6515, 11, 9219, 11, 2149, 11, 6219, 11, 7098, 11, 2170, 11, 1688, 15381, 84, 8324, 8324, 64, 11, 3513, 8324, 71, 8324, 72, 8324, 74, 11, 6971, 11541, 11541, 64, 11541, 67, 11541, 68, 11541, 69, 11, 5176, 11541, 76, 11541, 77, 11, 7489, 11541, 81, 11541, 82, 11541, 84, 11, 8153, 28365, 82, 28365, 88, 11, 20027, 11, 17812, 43225, 84, 28328, 11, 6251, 11, 3968, 28328, 76, 11, 23376, 38406, 64, 38406, 67, 11, 9688, 44639, 11, 1548, 44639, 69, 44639, 70, 44639, 78, 44639, 82, 38868, 11, 644, 38868, 81, 44754, 44754, 81, 11, 8921, 31214, 72, 31214, 81, 31214, 84, 31214, 85, 11, 26353, 28112, 67, 28112, 70, 28112, 77, 11, 26694, 28112, 83, 22812, 11, 16589, 22812, 65, 22812, 67, 11, 8989, 22812, 71, 22812, 72, 86176, 22812, 79, 75449, 75449, 70, 11, 29967, 28494, 11, 20908, 28494, 65, 28494, 67, 28494, 76, 28494, 78, 11, 3617, 28494, 83, 28494, 84, 24412, 64, 24412, 65, 11, 697, 24412, 69, 24412, 70, 24412, 71, 24412, 77, 24412, 84, 21861, 21861, 65, 11, 3407, 11, 1542, 21861, 70, 21861, 72, 11, 10902, 11, 21380, 21861, 81, 20594, 64, 20594, 65, 20594, 66, 11, 6777, 70980, 20594, 72, 20594, 75, 20594, 76, 20594, 82, 51581, 41054, 50640, 30341, 68, 30533, 30533, 65, 51932, 77, 51932, 81, 198, 8234, 24585, 12613, 278, 3038, 3571, 69382, 60123, 551, 578, 25524, 19983, 315, 279, 2449, 304, 279, 1887, 433, 374, 13282, 2949, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 12613, 278, 3038, 3571, 68471, 60123, 551, 578, 3148, 19983, 315, 279, 2449, 304, 279, 1887, 433, 374, 13282, 2949, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 52001, 33342, 21610, 402, 2852, 918, 32891, 551, 35721, 369, 279, 3320, 402, 2852, 55372, 304, 59642, 45297, 13, 578, 1176, 43147, 6661, 198, 1748, 9803, 279, 26110, 3070, 323, 649, 387, 832, 315, 279, 2768, 25, 264, 320, 376, 292, 3817, 292, 705, 293, 198, 65618, 511, 3817, 292, 705, 297, 320, 2419, 269, 71, 2925, 292, 705, 259, 320, 73542, 4193, 25180, 705, 305, 320, 17757, 24346, 8, 477, 272, 320, 66, 42281, 570, 578, 198, 5686, 40582, 6661, 36611, 279, 2960, 12928, 323, 649, 387, 832, 315, 279, 2768, 25, 393, 198, 26022, 13968, 705, 328, 320, 1594, 2960, 1171, 705, 358, 320, 2664, 2960, 1171, 705, 432, 320, 81, 35940, 754, 71, 36620, 2960, 12928, 8, 477, 435, 198, 21013, 12580, 2960, 1171, 570, 551, 264, 47, 10317, 37, 10317, 40, 10317, 47, 20393, 47, 20393, 49, 13387, 47, 13387, 50, 50318, 37, 50318, 40, 50318, 47, 50318, 50, 14287, 40, 14287, 47, 198, 8234, 24585, 52001, 33342, 42664, 14272, 18155, 551, 4076, 315, 279, 26110, 1887, 13, 551, 41999, 11, 17757, 24346, 11, 1677, 511, 3817, 292, 11, 2419, 269, 71, 2925, 292, 14287, 295, 4193, 25180, 67554, 292, 3817, 292, 67554, 343, 25180, 198, 8234, 24585, 52001, 33342, 870, 543, 5617, 551, 578, 11166, 1396, 369, 420, 1887, 13, 551, 528, 843, 198, 8234, 24585, 52001, 33342, 870, 543, 21868, 551, 578, 11166, 7891, 369, 420, 1887, 13, 551, 610, 198, 8234, 24585, 52001, 33342, 24112, 6422, 551, 20185, 315, 279, 26110, 848, 79173, 1486, 1912, 304, 279, 32565, 1036, 5364, 19729, 75721, 45297, 13, 551, 610, 198, 8234, 24585, 52001, 33342, 36983, 6422, 5617, 551, 46080, 279, 7327, 9323, 315, 29016, 848, 1976, 88, 320, 40, 5576, 8, 1396, 315, 279, 220, 18, 35, 3634, 198, 4166, 315, 420, 1887, 13, 551, 528, 843, 198, 8234, 24585, 52001, 33342, 36983, 6422, 21868, 551, 578, 7327, 9323, 315, 29016, 848, 1976, 88, 320, 40, 5576, 8, 2875, 7891, 315, 279, 220, 18, 35, 198, 8920, 1912, 315, 420, 1887, 13, 551, 610, 198, 8234, 24585, 52001, 33342, 6131, 64969, 551, 578, 15150, 315, 279, 1760, 88167, 3769, 369, 420, 6070, 13, 551, 610, 198, 8234, 24585, 52001, 33342, 6131, 4404, 5072, 851, 551, 578, 13110, 315, 420, 6070, 304, 279, 20479, 9628, 83708, 315, 198, 5192, 14272, 848, 79173, 47728, 512, 1277, 1129, 2185, 5973, 5072, 2808, 2726, 14, 46754, 12, 2301, 66, 43473, 9199, 2628, 551, 610, 198, 8234, 24585, 52001, 33342, 68436, 1292, 551, 362, 4279, 836, 369, 420, 6070, 11, 384, 1326, 13, 282, 641, 11, 293, 641, 13, 551, 220, 19, 44650, 10264, 11, 1548, 355, 1565, 8568, 641, 8568, 302, 8568, 302, 20, 11, 566, 589, 7853, 10317, 455, 1269, 12260, 18986, 17514, 641, 17514, 302, 20393, 3181, 12, 1548, 355, 1565, 20393, 4777, 11, 716, 869, 4991, 635, 11, 21161, 12290, 16262, 332, 458, 10900, 6592, 41999, 25576, 5757, 89, 635, 23500, 2910, 2067, 11178, 198, 8234, 24585, 52001, 33342, 9720, 86056, 655, 4970, 50903, 367, 551, 55982, 315, 279, 3769, 4184, 311, 279, 35901, 15042, 198, 596, 376, 86056, 655, 4970, 4527, 551, 610, 198, 8234, 24585, 8947, 2508, 16315, 851, 551, 3011, 1853, 315, 420, 3857, 2949, 279, 2322, 467, 831, 430, 374, 1511, 439, 264, 5016, 198, 16288, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 2981, 551, 3959, 41419, 2440, 430, 36611, 420, 24693, 961, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13204, 551, 578, 1749, 1511, 369, 25607, 420, 1887, 13, 551, 5634, 307, 11, 9854, 11, 4406, 22828, 46061, 198, 8234, 24585, 8947, 2508, 13480, 551, 362, 2875, 4096, 922, 420, 961, 315, 279, 45982, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 24585, 851, 551, 362, 8521, 3160, 11, 5016, 3769, 13110, 304, 279, 1376, 315, 264, 5286, 198, 37439, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 24585, 1292, 551, 49203, 1285, 5144, 369, 420, 264, 3769, 422, 904, 649, 387, 12893, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 73318, 4269, 1857, 551, 73800, 538, 11075, 505, 279, 25524, 6070, 13, 551, 220, 16, 35, 11, 17, 35, 11, 3104, 27605, 1147, 11, 22612, 8568, 22537, 11, 4166, 13387, 55269, 13387, 55269, 611, 10879, 11, 1677, 26429, 11, 1962, 15590, 10900, 10730, 11, 359, 10547, 198, 8234, 24585, 8947, 2508, 77143, 2786, 551, 29023, 2786, 315, 279, 1887, 13, 1789, 19670, 4633, 6067, 420, 374, 198, 28172, 7167, 26126, 555, 1701, 279, 45982, 62987, 287, 12384, 512, 2485, 1129, 48886, 2726, 14, 605, 13, 5120, 18, 14, 67171, 37284, 43, 7211, 13, 8899, 13, 7461, 4645, 382, 91, 5273, 765, 7817, 9432, 91, 81922, 765, 14730, 21622, 9432, 91, 74011, 15, 35, 6, 63, 765, 2876, 8599, 48582, 9432, 91, 74011, 16, 35, 6, 63, 765, 26572, 2740, 8599, 304, 832, 13167, 9432, 91, 74011, 17, 35, 6, 63, 765, 26572, 2740, 8599, 304, 1403, 15696, 9432, 91, 74011, 18, 35, 6, 63, 765, 26572, 2740, 8599, 304, 2380, 15696, 765, 551, 220, 15, 35, 11, 16, 35, 11, 17, 35, 11, 18, 35, 198, 8234, 24585, 8947, 2508, 13542, 287, 7258, 551, 4497, 4839, 24790, 369, 420, 1887, 11, 602, 1770, 13, 279, 955, 315, 330, 24177, 198, 4677, 1, 433, 11105, 382, 91, 5273, 765, 7817, 9432, 91, 81922, 765, 14730, 21622, 9432, 91, 74011, 40846, 6, 63, 765, 29696, 5918, 505, 264, 5089, 2849, 430, 44694, 48582, 304, 1403, 18445, 323, 520, 3325, 11157, 11, 719, 539, 72600, 304, 264, 4948, 5216, 13, 9432, 91, 74011, 17, 35, 3769, 6, 63, 765, 29696, 5918, 505, 264, 5089, 2849, 430, 44694, 48582, 304, 1403, 18445, 323, 1193, 3131, 304, 264, 4948, 5216, 13, 9432, 91, 74011, 76, 55269, 6, 63, 765, 386, 55269, 4613, 304, 279, 5457, 19677, 45982, 9432, 91, 74011, 1677, 26429, 6, 63, 765, 3206, 26429, 4613, 304, 279, 5457, 19677, 45982, 765, 551, 220, 17, 35, 3769, 13387, 55269, 11, 1677, 26429, 10900, 10730, 198, 8234, 24585, 8947, 2508, 64361, 1857, 551, 55982, 3196, 389, 279, 16003, 6012, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 40802, 801, 1857, 551, 55982, 3196, 389, 279, 11742, 15150, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 29377, 551, 35975, 315, 279, 2204, 5540, 3118, 304, 279, 6070, 13, 551, 6515, 11, 9219, 11, 2149, 11, 6219, 11, 7098, 11, 2170, 11, 1688, 15381, 84, 8324, 8324, 64, 11, 3513, 8324, 71, 8324, 72, 8324, 74, 11, 6971, 11541, 11541, 64, 11541, 67, 11541, 68, 11541, 69, 11, 5176, 11541, 76, 11541, 77, 11, 7489, 11541, 81, 11541, 82, 11541, 84, 11, 8153, 28365, 82, 28365, 88, 11, 20027, 11, 17812, 43225, 84, 28328, 11, 6251, 11, 3968, 28328, 76, 11, 23376, 38406, 64, 38406, 67, 11, 9688, 44639, 11, 1548, 44639, 69, 44639, 70, 44639, 78, 44639, 82, 38868, 11, 644, 38868, 81, 44754, 44754, 81, 11, 8921, 31214, 72, 31214, 81, 31214, 84, 31214, 85, 11, 26353, 28112, 67, 28112, 70, 28112, 77, 11, 26694, 28112, 83, 22812, 11, 16589, 22812, 65, 22812, 67, 11, 8989, 22812, 71, 22812, 72, 86176, 22812, 79, 75449, 75449, 70, 11, 29967, 28494, 11, 20908, 28494, 65, 28494, 67, 28494, 76, 28494, 78, 11, 3617, 28494, 83, 28494, 84, 24412, 64, 24412, 65, 11, 697, 24412, 69, 24412, 70, 24412, 71, 24412, 77, 24412, 84, 21861, 21861, 65, 11, 3407, 11, 1542, 21861, 70, 21861, 72, 11, 10902, 11, 21380, 21861, 81, 20594, 64, 20594, 65, 20594, 66, 11, 6777, 70980, 20594, 72, 20594, 75, 20594, 76, 20594, 82, 51581, 41054, 50640, 30341, 30341, 68, 30533, 30533, 65, 51932, 77, 51932, 81, 198, 8234, 24585, 8947, 2508, 1276, 23646, 551, 5742, 315, 2204, 5540, 304, 279, 6070, 439, 459, 7698, 13, 551, 528, 198, 8234, 24585, 8947, 2508, 29377, 2769, 8500, 551, 935, 8649, 279, 11742, 5540, 304, 84398, 2015, 323, 198, 325, 50700, 555, 264, 3254, 37472, 13, 1115, 12472, 649, 387, 1511, 369, 198, 90222, 2449, 27573, 1405, 499, 1390, 311, 1505, 10925, 15175, 82, 198, 4291, 1193, 3738, 2728, 5540, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 16145, 41419, 551, 578, 11742, 15150, 369, 264, 6070, 439, 264, 925, 304, 264, 1376, 12146, 555, 279, 5446, 198, 14706, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 1311, 54478, 551, 63897, 2740, 10839, 11742, 15150, 449, 11293, 7698, 11742, 198, 782, 15750, 5219, 13, 578, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 1552, 484, 551, 578, 11742, 15150, 369, 264, 6070, 304, 8270, 1376, 449, 2449, 198, 68526, 8272, 555, 2536, 5621, 54478, 7698, 11742, 21801, 5219, 627, 791, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 5431, 455, 582, 551, 31922, 1405, 279, 5540, 527, 11713, 1701, 264, 16287, 1160, 63557, 198, 31039, 389, 43906, 606, 70, 44515, 439, 4613, 304, 279, 358, 3202, 1741, 308, 89947, 1598, 315, 198, 258, 61694, 30903, 320, 1049, 20, 570, 31911, 11293, 7698, 11742, 198, 782, 15750, 5219, 1405, 279, 21801, 1396, 374, 40542, 422, 433, 374, 198, 16, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 12277, 9956, 551, 31922, 449, 279, 5540, 11713, 555, 872, 11293, 7698, 11742, 198, 782, 15750, 1396, 11, 323, 279, 11742, 9606, 12860, 555, 198, 90553, 2740, 11713, 12197, 13, 578, 21801, 1396, 374, 40542, 422, 198, 275, 374, 220, 16, 13, 469, 1326, 13, 220, 473, 17, 46, 9221, 362, 17, 33, 323, 473, 17, 46, 17, 9221, 14469, 13, 578, 12197, 527, 198, 7788, 77, 505, 279, 30063, 28890, 430, 1253, 387, 11838, 555, 7859, 198, 1820, 1396, 315, 12197, 11, 384, 1326, 13, 362, 11, 426, 11, 61453, 1901, 11, 362, 64, 11, 3765, 323, 779, 389, 13, 1115, 198, 18881, 374, 304, 1584, 449, 279, 30293, 7086, 41134, 1829, 33941, 7419, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13, 32056, 64969, 1311, 54478, 766, 43056, 551, 63897, 2740, 10839, 11742, 15150, 449, 11293, 7698, 11742, 198, 782, 15750, 5219, 13, 578, 21801, 1396, 374, 40542, 422, 433, 374, 220, 16, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 8829, 18155, 551, 17650, 311, 279, 2748, 1887, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 17990, 18155, 82, 551, 45178, 311, 279, 1716, 6067, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 69382, 60123, 551, 578, 25524, 19983, 315, 420, 1887, 304, 279, 2539, 6070, 433, 374, 13282, 304, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 68471, 60123, 551, 578, 3148, 19983, 315, 420, 1887, 304, 279, 2539, 6070, 433, 374, 13282, 2949, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 1276, 68855, 551, 578, 2860, 1396, 315, 9606, 320, 66650, 11, 19252, 8, 304, 279, 1887, 13, 551, 528, 198, 8234, 24585, 8947, 2508, 516, 20218, 1857, 551, 578, 1948, 5848, 13340, 315, 279, 9501, 14580, 4857, 8316, 320, 82, 10551, 4390, 791, 6211, 315, 1455, 9501, 8057, 355, 527, 1664, 4613, 323, 1376, 279, 8197, 315, 1455, 198, 5526, 11672, 49400, 13, 578, 1455, 4279, 3187, 374, 279, 40403, 39690, 11, 21236, 4908, 296, 37181, 345, 98382, 37181, 11, 577, 822, 2287, 551, 610, 198, 8234, 24585, 8947, 2508, 929, 33481, 669, 11980, 821, 37144, 551, 578, 7928, 56429, 23899, 374, 279, 7928, 26436, 430, 649, 387, 22306, 304, 264, 94761, 198, 9125, 2085, 50917, 449, 904, 315, 279, 33299, 304, 279, 1887, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 558, 461, 15106, 287, 821, 37144, 551, 578, 97551, 33994, 23899, 374, 279, 7928, 26436, 430, 649, 26662, 198, 13798, 817, 1555, 279, 94761, 4009, 2085, 50917, 449, 904, 315, 279, 198, 66650, 304, 279, 1887, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 929, 33481, 1265, 10391, 88073, 8584, 647, 9082, 88073, 2703, 551, 578, 7928, 5343, 26436, 3235, 1949, 26436, 1853, 374, 198, 27995, 478, 26436, 430, 649, 387, 22306, 304, 279, 97551, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 22757, 1260, 32130, 15380, 551, 578, 7479, 3158, 15987, 374, 279, 3158, 430, 374, 15987, 311, 8810, 35715, 198, 258, 264, 94761, 1887, 13, 1102, 374, 8965, 6646, 311, 387, 279, 4553, 7479, 3158, 198, 9210, 649, 387, 9575, 19212, 555, 264, 22477, 315, 264, 3230, 10801, 13, 763, 98811, 1846, 11, 555, 1670, 584, 1005, 198, 64, 22477, 430, 706, 264, 10801, 315, 220, 16, 13, 4218, 7568, 35155, 11, 902, 8024, 311, 279, 198, 1030, 838, 306, 12164, 72, 315, 47503, 6962, 13, 1789, 39538, 43943, 1887, 11, 264, 12164, 72, 315, 198, 16, 13, 19, 7568, 35155, 649, 387, 1511, 11, 902, 8024, 311, 279, 1080, 838, 306, 12164, 72, 198, 1073, 3090, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 17, 198, 8234, 24585, 8947, 2508, 22757, 1260, 28039, 551, 20880, 315, 653, 41456, 3634, 304, 264, 1887, 430, 649, 387, 15987, 311, 198, 31277, 35715, 11, 1093, 2092, 48764, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 198, 8234, 24585, 8947, 2508, 13, 1019, 60123, 551, 51848, 315, 279, 279, 8286, 315, 279, 653, 41456, 3634, 304, 279, 1887, 198, 998, 279, 8286, 315, 279, 4553, 1887, 13, 1102, 374, 264, 1695, 13594, 311, 198, 67, 25296, 1268, 94761, 264, 1887, 374, 13, 53485, 94761, 6067, 198, 61917, 617, 264, 8294, 742, 19983, 11, 37318, 17251, 477, 29050, 198, 46654, 617, 9333, 742, 65995, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 1276, 19848, 551, 5742, 315, 12006, 3118, 304, 279, 94761, 1887, 11, 902, 8024, 311, 279, 1396, 315, 198, 79, 4692, 2949, 279, 1887, 13, 551, 528, 198, 8234, 24585, 8947, 2508, 516, 20218, 31196, 2617, 5617, 551, 578, 1396, 315, 21583, 1486, 304, 279, 14580, 4857, 8316, 1161, 20218, 705, 902, 34310, 311, 198, 1820, 311, 279, 1396, 315, 1486, 315, 9070, 304, 279, 14580, 4857, 5089, 13, 4427, 4279, 198, 23827, 2508, 2997, 198, 16, 551, 78316, 25847, 198, 17, 551, 22011, 25847, 198, 18, 551, 490, 275, 25847, 198, 19, 551, 259, 17820, 266, 25847, 198, 20, 551, 20801, 266, 25847, 551, 528, 198, 8234, 24585, 8947, 2508, 12613, 278, 3038, 3571, 12613, 551, 578, 7891, 315, 279, 2449, 11, 384, 1326, 13, 364, 47, 65, 4527, 551, 6515, 11, 9219, 11, 2149, 11, 6219, 11, 7098, 11, 2170, 11, 1688, 15381, 84, 8324, 8324, 64, 11, 3513, 8324, 71, 8324, 72, 8324, 74, 11, 6971, 11541, 11541, 64, 11541, 67, 11541, 68, 11541, 69, 11, 5176, 11541, 76, 11541, 77, 11, 7489, 11541, 81, 11541, 82, 11541, 84, 11, 8153, 28365, 82, 28365, 88, 11, 20027, 11, 17812, 43225, 84, 28328, 11, 6251, 11, 3968, 28328, 76, 11, 23376, 38406, 64, 38406, 67, 11, 9688, 44639, 11, 1548, 44639, 69, 44639, 70, 44639, 78, 44639, 82, 38868, 11, 644, 38868, 81, 44754, 44754, 81, 11, 8921, 31214, 72, 31214, 81, 31214, 84, 31214, 85, 11, 26353, 28112, 67, 28112, 70, 28112, 77, 11, 26694, 28112, 83, 22812, 11, 16589, 22812, 65, 22812, 67, 11, 8989, 22812, 71, 22812, 72, 86176, 22812, 79, 75449, 75449, 70, 11, 29967, 28494, 11, 20908, 28494, 65, 28494, 67, 28494, 76, 28494, 78, 11, 3617, 28494, 83, 28494, 84, 24412, 64, 24412, 65, 11, 697, 24412, 69, 24412, 70, 24412, 71, 24412, 77, 24412, 84, 21861, 21861, 65, 11, 3407, 11, 1542, 21861, 70, 21861, 72, 11, 10902, 11, 21380, 21861, 81, 20594, 64, 20594, 65, 20594, 66, 11, 6777, 70980, 20594, 72, 20594, 75, 20594, 76, 20594, 82, 51581, 41054, 50640, 30341, 68, 30533, 30533, 65, 51932, 77, 51932, 81, 198, 8234, 24585, 8947, 2508, 12613, 278, 3038, 3571, 69382, 60123, 551, 578, 25524, 19983, 315, 279, 2449, 304, 279, 1887, 433, 374, 13282, 2949, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 12613, 278, 3038, 3571, 68471, 60123, 551, 578, 3148, 19983, 315, 279, 2449, 304, 279, 1887, 433, 374, 13282, 2949, 627, 3976, 7419, 264, 6928, 907, 2753, 1109, 477, 6273, 311, 220, 16, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 16315, 48084, 4957, 551, 578, 955, 315, 12976, 1990, 264, 1887, 323, 433, 596, 2748, 382, 91, 5273, 765, 7817, 9432, 91, 81922, 765, 14730, 21622, 9432, 91, 74011, 2959, 6, 63, 765, 744, 14393, 279, 4553, 6070, 11, 706, 912, 2748, 1887, 13, 9432, 91, 74011, 2008, 9125, 6, 63, 765, 362, 3254, 20406, 5502, 28532, 505, 279, 2748, 1887, 13, 9432, 91, 74011, 4166, 6, 63, 765, 362, 20406, 1912, 315, 53885, 82, 2949, 279, 2748, 11, 384, 1326, 13, 264, 1912, 315, 35715, 304, 14306, 13, 9432, 91, 74011, 74548, 17061, 6, 63, 765, 578, 21349, 2849, 505, 902, 279, 2748, 374, 20968, 505, 13, 9432, 91, 74011, 444, 44322, 17061, 6, 63, 765, 578, 28694, 2849, 505, 902, 279, 2748, 374, 20968, 505, 13, 765, 551, 21349, 17061, 11, 4166, 11, 74548, 17061, 11, 2959, 11, 2008, 9125, 198, 8234, 24585, 8947, 2508, 25606, 5973, 551, 17736, 315, 279, 1176, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 25606, 960, 551, 17736, 315, 279, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 25606, 522, 551, 17736, 315, 279, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 24585, 8947, 2508, 25606, 24879, 551, 37337, 1990, 2132, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 24585, 8947, 2508, 25606, 63029, 551, 37337, 1990, 1176, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 24585, 8947, 2508, 25606, 74401, 551, 37337, 1990, 1176, 323, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 24585, 8947, 2508, 25606, 41584, 551, 20880, 315, 279, 2849, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 198, 8234, 24585, 8947, 2508, 25606, 69382, 54449, 551, 31416, 17915, 315, 279, 3769, 320, 66650, 5574, 4765, 50522, 551, 2273, 1227, 551, 220, 16, 611, 23819, 3146, 220, 18, 198, 8234, 24585, 8947, 2508, 25606, 68471, 54449, 551, 9346, 17915, 315, 279, 3769, 13, 551, 2273, 1227, 551, 15395, 13255, 611, 23819, 3146, 220, 18, 198, 8234, 24585, 8947, 2508, 52001, 33342, 21610, 402, 2852, 918, 32891, 551, 35721, 369, 279, 3320, 402, 2852, 55372, 304, 59642, 45297, 13, 578, 1176, 43147, 6661, 198, 1748, 9803, 279, 26110, 3070, 323, 649, 387, 832, 315, 279, 2768, 25, 264, 320, 376, 292, 3817, 292, 705, 293, 198, 65618, 511, 3817, 292, 705, 297, 320, 2419, 269, 71, 2925, 292, 705, 259, 320, 73542, 4193, 25180, 705, 305, 320, 17757, 24346, 8, 477, 272, 320, 66, 42281, 570, 578, 198, 5686, 40582, 6661, 36611, 279, 2960, 12928, 323, 649, 387, 832, 315, 279, 2768, 25, 393, 198, 26022, 13968, 705, 328, 320, 1594, 2960, 1171, 705, 358, 320, 2664, 2960, 1171, 705, 432, 320, 81, 35940, 754, 71, 36620, 2960, 12928, 8, 477, 435, 198, 21013, 12580, 2960, 1171, 570, 551, 264, 47, 10317, 37, 10317, 40, 10317, 47, 20393, 47, 20393, 49, 13387, 47, 13387, 50, 50318, 37, 50318, 40, 50318, 47, 50318, 50, 14287, 40, 14287, 47, 198, 8234, 24585, 8947, 2508, 52001, 33342, 42664, 14272, 18155, 551, 4076, 315, 279, 26110, 1887, 13, 551, 41999, 11, 17757, 24346, 11, 1677, 511, 3817, 292, 11, 2419, 269, 71, 2925, 292, 14287, 295, 4193, 25180, 67554, 292, 3817, 292, 67554, 343, 25180, 198, 8234, 24585, 8947, 2508, 52001, 33342, 870, 543, 5617, 551, 578, 11166, 1396, 369, 420, 1887, 13, 551, 528, 843, 198, 8234, 24585, 8947, 2508, 52001, 33342, 870, 543, 21868, 551, 578, 11166, 7891, 369, 420, 1887, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 52001, 33342, 24112, 6422, 551, 20185, 315, 279, 26110, 848, 79173, 1486, 1912, 304, 279, 32565, 1036, 5364, 19729, 75721, 45297, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 52001, 33342, 36983, 6422, 5617, 551, 46080, 279, 7327, 9323, 315, 29016, 848, 1976, 88, 320, 40, 5576, 8, 1396, 315, 279, 220, 18, 35, 3634, 198, 4166, 315, 420, 1887, 13, 551, 528, 843, 198, 8234, 24585, 8947, 2508, 52001, 33342, 36983, 6422, 21868, 551, 578, 7327, 9323, 315, 29016, 848, 1976, 88, 320, 40, 5576, 8, 2875, 7891, 315, 279, 220, 18, 35, 198, 8920, 1912, 315, 420, 1887, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 52001, 33342, 9720, 86056, 655, 4970, 50903, 367, 551, 55982, 315, 279, 3769, 4184, 311, 279, 35901, 15042, 198, 596, 376, 86056, 655, 4970, 4527, 551, 610, 198, 8234, 24585, 8947, 2508, 52001, 33342, 6131, 6234, 4404, 5072, 551, 20479, 9628, 2440, 315, 279, 25018, 320, 4151, 198, 1277, 1129, 64, 5072, 2808, 2726, 11547, 81, 14272, 6116, 14, 46754, 3644, 2628, 8, 11054, 389, 279, 8197, 198, 1073, 279, 3634, 6422, 323, 30510, 1704, 88, 377, 1885, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 52001, 33342, 6131, 1292, 551, 362, 4279, 836, 369, 420, 1760, 88167, 6070, 11, 384, 1326, 13, 282, 641, 11, 293, 641, 13, 551, 220, 19, 44650, 10264, 11, 1548, 355, 1565, 8568, 641, 8568, 302, 8568, 302, 20, 11, 566, 589, 7853, 10317, 455, 1269, 12260, 18986, 17514, 641, 17514, 302, 20393, 3181, 12, 1548, 355, 1565, 20393, 4777, 11, 716, 869, 4991, 635, 11, 21161, 12290, 16262, 332, 458, 10900, 6592, 41999, 25576, 5757, 89, 635, 23500, 2910, 2067, 11178, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 1276, 54446, 372, 5617, 551, 37409, 31228, 1396, 400, 77, 13244, 551, 528, 843, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 1190, 54446, 372, 5617, 551, 10884, 20932, 24151, 31228, 1396, 400, 73, 284, 765, 75, 1355, 91, 2564, 326, 68897, 3, 627, 334, 45, 20726, 449, 3831, 445, 6354, 59086, 477, 2536, 1824, 980, 90021, 12903, 6067, 13, 334, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 97251, 54446, 372, 5617, 551, 15757, 56307, 278, 22343, 315, 279, 400, 73, 3, 4724, 627, 334, 45, 20726, 449, 3831, 445, 6354, 59086, 477, 2536, 1824, 980, 90021, 12903, 6067, 13, 334, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 2337, 7642, 2826, 551, 578, 1396, 315, 5415, 1234, 279, 21973, 17413, 9435, 311, 279, 65691, 743, 627, 2028, 52873, 22204, 430, 682, 27605, 1147, 304, 279, 743, 527, 5367, 13523, 13, 551, 528, 843, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 1276, 2253, 772, 26692, 46747, 1639, 551, 578, 17130, 6900, 12304, 369, 61966, 10096, 627, 90383, 430, 3567, 6629, 505, 220, 15, 477, 220, 16, 11383, 33164, 4448, 587, 18528, 627, 36687, 279, 1595, 9613, 63, 1614, 374, 12146, 11, 279, 1646, 34310, 311, 264, 3254, 17130, 1694, 12304, 304, 7106, 8903, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 13, 59362, 551, 578, 2860, 1396, 315, 57678, 2949, 279, 1614, 320, 300, 4613, 555, 5367, 804, 2826, 340, 10924, 13548, 279, 1646, 6900, 13, 551, 2273, 1227, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 929, 54446, 372, 21868, 551, 15757, 56307, 278, 400, 75, 3, 304, 36396, 1376, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 58509, 54446, 372, 21868, 551, 63755, 31228, 1396, 400, 76, 918, 3, 304, 36396, 1376, 13, 551, 610, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 40215, 54446, 372, 21868, 551, 41785, 31228, 1396, 400, 76, 646, 3, 304, 36396, 1376, 13, 551, 610, 198, 8234, 13204, 13204, 851, 551, 35721, 369, 279, 1511, 1749, 13, 8442, 2561, 369, 264, 27084, 315, 10925, 198, 2000, 902, 279, 38152, 706, 1027, 11054, 449, 16437, 13, 551, 610, 198, 8234, 13204, 13204, 1292, 551, 7874, 836, 369, 279, 1511, 1749, 13, 551, 426, 937, 11, 5501, 39, 1286, 28365, 4082, 11, 8561, 4082, 43225, 98952, 38406, 54, 22812, 18953, 20594, 33, 30341, 5119, 30341, 37790, 16539, 11865, 11, 31548, 372, 27366, 11, 359, 10547, 198, 8234, 13204, 73874, 1292, 551, 256, 551, 610, 198, 8234, 13204, 29716, 2987, 46182, 1292, 551, 578, 836, 315, 279, 1511, 2068, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 46182, 9625, 551, 578, 2373, 315, 279, 1511, 2068, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 46182, 9625, 24369, 551, 578, 2373, 4877, 1511, 34167, 555, 279, 4500, 2128, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 962, 728, 960, 10949, 2667, 1857, 551, 578, 1511, 8197, 743, 5865, 13, 551, 320, 43, 8, 2599, 54, 10, 385, 11, 6885, 1892, 5493, 11, 1962, 15590, 11, 20173, 362, 29967, 11, 19563, 17301, 11, 1725, 2910, 5865, 11, 8110, 29047, 5950, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 962, 728, 4976, 2253, 70329, 530, 35320, 551, 2650, 279, 6332, 57678, 527, 7633, 13, 551, 682, 17130, 20268, 6332, 11, 9054, 682, 17130, 7385, 40512, 89490, 2335, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 962, 728, 91571, 623, 7569, 1534, 551, 13440, 279, 22702, 374, 12903, 2320, 7569, 1534, 13, 551, 1845, 198, 8234, 13204, 29716, 2987, 962, 728, 7840, 69, 22616, 35895, 16326, 551, 46080, 279, 12447, 369, 279, 2860, 4907, 2349, 1990, 1403, 17876, 198, 726, 69604, 18620, 2115, 320, 3624, 37, 8, 26771, 13, 578, 7683, 37, 374, 6646, 97875, 994, 279, 198, 5143, 65487, 2349, 1990, 1403, 7683, 37, 25492, 374, 3770, 279, 12447, 320, 54228, 304, 198, 76128, 449, 1023, 13186, 570, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 962, 728, 3211, 276, 36445, 2832, 64, 1147, 9209, 551, 578, 1511, 5355, 2761, 29614, 1147, 1749, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 962, 728, 1351, 5641, 1968, 9209, 551, 3959, 56236, 279, 59425, 4633, 6514, 1511, 369, 279, 22702, 315, 279, 1620, 4907, 198, 438, 5552, 33776, 13, 1442, 36257, 477, 4384, 11, 912, 59425, 4633, 6514, 374, 9435, 13, 551, 35850, 42752, 1311, 5641, 344, 4633, 11, 36442, 1311, 5641, 344, 4633, 11, 36442, 1311, 5641, 344, 4633, 52467, 12582, 52577, 198, 8234, 13204, 29716, 2987, 962, 728, 23368, 13992, 34262, 551, 46080, 279, 3169, 315, 1554, 13992, 389, 279, 17130, 30747, 1511, 311, 11294, 279, 198, 10816, 4907, 320, 4151, 4907, 9082, 696, 4180, 2819, 527, 1473, 91, 4487, 13992, 3169, 1835, 765, 7817, 5291, 36821, 91, 14730, 23573, 765, 20308, 12, 36821, 91, 54405, 3274, 41017, 338, 765, 2360, 1554, 13992, 374, 9435, 310, 36821, 91, 54405, 6885, 15950, 41017, 1078, 765, 49668, 1554, 13992, 338, 36821, 91, 54405, 809, 8318, 41017, 338, 765, 99362, 72, 1554, 13992, 504, 36821, 91, 54405, 5730, 89, 2850, 8437, 8363, 70824, 41017, 262, 765, 2947, 89, 2850, 20198, 8363, 70824, 1554, 13992, 996, 36821, 91, 54405, 69991, 69, 36648, 2320, 710, 783, 41017, 257, 765, 57175, 69, 36648, 9483, 710, 783, 1554, 13992, 286, 36821, 91, 54405, 73542, 33607, 291, 969, 41017, 310, 765, 5783, 45786, 315, 1614, 49969, 323, 60966, 198, 7, 625, 4692, 1554, 13992, 8086, 8, 765, 551, 610, 198, 8234, 13204, 29716, 2987, 962, 728, 23368, 13992, 8086, 551, 46080, 279, 2430, 315, 279, 1554, 13992, 304, 4907, 369, 279, 17130, 30747, 1511, 311, 198, 36697, 279, 1949, 4907, 320, 4151, 4907, 9082, 3677, 9, 28892, 54486, 2876, 682, 5528, 5300, 304, 1554, 13992, 34262, 5829, 420, 907, 13, 551, 2273, 1227, 198, 8234, 13204, 29716, 2987, 962, 728, 1190, 582, 5598, 918, 21473, 551, 55550, 24790, 304, 1584, 449, 25537, 596, 445, 21473, 627, 2520, 810, 2038, 11, 1518, 3788, 1129, 48886, 2726, 14, 605, 13, 7461, 18, 14, 16, 13, 10125, 17248, 20, 320, 10090, 5684, 317, 2485, 1129, 48886, 2726, 14, 605, 13, 5120, 18, 14, 67171, 37284, 43, 7211, 13, 5925, 13, 10465, 10841, 320, 5607, 12279, 16519, 317, 438, 3788, 1129, 48886, 2726, 14, 605, 13, 7461, 18, 14, 16, 13, 7028, 10961, 20, 320, 69292, 12279, 16519, 570, 551, 480, 16519, 31214, 6486, 11, 8671, 16621, 11, 69292, 12279, 16519, 11, 5607, 12279, 16519, 11, 1962, 15590, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 962, 728, 2036, 66, 9353, 278, 1857, 551, 55550, 24790, 304, 1584, 449, 25537, 596, 445, 21473, 627, 2520, 810, 2038, 11, 1518, 3788, 1129, 48886, 2726, 14, 605, 13, 7461, 18, 14, 16, 13, 10125, 17248, 20, 320, 10090, 5684, 317, 2485, 1129, 48886, 2726, 14, 605, 13, 5120, 18, 14, 67171, 37284, 43, 7211, 13, 5925, 13, 10465, 10841, 320, 5607, 12279, 16519, 317, 438, 3788, 1129, 48886, 2726, 14, 605, 13, 7461, 18, 14, 16, 13, 7028, 10961, 20, 320, 69292, 12279, 16519, 570, 551, 480, 16519, 31214, 6486, 11, 8671, 16621, 11, 69292, 12279, 16519, 11, 5607, 12279, 16519, 11, 1962, 15590, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 962, 728, 2036, 66, 9353, 278, 9366, 551, 578, 1160, 315, 3127, 39046, 16003, 5144, 430, 1405, 1511, 304, 420, 4441, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 962, 728, 2272, 533, 60312, 68829, 287, 19100, 551, 26868, 315, 4839, 9473, 9709, 304, 449, 279, 61442, 16003, 320, 970, 2134, 284, 510, 15, 11, 16, 10927, 551, 2273, 1227, 198, 8234, 13204, 29716, 2987, 962, 728, 870, 21340, 569, 4803, 276, 309, 13915, 5156, 11895, 28224, 535, 551, 5273, 315, 279, 7524, 549, 5852, 320, 84, 482, 503, 570, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 962, 728, 870, 21340, 569, 4803, 276, 309, 13915, 5156, 11895, 551, 5273, 315, 279, 320, 258, 2221, 30986, 2223, 8, 81000, 16628, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 962, 728, 870, 21340, 569, 4803, 276, 309, 13915, 5156, 1190, 551, 5273, 315, 279, 9473, 16628, 13, 763, 92371, 58720, 6067, 11, 503, 284, 503, 71, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 36386, 4957, 551, 75446, 65500, 1646, 955, 25, 98103, 735, 11975, 27442, 11, 423, 4082, 33, 57304, 11, 865, 32260, 18713, 65916, 198, 94304, 11, 477, 468, 1036, 1291, 22343, 13, 551, 423, 4082, 33, 11, 7594, 977, 16222, 11975, 50640, 1036, 1291, 11, 1962, 15590, 13095, 32260, 198, 8234, 13204, 29716, 2987, 36386, 77863, 1857, 551, 81920, 955, 315, 279, 468, 1036, 1291, 27605, 1147, 13, 551, 31127, 750, 13876, 1534, 10900, 2222, 82326, 198, 8234, 13204, 29716, 2987, 1326, 86, 4957, 551, 42353, 473, 31501, 596, 659, 69604, 48194, 11008, 1473, 91, 4076, 415, 765, 7817, 2611, 765, 17650, 1835, 36821, 91, 81922, 765, 20308, 765, 14730, 15431, 36821, 91, 74011, 38, 15, 54, 15, 6, 63, 220, 765, 3254, 64630, 2611, 765, 8743, 33, 220, 5728, 11, 220, 22407, 4645, 320, 1049, 21, 8, 36821, 91, 74011, 2445, 63665, 6, 63, 220, 765, 659, 69604, 18620, 480, 323, 468, 2342, 765, 8743, 33, 220, 2075, 11, 220, 12422, 4278, 320, 1049, 22, 8, 36821, 91, 74011, 2445, 63665, 15, 6, 63, 765, 659, 69604, 18620, 480, 449, 8521, 468, 15, 220, 765, 8743, 33, 220, 4370, 11, 220, 25496, 16, 320, 2550, 21, 8, 256, 36821, 91, 74011, 2445, 38, 15, 54, 6, 63, 765, 659, 69604, 18620, 468, 449, 8521, 480, 15, 220, 765, 482, 3909, 36821, 91, 74011, 5230, 31419, 63665, 15, 6, 63, 220, 765, 29824, 3745, 659, 69604, 18620, 480, 449, 8521, 468, 15, 256, 765, 8743, 33, 220, 1958, 11, 220, 23033, 15, 320, 3753, 21, 8, 256, 36821, 91, 74011, 5230, 31419, 63665, 6, 63, 220, 765, 29824, 3745, 659, 69604, 18620, 480, 323, 468, 256, 765, 8743, 33, 220, 5728, 11, 220, 23785, 4278, 320, 1049, 21, 8, 256, 36821, 91, 74011, 33863, 31419, 63665, 15, 6, 63, 220, 765, 934, 300, 575, 7203, 659, 69604, 18620, 480, 449, 8521, 468, 15, 765, 393, 4833, 220, 1484, 11, 220, 7322, 7743, 320, 1049, 22, 8, 36821, 91, 74011, 33863, 31419, 63665, 6, 63, 220, 765, 934, 300, 575, 7203, 659, 69604, 18620, 480, 323, 468, 765, 393, 4833, 220, 4161, 11, 220, 14057, 16496, 320, 1049, 21, 8, 765, 551, 480, 15, 54, 15, 82692, 31419, 63665, 82692, 31419, 63665, 15, 11, 33863, 31419, 63665, 11, 33863, 31419, 63665, 15, 11, 2445, 38, 15, 54, 11, 2445, 63665, 11, 2445, 63665, 15, 198, 8234, 13204, 29716, 2987, 1326, 86, 960, 10949, 2667, 1857, 551, 578, 1511, 8197, 743, 5865, 13, 551, 320, 43, 8, 2599, 54, 10, 385, 11, 6885, 1892, 5493, 11, 1962, 15590, 11, 20173, 362, 29967, 11, 19563, 17301, 11, 1725, 2910, 5865, 11, 8110, 29047, 5950, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 1326, 86, 5069, 287, 6213, 1857, 551, 578, 3127, 39046, 3196, 58001, 16003, 24790, 1511, 304, 279, 6041, 1486, 423, 4082, 19576, 13, 551, 480, 16519, 44639, 37, 31214, 6486, 11, 8671, 16621, 11, 69292, 12279, 16519, 11, 5607, 12279, 16519, 11, 1962, 15590, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 1326, 86, 5069, 287, 6213, 9366, 551, 578, 1160, 315, 3127, 39046, 16003, 5144, 430, 1405, 1511, 304, 420, 4441, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 960, 325, 4957, 551, 4078, 315, 426, 937, 13824, 16695, 1122, 29056, 1473, 262, 473, 1702, 937, 284, 473, 30577, 24346, 489, 220, 17, 353, 62133, 353, 473, 87, 482, 22903, 353, 473, 66, 271, 2940, 62133, 11, 22903, 30202, 279, 955, 382, 20171, 5070, 369, 279, 10334, 512, 12, 1795, 1129, 40541, 5977, 62601, 94369, 916, 2971, 52745, 98033, 1639, 90160, 39151, 1481, 325, 2, 55880, 16, 198, 12, 3788, 1129, 2185, 3211, 13671, 6990, 26583, 9199, 2348, 16675, 19030, 6354, 278, 79, 1430, 63359, 811, 24965, 3395, 811, 198, 12, 3788, 1129, 14452, 22823, 2381, 2726, 52357, 683, 3554, 325, 6018, 12, 3788, 1129, 2185, 2441, 309, 754, 26327, 36103, 26583, 9199, 2348, 16675, 19030, 6354, 278, 79, 1430, 27974, 271, 91, 4076, 765, 7817, 36821, 91, 81922, 765, 14730, 21622, 36821, 91, 74011, 60300, 1169, 6, 63, 765, 62133, 284, 220, 16, 11, 22903, 284, 220, 16, 36821, 91, 74011, 22646, 11053, 6, 63, 765, 62133, 284, 220, 15, 11, 22903, 284, 220, 16, 36821, 91, 74011, 3378, 6, 63, 765, 22765, 2320, 7203, 5603, 36821, 91, 74011, 49, 8201, 6, 63, 765, 10836, 28673, 44919, 5582, 765, 551, 6933, 24412, 8201, 21861, 287, 1169, 20594, 462, 11053, 198, 8234, 13204, 29716, 2987, 960, 325, 960, 10949, 2667, 1857, 551, 578, 1511, 8197, 743, 5865, 13, 551, 320, 43, 8, 2599, 54, 10, 385, 11, 6885, 1892, 5493, 11, 1962, 15590, 11, 20173, 362, 29967, 11, 19563, 17301, 11, 1725, 2910, 5865, 11, 8110, 29047, 5950, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 960, 325, 5069, 287, 6213, 1857, 551, 578, 3127, 39046, 3196, 58001, 16003, 24790, 1511, 304, 279, 6041, 1486, 423, 4082, 19576, 13, 551, 480, 16519, 44639, 37, 31214, 6486, 11, 8671, 16621, 11, 69292, 12279, 16519, 11, 5607, 12279, 16519, 11, 1962, 15590, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 960, 325, 5069, 287, 6213, 9366, 551, 578, 1160, 315, 3127, 39046, 16003, 5144, 430, 1405, 1511, 304, 420, 4441, 13, 551, 610, 198, 8234, 13204, 29716, 2987, 960, 325, 516, 8080, 551, 69395, 17797, 354, 411, 76, 1511, 311, 38336, 553, 279, 426, 937, 24051, 1122, 382, 91, 4076, 765, 7817, 765, 17650, 36821, 91, 81922, 765, 14730, 21622, 765, 93686, 36821, 91, 74011, 9619, 51389, 24346, 2065, 6, 63, 765, 8797, 38336, 2065, 315, 279, 426, 937, 24051, 1122, 765, 482, 36821, 91, 74011, 43, 1149, 54801, 11529, 352, 78155, 6, 63, 765, 3804, 8920, 87975, 39634, 54801, 11529, 352, 78155, 12384, 765, 3788, 1129, 48886, 2726, 14, 605, 13, 5120, 18, 14, 67171, 37284, 33, 13, 2946, 13, 21239, 16, 36821, 91, 74011, 21287, 7157, 6, 63, 765, 3331, 1534, 17832, 33247, 1749, 765, 3788, 1129, 48886, 2726, 14, 605, 13, 8190, 22, 14, 18807, 21469, 23, 36821, 91, 74011, 50, 877, 47, 66, 6, 63, 765, 69934, 481, 11896, 369, 25059, 970, 22854, 24019, 811, 765, 3788, 1129, 82, 273, 4080, 18119, 85, 19060, 14, 36821, 91, 74011, 51, 6486, 6, 63, 765, 350, 8836, 9607, 19067, 544, 57304, 765, 3788, 1129, 48886, 2726, 14, 605, 13, 4645, 21, 11628, 931, 24, 12, 15602, 19, 7, 1484, 8, 10731, 2491, 12, 20, 765, 551, 8797, 51389, 24346, 2065, 11, 21287, 7157, 31214, 1149, 54801, 11529, 352, 78155, 21861, 877, 47, 66, 20594, 6486, 198, 8234, 13204, 29716, 2987, 960, 325, 1326, 86, 1857, 551, 42353, 473, 31501, 596, 659, 69604, 48194, 11008, 1473, 91, 4076, 415, 765, 7817, 2611, 765, 17650, 1835, 36821, 91, 81922, 765, 20308, 765, 14730, 15431, 36821, 91, 74011, 38, 15, 54, 15, 6, 63, 220, 765, 3254, 64630, 2611, 765, 8743, 33, 220, 5728, 11, 220, 22407, 4645, 320, 1049, 21, 8, 36821, 91, 74011, 2445, 63665, 6, 63, 220, 765, 659, 69604, 18620, 480, 323, 468, 2342, 765, 8743, 33, 220, 2075, 11, 220, 12422, 4278, 320, 1049, 22, 8, 36821, 91, 74011, 2445, 63665, 15, 6, 63, 765, 659, 69604, 18620, 480, 449, 8521, 468, 15, 220, 765, 8743, 33, 220, 4370, 11, 220, 25496, 16, 320, 2550, 21, 8, 256, 36821, 91, 74011, 2445, 38, 15, 54, 6, 63, 765, 659, 69604, 18620, 468, 449, 8521, 480, 15, 220, 765, 482, 3909, 36821, 91, 74011, 5230, 31419, 63665, 15, 6, 63, 220, 765, 29824, 3745, 659, 69604, 18620, 480, 449, 8521, 468, 15, 256, 765, 8743, 33, 220, 1958, 11, 220, 23033, 15, 320, 3753, 21, 8, 256, 36821, 91, 74011, 5230, 31419, 63665, 6, 63, 220, 765, 29824, 3745, 659, 69604, 18620, 480, 323, 468, 256, 765, 8743, 33, 220, 5728, 11, 220, 23785, 4278, 320, 1049, 21, 8, 256, 36821, 91, 74011, 33863, 31419, 63665, 15, 6, 63, 220, 765, 934, 300, 575, 7203, 659, 69604, 18620, 480, 449, 8521, 468, 15, 765, 393, 4833, 220, 1484, 11, 220, 7322, 7743, 320, 1049, 22, 8, 36821, 91, 74011, 33863, 31419, 63665, 6, 63, 220, 765, 934, 300, 575, 7203, 659, 69604, 18620, 480, 323, 468, 765, 393, 4833, 220, 4161, 11, 220, 14057, 16496, 320, 1049, 21, 8, 765, 551, 480, 15, 54, 15, 82692, 31419, 63665, 82692, 31419, 63665, 15, 11, 33863, 31419, 63665, 11, 33863, 31419, 63665, 15, 11, 2445, 38, 15, 54, 11, 2445, 63665, 11, 2445, 63665, 15, 198, 8234, 13204, 29716, 2987, 81183, 728, 81554, 5631, 54256, 1857, 551, 14727, 5631, 30061, 1749, 1511, 304, 279, 20804, 4082, 6471, 1473, 91, 4076, 1078, 765, 17650, 1014, 36821, 91, 14730, 12, 765, 20308, 381, 36821, 91, 74011, 1182, 12, 3301, 6, 63, 286, 765, 13134, 83, 85393, 1880, 453, 2637, 71430, 2898, 6914, 83, 220, 1490, 320, 1049, 19, 8, 220, 36821, 91, 74011, 1182, 11529, 56, 33, 6, 63, 286, 765, 80835, 1880, 453, 2637, 393, 4833, 220, 3534, 320, 1049, 21, 8, 260, 36821, 91, 74011, 1182, 6830, 13706, 6, 63, 286, 765, 480, 620, 1880, 453, 2637, 469, 2989, 220, 6086, 320, 1049, 23, 8, 1881, 36821, 91, 74011, 1507, 6, 63, 310, 765, 356, 2715, 277, 3833, 1880, 453, 11, 393, 4833, 220, 5332, 320, 2550, 19, 8, 996, 36821, 91, 74011, 27416, 38, 6, 63, 1881, 765, 22353, 64, 1880, 453, 2637, 432, 5901, 220, 1490, 320, 1049, 23, 8, 692, 36821, 91, 74011, 44, 5119, 6, 63, 1881, 765, 50181, 17137, 1880, 453, 2637, 8743, 33, 220, 1954, 320, 679, 19, 8, 260, 36821, 91, 74011, 40, 2898, 6, 63, 1881, 765, 95359, 1880, 453, 2637, 8743, 33, 220, 1774, 320, 2550, 17, 8, 286, 36821, 91, 74011, 45, 5158, 6, 63, 1881, 765, 2394, 52178, 441, 1880, 453, 2637, 8743, 33, 220, 2618, 320, 2550, 18, 8, 996, 36821, 91, 74011, 46, 5158, 6, 63, 1881, 765, 2394, 52178, 441, 1880, 453, 2637, 8743, 33, 220, 2618, 320, 2550, 18, 8, 996, 36821, 91, 74011, 53605, 890, 437, 2439, 6, 63, 220, 765, 62763, 747, 277, 1880, 453, 2637, 393, 4833, 220, 3226, 320, 3753, 21, 8, 286, 36821, 91, 74011, 71, 21340, 569, 8118, 6, 63, 257, 765, 482, 1961, 765, 551, 19084, 6830, 13706, 11, 1182, 11529, 56, 33, 11, 1182, 12, 3301, 11, 1507, 38868, 2898, 28112, 5119, 22812, 5158, 22812, 33460, 75449, 5158, 20393, 21340, 569, 8118, 11, 53605, 890, 437, 2439, 198, 8234, 13204, 29716, 2987, 81183, 728, 77663, 54625, 551, 763, 4550, 9499, 284, 220, 16, 12148, 82624, 61734, 570, 551, 2273, 1227, 551, 220, 16, 611, 28068, 273, 198, 8234, 13204, 29716, 2987, 81183, 728, 749, 39100, 4486, 551, 63755, 1614, 304, 902, 279, 20804, 4082, 22702, 374, 2884, 13, 551, 3276, 11691, 442, 39100, 11, 809, 442, 39100, 61662, 39100, 198, 8234, 13204, 29716, 2987, 81183, 728, 11895, 551, 5273, 315, 279, 320, 258, 2221, 30986, 2223, 8, 81000, 16628, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 81183, 728, 1190, 71, 551, 5273, 315, 279, 320, 2295, 30986, 2223, 8, 99014, 596, 59086, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 81183, 728, 10985, 5893, 35758, 70048, 4090, 551, 38527, 35758, 42271, 1511, 311, 2018, 6426, 279, 51052, 3634, 7997, 596, 5865, 1139, 198, 1820, 1972, 34873, 3634, 382, 91, 4076, 1881, 765, 7817, 260, 765, 17650, 667, 36821, 91, 33658, 313, 765, 14730, 4521, 765, 20308, 36821, 91, 74011, 47, 1037, 6, 63, 765, 393, 1037, 596, 10049, 318, 519, 220, 765, 3788, 1129, 2185, 516, 5979, 5886, 1248, 916, 34574, 1873, 39281, 63328, 72, 14, 6726, 2550, 24391, 15515, 6804, 22, 30, 20708, 4, 18, 35, 7141, 392, 36821, 91, 74011, 6102, 2300, 6, 63, 765, 27697, 4968, 18237, 1749, 765, 3788, 1129, 73, 33714, 13, 2690, 2726, 45772, 65, 14, 16647, 14, 605, 13, 5120, 18, 14, 67171, 37284, 33, 13, 3174, 13, 13895, 15, 36821, 91, 74011, 50, 12757, 6, 63, 765, 96030, 907, 66266, 765, 3788, 1129, 73, 33714, 13, 2690, 2726, 45772, 75, 14, 16647, 14, 605, 13, 5120, 18, 14, 67171, 37284, 43, 7211, 13, 2075, 13, 22507, 36821, 91, 74011, 626, 67054, 6, 63, 765, 800, 67054, 1749, 765, 3788, 1129, 73, 33714, 13, 2690, 2726, 45772, 65, 14, 16647, 14, 605, 13, 5120, 18, 14, 67171, 37284, 33, 13, 3226, 13, 4278, 4044, 765, 551, 7639, 2300, 28494, 1037, 21861, 12757, 11, 626, 67054, 198, 8234, 13204, 29716, 2987, 81941, 5314, 6665, 54449, 551, 26868, 315, 49976, 597, 93558, 824, 5089, 87298, 3160, 3235, 1855, 8183, 627, 24741, 279, 3325, 24473, 17915, 704, 315, 682, 25776, 627, 15346, 1193, 387, 7863, 1990, 1652, 7607, 315, 4528, 13167, 2786, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 13204, 29716, 2987, 81941, 15054, 530, 1291, 551, 578, 2082, 19440, 4877, 19392, 279, 16437, 1511, 198, 2000, 279, 8197, 743, 323, 65614, 315, 35876, 30597, 382, 35736, 14236, 320, 4291, 17508, 16259, 311, 279, 9959, 9904, 997, 12, 41618, 63380, 47, 85802, 2485, 1129, 2185, 3211, 13671, 6990, 26583, 9199, 2348, 16744, 67713, 340, 12, 1595, 37, 24860, 12, 26760, 4077, 12, 41618, 35263, 9377, 85802, 1277, 1129, 2185, 739, 6358, 2180, 88, 56840, 15761, 15549, 2971, 561, 752, 86686, 51538, 12978, 14, 35263, 9377, 2628, 2, 11786, 2971, 561, 752, 100146, 74, 3914, 752, 751, 10274, 66, 10692, 24165, 30, 30930, 28, 360, 2221, 2269, 483, 8, 551, 610, 198, 8234, 13204, 29716, 2987, 81941, 960, 10949, 2667, 551, 578, 955, 315, 8197, 743, 1511, 555, 279, 2068, 382, 91, 5273, 3586, 765, 5291, 7817, 9432, 91, 14730, 43191, 765, 20308, 12, 9432, 91, 74011, 2599, 54, 6, 63, 667, 765, 5033, 28078, 11277, 17301, 1835, 9432, 91, 74011, 43, 2599, 54, 6, 63, 5291, 765, 29363, 1534, 57088, 11277, 17301, 220, 9432, 91, 74011, 2599, 54, 10, 385, 6, 63, 1835, 765, 5033, 28078, 11277, 17301, 449, 2254, 27605, 1147, 9432, 91, 74011, 43, 2599, 54, 10, 385, 6, 63, 765, 29363, 1534, 57088, 11277, 17301, 449, 2254, 27605, 1147, 9432, 91, 1595, 59436, 43, 8, 2599, 54, 6, 63, 3909, 765, 257, 362, 10824, 315, 10314, 54, 323, 72428, 54, 9432, 91, 1595, 59436, 43, 8, 2599, 54, 10, 385, 6, 63, 220, 765, 362, 10824, 315, 10314, 54, 323, 72428, 54, 449, 2254, 27605, 1147, 9432, 91, 74011, 19563, 17301, 6, 63, 394, 765, 44144, 17301, 5291, 9432, 91, 74011, 6885, 1892, 5493, 489, 11277, 17301, 6, 63, 262, 765, 70128, 743, 315, 279, 17697, 9710, 12384, 320, 91092, 25, 220, 605, 13, 4645, 21, 4537, 522, 4080, 13, 1049, 19, 13, 717, 13, 15901, 8, 9432, 91, 74011, 8110, 29047, 5950, 6, 63, 310, 765, 8976, 29047, 5950, 4391, 9432, 91, 74011, 13066, 79, 403, 5865, 6, 63, 260, 765, 9365, 5865, 338, 765, 551, 320, 43, 8, 2599, 54, 13247, 43, 8, 2599, 54, 10, 385, 11, 2599, 54, 11, 2599, 54, 10, 385, 31214, 2599, 54, 31214, 2599, 54, 10, 385, 11, 22612, 50482, 27605, 1147, 11, 6885, 1892, 5493, 489, 11277, 17301, 11, 1962, 15590, 11, 19563, 17301, 11, 8110, 29047, 5950, 10900, 2870, 5865, 11, 359, 10547, 198, 8234, 13204, 29716, 2987, 81941, 46942, 365, 525, 75482, 551, 328, 45845, 45379, 304, 87298, 3634, 369, 264, 11277, 89354, 8197, 743, 13, 1102, 374, 279, 4907, 198, 1073, 279, 8592, 11277, 89354, 1746, 59, 38118, 36802, 71, 2308, 61, 17, 91, 74, 10, 38, 97850, 17, 15523, 17, 76, 2253, 32816, 8, 5343, 304, 279, 8197, 198, 751, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 13204, 29716, 2987, 81941, 4795, 86, 75482, 551, 578, 65251, 45379, 5852, 369, 279, 958, 49270, 11277, 17301, 304, 279, 72428, 54, 3070, 627, 2028, 45379, 374, 5089, 1752, 11, 22797, 311, 279, 2027, 315, 279, 25655, 55404, 258, 2442, 258, 10801, 198, 438, 279, 3160, 315, 279, 45379, 87298, 4724, 1746, 81, 15511, 8673, 92, 353, 765, 42, 15511, 10453, 53498, 3, 570, 551, 2273, 1227, 198, 8234, 13204, 17777, 25357, 2036, 6634, 41779, 16597, 9209, 1292, 551, 578, 3722, 16597, 1749, 1511, 311, 6994, 279, 3722, 16597, 5497, 627, 91, 1630, 79504, 29469, 16597, 6872, 9898, 765, 7817, 58040, 5351, 9432, 91, 9411, 5272, 91, 3597, 3597, 3597, 20098, 7511, 91, 3146, 67684, 1126, 1630, 79504, 29469, 16597, 320, 74912, 37790, 33395, 667, 765, 578, 4751, 330, 22491, 1126, 1, 19813, 810, 311, 279, 4288, 17140, 315, 2678, 64568, 3695, 1109, 311, 279, 7106, 1376, 315, 279, 6205, 13, 3053, 387, 1511, 449, 2536, 2320, 363, 1126, 10688, 422, 814, 3118, 4288, 64568, 635, 89935, 13, 9432, 91, 3146, 11126, 29016, 1630, 79504, 29469, 16597, 320, 3624, 55, 37790, 33395, 2342, 765, 12477, 369, 26679, 279, 25524, 6070, 315, 264, 3254, 26110, 13, 58040, 1078, 9432, 91, 3146, 12243, 12, 39206, 1630, 79504, 29469, 16597, 320, 17526, 55, 37790, 33395, 1078, 765, 362, 15105, 11383, 1511, 369, 11944, 60993, 315, 67422, 710, 532, 15792, 12631, 1701, 24473, 3722, 16597, 22323, 13, 52575, 9432, 91, 3146, 26375, 6830, 67330, 1630, 79504, 2522, 31436, 320, 50, 3027, 50, 33395, 504, 765, 12477, 369, 21630, 51593, 47194, 304, 279, 1404, 2134, 315, 220, 16, 12, 1041, 26807, 13, 37717, 2038, 389, 19320, 1404, 11, 6211, 11, 323, 8141, 13, 56899, 9432, 91, 3146, 55, 79504, 35698, 1968, 320, 55, 8268, 33395, 7714, 765, 12477, 311, 4007, 15792, 4632, 13931, 11, 25066, 11, 323, 2814, 321, 5184, 13, 37717, 3630, 389, 4632, 26839, 11, 17915, 11, 323, 11413, 2136, 13, 5351, 5291, 9432, 91, 3146, 38, 8875, 287, 4953, 7232, 1630, 79504, 29469, 16597, 320, 38, 5511, 37790, 33395, 310, 765, 36283, 6751, 1511, 369, 279, 6492, 315, 15792, 12631, 449, 279, 10672, 24310, 520, 264, 8521, 26682, 9392, 13, 5351, 13771, 9432, 91, 3146, 3905, 49889, 5531, 11746, 39546, 320, 49, 9691, 33395, 5218, 765, 5234, 64036, 1630, 37790, 1749, 311, 6767, 1422, 1658, 22955, 21261, 304, 264, 220, 17, 33520, 5654, 315, 87298, 3634, 13, 37717, 2038, 922, 279, 1972, 12, 7993, 320, 75, 32891, 36401, 11, 8106, 6070, 11, 8631, 323, 42655, 8, 304, 3254, 48689, 599, 543, 483, 323, 67422, 710, 532, 10688, 57370, 551, 94030, 287, 4953, 7232, 1630, 79504, 29469, 16597, 320, 38, 5511, 37790, 705, 12243, 12, 39206, 1630, 79504, 29469, 16597, 320, 17526, 55, 37790, 705, 67684, 1126, 1630, 79504, 29469, 16597, 320, 74912, 37790, 705, 3905, 49889, 5531, 11746, 39546, 320, 49, 9691, 705, 11126, 29016, 1630, 79504, 29469, 16597, 320, 3624, 55, 37790, 705, 26375, 6830, 67330, 1630, 79504, 2522, 31436, 320, 50, 3027, 50, 705, 55, 79504, 35698, 1968, 320, 55, 8268, 705, 359, 10547, 198, 8234, 21661, 1276, 24965, 3395, 811, 551, 578, 1396, 315, 10887, 3254, 6683, 29217, 3238, 551, 528, 198, 8234, 21661, 48211, 26216, 551, 74323, 315, 279, 3424, 5144, 430, 527, 3118, 304, 420, 4441, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 4957, 551, 3959, 56236, 422, 279, 40635, 374, 16997, 520, 279, 31206, 477, 25524, 2237, 13, 551, 25524, 13387, 43943, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2981, 551, 3959, 56236, 279, 33299, 477, 43030, 4595, 6532, 304, 26679, 279, 3424, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2776, 1055, 685, 749, 43943, 821, 51248, 6512, 12212, 551, 578, 75678, 520, 902, 279, 35876, 18052, 374, 10887, 13, 551, 2273, 1227, 551, 2132, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2776, 1055, 685, 749, 43943, 821, 51248, 13, 49575, 1857, 551, 578, 955, 315, 30945, 61002, 40126, 430, 574, 46836, 382, 36482, 2819, 527, 1473, 91, 68372, 61002, 89457, 692, 765, 7817, 7714, 36821, 91, 14730, 16974, 765, 20308, 23573, 36821, 91, 54405, 45, 4592, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 4907, 36821, 91, 54405, 45, 21089, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 9499, 36821, 91, 54405, 45, 2898, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 9499, 36821, 91, 54405, 45, 11079, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 1218, 12130, 3368, 765, 551, 452, 11079, 22812, 2898, 22812, 4592, 22812, 21089, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 37732, 551, 17262, 315, 279, 12472, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2981, 551, 3959, 56236, 279, 33299, 477, 43030, 4595, 6532, 304, 26679, 279, 3424, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2776, 1055, 685, 749, 43943, 821, 51248, 6512, 12212, 551, 578, 75678, 520, 902, 279, 35876, 18052, 374, 10887, 13, 551, 2273, 1227, 551, 2132, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2776, 1055, 685, 749, 43943, 821, 51248, 13, 49575, 1857, 551, 578, 955, 315, 30945, 61002, 40126, 430, 574, 46836, 382, 36482, 2819, 527, 1473, 91, 68372, 61002, 89457, 692, 765, 7817, 7714, 36821, 91, 14730, 16974, 765, 20308, 23573, 36821, 91, 54405, 45, 4592, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 4907, 36821, 91, 54405, 45, 21089, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 9499, 36821, 91, 54405, 45, 2898, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 9499, 36821, 91, 54405, 45, 11079, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 1218, 12130, 3368, 765, 551, 452, 11079, 22812, 2898, 22812, 4592, 22812, 21089, 198, 8234, 21661, 73318, 4269, 41779, 16597, 21957, 27895, 1748, 86450, 1704, 35961, 551, 578, 46406, 315, 279, 10672, 24310, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 4957, 551, 3959, 56236, 422, 279, 40635, 374, 16997, 520, 279, 31206, 477, 25524, 2237, 13, 551, 25524, 13387, 43943, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2981, 551, 3959, 56236, 279, 33299, 477, 43030, 4595, 6532, 304, 26679, 279, 3424, 13, 551, 610, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2776, 1055, 685, 749, 43943, 821, 51248, 6512, 12212, 551, 578, 75678, 520, 902, 279, 35876, 18052, 374, 10887, 13, 551, 2273, 1227, 551, 2132, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2776, 1055, 685, 749, 43943, 821, 51248, 13, 49575, 1857, 551, 578, 955, 315, 30945, 61002, 40126, 430, 574, 46836, 382, 36482, 2819, 527, 1473, 91, 68372, 61002, 89457, 692, 765, 7817, 7714, 36821, 91, 14730, 16974, 765, 20308, 23573, 36821, 91, 54405, 45, 4592, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 4907, 36821, 91, 54405, 45, 21089, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 9499, 36821, 91, 54405, 45, 2898, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 9499, 36821, 91, 54405, 45, 11079, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 1218, 12130, 3368, 765, 551, 452, 11079, 22812, 2898, 22812, 4592, 22812, 21089, 198, 8234, 21661, 13, 47194, 68436, 40656, 1276, 19862, 292, 60799, 551, 1556, 7698, 38938, 279, 1396, 315, 39445, 15696, 304, 279, 198, 7993, 11, 13890, 311, 279, 1396, 315, 2536, 38029, 10925, 304, 198, 43639, 9962, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 40656, 1276, 69700, 551, 1556, 7698, 38938, 279, 3160, 315, 279, 95481, 25521, 38319, 3424, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 40656, 25606, 28039, 551, 20880, 315, 279, 2849, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 5973, 551, 17736, 315, 279, 1176, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 960, 551, 17736, 315, 279, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 522, 551, 17736, 315, 279, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 24879, 551, 37337, 1990, 2132, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 63029, 551, 37337, 1990, 1176, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 74401, 551, 37337, 1990, 1176, 323, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 1276, 19862, 292, 60799, 551, 1556, 7698, 38938, 279, 1396, 315, 39445, 15696, 304, 279, 198, 7993, 11, 13890, 311, 279, 1396, 315, 2536, 38029, 10925, 304, 198, 43639, 9962, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 1276, 69700, 551, 1556, 7698, 38938, 279, 3160, 315, 279, 95481, 25521, 38319, 3424, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 25606, 28039, 551, 20880, 315, 279, 2849, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 5973, 551, 17736, 315, 279, 1176, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 960, 551, 17736, 315, 279, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 522, 551, 17736, 315, 279, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 24879, 551, 37337, 1990, 2132, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 63029, 551, 37337, 1990, 1176, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 74401, 551, 37337, 1990, 1176, 323, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 85187, 1276, 19862, 292, 60799, 551, 1556, 7698, 38938, 279, 1396, 315, 39445, 15696, 304, 279, 198, 7993, 11, 13890, 311, 279, 1396, 315, 2536, 38029, 10925, 304, 198, 43639, 9962, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 85187, 1276, 69700, 551, 1556, 7698, 38938, 279, 3160, 315, 279, 95481, 25521, 38319, 3424, 13, 551, 528, 198, 8234, 21661, 13, 47194, 68436, 85187, 25606, 28039, 551, 20880, 315, 279, 2849, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 5973, 551, 17736, 315, 279, 1176, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 960, 551, 17736, 315, 279, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 522, 551, 17736, 315, 279, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 24879, 551, 37337, 1990, 2132, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 63029, 551, 37337, 1990, 1176, 323, 4948, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 74401, 551, 37337, 1990, 1176, 323, 2132, 8197, 4724, 13, 551, 2273, 1227, 551, 9038, 1122, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 5265, 551, 578, 12903, 5613, 1963, 13, 551, 528, 843, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 2894, 551, 578, 5150, 907, 315, 279, 7200, 13225, 13, 5273, 315, 7315, 15151, 264, 5355, 11218, 7200, 13225, 323, 198, 285, 12742, 505, 8336, 32161, 904, 7200, 13225, 19179, 477, 22702, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 4957, 551, 17366, 13225, 955, 13, 551, 2167, 11, 485, 1248, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 91571, 623, 7569, 1534, 551, 13440, 279, 59580, 374, 12903, 2320, 7569, 1534, 11, 602, 1770, 13, 374, 5727, 12006, 369, 2225, 198, 42682, 2819, 13, 551, 1845, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 5265, 551, 578, 12903, 5613, 1963, 13, 551, 528, 843, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 2894, 551, 578, 5150, 907, 315, 279, 7200, 13225, 13, 5273, 315, 7315, 15151, 264, 5355, 11218, 7200, 13225, 323, 198, 285, 12742, 505, 8336, 32161, 904, 7200, 13225, 19179, 477, 22702, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 4957, 551, 17366, 13225, 955, 13, 551, 2167, 11, 485, 1248, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 91571, 623, 7569, 1534, 551, 13440, 279, 59580, 374, 12903, 2320, 7569, 1534, 11, 602, 1770, 13, 374, 5727, 12006, 369, 2225, 198, 42682, 2819, 13, 551, 1845, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 7001, 16756, 291, 551, 13440, 279, 59580, 706, 2038, 922, 41579, 320, 43590, 37619, 19670, 37619, 323, 5255, 65691, 7058, 5094, 291, 570, 551, 1845, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 5265, 551, 578, 12903, 5613, 1963, 13, 551, 528, 843, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 2894, 551, 578, 5150, 907, 315, 279, 7200, 13225, 13, 5273, 315, 7315, 15151, 264, 5355, 11218, 7200, 13225, 323, 198, 285, 12742, 505, 8336, 32161, 904, 7200, 13225, 19179, 477, 22702, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 4957, 551, 17366, 13225, 955, 13, 551, 2167, 11, 485, 1248, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 91571, 623, 7569, 1534, 551, 13440, 279, 7200, 6070, 374, 12903, 2320, 7569, 1534, 11, 602, 1770, 13, 374, 5727, 12006, 198, 2000, 2225, 12903, 2819, 13, 551, 1845, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 5265, 551, 578, 12903, 5613, 1963, 13, 551, 528, 843, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 2894, 551, 578, 5150, 907, 315, 279, 7200, 13225, 13, 5273, 315, 7315, 15151, 264, 5355, 11218, 7200, 13225, 323, 198, 285, 12742, 505, 8336, 32161, 904, 7200, 13225, 19179, 477, 22702, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 4957, 551, 17366, 13225, 955, 13, 551, 2167, 11, 485, 1248, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 749, 39100, 91571, 49065, 99863, 12127, 15040, 551, 35721, 369, 279, 2592, 315, 279, 828, 25, 364, 60529, 6, 477, 364, 84872, 4527, 551, 9526, 10900, 61461, 198, 8234, 21661, 749, 39100, 749, 39100, 646, 355, 1512, 3225, 15040, 551, 35721, 369, 279, 2592, 315, 279, 828, 25, 364, 60529, 6, 477, 364, 84872, 4527, 551, 9526, 10900, 61461, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 1770, 544, 10603, 551, 7572, 14747, 3369, 5979, 2301, 315, 264, 13238, 2849, 304, 11668, 19032, 551, 2273, 1227, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 12749, 19100, 551, 22748, 8331, 315, 264, 13238, 2849, 304, 10973, 2819, 320, 1527, 220, 15, 311, 220, 16, 570, 551, 2273, 1227, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 5949, 669, 38368, 63856, 551, 5377, 16622, 22465, 315, 264, 13238, 2849, 13, 551, 2273, 1227, 551, 16798, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 27764, 669, 38368, 11327, 54449, 551, 10928, 16622, 1510, 17915, 315, 264, 13238, 2849, 13, 551, 2273, 1227, 551, 23598, 486, 611, 23819, 3146, 220, 17, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 13, 77665, 2617, 81287, 551, 578, 3177, 21261, 2391, 279, 17244, 19179, 13, 551, 2273, 1227, 551, 67272, 611, 23819, 3146, 220, 17, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 18861, 15380, 551, 578, 2860, 3158, 315, 279, 2849, 2391, 17244, 323, 20334, 22323, 1234, 77052, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 17, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 18861, 35430, 42234, 551, 14227, 18112, 315, 279, 13238, 2849, 13, 26379, 527, 512, 63, 20553, 11529, 1430, 21963, 600, 7964, 1595, 13576, 7964, 1595, 70873, 7964, 2564, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 18861, 15897, 551, 84922, 315, 279, 4553, 3756, 13, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 14914, 269, 655, 551, 22855, 269, 655, 13931, 1511, 304, 279, 13238, 2849, 13, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 14914, 269, 655, 766, 29997, 367, 551, 78719, 23524, 279, 59251, 315, 279, 15938, 655, 6324, 13, 26379, 527, 512, 63, 42838, 23283, 1113, 7964, 1595, 35212, 96649, 7964, 1595, 43824, 1529, 2277, 7964, 2564, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 1770, 70329, 47498, 12969, 551, 77976, 44010, 3729, 13931, 1511, 304, 279, 13238, 2849, 13, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 870, 1286, 47498, 12969, 551, 52029, 44010, 3729, 13931, 1511, 304, 279, 13238, 2849, 13, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 18497, 349, 551, 3804, 71015, 13931, 1511, 304, 279, 13238, 2849, 13, 551, 610, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 7485, 21245, 551, 6984, 3729, 13931, 1511, 304, 279, 13238, 2849, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 2710, 551, 4076, 315, 279, 34454, 70504, 1296, 13010, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 4957, 551, 55982, 315, 279, 34454, 70504, 1296, 13010, 1778, 439, 51715, 307, 367, 11, 40602, 4469, 367, 345, 3957, 26429, 2065, 11, 18733, 12127, 1131, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 55782, 1821, 2710, 551, 358, 3202, 1741, 836, 315, 279, 312, 8252, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 55782, 1821, 1326, 300, 3464, 94376, 1265, 551, 650, 1152, 16743, 20545, 320, 82190, 8, 315, 279, 312, 8252, 304, 279, 5510, 6962, 627, 15346, 387, 264, 907, 1990, 220, 15, 323, 220, 16, 13, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 55782, 1821, 1326, 300, 3464, 94376, 6196, 551, 650, 1152, 16743, 20545, 320, 82190, 8, 315, 279, 312, 8252, 1306, 279, 38729, 627, 15346, 387, 264, 907, 1990, 220, 15, 323, 220, 16, 13, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 55782, 1821, 2932, 4464, 551, 43609, 315, 279, 14085, 519, 11, 304, 19032, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 2710, 551, 4076, 315, 279, 2027, 11, 52754, 279, 358, 3202, 1741, 836, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 1326, 300, 3464, 94376, 1265, 551, 650, 1152, 16743, 20545, 320, 82190, 8, 315, 279, 312, 8252, 304, 279, 5510, 6962, 627, 15346, 387, 264, 907, 1990, 220, 15, 323, 220, 16, 13, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 1326, 300, 3464, 94376, 6196, 551, 650, 1152, 16743, 20545, 320, 82190, 8, 315, 279, 312, 8252, 1306, 279, 38729, 627, 15346, 387, 264, 907, 1990, 220, 15, 323, 220, 16, 13, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 9911, 1968, 551, 8593, 1968, 315, 279, 2027, 11, 304, 19032, 551, 2273, 1227, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 36983, 3084, 84809, 551, 11746, 7394, 12303, 823, 315, 279, 2027, 11, 304, 3148, 2027, 824, 3148, 51483, 824, 892, 13, 551, 2273, 1227, 551, 220, 16, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 2710, 551, 358, 3202, 1741, 836, 315, 279, 312, 8252, 6832, 4478, 374, 17439, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 1351, 1335, 9430, 551, 578, 4478, 315, 279, 1396, 315, 14085, 519, 477, 2027, 35715, 16489, 14, 8723, 2041, 345, 716, 3148, 315, 2860, 51483, 11, 824, 892, 13, 551, 2273, 1227, 551, 35751, 611, 23882, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 516, 15934, 37814, 9430, 551, 578, 3230, 4478, 315, 279, 14085, 519, 11, 824, 3148, 315, 4642, 51483, 3777, 198, 2069, 1326, 13, 9501, 570, 551, 2273, 1227, 551, 35751, 611, 23882, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 516, 15934, 32130, 15380, 9430, 551, 578, 3230, 4478, 315, 279, 14085, 519, 11, 824, 7479, 3158, 315, 4642, 51483, 13, 551, 2273, 1227, 551, 35751, 611, 23819, 3146, 220, 17, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 46734, 2017, 41232, 551, 578, 48639, 11900, 11, 16997, 505, 22337, 315, 14085, 519, 477, 2027, 824, 198, 4174, 315, 6732, 927, 892, 13, 551, 2273, 1227, 551, 220, 16, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 75466, 551, 578, 13010, 9499, 1161, 8, 304, 279, 34454, 70504, 38729, 2391, 264, 11742, 13010, 13, 551, 2273, 1227, 551, 49328, 9799, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 70908, 554, 551, 578, 7410, 2391, 279, 34454, 70504, 1296, 13010, 13, 551, 2273, 1227, 551, 281, 36940, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 26210, 33392, 398, 15005, 40766, 551, 578, 4785, 47729, 3634, 15798, 304, 220, 16, 36363, 320, 40625, 6530, 824, 51483, 3148, 570, 551, 2273, 1227, 551, 2606, 321, 2058, 611, 23882, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 1326, 300, 33392, 398, 15005, 40766, 551, 578, 6962, 47729, 3634, 15798, 304, 220, 16, 36363, 320, 40625, 6530, 824, 51483, 8286, 570, 551, 2273, 1227, 551, 220, 16, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 35171, 9430, 551, 578, 63920, 16743, 6962, 6530, 304, 8286, 824, 892, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 18, 611, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 6512, 4570, 12962, 551, 578, 892, 389, 4365, 315, 279, 51483, 304, 279, 34454, 70504, 13010, 13, 551, 2273, 1227, 551, 2132, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 722, 4842, 68913, 18271, 23830, 551, 578, 5144, 315, 14085, 1821, 315, 279, 13010, 477, 36256, 3094, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 722, 4842, 68913, 44980, 23830, 551, 578, 5144, 315, 3956, 315, 279, 13010, 477, 36256, 3094, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 722, 4842, 68913, 1351, 1335, 28525, 12130, 3368, 551, 578, 13010, 1218, 12130, 3368, 315, 279, 13010, 477, 13010, 3094, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 722, 4842, 68913, 85923, 35895, 551, 578, 320, 680, 1415, 8, 15449, 4907, 315, 279, 34454, 88, 16284, 13010, 477, 13010, 3094, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 522, 4306, 599, 1292, 551, 8572, 836, 315, 51483, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 6357, 36235, 9209, 551, 578, 1925, 18459, 1749, 315, 279, 51483, 6205, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 522, 4306, 599, 1857, 551, 578, 955, 315, 51483, 11, 289, 2791, 9501, 477, 51180, 11, 1646, 11, 20155, 11, 7396, 11, 77594, 627, 33189, 2819, 649, 3881, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 48279, 2065, 37184, 551, 362, 1160, 315, 5528, 1511, 311, 70755, 279, 51483, 6205, 13, 551, 610, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 77925, 15380, 551, 578, 7479, 3158, 824, 51483, 3148, 13, 551, 2273, 1227, 551, 23819, 3146, 220, 17, 611, 23882, 198, 8234, 21661, 749, 4842, 45983, 70509, 28039, 44507, 4957, 551, 256, 551, 15606, 331, 2253, 8646, 8568, 404, 331, 918, 351, 9866, 8568, 404, 331, 722, 399, 97269, 13387, 648, 16057, 2957, 24004, 13387, 399, 97269, 11, 4853, 44813, 598, 5487, 986, 7385, 414, 1291, 67708, 519, 8083, 11, 1059, 14287, 1339, 11, 9799, 295, 198, 8234, 21661, 749, 4842, 45983, 89691, 7632, 19990, 4957, 551, 3959, 56236, 279, 38152, 369, 19546, 279, 907, 13, 551, 15606, 331, 2253, 8646, 8568, 404, 331, 918, 351, 9866, 8568, 404, 331, 722, 399, 97269, 13387, 648, 16057, 2957, 24004, 13387, 399, 97269, 11, 4853, 44813, 598, 5487, 986, 7385, 414, 1291, 67708, 519, 8083, 39225, 1892, 39694, 14287, 1339, 11, 9799, 295, 11, 3415, 18400, 39694, 11, 3415, 18400, 1311, 1892, 1552, 484, 39694, 198, 8234, 21661, 749, 4842, 45983, 89691, 7632, 19990, 2894, 551, 62020, 75124, 907, 13, 551, 2273, 1227, 551, 281, 36940, 198, 8234, 21661, 749, 4842, 45983, 516, 87160, 7632, 19990, 4957, 551, 3959, 56236, 279, 38152, 369, 19546, 279, 907, 13, 551, 312, 1892, 39694, 11, 3415, 18400, 39694, 11, 3415, 18400, 1311, 1892, 1552, 484, 39694, 198, 8234, 21661, 749, 4842, 45983, 516, 87160, 7632, 19990, 2894, 551, 3005, 277, 75124, 907, 13, 551, 2273, 1227, 551, 281, 36940, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 48211, 26216, 551, 74323, 315, 279, 3424, 5144, 430, 527, 3118, 304, 420, 35782, 13, 551, 4907, 59052, 2335, 11, 47074, 11, 35658, 14605, 4765, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 2776, 1055, 685, 749, 43943, 821, 51248, 6512, 12212, 551, 578, 75678, 520, 902, 279, 35876, 18052, 374, 10887, 13, 551, 2273, 1227, 551, 2132, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 2776, 1055, 685, 749, 43943, 821, 51248, 13, 49575, 1857, 551, 578, 955, 315, 30945, 61002, 40126, 430, 574, 46836, 382, 36482, 2819, 527, 1473, 91, 68372, 61002, 89457, 692, 765, 7817, 7714, 36821, 91, 14730, 16974, 765, 20308, 23573, 36821, 91, 54405, 45, 4592, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 4907, 36821, 91, 54405, 45, 21089, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 8286, 11, 323, 9499, 36821, 91, 54405, 45, 2898, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 9499, 36821, 91, 54405, 45, 11079, 41017, 1881, 765, 19863, 1396, 315, 19252, 11, 7410, 11, 323, 1218, 12130, 3368, 765, 551, 452, 11079, 22812, 2898, 22812, 4592, 22812, 21089, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 4957, 551, 35721, 369, 279, 38152, 2884, 311, 6994, 279, 63697, 828, 25, 469, 98952, 11, 1630, 1950, 11, 1630, 5119, 11, 5099, 13, 551, 469, 98952, 11, 3337, 8440, 50, 24412, 55, 1669, 30341, 1111, 1600, 30341, 1950, 30341, 1600, 30341, 5119, 11, 359, 10547, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2981, 551, 35721, 369, 279, 2592, 315, 279, 63697, 828, 11, 3060, 364, 884, 13623, 6, 477, 364, 60529, 4527, 551, 35547, 11, 60529, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 2053, 42213, 1279, 1857, 551, 80119, 955, 13, 551, 610, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 2053, 87531, 551, 12634, 11175, 315, 279, 32314, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 2053, 6817, 35895, 551, 27697, 4907, 315, 279, 32314, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 2053, 4456, 35895, 551, 32025, 4907, 315, 279, 32314, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 772, 8535, 39383, 2981, 551, 3308, 477, 955, 315, 279, 17033, 685, 627, 6854, 387, 1511, 311, 923, 4726, 4096, 311, 279, 17033, 685, 13, 551, 610, 198, 8234, 21661, 34930, 15382, 67064, 2932, 81848, 93169, 35895, 48625, 551, 578, 1988, 4907, 6811, 25065, 37057, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 34930, 15382, 67064, 2932, 81848, 93169, 41839, 94681, 551, 578, 1988, 7340, 4272, 5457, 25065, 37057, 13, 551, 2273, 1227, 551, 502, 783, 198, 8234, 21661, 34930, 15382, 67064, 44980, 41839, 94681, 551, 578, 7340, 4272, 5457, 304, 279, 1566, 26329, 3094, 13, 551, 2273, 1227, 551, 502, 783, 198, 8234, 21661, 34930, 15382, 67064, 44980, 35895, 48625, 551, 578, 6811, 304, 279, 4907, 11017, 1990, 279, 1566, 1403, 7504, 2391, 198, 19680, 2065, 13, 551, 2273, 1227, 551, 28068, 273, 198, 8234, 21661, 34930, 15382, 67064, 44980, 10135, 16491, 94681, 551, 578, 7340, 44153, 304, 279, 1566, 26329, 3094, 449, 5201, 311, 3766, 13, 551, 2273, 1227, 551, 23819, 198, 8234, 16230, 77, 73272, 551, 578, 955, 315, 14491, 1511, 304, 10925, 311, 2778, 369, 13, 3296, 1670, 1521, 527, 279, 5144, 198, 1073, 279, 1511, 3857, 17931, 13, 551, 610, 198, 8234, 16230, 77, 33608, 551, 10928, 9681, 430, 527, 5505, 311, 6288, 2778, 3196, 389, 5370, 198, 882, 4613, 13186, 13, 551, 610, 198, 8234, 16230, 77, 48975, 551, 10928, 3823, 34898, 323, 53944, 5144, 430, 5101, 304, 198, 2818, 45, 10925, 13, 551, 610, 198, 8234, 16230, 77, 17853, 25712, 551, 364, 35075, 28887, 430, 5101, 304, 17705, 45, 10925, 13, 551, 610, 198, 8234, 16230, 77, 1896, 38818, 551, 578, 836, 477, 955, 315, 14473, 1511, 304, 459, 5820, 11, 384, 1326, 13, 1920, 477, 198, 82525, 13, 551, 610, 198, 8234, 16230, 77, 44013, 551, 578, 836, 477, 279, 9435, 1749, 304, 459, 5820, 11, 384, 1326, 13, 1920, 477, 19179, 551, 610, 198, 8234, 16230, 77, 56382, 8237, 551, 578, 27692, 3230, 887, 369, 904, 1537, 11, 384, 1326, 13, 6205, 11, 11742, 11, 14473, 13, 551, 610, 198, 8234, 24585, 551, 11360, 8649, 2038, 389, 279, 3769, 18528, 323, 6070, 13, 551, 2290, 198, 8234, 24585, 12613, 278, 3038, 3571, 551, 11360, 8649, 2038, 922, 279, 20545, 315, 459, 2449, 345, 286, 2728, 555, 1202, 25524, 323, 3148, 19983, 2949, 279, 1887, 477, 3769, 13, 551, 2290, 198, 8234, 24585, 52001, 33342, 551, 11360, 8649, 2038, 922, 279, 46220, 315, 279, 3769, 13, 2052, 198, 286, 315, 1521, 6012, 527, 14592, 555, 4401, 264, 46220, 6492, 389, 264, 198, 286, 18740, 17484, 505, 279, 4113, 828, 13, 1115, 4113, 17484, 198, 286, 374, 9967, 304, 3135, 21661, 3871, 449, 279, 28694, 323, 198, 286, 21349, 14726, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 551, 3959, 56236, 264, 264, 24693, 961, 430, 706, 1027, 11054, 2949, 279, 4441, 627, 286, 3297, 387, 5552, 311, 1023, 6067, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 6990, 7085, 551, 3959, 56236, 279, 25524, 6070, 315, 279, 7106, 1887, 13, 1115, 5764, 279, 19670, 10093, 11, 55372, 23728, 11, 5099, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 12613, 278, 3038, 3571, 551, 11360, 8649, 2038, 922, 279, 20545, 315, 459, 2449, 345, 286, 2728, 555, 1202, 25524, 323, 3148, 19983, 2949, 279, 1887, 477, 3769, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 16315, 48084, 551, 31911, 2038, 922, 279, 12976, 1990, 1403, 2204, 6067, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 25606, 551, 12094, 315, 264, 5089, 2849, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 52001, 33342, 551, 11360, 8649, 2038, 922, 279, 46220, 6012, 315, 264, 198, 286, 21349, 2849, 5552, 311, 264, 1887, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 52001, 33342, 1444, 88, 377, 1885, 21992, 551, 11360, 369, 28672, 24100, 377, 1885, 743, 2038, 13, 8442, 2561, 369, 198, 286, 21349, 7917, 430, 617, 64238, 46220, 6492, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 749, 22029, 31196, 2617, 551, 48949, 2617, 1396, 315, 459, 2449, 11, 902, 11105, 279, 1396, 315, 33299, 6089, 70241, 311, 279, 2449, 13, 551, 2290, 198, 8234, 24585, 8947, 2508, 13930, 8908, 4590, 1147, 551, 256, 551, 2290, 198, 8234, 13204, 551, 31911, 264, 12399, 315, 279, 38152, 430, 706, 1027, 1511, 304, 420, 4441, 627, 286, 1115, 38152, 17208, 311, 682, 315, 279, 5068, 6012, 323, 198, 286, 27667, 279, 1121, 315, 264, 3254, 4907, 5720, 1516, 13, 578, 3927, 198, 286, 6012, 1253, 387, 4726, 1749, 5848, 3649, 7958, 384, 1326, 13, 279, 198, 286, 25936, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 551, 31911, 1749, 3649, 369, 264, 19576, 4441, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 962, 728, 551, 6872, 2508, 369, 264, 423, 4082, 22702, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 962, 728, 870, 21340, 569, 4803, 276, 309, 13915, 5156, 551, 19139, 315, 279, 81000, 1646, 1511, 304, 423, 4082, 10, 52, 551, 2290, 198, 8234, 13204, 29716, 2987, 36386, 551, 6872, 2508, 369, 264, 75446, 7826, 4049, 22702, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 1326, 86, 551, 6872, 2508, 369, 264, 42353, 22702, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 960, 325, 551, 6872, 2508, 369, 264, 426, 937, 22702, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 81183, 728, 551, 6872, 2508, 369, 264, 20804, 4082, 22702, 13, 551, 2290, 198, 8234, 13204, 29716, 2987, 78702, 372, 669, 1026, 551, 256, 551, 2290, 198, 8234, 13204, 29716, 2987, 78702, 372, 669, 1026, 78702, 372, 669, 38368, 551, 256, 551, 2290, 198, 8234, 13204, 29716, 2987, 81941, 551, 31911, 5137, 369, 26991, 477, 38663, 279, 56541, 315, 279, 14683, 6070, 13, 551, 2290, 198, 8234, 13204, 17777, 25357, 551, 31911, 1749, 3649, 369, 264, 19179, 4441, 13, 551, 2290, 198, 8234, 13204, 17777, 25357, 2036, 6634, 551, 6872, 2508, 369, 459, 1630, 79504, 29469, 16597, 19179, 13, 551, 2290, 198, 8234, 21661, 551, 31911, 279, 7106, 6012, 430, 617, 1027, 16997, 477, 1511, 304, 198, 286, 420, 4441, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 551, 73800, 6012, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 551, 21254, 532, 8141, 734, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2776, 1055, 685, 551, 31911, 17033, 685, 2038, 369, 6012, 14592, 505, 31206, 198, 286, 30295, 47590, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 46779, 532, 42565, 9353, 2776, 1055, 685, 749, 43943, 821, 51248, 551, 6872, 2508, 369, 31206, 30295, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 551, 31911, 41553, 315, 56015, 2214, 2819, 439, 264, 35782, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2776, 1055, 685, 551, 31911, 17033, 685, 2038, 369, 6012, 14592, 505, 31206, 198, 286, 30295, 47590, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 35194, 3659, 1928, 88, 2214, 2776, 1055, 685, 749, 43943, 821, 51248, 551, 6872, 2508, 369, 31206, 30295, 13, 551, 2290, 198, 8234, 21661, 73318, 4269, 41779, 16597, 21957, 551, 29469, 16597, 5497, 13, 551, 2290, 198, 8234, 21661, 962, 11694, 950, 551, 33593, 950, 6012, 13, 551, 2290, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 551, 16729, 20685, 1636, 4185, 64635, 13, 551, 2290, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2776, 1055, 685, 551, 31911, 17033, 685, 2038, 369, 6012, 14592, 505, 31206, 198, 286, 30295, 47590, 13, 551, 2290, 198, 8234, 21661, 962, 11694, 950, 19231, 55741, 10135, 16491, 2776, 1055, 685, 749, 43943, 821, 51248, 551, 6872, 2508, 369, 31206, 30295, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 551, 31911, 2539, 19670, 4633, 44713, 315, 279, 3769, 304, 2204, 198, 286, 7739, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 40656, 551, 3959, 56236, 459, 19670, 4633, 6070, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 40656, 99339, 551, 12477, 311, 7664, 279, 9606, 315, 279, 6732, 315, 420, 6070, 13, 51567, 649, 387, 10748, 11742, 5540, 11, 477, 4200, 48689, 14272, 33299, 14393, 264, 29564, 30747, 315, 264, 198, 43068, 2816, 555, 5361, 11742, 5540, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 40656, 929, 32891, 18764, 551, 445, 32891, 5137, 315, 264, 2849, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 40656, 1444, 88, 377, 1885, 21992, 551, 11360, 369, 28672, 24100, 377, 1885, 743, 2038, 13, 8442, 2561, 369, 198, 286, 21349, 7917, 430, 617, 64238, 46220, 6492, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 551, 3959, 56236, 459, 19670, 4633, 6070, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 99339, 551, 12477, 311, 7664, 279, 9606, 315, 279, 6732, 315, 420, 6070, 13, 51567, 649, 387, 10748, 11742, 5540, 11, 477, 4200, 48689, 14272, 33299, 14393, 264, 29564, 30747, 315, 264, 198, 43068, 2816, 555, 5361, 11742, 5540, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 929, 32891, 18764, 551, 445, 32891, 5137, 315, 264, 2849, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 3464, 44322, 1444, 88, 377, 1885, 21992, 551, 11360, 369, 28672, 24100, 377, 1885, 743, 2038, 13, 8442, 2561, 369, 198, 286, 21349, 7917, 430, 617, 64238, 46220, 6492, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 85187, 551, 3959, 56236, 459, 19670, 4633, 6070, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 85187, 99339, 551, 12477, 311, 7664, 279, 9606, 315, 279, 6732, 315, 420, 6070, 13, 51567, 649, 387, 10748, 11742, 5540, 11, 477, 4200, 48689, 14272, 33299, 14393, 264, 29564, 30747, 315, 264, 198, 43068, 2816, 555, 5361, 11742, 5540, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 85187, 929, 32891, 18764, 551, 445, 32891, 5137, 315, 264, 2849, 13, 551, 2290, 198, 8234, 21661, 13, 47194, 68436, 85187, 1444, 88, 377, 1885, 21992, 551, 11360, 369, 28672, 24100, 377, 1885, 743, 2038, 13, 8442, 2561, 369, 198, 286, 21349, 7917, 430, 617, 64238, 46220, 6492, 13, 551, 2290, 198, 8234, 21661, 3211, 10892, 1697, 551, 60288, 1697, 6012, 13, 551, 2290, 198, 8234, 21661, 3211, 10892, 1697, 75339, 39383, 9981, 263, 263, 551, 1115, 3857, 10756, 2038, 389, 264, 17358, 1697, 7200, 6070, 198, 286, 16865, 3235, 832, 33520, 44014, 304, 279, 87298, 3634, 13, 551, 2290, 198, 8234, 21661, 3211, 10892, 1697, 962, 437, 9981, 263, 263, 551, 31911, 279, 51923, 263, 17915, 315, 5415, 13, 551, 2290, 198, 8234, 21661, 3211, 10892, 1697, 13, 20559, 36703, 36067, 28039, 551, 31911, 279, 2819, 315, 279, 3230, 320, 716, 3148, 8, 323, 374, 5059, 27456, 320, 18568, 198, 286, 8286, 8, 8798, 8824, 520, 2204, 20472, 13, 551, 2290, 198, 8234, 21661, 3211, 10892, 1697, 70509, 9082, 1552, 24037, 71, 6312, 89, 551, 31911, 279, 2819, 315, 279, 16183, 53016, 6312, 89, 1949, 4907, 824, 19670, 520, 6926, 198, 286, 8286, 323, 520, 2204, 20472, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 551, 35269, 6012, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 551, 256, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 75339, 52890, 2776, 1055, 685, 551, 220, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 551, 31911, 279, 2860, 14683, 17915, 315, 5415, 382, 286, 65991, 34892, 25, 433, 690, 9778, 387, 32690, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 551, 256, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 75339, 52890, 2776, 1055, 685, 551, 31911, 5347, 82049, 61336, 17033, 685, 2038, 627, 286, 2057, 387, 9967, 1234, 8825, 9817, 2776, 1055, 685, 477, 2911, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 551, 31911, 279, 14683, 73710, 315, 4273, 320, 35, 3204, 570, 1115, 3857, 649, 387, 11763, 311, 8464, 311, 198, 286, 2204, 81898, 320, 68, 1326, 2637, 2440, 284, 364, 35, 4082, 518, 364, 63665, 518, 364, 32260, 518, 5099, 25390, 323, 433, 649, 387, 12903, 2320, 7569, 1534, 198, 286, 477, 539, 13, 578, 1207, 22327, 828, 3585, 311, 1855, 320, 333, 3118, 8, 12903, 12006, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 551, 11360, 6782, 625, 279, 17915, 315, 5415, 828, 382, 286, 1102, 5764, 279, 2860, 59580, 323, 279, 28448, 59580, 2819, 13, 1226, 54263, 1595, 43590, 16756, 291, 63, 439, 279, 198, 286, 28448, 59580, 369, 1890, 25524, 9606, 11, 1595, 22612, 16756, 291, 63, 439, 279, 28448, 59580, 369, 2204, 198, 286, 33299, 304, 279, 2849, 11, 323, 1595, 30986, 2223, 16756, 291, 63, 439, 279, 28448, 59580, 369, 279, 27605, 1147, 315, 1855, 198, 286, 19670, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 551, 256, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 962, 437, 2253, 772, 8535, 6046, 2245, 75339, 52890, 2776, 1055, 685, 551, 31911, 5347, 82049, 61336, 17033, 685, 2038, 627, 286, 2057, 387, 9967, 1234, 8825, 9817, 2776, 1055, 685, 477, 2911, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 551, 1115, 3857, 10756, 2038, 389, 264, 4135, 14338, 7200, 6070, 198, 286, 16865, 3235, 832, 33520, 44014, 304, 279, 87298, 3634, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 551, 256, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 75339, 39383, 2253, 772, 8535, 75339, 52890, 2776, 1055, 685, 551, 31911, 5347, 82049, 61336, 17033, 685, 2038, 627, 286, 2057, 387, 9967, 1234, 8825, 9817, 2776, 1055, 685, 477, 2911, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 1326, 265, 729, 32808, 2253, 772, 8535, 551, 5464, 538, 369, 7997, 596, 5865, 2038, 13, 551, 2290, 198, 8234, 21661, 1770, 772, 8535, 1770, 47262, 5121, 50582, 551, 5464, 538, 369, 279, 9249, 2115, 20779, 2038, 13, 1115, 3857, 374, 9959, 198, 286, 369, 452, 18953, 323, 16964, 279, 4754, 8066, 856, 279, 97192, 304, 279, 1887, 13, 551, 2290, 198, 8234, 21661, 749, 39100, 551, 63755, 6012, 13, 551, 2290, 198, 8234, 21661, 749, 39100, 749, 39100, 3797, 100092, 551, 5464, 538, 369, 279, 25524, 24924, 97776, 2038, 13, 551, 2290, 198, 8234, 21661, 749, 39100, 91571, 49065, 99863, 12127, 551, 5464, 538, 369, 279, 12903, 82006, 59086, 2038, 13, 551, 2290, 198, 8234, 21661, 749, 39100, 749, 39100, 646, 355, 1512, 3225, 551, 5464, 538, 369, 279, 24924, 88636, 2038, 13, 551, 2290, 198, 8234, 21661, 29202, 4748, 772, 8535, 551, 16963, 4748, 772, 8535, 6012, 13, 551, 2290, 198, 8234, 21661, 29202, 4748, 772, 8535, 516, 7569, 17061, 551, 12094, 315, 13238, 7917, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 551, 12094, 23343, 311, 34454, 4548, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 551, 362, 4526, 315, 29803, 323, 6012, 315, 264, 2539, 34454, 70504, 13010, 627, 286, 1115, 1253, 2997, 13010, 4787, 11, 3135, 323, 7852, 4633, 13878, 315, 264, 13010, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 55782, 1821, 551, 362, 14085, 519, 304, 264, 34454, 70504, 1296, 13010, 13, 362, 14085, 519, 198, 286, 374, 11054, 555, 3515, 264, 14747, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 37262, 551, 362, 2027, 315, 264, 34454, 70504, 13010, 13, 362, 2027, 1618, 374, 6118, 11054, 555, 3515, 198, 286, 264, 3373, 1968, 11, 477, 264, 6962, 3464, 94376, 6196, 719, 912, 14, 14486, 6962, 3464, 94376, 1265, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1783, 988, 551, 11360, 10581, 2785, 5361, 44713, 315, 34454, 70504, 13010, 7969, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 55199, 551, 32934, 1234, 902, 264, 34454, 70504, 1296, 13010, 574, 10887, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 1351, 1335, 1351, 1335, 722, 4842, 68913, 551, 12094, 315, 3254, 7504, 315, 264, 34454, 70504, 13010, 17383, 13, 551, 2290, 198, 8234, 21661, 522, 4306, 70504, 522, 4306, 599, 551, 12094, 315, 264, 98882, 51483, 13, 551, 2290, 198, 8234, 21661, 749, 4842, 45983, 551, 51684, 6012, 13, 551, 2290, 198, 8234, 21661, 749, 4842, 45983, 70509, 28039, 44507, 551, 12634, 8286, 16029, 13, 551, 2290, 198, 8234, 21661, 749, 4842, 45983, 89691, 7632, 19990, 551, 31911, 20155, 75124, 2819, 16997, 449, 2204, 81898, 13, 551, 2290, 198, 8234, 21661, 749, 4842, 45983, 516, 87160, 7632, 19990, 551, 31911, 65344, 75124, 2819, 16997, 449, 2204, 81898, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 551, 68372, 61002, 6012, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 551, 68372, 61002, 6012, 5068, 369, 459, 40126, 42028, 304, 892, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 2776, 1055, 685, 551, 31911, 17033, 685, 2038, 369, 6012, 14592, 505, 31206, 198, 286, 30295, 47590, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 2776, 1055, 685, 749, 43943, 821, 51248, 551, 6872, 2508, 369, 31206, 30295, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 75466, 551, 31911, 9499, 2819, 26126, 520, 2204, 3115, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 70908, 554, 551, 31911, 7410, 2819, 26126, 520, 2204, 3115, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 41584, 551, 31911, 8286, 2819, 26126, 520, 2204, 3115, 13, 551, 2290, 198, 8234, 21661, 13, 700, 76, 61002, 13, 84887, 70509, 59052, 2335, 551, 31911, 4907, 2819, 26126, 520, 2204, 3115, 13, 551, 2290, 198, 8234, 21661, 516, 1002, 299, 58510, 551, 27726, 299, 58510, 6012, 13, 551, 2290, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 551, 5464, 538, 369, 27726, 969, 22702, 2038, 439, 12457, 505, 459, 9526, 477, 264, 35547, 13, 551, 2290, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 551, 31911, 17033, 685, 2038, 320, 3902, 398, 279, 38152, 3857, 8, 369, 63697, 6012, 198, 286, 14592, 505, 459, 9526, 477, 264, 22702, 13, 551, 2290, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 2053, 551, 5464, 538, 369, 279, 469, 98952, 38152, 13, 551, 2290, 198, 8234, 21661, 516, 1002, 299, 58510, 516, 1002, 969, 2776, 1055, 685, 1770, 772, 8535, 39383, 551, 220, 551, 2290, 198, 8234, 21661, 34930, 15382, 67064, 551, 40018, 26329, 3135, 323, 5110, 13, 551, 2290, 198, 8234, 16230, 77, 551, 256, 551, 2290, 198, 128009, 128006, 882, 128007, 271, 88765, 10925, 315, 25674, 25719, 1425, 304, 264, 289, 5757, 89, 635, 6070, 13, 128009, 128006, 78191, 128007], encoder_prompt=None, encoder_prompt_token_ids=None, prompt_logprobs=None, outputs=[CompletionOutput(index=0, text='', token_ids=(128009,), cumulative_logprob=None, logprobs=None, finish_reason=stop, stop_reason=None)], finished=True, metrics=RequestMetrics(arrival_time=1743501101.1243887, last_token_time=1743501270.1914291, first_scheduled_time=1743501101.1605785, first_token_time=1743501270.1914291, time_in_queue=0.03618979454040527, finished_time=1743501270.19282, scheduler_time=0.01062816206831485, model_forward_time=None, model_execute_time=None), lora_request=LoRARequest(lora_name='api_lora', lora_int_id=1, lora_path='work/ai-copiltot-ft/models/unsloth_Meta-Llama-3.1-8B-Instruct-bnb-4bit/version_26/lora_model/', lora_local_path=None, long_lora_max_len=None, base_model_name=None), num_cached_tokens=19616, multi_modal_placeholders={})]"
+      ]
+     },
+     "execution_count": 17,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "o"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 30,
+   "id": "370197ee-a5b5-482f-a1bf-7fbda3b322e1",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from vllm.sampling_params import BeamSearchParams\n",
+    "params = BeamSearchParams(beam_width=5, max_tokens=50)\n",
+    "outputs = llm.beam_search([{\"prompt\": \"Hello, my name is \"}], params)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "id": "2db87732-8dc5-4837-afea-faac5839c7f2",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "878"
+      ]
+     },
+     "execution_count": 19,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "len(o[0].outputs[1].text)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "e272f841-ed77-48cb-9ac5-7d295afa14ea",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [],
+   "source": [
+    "model_path=\"huggingface/hub/models--pilar12--nomad-api-writer/snapshots/46c67bfbdd28e49ccc96e0e2cca639c025ae3238\""
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "afc495ba-98bc-414f-9a8c-da680ddd5c51",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "INFO 03-27 15:52:03 config.py:542] This model supports multiple tasks: {'score', 'reward', 'embed', 'classify', 'generate'}. Defaulting to 'generate'.\n",
+      "WARNING 03-27 15:52:03 arg_utils.py:1135] Chunked prefill is enabled by default for models with max_model_len > 32K. Currently, chunked prefill might not work with some features or models. If you encounter any issues, please disable chunked prefill by setting --enable-chunked-prefill=False.\n",
+      "INFO 03-27 15:52:03 config.py:1556] Chunked prefill is enabled with max_num_batched_tokens=2048.\n",
+      "INFO 03-27 15:52:03 llm_engine.py:234] Initializing a V0 LLM engine (v0.7.2) with config: model='huggingface/hub/models--pilar12--nomad-api-writer/snapshots/46c67bfbdd28e49ccc96e0e2cca639c025ae3238', speculative_config=None, tokenizer='huggingface/hub/models--pilar12--nomad-api-writer/snapshots/46c67bfbdd28e49ccc96e0e2cca639c025ae3238', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, override_neuron_config=None, tokenizer_revision=None, trust_remote_code=True, dtype=torch.bfloat16, max_seq_len=131072, download_dir=None, load_format=LoadFormat.AUTO, tensor_parallel_size=1, pipeline_parallel_size=1, disable_custom_all_reduce=False, quantization=None, enforce_eager=False, kv_cache_dtype=auto,  device_config=cuda, decoding_config=DecodingConfig(guided_decoding_backend='xgrammar'), observability_config=ObservabilityConfig(otlp_traces_endpoint=None, collect_model_forward_time=False, collect_model_execute_time=False), seed=0, served_model_name=huggingface/hub/models--pilar12--nomad-api-writer/snapshots/46c67bfbdd28e49ccc96e0e2cca639c025ae3238, num_scheduler_steps=1, multi_step_stream_outputs=True, enable_prefix_caching=True, chunked_prefill_enabled=True, use_async_output_proc=True, disable_mm_preprocessor_cache=False, mm_processor_kwargs=None, pooler_config=None, compilation_config={\"splitting_ops\":[],\"compile_sizes\":[],\"cudagraph_capture_sizes\":[256,248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,4,2,1],\"max_capture_size\":256}, use_cached_outputs=False, \n",
+      "INFO 03-27 15:52:05 cuda.py:230] Using Flash Attention backend.\n",
+      "INFO 03-27 15:52:05 model_runner.py:1110] Starting to load model huggingface/hub/models--pilar12--nomad-api-writer/snapshots/46c67bfbdd28e49ccc96e0e2cca639c025ae3238...\n"
+     ]
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "a5e0bf50f9f14ce3960ae8cf0bb0b1bc",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Loading safetensors checkpoint shards:   0% Completed | 0/4 [00:00<?, ?it/s]\n"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "INFO 03-27 15:52:18 model_runner.py:1115] Loading model weights took 14.9888 GB\n",
+      "INFO 03-27 15:52:19 worker.py:267] Memory profiling takes 0.48 seconds\n",
+      "INFO 03-27 15:52:19 worker.py:267] the current vLLM instance can use total_gpu_memory (79.25GiB) x gpu_memory_utilization (0.90) = 71.33GiB\n",
+      "INFO 03-27 15:52:19 worker.py:267] model weights take 14.99GiB; non_torch_memory takes 0.09GiB; PyTorch activation peak memory takes 1.19GiB; the rest of the memory reserved for KV Cache is 55.06GiB.\n",
+      "INFO 03-27 15:52:19 executor_base.py:110] # CUDA blocks: 28190, # CPU blocks: 2048\n",
+      "INFO 03-27 15:52:19 executor_base.py:115] Maximum concurrency for 131072 tokens per request: 3.44x\n"
+     ]
+    },
+    {
+     "ename": "OutOfMemoryError",
+     "evalue": "CUDA out of memory. Tried to allocate 1.72 GiB. GPU 0 has a total capacity of 79.25 GiB of which 383.19 MiB is free. Process 45885 has 11.72 GiB memory in use. Including non-PyTorch memory, this process has 67.14 GiB memory in use. Of the allocated memory 66.62 GiB is allocated by PyTorch, and 29.30 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management  (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mOutOfMemoryError\u001b[0m                          Traceback (most recent call last)",
+      "Cell \u001b[0;32mIn[4], line 4\u001b[0m\n\u001b[1;32m      2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mvllm\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlora\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mrequest\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m LoRARequest\n\u001b[1;32m      3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mtorch\u001b[39;00m\u001b[38;5;66;03m# unsloth/tinyllama-bnb-4bit is a pre-quantized checkpoint.\u001b[39;00m\n\u001b[0;32m----> 4\u001b[0m llm \u001b[38;5;241m=\u001b[39m \u001b[43mLLM\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmodel_path\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtorch\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbfloat16\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtrust_remote_code\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43menable_prefix_caching\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43mmax_model_len\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m131072\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m      5\u001b[0m gpu_stats \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mcuda\u001b[38;5;241m.\u001b[39mget_device_properties(\u001b[38;5;241m0\u001b[39m)\n\u001b[1;32m      6\u001b[0m start_gpu_memory \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mround\u001b[39m(torch\u001b[38;5;241m.\u001b[39mcuda\u001b[38;5;241m.\u001b[39mmax_memory_reserved() \u001b[38;5;241m/\u001b[39m \u001b[38;5;241m1024\u001b[39m \u001b[38;5;241m/\u001b[39m \u001b[38;5;241m1024\u001b[39m \u001b[38;5;241m/\u001b[39m \u001b[38;5;241m1024\u001b[39m, \u001b[38;5;241m3\u001b[39m)\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/utils.py:1051\u001b[0m, in \u001b[0;36mdeprecate_args.<locals>.wrapper.<locals>.inner\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m   1044\u001b[0m             msg \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m \u001b[39m\u001b[38;5;132;01m{\u001b[39;00madditional_message\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m   1046\u001b[0m         warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m   1047\u001b[0m             \u001b[38;5;167;01mDeprecationWarning\u001b[39;00m(msg),\n\u001b[1;32m   1048\u001b[0m             stacklevel\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m3\u001b[39m,  \u001b[38;5;66;03m# The inner function takes up one level\u001b[39;00m\n\u001b[1;32m   1049\u001b[0m         )\n\u001b[0;32m-> 1051\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/entrypoints/llm.py:242\u001b[0m, in \u001b[0;36mLLM.__init__\u001b[0;34m(self, model, tokenizer, tokenizer_mode, skip_tokenizer_init, trust_remote_code, allowed_local_media_path, tensor_parallel_size, dtype, quantization, revision, tokenizer_revision, seed, gpu_memory_utilization, swap_space, cpu_offload_gb, enforce_eager, max_seq_len_to_capture, disable_custom_all_reduce, disable_async_output_proc, hf_overrides, mm_processor_kwargs, task, override_pooler_config, compilation_config, **kwargs)\u001b[0m\n\u001b[1;32m    239\u001b[0m \u001b[38;5;66;03m# Logic to switch between engines is done at runtime instead of import\u001b[39;00m\n\u001b[1;32m    240\u001b[0m \u001b[38;5;66;03m# to avoid import order issues\u001b[39;00m\n\u001b[1;32m    241\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mengine_class \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_engine_class()\n\u001b[0;32m--> 242\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mllm_engine \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mengine_class\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfrom_engine_args\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m    243\u001b[0m \u001b[43m    \u001b[49m\u001b[43mengine_args\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43musage_context\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mUsageContext\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mLLM_CLASS\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    245\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrequest_counter \u001b[38;5;241m=\u001b[39m Counter()\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/engine/llm_engine.py:484\u001b[0m, in \u001b[0;36mLLMEngine.from_engine_args\u001b[0;34m(cls, engine_args, usage_context, stat_loggers)\u001b[0m\n\u001b[1;32m    482\u001b[0m executor_class \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_get_executor_cls(engine_config)\n\u001b[1;32m    483\u001b[0m \u001b[38;5;66;03m# Create the LLM engine.\u001b[39;00m\n\u001b[0;32m--> 484\u001b[0m engine \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m(\u001b[49m\n\u001b[1;32m    485\u001b[0m \u001b[43m    \u001b[49m\u001b[43mvllm_config\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mengine_config\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    486\u001b[0m \u001b[43m    \u001b[49m\u001b[43mexecutor_class\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mexecutor_class\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    487\u001b[0m \u001b[43m    \u001b[49m\u001b[43mlog_stats\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;129;43;01mnot\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mengine_args\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdisable_log_stats\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    488\u001b[0m \u001b[43m    \u001b[49m\u001b[43musage_context\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43musage_context\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    489\u001b[0m \u001b[43m    \u001b[49m\u001b[43mstat_loggers\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstat_loggers\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    490\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    492\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m engine\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/engine/llm_engine.py:276\u001b[0m, in \u001b[0;36mLLMEngine.__init__\u001b[0;34m(self, vllm_config, executor_class, log_stats, usage_context, stat_loggers, input_registry, mm_registry, use_cached_outputs)\u001b[0m\n\u001b[1;32m    273\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel_executor \u001b[38;5;241m=\u001b[39m executor_class(vllm_config\u001b[38;5;241m=\u001b[39mvllm_config, )\n\u001b[1;32m    275\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel_config\u001b[38;5;241m.\u001b[39mrunner_type \u001b[38;5;241m!=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpooling\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m--> 276\u001b[0m     \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_initialize_kv_caches\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    278\u001b[0m \u001b[38;5;66;03m# If usage stat is enabled, collect relevant info.\u001b[39;00m\n\u001b[1;32m    279\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_usage_stats_enabled():\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/engine/llm_engine.py:429\u001b[0m, in \u001b[0;36mLLMEngine._initialize_kv_caches\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    426\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcache_config\u001b[38;5;241m.\u001b[39mnum_gpu_blocks \u001b[38;5;241m=\u001b[39m num_gpu_blocks\n\u001b[1;32m    427\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcache_config\u001b[38;5;241m.\u001b[39mnum_cpu_blocks \u001b[38;5;241m=\u001b[39m num_cpu_blocks\n\u001b[0;32m--> 429\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel_executor\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minitialize_cache\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnum_gpu_blocks\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum_cpu_blocks\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    430\u001b[0m elapsed \u001b[38;5;241m=\u001b[39m time\u001b[38;5;241m.\u001b[39mtime() \u001b[38;5;241m-\u001b[39m start\n\u001b[1;32m    431\u001b[0m logger\u001b[38;5;241m.\u001b[39minfo((\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124minit engine (profile, create kv cache, \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m    432\u001b[0m              \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mwarmup model) took \u001b[39m\u001b[38;5;132;01m%.2f\u001b[39;00m\u001b[38;5;124m seconds\u001b[39m\u001b[38;5;124m\"\u001b[39m), elapsed)\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/executor/executor_base.py:121\u001b[0m, in \u001b[0;36mExecutorBase.initialize_cache\u001b[0;34m(self, num_gpu_blocks, num_cpu_blocks)\u001b[0m\n\u001b[1;32m    118\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcache_config\u001b[38;5;241m.\u001b[39mnum_gpu_blocks \u001b[38;5;241m=\u001b[39m num_gpu_blocks\n\u001b[1;32m    119\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcache_config\u001b[38;5;241m.\u001b[39mnum_cpu_blocks \u001b[38;5;241m=\u001b[39m num_cpu_blocks\n\u001b[0;32m--> 121\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcollective_rpc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43minitialize_cache\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m    122\u001b[0m \u001b[43m                    \u001b[49m\u001b[43margs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mnum_gpu_blocks\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum_cpu_blocks\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/executor/uniproc_executor.py:51\u001b[0m, in \u001b[0;36mUniProcExecutor.collective_rpc\u001b[0;34m(self, method, timeout, args, kwargs)\u001b[0m\n\u001b[1;32m     49\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m kwargs \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m     50\u001b[0m     kwargs \u001b[38;5;241m=\u001b[39m {}\n\u001b[0;32m---> 51\u001b[0m answer \u001b[38;5;241m=\u001b[39m \u001b[43mrun_method\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdriver_worker\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m     52\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [answer]\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/utils.py:2220\u001b[0m, in \u001b[0;36mrun_method\u001b[0;34m(obj, method, args, kwargs)\u001b[0m\n\u001b[1;32m   2218\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m   2219\u001b[0m     func \u001b[38;5;241m=\u001b[39m partial(method, obj)  \u001b[38;5;66;03m# type: ignore\u001b[39;00m\n\u001b[0;32m-> 2220\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/worker/worker.py:306\u001b[0m, in \u001b[0;36mWorker.initialize_cache\u001b[0;34m(self, num_gpu_blocks, num_cpu_blocks)\u001b[0m\n\u001b[1;32m    304\u001b[0m     context \u001b[38;5;241m=\u001b[39m nullcontext()\n\u001b[1;32m    305\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m context:\n\u001b[0;32m--> 306\u001b[0m     \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_init_cache_engine\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    307\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_warm_up_model()\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/worker/worker.py:312\u001b[0m, in \u001b[0;36mWorker._init_cache_engine\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    309\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21m_init_cache_engine\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m    310\u001b[0m     \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcache_config\u001b[38;5;241m.\u001b[39mnum_gpu_blocks \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m    311\u001b[0m     \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcache_engine \u001b[38;5;241m=\u001b[39m [\n\u001b[0;32m--> 312\u001b[0m         \u001b[43mCacheEngine\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcache_config\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel_config\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    313\u001b[0m \u001b[43m                    \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mparallel_config\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdevice_config\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    314\u001b[0m         \u001b[38;5;28;01mfor\u001b[39;00m _ \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mparallel_config\u001b[38;5;241m.\u001b[39mpipeline_parallel_size)\n\u001b[1;32m    315\u001b[0m     ]\n\u001b[1;32m    316\u001b[0m     \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mgpu_cache \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m    317\u001b[0m         \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcache_engine[ve]\u001b[38;5;241m.\u001b[39mgpu_cache\n\u001b[1;32m    318\u001b[0m         \u001b[38;5;28;01mfor\u001b[39;00m ve \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mparallel_config\u001b[38;5;241m.\u001b[39mpipeline_parallel_size)\n\u001b[1;32m    319\u001b[0m     ]\n\u001b[1;32m    320\u001b[0m     bind_kv_cache(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcompilation_config\u001b[38;5;241m.\u001b[39mstatic_forward_context,\n\u001b[1;32m    321\u001b[0m                   \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mgpu_cache)\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/worker/cache_engine.py:69\u001b[0m, in \u001b[0;36mCacheEngine.__init__\u001b[0;34m(self, cache_config, model_config, parallel_config, device_config)\u001b[0m\n\u001b[1;32m     61\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mattn_backend \u001b[38;5;241m=\u001b[39m get_attn_backend(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhead_size,\n\u001b[1;32m     62\u001b[0m                                      model_config\u001b[38;5;241m.\u001b[39mdtype,\n\u001b[1;32m     63\u001b[0m                                      cache_config\u001b[38;5;241m.\u001b[39mcache_dtype,\n\u001b[1;32m     64\u001b[0m                                      \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mblock_size,\n\u001b[1;32m     65\u001b[0m                                      model_config\u001b[38;5;241m.\u001b[39mis_attention_free,\n\u001b[1;32m     66\u001b[0m                                      use_mla\u001b[38;5;241m=\u001b[39mmodel_config\u001b[38;5;241m.\u001b[39muse_mla)\n\u001b[1;32m     68\u001b[0m \u001b[38;5;66;03m# Initialize the cache.\u001b[39;00m\n\u001b[0;32m---> 69\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mgpu_cache \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_allocate_kv_cache\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m     70\u001b[0m \u001b[43m    \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnum_gpu_blocks\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdevice_config\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdevice_type\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m     71\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcpu_cache \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_allocate_kv_cache(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnum_cpu_blocks, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcpu\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
+      "File \u001b[0;32m/lustre/physik/patilsha/miniconda3/envs/vllm/lib/python3.12/site-packages/vllm/worker/cache_engine.py:103\u001b[0m, in \u001b[0;36mCacheEngine._allocate_kv_cache\u001b[0;34m(self, num_blocks, device)\u001b[0m\n\u001b[1;32m     97\u001b[0m     alloc_shape \u001b[38;5;241m=\u001b[39m kv_cache_shape\n\u001b[1;32m     99\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m _ \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnum_attention_layers):\n\u001b[1;32m    100\u001b[0m     \u001b[38;5;66;03m# null block in CpuGpuBlockAllocator requires at least that\u001b[39;00m\n\u001b[1;32m    101\u001b[0m     \u001b[38;5;66;03m# block to be zeroed-out.\u001b[39;00m\n\u001b[1;32m    102\u001b[0m     \u001b[38;5;66;03m# We zero-out everything for simplicity.\u001b[39;00m\n\u001b[0;32m--> 103\u001b[0m     layer_kv_cache \u001b[38;5;241m=\u001b[39m \u001b[43mtorch\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mzeros\u001b[49m\u001b[43m(\u001b[49m\u001b[43malloc_shape\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    104\u001b[0m \u001b[43m                                 \u001b[49m\u001b[43mdtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdtype\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    105\u001b[0m \u001b[43m                                 \u001b[49m\u001b[43mpin_memory\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpin_memory\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    106\u001b[0m \u001b[43m                                 \u001b[49m\u001b[43mdevice\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdevice\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    108\u001b[0m     \u001b[38;5;66;03m# If we allocated with padding for alignment reasons truncate the\u001b[39;00m\n\u001b[1;32m    109\u001b[0m     \u001b[38;5;66;03m# shape while preserving the aligned stride\u001b[39;00m\n\u001b[1;32m    110\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39malign_cache:\n",
+      "\u001b[0;31mOutOfMemoryError\u001b[0m: CUDA out of memory. Tried to allocate 1.72 GiB. GPU 0 has a total capacity of 79.25 GiB of which 383.19 MiB is free. Process 45885 has 11.72 GiB memory in use. Including non-PyTorch memory, this process has 67.14 GiB memory in use. Of the allocated memory 66.62 GiB is allocated by PyTorch, and 29.30 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management  (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)"
+     ]
+    }
+   ],
+   "source": [
+    "from vllm import LLM, SamplingParams\n",
+    "from vllm.lora.request import LoRARequest\n",
+    "import torch# unsloth/tinyllama-bnb-4bit is a pre-quantized checkpoint.\n",
+    "llm = LLM(model=model_path, dtype=torch.bfloat16, trust_remote_code=True,enable_prefix_caching=True,max_model_len=131072)\n",
+    "gpu_stats = torch.cuda.get_device_properties(0)\n",
+    "start_gpu_memory = round(torch.cuda.max_memory_reserved() / 1024 / 1024 / 1024, 3)\n",
+    "max_memory = round(gpu_stats.total_memory / 1024 / 1024 / 1024, 3)\n",
+    "print(f\"GPU = {gpu_stats.name}. Max memory = {max_memory} GB.\")\n",
+    "print(f\"{start_gpu_memory} GB of memory reserved.\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "32bf2b46-1329-44e1-8978-9580c061bbda",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from difflib import SequenceMatcher\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d2ef5182-4a0e-4a9d-95d0-5b4193d7528f",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "similarity = SequenceMatcher(None, s_string1, s_string2).ratio()\n",
+    "dissimilar_chars = max(len(s_string1), len(s_string2)) * (1 - similarity)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 32,
+   "id": "eccab2a8-87af-470c-a72f-df3954faf656",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "* Running on local URL:  http://127.0.0.1:8001\n",
+      "* Running on public URL: https://75f4ea364a339e62b5.gradio.live\n",
+      "\n",
+      "This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to Hugging Face Spaces (https://huggingface.co/spaces)\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<div><iframe src=\"https://75f4ea364a339e62b5.gradio.live\" width=\"100%\" height=\"500\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Keyboard interruption in main thread... closing server.\n",
+      "Killing tunnel 127.0.0.1:8001 <> https://75f4ea364a339e62b5.gradio.live\n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": []
+     },
+     "execution_count": 32,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import argparse\n",
+    "import json\n",
+    "\n",
+    "import gradio as gr\n",
+    "import requests\n",
+    "from openai import OpenAI\n",
+    "\n",
+    "host=None\n",
+    "port=8001\n",
+    "openai_api_key = \"EMPTY\"\n",
+    "openai_api_base = \"http://localhost:8000/v1\"\n",
+    "    \n",
+    "client = OpenAI(\n",
+    "    # defaults to os.environ.get(\"OPENAI_API_KEY\")\n",
+    "    api_key=openai_api_key,\n",
+    "    base_url=openai_api_base,\n",
+    ")\n",
+    "    \n",
+    "models = client.models.list()\n",
+    "model = 'api-lora'\n",
+    "def http_bot(prompt):\n",
+    "    prompt = eval_chat_template.format(SYSTEM=system_context, INPUT=prompt)\n",
+    "\n",
+    "    # Modify OpenAI's API key and API base to use vLLM's API server.\n",
+    "    # Completion API\n",
+    "    stream = False\n",
+    "    completion = client.completions.create(\n",
+    "        model=model,\n",
+    "        prompt=prompt,\n",
+    "        echo=False,\n",
+    "        n=1,\n",
+    "        stream=stream,\n",
+    "        logprobs=3,\n",
+    "    max_tokens=256)\n",
+    "    return completion.choices[0].text\n",
+    "    \n",
+    "\n",
+    "\n",
+    "def build_demo():\n",
+    "    with gr.Blocks() as demo:\n",
+    "        gr.Markdown(\"# vLLM text completion demo\\n\")\n",
+    "        inputbox = gr.Textbox(label=\"Input\",\n",
+    "                              placeholder=\"Enter text and press ENTER\")\n",
+    "        outputbox = gr.Textbox(label=\"Output\",\n",
+    "                               placeholder=\"Generated result from the model\")\n",
+    "        inputbox.submit(http_bot, [inputbox], [outputbox])\n",
+    "    return demo\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n",
+    "demo = build_demo()\n",
+    "demo.queue().launch(\n",
+    "    debug=True,\n",
+    "    server_port=port,\n",
+    "    share=True)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 33,
+   "id": "d253d9d1-e3c4-4ca5-bf15-2002c23a994e",
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "TypeError",
+     "evalue": "Completions.create() got an unexpected keyword argument 'top_k'",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
+      "Cell \u001b[0;32mIn[33], line 20\u001b[0m\n\u001b[1;32m     18\u001b[0m q\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mRetrieve entries of aluminum nitride in a wurtzite structure.\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m     19\u001b[0m queries \u001b[38;5;241m=\u001b[39m [eval_chat_template\u001b[38;5;241m.\u001b[39mformat(SYSTEM\u001b[38;5;241m=\u001b[39msystem_context, INPUT\u001b[38;5;241m=\u001b[39mq),eval_chat_template\u001b[38;5;241m.\u001b[39mformat(SYSTEM\u001b[38;5;241m=\u001b[39msystem_context, INPUT\u001b[38;5;241m=\u001b[39mq)][\u001b[38;5;241m0\u001b[39m]\n\u001b[0;32m---> 20\u001b[0m completion \u001b[38;5;241m=\u001b[39m \u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompletions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m     21\u001b[0m \u001b[43m    \u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m     22\u001b[0m \u001b[43m    \u001b[49m\u001b[43mprompt\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mqueries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m     23\u001b[0m \u001b[43m    \u001b[49m\u001b[43mecho\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m     24\u001b[0m \u001b[43m    \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m     25\u001b[0m \u001b[43m    \u001b[49m\u001b[43mlogprobs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m3\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m     26\u001b[0m \u001b[43m    \u001b[49m\u001b[43mn\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m     27\u001b[0m \u001b[43m    \u001b[49m\u001b[43mtemperature\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1.0\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m     28\u001b[0m \u001b[43m    \u001b[49m\u001b[43mmax_tokens\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m2048\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m     29\u001b[0m \u001b[43m    \u001b[49m\u001b[43mtop_k\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m10\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m     30\u001b[0m \u001b[43m    \u001b[49m\u001b[38;5;66;43;03m# top_p=0.,\u001b[39;49;00m\n\u001b[1;32m     31\u001b[0m \u001b[43m    \u001b[49m\u001b[38;5;66;43;03m# presence_penalty=1,\u001b[39;49;00m\n\u001b[1;32m     32\u001b[0m \u001b[43m    \u001b[49m\u001b[38;5;66;43;03m# repetition_penalty=0,\u001b[39;49;00m\n\u001b[1;32m     33\u001b[0m \u001b[43m    \u001b[49m\u001b[38;5;66;43;03m# frequency_penalty=0,\u001b[39;49;00m\n\u001b[1;32m     34\u001b[0m \u001b[43m    \u001b[49m\u001b[43mseed\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m42\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m     35\u001b[0m \u001b[43m    \u001b[49m\u001b[43mstop\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m<|end_of_text|>\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m     37\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCompletion results:\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m     38\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m stream:\n",
+      "File \u001b[0;32m/opt/conda/lib/python3.12/site-packages/openai/_utils/_utils.py:279\u001b[0m, in \u001b[0;36mrequired_args.<locals>.inner.<locals>.wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m    277\u001b[0m             msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMissing required argument: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mquote(missing[\u001b[38;5;241m0\u001b[39m])\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m    278\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(msg)\n\u001b[0;32m--> 279\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
+      "\u001b[0;31mTypeError\u001b[0m: Completions.create() got an unexpected keyword argument 'top_k'"
+     ]
+    }
+   ],
+   "source": [
+    "from openai import OpenAI\n",
+    "\n",
+    "# Modify OpenAI's API key and API base to use vLLM's API server.\n",
+    "openai_api_key = \"EMPTY\"\n",
+    "openai_api_base = \"http://localhost:8000/v1\"\n",
+    "\n",
+    "client = OpenAI(\n",
+    "    # defaults to os.environ.get(\"OPENAI_API_KEY\")\n",
+    "    api_key=openai_api_key,\n",
+    "    base_url=openai_api_base,\n",
+    ")\n",
+    "\n",
+    "models = client.models.list()\n",
+    "model = models.data[1].id\n",
+    "\n",
+    "# Completion API\n",
+    "stream = False\n",
+    "q='Retrieve entries of aluminum nitride in a wurtzite structure.'\n",
+    "queries = [eval_chat_template.format(SYSTEM=system_context, INPUT=q),eval_chat_template.format(SYSTEM=system_context, INPUT=q)][0]\n",
+    "completion = client.completions.create(\n",
+    "    model=model,\n",
+    "    prompt=queries,\n",
+    "    echo=False,\n",
+    "    stream=stream,\n",
+    "    logprobs=3,\n",
+    "    n=2,\n",
+    "    temperature=1.0,\n",
+    "    max_tokens=2048,\n",
+    "    top_k=10,\n",
+    "    # top_p=0.,\n",
+    "    # presence_penalty=1,\n",
+    "    # repetition_penalty=0,\n",
+    "    # frequency_penalty=0,\n",
+    "    seed=42,\n",
+    "    stop=[\"<|end_of_text|>\"],)\n",
+    "\n",
+    "print(\"Completion results:\")\n",
+    "if stream:\n",
+    "    for c in completion:\n",
+    "        print(c.choices[0].text)\n",
+    "else:\n",
+    "    print(completion)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "id": "16e8b817-1943-45b8-af79-05fbd4654ed8",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'\\n\\n\\'\\'\\' JSON: {\\n    \"results.material.elements\": {\\n        \"all\": [\\n            \"Al\",\\n            \"N\"\\n        ]\\n    },\\n    \"results.material.symmetry.structure_name\": {\\n        \"any\": [\\n            \"wurtzite\"\\n        ]\\n    }\\n}\\'\\'\\' '"
+      ]
+     },
+     "execution_count": 21,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "completion.choices[0].text"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "id": "aa24ea9b-60e2-41b6-8f2c-9c1335447284",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'\\n\\n\\'\\'\\' JSON: {\\n    \"and\": [\\n        {\\n            \"results.material.elements\": {\\n                \"all\": [\\n                    \"Al\",\\n                    \"N\"\\n                ]\\n            },\\n            \"results.material.symmetry.structure_name\": {\\n                \"any\": [\\n                    \"wurtzite\"\\n                ]\\n            }\\n        }\\n    ]\\n}\\'\\'\\' '"
+      ]
+     },
+     "execution_count": 22,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "completion.choices[1].text"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 31,
+   "id": "22e46d26-2b11-475d-81c0-03fabf09427b",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'api-lora'"
+      ]
+     },
+     "execution_count": 31,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "model"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 71,
+   "id": "a6ef0791-493c-4694-8afe-57e906c0e532",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import requests\n",
+    "\n",
+    "def http_bot(prompt):\n",
+    "    headers = {\"User-Agent\": \"vLLM Client\"}\n",
+    "    prompt = eval_chat_template.format(SYSTEM=system_context, INPUT=prompt)\n",
+    "    pload = {\n",
+    "        \"n\":2,\n",
+    "        \"model\": model,\n",
+    "        \"prompt\": prompt,\n",
+    "        \"stream\": False,\n",
+    "        \"max_tokens\": 2048,\n",
+    "        \"temperature\":1.0,    \n",
+    "        \"top_k\":10,\n",
+    "        \"seed\":42,\n",
+    "    \"stop\":[\"<|end_of_text|>\"]\n",
+    "        \n",
+    "    }\n",
+    "    response = requests.post('http://localhost:8000/v1/completions',\n",
+    "                             headers=headers,\n",
+    "                             json=pload,\n",
+    "                             stream=True)\n",
+    "    outputs=[]\n",
+    "    if response.status_code==200:\n",
+    "        completions=response.json()['choices']\n",
+    "        for i in completions:\n",
+    "            outputs.append(i['text']))\n",
+    "    return response, outputs\n",
+    "                "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 72,
+   "id": "928eea2c-e09a-4c60-a31c-21a972e59def",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "\n",
+      "''' JSON: {\n",
+      "    \"and\": [\n",
+      "        {\n",
+      "            \"results.material.structural_type\": {\n",
+      "                \"any\": [\n",
+      "                    \"bulk\"\n",
+      "                ]\n",
+      "            },\n",
+      "            \"results.material.symmetry.structure_name\": {\n",
+      "                \"any\": [\n",
+      "                    \"wurtzite\"\n",
+      "                ]\n",
+      "            },\n",
+      "            \"results.material.elements\": {\n",
+      "                \"all\": [\n",
+      "                    \"Al\",\n",
+      "                    \"N\"\n",
+      "                ]\n",
+      "            }\n",
+      "        }\n",
+      "    ]\n",
+      "}''' \n",
+      "\n",
+      "\n",
+      "''' JSON: {\n",
+      "    \"results.material.elements\": {\n",
+      "        \"all\": [\n",
+      "            \"Al\",\n",
+      "            \"N\"\n",
+      "        ]\n",
+      "    },\n",
+      "    \"results.material.symmetry.structure_name\": {\n",
+      "        \"any\": [\n",
+      "            \"wurtzite\"\n",
+      "        ]\n",
+      "    }\n",
+      "}''' \n"
+     ]
+    }
+   ],
+   "source": [
+    "response=http_bot('Retrieve entries of aluminum nitride in a wurtzite structure')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 74,
+   "id": "03aca6d9-5781-4671-a354-41d4a1e22ba8",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "{'id': 'cmpl-a7b33e53eb9542bfa5c1468b70164b14',\n",
+       " 'object': 'text_completion',\n",
+       " 'created': 1744365797,\n",
+       " 'model': 'api-lora',\n",
+       " 'choices': [{'index': 0,\n",
+       "   'text': '\\n\\n\\'\\'\\' JSON: {\\n    \"and\": [\\n        {\\n            \"results.material.structural_type\": {\\n                \"any\": [\\n                    \"bulk\"\\n                ]\\n            },\\n            \"results.material.symmetry.structure_name\": {\\n                \"any\": [\\n                    \"wurtzite\"\\n                ]\\n            },\\n            \"results.material.elements\": {\\n                \"all\": [\\n                    \"Al\",\\n                    \"N\"\\n                ]\\n            }\\n        }\\n    ]\\n}\\'\\'\\' ',\n",
+       "   'logprobs': None,\n",
+       "   'finish_reason': 'stop',\n",
+       "   'stop_reason': None,\n",
+       "   'prompt_logprobs': None},\n",
+       "  {'index': 1,\n",
+       "   'text': '\\n\\n\\'\\'\\' JSON: {\\n    \"results.material.elements\": {\\n        \"all\": [\\n            \"Al\",\\n            \"N\"\\n        ]\\n    },\\n    \"results.material.symmetry.structure_name\": {\\n        \"any\": [\\n            \"wurtzite\"\\n        ]\\n    }\\n}\\'\\'\\' ',\n",
+       "   'logprobs': None,\n",
+       "   'finish_reason': 'stop',\n",
+       "   'stop_reason': None,\n",
+       "   'prompt_logprobs': None}],\n",
+       " 'usage': {'prompt_tokens': 19697,\n",
+       "  'total_tokens': 19848,\n",
+       "  'completion_tokens': 151,\n",
+       "  'prompt_tokens_details': None}}"
+      ]
+     },
+     "execution_count": 74,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "response.json()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "ae105b63-69ce-415d-99e7-fe7d357fc594",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.12.7"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/vllm_simple.ipynb b/vllm_simple.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..fde6fb580df8086abb121b3fb281f853ee9879b9
--- /dev/null
+++ b/vllm_simple.ipynb
@@ -0,0 +1,439 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "0ad22fdf-4092-4097-b478-3c993213c152",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/opt/conda/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
+      "  from .autonotebook import tqdm as notebook_tqdm\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "INFO 04-22 08:06:24 [__init__.py:239] Automatically detected platform cuda.\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "2025-04-22 08:06:26,373\tINFO util.py:154 -- Missing packages: ['ipywidgets']. Run `pip install -U ipywidgets`, then restart the notebook server for rich notebook output.\n"
+     ]
+    }
+   ],
+   "source": [
+    "import vllm\n",
+    "import pickle\n",
+    "import torch\n",
+    "import time\n",
+    "import json"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "aafc6ae6-ae6c-44d6-ac86-8c5e356edfe1",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Fetching 11 files: 100%|██████████| 11/11 [00:33<00:00,  3.09s/it]\n"
+     ]
+    }
+   ],
+   "source": [
+    "hf_token=\"\"\n",
+    "from huggingface_hub import snapshot_download\n",
+    "snapshot_path=snapshot_download(\"pilar12/nomad-api-writer-lora\", revision= 'v_27', token=hf_token)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "d69e341c-d700-47dc-a5c1-b6f11a58de0b",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def load_templates(model_path):\n",
+    "    with open(model_path+\"/system_prompt.txt\", \"r\") as f:\n",
+    "        system_prompt = f.read()\n",
+    "    with open(model_path+\"/chat_template.txt\", \"r\") as f:\n",
+    "        chat_template = f.read()\n",
+    "    with open(model_path+\"/eval_chat_template.txt\", \"r\") as f:\n",
+    "        eval_chat_template = f.read()\n",
+    "    with open(model_path+\"/full_context.pkl\", \"rb\") as f:\n",
+    "        full_context = pickle.load(f)\n",
+    "    system_context=system_prompt.format(context=full_context)\n",
+    "\n",
+    "    return system_prompt, chat_template, eval_chat_template, full_context, system_context"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "4a7689d5-7f30-41ba-8746-665056900df7",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# lora_path=\"huggingface/hub/models--pilar12--nomad-api-writer-lora/snapshots/4cf37226134cf2256c89a20cfb782bdb7d42d9d0\"\n",
+    "lora_path = snapshot_path\n",
+    "system_prompt, chat_template, eval_chat_template, full_context, system_context = load_templates(lora_path)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "id": "cf768300-1e01-42dc-a43a-2083ff09a502",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "adapter_config = json.load(open(snapshot_path+\"/adapter_config.json\",\"r\"))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "07f38d9a-bbd2-4c76-997c-1858d82fce88",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "GPU = NVIDIA A40. Max memory = 44.339 GB.\n",
+      "0.0 GB of memory reserved.\n"
+     ]
+    }
+   ],
+   "source": [
+    "gpu_stats = torch.cuda.get_device_properties(0)\n",
+    "start_gpu_memory = round(torch.cuda.max_memory_reserved() / 1024 / 1024 / 1024, 3)\n",
+    "max_memory = round(gpu_stats.total_memory / 1024 / 1024 / 1024, 3)\n",
+    "print(f\"GPU = {gpu_stats.name}. Max memory = {max_memory} GB.\")\n",
+    "print(f\"{start_gpu_memory} GB of memory reserved.\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "id": "e157cdd4-1320-497a-b48e-426d1582a281",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "INFO 04-22 08:08:24 [config.py:600] This model supports multiple tasks: {'classify', 'reward', 'score', 'generate', 'embed'}. Defaulting to 'generate'.\n",
+      "WARNING 04-22 08:08:25 [config.py:679] bitsandbytes quantization is not fully optimized yet. The speed can be slower than non-quantized models.\n",
+      "INFO 04-22 08:08:25 [config.py:1780] Chunked prefill is enabled with max_num_batched_tokens=8192.\n",
+      "WARNING 04-22 08:08:25 [config.py:2468] LoRA with chunked prefill is still experimental and may be unstable.\n",
+      "WARNING 04-22 08:08:27 [utils.py:2273] We must use the `spawn` multiprocessing start method. Overriding VLLM_WORKER_MULTIPROC_METHOD to 'spawn'. See https://docs.vllm.ai/en/latest/getting_started/troubleshooting.html#python-multiprocessing for more information. Reason: CUDA is initialized\n",
+      "INFO 04-22 08:08:31 [__init__.py:239] Automatically detected platform cuda.\n",
+      "INFO 04-22 08:08:33 [core.py:61] Initializing a V1 LLM engine (v0.8.3) with config: model='unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit', speculative_config=None, tokenizer='unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, override_neuron_config=None, tokenizer_revision=None, trust_remote_code=True, dtype=torch.bfloat16, max_seq_len=131072, download_dir=None, load_format=LoadFormat.BITSANDBYTES, tensor_parallel_size=1, pipeline_parallel_size=1, disable_custom_all_reduce=False, quantization=bitsandbytes, enforce_eager=False, kv_cache_dtype=auto,  device_config=cuda, decoding_config=DecodingConfig(guided_decoding_backend='xgrammar', reasoning_backend=None), observability_config=ObservabilityConfig(show_hidden_metrics=False, otlp_traces_endpoint=None, collect_model_forward_time=False, collect_model_execute_time=False), seed=None, served_model_name=unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit, num_scheduler_steps=1, multi_step_stream_outputs=True, enable_prefix_caching=True, chunked_prefill_enabled=True, use_async_output_proc=True, disable_mm_preprocessor_cache=False, mm_processor_kwargs=None, pooler_config=None, compilation_config={\"level\":3,\"custom_ops\":[\"none\"],\"splitting_ops\":[\"vllm.unified_attention\",\"vllm.unified_attention_with_output\"],\"use_inductor\":true,\"compile_sizes\":[],\"use_cudagraph\":true,\"cudagraph_num_of_warmups\":1,\"cudagraph_capture_sizes\":[512,504,496,488,480,472,464,456,448,440,432,424,416,408,400,392,384,376,368,360,352,344,336,328,320,312,304,296,288,280,272,264,256,248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,4,2,1],\"max_capture_size\":512}\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "2025-04-22 08:08:33,949 - INFO - flashinfer.jit: Prebuilt kernels not found, using JIT backend\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "WARNING 04-22 08:08:34 [utils.py:2413] Methods determine_num_available_blocks,device_config,get_cache_block_size_bytes,initialize_cache not implemented in <vllm.v1.worker.gpu_worker.Worker object at 0x7f3f4a6df9b0>\n",
+      "INFO 04-22 08:08:34 [parallel_state.py:957] rank 0 in world size 1 is assigned as DP rank 0, PP rank 0, TP rank 0\n",
+      "INFO 04-22 08:08:34 [cuda.py:221] Using Flash Attention backend on V1 engine.\n",
+      "INFO 04-22 08:08:34 [gpu_model_runner.py:1258] Starting to load model unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit...\n",
+      "INFO 04-22 08:08:35 [topk_topp_sampler.py:44] Currently, FlashInfer top-p & top-k sampling sampler is disabled because FlashInfer>=v0.2.3 is not backward compatible. Falling back to the PyTorch-native implementation of top-p & top-k sampling.\n",
+      "INFO 04-22 08:08:35 [loader.py:1155] Loading weights with BitsAndBytes quantization. May take a while ...\n",
+      "INFO 04-22 08:08:35 [weight_utils.py:265] Using model weights format ['*.safetensors']\n",
+      "INFO 04-22 08:08:58 [weight_utils.py:281] Time spent downloading weights for unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit: 23.146429 seconds\n",
+      "INFO 04-22 08:08:59 [weight_utils.py:315] No model.safetensors.index.json found in remote.\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Loading safetensors checkpoint shards:   0% Completed | 0/1 [00:00<?, ?it/s]\n",
+      "Loading safetensors checkpoint shards: 100% Completed | 1/1 [00:01<00:00,  1.11s/it]\n",
+      "Loading safetensors checkpoint shards: 100% Completed | 1/1 [00:01<00:00,  1.11s/it]\n",
+      "\n",
+      "Loading safetensors checkpoint shards:   0% Completed | 0/1 [00:00<?, ?it/s]\n",
+      "Loading safetensors checkpoint shards: 100% Completed | 1/1 [00:01<00:00,  1.30s/it]\n",
+      "Loading safetensors checkpoint shards: 100% Completed | 1/1 [00:01<00:00,  1.30s/it]\n",
+      "\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "INFO 04-22 08:09:01 [punica_selector.py:18] Using PunicaWrapperGPU.\n",
+      "INFO 04-22 08:09:01 [gpu_model_runner.py:1273] Model loading took 5.7018 GiB and 26.684054 seconds\n",
+      "INFO 04-22 08:09:14 [backends.py:416] Using cache directory: /home/jovyan/.cache/vllm/torch_compile_cache/2ee4ba84f5/rank_0_0 for vLLM's torch.compile\n",
+      "INFO 04-22 08:09:14 [backends.py:426] Dynamo bytecode transform time: 12.71 s\n",
+      "INFO 04-22 08:09:19 [backends.py:132] Cache the graph of shape None for later use\n",
+      "INFO 04-22 08:09:59 [backends.py:144] Compiling a graph for general shape takes 43.35 s\n",
+      "INFO 04-22 08:10:26 [monitor.py:33] torch.compile takes 56.06 s in total\n",
+      "INFO 04-22 08:10:27 [kv_cache_utils.py:578] GPU KV cache size: 238,368 tokens\n",
+      "INFO 04-22 08:10:27 [kv_cache_utils.py:581] Maximum concurrency for 131,072 tokens per request: 1.82x\n",
+      "INFO 04-22 08:11:23 [gpu_model_runner.py:1608] Graph capturing finished in 56 secs, took 1.44 GiB\n",
+      "INFO 04-22 08:11:24 [core.py:162] init engine (profile, create kv cache, warmup model) took 142.11 seconds\n",
+      "GPU = NVIDIA A40. Max memory = 44.339 GB.\n",
+      "0.0 GB of memory reserved.\n"
+     ]
+    }
+   ],
+   "source": [
+    "from vllm import LLM, SamplingParams\n",
+    "from vllm.lora.request import LoRARequest\n",
+    "import torch# unsloth/tinyllama-bnb-4bit is a pre-quantized checkpoint.\n",
+    "model_id = \"unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit\" #\"unsloth/tinyllama-bnb-4bit\"#\n",
+    "llm = LLM(model=model_id, dtype=torch.bfloat16, trust_remote_code=True, quantization=\"bitsandbytes\",load_format=\"bitsandbytes\",enable_lora=True,enable_prefix_caching=True,max_lora_rank=64)\n",
+    "gpu_stats = torch.cuda.get_device_properties(0)\n",
+    "start_gpu_memory = round(torch.cuda.max_memory_reserved() / 1024 / 1024 / 1024, 3)\n",
+    "max_memory = round(gpu_stats.total_memory / 1024 / 1024 / 1024, 3)\n",
+    "print(f\"GPU = {gpu_stats.name}. Max memory = {max_memory} GB.\")\n",
+    "print(f\"{start_gpu_memory} GB of memory reserved.\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "eae926b7-c5af-4f14-ab05-461fb6d18032",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def get_generation_time(llm, sampling_params, prompts,lora_request):\n",
+    "    # time the generation\n",
+    "    start_time = time.time()\n",
+    "    outputs = llm.generate(\n",
+    "    prompts,\n",
+    "    sampling_params,\n",
+    "    lora_request=lora_request)\n",
+    "    end_time = time.time()\n",
+    "    # print the output and generation time\n",
+    "    for output in outputs:\n",
+    "        for o in output.outputs:\n",
+    "            print(f\"Output: {o.text}\")\n",
+    "    print(f\"Generation time: {end_time - start_time} seconds.\")\n",
+    "    return outputs"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "id": "c8c9f5c2-8e4c-4124-8bfa-83f7162bc613",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "q='Search the NOMAD database for materials that belong to the triclinic crystal system, contain the elements phosphorus (P), oxygen (O), and sulfur (S), have been studied using Density Functional Theory (DFT), and exhibit spin-polarized electronic density of states (DOS).'"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "id": "5eefb8f4-8495-4134-8144-64ae7023d4a7",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [],
+   "source": [
+    "queries = [eval_chat_template.format(SYSTEM=system_context, INPUT=q),eval_chat_template.format(SYSTEM=system_context, INPUT=q)]\n",
+    "sampling_params = [SamplingParams(\n",
+    "    n=1,\n",
+    "    temperature=0,\n",
+    "    max_tokens=2048,\n",
+    "    # top_k=10,\n",
+    "    # top_p=0.,\n",
+    "    # presence_penalty=1,\n",
+    "    # repetition_penalty=0,\n",
+    "    # frequency_penalty=0,\n",
+    "    seed=42,\n",
+    "    stop=[\"<|end_of_text|>\"],\n",
+    "),SamplingParams(\n",
+    "    n=2,\n",
+    "    temperature=1.0,\n",
+    "    max_tokens=2048,\n",
+    "    top_k=10,\n",
+    "    # top_p=0.,\n",
+    "    # presence_penalty=1,\n",
+    "    # repetition_penalty=0,\n",
+    "    # frequency_penalty=0,\n",
+    "    seed=42,\n",
+    "    stop=[\"<|end_of_text|>\"],\n",
+    ")]\n",
+    "\n",
+    "lora_request=LoRARequest(\"api_lora\", 1, lora_path)\n",
+    "        \n",
+    "# o=get_generation_time(llm,sampling_params,queries,lora_request)\n",
+    "# outputs = llm.generate(\n",
+    "#     queries,\n",
+    "#     sampling_params,\n",
+    "#     lora_request=LoRARequest(\"api_lora\", 1, lora_path)\n",
+    "# )"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "id": "7684c9a5-ac63-482a-b995-c7d0a11610b3",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Processed prompts: 100%|██████████| 3/3 [00:14<00:00,  4.85s/it, est. speed input: 4067.61 toks/s, output: 24.58 toks/s]"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Output: \n",
+      "\n",
+      "''' JSON: {\n",
+      "    \"and\": [\n",
+      "        {\n",
+      "            \"results.material.elements\": {\n",
+      "                \"all\": [\n",
+      "                    \"P\",\n",
+      "                    \"O\",\n",
+      "                    \"S\"\n",
+      "                ]\n",
+      "            },\n",
+      "            \"results.material.symmetry.crystal_system\": {\n",
+      "                \"any\": [\n",
+      "                    \"triclinic\"\n",
+      "                ]\n",
+      "            },\n",
+      "            \"results.method.method_name\": {\n",
+      "                \"any\": [\n",
+      "                    \"DFT\"\n",
+      "                ]\n",
+      "            },\n",
+      "            \"results.properties.electronic.dos_electronic\": {\n",
+      "                \"spin_polarized\": [\n",
+      "                    \"true\"\n",
+      "                ]\n",
+      "            }\n",
+      "        }\n",
+      "    ]\n",
+      "}''' \n",
+      "Output: \n",
+      "\n",
+      "''' JSON: {\n",
+      "    \"results.material.elements\": {\n",
+      "        \"all\": [\n",
+      "            \"P\",\n",
+      "            \"O\",\n",
+      "            \"S\"\n",
+      "        ]\n",
+      "    },\n",
+      "    \"results.material.symmetry.crystal_system\": {\n",
+      "        \"any\": [\n",
+      "            \"triclinic\"\n",
+      "        ]\n",
+      "    },\n",
+      "    \"results.method.method_name\": {\n",
+      "        \"any\": [\n",
+      "            \"DFT\"\n",
+      "        ]\n",
+      "    },\n",
+      "    \"results.properties.electronic.dos_electronic\": {\n",
+      "        \"spin_polarized\": [\n",
+      "            \"true\"\n",
+      "        ]\n",
+      "    }\n",
+      "}''' \n",
+      "Output: \n",
+      "\n",
+      "''' JSON: {\n",
+      "    \"results.material.elements\": {\n",
+      "        \"all\": [\n",
+      "            \"P\",\n",
+      "            \"O\",\n",
+      "            \"S\"\n",
+      "        ]\n",
+      "    },\n",
+      "    \"results.material.symmetry.crystal_system\": {\n",
+      "        \"any\": [\n",
+      "            \"triclinic\"\n",
+      "        ]\n",
+      "    },\n",
+      "    \"results.method.method_name\": {\n",
+      "        \"any\": [\n",
+      "            \"DFT\"\n",
+      "        ]\n",
+      "    },\n",
+      "    \"results.properties.electronic.dos_electronic\": {\n",
+      "        \"spin_polarized\": [\n",
+      "            true\n",
+      "        ]\n",
+      "    }\n",
+      "}''' \n",
+      "Generation time: 15.43905258178711 seconds.\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "o=get_generation_time(llm,sampling_params,queries,lora_request)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "f320953c-0ead-489b-bb55-eef012bf4aa6",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.12.7"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}