{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "2CCJ8wT2xsha"
      },
      "source": [
        "To run this, press \"*Runtime*\" and press \"*Run all*\" on a **free** Tesla T4 Google Colab instance!\n",
        "<div class=\"align-center\">\n",
        "<a href=\"https://unsloth.ai/\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/unsloth%20new%20logo.png\" width=\"115\"></a>\n",
        "<a href=\"https://discord.gg/unsloth\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/Discord button.png\" width=\"145\"></a>\n",
        "<a href=\"https://docs.unsloth.ai/\"><img src=\"https://github.com/unslothai/unsloth/blob/main/images/documentation%20green%20button.png?raw=true\" width=\"125\"></a></a> Join Discord if you need help + ⭐ <i>Star us on <a href=\"https://github.com/unslothai/unsloth\">Github</a> </i> ⭐\n",
        "</div>\n",
        "\n",
        "To install Unsloth on your own computer, follow the installation instructions on our Github page [here](https://docs.unsloth.ai/get-started/installing-+-updating).\n",
        "\n",
        "You will learn how to do [data prep](#Data), how to [train](#Train), how to [run the model](#Inference), & [how to save it](#Save)\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "v3ku5HNpXiSK"
      },
      "source": [
        "### News"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "KT9S7F4mXiSM"
      },
      "source": [
        "Unsloth now supports Text-to-Speech (TTS) models. Read our [guide here](https://docs.unsloth.ai/basics/text-to-speech-tts-fine-tuning).\n",
        "\n",
        "Read our **[Qwen3 Guide](https://docs.unsloth.ai/basics/qwen3-how-to-run-and-fine-tune)** and check out our new **[Dynamic 2.0](https://docs.unsloth.ai/basics/unsloth-dynamic-2.0-ggufs)** quants which outperforms other quantization methods!\n",
        "\n",
        "Visit our docs for all our [model uploads](https://docs.unsloth.ai/get-started/all-our-models) and [notebooks](https://docs.unsloth.ai/get-started/unsloth-notebooks).\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "h08vTNxRXiSM"
      },
      "source": [
        "### Installation"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "id": "jBcklMgcXiSM"
      },
      "outputs": [],
      "source": [
        "%%capture\n",
        "import os\n",
        "# if \"COLAB_\" not in \"\".join(os.environ.keys()):\n",
        "#     !pip install unsloth\n",
        "# else:\n",
        "#     # Do this only in Colab notebooks! Otherwise use pip install unsloth\n",
        "#     !pip install --no-deps bitsandbytes accelerate xformers==0.0.29.post3 peft trl==0.15.2 triton cut_cross_entropy unsloth_zoo\n",
        "#     !pip install sentencepiece protobuf \"datasets>=3.4.1\" huggingface_hub hf_transfer\n",
        "#     !pip install transformers==4.51.3\n",
        "#     !pip install --no-deps unsloth\n",
        "# !pip install protobuf==3.20.3 # required\n",
        "# %pip install --no-deps transformers-cfg"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "O_HFQBPSXiSN"
      },
      "source": [
        "### Unsloth"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "2Wsd7AQrxshc"
      },
      "source": [
        "\n",
        "### Tool Calling\n",
        "\n",
        "<img src=\"data:image/png;base64,[encoded data, 92064 characters]\" alt=\"image.png\">\n",
        "\n",
        "Image from [How Function Calling Works](https://huggingface.co/docs/hugs/en/guides/function-calling)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "RRbUX9c_xshd"
      },
      "source": [
        "By definition, Tool Calling refers to the capability of models to interact with external tools. As you may already know, LLMs are excellent at generating text in the manner of question-and-answer pairs, chat-like conversation messages, and others. When provided useful context, LLMs are good at responding to prompts that can be used as actionable command parameters that another system would handle. This could be a search engine, calculators, company APIs, spreadsheets, or SQL queries. These systems when interacted with are usually done in a single command line or if more complex a runnable scripting language such as Bash or Python. The painful part is how to sequence these commands and assign the correct parameter names and values. What if we would just prompt the LLM to do these for us? For example. \"Schedule an appointment for Alice with Bob Monday, 10:00am Eastern time\"\n",
        "\n",
        "For this notebook, we'll use a smaller Qwen2.5 model 1.5B. We will guide you on how to prompt a model to respond in JSON format so we can then parse the results and pass those arguments to a Python script. The intuition for using a small model is that we do not want the model to use its pretraining data for the responses when calculating the vector sum. Smaller models have less stored knowledge and it would be possible that our prompt is not on the training data.\n",
        "\n",
        "Our intention is to provide a simple framework for integrating tool calling into your fine-tuning workflow for unsloth. Let us know how we can help you further."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 448,
          "referenced_widgets": [
            "10c7f59dc0864aa59b754f0234514f1e",
            "063541a0053545bea8f2e876fd2acb68",
            "92dc9145ab524f498bfc0c35f9fdb174",
            "11ca17ec35074f318bc144a9227478ac",
            "ea1e5a33362a43db8766cb0c08b578dd",
            "09d55268e88d4dc288a001427f61a4fd",
            "806dac7b48c0492396d0e967c65d8c71",
            "7eb5ea11b3c84889995392a4a34e273b",
            "c11547368c9a4e81bf787800d355d7f4",
            "5ebe13f6cae44361aed89ea22530cc87",
            "6fd5a120e3ed475ebb764bd55a45d8ec",
            "2dcc9afb45354f89b5930e740d889a7d",
            "e3659031c23d4bcb8136899c476e1a6c",
            "e1a8bf02391b48efa942016ec7bebc6d",
            "8f5bd8b322054dddb9d394e452544762",
            "f2ae3349b890487abee3a557b186294e",
            "6091d60224314261a301664d0362822a",
            "5701898928264a458c89f2c8a080e83a",
            "10a81cd2eab6441a872147db79f7ef1d",
            "3671f2e22aac43edadd1240a1e1deeea",
            "e3523f3c07f64fc88dacd72ac2ca1d3b",
            "ed299eeae37b44afa7f2c605a93199e4",
            "ab92d2ba313e4e1097f6bc302fb98409",
            "926ae2d61c204b0c8b9b6e3a4a90926b",
            "cda22ce77643405596be676b2eb35c80",
            "c9195c4996084510ac2baeffc3958673",
            "e718ccda074f49e1a488d71fd5c8f71c",
            "0e74b5680f5e4e5787bdb5e88984b74e",
            "2a01d4ad5c8441baa8357117a9bada43",
            "e72ddbfb5d9b4b86830a77498594da7c",
            "fad3f711763a45efa87750a5a978395f",
            "bedc55a741994190afdde78a0b6952ce",
            "790165ff4f0046448b17bd3505cbc416",
            "61fcb0f1cdd84a15a996cf6faaa0dc11",
            "c0be1d43b3f446b98c32951e3d2bebe6",
            "8a5cdb013ac046199d532fbaf286b577",
            "33d943034caf4ad98387b9116ceec2b5",
            "7223c1ddd12240eda1aa0d94120c7cbb",
            "b56b2851286c47e09cd032bad6f697cf",
            "cd5e8b1e84c74e0e959bffb5c75abf50",
            "1de87285321f4f01bc8bf86e3b0f86a5",
            "cc126f714dd0422fadec2262b9818560",
            "66d521d8e65e4f5285f89daaf7c8c38b",
            "103932911c4d409b8d801f9343affab9",
            "b4aa6dc09c4147bab29f7ace05579fe4",
            "768be9bccefb4359bc21c0731e534399",
            "fefd0ef6800c4a8aa57e22d3681fa324",
            "754e6537ebc3499499a68fbb5b25df53",
            "2483117f317a44d0b4eecb4a4e4f62aa",
            "fa6a56bbe82f412d8eff4968cddff88e",
            "cfb8e59c6bdd4e84b24507aa86db8eed",
            "49eb1b29c8064d3baf42e78cd9305b73",
            "f73f20e93f8a4763bd105d3dc8f61daf",
            "40ef2bc30330404b89c337510d560b5b",
            "a8f68b32207f43898a735122fb1e1026",
            "bd19725aa20d42d399f029caad53aa01",
            "9841a7ca0ec74e61b6c9654e2774f955",
            "657fa8603e7e4e23b30ea3fbe3b66bcd",
            "14cce34c29324f2abb209aa31251d414",
            "837b744b041b48949cf2fb0e53ccf931",
            "32be1aba98784b208667179dd5862de2",
            "e8ab843c82c34379b3f7c0edf8fa98ba",
            "e640358764354406b64ea9d8cd62b97c",
            "c895eb1145aa41e2b0dc4e7862c8e1ad",
            "3c1922834e5b420bbe3d8f7d2429b492",
            "0accca7a631d42b8a95b7dcad70d14b8",
            "ee6aa8e7f0ce4a31981d8e7f751a8c03",
            "34852aab3a4441b88dd65be909a7673b",
            "be0a1fb6e452464fbca63cba9a005b2b",
            "a9222c840014441d9199ddf2b7650d08",
            "e6ebb4fdfb2c43a5a3e7df423112cd46",
            "8a55ef8aed5144dbb02dfc99e5bd43ba",
            "fc9ad241d66b4cb380183a04fc2e6c2f",
            "4b481b20fe98408e97377eb6efea26f4",
            "f13f684bf6224980830986ed0a81e85a",
            "3321d3cd97f942b38125b98226a72899",
            "e9b5c45236e94e3480dd6dbbb3d6fcf2",
            "c109cfd6be8c428993f7089a6c2a94df",
            "b1f0cbd2181141d1a33948740a18a917",
            "c2a1021f9a8e473ba170c943a003dc84",
            "b8d3126b7d9d4a9a80c40789d9f68446",
            "3b9cbaf2c1044450b41dab928d7c27da",
            "79b9bffeb1fb44abae641493395ddfd1",
            "0dd25d69dee74fd58dd979cca5d3e587",
            "a3f10cdeab64466c86de3470279b5fbd",
            "d9288dbb67ca47d29fe3d188e11ca3d0",
            "a5b61a1d115d4a9db489042bedbec8f9",
            "90dd6bb65f444300b184c720a6e1b339",
            "89a8ed76a8df4e87a1659b6adfb0d458",
            "a442f35c4641456ba3b3b3c4fbee8995",
            "a1604bdde1b34bbfb6ff7c12cb6c6e58",
            "5d880920945845578a03b0216241ecb9",
            "4d3b101d7b1a492bb1f2e0c1f94f7674",
            "e545856974b842b3ad9d76508a9e9fcd",
            "4a8f7ce47d0f4071831027affdb22bfa",
            "69bbbbee4ca24dfa98cb2fd7aaded0d4",
            "c02c11128bed4f3bb57f3d185df12ebf",
            "c2f5d7804bce46af81dad2129baf5a01",
            "eff94aaebf5e45479fabd5b11c156291"
          ]
        },
        "id": "2jfx5fOpXiSN",
        "outputId": "2b97d305-aee4-49bd-dbc4-372932e820d4"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "🦥 Unsloth: Will patch your computer to enable 2x faster free finetuning.\n",
            "🦥 Unsloth Zoo will now patch everything to make training faster!\n",
            "==((====))==  Unsloth 2025.5.9: Fast Qwen2 patching. Transformers: 4.52.4.\n",
            "   \\\\   /|    NVIDIA RTX 3500 Ada Generation Laptop GPU. Num GPUs = 1. Max memory: 11.607 GB. Platform: Linux.\n",
            "O^O/ \\_/ \\    Torch: 2.7.0+cu126. CUDA: 8.9. CUDA Toolkit: 12.6. Triton: 3.3.0\n",
            "\\        /    Bfloat16 = TRUE. FA [Xformers = 0.0.30. FA2 = False]\n",
            " \"-____-\"     Free license: http://github.com/unslothai/unsloth\n",
            "Unsloth: Fast downloading is enabled - ignore downloading bars which are red colored!\n"
          ]
        }
      ],
      "source": [
        "from unsloth import FastQwen2Model\n",
        "import torch\n",
        "\n",
        "max_seq_length = 2048  # Choose any! We auto support RoPE Scaling internally!\n",
        "dtype = None  # None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+\n",
        "load_in_4bit = True  # Use 4bit quantization to reduce memory usage. Can be False.\n",
        "\n",
        "# 4bit pre quantized models we support for 4x faster downloading + no OOMs.\n",
        "fourbit_models = [\n",
        "    \"unsloth/Meta-Llama-3.1-8B-bnb-4bit\",  # Llama-3.1 2x faster\n",
        "    \"unsloth/Meta-Llama-3.1-70B-bnb-4bit\",\n",
        "    \"unsloth/Mistral-Small-Instruct-2409\",  # Mistral 22b 2x faster!\n",
        "    \"unsloth/mistral-7b-instruct-v0.3-bnb-4bit\",\n",
        "    \"unsloth/Phi-3.5-mini-instruct\",  # Phi-3.5 2x faster!\n",
        "    \"unsloth/Phi-3-medium-4k-instruct\",\n",
        "    \"unsloth/gemma-2-27b-bnb-4bit\",  # Gemma 2x faster!\n",
        "\n",
        "    \"unsloth/Llama-3.2-1B-bnb-4bit\",  # NEW! Llama 3.2 models\n",
        "    \"unsloth/Llama-3.2-1B-Instruct-bnb-4bit\",\n",
        "    \"unsloth/Llama-3.2-3B-Instruct-bnb-4bit\",\n",
        "]  # More models at https://huggingface.co/unsloth\n",
        "\n",
        "qwen_models = [\n",
        "    \"unsloth/Qwen2.5-Coder-32B-Instruct\",  # Qwen 2.5 Coder 2x faster\n",
        "    \"unsloth/Qwen2.5-Coder-7B\",\n",
        "    \"unsloth/Qwen2.5-14B-Instruct\",  # 14B fits in a 16GB card\n",
        "    \"unsloth/Qwen2.5-7B\",\n",
        "    \"unsloth/Qwen2.5-72B-Instruct\",  # 72B fits in a 48GB card\n",
        "]  # More models at https://huggingface.co/unsloth\n",
        "\n",
        "model, tokenizer = FastQwen2Model.from_pretrained(\n",
        "    model_name=\"unsloth/Qwen2.5-Coder-1.5B-Instruct\",\n",
        "    max_seq_length=None,\n",
        "    dtype=None,\n",
        "    load_in_4bit=False,\n",
        "    fix_tokenizer=False\n",
        "    # token = \"hf_...\", # use one if using gated models like meta-llama/Llama-2-7b-hf\n",
        ")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "id": "tocysGVwoxbu"
      },
      "outputs": [],
      "source": [
        "# save a copy because apply_chat_template() has in-place modifications\n",
        "import copy\n",
        "\n",
        "tokenizer_orig = copy.deepcopy(tokenizer)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "m64sv66VHfam"
      },
      "source": [
        "### Tool Definitions\n",
        "This is a list of all the functions that we would provide to the model. The standard format is from OpenAI's [Function Calling Definition](https://platform.openai.com/docs/guides/function-calling?api-mode=chat#defining-functions)\n",
        "It is highly possible that the model trained for tool calling was in the OpenAI standard format.\n",
        "\n",
        "Below is an example of two function definitions. The function definitions of `get_vector_sum` and `get_dot_product` will then be added to the prompt as a context for our prompt:\n",
        "\n",
        "> Find the sum of a = [1, -1, 2] and b = [3, 0, -4].\n",
        "\n",
        "We can just provide the correct one: `get_vector_sum` but to experiment if the model can identify the correct function to call, we will provide both."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "id": "v6MoZMRQa9jI"
      },
      "outputs": [],
      "source": [
        "def get_tool_definition_list():\n",
        "    return [\n",
        "        {\n",
        "            \"type\": \"function\",\n",
        "            \"function\": {\n",
        "                \"name\": \"get_vector_sum\",\n",
        "                \"description\": \"Get the sum of two vectors\",\n",
        "                \"parameters\": {\n",
        "                    \"type\": \"object\",\n",
        "                    \"properties\": {\n",
        "                        \"a\": {\"type\": \"list\", \"description\": \"First vector\"},\n",
        "                        \"b\": {\"type\": \"list\", \"description\": \"Second vector\"}\n",
        "                    },\n",
        "                    \"required\": [\"a\", \"b\"]\n",
        "                }\n",
        "            }\n",
        "        },\n",
        "        {\n",
        "            \"type\": \"function\",\n",
        "            \"function\": {\n",
        "                \"name\": \"get_dot_product\",\n",
        "                \"description\": \"Get the dot product of two vectors\",\n",
        "                \"parameters\": {\n",
        "                    \"type\": \"object\",\n",
        "                    \"properties\": {\n",
        "                        \"a\": {\"type\": \"list\", \"description\": \"First vector\"},\n",
        "                        \"b\": {\"type\": \"list\", \"description\": \"Second vector\"}\n",
        "                    },\n",
        "                    \"required\": [\"a\", \"b\"]\n",
        "                }\n",
        "            }\n",
        "        },\n",
        "\n",
        "    ]"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "jE57KGSLNfnc"
      },
      "source": [
        "Below is the user prompt declaration"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "id": "23p0W2pPdaZY"
      },
      "outputs": [],
      "source": [
        "user_query = {\n",
        "    \"role\": \"user\",\n",
        "    \"content\": \"Find the sum of a = [1, -1, 2] and b = [3, 0, -4].\"\n",
        "}"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "YEjwPmJyNfnd"
      },
      "source": [
        "### Python Code\n",
        "Below is the actual code for the function, you may notice that it has Python docstrings. This is because `apply_chat_template()` can accept and translate functions into OpenAI function definitions that are PEP 257 compliant."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "id": "GBq-wmhRNfnd"
      },
      "outputs": [],
      "source": [
        "def get_vector_sum(a: list[float], b: list[float]) -> list[float]:\n",
        "    \"\"\"\n",
        "    Performs element-wise addition of two numerical vectors.\n",
        "\n",
        "    Both vectors must be of the same length and contain numerical values.\n",
        "\n",
        "    Args:\n",
        "        a: First vector containing numerical values\n",
        "        b: Second vector containing numerical values\n",
        "\n",
        "    Returns:\n",
        "        Resulting vector where each element is the sum of corresponding elements in a and b\n",
        "\n",
        "    Raises:\n",
        "        ValueError: If vectors have different lengths\n",
        "\n",
        "    Example:\n",
        "        >>> get_vector_sum([1, 2], [3, 4])\n",
        "        [4, 6]\n",
        "    \"\"\"\n",
        "    if len(a) != len(b):\n",
        "        raise ValueError(\"Vectors must be of the same length\")\n",
        "\n",
        "    return [x + y for x, y in zip(a, b)]"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "EXH4AAlcNfnd"
      },
      "source": [
        "Now let's prompt the model to provide us the arguments in JSON format. You may notice that we passed the actual function `get_vector_sum()` to the `tool` parameter and not the `get_tool_definition_list()`, You may try to change it from `tools=[get_vector_sum],` to `tools=[get_tool_definition_list()` to see if it works with the function definitions."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {
        "ExecuteTime": {
          "end_time": "2025-03-15T00:12:54.604054Z",
          "start_time": "2025-03-15T00:12:53.440302Z"
        },
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ZFRTAly3LfFf",
        "outputId": "c81b7262-5a6d-4e15-8ac3-508c3e0ec3b0"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "<|im_start|>system\n",
            "You are Qwen, created by Alibaba Cloud. You are a helpful assistant.\n",
            "\n",
            "# Tools\n",
            "\n",
            "You may call one or more functions to assist with the user query.\n",
            "\n",
            "You are provided with function signatures within <tools></tools> XML tags:\n",
            "<tools>\n",
            "{\"type\": \"function\", \"function\": {\"name\": \"get_vector_sum\", \"description\": \"Performs element-wise addition of two numerical vectors.\\n\\nBoth vectors must be of the same length and contain numerical values.\", \"parameters\": {\"type\": \"object\", \"properties\": {\"a\": {\"type\": \"array\", \"items\": {\"type\": \"number\"}, \"description\": \"First vector containing numerical values\"}, \"b\": {\"type\": \"array\", \"items\": {\"type\": \"number\"}, \"description\": \"Second vector containing numerical values\"}}, \"required\": [\"a\", \"b\"]}, \"return\": {\"type\": \"array\", \"items\": {\"type\": \"number\"}, \"description\": \"Resulting vector where each element is the sum of corresponding elements in a and b\"}}}\n",
            "</tools>\n",
            "\n",
            "For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n",
            "<tool_call>\n",
            "{\"name\": <function-name>, \"arguments\": <args-json-object>}\n",
            "</tool_call><|im_end|>\n",
            "<|im_start|>user\n",
            "Find the sum of a = [1, -1, 2] and b = [3, 0, -4].<|im_end|>\n",
            "<|im_start|>assistant\n",
            "\n"
          ]
        }
      ],
      "source": [
        "messages = []\n",
        "\n",
        "messages.append(user_query)\n",
        "\n",
        "tokenizer = copy.deepcopy(tokenizer_orig)\n",
        "input_ids = tokenizer.apply_chat_template(\n",
        "    messages,\n",
        "    tokenize=True,\n",
        "    add_generation_prompt=True,\n",
        "    add_special_tokens=False,\n",
        "    padding=True,\n",
        "    tools=[get_vector_sum],\n",
        "    return_tensors=\"pt\",\n",
        ").to(\"cuda\")\n",
        "\n",
        "print(tokenizer.decode(input_ids[0]))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "MwY97s7jNfnd"
      },
      "source": [
        "Below is where we call the unsloth function `generate_with_grammar()`. This function uses Grammar-Constrained Decoding. Meaning it will only respond in JSON. It uses a library fork of [transformers-CFG](https://github.com/Saibo-creator/transformers-CFG) by [Saibo-creator](https://github.com/Saibo-creator) the output is very similar to the llama-cpp-python output. We decided to use this library so that our code would be portable to `llama-cpp-python` later during production.\n",
        "\n",
        "If successful, the model should output a single valid JSON response with the following result:\n",
        "```\n",
        "[\n",
        "    {\n",
        "        \"name\": \"get_vector_sum\",\n",
        "        \"arguments\": {\n",
        "            \"a\": [1, -1, 2],\n",
        "            \"b\": [3, 0, -4]\n",
        "        }\n",
        "    }\n",
        "]\n",
        "```"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {
        "id": "TIjFMWSFxshf"
      },
      "outputs": [],
      "source": [
        "#@title Function for Generation Constraint { display-mode: \"form\" }\n",
        "\n",
        "from functools import partial\n",
        "from transformers import AutoTokenizer\n",
        "from transformers_cfg.grammar_utils import IncrementalGrammarConstraint\n",
        "from transformers_cfg.generation.logits_process import GrammarConstrainedLogitsProcessor\n",
        "\n",
        "JSON_ARR_GBNF = r\"\"\"\n",
        "# This is the same as json.gbnf but we restrict whitespaces at the end of the root array\n",
        "# Useful for generating JSON arrays\n",
        "root   ::= arr\n",
        "value  ::= object | array | string | number | (\"true\" | \"false\" | \"null\") ws\n",
        "arr  ::=\n",
        "  \"[\\n\" ws (\n",
        "            value\n",
        "    (\",\\n\" ws value)*\n",
        "  )? \"]\"\n",
        "object ::=\n",
        "  \"{\" ws (\n",
        "            string \":\" ws value\n",
        "    (\",\" ws string \":\" ws value)*\n",
        "  )? \"}\" ws\n",
        "array  ::=\n",
        "  \"[\" ws (\n",
        "            value\n",
        "    (\",\" ws value)*\n",
        "  )? \"]\" ws\n",
        "string ::=\n",
        "  \"\\\"\" (\n",
        "    [^\"\\\\\\x7F\\x00-\\x1F] |\n",
        "    \"\\\\\" ([\"\\\\/bfnrt] | \"u\" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]) # escapes\n",
        "  )* \"\\\"\" ws\n",
        "number ::= (\"-\"? ([0-9] | [1-9] [0-9]*)) (\".\" [0-9]+)? ([eE] [-+]? [0-9]+)? ws\n",
        "# Optional space: by convention, applied in this grammar after literal chars when allowed\n",
        "ws ::= ([ \\t\\n] ws)?\n",
        "\"\"\"\n",
        "\n",
        "def generate_with_grammar(model, input_ids, **kwargs):\n",
        "    tokenizer = AutoTokenizer.from_pretrained(model.config.name_or_path)\n",
        "    grammar = IncrementalGrammarConstraint(JSON_ARR_GBNF, start_rule_name=\"root\", tokenizer=tokenizer)\n",
        "    grammar_processor = GrammarConstrainedLogitsProcessor(grammar)\n",
        "\n",
        "    partial_generate = partial(\n",
        "        model.generate,\n",
        "        do_sample=False,\n",
        "        repetition_penalty=1.1,\n",
        "        num_return_sequences=1,\n",
        "        logits_processor=[grammar_processor],  # Ensure grammar_processor is accessible\n",
        "        temperature=None,\n",
        "        top_p=None,\n",
        "        top_k=None,\n",
        "        sliding_window=None,\n",
        "    )\n",
        "\n",
        "    # Execute generation with merged parameters\n",
        "    return partial_generate(\n",
        "        input_ids=input_ids,\n",
        "        **kwargs\n",
        "    )"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 408,
          "referenced_widgets": [
            "26062536695547da98bb96e8bae5fa30",
            "587b3d5a5782431d8ba0257f997390c0",
            "c2e9d271af1449329bb7a3aeed9dec95",
            "9f95b66bc04b45ac8c291e90c4101921",
            "c1275a9bc9d949c8944870b1d0a58f0c",
            "498f42b240534add84e727a2ac2f8d0c",
            "cc5e0350a895469b8907801d2ddfc116",
            "06de6a033cd9416da2d32e343ffd6f82",
            "88be632353ac4aa9b4c7580f5c8f4d05",
            "7ce8c1e1642d4ff2b4e9fdd75487a7c1",
            "6f45335cfbda48b4bc7de3824c8adda2",
            "a4451c36012745b9a12218af49e93956",
            "73aa3cc053e44d1aa1c2c3930e07abce",
            "cc2b6ccbb4044f499b3616dbb3704275",
            "170c8e302fa5457a91c43e02b964ff4c",
            "557d12eabf05431980b26af12ca9e3b3",
            "3c73c54b7701493d92ff6ced3735dce3",
            "c18476863ce24354adbb343720fa1085",
            "44aed22fadf340babe47e18cc3609603",
            "c2f9d9cbd9b648fdaa533005e0231538",
            "6867fef6ddfa4901b267e92a9a2cdae9",
            "1119aa8b93da44fe84f9133c6d564ffd",
            "4f4ec8343cca49529ba82e28a94d4ba3",
            "043f65a4ea764e6cac6c9635c97f97eb",
            "69ac7164e60f4a3aa46a37a722e03451",
            "3089a3c50708464783a3447c0ef650f1",
            "03d65e13dc174e92bbbcbc5088909f9d",
            "d712e72eebf14a23a5c321795d0a4d19",
            "906d688903c7464ca09c6c61644a27a0",
            "2c8df8d547574b2f985c7794b4642b76",
            "e92bfb506b4744c08f40d33962e7c856",
            "2c43b1321e4d4fafb433c496e6c19b90",
            "05f2869680dd4e6aa1e8068406bff183",
            "453990d396d348769cee958b5826a932",
            "a962f4949e1f42d8aa1791674e16da78",
            "d052810c41e843bb8e63ed650fc72dbb",
            "341c4de23f1848c79d0ce62190f308e7",
            "14c690cb2b5f410dbd8bf82f772c4802",
            "ca9d082a491b499c93fc044ea69151e5",
            "f1edfa6acde44acca81dc5cac5543ab8",
            "025ae279fcb74246b9bfb3bfd923904c",
            "0431e31bf3ea4e0d80eaef4db8311bd6",
            "6d3a4e95a8954714bb681834d05ab309",
            "e52f671db0794a548ae77ad06b5134b6",
            "e5c600ca83f345b7bb6550bd6f25bc2c",
            "051169313068408a9aee6ae705be5d72",
            "2ec34140efa84ca29135afa6b4aa475f",
            "6ae2bcda9b1540bfae0b7c182e60b2c7",
            "0ad2ded850b542f5802ade7571301c3b",
            "16ef86cc39a44c839621cda63cccfc41",
            "92b35a13a55b4838bf1c728b8a74bab1",
            "1ffa1f53cbd74a76a5933f749881e94c",
            "624d5c08b8fd4e38bca6c55878bd26eb",
            "b3ba88110d5c4b1da54fa61657d3dae4",
            "3ca40da457a94b0c9bf4f0d3e7045bad",
            "6b4cec98b8e64dfaa187b21f34d0a45e",
            "096795df31e64d2688c4be21e1326498",
            "d68c4628980a462c9b5dad58c54d9fbf",
            "2c0c7406572e4218a9541d152f0229c9",
            "62d6a0005faf4359a3b7e980f6a12676",
            "7ff72b61dadb432f98826d83aa972e70",
            "bb0039fe21594c27a09e91d58f0db14a",
            "52a12ec9d90444f182a329c34feb9e29",
            "f50500601bc94cdeb200a0d3b3c80a95",
            "2b6ea547721a4099815aac0c315dc97c",
            "de7962e4c6a04f839a98fd8317ca26d7"
          ]
        },
        "id": "5I6ljHnWNfnd",
        "outputId": "e33ccb3e-a3fb-4fab-dea8-a4a00f867dd0"
      },
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "The attention mask is not set and cannot be inferred from input because pad token is same as eos token. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "[\n",
            "    {\n",
            "        \"name\": \"get_vector_sum\",\n",
            "        \"arguments\": {\n",
            "            \"a\": [1, -1, 2],\n",
            "            \"b\": [3, 0, -4]\n",
            "        }\n",
            "    }\n",
            "]\n"
          ]
        }
      ],
      "source": [
        "output = generate_with_grammar(\n",
        "    model=model,\n",
        "    input_ids=input_ids\n",
        ")\n",
        "\n",
        "generated_tokens = output[:, input_ids.shape[1]:]\n",
        "\n",
        "decoded_output = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)\n",
        "\n",
        "for i, message in enumerate(decoded_output):\n",
        "    print(f\"{message}\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "EESZm0wBNqA2"
      },
      "source": [
        "From here we can now parse the arguments provided to us by the model"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "0xCxL_SgM4J0",
        "outputId": "ce8e68ba-a9bd-4e7b-aa42-02e27dc7fcf4"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "args a: [1, -1, 2], b: [3, 0, -4]\n"
          ]
        }
      ],
      "source": [
        "import json\n",
        "\n",
        "content = json.loads(decoded_output[0])\n",
        "arguments = content[0]['arguments']\n",
        "vector_a = arguments['a']\n",
        "vector_b = arguments['b']\n",
        "print(f\"args a: {vector_a}, b: {vector_b}\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "hBRMiKiuN-D4"
      },
      "source": [
        "Here we actually call `get_vector_sum()` and capture the result"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 14,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "XvA-YnvRN7vJ",
        "outputId": "d29deddd-725d-4802-b1fa-15b266dcadf5"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "result: [4, -1, -2]\n"
          ]
        }
      ],
      "source": [
        "result = get_vector_sum(vector_a, vector_b)\n",
        "print(f\"result: {result}\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "82zbHycZNfne"
      },
      "source": [
        "Below is the final prompt to the model in the form of a chat message. To ensure that the model responds with the actual answer  prompted the model's answer with the following:\n",
        "\n",
        "> You are a super helpful AI assistant. You are asked to answer a question based on the following context information.\n",
        ">\n",
        "> Question:\n",
        ">\n",
        "> Answer:\n",
        "\n",
        "Then we set `continue_final_message=True` for the tokenizer"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 15,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "j6p7fmcHSCll",
        "outputId": "f57f0558-5d29-412c-c243-49a5bc72aeb2"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "<|im_start|>system\n",
            "You are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\n",
            "<|im_start|>user\n",
            "You are a super helpful AI assistant.\n",
            "You are asked to answer a question based on the following context information.\n",
            "Question:\n",
            "Find the sum of a = [1, -1, 2] and b = [3, 0, -4].<|im_end|>\n",
            "<|im_start|>assistant\n",
            "<tool_call>\n",
            "{\"name\": \"get_vector_sum\", \"arguments\": {\"a\": [1, -1, 2], \"b\": [3, 0, -4]}}\n",
            "</tool_call><|im_end|>\n",
            "<|im_start|>user\n",
            "<tool_response>\n",
            "[4, -1, -2]\n",
            "</tool_response><|im_end|>\n",
            "<|im_start|>assistant\n",
            "Answer:\n",
            "\n"
          ]
        }
      ],
      "source": [
        "import random\n",
        "import string\n",
        "\n",
        "\n",
        "def generate_alphanumeric():\n",
        "    characters = string.ascii_letters + string.digits\n",
        "    result = ''.join(random.choice(characters) for _ in range(9))\n",
        "    return result\n",
        "\n",
        "\n",
        "messages = []\n",
        "\n",
        "original_prompt = user_query['content']\n",
        "\n",
        "prompt_with_context = f\"\"\"You are a super helpful AI assistant.\n",
        "You are asked to answer a question based on the following context information.\n",
        "Question:\n",
        "{original_prompt}\"\"\"\n",
        "\n",
        "messages.append({\n",
        "    \"role\": \"user\",\n",
        "    \"content\": prompt_with_context\n",
        "})\n",
        "\n",
        "tool_call_id = generate_alphanumeric()\n",
        "tool_calls = [{\n",
        "    \"id\": tool_call_id,\n",
        "    \"type\": \"function\",\n",
        "    \"function\": {\n",
        "        \"name\": \"get_vector_sum\",\n",
        "        \"arguments\": arguments\n",
        "    }\n",
        "}]\n",
        "\n",
        "messages.append({\n",
        "    \"role\": \"assistant\",\n",
        "    \"tool_calls\": tool_calls\n",
        "})\n",
        "messages.append({\n",
        "    \"role\": \"tool\",\n",
        "    \"name\": \"get_vector_sum\",\n",
        "    \"content\": result\n",
        "})\n",
        "\n",
        "messages.append({\n",
        "    \"role\": \"assistant\",\n",
        "    \"content\": \"Answer:\\n\"\n",
        "})\n",
        "\n",
        "tokenizer = copy.deepcopy(tokenizer_orig)\n",
        "tool_prompt = tokenizer.apply_chat_template(\n",
        "    messages,\n",
        "    continue_final_message=True,\n",
        "    add_special_tokens=True,\n",
        "    return_tensors=\"pt\",\n",
        "    return_dict=True,\n",
        "    tools=None,\n",
        ")\n",
        "tool_prompt = tool_prompt.to(model.device)\n",
        "\n",
        "print(tokenizer.decode(tool_prompt['input_ids'][0]))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 16,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "tYKun5XgQURH",
        "outputId": "bec258e3-139d-4337-d583-82f8cd8e9fce"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "The sum of a = [1, -1, 2] and b = [3, 0, -4] is [4, -1, -2].\n"
          ]
        }
      ],
      "source": [
        "out = model.generate(**tool_prompt, max_new_tokens=128)\n",
        "generated_text = out[0, tool_prompt['input_ids'].shape[1]:]\n",
        "\n",
        "print(tokenizer.decode(generated_text, skip_special_tokens=True))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Xyeipvv2xSxB"
      },
      "source": [
        "For comparison, if we would prompt the model without tool calling:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 17,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "kXdIa3jueI-i",
        "outputId": "4d0b3486-5ebe-46e4-dcf2-305e1c300619"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "<|im_start|>system\n",
            "You are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\n",
            "<|im_start|>user\n",
            "Find the sum of a = [1, -1, 2] and b = [3, 0, -4].<|im_end|>\n",
            "<|im_start|>assistant\n",
            "\n"
          ]
        }
      ],
      "source": [
        "tokenizer = copy.deepcopy(tokenizer_orig)\n",
        "input_ids = tokenizer.apply_chat_template(\n",
        "    [user_query],\n",
        "    tokenize=True,\n",
        "    add_generation_prompt=True,\n",
        "    add_special_tokens=False,\n",
        "    padding=True,\n",
        "    tools=None,\n",
        "    return_tensors=\"pt\",\n",
        ").to(\"cuda\")\n",
        "\n",
        "print(tokenizer.decode(input_ids[0]))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 18,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "LJfdZ1G194_t",
        "outputId": "69b421ed-7c25-4e22-ecc6-a2e563e8f9c6"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "The sum of two vectors \\( \\mathbf{a} = [1, -1, 2] \\) and \\( \\mathbf{b} = [3, 0, -4] \\) is calculated by adding their corresponding components. The resulting vector will be:\n",
            "\n",
            "\\[ \\mathbf{a} + \\mathbf{b} = [1+3, -1+0, 2-4] = [4, -1, -2] \\]\n",
            "\n",
            "Let's verify this using Python code.\n",
            "```python\n",
            "# Define the vectors\n",
            "a = [1, -1, 2]\n",
            "b = [3, 0, -4]\n",
            "\n",
            "# Calculate the sum of the vectors\n",
            "result = [a[i] + b[i] for i in range(len(a))]\n",
            "\n",
            "print(result)\n",
            "```\n",
            "```output\n",
            "[4, -1, -2]\n",
            "```\n",
            "The sum of the vectors \\( \\mathbf{a} = [1, -1, 2] \\) and \\( \\mathbf{b} = [3, 0, -4] \\) is \\(\\boxed{[4, -1, -2]}\\).\n"
          ]
        }
      ],
      "source": [
        "output = model.generate(\n",
        "    input_ids=input_ids,\n",
        "    max_new_tokens=1024\n",
        ")\n",
        "\n",
        "generated_tokens = output[:, input_ids.shape[1]:]\n",
        "decoded_output = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)\n",
        "\n",
        "for i, message in enumerate(decoded_output):\n",
        "    print(f\"{message}\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "6NgmkhLSoaXv"
      },
      "source": [
        "### Example currency calculation with API call\n",
        "For the example below, we are going to ask the model to compute a total list of items and convert it to Euro using a public API.\n",
        "\n",
        "Pydantic is used below because it will help us with type safety and validation, and also helps us with clear function schemas.\n",
        "\n",
        "For the prompt, we will ask the model \"How much is the total cost of all inventory items in Euros?\"\n",
        "\n",
        "Based on the prompt we need to define three tools\n",
        "1. Get a list of all items in the inventory\n",
        "2. The conversion rate of the Euro currency\n",
        "2. Compute the total inventory cost in Euros\n",
        "\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 19,
      "metadata": {
        "id": "K_2-9JLgva3X"
      },
      "outputs": [],
      "source": [
        "user_query = {\n",
        "    \"role\": \"user\",\n",
        "    \"content\": \"How much is the total cost of all inventory items in Euros?\"\n",
        "}"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 20,
      "metadata": {
        "id": "2XACEzJdyWud"
      },
      "outputs": [],
      "source": [
        "from typing import List, Optional, AnyStr\n",
        "from pydantic import BaseModel, Field\n",
        "import requests\n",
        "\n",
        "\n",
        "class Item(BaseModel):\n",
        "    id: int | None = Field(\n",
        "        default=None,\n",
        "        description=\"Unique identifier for the item (auto-generated by database)\"\n",
        "    )\n",
        "    item_code: str = Field(\n",
        "        ...,\n",
        "        min_length=3,\n",
        "        max_length=20,\n",
        "        description=\"Unique SKU or product code for the item\"\n",
        "    )\n",
        "    name: str = Field(\n",
        "        ...,\n",
        "        min_length=2,\n",
        "        max_length=50,\n",
        "        description=\"Human-readable name of the item\"\n",
        "    )\n",
        "    cost: float = Field(\n",
        "        ...,\n",
        "        gt=0,\n",
        "        description=\"Unit cost in local currency (must be positive)\"\n",
        "    )\n",
        "    quantity: int = Field(\n",
        "        ...,\n",
        "        ge=0,\n",
        "        description=\"Current inventory quantity (non-negative integer)\"\n",
        "    )\n",
        "\n",
        "\n",
        "def inventory_check(item_codes: Optional[List[str]], conversion_rate: float) -> float:\n",
        "    \"\"\"\n",
        "    Calculates the total value of inventory items in the target conversion rate.\n",
        "    When item_codes=None, calculates total value for all items.\n",
        "\n",
        "    Args:\n",
        "        item_codes: List of item codes to include. (None for all items)\n",
        "        conversion_rate: Exchange rate to convert costs to target currency\n",
        "    Returns:\n",
        "        Total value of matching items in target currency, rounded to 2 decimals\n",
        "    \"\"\"\n",
        "    all_items = get_all_items()\n",
        "\n",
        "    # Process all items if None is passed\n",
        "    if item_codes is None or len(item_codes) == 0:\n",
        "        items_to_process = all_items\n",
        "    else:\n",
        "        # Convert to set for faster lookups\n",
        "        target_codes = set(item_codes)\n",
        "        items_to_process = [item for item in all_items if item.item_code in target_codes]\n",
        "\n",
        "    # Calculate total value with conversion\n",
        "    total = sum(\n",
        "        item.cost * item.quantity * conversion_rate\n",
        "        for item in items_to_process\n",
        "    )\n",
        "\n",
        "    return round(total, 2)\n",
        "\n",
        "\n",
        "def get_all_items() -> List[Item]:\n",
        "    \"\"\"Fetches all the inventory items\"\"\"\n",
        "    return [\n",
        "        Item(\n",
        "            item_code=\"ITEM-001\",\n",
        "            name=\"Apple\",\n",
        "            cost=1.13,\n",
        "            quantity=4\n",
        "        ),\n",
        "        Item(\n",
        "            item_code=\"ITEM-002\",\n",
        "            name=\"Bottled Water\",\n",
        "            cost=1.04,\n",
        "            quantity=20\n",
        "        ),\n",
        "        Item(\n",
        "            item_code=\"ITEM-003\",\n",
        "            name=\"Instant Ramen\",\n",
        "            cost=10.13,\n",
        "            quantity=4\n",
        "        )\n",
        "    ]\n",
        "\n",
        "\n",
        "def get_usd_to_euro_conversion_rate() -> float:\n",
        "    \"\"\"Gets the conversion rate from USD to EURO\"\"\"\n",
        "    response = requests.get(\"https://api.frankfurter.app/latest?from=USD\")\n",
        "    response.raise_for_status()\n",
        "    rate = response.json()[\"rates\"][\"EUR\"]\n",
        "    return rate"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "hhXc902j-ICe"
      },
      "source": [
        "Below we validate the `tools` before passing it to the tokenizer"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 21,
      "metadata": {
        "id": "IsEBB0zZ1HCs"
      },
      "outputs": [],
      "source": [
        "from transformers.utils import chat_template_utils\n",
        "\n",
        "tools = [get_all_items, inventory_check, get_usd_to_euro_conversion_rate]\n",
        "\n",
        "orig_tools = copy.deepcopy(tools)  # save a copy for later\n",
        "\n",
        "for tool in tools:\n",
        "    _ = chat_template_utils.get_json_schema(tool)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "nsnNrPIM-TeO"
      },
      "source": [
        "After ensuring the functions are valid we pass it to the `tools` param"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 22,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "YCbA9e-PvJkl",
        "outputId": "37e480d2-9542-47e1-d45f-5a49d0577bf3"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "<|im_start|>system\n",
            "You are Qwen, created by Alibaba Cloud. You are a helpful assistant.\n",
            "\n",
            "# Tools\n",
            "\n",
            "You may call one or more functions to assist with the user query.\n",
            "\n",
            "You are provided with function signatures within <tools></tools> XML tags:\n",
            "<tools>\n",
            "{\"type\": \"function\", \"function\": {\"name\": \"get_all_items\", \"description\": \"Fetches all the inventory items\", \"parameters\": {\"type\": \"object\", \"properties\": {}}, \"return\": {\"type\": \"array\", \"items\": {\"type\": \"object\"}}}}\n",
            "{\"type\": \"function\", \"function\": {\"name\": \"inventory_check\", \"description\": \"Calculates the total value of inventory items in the target conversion rate.\\nWhen item_codes=None, calculates total value for all items.\", \"parameters\": {\"type\": \"object\", \"properties\": {\"item_codes\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}, \"nullable\": true, \"description\": \"List of item codes to include. (None for all items)\"}, \"conversion_rate\": {\"type\": \"number\", \"description\": \"Exchange rate to convert costs to target currency\"}}, \"required\": [\"item_codes\", \"conversion_rate\"]}, \"return\": {\"type\": \"number\", \"description\": \"Total value of matching items in target currency, rounded to 2 decimals\"}}}\n",
            "{\"type\": \"function\", \"function\": {\"name\": \"get_usd_to_euro_conversion_rate\", \"description\": \"Gets the conversion rate from USD to EURO\", \"parameters\": {\"type\": \"object\", \"properties\": {}}, \"return\": {\"type\": \"number\"}}}\n",
            "</tools>\n",
            "\n",
            "For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n",
            "<tool_call>\n",
            "{\"name\": <function-name>, \"arguments\": <args-json-object>}\n",
            "</tool_call><|im_end|>\n",
            "<|im_start|>user\n",
            "How much is the total cost of all inventory items in Euros?<|im_end|>\n",
            "<|im_start|>assistant\n",
            "\n"
          ]
        }
      ],
      "source": [
        "messages = []\n",
        "\n",
        "messages.append(user_query)\n",
        "\n",
        "tokenizer = copy.deepcopy(tokenizer_orig)\n",
        "input_ids = tokenizer.apply_chat_template(\n",
        "    messages,\n",
        "    tokenize=True,\n",
        "    add_generation_prompt=True,\n",
        "    add_special_tokens=False,\n",
        "    padding=True,\n",
        "    tools=tools,  # pass the tools\n",
        "    return_tensors=\"pt\",\n",
        ").to(\"cuda\")\n",
        "\n",
        "print(tokenizer.decode(input_ids[0]))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 23,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "WhutWZ65xJuI",
        "outputId": "9e76c456-18e6-43b2-f34f-81e55c08f2a7"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "[\n",
            "\n",
            "    {\n",
            "        \"name\": \"inventory_check\",\n",
            "        \"arguments\": {\n",
            "            \"item_codes\": [],\n",
            "            \"conversion_rate\": 0.85\n",
            "        }\n",
            "    }\n",
            "\n",
            "]\n"
          ]
        }
      ],
      "source": [
        "output = generate_with_grammar(\n",
        "    model=model,\n",
        "    input_ids=input_ids\n",
        ")\n",
        "\n",
        "generated_tokens = output[:, input_ids.shape[1]:]\n",
        "\n",
        "decoded_output = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)\n",
        "\n",
        "for i, message in enumerate(decoded_output):\n",
        "    print(f\"{message}\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 24,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "87_9T7uJzUnF",
        "outputId": "dc1242af-b6c4-453b-d87f-21cf2c80dab7"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "item_codes: [], conversion_rate: 0.85\n"
          ]
        }
      ],
      "source": [
        "import json\n",
        "\n",
        "content = json.loads(decoded_output[0])\n",
        "arguments = content[0]['arguments']\n",
        "item_codes = arguments['item_codes']\n",
        "conversion_rate = arguments['conversion_rate']\n",
        "print(f\"item_codes: {item_codes}, conversion_rate: {conversion_rate}\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "iCrWHc567986"
      },
      "source": [
        "Here we actually call `inventory_check()` and capture the result"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 25,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "pCxTSXsz7uUV",
        "outputId": "785c8d4d-831e-436f-d04d-e7010dbeace5"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "55.96"
            ]
          },
          "execution_count": 25,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "result_total = inventory_check(item_codes, conversion_rate)\n",
        "result_total"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 26,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "t_NtXUxf8Hbi",
        "outputId": "785ab824-9a52-484b-8c9a-16c678d22f67"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "<|im_start|>system\n",
            "You are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\n",
            "<|im_start|>user\n",
            "You are a super helpful AI assistant.\n",
            "You are asked to answer a question based on the following context information.\n",
            "Question:\n",
            "How much is the total cost of all inventory items in Euros?<|im_end|>\n",
            "<|im_start|>assistant\n",
            "<tool_call>\n",
            "{\"name\": \"inventory_check\", \"arguments\": {\"item_codes\": [], \"conversion_rate\": 0.85}}\n",
            "</tool_call><|im_end|>\n",
            "<|im_start|>user\n",
            "<tool_response>\n",
            "55.96\n",
            "</tool_response><|im_end|>\n",
            "<|im_start|>assistant\n",
            "Answer:\n",
            "\n"
          ]
        }
      ],
      "source": [
        "messages = []\n",
        "\n",
        "original_prompt = user_query['content']\n",
        "\n",
        "prompt_with_context = f\"\"\"You are a super helpful AI assistant.\n",
        "You are asked to answer a question based on the following context information.\n",
        "Question:\n",
        "{original_prompt}\"\"\"\n",
        "\n",
        "messages.append({\n",
        "    \"role\": \"user\",\n",
        "    \"content\": prompt_with_context\n",
        "})\n",
        "\n",
        "tool_call_id = generate_alphanumeric()\n",
        "tool_calls = [{\n",
        "    \"id\": tool_call_id,\n",
        "    \"type\": \"function\",\n",
        "    \"function\": {\n",
        "        \"name\": \"inventory_check\",\n",
        "        \"arguments\": arguments\n",
        "    }\n",
        "}]\n",
        "\n",
        "messages.append({\n",
        "    \"role\": \"assistant\",\n",
        "    \"tool_calls\": tool_calls\n",
        "})\n",
        "messages.append({\n",
        "    \"role\": \"tool\",\n",
        "    \"name\": \"inventory_check\",\n",
        "    \"content\": result_total\n",
        "})\n",
        "\n",
        "messages.append({\n",
        "    \"role\": \"assistant\",\n",
        "    \"content\": \"Answer:\\n\"\n",
        "})\n",
        "\n",
        "tokenizer = copy.deepcopy(tokenizer_orig)\n",
        "tool_prompt = tokenizer.apply_chat_template(\n",
        "    messages,\n",
        "    continue_final_message=True,\n",
        "    add_special_tokens=True,\n",
        "    return_tensors=\"pt\",\n",
        "    return_dict=True,\n",
        "    tools=None,\n",
        ")\n",
        "tool_prompt = tool_prompt.to(model.device)\n",
        "\n",
        "print(tokenizer.decode(tool_prompt['input_ids'][0]))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 27,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "FsqMTNst8iQh",
        "outputId": "e55b383c-3251-4d3a-b418-a66f92729b51"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "The total cost of all inventory items in Euros is €55.96.\n"
          ]
        }
      ],
      "source": [
        "out = model.generate(**tool_prompt, max_new_tokens=128)\n",
        "generated_text = out[0, tool_prompt['input_ids'].shape[1]:]\n",
        "\n",
        "print(tokenizer.decode(generated_text, skip_special_tokens=True))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "wA7I2BvY-sxq"
      },
      "source": [
        "Let's try if the model can use the correct tools for fetching item names. Note that we added a prompt \"Ensure to use fetch_item_by_name first for fetching the item code\""
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 28,
      "metadata": {
        "id": "tFSIik9M8ydF"
      },
      "outputs": [],
      "source": [
        "user_query = {\n",
        "    \"role\": \"user\",\n",
        "    \"content\": f\"\"\"How much is the total inventory cost of item name: Bottled Water in Euros? Ensure to use fetch_item_by_name first for fetching the item code\"\"\"\n",
        "}"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "J1i3vOjFIA7U"
      },
      "source": [
        "Below we declare a new function `fetch_item_by_name` which fetches a single item based on the item name. Next we append the new function to our tool list"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 29,
      "metadata": {
        "id": "hiH8xlwcGuG1"
      },
      "outputs": [],
      "source": [
        "def fetch_item_by_name(item_name: str) -> Optional[Item]:\n",
        "    \"\"\"\n",
        "    Fetch an item by name and returns the Item object.\n",
        "\n",
        "    Args:\n",
        "        item_name: The human-readable name of the item to fetch\n",
        "    Returns:\n",
        "        Optional[Item]: The Item with the given name, or None if not found\n",
        "    \"\"\"\n",
        "    all_items = get_all_items()\n",
        "    return next((item for item in all_items if item.name == item_name), None)\n",
        "\n",
        "\n",
        "# append to the tools list\n",
        "tools = copy.deepcopy(orig_tools)\n",
        "\n",
        "# place it at the top of the list\n",
        "tools.insert(0, fetch_item_by_name)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "w9PPKfsTIllY"
      },
      "source": [
        "Let's make sure that we have a valid tools definition"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 30,
      "metadata": {
        "id": "EJqNBoP3Iisp"
      },
      "outputs": [],
      "source": [
        "from transformers.utils import chat_template_utils\n",
        "\n",
        "for tool in tools:\n",
        "    _ = chat_template_utils.get_json_schema(tool)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 31,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "T3CLRZ00-9A1",
        "outputId": "c257d6fb-fabe-4225-d64a-89b346f637c9"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "<|im_start|>system\n",
            "You are Qwen, created by Alibaba Cloud. You are a helpful assistant.\n",
            "\n",
            "# Tools\n",
            "\n",
            "You may call one or more functions to assist with the user query.\n",
            "\n",
            "You are provided with function signatures within <tools></tools> XML tags:\n",
            "<tools>\n",
            "{\"type\": \"function\", \"function\": {\"name\": \"fetch_item_by_name\", \"description\": \"Fetch an item by name and returns the Item object.\", \"parameters\": {\"type\": \"object\", \"properties\": {\"item_name\": {\"type\": \"string\", \"description\": \"The human-readable name of the item to fetch\"}}, \"required\": [\"item_name\"]}, \"return\": {\"type\": \"object\", \"nullable\": true, \"description\": \"Optional[Item]: The Item with the given name, or None if not found\"}}}\n",
            "{\"type\": \"function\", \"function\": {\"name\": \"get_all_items\", \"description\": \"Fetches all the inventory items\", \"parameters\": {\"type\": \"object\", \"properties\": {}}, \"return\": {\"type\": \"array\", \"items\": {\"type\": \"object\"}}}}\n",
            "{\"type\": \"function\", \"function\": {\"name\": \"inventory_check\", \"description\": \"Calculates the total value of inventory items in the target conversion rate.\\nWhen item_codes=None, calculates total value for all items.\", \"parameters\": {\"type\": \"object\", \"properties\": {\"item_codes\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}, \"nullable\": true, \"description\": \"List of item codes to include. (None for all items)\"}, \"conversion_rate\": {\"type\": \"number\", \"description\": \"Exchange rate to convert costs to target currency\"}}, \"required\": [\"item_codes\", \"conversion_rate\"]}, \"return\": {\"type\": \"number\", \"description\": \"Total value of matching items in target currency, rounded to 2 decimals\"}}}\n",
            "{\"type\": \"function\", \"function\": {\"name\": \"get_usd_to_euro_conversion_rate\", \"description\": \"Gets the conversion rate from USD to EURO\", \"parameters\": {\"type\": \"object\", \"properties\": {}}, \"return\": {\"type\": \"number\"}}}\n",
            "</tools>\n",
            "\n",
            "For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n",
            "<tool_call>\n",
            "{\"name\": <function-name>, \"arguments\": <args-json-object>}\n",
            "</tool_call><|im_end|>\n",
            "<|im_start|>user\n",
            "How much is the total inventory cost of item name: Bottled Water in Euros? Ensure to use fetch_item_by_name first for fetching the item code<|im_end|>\n",
            "<|im_start|>assistant\n",
            "\n"
          ]
        }
      ],
      "source": [
        "messages = []\n",
        "\n",
        "messages.append(user_query)\n",
        "\n",
        "tokenizer = copy.deepcopy(tokenizer_orig)\n",
        "input_ids = tokenizer.apply_chat_template(\n",
        "    messages,\n",
        "    tokenize=True,\n",
        "    add_generation_prompt=True,\n",
        "    add_special_tokens=False,\n",
        "    padding=True,\n",
        "    tools=tools,\n",
        "    return_tensors=\"pt\",\n",
        ").to(\"cuda\")\n",
        "\n",
        "print(tokenizer.decode(input_ids[0]))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 32,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "jPOewumK_BrL",
        "outputId": "02456456-17bd-4030-95f1-aace59055674"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "[\n",
            "\n",
            "    {\n",
            "        \"name\": \"fetch_item_by_name\",\n",
            "        \"arguments\": {\n",
            "            \"item_name\": \"Bottled Water\"\n",
            "        }\n",
            "    },\n",
            "    {\n",
            "        \"name\": \"inventory_check\",\n",
            "        \"arguments\": {\n",
            "            \"item_codes\": [\"12345\"],\n",
            "            \"conversion_rate\": 0.85\n",
            "        }\n",
            "    }\n",
            "\n",
            "]\n"
          ]
        }
      ],
      "source": [
        "output = generate_with_grammar(\n",
        "    model=model,\n",
        "    input_ids=input_ids\n",
        ")\n",
        "\n",
        "generated_tokens = output[:, input_ids.shape[1]:]\n",
        "\n",
        "decoded_output = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)\n",
        "\n",
        "for i, message in enumerate(decoded_output):\n",
        "    print(f\"{message}\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "pz_A2g9rIuGF"
      },
      "source": [
        "The model should return the values for the arguments of `fetch_item_by_name` and `inventory_check`"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 33,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "G62KcBUq_D1C",
        "outputId": "31c6c040-a0d8-4662-8d90-cabf09a37d03"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "item_name: Bottled Water, item_code: ITEM-002\n",
            "conversion_rate: 0.85\n"
          ]
        },
        {
          "data": {
            "text/plain": [
              "17.68"
            ]
          },
          "execution_count": 33,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "import json\n",
        "\n",
        "content = json.loads(decoded_output[0])\n",
        "arguments_for_item_name = content[0]['arguments']\n",
        "item_name = arguments_for_item_name['item_name']\n",
        "\n",
        "item_code = fetch_item_by_name(item_name).item_code\n",
        "print(f\"item_name: {item_name}, item_code: {item_code}\")\n",
        "\n",
        "arguments_for_inventory_check = content[1]['arguments']\n",
        "conversion_rate = arguments_for_inventory_check['conversion_rate']\n",
        "print(f\"conversion_rate: {conversion_rate}\")\n",
        "\n",
        "result_total = inventory_check([item_code], conversion_rate)\n",
        "result_total"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "6EYlMN28KLv4"
      },
      "source": [
        "After computing (actually call the inventory total of Bottled Water, we prompt the model again.\n",
        "\n",
        "Note that we've added the prompt below for for better accuracy.\n",
        "\n",
        "\"Answer:\\n\""
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 34,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "_PNksyC7HQZq",
        "outputId": "a9fdc69e-7306-4e8f-d25e-7e774b01da7e"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "<|im_start|>system\n",
            "You are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\n",
            "<|im_start|>user\n",
            "You are a super helpful AI assistant.\n",
            "You are asked to answer a question based on the following context information.\n",
            "Question:\n",
            "How much is the total inventory cost of item name: Bottled Water in Euros? Ensure to use fetch_item_by_name first for fetching the item code<|im_end|>\n",
            "<|im_start|>assistant\n",
            "<tool_call>\n",
            "{\"name\": \"inventory_check\", \"arguments\": {\"item_codes\": [], \"conversion_rate\": 0.85}}\n",
            "</tool_call><|im_end|>\n",
            "<|im_start|>user\n",
            "<tool_response>\n",
            "17.68\n",
            "</tool_response><|im_end|>\n",
            "<|im_start|>assistant\n",
            "Answer:\n",
            "\n"
          ]
        }
      ],
      "source": [
        "messages = []\n",
        "\n",
        "original_prompt = user_query['content']\n",
        "\n",
        "prompt_with_context = f\"\"\"You are a super helpful AI assistant.\n",
        "You are asked to answer a question based on the following context information.\n",
        "Question:\n",
        "{original_prompt}\"\"\"\n",
        "\n",
        "messages.append({\n",
        "    \"role\": \"user\",\n",
        "    \"content\": prompt_with_context\n",
        "})\n",
        "\n",
        "tool_call_id = generate_alphanumeric()\n",
        "tool_calls = [{\n",
        "    \"id\": tool_call_id,\n",
        "    \"type\": \"function\",\n",
        "    \"function\": {\n",
        "        \"name\": \"inventory_check\",\n",
        "        \"arguments\": arguments\n",
        "    }\n",
        "}]\n",
        "\n",
        "messages.append({\n",
        "    \"role\": \"assistant\",\n",
        "    \"tool_calls\": tool_calls\n",
        "})\n",
        "messages.append({\n",
        "    \"role\": \"tool\",\n",
        "    \"name\": \"inventory_check\",\n",
        "    \"content\": result_total  # pass the result total\n",
        "})\n",
        "\n",
        "messages.append({\n",
        "    \"role\": \"assistant\",\n",
        "    \"content\": \"Answer:\\n\"\n",
        "})\n",
        "\n",
        "tokenizer = copy.deepcopy(tokenizer_orig)\n",
        "tool_prompt = tokenizer.apply_chat_template(\n",
        "    messages,\n",
        "    continue_final_message=True,\n",
        "    add_special_tokens=True,\n",
        "    return_tensors=\"pt\",\n",
        "    return_dict=True,\n",
        "    tools=None,\n",
        ")\n",
        "tool_prompt = tool_prompt.to(model.device)\n",
        "\n",
        "print(tokenizer.decode(tool_prompt['input_ids'][0]))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 35,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "URnnSKQ0Hf-T",
        "outputId": "acfa55a3-0496-4277-a882-9546513d542e"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "The total inventory cost of item name: Bottled Water in Euros is 17.68 euros.\n"
          ]
        }
      ],
      "source": [
        "out = model.generate(**tool_prompt, max_new_tokens=128)\n",
        "generated_text = out[0, tool_prompt['input_ids'].shape[1]:]\n",
        "\n",
        "print(tokenizer.decode(generated_text, skip_special_tokens=True))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "zaZEBRBRxshp"
      },
      "source": [
        "And we're done! If you have any questions on Unsloth, we have a [Discord](https://discord.gg/unsloth) channel! If you find any bugs or want to keep updated with the latest LLM stuff, or need help, join projects etc, feel free to join our Discord!\n",
        "\n",
        "Some other links:\n",
        "1. Train your own reasoning model - Llama GRPO notebook [Free Colab](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Llama3.1_(8B)-GRPO.ipynb)\n",
        "2. Saving finetunes to Ollama. [Free notebook](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Llama3_(8B)-Ollama.ipynb)\n",
        "3. Llama 3.2 Vision finetuning - Radiography use case. [Free Colab](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Llama3.2_(11B)-Vision.ipynb)\n",
        "6. See notebooks for DPO, ORPO, Continued pretraining, conversational finetuning and more on our [documentation](https://docs.unsloth.ai/get-started/unsloth-notebooks)!\n",
        "\n",
        "<div class=\"align-center\">\n",
        "  <a href=\"https://unsloth.ai\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/unsloth%20new%20logo.png\" width=\"115\"></a>\n",
        "  <a href=\"https://discord.gg/unsloth\"><img src=\"https://github.com/unslothai/unsloth/raw/main/images/Discord.png\" width=\"145\"></a>\n",
        "  <a href=\"https://docs.unsloth.ai/\"><img src=\"https://github.com/unslothai/unsloth/blob/main/images/documentation%20green%20button.png?raw=true\" width=\"125\"></a>\n",
        "\n",
        "  Join Discord if you need help + ⭐️ <i>Star us on <a href=\"https://github.com/unslothai/unsloth\">Github</a> </i> ⭐️\n",
        "</div>\n"
      ]
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "gpuType": "T4",
      "provenance": [],
      "toc_visible": true
    },
    "kernelspec": {
      "display_name": ".venv",
      "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.10.16"
    },
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
        "025ae279fcb74246b9bfb3bfd923904c": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "03d65e13dc174e92bbbcbc5088909f9d": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0431e31bf3ea4e0d80eaef4db8311bd6": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "043f65a4ea764e6cac6c9635c97f97eb": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_d712e72eebf14a23a5c321795d0a4d19",
            "placeholder": "​",
            "style": "IPY_MODEL_906d688903c7464ca09c6c61644a27a0",
            "value": "merges.txt: 100%"
          }
        },
        "051169313068408a9aee6ae705be5d72": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_16ef86cc39a44c839621cda63cccfc41",
            "placeholder": "​",
            "style": "IPY_MODEL_92b35a13a55b4838bf1c728b8a74bab1",
            "value": "added_tokens.json: 100%"
          }
        },
        "05f2869680dd4e6aa1e8068406bff183": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "063541a0053545bea8f2e876fd2acb68": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_09d55268e88d4dc288a001427f61a4fd",
            "placeholder": "​",
            "style": "IPY_MODEL_806dac7b48c0492396d0e967c65d8c71",
            "value": "config.json: 100%"
          }
        },
        "06de6a033cd9416da2d32e343ffd6f82": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "096795df31e64d2688c4be21e1326498": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_7ff72b61dadb432f98826d83aa972e70",
            "placeholder": "​",
            "style": "IPY_MODEL_bb0039fe21594c27a09e91d58f0db14a",
            "value": "special_tokens_map.json: 100%"
          }
        },
        "09d55268e88d4dc288a001427f61a4fd": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0accca7a631d42b8a95b7dcad70d14b8": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "0ad2ded850b542f5802ade7571301c3b": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0dd25d69dee74fd58dd979cca5d3e587": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "0e74b5680f5e4e5787bdb5e88984b74e": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "103932911c4d409b8d801f9343affab9": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "10a81cd2eab6441a872147db79f7ef1d": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "10c7f59dc0864aa59b754f0234514f1e": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_063541a0053545bea8f2e876fd2acb68",
              "IPY_MODEL_92dc9145ab524f498bfc0c35f9fdb174",
              "IPY_MODEL_11ca17ec35074f318bc144a9227478ac"
            ],
            "layout": "IPY_MODEL_ea1e5a33362a43db8766cb0c08b578dd"
          }
        },
        "1119aa8b93da44fe84f9133c6d564ffd": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "11ca17ec35074f318bc144a9227478ac": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_5ebe13f6cae44361aed89ea22530cc87",
            "placeholder": "​",
            "style": "IPY_MODEL_6fd5a120e3ed475ebb764bd55a45d8ec",
            "value": " 765/765 [00:00&lt;00:00, 62.9kB/s]"
          }
        },
        "14c690cb2b5f410dbd8bf82f772c4802": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "14cce34c29324f2abb209aa31251d414": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_3c1922834e5b420bbe3d8f7d2429b492",
            "placeholder": "​",
            "style": "IPY_MODEL_0accca7a631d42b8a95b7dcad70d14b8",
            "value": " 1.67M/1.67M [00:00&lt;00:00, 4.95MB/s]"
          }
        },
        "16ef86cc39a44c839621cda63cccfc41": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "170c8e302fa5457a91c43e02b964ff4c": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_6867fef6ddfa4901b267e92a9a2cdae9",
            "placeholder": "​",
            "style": "IPY_MODEL_1119aa8b93da44fe84f9133c6d564ffd",
            "value": " 2.78M/2.78M [00:00&lt;00:00, 11.1MB/s]"
          }
        },
        "1de87285321f4f01bc8bf86e3b0f86a5": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1ffa1f53cbd74a76a5933f749881e94c": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "2483117f317a44d0b4eecb4a4e4f62aa": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "26062536695547da98bb96e8bae5fa30": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_587b3d5a5782431d8ba0257f997390c0",
              "IPY_MODEL_c2e9d271af1449329bb7a3aeed9dec95",
              "IPY_MODEL_9f95b66bc04b45ac8c291e90c4101921"
            ],
            "layout": "IPY_MODEL_c1275a9bc9d949c8944870b1d0a58f0c"
          }
        },
        "2a01d4ad5c8441baa8357117a9bada43": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "2b6ea547721a4099815aac0c315dc97c": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "2c0c7406572e4218a9541d152f0229c9": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_2b6ea547721a4099815aac0c315dc97c",
            "placeholder": "​",
            "style": "IPY_MODEL_de7962e4c6a04f839a98fd8317ca26d7",
            "value": " 613/613 [00:00&lt;00:00, 38.0kB/s]"
          }
        },
        "2c43b1321e4d4fafb433c496e6c19b90": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "2c8df8d547574b2f985c7794b4642b76": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "2dcc9afb45354f89b5930e740d889a7d": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_e3659031c23d4bcb8136899c476e1a6c",
              "IPY_MODEL_e1a8bf02391b48efa942016ec7bebc6d",
              "IPY_MODEL_8f5bd8b322054dddb9d394e452544762"
            ],
            "layout": "IPY_MODEL_f2ae3349b890487abee3a557b186294e"
          }
        },
        "2ec34140efa84ca29135afa6b4aa475f": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1ffa1f53cbd74a76a5933f749881e94c",
            "max": 632,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_624d5c08b8fd4e38bca6c55878bd26eb",
            "value": 632
          }
        },
        "3089a3c50708464783a3447c0ef650f1": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_2c43b1321e4d4fafb433c496e6c19b90",
            "placeholder": "​",
            "style": "IPY_MODEL_05f2869680dd4e6aa1e8068406bff183",
            "value": " 1.67M/1.67M [00:00&lt;00:00, 4.98MB/s]"
          }
        },
        "32be1aba98784b208667179dd5862de2": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3321d3cd97f942b38125b98226a72899": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "33d943034caf4ad98387b9116ceec2b5": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_66d521d8e65e4f5285f89daaf7c8c38b",
            "placeholder": "​",
            "style": "IPY_MODEL_103932911c4d409b8d801f9343affab9",
            "value": " 7.51k/7.51k [00:00&lt;00:00, 473kB/s]"
          }
        },
        "341c4de23f1848c79d0ce62190f308e7": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_6d3a4e95a8954714bb681834d05ab309",
            "placeholder": "​",
            "style": "IPY_MODEL_e52f671db0794a548ae77ad06b5134b6",
            "value": " 7.03M/7.03M [00:00&lt;00:00, 14.0MB/s]"
          }
        },
        "34852aab3a4441b88dd65be909a7673b": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_8a55ef8aed5144dbb02dfc99e5bd43ba",
            "placeholder": "​",
            "style": "IPY_MODEL_fc9ad241d66b4cb380183a04fc2e6c2f",
            "value": "added_tokens.json: 100%"
          }
        },
        "3671f2e22aac43edadd1240a1e1deeea": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "3b9cbaf2c1044450b41dab928d7c27da": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3c1922834e5b420bbe3d8f7d2429b492": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3c73c54b7701493d92ff6ced3735dce3": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3ca40da457a94b0c9bf4f0d3e7045bad": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "40ef2bc30330404b89c337510d560b5b": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "44aed22fadf340babe47e18cc3609603": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "453990d396d348769cee958b5826a932": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_a962f4949e1f42d8aa1791674e16da78",
              "IPY_MODEL_d052810c41e843bb8e63ed650fc72dbb",
              "IPY_MODEL_341c4de23f1848c79d0ce62190f308e7"
            ],
            "layout": "IPY_MODEL_14c690cb2b5f410dbd8bf82f772c4802"
          }
        },
        "498f42b240534add84e727a2ac2f8d0c": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "49eb1b29c8064d3baf42e78cd9305b73": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "4a8f7ce47d0f4071831027affdb22bfa": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "4b481b20fe98408e97377eb6efea26f4": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "4d3b101d7b1a492bb1f2e0c1f94f7674": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "4f4ec8343cca49529ba82e28a94d4ba3": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_043f65a4ea764e6cac6c9635c97f97eb",
              "IPY_MODEL_69ac7164e60f4a3aa46a37a722e03451",
              "IPY_MODEL_3089a3c50708464783a3447c0ef650f1"
            ],
            "layout": "IPY_MODEL_03d65e13dc174e92bbbcbc5088909f9d"
          }
        },
        "52a12ec9d90444f182a329c34feb9e29": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "557d12eabf05431980b26af12ca9e3b3": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "5701898928264a458c89f2c8a080e83a": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "587b3d5a5782431d8ba0257f997390c0": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_498f42b240534add84e727a2ac2f8d0c",
            "placeholder": "​",
            "style": "IPY_MODEL_cc5e0350a895469b8907801d2ddfc116",
            "value": "tokenizer_config.json: 100%"
          }
        },
        "5d880920945845578a03b0216241ecb9": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_c2f5d7804bce46af81dad2129baf5a01",
            "placeholder": "​",
            "style": "IPY_MODEL_eff94aaebf5e45479fabd5b11c156291",
            "value": " 7.03M/7.03M [00:00&lt;00:00, 21.4MB/s]"
          }
        },
        "5ebe13f6cae44361aed89ea22530cc87": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6091d60224314261a301664d0362822a": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "61fcb0f1cdd84a15a996cf6faaa0dc11": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_c0be1d43b3f446b98c32951e3d2bebe6",
              "IPY_MODEL_8a5cdb013ac046199d532fbaf286b577",
              "IPY_MODEL_33d943034caf4ad98387b9116ceec2b5"
            ],
            "layout": "IPY_MODEL_7223c1ddd12240eda1aa0d94120c7cbb"
          }
        },
        "624d5c08b8fd4e38bca6c55878bd26eb": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "62d6a0005faf4359a3b7e980f6a12676": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "657fa8603e7e4e23b30ea3fbe3b66bcd": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e640358764354406b64ea9d8cd62b97c",
            "max": 1671853,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_c895eb1145aa41e2b0dc4e7862c8e1ad",
            "value": 1671853
          }
        },
        "66d521d8e65e4f5285f89daaf7c8c38b": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6867fef6ddfa4901b267e92a9a2cdae9": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "69ac7164e60f4a3aa46a37a722e03451": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_2c8df8d547574b2f985c7794b4642b76",
            "max": 1671853,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_e92bfb506b4744c08f40d33962e7c856",
            "value": 1671853
          }
        },
        "69bbbbee4ca24dfa98cb2fd7aaded0d4": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6ae2bcda9b1540bfae0b7c182e60b2c7": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_b3ba88110d5c4b1da54fa61657d3dae4",
            "placeholder": "​",
            "style": "IPY_MODEL_3ca40da457a94b0c9bf4f0d3e7045bad",
            "value": " 632/632 [00:00&lt;00:00, 18.1kB/s]"
          }
        },
        "6b4cec98b8e64dfaa187b21f34d0a45e": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_096795df31e64d2688c4be21e1326498",
              "IPY_MODEL_d68c4628980a462c9b5dad58c54d9fbf",
              "IPY_MODEL_2c0c7406572e4218a9541d152f0229c9"
            ],
            "layout": "IPY_MODEL_62d6a0005faf4359a3b7e980f6a12676"
          }
        },
        "6d3a4e95a8954714bb681834d05ab309": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6f45335cfbda48b4bc7de3824c8adda2": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "6fd5a120e3ed475ebb764bd55a45d8ec": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "7223c1ddd12240eda1aa0d94120c7cbb": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "73aa3cc053e44d1aa1c2c3930e07abce": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_3c73c54b7701493d92ff6ced3735dce3",
            "placeholder": "​",
            "style": "IPY_MODEL_c18476863ce24354adbb343720fa1085",
            "value": "vocab.json: 100%"
          }
        },
        "754e6537ebc3499499a68fbb5b25df53": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_40ef2bc30330404b89c337510d560b5b",
            "placeholder": "​",
            "style": "IPY_MODEL_a8f68b32207f43898a735122fb1e1026",
            "value": " 2.78M/2.78M [00:00&lt;00:00, 6.74MB/s]"
          }
        },
        "768be9bccefb4359bc21c0731e534399": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_fa6a56bbe82f412d8eff4968cddff88e",
            "placeholder": "​",
            "style": "IPY_MODEL_cfb8e59c6bdd4e84b24507aa86db8eed",
            "value": "vocab.json: 100%"
          }
        },
        "790165ff4f0046448b17bd3505cbc416": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "79b9bffeb1fb44abae641493395ddfd1": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "7ce8c1e1642d4ff2b4e9fdd75487a7c1": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "7eb5ea11b3c84889995392a4a34e273b": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "7ff72b61dadb432f98826d83aa972e70": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "806dac7b48c0492396d0e967c65d8c71": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "837b744b041b48949cf2fb0e53ccf931": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "88be632353ac4aa9b4c7580f5c8f4d05": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "89a8ed76a8df4e87a1659b6adfb0d458": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_a442f35c4641456ba3b3b3c4fbee8995",
              "IPY_MODEL_a1604bdde1b34bbfb6ff7c12cb6c6e58",
              "IPY_MODEL_5d880920945845578a03b0216241ecb9"
            ],
            "layout": "IPY_MODEL_4d3b101d7b1a492bb1f2e0c1f94f7674"
          }
        },
        "8a55ef8aed5144dbb02dfc99e5bd43ba": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "8a5cdb013ac046199d532fbaf286b577": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1de87285321f4f01bc8bf86e3b0f86a5",
            "max": 7512,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_cc126f714dd0422fadec2262b9818560",
            "value": 7512
          }
        },
        "8f5bd8b322054dddb9d394e452544762": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e3523f3c07f64fc88dacd72ac2ca1d3b",
            "placeholder": "​",
            "style": "IPY_MODEL_ed299eeae37b44afa7f2c605a93199e4",
            "value": " 3.09G/3.09G [00:22&lt;00:00, 396MB/s]"
          }
        },
        "906d688903c7464ca09c6c61644a27a0": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "90dd6bb65f444300b184c720a6e1b339": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "926ae2d61c204b0c8b9b6e3a4a90926b": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0e74b5680f5e4e5787bdb5e88984b74e",
            "placeholder": "​",
            "style": "IPY_MODEL_2a01d4ad5c8441baa8357117a9bada43",
            "value": "generation_config.json: 100%"
          }
        },
        "92b35a13a55b4838bf1c728b8a74bab1": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "92dc9145ab524f498bfc0c35f9fdb174": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_7eb5ea11b3c84889995392a4a34e273b",
            "max": 765,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_c11547368c9a4e81bf787800d355d7f4",
            "value": 765
          }
        },
        "9841a7ca0ec74e61b6c9654e2774f955": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_32be1aba98784b208667179dd5862de2",
            "placeholder": "​",
            "style": "IPY_MODEL_e8ab843c82c34379b3f7c0edf8fa98ba",
            "value": "merges.txt: 100%"
          }
        },
        "9f95b66bc04b45ac8c291e90c4101921": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_7ce8c1e1642d4ff2b4e9fdd75487a7c1",
            "placeholder": "​",
            "style": "IPY_MODEL_6f45335cfbda48b4bc7de3824c8adda2",
            "value": " 7.51k/7.51k [00:00&lt;00:00, 365kB/s]"
          }
        },
        "a1604bdde1b34bbfb6ff7c12cb6c6e58": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_69bbbbee4ca24dfa98cb2fd7aaded0d4",
            "max": 7031863,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_c02c11128bed4f3bb57f3d185df12ebf",
            "value": 7031863
          }
        },
        "a3f10cdeab64466c86de3470279b5fbd": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a442f35c4641456ba3b3b3c4fbee8995": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e545856974b842b3ad9d76508a9e9fcd",
            "placeholder": "​",
            "style": "IPY_MODEL_4a8f7ce47d0f4071831027affdb22bfa",
            "value": "tokenizer.json: 100%"
          }
        },
        "a4451c36012745b9a12218af49e93956": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_73aa3cc053e44d1aa1c2c3930e07abce",
              "IPY_MODEL_cc2b6ccbb4044f499b3616dbb3704275",
              "IPY_MODEL_170c8e302fa5457a91c43e02b964ff4c"
            ],
            "layout": "IPY_MODEL_557d12eabf05431980b26af12ca9e3b3"
          }
        },
        "a5b61a1d115d4a9db489042bedbec8f9": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a8f68b32207f43898a735122fb1e1026": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "a9222c840014441d9199ddf2b7650d08": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_3321d3cd97f942b38125b98226a72899",
            "placeholder": "​",
            "style": "IPY_MODEL_e9b5c45236e94e3480dd6dbbb3d6fcf2",
            "value": " 632/632 [00:00&lt;00:00, 76.6kB/s]"
          }
        },
        "a962f4949e1f42d8aa1791674e16da78": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_ca9d082a491b499c93fc044ea69151e5",
            "placeholder": "​",
            "style": "IPY_MODEL_f1edfa6acde44acca81dc5cac5543ab8",
            "value": "tokenizer.json: 100%"
          }
        },
        "ab92d2ba313e4e1097f6bc302fb98409": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_926ae2d61c204b0c8b9b6e3a4a90926b",
              "IPY_MODEL_cda22ce77643405596be676b2eb35c80",
              "IPY_MODEL_c9195c4996084510ac2baeffc3958673"
            ],
            "layout": "IPY_MODEL_e718ccda074f49e1a488d71fd5c8f71c"
          }
        },
        "b1f0cbd2181141d1a33948740a18a917": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_79b9bffeb1fb44abae641493395ddfd1",
            "placeholder": "​",
            "style": "IPY_MODEL_0dd25d69dee74fd58dd979cca5d3e587",
            "value": "special_tokens_map.json: 100%"
          }
        },
        "b3ba88110d5c4b1da54fa61657d3dae4": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b4aa6dc09c4147bab29f7ace05579fe4": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_768be9bccefb4359bc21c0731e534399",
              "IPY_MODEL_fefd0ef6800c4a8aa57e22d3681fa324",
              "IPY_MODEL_754e6537ebc3499499a68fbb5b25df53"
            ],
            "layout": "IPY_MODEL_2483117f317a44d0b4eecb4a4e4f62aa"
          }
        },
        "b56b2851286c47e09cd032bad6f697cf": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b8d3126b7d9d4a9a80c40789d9f68446": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_a5b61a1d115d4a9db489042bedbec8f9",
            "placeholder": "​",
            "style": "IPY_MODEL_90dd6bb65f444300b184c720a6e1b339",
            "value": " 613/613 [00:00&lt;00:00, 51.4kB/s]"
          }
        },
        "bb0039fe21594c27a09e91d58f0db14a": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "bd19725aa20d42d399f029caad53aa01": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_9841a7ca0ec74e61b6c9654e2774f955",
              "IPY_MODEL_657fa8603e7e4e23b30ea3fbe3b66bcd",
              "IPY_MODEL_14cce34c29324f2abb209aa31251d414"
            ],
            "layout": "IPY_MODEL_837b744b041b48949cf2fb0e53ccf931"
          }
        },
        "be0a1fb6e452464fbca63cba9a005b2b": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_4b481b20fe98408e97377eb6efea26f4",
            "max": 632,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_f13f684bf6224980830986ed0a81e85a",
            "value": 632
          }
        },
        "bedc55a741994190afdde78a0b6952ce": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c02c11128bed4f3bb57f3d185df12ebf": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "c0be1d43b3f446b98c32951e3d2bebe6": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_b56b2851286c47e09cd032bad6f697cf",
            "placeholder": "​",
            "style": "IPY_MODEL_cd5e8b1e84c74e0e959bffb5c75abf50",
            "value": "tokenizer_config.json: 100%"
          }
        },
        "c109cfd6be8c428993f7089a6c2a94df": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_b1f0cbd2181141d1a33948740a18a917",
              "IPY_MODEL_c2a1021f9a8e473ba170c943a003dc84",
              "IPY_MODEL_b8d3126b7d9d4a9a80c40789d9f68446"
            ],
            "layout": "IPY_MODEL_3b9cbaf2c1044450b41dab928d7c27da"
          }
        },
        "c11547368c9a4e81bf787800d355d7f4": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "c1275a9bc9d949c8944870b1d0a58f0c": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c18476863ce24354adbb343720fa1085": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "c2a1021f9a8e473ba170c943a003dc84": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_a3f10cdeab64466c86de3470279b5fbd",
            "max": 613,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_d9288dbb67ca47d29fe3d188e11ca3d0",
            "value": 613
          }
        },
        "c2e9d271af1449329bb7a3aeed9dec95": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_06de6a033cd9416da2d32e343ffd6f82",
            "max": 7512,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_88be632353ac4aa9b4c7580f5c8f4d05",
            "value": 7512
          }
        },
        "c2f5d7804bce46af81dad2129baf5a01": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c2f9d9cbd9b648fdaa533005e0231538": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "c895eb1145aa41e2b0dc4e7862c8e1ad": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "c9195c4996084510ac2baeffc3958673": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_bedc55a741994190afdde78a0b6952ce",
            "placeholder": "​",
            "style": "IPY_MODEL_790165ff4f0046448b17bd3505cbc416",
            "value": " 265/265 [00:00&lt;00:00, 26.3kB/s]"
          }
        },
        "ca9d082a491b499c93fc044ea69151e5": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "cc126f714dd0422fadec2262b9818560": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "cc2b6ccbb4044f499b3616dbb3704275": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_44aed22fadf340babe47e18cc3609603",
            "max": 2776833,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_c2f9d9cbd9b648fdaa533005e0231538",
            "value": 2776833
          }
        },
        "cc5e0350a895469b8907801d2ddfc116": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "cd5e8b1e84c74e0e959bffb5c75abf50": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "cda22ce77643405596be676b2eb35c80": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e72ddbfb5d9b4b86830a77498594da7c",
            "max": 265,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_fad3f711763a45efa87750a5a978395f",
            "value": 265
          }
        },
        "cfb8e59c6bdd4e84b24507aa86db8eed": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "d052810c41e843bb8e63ed650fc72dbb": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_025ae279fcb74246b9bfb3bfd923904c",
            "max": 7031863,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_0431e31bf3ea4e0d80eaef4db8311bd6",
            "value": 7031863
          }
        },
        "d68c4628980a462c9b5dad58c54d9fbf": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_52a12ec9d90444f182a329c34feb9e29",
            "max": 613,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_f50500601bc94cdeb200a0d3b3c80a95",
            "value": 613
          }
        },
        "d712e72eebf14a23a5c321795d0a4d19": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "d9288dbb67ca47d29fe3d188e11ca3d0": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "de7962e4c6a04f839a98fd8317ca26d7": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "e1a8bf02391b48efa942016ec7bebc6d": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "danger",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_10a81cd2eab6441a872147db79f7ef1d",
            "max": 3087467144,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_3671f2e22aac43edadd1240a1e1deeea",
            "value": 3087466850
          }
        },
        "e3523f3c07f64fc88dacd72ac2ca1d3b": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e3659031c23d4bcb8136899c476e1a6c": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_6091d60224314261a301664d0362822a",
            "placeholder": "​",
            "style": "IPY_MODEL_5701898928264a458c89f2c8a080e83a",
            "value": "model.safetensors: 100%"
          }
        },
        "e52f671db0794a548ae77ad06b5134b6": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "e545856974b842b3ad9d76508a9e9fcd": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e5c600ca83f345b7bb6550bd6f25bc2c": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_051169313068408a9aee6ae705be5d72",
              "IPY_MODEL_2ec34140efa84ca29135afa6b4aa475f",
              "IPY_MODEL_6ae2bcda9b1540bfae0b7c182e60b2c7"
            ],
            "layout": "IPY_MODEL_0ad2ded850b542f5802ade7571301c3b"
          }
        },
        "e640358764354406b64ea9d8cd62b97c": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e6ebb4fdfb2c43a5a3e7df423112cd46": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e718ccda074f49e1a488d71fd5c8f71c": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e72ddbfb5d9b4b86830a77498594da7c": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e8ab843c82c34379b3f7c0edf8fa98ba": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "e92bfb506b4744c08f40d33962e7c856": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "e9b5c45236e94e3480dd6dbbb3d6fcf2": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "ea1e5a33362a43db8766cb0c08b578dd": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "ed299eeae37b44afa7f2c605a93199e4": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "ee6aa8e7f0ce4a31981d8e7f751a8c03": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_34852aab3a4441b88dd65be909a7673b",
              "IPY_MODEL_be0a1fb6e452464fbca63cba9a005b2b",
              "IPY_MODEL_a9222c840014441d9199ddf2b7650d08"
            ],
            "layout": "IPY_MODEL_e6ebb4fdfb2c43a5a3e7df423112cd46"
          }
        },
        "eff94aaebf5e45479fabd5b11c156291": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f13f684bf6224980830986ed0a81e85a": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "f1edfa6acde44acca81dc5cac5543ab8": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f2ae3349b890487abee3a557b186294e": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f50500601bc94cdeb200a0d3b3c80a95": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "f73f20e93f8a4763bd105d3dc8f61daf": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "fa6a56bbe82f412d8eff4968cddff88e": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "fad3f711763a45efa87750a5a978395f": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "fc9ad241d66b4cb380183a04fc2e6c2f": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "fefd0ef6800c4a8aa57e22d3681fa324": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_49eb1b29c8064d3baf42e78cd9305b73",
            "max": 2776833,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_f73f20e93f8a4763bd105d3dc8f61daf",
            "value": 2776833
          }
        }
      }
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
