{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/bhuiyanmobasshir94/Cow-weight-and-Breed-Prediction/blob/main/notebooks/031_dec.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "id": "B3W_pFmsfyih"
      },
      "outputs": [],
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "import sys\n",
        "import os\n",
        "import PIL\n",
        "import PIL.Image\n",
        "import tensorflow as tf\n",
        "import tensorflow.keras as keras\n",
        "from tensorflow.keras import layers\n",
        "import tensorflow_datasets as tfds\n",
        "import pathlib\n",
        "from sklearn.model_selection import train_test_split\n",
        "from sklearn import preprocessing"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "## Globals \n",
        "YT_IMAGE_TO_TAKE = 4"
      ],
      "metadata": {
        "id": "5kYcqMyc1hS7"
      },
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "-HJIoeP8gQX8",
        "outputId": "ec7cb056-d971-45bb-af52-4a2ead4555a8"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Downloading data from https://cv-datasets-2021.s3.amazonaws.com/images.tar.gz\n",
            "833052672/833046463 [==============================] - 14s 0us/step\n",
            "833060864/833046463 [==============================] - 14s 0us/step\n"
          ]
        }
      ],
      "source": [
        "images_dataset_url = \"https://cv-datasets-2021.s3.amazonaws.com/images.tar.gz\"\n",
        "images_data_dir = tf.keras.utils.get_file(origin=images_dataset_url,\n",
        "                                   fname='images',\n",
        "                                   untar=True)\n",
        "images_data_dir = pathlib.Path(images_data_dir)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "wR0GlGtWgp9C",
        "outputId": "f0e69563-8062-402a-e836-e345c7170232"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Downloading data from https://cv-datasets-2021.s3.amazonaws.com/yt_images.tar.gz\n",
            "4026998784/4026992587 [==============================] - 86s 0us/step\n",
            "4027006976/4026992587 [==============================] - 86s 0us/step\n"
          ]
        }
      ],
      "source": [
        "yt_images_dataset_url = \"https://cv-datasets-2021.s3.amazonaws.com/yt_images.tar.gz\"\n",
        "yt_images_data_dir = tf.keras.utils.get_file(origin=yt_images_dataset_url,\n",
        "                                   fname='yt_images',\n",
        "                                   untar=True)\n",
        "yt_images_data_dir = pathlib.Path(yt_images_data_dir)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "id": "TO0FsOzFgkLP"
      },
      "outputs": [],
      "source": [
        "if sys.platform == 'darwin':\n",
        "  os.system(f\"dot_clean {images_data_dir}\")\n",
        "  os.system(f\"dot_clean {yt_images_data_dir}\")\n",
        "elif sys.platform.startswith(\"lin\"):\n",
        "  os.system(f\"cd {images_data_dir} && find . -type f -name '._*' -delete\")\n",
        "  os.system(f\"cd {yt_images_data_dir} && find . -type f -name '._*' -delete\")\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Ef98wX12jI95",
        "outputId": "f0b88fd3-61cb-4b75-8b5b-d1cc9e0f8c82"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "2056\n"
          ]
        }
      ],
      "source": [
        "image_count = len(list(images_data_dir.glob('*/*.jpg')))\n",
        "print(image_count)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "O0m9qMV9jRNJ",
        "outputId": "8f81b07b-2982-41c0-b771-2364e9193e96"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "15843\n"
          ]
        }
      ],
      "source": [
        "yt_image_count = len(list(yt_images_data_dir.glob('*/*.jpg')))\n",
        "print(yt_image_count)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "H4DBG2Lkogb0",
        "outputId": "19567e80-82c0-4f09-a518-4d6d2eb5c07b"
      },
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(513, 14)"
            ]
          },
          "metadata": {},
          "execution_count": 8
        }
      ],
      "source": [
        "df = pd.read_csv(\"https://cv-datasets-2021.s3.amazonaws.com/dataset.csv\")\n",
        "df.shape"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "df.columns"
      ],
      "metadata": {
        "id": "C9lCtkXupZSs",
        "outputId": "9659f55a-de68-4c41-f21e-5bbb3769fba7",
        "colab": {
          "base_uri": "https://localhost:8080/"
        }
      },
      "execution_count": 9,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Index(['sku', 'sex', 'color', 'breed', 'feed', 'age_in_year', 'teeth',\n",
              "       'height_in_inch', 'weight_in_kg', 'price', 'size', 'images_count',\n",
              "       'yt_images_count', 'total_images'],\n",
              "      dtype='object')"
            ]
          },
          "metadata": {},
          "execution_count": 9
        }
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 112
        },
        "id": "dRPCUNW7CtOO",
        "outputId": "ad3426ee-1d1c-45d3-a166-d94087435e54"
      },
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "\n",
              "  <div id=\"df-81e89335-b40c-452e-a598-cfa6b2c11915\">\n",
              "    <div class=\"colab-df-container\">\n",
              "      <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>sku</th>\n",
              "      <th>sex</th>\n",
              "      <th>color</th>\n",
              "      <th>breed</th>\n",
              "      <th>feed</th>\n",
              "      <th>age_in_year</th>\n",
              "      <th>teeth</th>\n",
              "      <th>height_in_inch</th>\n",
              "      <th>weight_in_kg</th>\n",
              "      <th>price</th>\n",
              "      <th>size</th>\n",
              "      <th>images_count</th>\n",
              "      <th>yt_images_count</th>\n",
              "      <th>total_images</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>BLF 2340</td>\n",
              "      <td>MALE_BULL</td>\n",
              "      <td>RED</td>\n",
              "      <td>LOCAL</td>\n",
              "      <td>['JUMBOO', 'LUCERNE', 'NAPIER', 'SILAGE', 'STR...</td>\n",
              "      <td>2.0</td>\n",
              "      <td>2</td>\n",
              "      <td>50.9</td>\n",
              "      <td>270.0</td>\n",
              "      <td>19000.0</td>\n",
              "      <td>MEDIUM</td>\n",
              "      <td>4</td>\n",
              "      <td>0</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>BLF 2342</td>\n",
              "      <td>MALE_BULL</td>\n",
              "      <td>NON_RED</td>\n",
              "      <td>LOCAL</td>\n",
              "      <td>['JUMBOO', 'LUCERNE', 'NAPIER', 'SILAGE', 'STR...</td>\n",
              "      <td>2.0</td>\n",
              "      <td>2</td>\n",
              "      <td>52.0</td>\n",
              "      <td>256.0</td>\n",
              "      <td>18000.0</td>\n",
              "      <td>LARGE</td>\n",
              "      <td>4</td>\n",
              "      <td>31</td>\n",
              "      <td>35</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "      <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-81e89335-b40c-452e-a598-cfa6b2c11915')\"\n",
              "              title=\"Convert this dataframe to an interactive table.\"\n",
              "              style=\"display:none;\">\n",
              "        \n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
              "    <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
              "  </svg>\n",
              "      </button>\n",
              "      \n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      flex-wrap:wrap;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "      <script>\n",
              "        const buttonEl =\n",
              "          document.querySelector('#df-81e89335-b40c-452e-a598-cfa6b2c11915 button.colab-df-convert');\n",
              "        buttonEl.style.display =\n",
              "          google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "        async function convertToInteractive(key) {\n",
              "          const element = document.querySelector('#df-81e89335-b40c-452e-a598-cfa6b2c11915');\n",
              "          const dataTable =\n",
              "            await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                     [key], {});\n",
              "          if (!dataTable) return;\n",
              "\n",
              "          const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "            '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "            + ' to learn more about interactive tables.';\n",
              "          element.innerHTML = '';\n",
              "          dataTable['output_type'] = 'display_data';\n",
              "          await google.colab.output.renderOutput(dataTable, element);\n",
              "          const docLink = document.createElement('div');\n",
              "          docLink.innerHTML = docLinkHtml;\n",
              "          element.appendChild(docLink);\n",
              "        }\n",
              "      </script>\n",
              "    </div>\n",
              "  </div>\n",
              "  "
            ],
            "text/plain": [
              "        sku        sex    color  ... images_count yt_images_count  total_images\n",
              "0  BLF 2340  MALE_BULL      RED  ...            4               0             4\n",
              "1  BLF 2342  MALE_BULL  NON_RED  ...            4              31            35\n",
              "\n",
              "[2 rows x 14 columns]"
            ]
          },
          "metadata": {},
          "execution_count": 10
        }
      ],
      "source": [
        "df.head(2)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {
        "id": "ekUY7D5lpzwz"
      },
      "outputs": [],
      "source": [
        "images = list(images_data_dir.glob('*/*.jpg'))\n",
        "yt_images = list(yt_images_data_dir.glob('*/*.jpg'))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "FDpz4yme0wX7",
        "outputId": "c937cda7-f4e6-496e-e4f9-0fa4868cc70a"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "min_height: 450\n",
            "min_width: 800\n",
            "max_height: 675\n",
            "max_width: 1200\n"
          ]
        }
      ],
      "source": [
        "min_height = 0\n",
        "max_height = 0\n",
        "min_width = 0\n",
        "max_width = 0\n",
        "for i, image in enumerate(images):\n",
        "  w, h = PIL.Image.open(str(image)).size\n",
        "  if i == 0:\n",
        "    min_height = h\n",
        "    max_height = h\n",
        "    min_width = w\n",
        "    max_width = w\n",
        "  \n",
        "  if h <= min_height:\n",
        "    min_height = h\n",
        "  if h >= max_height:\n",
        "    max_height = h\n",
        "\n",
        "  if w <= min_width:\n",
        "    min_width = w\n",
        "  if w >= max_width:\n",
        "    max_width = w\n",
        "\n",
        "print(f\"min_height: {min_height}\")\n",
        "print(f\"min_width: {min_width}\")\n",
        "print(f\"max_height: {max_height}\")\n",
        "print(f\"max_width: {max_width}\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "zzLkutbX3PEM",
        "outputId": "af881c79-9217-4162-c6e2-231a589b400f"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "min_height: 720\n",
            "min_width: 1280\n",
            "max_height: 720\n",
            "max_width: 1280\n"
          ]
        }
      ],
      "source": [
        "min_height = 0\n",
        "max_height = 0\n",
        "min_width = 0\n",
        "max_width = 0\n",
        "for i, image in enumerate(yt_images):\n",
        "  w, h = PIL.Image.open(str(image)).size\n",
        "  if i == 0:\n",
        "    min_height = h\n",
        "    max_height = h\n",
        "    min_width = w\n",
        "    max_width = w\n",
        "\n",
        "  if h <= min_height:\n",
        "    min_height = h\n",
        "  if h >= max_height:\n",
        "    max_height = h\n",
        "\n",
        "  if w <= min_width:\n",
        "    min_width = w\n",
        "  if w >= max_width:\n",
        "    max_width = w\n",
        "\n",
        "print(f\"min_height: {min_height}\")\n",
        "print(f\"min_width: {min_width}\")\n",
        "print(f\"max_height: {max_height}\")\n",
        "print(f\"max_width: {max_width}\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 14,
      "metadata": {
        "id": "sTf9VTBJCSRP"
      },
      "outputs": [],
      "source": [
        "f_df = pd.DataFrame(columns = ['file_path', 'teeth', 'age_in_year', 'breed', 'height_in_inch', 'weight_in_kg'])\n",
        "for index, row in df.iterrows():\n",
        "  images = list(images_data_dir.glob(f\"{row['sku']}/*.jpg\"))\n",
        "  yt_images = list(yt_images_data_dir.glob(f\"{row['sku']}/*.jpg\"))\n",
        "\n",
        "  for image in images:\n",
        "    f_df = f_df.append({'file_path' : image, 'teeth' : row['teeth'], 'age_in_year' : row['age_in_year'], 'breed': row['breed'], 'height_in_inch': row['height_in_inch'], 'weight_in_kg': row['weight_in_kg']}, \n",
        "                ignore_index = True)\n",
        "    \n",
        "  for idx, image in enumerate(yt_images):\n",
        "    if idx == (YT_IMAGE_TO_TAKE - 1):\n",
        "      break\n",
        "    f_df = f_df.append({'file_path' : image, 'teeth' : row['teeth'], 'age_in_year' : row['age_in_year'], 'breed': row['breed'], 'height_in_inch': row['height_in_inch'], 'weight_in_kg': row['weight_in_kg']}, \n",
        "                ignore_index = True)\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 15,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "cmd0yBH0CSNi",
        "outputId": "6f758f9e-5c70-4bbc-9bc6-a3b200a4c4e2"
      },
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(3585, 6)"
            ]
          },
          "metadata": {},
          "execution_count": 15
        }
      ],
      "source": [
        "f_df.shape"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 16,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 81
        },
        "id": "yLrlazxDCSIU",
        "outputId": "ac917220-b54a-40be-c208-5949b0bd0214"
      },
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "\n",
              "  <div id=\"df-b04519c6-fa12-4c77-baff-8ffb73567a86\">\n",
              "    <div class=\"colab-df-container\">\n",
              "      <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>file_path</th>\n",
              "      <th>teeth</th>\n",
              "      <th>age_in_year</th>\n",
              "      <th>breed</th>\n",
              "      <th>height_in_inch</th>\n",
              "      <th>weight_in_kg</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>/root/.keras/datasets/images/BLF 2340/BLF 2340...</td>\n",
              "      <td>2</td>\n",
              "      <td>2.0</td>\n",
              "      <td>LOCAL</td>\n",
              "      <td>50.9</td>\n",
              "      <td>270.0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "      <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b04519c6-fa12-4c77-baff-8ffb73567a86')\"\n",
              "              title=\"Convert this dataframe to an interactive table.\"\n",
              "              style=\"display:none;\">\n",
              "        \n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
              "    <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
              "  </svg>\n",
              "      </button>\n",
              "      \n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      flex-wrap:wrap;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "      <script>\n",
              "        const buttonEl =\n",
              "          document.querySelector('#df-b04519c6-fa12-4c77-baff-8ffb73567a86 button.colab-df-convert');\n",
              "        buttonEl.style.display =\n",
              "          google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "        async function convertToInteractive(key) {\n",
              "          const element = document.querySelector('#df-b04519c6-fa12-4c77-baff-8ffb73567a86');\n",
              "          const dataTable =\n",
              "            await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                     [key], {});\n",
              "          if (!dataTable) return;\n",
              "\n",
              "          const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "            '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "            + ' to learn more about interactive tables.';\n",
              "          element.innerHTML = '';\n",
              "          dataTable['output_type'] = 'display_data';\n",
              "          await google.colab.output.renderOutput(dataTable, element);\n",
              "          const docLink = document.createElement('div');\n",
              "          docLink.innerHTML = docLinkHtml;\n",
              "          element.appendChild(docLink);\n",
              "        }\n",
              "      </script>\n",
              "    </div>\n",
              "  </div>\n",
              "  "
            ],
            "text/plain": [
              "                                           file_path  ... weight_in_kg\n",
              "0  /root/.keras/datasets/images/BLF 2340/BLF 2340...  ...        270.0\n",
              "\n",
              "[1 rows x 6 columns]"
            ]
          },
          "metadata": {},
          "execution_count": 16
        }
      ],
      "source": [
        "f_df.head(1)"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "def label_encode(df):\n",
        "  teeth_le = preprocessing.LabelEncoder()\n",
        "  df['teeth']= teeth_le.fit_transform(df['teeth'])\n",
        "  breed_le = preprocessing.LabelEncoder()\n",
        "  df['breed']= breed_le.fit_transform(df['breed'])\n",
        "  age_in_year_le = preprocessing.LabelEncoder()\n",
        "  df['age_in_year']= age_in_year_le.fit_transform(df['age_in_year'])\n",
        "  print(teeth_le.classes_)\n",
        "  print(breed_le.classes_)\n",
        "  print(age_in_year_le.classes_)\n",
        "  return df\n",
        "\n",
        "def inverse_transform(le, series=[]):\n",
        "  return le.inverse_transform(series)\n"
      ],
      "metadata": {
        "id": "3uDbQNKIBCwF"
      },
      "execution_count": 17,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "f_df = label_encode(f_df)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "VOgAnGI2DK7n",
        "outputId": "d6608edc-0b40-4c1b-f0e1-e0705bd9395f"
      },
      "execution_count": 18,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[2 4 6]\n",
            "['BRAHMA' 'HOSTINE_CROSS' 'LOCAL' 'MIR_KADIM' 'PABNA_BREED'\n",
            " 'RED_CHITTAGONG' 'SAHIWAL' 'SINDHI']\n",
            "[2.  2.5 3. ]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 19,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "QgSiTmzzDrzA",
        "outputId": "22197a1a-858f-48c7-d252-1b65e372c4ba"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "train_df: (3226, 6)\n",
            "test_df: (359, 6)\n"
          ]
        }
      ],
      "source": [
        "# train_df, valid_test_df = train_test_split(f_df, test_size=0.3)\n",
        "# validation_df, test_df = train_test_split(valid_test_df, test_size=0.3)\n",
        "# print(f\"train_df: {train_df.shape}\")\n",
        "# print(f\"validation_df: {validation_df.shape}\")\n",
        "# print(f\"test_df: {test_df.shape}\")\n",
        "\n",
        "train_df, test_df = train_test_split(f_df, test_size=0.1)\n",
        "print(f\"train_df: {train_df.shape}\")\n",
        "print(f\"test_df: {test_df.shape}\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 20,
      "metadata": {
        "id": "L_8HLC9VT03R"
      },
      "outputs": [],
      "source": [
        "# min_height: 450\n",
        "# min_width: 800\n",
        "\n",
        "# input: [image, teeth]\n",
        "# outpur: [age_in_year, breed, height_in_inch, weight_in_kg]\n",
        "\n",
        "# class CustomDataGen(tf.keras.utils.Sequence):\n",
        "    \n",
        "#     def __init__(self, df, X_col, y_col,\n",
        "#                  batch_size,\n",
        "#                  input_size=(450, 800, 3), # (input_height, input_width, input_channel)\n",
        "#                  shuffle=True):\n",
        "        \n",
        "#         self.df = df.copy()\n",
        "#         self.X_col = X_col\n",
        "#         self.y_col = y_col\n",
        "#         self.batch_size = batch_size\n",
        "#         self.input_size = input_size\n",
        "#         self.shuffle = shuffle\n",
        "        \n",
        "#         self.n = len(self.df)\n",
        "#         # self.n_teeth = df[X_col['teeth']].max()\n",
        "#         # self.n_breed = df[y_col['breed']].nunique()\n",
        "    \n",
        "#     def on_epoch_end(self):\n",
        "#         if self.shuffle:\n",
        "#             self.df = self.df.sample(frac=1).reset_index(drop=True)\n",
        "    \n",
        "#     def __get_input(self, path, target_size):\n",
        "#         image = tf.keras.preprocessing.image.load_img(path)\n",
        "#         image_arr = tf.keras.preprocessing.image.img_to_array(image)\n",
        "\n",
        "#         # image_arr = image_arr[ymin:ymin+h, xmin:xmin+w]\n",
        "#         image_arr = tf.image.resize(image_arr,(target_size[0], target_size[1])).numpy()\n",
        "\n",
        "#         return image_arr/255.\n",
        "    \n",
        "#     def __get_output(self, label, num_classes):\n",
        "#         return tf.keras.utils.to_categorical(label, num_classes=num_classes)\n",
        "    \n",
        "#     def __get_data(self, batches):\n",
        "#         # Generates data containing batch_size samples\n",
        "\n",
        "#         path_batch = batches[self.X_col['file_path']]       \n",
        "#         # teeth_batch = batches[self.X_col['teeth']]\n",
        "\n",
        "#         # breed_batch = batches[self.y_col['breed']]\n",
        "#         weight_in_kg_batch = batches[self.y_col['weight_in_kg']]\n",
        "#         height_in_inch_batch = batches[self.y_col['height_in_inch']]\n",
        "#         age_in_year_batch = batches[self.y_col['age_in_year']]\n",
        "\n",
        "#         X0 = np.asarray([self.__get_input(x, self.input_size) for x in path_batch])\n",
        "\n",
        "#         # y0_batch = np.asarray([self.__get_output(y, self.n_teeth) for y in teeth_batch])\n",
        "#         # y1_batch = np.asarray([self.__get_output(y, self.n_breed) for y in breed_batch])\n",
        "\n",
        "#         y0 = np.asarray([tf.cast(y, tf.float32) for y in weight_in_kg_batch])\n",
        "#         y1 = np.asarray([tf.cast(y, tf.float32) for y in height_in_inch_batch])\n",
        "#         y2 = np.asarray([tf.cast(y, tf.float32) for y in age_in_year_batch])\n",
        "\n",
        "#         return X0, tuple([y0, y1, y2])\n",
        "    \n",
        "#     def __getitem__(self, index):\n",
        "        \n",
        "#         batches = self.df[index * self.batch_size:(index + 1) * self.batch_size]\n",
        "#         X, y = self.__get_data(batches)        \n",
        "#         return X, y\n",
        "    \n",
        "#     def __len__(self):\n",
        "#         return self.n // self.batch_size"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 21,
      "metadata": {
        "id": "AG8j82VLZrPg"
      },
      "outputs": [],
      "source": [
        "# traingen = CustomDataGen(train_df,\n",
        "#                          X_col={'file_path':'file_path', 'teeth': 'teeth'},\n",
        "#                          y_col={'breed': 'breed', 'weight_in_kg': 'weight_in_kg', 'height_in_inch': 'height_in_inch', 'age_in_year': 'age_in_year'},\n",
        "#                          batch_size=128, input_size=(450, 800, 3))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 22,
      "metadata": {
        "id": "tFSlX4JdayDJ"
      },
      "outputs": [],
      "source": [
        "# testgen = CustomDataGen(test_df,\n",
        "#                          X_col={'file_path':'file_path', 'teeth': 'teeth'},\n",
        "#                          y_col={'breed': 'breed', 'weight_in_kg': 'weight_in_kg', 'height_in_inch': 'height_in_inch', 'age_in_year': 'age_in_year'},\n",
        "#                          batch_size=128, input_size=(450, 800, 3))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 23,
      "metadata": {
        "id": "T3ELi9-GkkAz"
      },
      "outputs": [],
      "source": [
        "# validgen = CustomDataGen(validation_df,\n",
        "#                          X_col={'file_path':'file_path', 'teeth': 'teeth'},\n",
        "#                          y_col={'breed': 'breed', 'weight_in_kg': 'weight_in_kg', 'height_in_inch': 'height_in_inch', 'age_in_year': 'age_in_year'},\n",
        "#                          batch_size=128, input_size=(450, 800, 3))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 24,
      "metadata": {
        "id": "YhNEK1P1o7ay"
      },
      "outputs": [],
      "source": [
        "def __get_input(path, target_size):\n",
        "  image = tf.keras.preprocessing.image.load_img(path)\n",
        "  image_arr = tf.keras.preprocessing.image.img_to_array(image)\n",
        "  image_arr = tf.image.resize(image_arr,(target_size[0], target_size[1])).numpy()\n",
        "  return image_arr/255.\n",
        "\n",
        "def data_loader(df, image_size=(450, 800, 3)):\n",
        "  y0 = tf.cast(df.weight_in_kg, tf.float32)\n",
        "  print(y0.shape)\n",
        "  y1 = tf.cast(df.height_in_inch, tf.float32)\n",
        "  print(y1.shape)\n",
        "  # y2 = tf.cast(df.age_in_year, tf.float32)\n",
        "  y2 = keras.utils.to_categorical(df.age_in_year)\n",
        "  print(y2.shape)\n",
        "  y3 = keras.utils.to_categorical(df.breed)\n",
        "  print(y3.shape)\n",
        "\n",
        "  path_batch = df.file_path\n",
        "  X0 = tf.cast([__get_input(x, image_size) for x in path_batch], tf.float32)\n",
        "  print(X0.shape)\n",
        "  X1 = keras.utils.to_categorical(df.teeth)\n",
        "  print(X1.shape)\n",
        "\n",
        "  return (X0, X1), (y0, y1, y2, y3)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 25,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "YwD7Wu5Xrb2n",
        "outputId": "e131c94e-43b5-44d0-9638-5b9eb89dae1f"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "(3226,)\n",
            "(3226,)\n",
            "(3226, 3)\n",
            "(3226, 8)\n",
            "(3226, 150, 150, 3)\n",
            "(3226, 3)\n"
          ]
        }
      ],
      "source": [
        "(X0, X1), (y0, y1, y2, y3) = data_loader(train_df, (150, 150, 3))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 26,
      "metadata": {
        "id": "QUdjf26kubkr"
      },
      "outputs": [],
      "source": [
        "# input = keras.Input(shape=(128, 128, 3), name=\"original_img\")\n",
        "# x = layers.Conv2D(64, 3, activation=\"relu\")(input)\n",
        "# x = layers.Conv2D(128, 3, activation=\"relu\")(x)\n",
        "# x = layers.MaxPooling2D(3)(x)\n",
        "# x = layers.Conv2D(128, 3, activation=\"relu\")(x)\n",
        "# x = layers.Conv2D(64, 3, activation=\"relu\")(x)\n",
        "# x = layers.GlobalMaxPooling2D()(x)\n",
        "\n",
        "input0 = keras.Input(shape=(150, 150, 3), name=\"img\")\n",
        "x = layers.Conv2D(32, 3, activation=\"relu\")(input0)\n",
        "x = layers.MaxPooling2D(2)(x)\n",
        "x = layers.Conv2D(32, 3, activation=\"relu\")(x)\n",
        "x = layers.MaxPooling2D(2)(x)\n",
        "x = layers.Conv2D(64, 3, activation=\"relu\")(x)\n",
        "x = layers.GlobalMaxPooling2D()(x)\n",
        "\n",
        "# input1 = keras.Input(shape=(3,), name=\"teeth\")\n",
        "\n",
        "\n",
        "out_a = keras.layers.Dense(1, activation='linear', name='wt_rg')(x)\n",
        "out_b = keras.layers.Dense(1, activation='linear', name='ht_rg')(x)\n",
        "# out_c = keras.layers.Dense(1, activation='linear', name='ag_rg')(x)\n",
        "out_c = keras.layers.Dense(3, activation='softmax', name='ag_3cls')(x)\n",
        "out_d = keras.layers.Dense(8, activation='softmax', name='brd_8cls')(x)\n",
        "\n",
        "encoder = keras.Model( inputs = input0 , outputs = [out_a, out_b, out_c, out_d], name=\"encoder\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 27,
      "metadata": {
        "id": "h_LArmJdv0rX"
      },
      "outputs": [],
      "source": [
        "encoder.compile(\n",
        "    loss = {\n",
        "        \"wt_rg\": tf.keras.losses.MeanSquaredError(),\n",
        "        \"ht_rg\": tf.keras.losses.MeanSquaredError(),\n",
        "        # \"ag_rg\": tf.keras.losses.MeanSquaredError()\n",
        "        \"ag_3cls\": tf.keras.losses.CategoricalCrossentropy(),\n",
        "        \"brd_8cls\": tf.keras.losses.CategoricalCrossentropy()\n",
        "    },\n",
        "\n",
        "    metrics = {\n",
        "        \"wt_rg\": 'mse',\n",
        "        \"ht_rg\": 'mse',\n",
        "        \"ag_3cls\": 'accuracy',\n",
        "        \"brd_8cls\": 'accuracy'\n",
        "    },\n",
        "\n",
        "    optimizer = tf.keras.optimizers.Adam(learning_rate=0.0001)\n",
        ")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 28,
      "metadata": {
        "id": "avMTkBsrljNt",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "7f5e8d4e-027d-43d3-c5c5-89619e1cec9c"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/30\n",
            "81/81 - 14s - loss: 71239.4531 - wt_rg_loss: 69169.8281 - ht_rg_loss: 2066.5310 - ag_3cls_loss: 1.1228 - brd_8cls_loss: 1.9676 - wt_rg_mse: 69169.8281 - ht_rg_mse: 2066.5310 - ag_3cls_accuracy: 0.1907 - brd_8cls_accuracy: 0.2225 - val_loss: 62893.9609 - val_wt_rg_loss: 61172.4844 - val_ht_rg_loss: 1718.7097 - val_ag_3cls_loss: 0.7986 - val_brd_8cls_loss: 1.9765 - val_wt_rg_mse: 61172.4844 - val_ht_rg_mse: 1718.7097 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 14s/epoch - 178ms/step\n",
            "Epoch 2/30\n",
            "81/81 - 3s - loss: 41962.5859 - wt_rg_loss: 41237.3359 - ht_rg_loss: 719.1522 - ag_3cls_loss: 0.8783 - brd_8cls_loss: 5.2167 - wt_rg_mse: 41237.3359 - ht_rg_mse: 719.1522 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 10999.4951 - val_wt_rg_loss: 10736.9385 - val_ht_rg_loss: 252.1356 - val_ag_3cls_loss: 0.7562 - val_brd_8cls_loss: 9.6649 - val_wt_rg_mse: 10736.9385 - val_ht_rg_mse: 252.1356 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 3/30\n",
            "81/81 - 3s - loss: 6469.2407 - wt_rg_loss: 6187.5010 - ht_rg_loss: 271.5002 - ag_3cls_loss: 0.8326 - brd_8cls_loss: 9.4047 - wt_rg_mse: 6187.5010 - ht_rg_mse: 271.5002 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5251.0410 - val_wt_rg_loss: 5220.6035 - val_ht_rg_loss: 22.8110 - val_ag_3cls_loss: 0.8248 - val_brd_8cls_loss: 6.8019 - val_wt_rg_mse: 5220.6035 - val_ht_rg_mse: 22.8110 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 39ms/step\n",
            "Epoch 4/30\n",
            "81/81 - 3s - loss: 5487.1382 - wt_rg_loss: 5461.9053 - ht_rg_loss: 19.5016 - ag_3cls_loss: 0.7965 - brd_8cls_loss: 4.9348 - wt_rg_mse: 5461.9053 - ht_rg_mse: 19.5016 - ag_3cls_accuracy: 0.7438 - brd_8cls_accuracy: 0.6868 - val_loss: 5243.9229 - val_wt_rg_loss: 5218.7241 - val_ht_rg_loss: 20.7916 - val_ag_3cls_loss: 0.7442 - val_brd_8cls_loss: 3.6625 - val_wt_rg_mse: 5218.7241 - val_ht_rg_mse: 20.7916 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 5/30\n",
            "81/81 - 3s - loss: 5491.6138 - wt_rg_loss: 5468.1226 - ht_rg_loss: 19.5821 - ag_3cls_loss: 0.7241 - brd_8cls_loss: 3.1849 - wt_rg_mse: 5468.1226 - ht_rg_mse: 19.5821 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5255.9204 - val_wt_rg_loss: 5231.6826 - val_ht_rg_loss: 20.9131 - val_ag_3cls_loss: 0.6941 - val_brd_8cls_loss: 2.6304 - val_wt_rg_mse: 5231.6826 - val_ht_rg_mse: 20.9131 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 42ms/step\n",
            "Epoch 6/30\n",
            "81/81 - 3s - loss: 5484.4688 - wt_rg_loss: 5462.1382 - ht_rg_loss: 19.5443 - ag_3cls_loss: 0.6576 - brd_8cls_loss: 2.1285 - wt_rg_mse: 5462.1382 - ht_rg_mse: 19.5443 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5233.8491 - val_wt_rg_loss: 5210.8672 - val_ht_rg_loss: 20.7759 - val_ag_3cls_loss: 0.6255 - val_brd_8cls_loss: 1.5809 - val_wt_rg_mse: 5210.8672 - val_ht_rg_mse: 20.7759 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 7/30\n",
            "81/81 - 3s - loss: 5491.5205 - wt_rg_loss: 5469.8281 - ht_rg_loss: 19.7537 - ag_3cls_loss: 0.6303 - brd_8cls_loss: 1.3073 - wt_rg_mse: 5469.8281 - ht_rg_mse: 19.7537 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5231.3491 - val_wt_rg_loss: 5208.8887 - val_ht_rg_loss: 20.6115 - val_ag_3cls_loss: 0.6242 - val_brd_8cls_loss: 1.2249 - val_wt_rg_mse: 5208.8887 - val_ht_rg_mse: 20.6115 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 42ms/step\n",
            "Epoch 8/30\n",
            "81/81 - 3s - loss: 5488.8394 - wt_rg_loss: 5467.2397 - ht_rg_loss: 19.7576 - ag_3cls_loss: 0.6194 - brd_8cls_loss: 1.2246 - wt_rg_mse: 5467.2397 - ht_rg_mse: 19.7576 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5260.1479 - val_wt_rg_loss: 5236.2700 - val_ht_rg_loss: 22.0472 - val_ag_3cls_loss: 0.6144 - val_brd_8cls_loss: 1.2152 - val_wt_rg_mse: 5236.2700 - val_ht_rg_mse: 22.0472 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 9/30\n",
            "81/81 - 3s - loss: 5486.9819 - wt_rg_loss: 5465.4614 - ht_rg_loss: 19.6847 - ag_3cls_loss: 0.6162 - brd_8cls_loss: 1.2186 - wt_rg_mse: 5465.4614 - ht_rg_mse: 19.6847 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5273.9834 - val_wt_rg_loss: 5251.3477 - val_ht_rg_loss: 20.8050 - val_ag_3cls_loss: 0.6159 - val_brd_8cls_loss: 1.2143 - val_wt_rg_mse: 5251.3477 - val_ht_rg_mse: 20.8050 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 43ms/step\n",
            "Epoch 10/30\n",
            "81/81 - 3s - loss: 5484.0747 - wt_rg_loss: 5462.3384 - ht_rg_loss: 19.9137 - ag_3cls_loss: 0.6163 - brd_8cls_loss: 1.2054 - wt_rg_mse: 5462.3384 - ht_rg_mse: 19.9137 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5241.5718 - val_wt_rg_loss: 5218.9463 - val_ht_rg_loss: 20.8057 - val_ag_3cls_loss: 0.6152 - val_brd_8cls_loss: 1.2050 - val_wt_rg_mse: 5218.9463 - val_ht_rg_mse: 20.8057 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 39ms/step\n",
            "Epoch 11/30\n",
            "81/81 - 3s - loss: 5475.7871 - wt_rg_loss: 5454.7998 - ht_rg_loss: 19.1725 - ag_3cls_loss: 0.6174 - brd_8cls_loss: 1.1974 - wt_rg_mse: 5454.7998 - ht_rg_mse: 19.1725 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5262.5591 - val_wt_rg_loss: 5239.7539 - val_ht_rg_loss: 20.9894 - val_ag_3cls_loss: 0.6266 - val_brd_8cls_loss: 1.1894 - val_wt_rg_mse: 5239.7539 - val_ht_rg_mse: 20.9894 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 43ms/step\n",
            "Epoch 12/30\n",
            "81/81 - 3s - loss: 5482.3730 - wt_rg_loss: 5461.0669 - ht_rg_loss: 19.5039 - ag_3cls_loss: 0.6170 - brd_8cls_loss: 1.1868 - wt_rg_mse: 5461.0669 - ht_rg_mse: 19.5039 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5222.7026 - val_wt_rg_loss: 5200.5552 - val_ht_rg_loss: 20.3575 - val_ag_3cls_loss: 0.6148 - val_brd_8cls_loss: 1.1748 - val_wt_rg_mse: 5200.5552 - val_ht_rg_mse: 20.3575 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 43ms/step\n",
            "Epoch 13/30\n",
            "81/81 - 3s - loss: 5480.8208 - wt_rg_loss: 5459.6572 - ht_rg_loss: 19.3662 - ag_3cls_loss: 0.6203 - brd_8cls_loss: 1.1779 - wt_rg_mse: 5459.6572 - ht_rg_mse: 19.3662 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5224.9541 - val_wt_rg_loss: 5202.8447 - val_ht_rg_loss: 20.3281 - val_ag_3cls_loss: 0.6145 - val_brd_8cls_loss: 1.1663 - val_wt_rg_mse: 5202.8447 - val_ht_rg_mse: 20.3281 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 14/30\n",
            "81/81 - 3s - loss: 5474.0107 - wt_rg_loss: 5452.7417 - ht_rg_loss: 19.4853 - ag_3cls_loss: 0.6176 - brd_8cls_loss: 1.1674 - wt_rg_mse: 5452.7417 - ht_rg_mse: 19.4853 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5363.3979 - val_wt_rg_loss: 5339.8887 - val_ht_rg_loss: 21.7348 - val_ag_3cls_loss: 0.6149 - val_brd_8cls_loss: 1.1602 - val_wt_rg_mse: 5339.8887 - val_ht_rg_mse: 21.7348 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 39ms/step\n",
            "Epoch 15/30\n",
            "81/81 - 3s - loss: 5468.7129 - wt_rg_loss: 5447.4453 - ht_rg_loss: 19.4934 - ag_3cls_loss: 0.6158 - brd_8cls_loss: 1.1590 - wt_rg_mse: 5447.4453 - ht_rg_mse: 19.4934 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5201.9116 - val_wt_rg_loss: 5179.1660 - val_ht_rg_loss: 20.9824 - val_ag_3cls_loss: 0.6158 - val_brd_8cls_loss: 1.1473 - val_wt_rg_mse: 5179.1660 - val_ht_rg_mse: 20.9824 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 39ms/step\n",
            "Epoch 16/30\n",
            "81/81 - 3s - loss: 5482.6104 - wt_rg_loss: 5460.5288 - ht_rg_loss: 20.3163 - ag_3cls_loss: 0.6189 - brd_8cls_loss: 1.1467 - wt_rg_mse: 5460.5288 - ht_rg_mse: 20.3163 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5277.6270 - val_wt_rg_loss: 5252.2739 - val_ht_rg_loss: 23.5817 - val_ag_3cls_loss: 0.6145 - val_brd_8cls_loss: 1.1558 - val_wt_rg_mse: 5252.2739 - val_ht_rg_mse: 23.5817 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 39ms/step\n",
            "Epoch 17/30\n",
            "81/81 - 3s - loss: 5486.6831 - wt_rg_loss: 5464.7041 - ht_rg_loss: 20.2209 - ag_3cls_loss: 0.6141 - brd_8cls_loss: 1.1439 - wt_rg_mse: 5464.7041 - ht_rg_mse: 20.2209 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5268.2759 - val_wt_rg_loss: 5243.4150 - val_ht_rg_loss: 23.0955 - val_ag_3cls_loss: 0.6319 - val_brd_8cls_loss: 1.1340 - val_wt_rg_mse: 5243.4150 - val_ht_rg_mse: 23.0955 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 18/30\n",
            "81/81 - 3s - loss: 5497.1807 - wt_rg_loss: 5475.1924 - ht_rg_loss: 20.2323 - ag_3cls_loss: 0.6210 - brd_8cls_loss: 1.1345 - wt_rg_mse: 5475.1924 - ht_rg_mse: 20.2323 - ag_3cls_accuracy: 0.7438 - brd_8cls_accuracy: 0.6868 - val_loss: 5286.1958 - val_wt_rg_loss: 5261.8188 - val_ht_rg_loss: 22.6348 - val_ag_3cls_loss: 0.6153 - val_brd_8cls_loss: 1.1277 - val_wt_rg_mse: 5261.8188 - val_ht_rg_mse: 22.6348 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 19/30\n",
            "81/81 - 3s - loss: 5455.6362 - wt_rg_loss: 5434.4727 - ht_rg_loss: 19.4327 - ag_3cls_loss: 0.6178 - brd_8cls_loss: 1.1154 - wt_rg_mse: 5434.4727 - ht_rg_mse: 19.4327 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5201.7720 - val_wt_rg_loss: 5179.6533 - val_ht_rg_loss: 20.3914 - val_ag_3cls_loss: 0.6143 - val_brd_8cls_loss: 1.1134 - val_wt_rg_mse: 5179.6533 - val_ht_rg_mse: 20.3914 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 20/30\n",
            "81/81 - 3s - loss: 5471.3730 - wt_rg_loss: 5449.6138 - ht_rg_loss: 20.0312 - ag_3cls_loss: 0.6164 - brd_8cls_loss: 1.1104 - wt_rg_mse: 5449.6138 - ht_rg_mse: 20.0312 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5370.0586 - val_wt_rg_loss: 5345.6353 - val_ht_rg_loss: 22.6816 - val_ag_3cls_loss: 0.6205 - val_brd_8cls_loss: 1.1206 - val_wt_rg_mse: 5345.6353 - val_ht_rg_mse: 22.6816 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 21/30\n",
            "81/81 - 3s - loss: 5484.9990 - wt_rg_loss: 5463.6064 - ht_rg_loss: 19.6585 - ag_3cls_loss: 0.6193 - brd_8cls_loss: 1.1132 - wt_rg_mse: 5463.6064 - ht_rg_mse: 19.6585 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5232.5146 - val_wt_rg_loss: 5210.8599 - val_ht_rg_loss: 19.9270 - val_ag_3cls_loss: 0.6141 - val_brd_8cls_loss: 1.1139 - val_wt_rg_mse: 5210.8599 - val_ht_rg_mse: 19.9270 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 22/30\n",
            "81/81 - 3s - loss: 5459.6533 - wt_rg_loss: 5439.0337 - ht_rg_loss: 18.8913 - ag_3cls_loss: 0.6161 - brd_8cls_loss: 1.1117 - wt_rg_mse: 5439.0337 - ht_rg_mse: 18.8913 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5240.8364 - val_wt_rg_loss: 5219.0088 - val_ht_rg_loss: 20.0966 - val_ag_3cls_loss: 0.6166 - val_brd_8cls_loss: 1.1131 - val_wt_rg_mse: 5219.0088 - val_ht_rg_mse: 20.0966 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 23/30\n",
            "81/81 - 3s - loss: 5458.9878 - wt_rg_loss: 5438.4639 - ht_rg_loss: 18.7892 - ag_3cls_loss: 0.6205 - brd_8cls_loss: 1.1141 - wt_rg_mse: 5438.4639 - ht_rg_mse: 18.7892 - ag_3cls_accuracy: 0.7438 - brd_8cls_accuracy: 0.6868 - val_loss: 5246.3525 - val_wt_rg_loss: 5224.7363 - val_ht_rg_loss: 19.8797 - val_ag_3cls_loss: 0.6154 - val_brd_8cls_loss: 1.1202 - val_wt_rg_mse: 5224.7363 - val_ht_rg_mse: 19.8797 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 24/30\n",
            "81/81 - 3s - loss: 5469.4141 - wt_rg_loss: 5448.3638 - ht_rg_loss: 19.3146 - ag_3cls_loss: 0.6215 - brd_8cls_loss: 1.1138 - wt_rg_mse: 5448.3638 - ht_rg_mse: 19.3146 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5235.3555 - val_wt_rg_loss: 5213.8911 - val_ht_rg_loss: 19.7399 - val_ag_3cls_loss: 0.6143 - val_brd_8cls_loss: 1.1101 - val_wt_rg_mse: 5213.8911 - val_ht_rg_mse: 19.7399 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 25/30\n",
            "81/81 - 3s - loss: 5454.3252 - wt_rg_loss: 5433.5537 - ht_rg_loss: 19.0462 - ag_3cls_loss: 0.6174 - brd_8cls_loss: 1.1084 - wt_rg_mse: 5433.5537 - ht_rg_mse: 19.0462 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5206.6562 - val_wt_rg_loss: 5185.3105 - val_ht_rg_loss: 19.6178 - val_ag_3cls_loss: 0.6147 - val_brd_8cls_loss: 1.1120 - val_wt_rg_mse: 5185.3105 - val_ht_rg_mse: 19.6178 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 26/30\n",
            "81/81 - 3s - loss: 5463.8589 - wt_rg_loss: 5442.9058 - ht_rg_loss: 19.2270 - ag_3cls_loss: 0.6184 - brd_8cls_loss: 1.1084 - wt_rg_mse: 5442.9058 - ht_rg_mse: 19.2270 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5287.7734 - val_wt_rg_loss: 5265.4077 - val_ht_rg_loss: 20.6312 - val_ag_3cls_loss: 0.6185 - val_brd_8cls_loss: 1.1155 - val_wt_rg_mse: 5265.4077 - val_ht_rg_mse: 20.6312 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 27/30\n",
            "81/81 - 3s - loss: 5454.2271 - wt_rg_loss: 5433.4736 - ht_rg_loss: 19.0254 - ag_3cls_loss: 0.6201 - brd_8cls_loss: 1.1094 - wt_rg_mse: 5433.4736 - ht_rg_mse: 19.0254 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5193.3291 - val_wt_rg_loss: 5172.1431 - val_ht_rg_loss: 19.4535 - val_ag_3cls_loss: 0.6186 - val_brd_8cls_loss: 1.1138 - val_wt_rg_mse: 5172.1431 - val_ht_rg_mse: 19.4535 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 28/30\n",
            "81/81 - 3s - loss: 5465.3550 - wt_rg_loss: 5443.3804 - ht_rg_loss: 20.2433 - ag_3cls_loss: 0.6165 - brd_8cls_loss: 1.1116 - wt_rg_mse: 5443.3804 - ht_rg_mse: 20.2433 - ag_3cls_accuracy: 0.7434 - brd_8cls_accuracy: 0.6868 - val_loss: 5254.5742 - val_wt_rg_loss: 5231.9805 - val_ht_rg_loss: 20.8594 - val_ag_3cls_loss: 0.6247 - val_brd_8cls_loss: 1.1100 - val_wt_rg_mse: 5231.9805 - val_ht_rg_mse: 20.8594 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 29/30\n",
            "81/81 - 3s - loss: 5451.1401 - wt_rg_loss: 5430.5181 - ht_rg_loss: 18.8925 - ag_3cls_loss: 0.6175 - brd_8cls_loss: 1.1117 - wt_rg_mse: 5430.5181 - ht_rg_mse: 18.8925 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5279.5103 - val_wt_rg_loss: 5258.3462 - val_ht_rg_loss: 19.4101 - val_ag_3cls_loss: 0.6189 - val_brd_8cls_loss: 1.1359 - val_wt_rg_mse: 5258.3462 - val_ht_rg_mse: 19.4101 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n",
            "Epoch 30/30\n",
            "81/81 - 3s - loss: 5470.8901 - wt_rg_loss: 5449.2773 - ht_rg_loss: 19.8827 - ag_3cls_loss: 0.6174 - brd_8cls_loss: 1.1135 - wt_rg_mse: 5449.2773 - ht_rg_mse: 19.8827 - ag_3cls_accuracy: 0.7442 - brd_8cls_accuracy: 0.6868 - val_loss: 5238.6406 - val_wt_rg_loss: 5214.2842 - val_ht_rg_loss: 22.6288 - val_ag_3cls_loss: 0.6143 - val_brd_8cls_loss: 1.1135 - val_wt_rg_mse: 5214.2842 - val_ht_rg_mse: 22.6288 - val_ag_3cls_accuracy: 0.7399 - val_brd_8cls_accuracy: 0.6920 - 3s/epoch - 38ms/step\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<keras.callbacks.History at 0x7f405daf0f90>"
            ]
          },
          "metadata": {},
          "execution_count": 28
        }
      ],
      "source": [
        "encoder.fit(X0, [y0, y1, y2, y3], epochs=30, verbose=2, batch_size=32, validation_split=0.2)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 29,
      "metadata": {
        "id": "OS_zKeP11Buh",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 865
        },
        "outputId": "181096ff-ec1b-4b20-b862-5586c93115dd"
      },
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAABXMAAANQCAYAAABqxPyhAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzde1xVdb7/8dcWgb1BEERUEkiQvGNaOke8jDVO5mXwkglkNpKjR7FS1Jm8pImClHoewjGlHpVRJ0rxNuJkpjnlIWfUsfHOnAw1Fa94Q+SmXPbvDx/sXzvUEQQ2G9/Px2P9Md/1XWu912Uc5+N3f78Gs9lsRkRERERERERERETqsrUNbJ1ARERERERERERERP49FXNFRERERERERERE7ICKuSIiIiIiIiIiIiJ2QMVcERERERERERERETvQ0NYBRERE6pORI0faOoKIiMgdTZs2jZCQEFvHEBERkQegkbkiIiLVaN26dZw5c8bWMapNfbuf+urMmTOsW7fO1jHsjr5veZisW7eOrKwsW8cQERGRB6SRuSIiItVs6tSphIWF2TpGtTAYDPXqfuqrNWvWEB4eztq1a20dxa7o+5aHicFgsHUEERERqQYamSsiIiIiIiIiIiJiB1TMFREREREREREREbEDKuaKiIiIiIiIiIiI2AEVc0VERERERERERETsgIq5IiIiIiIiIiIiInZAxVwRERERAeDLL7+kcePG/OUvf7F1lDpp4sSJGAwGyzZ69OgKfbZv386sWbNYv349gYGBlr4vvfRShb79+/fHzc0NBwcHOnbsyL59+2rjNh5YWVkZCQkJ9OzZ84774+LirJ5T+dapU6cKfXfu3EmvXr1wcXHBx8eHGTNmcPPmzXqZb9GiRbRr1w6TyYSrqyvt2rVj7ty55ObmWvps2rSJRYsWUVpaanXsxo0brbI2bdq0ShlERETE/qmYKyIiIiIAmM1mW0eo85o0acKWLVs4evQoK1eutNo3b948li1bxuzZsxkxYgQnTpygdevWeHl5kZKSwubNm636b9u2jbVr1xIaGkpGRgZPPPFEbd5KlWRmZvLrX/+aadOmUVBQ8EDnysjIoH///vTr149Lly6xYcMGPvroI6Kiouplvu+++47x48dz+vRpLl68SGxsLIsWLeL555+39BkyZAhGo5F+/fqRk5NjaR86dChnzpwhPT2dQYMGPdB9iYiIiH1TMVdEREREABg8eDDXr18nNDTU1lEoLCy868hKWzKZTAwYMIA2bdrg7OxsaX/77bdZvXo1a9aswc3NzeqY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qsK5mjRpwrlz5zh58iQ3bty4ZwG4uLiYixcvsmPHDksx19/fH4Dt27dTVFREZmYme/bsuePxUVFR3Lx5ky+++ILQ0FCrfUajkZdffplVq1aRlJREbm4upaWlnDlzhvPnz1f2EYmIiIiIyENKxVwREREbWb58Od27dwdgxowZDB06lP/+7/9myZIlAAQHB7Nz504WLVrExIkTARgwYACff/45qampDBgwAIDJkyezevVqAOLj4zly5Aienp4YDAYMBgNOTk506NCBDRs21Oj97Nmzh06dOvH1118D0L59e+Lj40lKSiIhIQGAzp07c+LECT744AOmT59uuafMzEzLeYqKiggODsZkMtGnTx/atGnDt99+i7Ozs6XPpEmTePrpp3nhhRdo27YtsbGxmEwmAEJCQsjKygJuF1ibNWtGhw4dGDRoECtXriQoKIjjx49z/fp1yzMqf04tWrRg06ZNuLi4ALffwYwZM1ixYgU+Pj688cYbPPXUUwD07t3bch2A//iP/6Br1668/PLLdxwVnZiYyNSpU1m0aBFeXl74+PgQHR3NtWvXWLx4MUuXLgWgTZs2pKSkVMs7ERERERGR+sVgNpvNtg4hIiJSXxgMBlJTU202B2dSUhKZmZmW4inArVu3mDlzJklJSVy7ds1S9LwftX0/EydOZO3atVy5cqVWrlfdBg8ezPLlywkICKjV665Zs4bw8HD017rKsfV/X0Vqk753ERGRemFt/ZhMT0RERLhw4QKTJ0+uMC+rk5MT/v7+FBcXU1xcXKliri2UlpbaOsJ9Ky4uxtHREYBDhw5hNBprvZArIiIiIiIPD02zICIiUk+YTCYcHR1ZuXIlFy9epLi4mHPnzvHhhx/y5ptvEhERgbu7u61j1iszZswgMzOTH3/8kZdffpnY2FhbR5IaNHHiRKupOUaPHl2hz/bt25k1axbr168nMDDQ0vell16q0Ld///64ubnh4OBAx44d2bdvX23cxgMrKysjISGBnj173nF/XFyc1XMq3zp16lSh786dO+nVqxcuLi74+PgwY8YMbt68WS/zLVq0iHbt2mEymXB1daVdu3bMnTuX3NxcS59NmzaxaNGiCv+otXHjRqusTZs2rVIGERERsX8q5oqIiNQTjRs3Ztu2bRw5coQ2bdpgMpno0KEDycnJvP3223zyySe2jnhPs2fPJjk5mevXrxMQEMC6detsHenfcnFxoV27dvz2t78lJiaGDh062DqS1LAmTZqwZcsWjh49ysqVK632zZs3j2XLljF79mxGjBjBiRMnaN26NV5eXqSkpLB582ar/tu2bWPt2rWEhoaSkZHBE088UZu3UiWZmZn8+te/Ztq0aRQUFDzQuTIyMujfvz/9+vXj0qVLbNiwgY8++oioqKh6me+7775j/PjxnD59mosXLxIbG8uiRYt4/vnnLX2GDBmC0WikX79+5OTkWNqHDh3KmTNnSE9PZ9CgQQ90XyIiImLfVMwVERGpR/r06cPXX3/N9evXKSkpIScnh7/97W9MmjTpjoty1SXx8fHcvHkTs9nMTz/9ZFXgqKvi4uIoLS3l9OnThIaG2jqOTRUWFt51JKQ9XePfMZlMDBgwgDZt2lgtyvf222+zevVq1qxZg5ubm9Uxy5Yto0GDBkyYMIHr16/XduRqc/DgQWbOnElUVBRdunS5Z99PP/0Us9lstR05csSqT2xsLC1atGD+/Pm4uroSEhLCjBkz+Pjjj/nhhx/qXT4nJydeeeUVvL29adSoESNHjmTYsGF8/fXXnD9/3tJvypQpPP744wwaNIiSkhLg9ny3LVu2pE+fPjz22GOVvraIiIjUHyrmioiIiMgDW7lyJdnZ2XZ/jao4duwYc+fOZf78+RiNxgr7e/bsSXR0NGfPnuWPf/yjDRJWj8cff5z169fz4osvWhWyq6KkpITNmzfTt29fDAaDpX3gwIGYzWbS0tLqXb4NGzZU+D5atmwJQF5enlV7TEwMBw4cIDExsQrpRUREpD5TMVdERETkIWQ2m1m6dCnt27fH2dkZT09Phg0bZjXicPLkyTg5OdGiRQtL2yuvvIKrqysGg4HLly8DEB0dzfTp0zl+/DgGg4GgoCCWLVuG0WikWbNmTJw4ER8fH4xGIz179mTPnj3Vcg2Ar776Cnd3dxYuXFijz+teli1bhtlsZsiQIXftExcXR5s2bfjwww/Zvn37Pc93P+8mKSkJV1dXXFxcSEtLY+DAgbi7u+Pr68uqVauszldaWsqbb76Jv78/JpOJzp07k5qa+mA3/YBOnDhBXl4e/v7+Vu2tW7cGbi8oaEu1lS8zMxMPDw8effRRq3ZPT0/69u1LYmIiZrO5Wq4lIiIi9YOKuSIiIiIPoZiYGGbNmsUbb7xBdnY26enpZGVl0adPHy5evAjcLlKGhYVZHbdixQrmz59v1ZaYmEhoaCitW7fGbDZz7NgxJk+eTGRkJAUFBUyZMoWTJ0+yb98+SkpKeOaZZ8jKynrgawCWhaLKysqq7+FU0ubNm2nbti0uLi537WMymfj4449p0KAB48ePJz8//6597+fdTJo0ialTp1JYWIibmxupqakcP36cwMBAxo8fT3FxseV8M2fOZPHixSQkJHD+/HlCQ0MZNWoU33//ffU9hF+YNWsWnp6eODk5ERAQwLBhw9i7d69l/4ULFwAqTElhNBoxmUyW+6yP+YqLizl79izLly9n+/btvPPOOzg5OVXo17VrV86ePcvBgwerfC0RERGpf1TMFREREXnIFBYWsnTpUp577jlGjx5N48aNCQ4O5r333uPy5cu8//771Xathg0bWkaYdujQgaSkJG7cuEFycnK1nH/w4MHk5uYyd+7cajlfZeXn5/PTTz9ZRmzeS0hICFOnTuXkyZPMnDnzjn2q8m569uyJu7s73t7eREREkJ+fz+nTpwEoKioiKSmJ4cOHM2LECDw8PJgzZw6Ojo7V9g5+acyYMWzatImsrCzy8vJYtWoVp0+fpm/fvmRkZABw8+ZNABwcHCoc7+joSGFhYY1kqwv5/Pz88PX1JSYmhsWLFxMeHn7HfuVz4x4+fLjK1xIREZH6R8VcERERkYdMRkYGeXl5dOvWzaq9e/fuODk5WU2DUN26deuGi4tLlRaQqouys7Mxm833HJX7c3FxcbRt25YVK1awc+fOCvsf9N2Uj/AsH5l79OhRCgoK6NSpk6WPyWSiRYsWNfYO/Pz86Nq1K40aNcLJyYkePXqQnJxMYWEhK1asALDMHVu+wNfP3bp1C5PJVCPZ6kK+rKwssrOz+fzzz/nkk0/o2rXrHeeCLv+manqUsoiIiNgXFXNFREREHjI5OTkANGrUqMI+Dw8Pbty4UaPXd3Z25tKlSzV6jdpSVFQEcN8LbhmNRpKTkzEYDIwdO7bCCM/qfjfl0znMmTMHg8Fg2U6dOkVBQUGlzvUggoODcXBw4McffwSwzJGcm5tr1a+goICioiJ8fHxqLVtt53N0dMTb25v+/fuzevVqMjIyiI+Pr9CvvGBc/o2JiIiIgIq5IiIiIg8dDw8PgDsWBnNycvD19a2xaxcXF9f4NWpTecGtfO7e+xESEsK0adPIzMwkNjbWal91vxtvb28AEhISMJvNVtuuXbsqda4HUVZWRllZmaXoHRAQgJubG6dOnbLqVz4XcufOnWstmy3zBQUF4eDgYJne4edu3boFUKOjlEVERMT+qJgrIiIi8pDp1KkTjRo1qrAA1p49e7h16xZPPvmkpa1hw4ZWi2k9qB07dmA2m+nRo0eNXaM2NWvWDIPBwPXr1yt1XJcRI7cAACAASURBVGxsLO3atWP//v1W7ZV5N/fDz88Po9HIgQMHKnXcg3j22WcrtO3duxez2UxISAhw+50PGjSI9PR0q8XrtmzZgsFgYMiQIfUq35UrVxg1alSF9szMTEpLS/Hz86uwr/ybat68eaWuJSIiIvWbirkiIiIiDxmj0cj06dPZsGEDKSkp5ObmcvjwYaKiovDx8WHChAmWvkFBQVy9epWNGzdSXFzMpUuXKoxWBGjSpAnnzp3j5MmT3Lhxw1KcLSsr49q1a5SUlHDo0CGio6Px9/cnMjKyWq6xZcsW3N3dWbhwYfU/qPvg4uJCYGAgZ86cqdRx5dMt/HKBrcq8m/u9zssvv8yqVatISkoiNzeX0tJSzpw5w/nz5wGIiIigefPm7Nu3r1LnvpuzZ8+yevVqcnJyKC4uZteuXYwbNw5/f3+ioqIs/ebOncvFixeZN28e+fn57Nq1iyVLlhAZGUnbtm0t/epDPldXV7Zt28Y333xDbm4uxcXF7N+/nzFjxuDq6sq0adMqHFP+TQUHB1fLfYuIiEj9oGKuiIiIyENo3rx5xMfHs2DBApo2bUrfvn1p1aoVO3bswNXV1dJv0qRJPP3007zwwgu0bduW2NhYy8++Q0JCyMrKAiAqKopmzZrRoUMHBg0axNWrV4Hb830GBwdjMpno06cPbdq04dtvv7WaY/ZBr2FrgwcPJiMjw2r+2z//+c8EBQVx/PhxunfvzmuvvVbhuB49etyxiHc/7yYpKYmEhATg9k/+T5w4wQcffMD06dMBGDBgAJmZmQAkJiYydepUFi1ahJeXFz4+PkRHR3Pt2jXg9s/5s7OzSUtLu+d97t69m969e/PII4+wZ88eDh48iI+PD7169SI9Pd3Sb8CAAcyZMwdfX19cXFwICwujV69e7N69Gy8vL0u/jh07snXrVrZt24aXlxcjRoxg7NixvPvuu1bXrQ/5jEYjvXr1Yty4cbRs2RI3NzdGjhxJq1at2L17t9UCdeX27t1Ly5Yta33KCREREanbDGaz2WzrECIiIvWFwWAgNTWVsLAwW0epFvXtfuqrNWvWEB4eTl37a93EiRNZu3YtV65csXWUO6rs9z1x4kS++OKLCqNwjx07Rvv27UlOTmb06NE1EbVGlZWV8dRTTxEZGcnYsWNtHaeChzHflStX8PX1JS4uzlKgLxcdHU1KSgqXL1+u1Dn157mIiEi9sFYjc0VERESkxlRmYTB7UFhYyNatW8nMzLQsUBUUFMSCBQtYsGABeXl5Nk5YOaWlpWzcuJEbN24QERFh6zgVPKz5YmJi6NKlC5MnTwbAbDZz7tw5du7caVmETURERB5OKuaKiIiIiNynq1evMmDAANq0aWM1CnPWrFmMHDmSiIiISi+GZks7duxg/fr1bNmyBRcXF1vHqeBhzLd06VIOHDjAl19+iaOjIwBpaWm0bNmSPn36sHnz5mq5joiIiNgnFXNFREREpNrNnj2b5ORkrl+/TkBAAOvWrbN1pAf23nvvYTabLVtKSorV/oULFzJ58mTeeustGyWsvH79+vHZZ5/RokULW0e5o4ctX1paGjdv3mTHjh14enpa2ocNG2b17VV2igURERGpPxraOoCIiIiI1D/x8fHEx8fbOkat69+/P/3797d1DLFTQ4cOZejQobaOISIiInWYRuaKiIiIiIiIiIiI2AEVc0VERERERERERETsgIq5IiIiIiIiIiIiInZAxVwRERERERERERERO6AF0ERERKrZrl27bB2hWtW3+6mPyt/RmjVrbJzE/uj7FhERERF7YjCbzWZbhxAREakvDAaDrSOIiIjcUWpqKmFhYbaOISIiIlW3ViNzRUREqpH+jVSk+hgMBhWfRERERER+RnPmioiIiIiIiIiIiNgBFXNFRERERERERERE7ICKuSIiIiIiIiIiIiJ2QMVcERERERERERERETugYq6IiIiIiIiIiIiIHVAxV0RERERERERERMQOqJgrIiIiIiIiIiIiYgdUzBURERERERERERGxAyrmioiIiIiIiIiIiNgBFXNFRERERERERERE7ICKuSIiIiIiIiIiIiJ2QMVcERERERERERERETugYq6IiIiIiIiIiIiIHVAxV0RERERERERERMQOqJgrIiIiIiIiIiIiYgdUzBURERERERERERGxAyrmioiIiIiIiIiIiNgBFXNFRERERERERERE7ICKuSIiIiIiIiIiIiJ2QMVcERERERERERERETugYq6IiIiIiIiIiIiIHVAxV0RERERERERERMQOqJgrIiIiIiIiIiIiYgdUzBURERERERERERGxAyrmioiIiIiIiIiIiNgBFXNFRERERERERERE7ICKuSIiIiIiIiIiIiJ2QMVcERERERERERERETugYq6IiIiIiIiIiIiIHVAxV0RERERERERERMQOqJgrIiIiIiIiIiIiYgdUzBURERERERERERGxAyrmioiIiIiIiIiIiNgBg9lsNts6hIiIiIg83CZMmMDRo0et2vbt20dAQACenp6WNgcHBz755BN8fX1rO6KIiIiIiK2tbWjrBCIiIiIizZs35/3336/QfujQIav/HBgYqEKuiIiIiDy0NM2CiIiIiNjcqFGj/m0fJycnIiMjaz6MiIiIiEgdpWKuiIiIiNhcu3bt6NixIwaD4a59bt26RXh4eC2mEhERERGpW1TMFREREZE64fe//z0ODg533GcwGHj88cdp06ZNLacSEREREak7VMwVERERkTrhhRdeoLS09I77HBwcGDNmTC0nEhERERGpW1TMFREREZE6wc/Pjx49etCgQcW/opaWlhIWFmaDVCIiIiIidYeKuSIiIiJSZ7z00ksV5s1t0KABvXv3pmXLljZKJSIiIiJSN6iYKyIiIiJ1xsiRIyu0GQwGfv/739sgjYiIiIhI3aJiroiIiIjUGU2bNqVfv35WC6EZDAaGDx9uw1QiIiIiInWDirkiIiIiUqeMHj0as9kM3F747Nlnn8XLy8vGqUREREREbE/FXBERERGpU5577jmcnJwAMJvNjB492saJRERERETqBhVzRURERKROcXV15Xe/+x0ATk5OhIaG2jiRiIiIiEjdoGKuiIiIiNQ5L774IgDDhw/H1dXVxmlEREREROoGg7l8QjIRERGplJEjR7Ju3TpbxxAREaky/d9BERERu7K2oa0TiIiI2LMePXowdepUW8ewSwkJCQB6fjVo165dJCYmkpqaausoVZKSkkJERAQNG9buX1nDw8OJjo4mJCSkVq8rUpvK/3wQERER+6KRuSIiIlU0cuRIANauXWvjJPZJz6/mrVmzhvDwcLsdeVdUVITRaKz16xoMBlJTUwkLC6v1a4vUFnv/80FEROQhtVZz5oqIiIhI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++uf//yntm/frsLCQu3fv1/btm3Tf/zHf5TboNu0aZOWLVumlJQUtW7d2mrfyZMnJUmNGjWqsby3o/RFaG+99ZYuX76spKQky/ILFanu58nb21uGYejGjRs6efKk3nnnHbVq1cqy/157Virrf//3fyVJHTp0uJPoAAAAQJ3EzFwAgF06ceKEhg4dqmHDhumdd95Rs2bNtGrVqjINuKKiIk2bNk0xMTGaOXOmlixZooULF1ZbjqKiIl2+fFn+/v6SZFlHtLwG2+3U1YRFixbpn//8p8LCwpSfny8/Pz+NHDlSS5cuLVO7atUqff7550pOTi63mVg6a/OXX36psby3o2vXrurZs6f27t2rCRMmKCQkRL6+vhXW2+J5uteelcr67LPPJElPP/30bR0/ffr03305G/6tdEYus5lR15lMJltHAACgWtDMBQDYpdTUVBUVFWny5MkKCAiQVP5f1F5++WWFh4dr2LBhys7O1uLFi9WvXz/16tWrWnKkpKTIMAz17NlTktSpUyd5eHho//79VnX79u3T9evX9dBDD1WpriakpaUpIyND586dU7165f+ngGEYmj17ti5duqRt27ZVWNepUyc5ODjov//7vzVp0qQay3w7Jk+erL179+rDDz9Uenr6LWtt8Tzda89KZZw5c0axsbHy9/fX888/f9vnAQAAAOoqllkAANilli1bSpJ27dqla9euKT09vczaoWvWrFHz5s01bNgwSTdfyhQUFKSxY8cqNzf3tsYtKSnRpUuXdOPGDf3www+KiIhQy5YtFRYWJunmTNWZM2dq69at2rBhg3Jzc5WamqpJkybJz89PEyZMqFJdTXjppZfUsmVL5efnV1jzr3/9S8uXL9e6devk5OQkk8lk9fPmm29Kurm8wvDhw/Xhhx9q/fr1ys3N1Q8//HBHL+WqLiNHjlTDhg01dOhQS4O2IrZ4nu61Z+XXDMNQfn6+SkpKZBiGzp07p8TERD388MNydHTUtm3bbnvNXAAAAKBOMwAAqEaSjMTExErVxsXFGW5uboYko3Xr1sbXX39tLFu2zPD29jYkGU2aNDHef/99Y9OmTUaTJk0MSYavr6+xceNGwzAMY9asWUb9+vUNHx8fIyQkxFi9erUhyWjbtq3RtWtXw2QyGfXr1ze+/fZbwzAMY/r06YaDg4MhyfD29jb2799fpc82YcIEw8nJ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aNGihbp3726DVAAAAEDtQTMXAAAAtUZ5Sy04OTkpLCxMJpPJRqkAAACA2oFmLgAAAGqNLl26qH379lbbioqKNGrUqP/P3p1HRXVlbQN/LmNBMSsqYQgiUcR5yieo0WhiojZOyBAlkRhpFAdAEhWHiIAE0AZeVOKSGJL1GmUQGpM4xia0saN2XE5IWoMoiqggKjMow/3+8KXaCqjMVaXPb61aK33vPnfvO2Dj9tS5CqqIiIiIiEh5sJlLRERERErlww8/lFtqwd7eHgMGDFBgRUREREREyoHNXCIiIiJSKh4eHqirqwPwZImF+fPnK7giIiIiIiLlwGYuERERESmV119/HcOHDwcA1NXVwd3dXcEVEREREREpBzZziYiIiEjpfPTRRwCA//f//h+srKwUXA0RERERkXLQUHQBREREqioqKgonT55UdBlEL6WamhoIgoBHjx7BxcVF0eUQvbRSUlIUXQIRERG1AmfmEhERtdHJkydx6tQpRZdB/+fUqVO8H53s1q1b2LdvX5fkkkgk6NmzJywsLLokX2fat28fbt26pegyiOR05c8zERERdRxBFEVR0UUQERGposbZgpzVpBx4PzpfcnIy3Nzc0FW/Pl69ehW2trZdkqszCYKApKQkuLq6KroUIpmu/nkmIiKiDpHCmblEREREpJRehkYuEREREVFHYjOXiIiIiIiIiIiISAWwmUtERERERERERESkAtjMJSIiIiIiIiIiIlIBbOYSERERERERERERqQA2c4mIiIioSx08eBCGhob44YcfFF2K0jt27BgCAwORmpoKGxsbCIIAQRDw4YcfNomdPHky9PX1oa6ujgEDBuDs2bMKqLjlJkyYIDufP3/09PSeOa6mpgZ2dnZYt26dSuWNiIiAnZ0ddHR0IJVKYWdnh/Xr16OsrEwuLjg4GPb29jAwMIC2tjZsbW2xcuVKVFRUyGK+//57REREoL6+vk21EBERkepiM5eIiIiIupQoioouQSVs2LABsbGxWLNmDZydnXHt2jX06dMH3bp1w+7du3HgwAG5+KNHjyIlJQVOTk7Izs7G8OHDFVR5+40dO/aZ+9auXYsrV66oXN5ffvkFXl5euHnzJgoLCxESEoKIiAjMmTNHLi4jIwNLly5FXl4eiouLERYWhpiYGLi4uMhipk+fDolEgkmTJqGkpKTNNREREZHqYTOX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ERGRSklhM5eIiIiIlJIgCEhKSoKrq6uiSyEiIiIiUgYpXDOXiIiIiIiIiIiISAWwmUtERERERERERESkAtjMJSIiIiIiIiIiIlIBbOYSERERERERERERqQA2c4mIiIiIiIiIiIhUAJu5RERERERERERERCqAzVwiIiIiIiIiIiIiFcBmLhEREREREREREZEKYDOXiIiIiIiIiIiISAWwmUtERERERERERESkAtjMJSIiIiIiIiIiIlIBbOYSERERERERERERqQA2c4mIiIiIiIiIiIhUAJu5RERERERERERERCqAzVwiIiIiIiIiIiIiFcBmLhEREREREREREZEKYDOXiIiIiIiIiIiISAWwmUtERERERERERESkAtjMJSIiIiIiIiIiIlIBbOYSERERERERERERqQA2c4mIiIiIiIiIiIhUAJu5RERERERERERERCqAzVwiIiIiIiIiIiIiFcBmLhEREREREREREZEKYDOXiIiIiIiIiIiISAWwmUtERERERERERESkAtjMJSIiIiIiIiIiIlIBbOYSERERERERERERqQA2c4mIiIiIiIiIiIhUAJu5RERERERERERERCqAzVwiIiIiIiIiIiIiFcBmLhEREREREREREZEKYDOXiIiIiIiIiIiISAUIoiiKii6CiIiIiF5t3t7euHLlity2s2fPonfv3jA2NpZtU1dXx7fffgsLC4uuLpGIiIiISNFSNBRdARERERFRz549sXPnzibbL168cFtICgAAIABJREFUKPe/bWxs2MglIiIiolcWl1kgIiIiIoWbO3fuC2O0tLTg6enZ+cUQERERESkpNnOJiIiISOHs7OwwYMAACILwzJjHjx/Dzc2tC6siIiIiIlIubOYSERERkVL46KOPoK6u3uw+QRAwZMgQ9O3bt4urIiIiIiJSHmzmEhEREZFS+OCDD1BfX9/sPnV1dcyfP7+LKyIiIiIiUi5s5hIRERGRUrC0tMTo0aOhptb0V9T6+nq4uroqoCoiIiIiIuXBZi4RERERKY0PP/ywybq5ampqGDt2LMzNzRVUFRERERGRcmAzl4iIiIiUhouLS5NtgiDgo48+UkA1RERERETKhc1cIiIiIlIa3bt3x6RJk+RehCYIAmbNmqXAqoiIiIiIlAObuURERESkVDw8PCCKIoAnLz5777330K1bNwVXRURERESkeGzmEhEREZFSmT17NrS0tAAAoijCw8NDwRURERERESkHNnOJiIiISKlIpVL85S9/AQBoaWnByclJwRURERERESkHNnOJiIiISOnMmzcPADBr1ixIpVIFV0NEREREpBwEsXFBMiIiog4gCIKiSyAiIiJqIikpCa6urooug4iIqD1SNBRdARERvXz8/Pzg4OCg6DKIAADR0dEAAH9/fwVXQq21e/duuLu7Q0NDMb+yurm58c+zVuLPGykrNzc3RZdARETUIdjMJSKiDufg4MCZL6Q0UlJSAIDPpAqaPn06JBKJwvK7ubnxz7NW4s8bKSs2c4mI6GXBNXOJiIiISCkpspFLRERERKSM2MwlIiIiIiIiIiIiUgFs5hIRERERERERERGpADZziYiIiIiIiIiIiFQAm7lEREREREREREREKoDNXCIiIiKiTnTw4EEYGhrihx9+UHQpSu/YsWMIDAxEamoqbGxsIAgCBEHAhx9+2CR28uTJ0NfXh7q6OgYMGICzZ88qoOKWmzBhgux8/vzR09OTxQUHB8Pe3h4GBgbQ1taGra0tVq5ciYqKCpXKGxERATs7O+jo6EAqlcLOzg7r169HWVmZXFxL8n7//feIiIhAfX19m2ohIiJ6mbCZS0RERETUiURRVHQJKmHDhg2IjY3FmjVr4OzsjGvXrqFPnz7o1q0bdu/ejQMHDsjFHz16FCkpKXByckJ2djaGDx+uoMrbb+zYsbL/zsjIwNKlS5GXl4fi4mKEhYUhJiYGLi4uKpX3l19+gZeXF27evInCwkKEhIQgIiICc+bMkYtrSd7p06dDIpFg0qRJKCkpadvJEhERvSTYzCUiIiIi6kTTpk1DaWkpnJycFF0Kqqur4ejoqOgymggPD0diYiKSk5Ohr68vty82NhZqamrw9vZGaWmpgipsP4lEgrKyMoiiKPfx9vbGypUrZXF6enrw9vaGiYkJ9PX14erqilmzZuHw4cPIz89XmbxaWlpYsmQJTE1NoaenBxcXF8ycORM//fQT7ty50+q8vr6+GDJkCKZOnYq6urpW10NERPSyYDOXiIiIiOgVsWvXLhQVFSm6DDlXr17F+vXrsXHjRkgkkib7HR0d4efnh4KCAnz66acKqLBjHD58uEmjOj8/H5cuXcLEiRNl23788Ueoq6vLxXXv3h0AUFVVpTJ509LSmtxPc3NzAJBbQqE1eYOCgnD+/HnExMS0uh4iIqKXBZu5RERERESd5MSJE7CysoIgCNi2bRsAIC4uDlKpFLq6uti/fz+mTJkCAwMDWFhYYO/evbKxsbGxkEgk6NGjBxYtWgQzMzNIJBI4Ojri9OnTsrjly5dDS0sLvXr1km1bsmQJpFIpBEFAcXExAMDPzw8BAQHIzc2FIAiwtbUF8KTZZ2BggE2bNnXFJWkiNjYWoihi+vTpz4wJDQ1F37598dVXX+HYsWPPPZ4oioiKikL//v2hra0NY2NjzJw5E5cvX5bFtPQeAEB9fT0+//xzWFlZQUdHB4MHD0ZSUlL7Tvr/hIeHw9fX94VxBQUF0NHRQe/evVU6b05ODoyMjPD666+3Ka+xsTHGjx+PmJgYLl9CRESvLDZziYiIiIg6ydixY/Hrr7/KbfPx8YG/vz+qq6uhr6+PpKQk5ObmwsbGBl5eXqitrQXwpEnr6emJqqoq+Pr6Ii8vD2fPnkVdXR3effdd2VfQY2Nj4erqKpdj+/bt2Lhxo9y2mJgYODk5oU+fPhBFEVevXgUA2UulGhoaOuUavMiBAwfQr18/6OrqPjNGR0cH33zzDdTU1ODl5YXKyspnxgYFBSEwMBBr165FUVERjh8/jvz8fIwbNw6FhYUAWn4PAGD16tWIjIxEdHQ07ty5AycnJ8ydOxdnzpxp13kXFBQgMzMTzs7Oz42rqqpCRkYGvLy8oKWl1a6cishbW1uLgoICbNu2DceOHcPWrVufe7wX5R02bBgKCgpw4cKFNtdERESkytjMJSIiIiJSEEdHRxgYGMDU1BTu7u6orKzEzZs35WI0NDRks0zt7e0RFxeH8vJyJCQkdEgN06ZNQ1lZGdavX98hx2uNyspKXL9+HX369HlhrIODA/z9/ZGXl4fVq1c3G1NdXY2oqCjMnj0bHh4eMDQ0xKBBg7Bjxw4UFxdj586dTcY87x7U1NQgLi4Os2bNgrOzM4yMjLBu3Tpoamq2+/qHh4dj2bJlUFN7/l/JwsLCYGZmhtDQ0HblU1ReS0tLWFhYICgoCJGRkXBzc2tX3jfeeAMAkJWV1a66iIiIVBWbuURERERESqBxFuLTs0KbM3LkSOjq6sotG6CqioqKIIric2flPi00NBT9+vXD9u3bceLEiSb7s7OzUVFRgZEjR8ptHzVqFLS0tOSWp2jOn+/BlStXUFVVhYEDB8pidHR00KtXr3Zd/9u3b+P777+Hp6fnc+PS0tKQnJyMI0eONFn3VlXy5ufno6ioCHv27MG3336LYcOGPXPd5pbkbXxWGmdZExERvWrYzCUiIiIiUjHa2tq4d++eostot5qaGgBPzqclJBIJEhISIAgCFixYgOrqarn9JSUlAAA9Pb0mY42MjFBeXt6q+hqXc1i3bh0EQZB9bty40aaXgjWKiIiAl5dXsy98a5SYmIjw8HBkZmbC2tq6zbkUnVdTUxOmpqaYPHkyEhMTkZ2djbCwsDbn1dHRAfDfZ4eIiOhVo6HoAoiIiIiIqOVqa2tRUlICCwsLRZfSbo2NucZ1e1vCwcEBK1aswJYtWxASEgIrKyvZPiMjIwBotmnblmtmamoKAIiOjoafn1+rxj7L3bt3sWfPHly5cuWZMVu3bsWRI0eQkZHRbGNalfI+zdbWFurq6sjOzm5z3sePHwP477NDRET0quHMXCIiIiIiFZKZmQlRFDF69GjZNg0NjRcuz6CMevToAUEQUFpa2qpxISEhsLOzw7lz5+S2Dxw4EHp6ek1eTnb69Gk8fvwYI0aMaFUeS0tLSCQSnD9/vlXjniciIgIeHh4wMTFpsk8URaxatQpZWVlIT0/v0IZqV+a9f/8+5s6d22R7Tk4O6uvrYWlp2ea8jc9Kz54921UjERGRqmIzl4iIiIhIiTU0NODhw4eoq6vDxYsX4efnBysrK7l1T21tbfHgwQOkp6ejtrYW9+7dw40bN5ocy8TEBLdv30ZeXh7Ky8tRW1uLQ4cOwcDAAJs2berCs3pCV1cXNjY2uHXrVqvGNS63oK6u3mR7QEAA0tLSsHv3bpSVlSErKwuLFy+GmZkZvL29W53n448/xt69exEXF4eysjLU19fj1q1buHPnDgDA3d0dPXv2xNmzZ194vMLCQnz99dfw9/dvdv/vv/+OyMhIxMfHQ1NTU25pB0EQsGXLFlmsMueVSqU4evQoMjIyUFZWhtraWpw7dw7z58+HVCrFihUrWp23UeOzMmjQoBeeNxER0cuIzVwiIiIiok6ybds2jBo1CgCwatUqzJgxA3FxcYiOjgYADB48GNeuXUN8fDwCAgIAAO+//z5ycnJkx6ipqcGgQYOgo6ODcePGoW/fvvj555/l1pn18fHB22+/jQ8++AD9+vVDSEiI7GvoDg4OyM/PBwAsXrwYPXr0gL29PaZOnYoHDx50yXV4nmnTpiE7O1tu/du///3vsLW1RW5uLkaNGoVly5Y1GTd69GhZU/BpGzZsQFhYGIKDg9G9e3eMHz8e1tbWyMzMhFQqBYBW3YOYmBj4+/sjIiIC3bp1g5mZGfz8/PDw4UMAT772X1RUhP3797/wXCMjIzF9+nS5pSGeJoriC4/RSJnzSiQSjBkzBgsXLoS5uTn09fXh4uICa2trnDp1SvZCudbkbfTbb7/B3NwcgwcPbvVYIiKil4EgtuX/QYmIiJ5BEAQkJSXB1dVV0aUQAQBcXFwAACkpKQquhFSNMvx5tmjRIqSkpOD+/fsKq6E12vLzdvXqVfTv3x8JCQnw8PDorNI6TUNDAyZMmABPT08sWLCAeTvR/fv3YWFhgdDQUFnjvaWU4eeZiIioA6RwZi4RERERkRJrzcvBVJGtrS2Cg4MRHByMiooKRZfTKvX19UhPT0d5eTnc3d2Zt5MFBQVh6NChWL58eZfnJiIiUhZs5hIRESmxLVu2yF4QtGPHDtn2gwcPwtDQED/88EOn5Q4ODoa9vT0MDAygra0NW1tbrFy58oXNloULF0JfXx+CILTrpUENDQ2Ijo6Go6Njm4/RFqmpqbCxsZGt2bh+/frnxkdFRUEQBKipqcHOzg7Hjx/vtFoEQYCmpibMzc0xb948/Oc//+mwXH+m7M9ec9dGEARoaWmhR48emDBhAjZv3iz7Kjwpt8DAQLi4uMDd3b3VL0NTpMzMTKSmpuLQoUPQ1dVl3k4UFRWF8+fP4+DBg9DU1OzS3ERERMqEzVwiIiIl9umnn+LXX39tsr0rVknKyMjA0qVLkZeXh+LiYoSFhSEmJkb2Nepn+eqrrxAfH9+u3Dk5OXjrrbewYsUKVFVVtetYreXs7Ixr166hT58+AJ6cT21tbbOx9fX1iI2NBQBMnDgRly9fxltvvdUptRgaGkIURZSUlGDHjh04ceIE3nzzTVy5cqXD8j1N2Z+95q5NQ0MDioqKkJycjN69e2PVqlUYMGAAzpw50+k1d4Y1a9YgISEBpaWl6N27N/bt26fokjrVpk2bsHz5cnzxxReKLqXFJk2ahO+++w69evVi3k60f/9+PHr0CJmZmTA2Nu7S3ERERMqGzVwiIiIVNG3aNJSWlsLJyanTcujp6cHb2xsmJibQ19eHq6srZs2ahcOHD8teptQZLly4gNWrV2Px4sUYOnRop+VpiREjRuDu3btIT09vdn9qairMzc27tCapVAonJyf8z//8DyoqKrB169Yuza/Mz54gCDAyMsKECROQkJCA5ORkFBYWympWNWFhYXj06BFEUcT169cxZ84cRZfU6SZPnozw8HBFl0FKZsaMGQgMDIS6urqiSyEiIlI4NnOJiIgIoigiJSUFO3fulG378ccfm/zFuXv37gDwwtmygiC0uZYhQ4YgNTUV8+bNg7a2dpuP0xF8fHwAAF9++WWz+6Oiolr9Ep6O8uabbwIALl26pJD8HaWjn72nzZkzB56enigqKpJbKoKIiIiISFWxmUtERAoTExMDqVQKNTU1jBgxAj179oSmpiakUimGDx+OcePGwdLSEhKJBEZGRli5cqXc+F9++QX29vYwNDSERCLBoEGDcOTIEQDAN998Az09PQiCAGNjY6Snp+PMmTN4/fXXoa6ujrlz57aq1tjYWEgkEvTo0QOLFi2CmZkZJBIJHB0dcfr0ablYURQRFRWF/v37Q1tbG8bGxpg5cyYuX77cprg/O3HiBKysrCAIArZt2wYAiIuLg1Qqha6uLvbv348pU6bAwMAAFhYW2Lt3r9z4+vp6hIWFoV+/ftDR0UH37t3Ru3dvhIWFvfAt3wUFBdDR0UHv3r3lzmPz5s3o168ftLW1YWhoiM8+++yF11QVTJw4Ef3798fPP//cZDmDf/3rX6iqqsLkyZObHdvZz2ddXR0AyDW8X7VnryU8PT0BAIcOHWrVOCIiIiIiZcRmLhERKYyfnx8+++wziKKIL7/8EtevX8fdu3fx1ltv4dy5cwgMDMS5c+fw4MEDzJ8/H5s3b8aFCxdk4wsLC+Hm5oa8vDzcvn0benp6mDdvHoAnDZzffvsNurq6mDFjBmbOnImRI0di3rx52LlzJ/bs2dOqWpcvXw5PT09UVVXB19cXeXl5OHv2LOrq6vDuu+/KffU7KCgIgYGBWLt2LYqKinD8+HHk5+dj3LhxKCwsbHXcn40dO7bJWqY+Pj7w9/dHdXU19PX1kZSUhNzcXNjY2MDLy0tuzdeIiAh8/vnn2Lx5Mx48eICjR4+ipqYGRkZGMDIyembeqqoqZGRkwMvLC1paWrLt69evx6pVq+Dt7Y3CwkLcvXsXq1evbtX1VWaLFi0CgCYzO//2t79hxYoVzxzX2c9n44vWhgwZItv2qj17LdG4VMe1a9daNY6IiIiISBmxmUtERErB3t4eurq66NatGz744AMAgJWVFbp37w5dXV14eHgAgNzMwTlz5mDDhg0wNjaGiYkJpk+fjvv37+PevXsAgP79+yM6OhrffvstvvvuO+zduxePHj3CJ5980uY6NTQ0ZLMZ7e3tERcXh/LyciQkJAAAqqurERUVhdmzZ8PDwwOGhoYYNGgQduzYgeLiYtlXyVsa1xaOjo4wMDCAqakp3N3dUVlZiZs3b8r2p6enY8SIEZg+fTp0dHQwfPhwzJgxA8ePH8fjx4+fedywsDCYmZkhNDRUtq26uhrR0dF45513sGLFChgZGUFHRwcmJiZtrl/ZzJ8/H1KpFN9++y2qq6sBPGkM/vbbb8+dQdtZz2dlZSVSU1Px6aefokePHvD19QXw6j17LaWvrw9BEFBeXt6mcyIiIiIiUiYaii6AiIjozxpn3jV+jRwANDU1AUBult+fNcbU19fLtv31r3/FTz/9hEWLFuGdd97p8LfBjxw5Erq6urImc3Z2NioqKjBy5Ei5uFGjRkFLS0u2JENL49qr8Vo+fd1qamogkUjk4urr66GpqfnMl8ukpaUhOTkZR48ehb6+vmz71atXUVVVhUmTJnVIvcrI0NAQc+fORXx8PBITE/Hxxx8jOjoaPj4+0NLSem4T8mntfT5LS0shCALU1dXRq1cvTJ06FRs2bJC9gO1Ve/ZaqrKyEqIowsDAoNVjAeDkyZNtGvequnXrFgAgOTlZwZUQERERvZzYzCUiIpV14MABbN68GdnZ2SgrK3tmo3fTpk3Yt28fioqKOqUObW1t2WzLkpISAICenl6TOCMjI9nswJbGdYapU6di8+bN2L9/PyZPnozs7Gykp6fjL3/5S7MNtcTERERFRSEzMxOvvfaa3L7Gxo2pqWmn1asMfHx8EB8fjx07dmDWrFlISUnBf/7zn+eO6ejn09DQUPbcNOdVe/Za6o8//gAA2NnZtWl8TEwMYmJi2jT2Vebm5qboEoiIiIheSlxmgYiIVNLNmzcxa9Ys9OrVC6dPn0ZpaSkiIiKaxNXW1sLX1xdRUVE4efJkm76m/Ty1tbUoKSmBhYUFAMjW/WyuIdaWuM4QFBSEiRMnwtPTEwYGBpg9ezZcXV0RHx/fJHbr1q3YvXs3MjIymm2mNc6yfPToUafVqwyGDh2K0aNH49///je8vb3h4uICY2PjZ8Yr4vl81Z69ljp8+DAAYMqUKW0an5SUBFEU+WnhZ86cOZgzZ47C6+CHnz9/iIiIXhacmUtERCopKysLtbW18PHxgY2NDQBAEIQmccuWLYOXlxdmz56NgoIChISEYPLkyXBwcOiQOjIzMyGKIkaPHg0AGDhwIPT09HDmzBm5uNOnT+Px48cYMWJEq+I6Q3Z2NnJzc3Hv3j1oaDT/q4Aoili9ejUePnyI9PT0Z8YNHDgQampq+Oc//4nFixd3Ws3KwMfHB6dOncK+ffuQk5Pz3FhFPJ+v2rPXEnfv3kV0dDQsLCywYMGCNh+HiIiIiEhZcGYuERGpJCsrKwDAsWPHUFNTg5ycnCZrfW7fvh3m5uaYPXs2gCcvUbK3t8e8efNQVlbWprwNDQ14+PAh6urqcPHiRfj5+cHKygqenp4AnsxUDQgIQFpaGnbv3o2ysjJkZWVh8eLFMDMzg7e3d6viOsPSpUthZWWFioqKZ8b8/vvviIyMRHx8PDQ1NSEIgtxny5YtAJ4sr+Ds7Ix9+/Zh165dKCsrw8WLF9v1Ei1l5erqiu7du2PWrFmyBu2zKOL5fNWevaeJooiKigo0NDRAFEXcu3cPSUlJGDNmDNTV1ZGent7mNXOJiIiIiJSKSERE1IEAiElJSS2KjYmJEXV1dUUAorW1tfjLL7+I4eHhoqGhoQhA7Nmzp/jdd9+JiYmJYs+ePUUAorGxsbh3715RFEVx1apVoomJiWhkZCS6uLiI27ZtEwGIffr0EYcOHSoKgiCamJiIv/76qyiKoujv7y+qqamJAERDQ0PxzJkzrTo3b29vUVNTUzQ3Nxc1NDREAwMDcebMmWJubq5cXENDg7h582bxjTfeEDU1NUVjY2Nx1qxZ4pUrV1od97e//U127lKpVJw9e7a4detWsVevXiIAUVdXV5w+fbq4fft22bV84403xNzcXHHnzp2igYGBCEB8/fXXxT/++EMURVHMyMgQu3XrJgKQfTQ1NcX+/fuLqampoiiKYlZWltz+P382b94sq7G8vFz8/+zde1RVdf7/8deR2zncUVEZ8QopXjA1nZLGnzl+x0qXpikX/VpRk6OmIWqT98QbqTNLWJTUyvxa89UEUQeaMc0cY7JJbRq1DMcGNRUvI2oiKhgH3L8/+nKmE2iAwDnHno+1zh/t/dn7/T57n2P48sNnP/vss0azZs0MX19f4xe/+IXx0ksvGZKM0NBQ4/PPP6/Vdd6zZ4/x4IMPGiEhIbZ6rVq1MqKiooy//vWvtTqXYRjG6NGjjdGjR9d4/JYtW4ywsDBDktG8eXNjypQptn0vvvii7fNkGIYxb948271o0qSJ0bVrV2P37t2GYdTP5/Nvf/ub0alTJ9t1CAkJMaKjo2/Z+0/ps/fuu+8aPXr0MLy9vQ1PT0/btTOZTEZgYKDx85//3Fi0aJFx6dKlGt/7H6rNn2f4Tm2/b0Bj4fsMALhLbDQZBgsIAQDqj8lkUmZmpmJiYhzdSr2bOHGisrKydOnSJUe3ckfS09OVn5+vlJQU27aysjLNmjVL6enpunz5siwWiwM7rF/R0dGSpKysLAd3Alf77N3Nf541FL5vcFZ8nwEAd4ks1swFAKAWKioqHN3CHfn3v/+thIQEHTx40G67p6en2rZtK6vVKqvV6lSBGu4OfPYAAACAO8eauQCAn6wjR45UWY+zuldcXJyjW603FotFHh4eWrNmjc6fPy+r1aqzZ8/qzTff1EsvvaS4uLh6X1v0p3idUZUjPnsAAADA3YYwFwDwkxURESHDMH70lZGRoTlz5mjt2rW6cuWKOnTooE2bNjm6/ToJCAjQjh079OWXX6pTp06yWCzq2rWr1q5dq2XLluntt9+u95q1uc64ezniswfXs3PnTs2ePVubN29Wx44dbf/Y88QTT1QZO3jwYPn5+cnNzU3dunXT/v37HdBxzS1fvlwRERGyWCzy8fFRRESE5s+fX+0DD61Wq5KTkxUeHi5PT08FBgaqe/fuOnHixF1Xd9GiReratav8/f3l5eWl8PBwvfjii3YPSnz33Xe1fPlyl//tGAAA6gPLLAAAUAPJyclKTk52dBv1on///vrggw8c3QZ+gvjs4XYWLFigAwcOaP369fLz89OoUaMUHh6uoqIirVu3TnFxcRo6dKht/I4dO7R9+3a9/vrrys7OdmDnNbN7926NHz9eTz75pCwWi7Zt26b//u//1r59+7Rjxw67sbGxsTp8+LDWr1+v++67TxcuXNDEiRPtAs67pe6uXbs0ZcoUxcXFycPDQ9u2bdO4ceN06NAhbdu2TZI0fPhwff311xo0aJCys7MVGBhY634AALhbMDMXAAAAcEKlpaWKiopy+Ro1sWzZMmVkZGjjxo3y8/Oz25eWlqYmTZpowoQJunLlioM6vHOenp6aPHmygoOD5evrq+joaI0YMUIffPCBzp07ZxuXkZGh7OxsZWVl6f7775e7u7tCQkKUk5Oj7t2733V1fX19NWHCBDVt2lR+fn6KiYnRyJEjtX37dhUUFNjGTZ06Vffee6+GDBmi8vLyWvcDAMDdgjAXAAAAcEJr1qxRYWGhy9f4MUePHtX8+fO1cOFCmc3mKvujoqKUmJioM2fO6IUXXnBAh/Vjy5YtVd5f69atJclu5utrr72m3r17KzIy8idR989//rPc3NzsxjVv3lySVFJSYrc9KSlJBw8eVGpqar30CACAKyLMBQAAAOqBYRhauXKlunTpIi8vLwUFBWnEiBE6cuSIbUxCQoI8PT3VqlUr27bJkyfLx8dHJpNJFy9elCQlJiZqxowZOnbsmEwmk8LDw5WWliaz2awWLVpo4sSJCgkJkdlsVlRUlPbt21cvNSRp+/bt8vf319KlSxv0elVKS0uTYRgaPnz4LccsWbJEnTp10ptvvqmdO3fe9nw1uQ/p6eny8fGRt7e3cnJy9Oijj8rf31+hoaHasGGD3fkqKir00ksvqW3btrJYLOrRo4cyMzPv7E3/n/z8fAUGBqpdu3aSpLKyMu3du1c9e/asl/M7e91bOXPmjCwWizp06GC3PSgoSAMGDFBqaqoMw2jIVgEAcFqEuQAAAEA9SEpK0uzZszV37lwVFhbqo48+UkFBgfr376/z589L+i64jImJsTtu1apVWrhwod221NRUDRs2TGFhYTIMQ0ePHlVCQoLi4+NVUlKiqVOn6sSJE9q/f7/Ky8v1q1/9yvYr6XdSQ5LtIVM3b96sv4tzG1u3blXnzp3l7e19yzHdLgIxAAAgAElEQVQWi0VvvfWWmjRpovHjx+v69eu3HFuT+/Dcc89p2rRpKi0tlZ+fnzIzM3Xs2DF17NhR48ePl9VqtZ1v1qxZWrFihVJSUnTu3DkNGzZMY8eO1WeffVan92u1WnXmzBm9+uqr2rlzp1555RV5enpKks6ePauysjL94x//0MCBA22BfZcuXbRq1ao7CjCdsW51SkpKtGvXLo0fP77acb169dKZM2f0+eef17knAABcGWEuAAAAcIdKS0u1cuVKPf744xo3bpwCAgIUGRmp119/XRcvXtQbb7xRb7Xc3d1ts067du2q9PR0Xb16VWvXrq2X8w8dOlTFxcWaP39+vZzvdq5fv66vv/5aYWFhPzq2X79+mjZtmk6cOKFZs2ZVO6Yu9yEqKkr+/v4KDg5WXFycrl+/rlOnTkmSbty4ofT0dI0cOVKjRo1SYGCg5s2bJw8Pjzpf7zZt2ig0NFRJSUlasWKFYmNjbfsqlx8IDg7W0qVLlZeXp/Pnz2vEiBGaMmWK3nnnnTrVdNa61UlOTlZISIiWLFlS7f577rlHknTo0KE69wQAgCsjzAUAAADuUF5enq5du6Y+ffrYbe/bt688PT3tlkGob3369JG3t7fdMgKuorCwUIZh3HZW7vctWbJEnTt31qpVq/Txxx9X2X+n96FyJmjlzNyvvvpKJSUldg8As1gsatWqVZ2vd0FBgQoLC/XOO+/o7bffVq9evWzrFnt5eUmSunXrpqioKDVt2lQBAQFauHChAgIC7ugfBZyx7g9t2bJFGzdu1Pvvv1/lQXiVKj8rlbOsAQD4qSHMBQAAAO5QUVGRJMnX17fKvsDAQF29erVB63t5eenChQsNWqMh3LhxQ9J/wsQfYzabtXbtWplMJj3zzDMqLS2121/f96FyOYd58+bJZDLZXidPnqzycK6a8vDwUHBwsAYPHqyMjAzl5eUpOTlZkhQSEiJJtnWNK3l6eqpdu3Y6duxYnWo6a93vy8jI0LJly5Sbm6v27dvf8nwWi0XSfz47AAD81BDmAgAAAHcoMDBQkqoNC4uKihQaGtpgta1Wa4PXaCiVwVzlOr010a9fP02fPl35+flavHix3b76vg/BwcGSpJSUFBmGYffas2dPrc5VnfDwcLm5uSkvL0/SdyH0Pffco8OHD1cZW15eroCAgDuu6Ux1K73yyitat26ddu3apZ/97Ge3PUdZWZmk/3x2AAD4qSHMBQAAAO5Q9+7d5evrW+WhWPv27VNZWZnuu+8+2zZ3d3e7B2zdqdzcXBmGoQceeKDBajSUFi1ayGQy6cqVK7U6bvHixYqIiNCBAwfsttfmPtREmzZtZDabdfDgwVod90OXLl3S2LFjq2zPz89XRUWF2rRpY9sWGxurAwcO6Pjx47ZtJSUlOnnypCIjI++quoZhaObMmTp06JCys7OrnVH9Q5WflZYtW9aqJwAA7haEuQAAAMAdMpvNmjFjhrZs2aJ169apuLhYhw4d0qRJkxQSEqIJEybYxoaHh+ubb75Rdna2rFarLly4oJMnT1Y5Z9OmTXX27FmdOHFCV69etYWzN2/e1OXLl1VeXq4vvvhCiYmJatu2reLj4+ulxrZt2+Tv76+lS5fW/4X6AW9vb3Xs2FGnT5+u1XGVyy24ublV2V7T+1DTOk8//bQ2bNig9PR0FRcXq6KiQqdPn9a5c+ckSXFxcWrZsqX2799/y/P4+Phox44d2rVrl4qLi2W1WnXgwAE99dRT8vHx0fTp021jp0+frnbt2ik+Pl6nTp3SpUuXNHPmTJWWlto9+O1uqHv48GGtWLFCq1evloeHh91SFiaTSb///e+rnLvys1LbgBkAgLsFYS4AAABQDxYsWKDk5GQtWrRIzZs314ABA9S+fXvl5ubKx8fHNu65557TwIEDNWbMGHXu3FmLFy+2/cp4v379VFBQIEmaNGmSWrRooa5du2rIkCH65ptvJH23VmhkZKQsFov69++vTp066cMPP7Rbd/ZOazSmoUOHKi8vz2792z/+8Y8KDw/XsWPH1LdvXz3//PNVjnvggQfswshKNbkP6enpSklJkST16NFDx48f1+rVqzVjxgxJ0iOPPKL8/HxJUmpqqqZNm6bly5erWbNmCgkJUWJioi5fvizpu1/7LywsVE5Ozi3fo9ls1oMPPqhnn31WrVu3lp+fn6Kjo9W+fXvt3bvX7gFrQUFB2r17t0JDQ9WzZ0+1bt1an376qbZu3aqePXvaxt0NdQ3DuOU5buXvf/+7WrdurR49etT6WAAA7gYmoy7/BwUA4BZMJpMyMzMVExPj6FYASVJ0dLQkKSsry8GdwNU4459nEydOVFZWli5duuToVqpVl+/b0aNH1aVLF61du1bjxo1rqNYazM2bN/XQQw8pPj5ezzzzDHUb0KVLlxQaGqolS5bYgveacsbvMwAAdZDFzFwAAADAhdTmYWGuIDw8XIsWLdKiRYt07do1R7dTKxUVFcrOztbVq1cVFxdH3QaWlJSknj17KiEhodFrAwDgLAhzAQAAADjU7NmzFR0drbi4uFo/DM2RcnNztXnzZm3btk3e3t7UbUArV67UwYMH9d5778nDw6NRawMA4EwIcwEAAAAXMGfOHK1du1ZXrlxRhw4dtGnTJke3VK+WLl2qhIQEvfzyy45upcYGDRqk9evXq1WrVtRtQDk5Ofr222+Vm5uroKCgRq0NAICzcXd0AwAAAAB+XHJyspKTkx3dRoMaPHiwBg8e7Og24GQee+wxPfbYY45uAwAAp8DMXAAAAAAAAABwAYS5AAAAAAAAAOACCHMBAAAAAAAAwAUQ5gIAAAAAAACAC+ABaACAepeSkqKsrCxHtwFIkvbu3StJio6OdnAncEX8eVY7fN8AAAAalskwDMPRTQAA7h78BR5Afdm2bZt69eqlVq1aOboVAHeB6dOnq1+/fo5uAwCAO5FFmAsAAACnZDKZlJmZqZiYGEe3AgAAADiDLNbMBQAAAAAAAAAXQJgLAAAAAAAAAC6AMBcAAAAAAAAAXABhLgAAAAAAAAC4AMJcAAAAAAAAAHABhLkAAAAAAAAA4AIIcwEAAAAAAADABRDmAgAAAAAAAIALIMwFAAAAAAAAABdAmAsAAAAAAAAALoAwFwAAAAAAAABcAGEuAAAAAAAAALgAwlwAAAAAAAAAcAGEuQAAAAAAAADgAghzAQAAAAAAAMAFEOYCAAAAAAAAgAsgzAUAAAAAAAAAF0CYCwAAAAAAAAAugDAXAAAAAAAAAFwAYS4AAAAAAAAAuADCXAAAAAAAAABwAYS5AAAAAAAAAOACCHMBAAAAAAAAwAUQ5gIAAAAAAACACyDMBQAAAAAAAAAXQJgLAAAAAAAAAC6AMBcAAAAAAAAAXABhLgAAAAAAAAC4AMJcAAAAAAAAAHABhLkAAAAAAAAA4AIIcwEAAAAAAADABRDmAgAAAAAAAIALcHd0AwAAAEBRUZEMw6iy/fr167p8+bLdNl9fX3l4eDRWawAAAIDTMBnV/dQMAAAANKJf/vKX+vDDD390nJubm86cOaOWLVs2QlcAAACAU8limQUAAAA43JgxY2QymW47pkmTJvp//+//EeQCAADgJ4swFwAAAA43evRoubvffgUwk8mkJ598spE6AgAAAJwPYS4AAAAcLigoSIMHD5abm9stxzRp0kQjR45sxK4AAAAA50KYCwAAAKcwbtw43bx5s9p97u7uGjp0qAICAhq5KwAAAMB5EOYCAADAKQwfPlxeXl7V7quoqNC4ceMauSMAAADAuRDmAgAAwCl4e3tr5MiR8vDwqLLPYrFoyJAhDugKAAAAcB6EuQAAAHAaY8eOldVqtdvm4eGh0aNHy2KxOKgrAAAAwDkQ5gIAAMBpPPzww1XWxbVarRo7dqyDOgIAAACcB2EuAAAAnIaHh4fi4uLk6elp2xYYGKhBgwY5sCsAAADAORDmAgAAwKmMGTNGZWVlkr4Ld8eNGyd3d3cHdwUAAAA4HmEuAAAAnEr//v3VsmVLSd8tsRAXF+fgjgAAAADnQJgLAAAAp9KkSRM98cQTkqSQkBBFRUU5uCMAAADAOfD7agAA1NGePXtUUFDg6DaAu1Lz5s0lSffff7+ysrIc3A1w94qJiXF0CwAAoBZMhmEYjm4CAABXFB0drU2bNjm6DQAA6oy/DgIA4FKyWGYBAIA7MHr0aBmGwcsJXqNHj+Z+NPArMzNTkhqtXlZWlsPfc328JCkzM9PhffDi9f1X5fcZAAC4FsJcAAAAOKXRo0c7ugUAAADAqRDmAgAAAAAAAIALIMwFAAAAAAAAABdAmAsAAAAAAAAALoAwFwAAAAAAAABcAGEuAAAAAAAAALgAwlwAAAA0qvfee08BAQH605/+5OhWnN7OnTs1e/Zsbd68WR07dpTJZJLJZNITTzxRZezgwYPl5+cnNzc3devWTfv373dAxzW3fPlyRUREyGKxyMfHRxEREZo/f76Ki4urjLVarUpOTlZ4eLg8PT0VGBio7t2768SJE3dd3UWLFqlr167y9/eXl5eXwsPD9eKLL+ratWu2Me+++66WL1+uioqKWvcBAABcG2EuAAAAGpVhGI5uwSUsWLBAaWlpmjNnjkaNGqXjx48rLCxMzZo107p167R161a78Tt27FBWVpaGDRumvLw89e7d20Gd18zu3bs1fvx4nTp1SufPn9fixYu1fPlyjR49usrY2NhY/eEPf9D69etVUlKif/7znwoLC7MLOO+Wurt27dKUKVN04sQJXbx4UcnJyUpNTVV0dLRtzPDhw2U2mzVo0CAVFRXVuhcAAOC6CHMBAADQqIYOHaorV65o2LBhjm5FpaWlioqKcnQbVSxbtkwZGRnauHGj/Pz87PalpaWpSZMmmjBhgq5cueKgDu+cp6enJk+erODgYPn6+io6OlojRozQBx98oHPnztnGZWRkKDs7W1lZWbr//vvl7u6ukJAQ5eTkqHv37nddXV9fX02YMEFNmzaVn5+fYmJiNHLkSG3fvl0FBQW2cVOnTtW9996rIUOGqLy8vNb9AAAA10SYCwAAgJ+sNWvWqLCw0NFt2Dl69Kjmz5+vhQsXymw2V9kfFRWlxMREnTlzRi+88IIDOqwfW7ZsqfL+WrduLUl2M19fe+019e7dW5GRkT+Jun/+85/l5uZmN6558+aSpJKSErvtSUlJOnjwoFJTU+ulRwAA4PwIcwEAANBoPv74Y7Vt21Ymk0mvvvqqJCk9PV0+Pj7y9vZWTk6OHn30Ufn7+ys0NFQbNmywHZuWliaz2awWLVpo4sSJCgkJkdlsVlRUlPbt22cbl5CQIE9PT7Vq1cq2bfLkyfLx8ZHJZNLFixclSYmJiZoxY4aOHTsmk8mk8PBwSdL27dvl7++vpUuXNsYlqSItLU2GYWj48OG3HLNkyRJ16tRJb775pnbu3Hnb8xmGoZUrV6pLly7y8vJSUFCQRowYoSNHjtjG1PQeSFJFRYVeeukltW3bVhaLRT169FBmZuadven/k5+fr8DAQLVr106SVFZWpr1796pnz571cn5nr3srZ86ckcViUYcOHey2BwUFacCAAUpNTWX5EgAAfiIIcwEAANBofvGLX+iTTz6x2/bcc89p2rRpKi0tlZ+fnzIzM3Xs2DF17NhR48ePl9VqlfRdSBsfH6+SkhJNnTpVJ06c0P79+1VeXq5f/epXtl9BT0tLU0xMjF2NVatWaeHChXbbUlNTNWzYMIWFhckwDB09elSSbA+VunnzZoNcgx+zdetWde7cWd7e3rccY7FY9NZbb6lJkyYaP368rl+/fsuxSUlJmj17tubOnavCwkJ99NFHKigoUP/+/XX+/HlJNb8HkjRr1iytWLFCKSkpOnfunIYNG6axY8fqs88+q9P7tVqtOnPmjF599VXt3LlTr7zyijw9PSVJZ8+eVVlZmf7xj39o4MCBtgC/S5cuWrVq1R0FmM5YtzolJSXatWuXxo8fX+24Xr166cyZM/r888/r3BMAAHAdhLkAAABwGlFRUfL391dwcLDi4uJ0/fp1nTp1ym6Mu7u7bZZp165dlZ6erqtXr2rt2rX10sPQoUNVXFys+fPn18v5auP69ev6+uuvFRYW9qNj+/Xrp2nTpunEiROaNWtWtWNKS0u1cuVKPf744xo3bpwCAgIUGRmp119/XRcvXtQbb7xR5Zjb3YMbN24oPT1dI0eO1KhRoxQYGKh58+bJw8Ojzte/TZs2Cg0NVVJSklasWKHY2FjbvsrlB4KDg7V06VLl5eXp/PnzGjFihKZMmaJ33nmnTjWdtW51kpOTFRISoiVLllS7/5577pEkHTp0qM49AQAA10GYCwAAAKdUOQvx+7NCq9OnTx95e3vbLRvgqgoLC2UYxm1n5X7fkiVL1LlzZ61atUoff/xxlf15eXm6du2a+vTpY7e9b9++8vT0tFueojo/vAdfffWVSkpK7B4AZrFY1KpVqzpf/4KCAhUWFuqdd97R22+/rV69etnWMfby8pIkdevWTVFRUWratKkCAgK0cOFCBQQEVBtGu3LdH9qyZYs2btyo999/v8qD8CpVflYqZ1kDAIC7G2EuAAAAXJ6Xl5cuXLjg6Dbu2I0bNyT9J0z8MWazWWvXrpXJZNIzzzyj0tJSu/1FRUWSJF9f3yrHBgYG6urVq7Xqr3I5h3nz5slkMtleJ0+erPJwrpry8PBQcHCwBg8erIyMDOXl5Sk5OVmSFBISIkm2dY4reXp6ql27djp27Fidajpr3e/LyMjQsmXLlJubq/bt29/yfBaLRdJ/PjsAAODuRpgLAAAAl2a1WlVUVKTQ0FBHt3LHKoO5ynV7a6Jfv36aPn268vPztXjxYrt9gYGBklRtaFuXaxYcHCxJSklJkWEYdq89e/bU6lzVCQ8Pl5ubm/Ly8iR9F0Lfc889Onz4cJWx5eXlCggIuOOazlS30iuvvKJ169Zp165d+tnPfnbbc5SVlUn6z2cHAADc3QhzAQAA4NJyc3NlGIYeeOAB2zZ3d/cfXZ7BGbVo0UImk0lXrlyp1XGLFy9WRESEDhw4YLe9e/fu8vX1rfJwsn379qmsrEz33Xdfreq0adNGZrNZBw8erNVxP3Tp0iWNHTu2yvb8/HxVVFSoTZs2tm2xsbE6cOCAjh8/bttWUlKikydPKjIy8q6qaxiGZs6cqUOHDik7O7vaGdU/VPlZadmyZa16AgAArokwFwAAAC7l5s2bunz5ssrLy/XFF18oMTFRbdu2VXx8vG1MeHi4vvnmG2VnZ8tqterChQs6efJklXM1bdpUZ8+e1YkTJ3T16lVZrVZt27ZN/v7+Wrp0aSO+q+94e3urY8eOOn36dK2Oq1xuwc3Nrcr2GTNmaMuWLVq3bp2Ki4t16NAhTZo0SSEhIZowYUKt6zz99NPasGGD0tPTVVxcrIqKCp0+fVrnzp2TJMXFxally5bav3//Lc/j4+OjHTt2aNeuXSouLpbVatWBAwf01FNPycfHR9OnT7eNnT59utq1a6f4+HidOnVKly5d0syZM1VaWmr34Le7oe7hw4e1YsUKrV69Wh4eHnZLWZhMJv3+97+vcu7Kz0ptA2YAAOCaCHMBAADQaF599VX17dtXkjRz5kw99thjSk9PV0pKiiSpR48eOn78uFavXq0ZM2ZIkh555BHl5+fbznHjxg1FRkbKYrGof//+6tSpkz788EO7dWafe+45DRw4UGPGjFHnzp21ePFi26+h9+vXTwUFBZKkSZMmqUWLFuratauGDBmib775plGuw+0MHTpUeXl5duvf/vGPf1R4eLiOHTumvn376vnnn69y3AMPPGAXRlZasGCBkpOTtWjRIjVv3lwDBgxQ+/btlZubKx8fH0mq1T1ITU3VtGnTtHz5cjVr1kwhISFKTEzU5cuXJX33a/+FhYXKycm55Xs0m8168MEH9eyzz6p169by8/NTdHS02rdvr71799o9YC0oKEi7d+9WaGioevbsqdatW+vTTz/V1q1b1bNnT9u4u6GuYRi3PMet/P3vf1fr1q3Vo0ePWh8LAABcj8moy08MAABA0dHRkqSsrCwHdwKJ+9EYNm7cqNjY2DoFTvVl4sSJysrK0qVLlxzWQ22ZTCZlZmYqJiamRuOPHj2qLl26aO3atRo3blwDd1f/bt68qYceekjx8fF65plnqNuALl26pNDQUC1ZssQWvNeUM3yfAQBArWUxMxcAAAAupTYPB3NF4eHhWrRokRYtWqRr1645up1aqaioUHZ2tq5evaq4uDjqNrCkpCT17NlTCQkJjV4bAAA4BmEuAADQokWL1LVrV/n7+8vLy0vh4eF68cUXfzRIevbZZ+Xn5yeTyVSnByLVtW59++qrr/T888+rW7du8vPzk7u7uwICAtSpUycNHTpUe/bsadR+qlOTa7V582Z17Nixyjqbnp6eatGihR566CH97ne/s/06PJzX7NmzFR0drbi4uFo/DM2RcnNztXnzZm3btk3e3t7UbUArV67UwYMH9d5778nDw6NRawMAAMchzAUAANq1a5emTJmiEydO6OLFi0pOTlZqaqpt6YJbefPNN7V69epGr1uf1qxZo8jISH3xxRdauXKlCgoKdP36dR04cECLFy9WUVGRDh061Gj93EpNrtWoUaN0/PhxhYWFKSAgQIZh6ObNmyosLNTGjRvVoUMHzZw5U926ddNnn33m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\n",
            "text/plain": [
              "<IPython.core.display.Image object>"
            ]
          },
          "metadata": {},
          "execution_count": 29
        }
      ],
      "source": [
        "# encoder.output\n",
        "keras.utils.plot_model(encoder, \"encoder.png\", show_shapes=True)"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "(tX0, tX1), (ty0, ty1, ty2, ty3) = data_loader(test_df, (150, 150, 3))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "U3_Qm4mOJzC4",
        "outputId": "56d17fed-d556-4103-feae-1e56c7a54b67"
      },
      "execution_count": 30,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "(359,)\n",
            "(359,)\n",
            "(359, 3)\n",
            "(359, 8)\n",
            "(359, 150, 150, 3)\n",
            "(359, 3)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "test_scores = encoder.evaluate(tX0, [ty0, ty1, ty2, ty3], verbose=2)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "b7XnFqweNwUB",
        "outputId": "f4fec58d-df34-41fb-c961-2f78151c923f"
      },
      "execution_count": 31,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "12/12 - 0s - loss: 8229.9893 - wt_rg_loss: 8206.0010 - ht_rg_loss: 22.1719 - ag_3cls_loss: 0.6977 - brd_8cls_loss: 1.1181 - wt_rg_mse: 8206.0010 - ht_rg_mse: 22.1719 - ag_3cls_accuracy: 0.7326 - brd_8cls_accuracy: 0.6852 - 339ms/epoch - 28ms/step\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "print(\"Test loss:\", test_scores[0])\n",
        "print(\"Test accuracy:\", test_scores[1])"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ix1tL2chOUdA",
        "outputId": "93a791a7-9b00-45a7-8baf-f74d85810b48"
      },
      "execution_count": 32,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Test loss: 8229.9892578125\n",
            "Test accuracy: 8206.0009765625\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "pknNE0XJ1TtU"
      },
      "outputs": [],
      "source": [
        "p1, p2, p3 = encoder.predict([tf.expand_dims(tX0[0], 0), tf.expand_dims(tX1[0], 0)])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "iUbdFp4I1gR2"
      },
      "outputs": [],
      "source": [
        "# print(p0);ty0[0]"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "NBWS4n921izy",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "39fc1618-40dc-4fdf-8e6e-387b05fa4ec3"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[[45.881622]]\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<tf.Tensor: shape=(), dtype=float32, numpy=48.0>"
            ]
          },
          "metadata": {},
          "execution_count": 158
        }
      ],
      "source": [
        "print(p1);ty1[0]"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "JgKtF9Dc1lRW",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "fd669f34-8835-4830-8c3f-62bf5397f01c"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "0\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "1"
            ]
          },
          "metadata": {},
          "execution_count": 159
        }
      ],
      "source": [
        "print(p2.argmax());ty2[0].argmax()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "5wCRToDy1nRH",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "a921efb8-ca61-4e41-df7c-22cdba4b5e46"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "2\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "7"
            ]
          },
          "metadata": {},
          "execution_count": 160
        }
      ],
      "source": [
        "print(p3.argmax());ty3[0].argmax()"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "Cattle are commonly raised as livestock for meat (beef or veal, see beef cattle), for milk (see dairy cattle), and for hides, which are used to make leather. They are used as riding animals and draft animals (oxen or bullocks, which pull carts, plows and other implements). Another product of cattle is their dung, which can be used to create manure or fuel."
      ],
      "metadata": {
        "id": "7hPxQCKTxp49"
      },
      "execution_count": null,
      "outputs": []
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "name": "031-dec.ipynb",
      "provenance": [],
      "authorship_tag": "ABX9TyOMCsMxFrbPW4R0esqj5aMj",
      "include_colab_link": true
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}