diff --git a/4-Classification/1-Introduction/notebook.ipynb b/4-Classification/1-Introduction/notebook.ipynb
index 95cb84cd..b0994c09 100644
--- a/4-Classification/1-Introduction/notebook.ipynb
+++ b/4-Classification/1-Introduction/notebook.ipynb
@@ -1,5 +1,785 @@
{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Delicious Asian and Indian Cuisines "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "import matplotlib as mpl\n",
+ "import numpy as np\n",
+ "from imblearn.over_sampling import SMOTE"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df = pd.read_csv('../data/cuisines.csv')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Unnamed: 0 | \n",
+ " cuisine | \n",
+ " almond | \n",
+ " angelica | \n",
+ " anise | \n",
+ " anise_seed | \n",
+ " apple | \n",
+ " apple_brandy | \n",
+ " apricot | \n",
+ " armagnac | \n",
+ " ... | \n",
+ " whiskey | \n",
+ " white_bread | \n",
+ " white_wine | \n",
+ " whole_grain_wheat_flour | \n",
+ " wine | \n",
+ " wood | \n",
+ " yam | \n",
+ " yeast | \n",
+ " yogurt | \n",
+ " zucchini | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 65 | \n",
+ " indian | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 66 | \n",
+ " indian | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 67 | \n",
+ " indian | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 68 | \n",
+ " indian | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 69 | \n",
+ " indian | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 385 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Unnamed: 0 cuisine almond angelica anise anise_seed apple \\\n",
+ "0 65 indian 0 0 0 0 0 \n",
+ "1 66 indian 1 0 0 0 0 \n",
+ "2 67 indian 0 0 0 0 0 \n",
+ "3 68 indian 0 0 0 0 0 \n",
+ "4 69 indian 0 0 0 0 0 \n",
+ "\n",
+ " apple_brandy apricot armagnac ... whiskey white_bread white_wine \\\n",
+ "0 0 0 0 ... 0 0 0 \n",
+ "1 0 0 0 ... 0 0 0 \n",
+ "2 0 0 0 ... 0 0 0 \n",
+ "3 0 0 0 ... 0 0 0 \n",
+ "4 0 0 0 ... 0 0 0 \n",
+ "\n",
+ " whole_grain_wheat_flour wine wood yam yeast yogurt zucchini \n",
+ "0 0 0 0 0 0 0 0 \n",
+ "1 0 0 0 0 0 0 0 \n",
+ "2 0 0 0 0 0 0 0 \n",
+ "3 0 0 0 0 0 0 0 \n",
+ "4 0 0 0 0 0 1 0 \n",
+ "\n",
+ "[5 rows x 385 columns]"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 2448 entries, 0 to 2447\n",
+ "Columns: 385 entries, Unnamed: 0 to zucchini\n",
+ "dtypes: int64(384), object(1)\n",
+ "memory usage: 7.2+ MB\n"
+ ]
+ }
+ ],
+ "source": [
+ "df.info()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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evTopdaE/9N20jL5OYO9XQaAaqJgeh9vlwCgilRqBiwqKkr5+flnLF+9erWaNWt2yUUBAAD4skoFsHvuuUcPPvig1q5dK4fDoW+++Ubz5s3TqFGjdP/991d1jQAAAD6lUqcgx40bJ5fLpe7du+vYsWO67rrr5HQ6NWrUKI0cObKqawQAAPAplQpgDodDEyZM0OjRo5Wfn6+ysjK1adNGISEhVV0fAACAz6lUADstICBAbdq0qapaAAAALguVCmDff/+9pk+frqysLBUVFcnlcnms37NnT5UUBwAA4IsqFcDuvvturVy5UoMGDVJ0dLQcDkdV1wUAAOCzKhXAPvjgAy1dulRdu3at6noAAAB8XqU+hqJevXqqX79+VdcCAABwWahUAHv88cf12GOP6dixY1VdDwAAgM+r1CnImTNnavfu3WrUqJHi4+M9vg9SEt8HCQAAcB6VCmD9+/ev4jIAAAAuH5UKYJMmTarqOiqloKBATZs2VW5urtq3b3/WMXPnzlVGRgZfEg4AAKqNSl0DVpPcdttt2rVrl7fLAAAAcLvgGbD69etr165dioiIUL169c772V9HjhypkuKqQlBQkIKCgrxdBgAAgNsFz4D95S9/Ud26dd0/n+9R1Vwul/785z+refPmcjqdiouL09SpU93r9+zZo//8z/9UcHCwkpOTtWbNGve6uXPnKjw83P188uTJat++vV599VXFx8crLCxMt99+u0pLSz1eLzMzU02bNlVQUJCSk5P11ltvudd/9913SktLU2RkpIKCgpSQkKA5c+a41+/bt08DBgxQeHi46tevr379+qmgoKDK3xcAAFAzXfAMWHp6uvvnwYMH/xq1nNP48eM1e/Zs/eUvf9E111yj/fv364svvnCvnzBhgp566iklJCRowoQJGjhwoPLz8+Xvf/b2du/erSVLlui9997Td999pwEDBmj69OnuUJeZmanXXntNL7zwghISEvTJJ5/ojjvuUGRkpLp166aJEydqx44d+uCDDxQREaH8/Hz98MMPkqSTJ0+qZ8+eSk1N1apVq+Tv768nnnhCvXr10tatWxUQEHBGPeXl5SovL3c/Lykpqcq3DwAAVDOVugh/06ZNql27tpKSkiRJ//znPzVnzhy1adNGkydPPmvIqKzS0lLNmjVLzz77rDsEXnnllbrmmmvcs0qjRo1Snz59JElTpkxRYmKi8vPz1apVq7Pu0+Vyae7cue4ZvUGDBikrK0tTp05VeXm5pk2bpo8++kipqamSpGbNmmn16tX629/+pm7duqmwsFAdOnRQSkqKJCk+Pt697zfffFMul0svvfSS+zTtnDlzFB4erhUrVujGG288o57MzExNmTLl0t8sAABQI1TqIvz77rvPfWH7nj17dNtttyk4OFgLFy7UmDFjqrTAnTt3qry8XN27dz/nmHbt2rl/jo6OliQVFRWdc3x8fLw7fJ3e5vT4/Px8HTt2TL/5zW8UEhLifvzjH//Q7t27JUn333+/5s+fr/bt22vMmDH69NNP3fvasmWL8vPzVbduXfe29evX1/Hjx93b/9z48eNVXFzsfuzbt+8C3hkAAFBTVWoGbNeuXe6PfVi4cKG6deum119/XTk5Obr99tv1zDPPVFmBF3IB/U8/CPb0rJPL5bqg8ae3OT2+rKxMkrR06VI1btzYY5zT6ZQk3XTTTfrqq6/0/vvva/ny5erevbuGDx+up556SmVlZerUqZPmzZt3xutGRkaetR6n0+neNwAA8H2VCmDGGHdg+eijj3TzzTdLkmJjY3Xo0KGqq05SQkKCgoKClJWVpbvvvrtK9302bdq0kdPpVGFhobp163bOcZGRkUpPT1d6erquvfZajR49Wk899ZQ6duyoN998Uw0bNlRoaOivXi8AAKh5KhXAUlJS9MQTT6hHjx5auXKlnn/+eUnS3r171ahRoyotMDAwUGPHjtWYMWMUEBCgrl276ttvv9Xnn39+3tOSlVW3bl2NGjVKDz30kFwul6655hoVFxcrJydHoaGhSk9P12OPPaZOnTopMTFR5eXleu+999S6dWtJUlpammbMmKF+/frpT3/6k6644gp99dVXWrRokcaMGaMrrriiymsGAAA1S6UC2DPPPKO0tDQtWbJEEyZMUPPmzSVJb731lrp06VKlBUrSxIkT5e/vr8cee0zffPONoqOjNXTo0Cp/ndMef/xxRUZGKjMzU3v27FF4eLg6duyoRx99VJIUEBCg8ePHq6CgQEFBQbr22ms1f/58SVJwcLA++eQTjR07VrfeeqtKS0vVuHFjde/enRkxAAAgSXIYY0xV7ez48eOqVavWGddY4eKUlJQoLCxMsRkL5OcM9nY5AKqJgul9vF0CgPM4/fe7uLj4FyddKjUDdi6BgYFV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sjKLXfyyzMxMXXXVVapbt64aNmyo/v37Ky8vz2PM8ePHNXz4cDVo0EAhISH67W9/q4MHD3qMKSwsVJ8+fRQcHKyGDRtq9OjR+vHHH222ckGef/55tWvXzv0Bhqmpqfrggw/c632p15+aPn26HA6HMjIy3Mt8qdfJkyfL4XB4PFq1auVe70u9StLXX3+tO+64Qw0aNFBQUJCSkpK0YcMG93pf+f0UHx9/xnF1OBwaPny4JN86rhUVFZo4caKaNm2qoKAgXXnllXr88cc9vpOx2h1Xg2pl/vz5JiAgwLzyyivm888/N/fcc48JDw83Bw8e9HZpF+X99983EyZMMIsWLTKSzOLFiz3WT58+3YSFhZklS5aYLVu2mP/6r/8yTZs2NT/88IN7TK9evUxycrL57LPPzKpVq0zz5s3NwIEDLXdyfj179jRz5swx27dvN5s3bza9e/c2cXFxpqyszD1m6NChJjY21mRlZZkNGzaY//iP/zBdunRxr//xxx9N27ZtTY8ePUxubq55//33TUREhBk/frw3Wjqvd955xyxdutTs2rXL5OXlmUcffdTUrl3bbN++3RjjW72etm7dOhMfH2/atWtnHnzwQfdyX+p10qRJJjEx0ezfv9/9+Pbbb93rfanXI0eOmCZNmpjBgwebtWvXmj179phly5aZ/Px89xhf+f1UVFTkcUyXL19uJJns7GxjjG8d16lTp5oGDRqY9957z+zdu9csXLjQhISEmFmzZrnHVLfjSgCrZq6++mozfPhw9/OKigoTExNjMjMzvVjVpfl5AHO5XCYqKsrMmDHDvezo0aPG6XSaN954wxhjzI4dO4wks379eveYDz74wDgcDvP1119bq/1iFRUVGUlm5cqVxphTfdWuXdssXLjQPWbnzp1GklmzZo0x5lRY9fPzMwcOHHCPef75501oaKgpLy+320Al1KtXz7z00ks+2WtpaalJSEgwy5cvN926dXMHMF/rddKkSSY5Ofms63yt17Fjx5prrrnmnOt9+ffTgw8+aK688krjcrl87rj26dPHDBkyxGPZrbfeatLS0owx1fO4cgqyGjlx4oQ2btyoHj16uJf5+fmpR48eWrNmjRcrq1p79+7VgQMHPPoMCwtT586d3X2uWbNG4eHhSklJcY/p0aOH/Pz8tHbtWus1X6ji4mJJ//8L1Tdu3KiTJ0969Nqq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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "df.cuisine.value_counts().plot.barh()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thai df: (289, 385)\n",
+ "japanese df: (320, 385)\n",
+ "chinese df: (442, 385)\n",
+ "indian df: (598, 385)\n",
+ "korean df: (799, 385)\n"
+ ]
+ }
+ ],
+ "source": [
+ "thai_df = df[(df.cuisine == \"thai\")]\n",
+ "japanese_df = df[(df.cuisine == \"japanese\")]\n",
+ "chinese_df = df[(df.cuisine == \"chinese\")]\n",
+ "indian_df = df[(df.cuisine == \"indian\")]\n",
+ "korean_df = df[(df.cuisine == \"korean\")]\n",
+ "\n",
+ "print(f'thai df: {thai_df.shape}')\n",
+ "print(f'japanese df: {japanese_df.shape}')\n",
+ "print(f'chinese df: {chinese_df.shape}')\n",
+ "print(f'indian df: {indian_df.shape}')\n",
+ "print(f'korean df: {korean_df.shape}')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def create_ingredient_df(df):\n",
+ " ingredient_df = df.T.drop(['cuisine','Unnamed: 0']).sum(axis=1).to_frame('value')\n",
+ " ingredient_df = ingredient_df[(ingredient_df.T != 0).any()]\n",
+ " ingredient_df = ingredient_df.sort_values(by='value', ascending=False,\n",
+ " inplace=False)\n",
+ " return ingredient_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmoAAAGdCAYAAACirV9DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABApklEQVR4nO3deVgW9f7/8deNws0OkspiIKKkluKKZpqaG5aZZh3NOIllmeUSqUfiFCKaQZZrnpbT4tLR1DbtZGVIaopmlFsqUqKEHUkrDyB6BIT5/dHX+9cd7or3AM/Hdd3XxT3zmc+85+Pg/bo+M3NjMQzDEAAAAEzHydEFAAAA4OwIagAAACZFUAMAADApghoAAIBJEdQAAABMiqAGAABgUgQ1AAAAkyKoAQAAmFRtRxeAy1deXq7Dhw/Ly8tLFovF0eUAAICLYBiGjh8/rqCgIDk5nX/OjKBWhR0+fFjBwcGOLgMAAFyGQ4cO6frrrz9vG4JaFebl5SXp939ob29vB1cDAAAuRmFhoYKDg22f4+dDUKvCzlzu9Pb2JqgBAFDFXMxtSzxMAAAAYFIENQAAAJMiqAEAAJgU96gBAFDDlZWVqbS01NFlVCu1atVS7dq1r/jrswhqAADUYEVFRfrpp59kGIajS6l23N3dFRgYKBcXl8vug6AGAEANVVZWpp9++knu7u6qV68eX55+lRiGoZKSEv3yyy86ePCgwsPDL/jFtudCUKsGWiSukZPV3dFlADChnJR+ji4BJlZaWirDMFSvXj25ubk5upxqxc3NTc7Ozvrxxx9VUlIiV1fXy+qHhwkAAKjhmEmrHJc7i2bXx1WoAwAAAJWAoAYAAGBSNeYetZycHDVq1Ejbt29X69atz9pm4cKFio2NVX5+/kX1GRoaqtjYWMXGxl61OgEAcLTQp1Zf0/1d63spq9LnNzNqfzBkyBB9//33ji4DAABAUg2aUbsYbm5uPPUCAABMo9rNqJWXl2vGjBlq0qSJrFarQkJCNH36dNv6AwcO6LbbbpO7u7tatWqlLVu22NYtXLhQvr6+dv39+9//VmRkpFxdXVW3bl3dfffd59z3G2+8IV9fX6WlpUmSdu/erdtvv12enp7y9/fXAw88oF9//dXWvnv37ho3bpwmTZokPz8/BQQEaMqUKVdnIAAAqIb++c9/KigoSOXl5XbLBwwYoIceekjZ2dkaMGCA/P395enpqcjISK1du/ac/eXk5MhisWjHjh22Zfn5+bJYLFq/fr1t2YU+0ytLtQtq8fHxSklJUUJCgvbu3aulS5fK39/ftv7pp5/WxIkTtWPHDt1www0aOnSoTp8+fda+Vq9erbvvvlt33HGHtm/frrS0NHXo0OGsbWfMmKGnnnpKn3/+uXr27Kn8/Hz16NFDbdq00TfffKPPPvtMR44c0eDBg+22W7RokTw8PLR161bNmDFDU6dOVWpq6ln3UVxcrMLCQrsXAAA1yV/+8hf99ttvWrdunW3ZsWPH9Nlnnyk6OlpFRUW64447lJaWpu3bt6tv377q37+/cnNzL3ufF/uZXhmq1aXP48ePa+7cuZo/f75iYmIkSY0bN1aXLl2Uk5MjSZo4caL69fv9psWkpCTddNNN2r9/v5o1a1ahv+nTp+u+++5TUlKSbVmrVq0qtIuLi9Pbb7+tDRs26KabbpIkzZ8/X23atNFzzz1na/fWW28pODhY33//vW644QZJUkREhBITEyVJ4eHhmj9/vtLS0tS7d+8K+0lOTrarBQCAmqZOnTq6/fbbtXTpUvXs2VOS9N5776lu3bq67bbb5OTkZPdZPW3aNH344Yf66KOPNGbMmMva58V+pleGajWjlpmZqeLiYts/3NlERETYfg4MDJQkHT169Kxtd+zYcd6+JGnmzJl6/fXXtWnTJltIk6SdO3dq3bp18vT0tL3OhMHs7Oyz1nOmpnPVEx8fr4KCAtvr0KFD560NAIDqKDo6Wu+//76Ki4slSUuWLNF9990nJycnFRUVaeLEiWrevLl8fX3l6empzMzMK5pRu9jP9MpQrWbULuZBAGdnZ9vPZ76J+c/XuS+lv1tvvVWrV6/WihUr9NRTT9mWFxUVqX///nr++ecrbHMmIP65njM1naseq9Uqq9V6wZoAAKjO+vfvL8MwtHr1akVGRmrjxo2aPXu2pN+vnKWmpurFF19UkyZN5ObmpnvvvVclJSVn7evMXw/44x+lLy0ttWtzsZ/plaFaBbXw8HC5ubkpLS1NDz/88BX3FxERobS0ND344IPnbNOhQweNGTNGffv2Ve3atTVx4kRJUtu2bfX+++8rNDRUtWtXq2EGAMChXF1dNWjQIC1ZskT79+9X06ZN1bZtW0lSenq6hg8fbnv4r6ioyHb709nUq1dPkpSXl6c2bdpIkt2DBZJjP9Or1aVPV1dXxcXFadKkSVq8eLGys7P11Vdf6c0337ys/hITE/XOO+8oMTFRmZmZ+u67786apm+55RZ98sknSkpK0pw5cyRJo0eP1rFjxzR06FBlZGQoOztba9as0YMPPqiysrIrOUwAAGq86OhorV69Wm+99Zaio6Nty8PDw/XBBx9ox44d2rlzp+6///5zXqmSfr96dvPNNyslJUWZmZnasGGDnnnmGbs2jvxMr3ZTPQkJCapdu7YmT56sw4cPKzAwUKNGjbqsvrp37653331X06ZNU0pKiry9vdW1a9eztu3SpYtWr16tO+64Q7Vq1dLYsWOVnp6uuLg49enTR8XFxWrYsKH69u17Vf5IKwAAleVa/6WAy9GjRw/5+fkpKytL999/v235rFmz9NBDD+mWW25R3bp1FRcXd8FvSXjrrbc0YsQItWvXTk2bNtWMGTPUp08f2/qgoCCHfaZbjD9elEWVUlhYKB8fHwXHrpCT1d3R5QAwoarwgQvHOXXqlA4ePKhGjRrJ1dXV0eVUO+ca3zOf3wUFBfL29j5vH0ztAAAAmBRBDQAAwKSq3T1qNdHupKgLTp0CAICqhxk1AAAAkyKoAQBQw/FcYeW4GuNKUAMAoIaqVauWJJ3zW/txZU6ePCmp4l8huhTcowYAQA1Vu3Ztubu765dffpGzszPf83mVGIahkydP6ujRo/L19bUF4stBUAMAoIayWCwKDAzUwYMH9eOPPzq6nGrH19dXAQEBV9QHQQ0AgBrMxcVF4eHhXP68ypydna9oJu0MghoAADWck5MTf5nApLgYDQAAYFIENQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUAAAATIqgBgAAYFIENQAAAJMiqAEAAJgUf+uzGmiRuEZOVndHlwGgGslJ6efoEgCIGTUAAADTIqgBAACYFEENAADApAhqV5HFYtHKlSsdXQYAAKgmeJjgKsrLy1OdOnUcXQYAAKgmCGpXSUlJiQICAhxdBgAAqEa49HmZunfvrjFjxig2NlZ169ZVVFRUhUufP/30k4YOHSo/Pz95eHioffv22rp1q239qlWr1LZtW7m6uiosLExJSUk6ffq0A44GAACYETNqV2DRokV67LHHlJ6eLklq1qyZbV1RUZG6deumBg0a6KOPPlJAQIC2bdum8vJySdLGjRs1bNgwzZs3T7feequys7M1cuRISVJiYuJZ91dcXKzi4mLb+8LCwso6NAAAYAIEtSsQHh6uGTNmnHXd0qVL9csvvygjI0N+fn6SpCZNmtjWJyUl6amnnlJMTIwkKSwsTNOmTdOkSZPOGdSSk5OVlJR0lY8CAACYFUHtCrRr1+6c63bs2KE2bdrYQtqf7dy5U+np6Zo+fbptWVlZmU6dOqWTJ0/K3b3iXxqIj4/X+PHjbe8LCwsVHBx8BUcAAADMjKB2BTw8PM65zs3N7bzbFhUVKSkpSYMGDaqwztXV9azbWK1WWa3WSysSAABUWQS1ShIREaE33nhDx44dO+usWtu2bZWVlWV3ORQAAOCPeOqzkgwdOlQBAQEaOHCg0tPTdeDAAb3//vvasmWLJGny5MlavHixkpKStGfPHmVmZmrZsmV65plnHFw5AAAwC4JaJXFxcdHnn3+u+vXr64477lDLli2VkpKiWrVqSZKioqL08ccf6/PPP1dkZKRuvvlmzZ49Ww0bNnRw5QAAwCwshmEYji4Cl6ewsFA+Pj4Kjl0hJ2vFhw8A4HLlpPRzdAlAtXXm87ugoEDe3t7nbcuMGgAAgEkR1AAAAEyKpz6rgd1JURecOgUAAFUPM2oAAAAmRVADAAAwKYIaAACASRHUAAAATIqgBgAAYFIENQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUAAAATIqgBgAAYFIENQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwqdqOLgBXrkXiGjlZ3R1dBoAaJCeln6NLAGoEZtQAAABMiqAGAABgUgQ1AAAAk6pRQS00NFRz5syp9P0MHz5cAwcOrPT9AACA6q1GPUyQkZEhDw8PR5cBAABwUWpEUCspKZGLi4vq1avn6FIuimEYKisrU+3aNeKfBwAAnINpL32Wl5drxowZatKkiaxWq0JCQjR9+nRJ0nfffacePXrIzc1N1113nUaOHKmioiLbtmcuPU6fPl1BQUFq2rSppIqXPmfNmqWWLVvKw8NDwcHBevzxx+36WbhwoXx9fbVmzRo1b95cnp6e6tu3r/Ly8mxtysrKNH78ePn6+uq6667TpEmTZBhGhWNJTk5Wo0aN5ObmplatWum9996zrV+/fr0sFos+/fRTtWvXTlarVZs2bbqq4wkAAKoe0wa1+Ph4paSkKCEhQXv37tXSpUvl7++vEydOKCoqSnXq1FFGRobeffddrV27VmPGjLHbPi0tTVlZWUpNTdXHH3981n04OTlp3rx52rNnjxYtWqQvvvhCkyZNsmtz8uRJvfjii3r77bf15ZdfKjc3VxMnTrStnzlzphYuXKi33npLmzZt0rFjx/Thhx/a9ZGcnKzFixfr1Vdf1Z49e/Tkk0/qr3/9qzZs2GDX7qmnnlJKSooyMzMVERFRod7i4mIVFhbavQAAQPVlymtrx48f19y5czV//nzFxMRIkho3bqwuXbro9ddf16lTp7R48WLb/Wbz589X//799fzzz8vf31+S5OHhoTfeeEMuLi7n3E9sbKzt59DQUD377LMaNWqUXn75Zdvy0tJSvfrqq2rcuLEkacyYMZo6dapt/Zw5cxQfH69BgwZJkl599VWtWbPGtr64uFjPPfec1q5dq06dOkmSwsLCtGnTJr322mvq1q2bre3UqVPVu3fvc9abnJyspKSk8w8eAACoNkwZ1DIzM1VcXKyePXuedV2rVq3sHgro3LmzysvLlZWVZQtqLVu2PG9Ik6S1a9cqOTlZ+/btU2FhoU6fPq1Tp07p5MmTcnf//Zv+3d3dbSFNkgIDA3X06FFJUkFBgfLy8tSxY0fb+tq1a6t9+/a2y5/79+/XyZMnKwSwkpIStWnTxm5Z+/btz1tvfHy8xo8fb3tfWFio4ODg824DAACqLlMGNTc3tyvu40JPd+bk5OjOO+/UY489punTp8vPz0+bNm3SiBEjVFJSYgtqzs7OdttZLJYK96Cdz5l73lavXq0GDRrYrbNarZdUs9VqrbANAACovkx5j1p4eLjc3NyUlpZWYV3z5s21c+dOnThxwrYsPT1dTk5OtocGLsa3336r8vJyzZw5UzfffLNuuOEGHT58+JLq9PHxUWBgoLZu3Wpbdvr0aX377be29zfeeKOsVqtyc3PVpEkTuxezYQAA4HxMOaPm6uqquLg4TZo0SS4uLurcubN++eUX7dmzR9HR0UpMTFRMTIymTJmiX375RWPHjtUDDzxgu+x5MZo0aaLS0lK99NJL6t+/v9LT0/Xqq69ecq1PPPGEUlJSFB4ermbNmmnWrFnKz8+3rffy8tLEiRP15JNPqry8XF26dFFBQYHS09Pl7e1tuwcPAADgz0wZ1CQpISFBtWvX1uTJk3X48GEFBgZq1KhRcnd315o1a/TEE08oMjJS7u7uuueeezRr1qxL6r9Vq1aaNWuWnn/+ecXHx6tr165KTk7WsGHDLqmfCRMmKC8vTzExMXJyctJDDz2ku+++WwUFBbY206ZNU7169ZScnKwDBw7I19dXbdu21d///vdL2hcAAKhZLMal3HAFUyksLJSPj4+CY1fIyeru6HIA1CA5Kf0cXQJQZZ35/C4oKJC3t/d525ryHjUAAAAQ1AAAAEzLtPeo4eLtToq64NQpAACoephRAwAAMCmCGgAAgEkR1AAAAEyKoAYAAGBSBDUAAACTIqgBAACYFEENAADApAhqAAAAJkVQAwAAMCmCGgAAgEkR1AAAAEyKoAYAAGBSBDUAAACTIqgBAACYFEENAADApAhqAAAAJkVQAwAAMCmCGgAAgEnVdnQBuHItEtfIyeru6DIA1FA5Kf0cXQJQbTGjBgAAYFIENQAAAJMiqAEAAJhUjQlqU6ZMUevWrc/bZvjw4Ro4cOA1qUeSunfvrtjYWNv70NBQzZkz55rtHwAAmFuVe5hg+PDhys/P18qVKx1dyhX74IMP5Ozs7OgyAACASVW5oFad+Pn5OboEAABgYhd96fOf//yngoKCVF5ebrd8wIABeuihhyRJq1atUtu2beXq6qqwsDAlJSXp9OnTtrb79u1Tly5d5OrqqhtvvFFr166VxWKxmx07dOiQBg8eLF9fX/n5+WnAgAHKycmR9Pvly0WLFmnVqlWyWCyyWCxav369JCkuLk433HCD3N3dFRYWpoSEBJWWllY4jtdee03BwcFyd3fX4MGDVVBQcM5jLi8vV3Jysho1aiQ3Nze1atVK77333sUOmTZs2KAOHTrIarUqMDBQTz31lN14/PnSJwAAwB9ddFD7y1/+ot9++03r1q2zLTt27Jg+++wzRUdHa+PGjRo2bJieeOIJ7d27V6+99poWLlyo6dOnS5LKyso0cOBAubu7a+vWrfrnP/+pp59+2m4fpaWlioqKkpeXlzZu3Kj09HR5enqqb9++Kikp0cSJEzV48GD17dtXeXl5ysvL0y233CJJ8vLy0sKFC7V3717NnTtXr7/+umbPnm3X//79+7VixQr9+9//1meffabt27fr8ccfP+cxJycna/HixXr11Ve1Z88ePfnkk/rrX/+qDRs2XHC8/vOf/+iOO+5QZGSkdu7cqVdeeUVvvvmmnn322Ysd8gqKi4tVWFho9wIAANXXRV/6rFOnjm6//XYtXbpUPXv2lCS99957qlu3rm677Tb16dNHTz31lGJiYiRJYWFhmjZtmiZNmqTExESlpqYqOztb69evV0BAgCRp+vTp6t27t20fy5cvV3l5ud544w1ZLBZJ0oIFC+Tr66v169erT58+cnNzU3Fxsa2PM5555hnbz6GhoZo4caKWLVumSZMm2ZafOnVKixcvVoMGDSRJL730kvr166eZM2dW6K+4uFjPPfec1q5dq06dOtmOadOmTXrttdfUrVu3847Xyy+/rODgYM2fP18Wi0XNmjXT4cOHFRcXp8mTJ8vJ6dKf40hOTlZSUtIlbwcAAKqmS7pHLTo6Wo888ohefvllWa1WLVmyRPfdd5+cnJy0c+dOpaen22bQpN9n0U6dOqWTJ08qKytLwcHBdoGoQ4cOdv3v3LlT+/fvl5eXl93yU6dOKTs7+7y1LV++XPPmzVN2draKiop0+vRpeXt727UJCQmxhTRJ6tSpk8rLy5WVlVUhqO3fv18nT560C5KSVFJSojZt2py3FknKzMxUp06dbIFTkjp37qyioiL99NNPCgkJuWAffxYfH6/x48fb3hcWFio4OPiS+wEAAFXDJQW1/v37yzAMrV69WpGRkdq4caPt8mJRUZGSkpI0aNCgCtu5urpeVP9FRUVq166dlixZUmFdvXr1zrndli1bFB0draSkJEVFRcnHx0fLli3TzJkzL/LIzl6LJK1evdou3EmS1Wq97H6vhNVqddi+AQDAtXdJQc3V1VWDBg3SkiVLtH//fjVt2lRt27aVJLVt21ZZWVlq0qTJWbdt2rSpDh06pCNHjsjf31+SlJGRYdembdu2Wr58uerXr19hNuwMFxcXlZWV2S3bvHmzGjZsaHfP248//lhh29zcXB0+fFhBQUGSpK+++kpOTk5q2rRphbY33nijrFarcnNzL3iZ82yaN2+u999/X4Zh2GbV0tPT5eXlpeuvv/6S+wMAADXPJd8oFR0drdWrV+utt95SdHS0bfnkyZO1ePFiJSUlac+ePcrMzNSyZcts94717t1bjRs3VkxMjHbt2qX09HTbujNBJjo6WnXr1tWAAQO0ceNGHTx4UOvXr9e4ceP0008/Sfr9/rNdu3YpKytLv/76q0pLSxUeHq7c3FwtW7ZM2dnZmjdvnj788MMKtbu6uiomJkY7d+7Uxo0bNW7cOA0ePLjCZU/p94cTJk6cqCeffFKLFi1Sdna2tm3bppdeekmLFi264Dg9/vjjOnTokMaOHat9+/Zp1apVSkxM1Pjx4y/r/jQAAFDzXHJi6NGjh/z8/JSVlaX777/ftjwqKkoff/yxPv/8c0VGRurmm2/W7Nmz1bBhQ0lSrVq1tHLlShUVFSkyMlIPP/ywbQbszKVRd3d3ffnllwoJCdGgQYPUvHlzjRgxQqdOnbLNsD3yyCNq2rSp2rdvr3r16ik9PV133XWXnnzySY0ZM0atW7fW5s2blZCQUKH2Jk2aaNCgQbrjjjvUp08fRURE6OWXXz7nsU6bNk0JCQlKTk5W8+bN1bdvX61evVqNGjW64Dg1aNBAn3zyib7++mu1atVKo0aN0ogRI+weegAAADgfi2EYhqN2np6eri5dumj//v1q3Lixo8qosgoLC+Xj46Pg2BVysro7uhwANVROSj9HlwBUKWc+vwsKCs55q9cZ1/QvE3z44Yfy9PRUeHi49u/fryeeeEKdO3cmpAEAAJzFNb1Z6vjx4xo9erSaNWum4cOHKzIyUqtWrbqWJVw1o0aNkqen51lfo0aNcnR5AACgGnDopc+q7OjRo+f8ywDe3t6qX79+pddwKVOnAADAHEx76bM6qV+//jUJYwAAoObieyIAAABMiqAGAABgUgQ1AAAAkyKoAQAAmBRBDQAAwKQIagAAACZFUAMAADApghoAAIBJEdQAAABMiqAGAABgUgQ1AAAAkyKoAQAAmBRBDQAAwKQIagAAACZFUAMAADApghoAAIBJEdQAAABMqrajC8CVa5G4Rk5Wd0eXAQCXJCeln6NLAEyPGTUAAACTIqgBAACYFEENAADApAhqAAAAJkVQMwmLxaKVK1c6ugwAAGAiBDUAAACTqhZBrby8XDNmzFCTJk1ktVoVEhKi6dOnS5K+++479ejRQ25ubrruuus0cuRIFRUV2W3/1ltv6aabbpLValVgYKDGjBljW5ebm6sBAwbI09NT3t7eGjx4sI4cOWJbP2XKFLVu3Vpvv/22QkND5ePjo/vuu0/Hjx+3tQkNDdWcOXPs9tm6dWtNmTLFtl6S7r77blksFtt7AABQs1WLoBYfH6+UlBQlJCRo7969Wrp0qfz9/XXixAlFRUWpTp06ysjI0Lvvvqu1a9faBbFXXnlFo0eP1siRI/Xdd9/po48+UpMmTST9HgAHDBigY8eOacOGDUpNTdWBAwc0ZMgQu/1nZ2dr5cqV+vjjj/Xxxx9rw4YNSklJuej6MzIyJEkLFixQXl6e7f2fFRcXq7Cw0O4FAACqryr/hbfHjx/X3LlzNX/+fMXExEiSGjdurC5duuj111/XqVOntHjxYnl4eEiS5s+fr/79++v555+Xv7+/nn32WU2YMEFPPPGErc/IyEhJUlpamr777jsdPHhQwcHBkqTFixfrpptuUkZGhq1deXm5Fi5cKC8vL0nSAw88oLS0NNus3oXUq1dPkuTr66uAgIBztktOTlZSUtKlDA8AAKjCqvyMWmZmpoqLi9WzZ8+zrmvVqpUtpElS586dVV5erqysLB09elSHDx8+67Zntg8ODraFNEm68cYb5evrq8zMTNuy0NBQW0iTpMDAQB09evRqHJ6d+Ph4FRQU2F6HDh266vsAAADmUeVn1Nzc3Byy7R85OzvbvbdYLCovL7e9d3JykmEYdm1KS0sveT9Wq1VWq/XyigQAAFVOlZ9RCw8Pl5ubm9LS0iqsa968uXbu3KkTJ07YlqWnp8vJyUlNmzaVl5eXQkNDz7rtme0PHTpkN3O1d+9e5efn68Ybb7zoGuvVq6e8vDzb+8LCQh08eNCujbOzs8rKyi66TwAAUP1V+aDm6uqquLg4TZo0SYsXL1Z2dra++uorvfnmm4qOjparq6tiYmK0e/durVu3TmPHjtUDDzwgf39/Sb8/tTlz5kzNmzdPP/zwg7Zt26aXXnpJktSrVy+1bNlS0dHR2rZtm77++msNGzZM3bp1U/v27S+6xh49eujtt9/Wxo0b9d133ykmJka1atWya3MmMP7888/673//e/UGCAAAVFlVPqhJUkJCgiZMmKDJkyerefPmGjJkiI4ePSp3d3etWbNGx44dU2RkpO6991717NlT8+fPt20bExOjOXPm6OWXX9ZNN92kO++8Uz/88IOk3y9hrlq1SnXq1FHXrl3Vq1cvhYWFafny5ZdUX3x8vLp166Y777xT/fr108CBA9W4cWO7NjNnzlRqaqqCg4PVpk2bKx8UAABQ5VmMP988hSqjsLBQPj4+Co5dISeru6PLAYBLkpPSz9ElAA5x5vO7oKBA3t7e521bLWbUAAAAqiOCGgAAgElV+a/ngLQ7KeqCU6cAAKDqYUYNAADApAhqAAAAJkVQAwAAMCmCGgAAgEkR1AAAAEyKoAYAAGBSBDUAAACTIqgBAACYFEENAADApAhqAAAAJkVQAwAAMCmCGgAAgEkR1AAAAEyKoAYAAGBSBDUAAACTIqgBAACYFEENAADApAhqAAAAJlXb0QXgyrVIXCMnq7ujywCAqyonpZ+jSwAcjhk1AAAAkyKoAQAAmBRBDQAAwKQIan8SGhqqOXPmOLoMAAAAHib4s4yMDHl4eDi6DAAAAILan9WrV8/RJUiSSkpK5OLi4ugyAACAA9W4S5/Hjx9XdHS0PDw8FBgYqNmzZ6t79+6KjY2VVPHSp8Vi0RtvvKG7775b7u7uCg8P10cffWTX50cffaTw8HC5urrqtttu06JFi2SxWJSfn29rs2nTJt16661yc3NTcHCwxo0bpxMnTtjWh4aGatq0aRo2bJi8vb01cuTIyhwGAABQBdS4oDZ+/Hilp6fro48+UmpqqjZu3Kht27add5ukpCQNHjxYu3bt0h133KHo6GgdO3ZMknTw4EHde++9GjhwoHbu3KlHH31UTz/9tN322dnZ6tu3r+655x7t2rVLy5cv16ZNmzRmzBi7di+++KJatWql7du3KyEhoUIdxcXFKiwstHsBAIDqq0YFtePHj2vRokV68cUX1bNnT7Vo0UILFixQWVnZebcbPny4hg4dqiZNmui5555TUVGRvv76a0nSa6+9pqZNm+qFF15Q06ZNdd9992n48OF22ycnJys6OlqxsbEKDw/XLbfconnz5mnx4sU6deqUrV2PHj00YcIENW7cWI0bN65QR3Jysnx8fGyv4ODgKx8UAABgWjUqqB04cEClpaXq0KGDbZmPj4+aNm163u0iIiJsP3t4eMjb21tHjx6VJGVlZSkyMtKu/R/7l6SdO3dq4cKF8vT0tL2ioqJUXl6ugwcP2tq1b9/+vHXEx8eroKDA9jp06ND5DxgAAFRpPExwEZydne3eWywWlZeXX/T2RUVFevTRRzVu3LgK60JCQmw/X+hpU6vVKqvVetH7BQAAVVuNCmphYWFydnZWRkaGLSAVFBTo+++/V9euXS+rz6ZNm+qTTz6xW5aRkWH3vm3bttq7d6+aNGlyeYUDAIAaqUZd+vTy8lJMTIz+9re/ad26ddqzZ49GjBghJycnWSyWy+rz0Ucf1b59+xQXF6fvv/9eK1as0MKFCyXJ1mdcXJw2b96sMWPGaMeOHfrhhx+0atWqCg8TAAAA/FGNCmqSNGvWLHXq1El33nmnevXqpc6dO6t58+ZydXW9rP4aNWqk9957Tx988IEiIiL0yiuv2J76PHOZMiIiQhs2bND333+vW2+9VW3atNHkyZMVFBR01Y4LAABUPxbDMAxHF+FIJ06cUIMGDTRz5kyNGDHiqvQ5ffp0vfrqq5V+s39hYeHvT3/GrpCT1b1S9wUA11pOSj9HlwBUijOf3wUFBfL29j5v2xp1j5okbd++Xfv27VOHDh1UUFCgqVOnSpIGDBhw2X2+/PLLioyM1HXXXaf09HS98MILXNYEAABXrMYFNen3L5bNysqSi4uL2rVrp40bN6pu3bqX3d8PP/ygZ599VseOHVNISIgmTJig+Pj4q1gxAACoiWr8pc+q7FKmTgEAgDlcyud3jXuYAAAAoKogqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUAAAATIqgBgAAYFIENQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUAAAATIqgBgAAYFIENQAAAJMiqAEAAJhUbUcXgCvXInGNnKzuji4DAEwrJ6Wfo0sALgszagAAACZFUAMAADApghoAAIBJ1ZiglpOTI4vFoh07dkiS1q9fL4vFovz8fIfWBQAAcC41JqgFBwcrLy9PLVq0qNT9WCwWrVy5slL3AQAAaoYaE9Rq1aqlgIAA1a7t+AddS0pKHF0CAACoAqpdUCsvL9eMGTPUpEkTWa1WhYSEaPr06RUuff7Zb7/9pqFDh6pBgwZyd3dXy5Yt9c4779i16d69u8aNG6dJkybJz89PAQEBmjJlim19aGioJOnuu++WxWKxvZ8yZYpat26tN954Q40aNZKrq6skKTc3VwMGDJCnp6e8vb01ePBgHTly5GoPCQAAqKKqXVCLj49XSkqKEhIStHfvXi1dulT+/v4X3O7UqVNq166dVq9erd27d2vkyJF64IEH9PXXX9u1W7RokTw8PLR161bNmDFDU6dOVWpqqiQpIyNDkrRgwQLl5eXZ3kvS/v379f777+uDDz7Qjh07VF5ergEDBujYsWPasGGDUlNTdeDAAQ0ZMuScNRYXF6uwsNDuBQAAqi/HXwe8io4fP665c+dq/vz5iomJkSQ1btxYXbp0UU5Oznm3bdCggSZOnGh7P3bsWK1Zs0YrVqxQhw4dbMsjIiKUmJgoSQoPD9f8+fOVlpam3r17q169epIkX19fBQQE2PVfUlKixYsX29qkpqbqu+++08GDBxUcHCxJWrx4sW666SZlZGQoMjKyQo3JyclKSkq6xFEBAABVVbWaUcvMzFRxcbF69ux5yduWlZVp2rRpatmypfz8/OTp6ak1a9YoNzfXrl1ERITd+8DAQB09evSC/Tds2NAW0s7UGhwcbAtpknTjjTfK19dXmZmZZ+0jPj5eBQUFttehQ4cu5RABAEAVU61m1Nzc3C572xdeeEFz587VnDlz1LJlS3l4eCg2NrbCjf/Ozs527y0Wi8rLyy/Yv4eHx2XXdobVapXVar3ifgAAQNVQrWbUwsPD5ebmprS0tEveNj09XQMGDNBf//pXtWrVSmFhYfr+++8vuR9nZ2eVlZVdsF3z5s116NAhu1mxvXv3Kj8/XzfeeOMl7xcAAFQ/1Sqoubq6Ki4uTpMmTdLixYuVnZ2tr776Sm+++eYFtw0PD1dqaqo2b96szMxMPfroo5f1BGZoaKjS0tL0888/67///e852/Xq1UstW7ZUdHS0tm3bpq+//lrDhg1Tt27d1L59+0veLwAAqH6qVVCTpISEBE2YMEGTJ09W8+bNNWTIkIu6h+yZZ55R27ZtFRUVpe7duysgIEADBw685P3PnDlTqampCg4OVps2bc7ZzmKxaNWqVapTp466du2qXr16KSwsTMuXL7/kfQIAgOrJYhiG4egicHkKCwvl4+Oj4NgVcrK6O7ocADCtnJR+ji4BsDnz+V1QUCBvb+/ztq12M2oAAADVBUENAADApKrV13PUVLuToi44dQoAAKoeZtQAAABMiqAGAABgUgQ1AAAAkyKoAQAAmBRBDQAAwKQIagAAACZFUAMAADApghoAAIBJEdQAAABMiqAGAABgUgQ1AAAAkyKoAQAAmBRBDQAAwKQIagAAACZFUAMAADApghoAAIBJEdQAAABMiqAGAABgUrUdXQCuXIvENXKyuju6DADAFchJ6efoEmBCzKgBAACYFEENAADApAhqAAAAJkVQAwAAMCmCGgAAgEkR1AAAAEyqSga18vJyzZgxQ02aNJHValVISIimT58uSYqLi9MNN9wgd3d3hYWFKSEhQaWlpZKknJwcOTk56ZtvvrHrb86cOWrYsKHKy8slSbt379btt98uT09P+fv764EHHtCvv/5qa9+9e3eNGzdOkyZNkp+fnwICAjRlyhS7Pi0Wi9544w3dfffdcnd3V3h4uD766CO7NhfaDwAAqNmqZFCLj49XSkqKEhIStHfvXi1dulT+/v6SJC8vLy1cuFB79+7V3Llz9frrr2v27NmSpNDQUPXq1UsLFiyw62/BggUaPny4nJyclJ+frx49eqhNmzb65ptv9Nlnn+nIkSMaPHiw3TaLFi2Sh4eHtm7dqhkzZmjq1KlKTU21a5OUlKTBgwdr165duuOOOxQdHa1jx45J0kXv54+Ki4tVWFho9wIAANWXxTAMw9FFXIrjx4+rXr16mj9/vh5++OELtn/xxRe1bNky2yzaihUrNGrUKOXl5clqtWrbtm1q3769Dhw4oNDQUD377LPauHGj1qxZY+vjp59+UnBwsLKysnTDDTeoe/fuKisr08aNG21tOnTooB49eiglJUXS7zNqzzzzjKZNmyZJOnHihDw9PfXpp5+qb9++F7WfP5syZYqSkpIqLA+OXcEX3gJAFccX3tYchYWF8vHxUUFBgby9vc/btsrNqGVmZqq4uFg9e/Y86/rly5erc+fOCggIkKenp5555hnl5uba1g8cOFC1atXShx9+KElauHChbrvtNoWGhkqSdu7cqXXr1snT09P2atasmSQpOzvb1k9ERITdfgMDA3X06FG7ZX9s4+HhIW9vb1ubi93PH8XHx6ugoMD2OnTo0AXHCwAAVF1V7k9Iubm5nXPdli1bFB0draSkJEVFRcnHx0fLli3TzJkzbW1cXFw0bNgwLViwQIMGDdLSpUs1d+5c2/qioiL1799fzz//fIX+AwMDbT87OzvbrbNYLLZ73C6mzcXu54+sVqusVuu5Dh8AAFQzVS6ohYeHy83NTWlpaRUufW7evFkNGzbU008/bVv2448/Vujj4YcfVosWLfTyyy/r9OnTGjRokG1d27Zt9f777ys0NFS1a1fe8Fyr/QAAgKqryl36dHV1VVxcnCZNmqTFixcrOztbX331ld58802Fh4crNzdXy5YtU3Z2tubNm2e7xPlHzZs3180336y4uDgNHTrUbpZu9OjROnbsmIYOHaqMjAxlZ2drzZo1evDBB1VWVnbVjuNa7QcAAFRdVS6oSVJCQoImTJigyZMnq3nz5hoyZIiOHj2qu+66S08++aTGjBmj1q1ba/PmzUpISDhrHyNGjFBJSYkeeughu+VBQUFKT09XWVmZ+vTpo5YtWyo2Nla+vr5ycrp6w3Wt9gMAAKquKvfU59Uybdo0vfvuu9q1a5ejS7lsZ54a4alPAKj6eOqz5qjWT31eqaKiIu3evVvz58/X2LFjHV0OAADAOdW4oDZmzBi1a9dO3bt3r3DZEwAAwExq7KXP6uBSpk4BAIA5cOkTAACgGiCoAQAAmBRBDQAAwKQIagAAACZFUAMAADApghoAAIBJEdQAAABMiqAGAABgUgQ1AAAAkyKoAQAAmBRBDQAAwKQIagAAACZFUAMAADApghoAAIBJEdQAAABMiqAGAABgUgQ1AAAAkyKoAQAAmFRtRxeAK9cicY2crO6OLgMAUAPlpPRzdAnVGjNqAAAAJkVQAwAAMCmCGgAAgEkR1K6AYRgaOXKk/Pz8ZLFY5Ovrq9jY2Ivatnv37hfdFgAA1Ew8THAFPvvsMy1cuFDr169XWFiYnJyc5Obm5uiyAABANUFQuwLZ2dkKDAzULbfc4uhSAABANcSlz8s0fPhwjR07Vrm5ubJYLAoNDa1wOfPll19WeHi4XF1d5e/vr3vvvdeuj/Lyck2aNEl+fn4KCAjQlClTru1BAAAAUyOoXaa5c+dq6tSpuv7665WXl6eMjAy79d98843GjRunqVOnKisrS5999pm6du1q12bRokXy8PDQ1q1bNWPGDE2dOlWpqann3GdxcbEKCwvtXgAAoPri0udl8vHxkZeXl2rVqqWAgIAK63Nzc+Xh4aE777xTXl5eatiwodq0aWPXJiIiQomJiZKk8PBwzZ8/X2lpaerdu/dZ95mcnKykpKSrfzAAAMCUmFGrJL1791bDhg0VFhamBx54QEuWLNHJkyft2kRERNi9DwwM1NGjR8/ZZ3x8vAoKCmyvQ4cOVUrtAADAHAhqlcTLy0vbtm3TO++8o8DAQE2ePFmtWrVSfn6+rY2zs7PdNhaLReXl5efs02q1ytvb2+4FAACqL4JaJapdu7Z69eqlGTNmaNeuXcrJydEXX3zh6LIAAEAVwT1qleTjjz/WgQMH1LVrV9WpU0effPKJysvL1bRpU0eXBgAAqgiCWiXx9fXVBx98oClTpujUqVMKDw/XO++8o5tuusnRpQEAgCrCYhiG4egicHkKCwvl4+Oj4NgVcrK6O7ocAEANlJPSz9ElVDlnPr8LCgoueL8596gBAACYFEENAADApLhHrRrYnRTFV3UAAFANMaMGAABgUgQ1AAAAkyKoAQAAmBRBDQAAwKQIagAAACZFUAMAADApghoAAIBJEdQAAABMiqAGAABgUgQ1AAAAkyKoAQAAmBRBDQAAwKQIagAAACZFUAMAADApghoAAIBJEdQAAABMiqAGAABgUgQ1AAAAk6rt6AJw5VokrpGT1d3RZQAAUK3kpPRzdAnMqAEAAJgVQQ0AAMCkCGoAAAAmRVCrZFOmTFHr1q1t74cPH66BAwc6rB4AAFB18DDBNTZ37lwZhuHoMgAAQBVAUKskhmGorKyswnIfHx8HVAMAAKoiLn3+n+PHjys6OloeHh4KDAzU7Nmz1b17d8XGxkqS3n77bbVv315eXl4KCAjQ/fffr6NHj9q2X79+vSwWiz799FO1a9dOVqtVmzZtqrCfP1/6LC8v14wZM9SkSRNZrVaFhIRo+vTplX24AACgCiCo/Z/x48crPT1dH330kVJTU7Vx40Zt27bNtr60tFTTpk3Tzp07tXLlSuXk5Gj48OEV+nnqqaeUkpKizMxMRUREXHC/8fHxSklJUUJCgvbu3aulS5fK39//rG2Li4tVWFho9wIAANUXlz71+2zaokWLtHTpUvXs2VOStGDBAgUFBdnaPPTQQ7afw8LCNG/ePEVGRqqoqEienp62dVOnTlXv3r0ver9z587V/PnzFRMTI0lq3LixunTpctb2ycnJSkpKuuTjAwAAVRMzapIOHDig0tJSdejQwbbMx8dHTZs2tb3/9ttv1b9/f4WEhMjLy0vdunWTJOXm5tr11b59+4veb2ZmpoqLi23h8ELi4+NVUFBgex06dOii9wUAAKoeZtQuwokTJxQVFaWoqCgtWbJE9erVU25urqKiolRSUmLX1sPD46L7dXNzu6Q6rFarrFbrJW0DAACqLmbU9PulTGdnZ2VkZNiWFRQU6Pvvv5ck7du3T7/99ptSUlJ06623qlmzZnYPElyu8PBwubm5KS0t7Yr7AgAA1Q8zapK8vLwUExOjv/3tb/Lz81P9+vWVmJgoJycnWSwWhYSEyMXFRS+99JJGjRql3bt3a9q0aVe8X1dXV8XFxWnSpElycXFR586d9csvv2jPnj0aMWLEVTgyAABQlTGj9n9mzZqlTp066c4771SvXr3UuXNnNW/eXK6urqpXr54WLlyod999VzfeeKNSUlL04osvXpX9JiQkaMKECZo8ebKaN2+uIUOGXJXZOgAAUPVZDL4m/6xOnDihBg0aaObMmaad3SosLJSPj4+CY1fIyeru6HIAAKhWclL6VUq/Zz6/CwoK5O3tfd62XPr8P9u3b9e+ffvUoUMHFRQUaOrUqZKkAQMGOLgyAABQUxHU/uDFF19UVlaWXFxc1K5dO23cuFF169Z1dFkAAKCG4tJnFXYpU6cAAMAcLuXzm4cJAAAATIqgBgAAYFIENQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKb7wtgo78xV4hYWFDq4EAABcrDOf2xfzVbYEtSrst99+kyQFBwc7uBIAAHCpjh8/Lh8fn/O2IahVYX5+fpKk3NzcC/5D1xSFhYUKDg7WoUOH+GsNYjz+jPGoiDGxx3jYYzzsXa3xMAxDx48fV1BQ0AXbEtSqMCen328x9PHx4RfoT7y9vRmTP2A87DEeFTEm9hgPe4yHvasxHhc7wcLDBAAAACZFUAMAADApgloVZrValZiYKKvV6uhSTIMxscd42GM8KmJM7DEe9hgPe44YD4txMc+GAgAA4JpjRg0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUqrB//OMfCg0Nlaurqzp27Kivv/7a0SVdE8nJyYqMjJSXl5fq16+vgQMHKisry65N9+7dZbFY7F6jRo1yUMWVa8qUKRWOtVmzZrb1p06d0ujRo3XdddfJ09NT99xzj44cOeLAiitfaGhohTGxWCwaPXq0pOp/fnz55Zfq37+/goKCZLFYtHLlSrv1hmFo8uTJCgwMlJubm3r16qUffvjBrs2xY8cUHR0tb29v+fr6asSIESoqKrqGR3H1nG88SktLFRcXp5YtW8rDw0NBQUEaNmyYDh8+bNfH2c6plJSUa3wkV8eFzo/hw4dXONa+ffvatalO54d04TE52/8nFotFL7zwgq1NZZ0jBLUqavny5Ro/frwSExO1bds2tWrVSlFRUTp69KijS6t0GzZs0OjRo/XVV18pNTVVpaWl6tOnj06cOGHX7pFHHlFeXp7tNWPGDAdVXPluuukmu2PdtGmTbd2TTz6pf//733r33Xe1YcMGHT58WIMGDXJgtZUvIyPDbjxSU1MlSX/5y19sbarz+XHixAm1atVK//jHP866fsaMGZo3b55effVVbd26VR4eHoqKitKpU6dsbaKjo7Vnzx6lpqbq448/1pdffqmRI0deq0O4qs43HidPntS2bduUkJCgbdu26YMPPlBWVpbuuuuuCm2nTp1qd86MHTv2WpR/1V3o/JCkvn372h3rO++8Y7e+Op0f0oXH5I9jkZeXp7feeksWi0X33HOPXbtKOUcMVEkdOnQwRo8ebXtfVlZmBAUFGcnJyQ6syjGOHj1qSDI2bNhgW9atWzfjiSeecFxR11BiYqLRqlWrs67Lz883nJ2djXfffde2LDMz05BkbNmy5RpV6HhPPPGE0bhxY6O8vNwwjJp1fkgyPvzwQ9v78vJyIyAgwHjhhRdsy/Lz8w2r1Wq88847hmEYxt69ew1JRkZGhq3Np59+algsFuM///nPNau9Mvx5PM7m66+/NiQZP/74o21Zw4YNjdmzZ1ducQ5wtvGIiYkxBgwYcM5tqvP5YRgXd44MGDDA6NGjh92yyjpHmFGrgkpKSvTtt9+qV69etmVOTk7q1auXtmzZ4sDKHKOgoEDS//8j9WcsWbJEdevWVYsWLRQfH6+TJ086orxr4ocfflBQUJDCwsIUHR2t3NxcSdK3336r0tJSu3OlWbNmCgkJqTHnSklJif71r3/poYceksVisS2vSefHHx08eFA///yz3Tnh4+Ojjh072s6JLVu2yNfXV+3bt7e16dWrl5ycnLR169ZrXvO1VlBQIIvFIl9fX7vlKSkpuu6669SmTRu98MILOn36tGMKvAbWr1+v+vXrq2nTpnrsscf022+/2dbV9PPjyJEjWr16tUaMGFFhXWWcI/xR9iro119/VVlZmfz9/e2W+/v7a9++fQ6qyjHKy8sVGxurzp07q0WLFrbl999/vxo2bKigoCDt2rVLcXFxysrK0gcffODAaitHx44dtXDhQjVt2lR5eXlKSkrSrbfeqt27d+vnn3+Wi4tLhQ8cf39//fzzz44p+BpbuXKl8vPzNXz4cNuymnR+/NmZf/ez/f9xZt3PP/+s+vXr262vXbu2/Pz8qv15c+rUKcXFxWno0KF2f3R73Lhxatu2rfz8/LR582bFx8crLy9Ps2bNcmC1laNv374aNGiQGjVqpOzsbP3973/X7bffri1btqhWrVo1+vyQpEWLFsnLy6vCLSSVdY4Q1FCljR49Wrt377a7J0uS3b0SLVu2VGBgoHr27Kns7Gw1btz4WpdZqW6//XbbzxEREerYsaMaNmyoFStWyM3NzYGVmcObb76p22+/XUFBQbZlNen8wMUrLS3V4MGDZRiGXnnlFbt148ePt/0cEREhFxcXPfroo0pOTq52f17pvvvus/3csmVLRUREqHHjxlq/fr169uzpwMrM4a233lJ0dLRcXV3tllfWOcKlzyqobt26qlWrVoUn944cOaKAgAAHVXXtjRkzRh9//LHWrVun66+//rxtO3bsKEnav3//tSjNoXx9fXXDDTdo//79CggIUElJifLz8+3a1JRz5ccff9TatWv18MMPn7ddTTo/zvy7n+//j4CAgAoPJp0+fVrHjh2rtufNmZD2448/KjU11W427Ww6duyo06dPKycn59oU6EBhYWGqW7eu7fejJp4fZ2zcuFFZWVkX/D9FunrnCEGtCnJxcVG7du2UlpZmW1ZeXq60tDR16tTJgZVdG4ZhaMyYMfrwww/1xRdfqFGjRhfcZseOHZKkwMDASq7O8YqKipSdna3AwEC1a9dOzs7OdudKVlaWcnNza8S5smDBAtWvX1/9+vU7b7uadH40atRIAQEBdudEYWGhtm7dajsnOnXqpPz8fH377be2Nl988YXKy8ttobY6ORPSfvjhB61du1bXXXfdBbfZsWOHnJycKlwCrI5++ukn/fbbb7bfj5p2fvzRm2++qXbt2qlVq1YXbHvVzpGr/ngCrolly5YZVqvVWLhwobF3715j5MiRhq+vr/Hzzz87urRK99hjjxk+Pj7G+vXrjby8PNvr5MmThmEYxv79+42pU6ca33zzjXHw4EFj1apVRlhYmNG1a1cHV145JkyYYKxfv944ePCgkZ6ebvTq1cuoW7eucfToUcMwDGPUqFFGSEiI8cUXXxjffPON0alTJ6NTp04OrrrylZWVGSEhIUZcXJzd8ppwfhw/ftzYvn27sX37dkOSMWvWLGP79u22pxhTUlIMX19fY9WqVcauXbuMAQMGGI0aNTL+97//2fro27ev0aZNG2Pr1q3Gpk2bjPDwcGPo0KGOOqQrcr7xKCkpMe666y7j+uuvN3bs2GH3f0pxcbFhGIaxefNmY/bs2caOHTuM7Oxs41//+pdRr149Y9iwYQ4+sstzvvE4fvy4MXHiRGPLli3GwYMHjbVr1xpt27Y1wsPDjVOnTtn6qE7nh2Fc+HfGMAyjoKDAcHd3N1555ZUK21fmOUJQq8JeeuklIyQkxHBxcTE6dOhgfPXVV44u6ZqQdNbXggULDMMwjNzcXKNr166Gn5+fYbVajSZNmhh/+9vfjIKCAscWXkmGDBliBAYGGi4uLkaDBg2MIUOGGPv377et/9///mc8/vjjRp06dQx3d3fj7rvvNvLy8hxY8bWxZs0aQ5KRlZVlt7wmnB/r1q076+9ITEyMYRi/f0VHQkKC4e/vb1itVqNnz54Vxum3334zhg4danh6ehre3t7Ggw8+aBw/ftwBR3PlzjceBw8ePOf/KevWrTMMwzC+/fZbo2PHjoaPj4/h6upqNG/e3HjuuefsgktVcr7xOHnypNGnTx+jXr16hrOzs9GwYUPjkUceqTAJUJ3OD8O48O+MYRjGa6+9Zri5uRn5+fkVtq/Mc8RiGIZxZXNyAAAAqAzcowYAAGBSBDUAAACTIqgBAACYFEENAADApAhqAAAAJkVQAwAAMCmCGgAAgEkR1AAAAEyKoAYAAGBSBDUAAACTIqgBAACYFEENAADApP4fcktX1RY4fokAAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "thai_ingredient_df = create_ingredient_df(thai_df)\n",
+ "thai_ingredient_df.head(10).plot.barh()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmoAAAGdCAYAAACirV9DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABBn0lEQVR4nO3df3xP9f//8ftr2Gu/N79t2ubXGmJjjCQ/8msk+VFEE96oFIkorRIjbW/5UZSUd0KRSpI3pUamWdKKUWKxrCmKyH7Y27bsfP/w8fr2asyv8Tp77Xa9XF6Xy17nPM/zPM7Zudjd85zn62UxDMMQAAAATMfF0QUAAADg/AhqAAAAJkVQAwAAMCmCGgAAgEkR1AAAAEyKoAYAAGBSBDUAAACTIqgBAACYVEVHF4ArV1RUpMOHD8vb21sWi8XR5QAAgEtgGIZycnIUEBAgF5eSx8wIamXY4cOHFRgY6OgyAADAFTh06JBuuOGGEtsQ1Mowb29vSWd/0T4+Pg6uBgAAXIrs7GwFBgba/o6XhKBWhp273enj40NQAwCgjLmUx5aYTAAAAGBSBDUAAACTIqgBAACYFM+oAQBQzp05c0aFhYWOLsOpVKhQQRUrVrzqj88iqAEAUI7l5ubql19+kWEYji7F6Xh4eMjf31+urq5X3AdBDQCAcurMmTP65Zdf5OHhoerVq/Ph6aXEMAwVFBTo2LFjOnjwoEJCQi76wbYXQlBzAk2mfCoXq4ejywDsZMT3dHQJAC6isLBQhmGoevXqcnd3d3Q5TsXd3V2VKlXSzz//rIKCArm5uV1RP0wmAACgnGMk7dq40lE0uz5KoQ4AAABcAwQ1AAAAk+IZtVKyZMkSjRs3TidPnnR0KQAAXJU6T66/rvu73s+01qlTR+PGjdO4ceOu636vBCNqpeSee+7Rjz/+6OgyAACAE2FErZS4u7szYwYAAJQqRtRKsG7dOvn5+enMmTOSpNTUVFksFj355JO2NiNHjtTgwYO1ZMkS+fn52ZZPnTpVzZo101tvvaU6derI19dXAwcOVE5Ojq1NUVGR4uLiVLduXbm7uys8PFyrVq26bscHAEBZ8/rrrysgIEBFRUV2y3v37q3hw4crPT1dvXv3Vs2aNeXl5aXIyEht3Ljxgv1lZGTIYrEoNTXVtuzkyZOyWCxKTEy0Lfv+++/Vo0cPeXl5qWbNmrrvvvv0xx9/lPbhFUNQK0G7du2Uk5OjnTt3SpK2bNmiatWq2f3itmzZoo4dO553+/T0dK1Zs0br1q3TunXrtGXLFsXHx9vWx8XFadmyZVq4cKH27Nmj8ePHa/DgwdqyZct5+8vPz1d2drbdCwCA8qR///46fvy4Nm/ebFt24sQJbdiwQdHR0crNzdXtt9+uTZs2aefOnerevbt69eqlzMzMK97nyZMn1alTJzVv3lzffPONNmzYoN9//10DBgwojUMqEUGtBL6+vmrWrJktmCUmJmr8+PHauXOncnNz9euvv+rAgQPq0KHDebcvKirSkiVL1KRJE7Vr10733XefNm3aJOls6Hr++ee1ePFiRUVFqV69eho2bJgGDx6s11577bz9xcXFydfX1/YKDAy8JscNAIBZVa5cWT169NCKFStsy1atWqVq1arptttuU3h4uB588EE1adJEISEhmj59uurXr6+1a9de8T5ffvllNW/eXM8//7waNmyo5s2ba/Hixdq8efM1fz6doHYRHTp0UGJiogzDUFJSkvr166dGjRpp69at2rJliwICAhQSEnLebevUqSNvb2/be39/fx09elSSdODAAeXl5alr167y8vKyvZYtW6b09PTz9hcTE6OsrCzb69ChQ6V/wAAAmFx0dLQ++OAD5efnS5KWL1+ugQMHysXFRbm5uZo4caIaNWokPz8/eXl5ae/evVc1orZr1y5t3rzZ7u91w4YNJemCf7NLC5MJLqJjx45avHixdu3apUqVKqlhw4bq2LGjEhMT9eeff15wNE2SKlWqZPfeYrHY7qnn5uZKktavX6/atWvbtbNareftz2q1XnAdAADlRa9evWQYhtavX6/IyEglJSVp7ty5kqSJEycqISFBs2bNUoMGDeTu7q67775bBQUF5+3r3LcH/P1L6QsLC+3a5ObmqlevXvr3v/9dbHt/f//SOqzzIqhdxLnn1ObOnWsLZR07dlR8fLz+/PNPTZgw4Yr6bdy4saxWqzIzM0sMewAAwJ6bm5v69eun5cuX68CBAwoNDVVERIQkKTk5WcOGDVPfvn0lnQ1ZGRkZF+yrevXqkqQjR46oefPmkmQ3sUCSIiIi9MEHH6hOnTqqWPH6RidufV5E5cqVFRYWpuXLl9smDbRv3147duzQjz/+eMUhy9vbWxMnTtT48eO1dOlSpaena8eOHZo/f76WLl1aikcAAIDziY6O1vr167V48WJFR0fbloeEhGj16tVKTU3Vrl27dO+99xabIfp37u7uuvnmmxUfH6+9e/dqy5YteuaZZ+zajB49WidOnNCgQYOUkpKi9PR0ffrpp/rXv/5l+2SIa4URtUvQoUMHpaam2oJalSpV1LhxY/3+++8KDQ294n6nT5+u6tWrKy4uTj/99JP8/PwUERGhp556qpQqBwDg8l3vbwq4Ep06dVKVKlWUlpame++917Z8zpw5Gj58uG655RZVq1ZNkyZNuuinJCxevFgjRoxQixYtFBoaqpkzZ6pbt2629QEBAUpOTtakSZPUrVs35efnKzg4WN27dy+VL14vicX4+01ZlCnZ2dlnZ3+Oe08uVg9HlwPYKQv/0APl3enTp3Xw4EHVrVtXbm5uji7H6Vzo/J77+52VlSUfH58S++DWJwAAgEkR1AAAAEyKZ9ScwPexURcdOgUAAGUPI2oAAAAmRVADAKCcY17htVEa55WgBgBAOVWhQgVJuuCn9uPq5OXlSSr+TUWXg2fUAAAopypWrCgPDw8dO3ZMlSpVuuafCVZeGIahvLw8HT16VH5+frZAfCUIagAAlFMWi0X+/v46ePCgfv75Z0eX43T8/PxUq1atq+qDoAYAQDnm6uqqkJAQbn+WskqVKl3VSNo5BDUAAMo5FxcXvpnApLgZDQAAYFIENQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUAAAATIqgBgAAYFIENQAAAJMiqAEAAJgU3/XpBJpM+VQuVg9HlwFcExnxPR1dAgA4DCNqAAAAJkVQAwAAMCmCGgAAgEkR1K6xqVOnqlmzZrb3w4YNU58+fRxWDwAAKDuYTHCdvfTSSzIMw9FlAACAMoCgdo0YhqEzZ84UW+7r6+uAagAAQFnErc//k5OTo+joaHl6esrf319z585Vx44dNW7cOEnSW2+9pZYtW8rb21u1atXSvffeq6NHj9q2T0xMlMVi0SeffKIWLVrIarVq69atxfbzz1ufRUVFmjlzpho0aCCr1aqgoCDNmDHjWh8uAAAoAwhq/+exxx5TcnKy1q5dq4SEBCUlJWnHjh229YWFhZo+fbp27dqlNWvWKCMjQ8OGDSvWz5NPPqn4+Hjt3btXYWFhF91vTEyM4uPjNXnyZP3www9asWKFatased62+fn5ys7OtnsBAADnxa1PnR1NW7p0qVasWKHOnTtLkt58800FBATY2gwfPtz2c7169TRv3jxFRkYqNzdXXl5etnXTpk1T165dL3m/L730kl5++WUNHTpUklS/fn3deuut520fFxen2NjYyz4+AABQNjGiJumnn35SYWGhWrVqZVvm6+ur0NBQ2/tvv/1WvXr1UlBQkLy9vdWhQwdJUmZmpl1fLVu2vOT97t27V/n5+bZweDExMTHKysqyvQ4dOnTJ+wIAAGUPI2qX4NSpU4qKilJUVJSWL1+u6tWrKzMzU1FRUSooKLBr6+npecn9uru7X1YdVqtVVqv1srYBAABlFyNqOnsrs1KlSkpJSbEty8rK0o8//ihJ2rdvn44fP674+Hi1a9dODRs2tJtIcKVCQkLk7u6uTZs2XXVfAADA+TCiJsnb21tDhw7V448/ripVqqhGjRqaMmWKXFxcZLFYFBQUJFdXV82fP1+jRo3S999/r+nTp1/1ft3c3DRp0iQ98cQTcnV1Vdu2bXXs2DHt2bNHI0aMKIUjAwAAZRkjav9nzpw5atOmje644w516dJFbdu2VaNGjeTm5qbq1atryZIlev/999W4cWPFx8dr1qxZpbLfyZMna8KECXr22WfVqFEj3XPPPaUyWgcAAMo+i8HH5J/XqVOnVLt2bc2ePdu0o1vZ2dny9fVV4Lj35GL1cHQ5wDWREd/T0SUAQKk69/c7KytLPj4+Jbbl1uf/2blzp/bt26dWrVopKytL06ZNkyT17t3bwZUBAIDyiqD2N7NmzVJaWppcXV3VokULJSUlqVq1ao4uCwAAlFPc+izDLmfoFAAAmMPl/P1mMgEAAIBJEdQAAABMiqAGAABgUgQ1AAAAkyKoAQAAmBRBDQAAwKQIagAAACZFUAMAADApghoAAIBJEdQAAABMiqAGAABgUgQ1AAAAkyKoAQAAmBRBDQAAwKQIagAAACZFUAMAADApghoAAIBJEdQAAABMqqKjC8DVazLlU7lYPRxdBuAUMuJ7OroEALBhRA0AAMCkCGoAAAAmRVADAAAwKYLaP9SpU0cvvviio8sAAABgMsE/paSkyNPT09FlAAAAENT+qXr16o4uQZJUUFAgV1dXR5cBAAAcqNzd+szJyVF0dLQ8PT3l7++vuXPnqmPHjho3bpyk4rc+LRaL/vOf/6hv377y8PBQSEiI1q5da9fn2rVrFRISIjc3N912221aunSpLBaLTp48aWuzdetWtWvXTu7u7goMDNTYsWN16tQp2/o6depo+vTpGjJkiHx8fPTAAw9cy9MAAADKgHIX1B577DElJydr7dq1SkhIUFJSknbs2FHiNrGxsRowYIB2796t22+/XdHR0Tpx4oQk6eDBg7r77rvVp08f7dq1Sw8++KCefvppu+3T09PVvXt33XXXXdq9e7feffddbd26VWPGjLFrN2vWLIWHh2vnzp2aPHlysTry8/OVnZ1t9wIAAM6rXAW1nJwcLV26VLNmzVLnzp3VpEkTvfnmmzpz5kyJ2w0bNkyDBg1SgwYN9Pzzzys3N1dff/21JOm1115TaGioXnjhBYWGhmrgwIEaNmyY3fZxcXGKjo7WuHHjFBISoltuuUXz5s3TsmXLdPr0aVu7Tp06acKECapfv77q169frI64uDj5+vraXoGBgVd/UgAAgGmVq6D2008/qbCwUK1atbIt8/X1VWhoaInbhYWF2X729PSUj4+Pjh49KklKS0tTZGSkXfu/9y9Ju3bt0pIlS+Tl5WV7RUVFqaioSAcPHrS1a9myZYl1xMTEKCsry/Y6dOhQyQcMAADKNCYTXIJKlSrZvbdYLCoqKrrk7XNzc/Xggw9q7NixxdYFBQXZfr7YbFOr1Sqr1XrJ+wUAAGVbuQpq9erVU6VKlZSSkmILSFlZWfrxxx/Vvn37K+ozNDRUH3/8sd2ylJQUu/cRERH64Ycf1KBBgysrHAAAlEvl6tant7e3hg4dqscff1ybN2/Wnj17NGLECLm4uMhisVxRnw8++KD27dunSZMm6ccff9R7772nJUuWSJKtz0mTJunLL7/UmDFjlJqaqv379+ujjz4qNpkAAADg78pVUJOkOXPmqE2bNrrjjjvUpUsXtW3bVo0aNZKbm9sV9Ve3bl2tWrVKq1evVlhYmF599VXbrM9ztynDwsK0ZcsW/fjjj2rXrp2aN2+uZ599VgEBAaV2XAAAwPlYDMMwHF2EI506dUq1a9fW7NmzNWLEiFLpc8aMGVq4cOE1f9g/Ozv77OzPce/JxepxTfcFlBcZ8T0dXQIAJ3fu73dWVpZ8fHxKbFuunlGTpJ07d2rfvn1q1aqVsrKyNG3aNElS7969r7jPBQsWKDIyUlWrVlVycrJeeOEFbmsCAICrVu6CmnT2g2XT0tLk6uqqFi1aKCkpSdWqVbvi/vbv36/nnntOJ06cUFBQkCZMmKCYmJhSrBgAAJRH5f7WZ1l2OUOnAADAHC7n73e5m0wAAABQVhDUAAAATIqgBgAAYFIENQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUAAAATIqgBgAAYFIENQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUAAAATKqiowvA1Wsy5VO5WD0cXQZQLmTE93R0CQDKEUbUAAAATIqgBgAAYFIENQAAAJMiqF2iJUuWyM/Pz/Z+6tSpatasme39sGHD1KdPn+teFwAAcF5MJiglL730kgzDcHQZAADAiRDUSomvr6+jSwAAAE7G6W59rlq1Sk2bNpW7u7uqVq2qLl266NSpU5KkxYsX66abbpLVapW/v7/GjBlj227OnDlq2rSpPD09FRgYqIcffli5ubmXvN9/3vrMz8/X2LFjVaNGDbm5uenWW29VSkqKbX1iYqIsFos2bdqkli1bysPDQ7fccovS0tKu/iQAAACn4FRB7ciRIxo0aJCGDx+uvXv3KjExUf369ZNhGHr11Vc1evRoPfDAA/ruu++0du1aNWjQwLati4uL5s2bpz179mjp0qX6/PPP9cQTT1xxLU888YQ++OADLV26VDt27FCDBg0UFRWlEydO2LV7+umnNXv2bH3zzTeqWLGihg8ffsE+8/PzlZ2dbfcCAADOy6lufR45ckR//fWX+vXrp+DgYElS06ZNJUnPPfecJkyYoEcffdTWPjIy0vbzuHHjbD/XqVNHzz33nEaNGqUFCxZcdh2nTp3Sq6++qiVLlqhHjx6SpEWLFikhIUFvvPGGHn/8cVvbGTNmqEOHDpKkJ598Uj179tTp06fl5uZWrN+4uDjFxsZedj0AAKBscqoRtfDwcHXu3FlNmzZV//79tWjRIv355586evSoDh8+rM6dO19w240bN6pz586qXbu2vL29dd999+n48ePKy8u77DrS09NVWFiotm3b2pZVqlRJrVq10t69e+3ahoWF2X729/eXJB09evS8/cbExCgrK8v2OnTo0GXXBgAAyg6nCmoVKlRQQkKCPvnkEzVu3Fjz589XaGiofv/99xK3y8jI0B133KGwsDB98MEH+vbbb/XKK69IkgoKCq5pzZUqVbL9bLFYJElFRUXnbWu1WuXj42P3AgAAzsupgpp0Nuy0bdtWsbGx2rlzp1xdXZWQkKA6depo06ZN593m22+/VVFRkWbPnq2bb75ZN954ow4fPnzFNdSvX1+urq5KTk62LSssLFRKSooaN258xf0CAIDyxameUdu+fbs2bdqkbt26qUaNGtq+fbuOHTumRo0aaerUqRo1apRq1KihHj16KCcnR8nJyXrkkUfUoEEDFRYWav78+erVq5eSk5O1cOHCK67D09NTDz30kB5//HFVqVJFQUFBmjlzpvLy8jRixIhSPGIAAODMnCqo+fj46IsvvtCLL76o7OxsBQcHa/bs2bYH+k+fPq25c+dq4sSJqlatmu6++25JZ59tmzNnjv79738rJiZG7du3V1xcnIYMGXLFtcTHx6uoqEj33XefcnJy1LJlS3366aeqXLlyqRwrAABwfhaDj9Mvs7Kzs+Xr66vAce/Jxerh6HKAciEjvqejSwBQxp37+52VlXXR582d7hk1AAAAZ0FQAwAAMCmnekatvPo+NoqP6gAAwAkxogYAAGBSBDUAAACTIqgBAACYFEENAADApAhqAAAAJkVQAwAAMCmCGgAAgEkR1AAAAEyKoAYAAGBSBDUAAACTIqgBAACYFEENAADApAhqAAAAJkVQAwAAMCmCGgAAgEkR1AAAAEyKoAYAAGBSBDUAAACTqujoAnD1mkz5VC5WD0eXAUBSRnxPR5cAwIkwogYAAGBSBDUAAACTIqgBAACYFEENAADApAhqAAAAJkVQAwAAMCmC2hUqKipSXFyc6tatK3d3d4WHh2vVqlW29WvXrlVISIjc3Nx02223aenSpbJYLDp58qStzaJFixQYGCgPDw/17dtXc+bMkZ+f3/U/GAAAYEp8jtoViouL09tvv62FCxcqJCREX3zxhQYPHqzq1asrKChId999tx599FGNHDlSO3fu1MSJE+22T05O1qhRo/Tvf/9bd955pzZu3KjJkyeXuM/8/Hzl5+fb3mdnZ1+TYwMAAOZgMQzDcHQRZU1+fr6qVKmijRs3qk2bNrblI0eOVF5enoKCgrR+/Xp99913tnXPPPOMZsyYoT///FN+fn4aOHCgcnNztW7dOlubwYMHa926dXajbn83depUxcbGFlseOO49PvAWMAk+8BbAxWRnZ8vX11dZWVny8fEp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tn8AAGBuZW4ywbBhw3Ty5EmtWbPG0aVctdWrV6tSpUqOLgMAAJhUmQtqzqRKlSqOLgEAAJjYJd/6fP311xUQEKCioiK75b1799bw4cMlSR999JEiIiLk5uamevXqKTY2Vn/99Zet7b59+3TrrbfKzc1NjRs31saNG2WxWOxGxw4dOqQBAwbIz89PVapUUe/evZWRkSHp7O3LpUuX6qOPPpLFYpHFYlFiYqIkadKkSbrxxhvl4eGhevXqafLkySosLCx2HK+99poCAwPl4eGhAQMGKCsr64LHXFRUpLi4ONWtW1fu7u4KDw/XqlWrLvWUacuWLWrVqpWsVqv8/f315JNP2p2Pf976BAAA+LtLDmr9+/fX8ePHtXnzZtuyEydOaMOGDYqOjlZSUpKGDBmiRx99VD/88INee+01LVmyRDNmzJAknTlzRn369JGHh4e2b9+u119/XU8//bTdPgoLCxUVFSVvb28lJSUpOTlZXl5e6t69uwoKCjRx4kQNGDBA3bt315EjR3TkyBHdcsstkiRvb28tWbJEP/zwg1566SUtWrRIc+fOtev/wIEDeu+99/Tf//5XGzZs0M6dO/Xwww9f8Jjj4uK0bNkyLVy4UHv27NH48eM1ePBgbdmy5aLn69dff9Xtt9+uyMhI7dq1S6+++qreeOMNPffcc5d6yovJz89Xdna23QsAADivS771WblyZfXo0UMrVqxQ586dJUmrVq1StWrVdNttt6lbt2568sknNXToUElSvXr1NH36dD3xxBOaMmWKEhISlJ6ersTERNWqVUuSNGPGDHXt2tW2j3fffVdFRUX6z3/+I4vFIkl688035efnp8TERHXr1k3u7u7Kz8+39XHOM888Y/u5Tp06mjhxolauXKknnnjCtvz06dNatmyZateuLUmaP3++evbsqdmzZxfrLz8/X88//7w2btyoNm3a2I5p69ateu2119ShQ4cSz9eCBQsUGBiol19+WRaLRQ0bNtThw4c1adIkPfvss3Jxufx5HHFxcYqNjb3s7QAAQNl0Wc+oRUdH6/7779eCBQtktVq1fPlyDRw4UC4uLtq1a5eSk5NtI2jS2VG006dPKy8vT2lpaQoMDLQLRK1atbLrf9euXTpw4IC8vb3tlp8+fVrp6ekl1vbuu+9q3rx5Sk9PV25urv766y/5+PjYtQkKCrKFNElq06aNioqKlJaWViyoHThwQHl5eXZBUpIKCgrUvHnzEmuRpL1796pNmza2wClJbdu2VW5urn755RcFBQVdtI9/iomJ0WOPPWZ7n52drcDAwMvuBwAAlA2XFdR69eolwzC0fv16RUZGKikpyXZ7MTc3V7GxserXr1+x7dzc3C6p/9zcXLVo0ULLly8vtq569eoX3G7btm2Kjo5WbGysoqKi5Ovrq5UrV2r27NmXeGTnr0WS1q9fbxfuJMlqtV5xv1fDarU6bN8AAOD6u6yg5ubmpn79+mn58uU6cOCAQkNDFRERIUmKiIhQWlqaGjRocN5tQ0NDdejQIf3++++qWbOmJCklJcWuTUREhN59913VqFGj2GjYOa6urjpz5ozdsi+//FLBwcF2z7z9/PPPxbbNzMzU4cOHFRAQIEn66quv5OLiotDQ0GJtGzduLKvVqszMzIve5jyfRo0a6YMPPpBhGLZRteTkZHl7e+uGG2647P4AAED5c9kPSkVHR2v9+vVavHixoqOjbcufffZZLVu2TLGxsdqzZ4/27t2rlStX2p4d69q1q+rXr6+hQ4dq9+7dSk5Otq07F2Sio6NVrVo19e7dW0lJSTp48KASExM1duxY/fLLL5LOPn+2e/dupaWl6Y8//lBhYaFCQkKUmZmplStXKj09XfPmzdOHH35YrHY3NzcNHTpUu3btUlJSksaOHasBAwYUu+0pnZ2cMHHiRI0fP15Lly5Venq6duzYofnz52vp0qUXPU8PP/ywDh06pEceeUT79u3TRx99pClTpuixxx67oufTAABA+XPZiaFTp06qUqWK0tLSdO+999qWR0VFad26dfrss88UGRmpm2++WXPnzlVwcLAkqUKFClqzZo1yc3MVGRmpkSNH2kbAzt0a9fDw0BdffKGgoCD169dPjRo10ogRI3T69GnbCNv999+v0NBQtWzZUtWrV1dycrLuvPNOjR8/XmPGjFGzZs305ZdfavLkycVqb9Cggfr166fbb79d3bp1U1hYmBYsWHDBY50+fbomT56suLg4NWrUSN27d9f69etVt27di56n2rVr6+OPP9bXX3+t8PBwjRo1SiNGjLCb9AAAAFASi2EYhqN2npycrFtvvVUHDhxQ/fr1HVVGmZWdnS1fX18FjntPLlYPR5cDoBzLiO/p6BKAMuPc3++srKwLPup1znX9ZoIPP/xQ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vXu3oqKidOedd2r//v2SpJEjR2rFihXKz8+39ff222+rdu3a6tSpU4n7/eabbzR27FhNmzZNaWlp2rBhg9q3b29bf+rUKT322GP65ptvtGnTJrm4uKhv374qKiq65GNLTU1V586d1bhxY23btk1bt25Vr169dObMGUlSXFycli1bpoULF2rPnj0aP368Bg8erC1btpy3v/z8fGVnZ9u9AACA87IYhmE4soAdO3aoRYsWysjIUHBwsN262rVra/To0Xrqqadsy1q1aqXIyEi98sorOn36tAICArRw4UINGDBAkhQeHq5+/fppypQpJe539erV+te//qVffvlF3t7eF63zjz/+UPXq1fXdd9+pSZMmSkxM1G233aY///xTfn5+ks4Gs+bNm+vgwYOqU6eO7r33XmVmZmrr1q3F+svPz1eVKlW0ceNGtWnTxrZ85MiRysvL04oVK4ptM3XqVMXGxhZbHjjuPT7wFgCAUnatPvA2Oztbvr6+ysrKko+PT4ltHT6iFh4ers6dO6tp06bq37+/Fi1apD///FPZ2dk6fPiw2rZta9e+bdu22rt3ryTJzc1N9913nxYvXizpbOj7/vvvNWzYsIvut2vXrgoODla9evV03333afny5crLy7Ot379/vwYNGqR69erJx8dHderUkSRlZmZe8rGdG1E7nwMHDigvL09du3aVl5eX7bVs2TK7W6x/FxMTo6ysLNvr0KFDl1wLAAAoexz+FVIVKlRQQkKCvvzyS3322WeaP3++nn76aSUkJFzS9iNHjlSzZs30yy+/6M0331SnTp2Kjcydj7e3t3bs2KHExER99tlnevbZZzV16lSlpKTIz89PvXr1UnBwsBYtWqSAgAAVFRWpSZMmKigokCS5uJzNuH8fkCwsLLTbh7u7+wX3n5ubK0lav369ateubbfOarWedxur1XrBdQAAwPk4fERNkiwWi9q2bavY2Fjt3LnTNhkgICBAycnJdm2Tk5PVuHFj2/umTZuqZcuWWrRokVasWKHhw4df8n4rVqyoLl26aObMmdq9e7cyMjL0+eef6/jx40pLS9Mzzzyjzp07q1GjRrYJAOdUr15d0tln7M5JTU21axMWFnbBSQ2NGzeW1WpVZmamGjRoYPcKDAy85GMAAADOy+Ejatu3b9emTZvUrVs31ahRQ9u3b9exY8fUqFEjPf7445oyZYrq16+vZs2a6c0331RqaqqWL19u18fIkSM1ZswYeXp6qm/fvpe033Xr1umnn35S+/btVblyZX388ccqKipSaGioKleurKpVq+r111+Xv7+/MjMz9eSTT9ptfy5QTZ06VTNmzNCPP/6o2bNn27WJiYlR06ZN9fDDD2vUqFFydXXV5s2b1b9/f1WrVk0TJ07U+PHjVVRUpFtvvVVZWVlKTk6Wj4+Phg4denUnFgAAlHkOD2o+Pj764osv9OKLLyo7O1vBwcGaPXu2evTooaioKGVlZWnChAk6evSoGjdurLVr1yokJMSuj0GDBmncuHEaNGiQ3NzcLmm/fn5+Wr16taZOnarTp08rJCRE77zzjm666SZJ0sqVKzV27Fg1adJEoaGhmjdvnjp27GjbvlKlSnrnnXf00EMPKSwsTJGRkXruuefUv39/W5sbb7xRn332mZ566im1atVK7u7uat26tQYNGiRJmj59uqpXr664uDj99NNP8vPzU0REhN3kCQAAUH45fNZnacjIyFD9+vWVkpKiiIgIR5dz3ZybNcKsTwAASp8ZZn06fETtahQWFur48eN65plndPPNN5erkAYAAJyfKSYTXKnk5GT5+/srJSVFCxcutFuXlJRk97EX/3wBAACYnVPc+jyf//3vf/r1118vuL5BgwbXsZpr43KGTgEAgDmUm1ufJXF3d3eKMAYAAMqvMn3rEwAAwJkR1AAAAEyKoAYAAGBSBDUAAACTIqgBAACYFEENAADApJz24znKg3MfgZedne3gSgAAwKU693f7Uj7KlqBWhh0/flySFBgY6OBKAADA5crJyZGvr2+JbQhqZViVKlUkSZmZmRf9RTur7OxsBQYG6tChQ+X22xk4B5wDiXMgcQ4kzoFUNs6BYRjKyclRQEDARdsS1MowF5ezjxj6+vqa9mK8Xnx8fDgHnAPOgTgHEudA4hxI5j8HlzrAwmQCAAAAkyKoAQAAmBRBrQyzWq2aMmWKrFaro0txGM4B50DiHEicA4lzIHEOJOc7BxbjUuaGAgAA4LpjRA0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUyrBXXnlFderUkZubm1q3bq2vv/7a0SVdM3FxcYqMjJS3t7dq1KihPn36KC0tza5Nx44dZbFY7F6jRo1yUMWlb+rUqcWOr2HDhrb1p0+f1ujRo1W1alV5eXnprrvu0u+//+7AiktfnTp1ip0Di8Wi0aNHS3K+a+CLL75Qr169FBAQIIvFojVr1titNwxDzz77rPz9/eXu7q4uXbpo//79dm1OnDih6Oho+fj4yM/PTyNGjFBubu51PIqrU9I5KCws1KRJk9S0aVN5enoqICBAQ4YM0eHDh+36ON91Ex8ff52P5Mpd7DoYNmxYsePr3r27XRtnvg4knfffBYvFohdeeMHWpqxeBwS1Murdd9/VY489pilTpmjHjh0KDw9XVFSUjh496ujSroktW7Zo9OjR+uqrr5SQkKDCwkJ169ZNp06dsmt3//3368iRI7bXzJkzHVTxtXHTTTfZHd/WrVtt68aPH6///ve/ev/997VlyxYdPnxY/fr1c2C1pS8lJcXu+BMSEiRJ/fv3t7Vxpmvg1KlTCg8P1yuvvHLe9TNnztS8efO0cOFCbd++XZ6enoqKitLp06dtbaKjo7Vnzx4lJCRo3bp1+uKLL/TAAw9cr0O4aiWdg7y8PO3YsUOTJ0/Wjh07tHr1aqWlpenOO+8s1nbatGl218UjjzxyPcovFRe7DiSpe/fudsf3zjvv2K135utAkt2xHzlyRIsXL5bFYtFdd91l165MXgcGyqRWrVoZo0ePtr0/c+aMERAQYMTFxTmwquvn6NGjhiRjy5YttmUdOnQwHn30UccVdY1NmTLFCA8PP++6kydPGpUqVTLef/9927K9e/cakoxt27Zdpwqvv0cffdSoX7++UVRUZBiGc18DkowPP/zQ9r6oqMioVauW8cILL9iWnTx50rBarcY777xjGIZh/PDDD4YkIyUlxdbmk08+MSwWi/Hrr79et9pLyz/Pwfl8/fXXhiTj559/ti0LDg425s6de22Lu07Odw6GDh1q9O7d+4LblMfroHfv3kanTp3slpXV64ARtTKooKBA3377rbp06WJb5uLioi5dumjbtm0OrOz6ycrKkvT/v5j+nOXLl6tatWpq0qSJYmJilJeX54jyrpn9+/crICBA9erVU3R0tDIzMyVJ3377rQoLC+2uiYYNGyooKMhpr4mCggK9/fbbGj58uCwWi225s18D5xw8eFC//fab3e/c19dXrVu3tv3Ot23bJj8/P7Vs2dLWpkuXLnJxcdH27duve83XQ1ZWliwWi/z8/OyWx8fHq2rVqmrevLleeOEF/fXXX44p8BpJTExU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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "japanese_ingredient_df = create_ingredient_df(japanese_df)\n",
+ "japanese_ingredient_df.head(10).plot.barh()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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oJSUFLu2KSkpqlevnu19eHi4mjVrpjlz5mjRokXq169fofdbvnx5tWvXTlOnTtX+/fuVnp6ur776SufOnVNqaqpGjx6ttm3bqm7durYbAK7z8/OTdO0au+v27t1r16ZBgwa3vKmhXr16slqtysjIUEhIiN0rMDCw0McAAABKL4fPqG3fvl0bN25U+/btVaVKFW3fvl1nz55V3bp1NXz4cI0bN061a9dWo0aNNHfuXO3du1cLFy606+OFF15QXFyc3N3d1a1bt0Ltd9WqVTp27JhatWqlihUr6osvvlBBQYHCwsJUsWJFVapUSR988IH8/f2VkZGh119/3W7764Fq/Pjxmjx5sr7//nslJibatRk1apTCw8P1yiuvaMCAAXJ2dtamTZvUvXt3Va5cWcOGDdOQIUNUUFCgRx99VJmZmUpJSZGXl5f69OlzbwMLAABKPIcHNS8vL3399dd6++23lZWVpaCgICUmJqpDhw6KiopSZmamhg4dqjNnzqhevXpauXKlQkND7fro1auXBg8erF69esnFxaVQ+/Xx8dFnn32m8ePH68qVKwoNDdW//vUvPfTQQ5KkxYsXa9CgQapfv77CwsI0Y8YMtW7d2rZ9hQoV9K9//Usvv/yyGjRooIiICE2aNEndu3e3talTp47WrVunv/71r2revLlcXV3VokUL9erVS5I0ceJE+fn5KSEhQceOHZOPj4+aNGlid/MEAAAouxx+1+f9kJ6ertq1a2vHjh1q0qSJo8spNtfvGuGuTwAA7j8z3PXp8Bm1e5GXl6dz585p9OjRevjhh8tUSAMAAKWfKW4mKKqUlBT5+/trx44dmj17tt265ORku8de/PYFAABgdqXi1OfN/O9//9OPP/54y/UhISHFWM3v426mTgEAgDmUmVOft+Pq6loqwhgAACi7SvSpTwAAgNKMoAYAAGBSBDUAAACTIqgBAACYFEENAADApAhqAAAAJlVqH89RFlx/BF5WVpaDKwEAAIV1/Xu7MI+yJaiVYOfOnZMkBQYGOrgSAABwty5evChvb+/btiGolWC+vr6SpIyMjDv+h8b/LysrS4GBgTpx4gS/6HAXGLeiYdyKhnErGsataIp73AzD0MWLFxUQEHDHtgS1EszJ6dolht7e3vyDLAIvLy/GrQgYt6Jh3IqGcSsaxq1oinPcCjvBws0EAAAAJkVQAwAAMCmCWglmtVo1btw4Wa1WR5dSojBuRcO4FQ3jVjSMW9EwbkVj5nGzGIW5NxQAAADFjhk1AAAAkyKoAQAAmBRBDQAAwKQIagAAACZFUCvB/vGPfyg4OFguLi5q0aKFvvnmG0eXZCrjx4+XxWKxez344IO29VeuXNHAgQNVqVIleXh46I9//KN+/vlnB1bsGF9//bU6d+6sgIAAWSwWff7553brDcPQ2LFj5e/vL1dXV7Vr105Hjhyxa3P+/HnFxsbKy8tLPj4+6t+/v7Kzs4vxKIrfncatb9++N3z+oqOj7dqUtXFLSEhQRESEPD09VaVKFXXt2lWpqal2bQrz7zIjI0OdOnWSm5ubqlSpouHDh+vq1avFeSjFqjDj1rp16xs+bwMGDLBrU9bG7b333lODBg1sD7Ft2bKl1qxZY1tfUj5rBLUS6pNPPtFrr72mcePGaffu3WrYsKGioqJ05swZR5dmKg899JBOnz5te23ZssW2bsiQIfr3v/+tTz/9VJs3b9apU6cUExPjwGod49KlS2rYsKH+8Y9/3HT91KlTNWPGDM2ePVvbt2+Xu7u7oqKidOXKFVub2NhYHThwQOvXr9eqVav09ddf66WXXiquQ3CIO42bJEVHR9t9/v71r3/ZrS9r47Z582YNHDhQ//nPf7R+/Xrl5eWpffv2unTpkq3Nnf5d5ufnq1OnTsrNzdXWrVs1f/58zZs3T2PHjnXEIRWLwoybJL344ot2n7epU6fa1pXFcXvggQc0ZcoU7dq1Szt37lSbNm3UpUsXHThwQFIJ+qwZKJGaN29uDBw40PY+Pz/fCAgIMBISEhxYlbmMGzfOaNiw4U3XXbhwwahQoYLx6aef2pYdOnTIkGRs27atmCo0H0nG8uXLbe8LCgqMatWqGW+++aZt2YULFwyr1Wr861//MgzDMA4ePGhIMnbs2GFrs2bNGsNisRg//vhjsdXuSL8dN8MwjD59+hhdunS55TaMm2GcOXPGkGRs3rzZMIzC/bv84osvDCcnJ+Onn36ytXnvvfcMLy8vIycnp3gPwEF+O26GYRiPP/648eqrr95yG8btmooVKxoffvhhifqsMaNWAuXm5mrXrl1q166dbZmTk5PatWunbdu2ObAy8zly5IgCAgJUq1YtxcbGKiMjQ5K0a9cu5eXl2Y3hgw8+qBo1ajCGv3L8+HH99NNPduPk7e2tFi1a2MZp27Zt8vHxUbNmzWxt2rVrJycnJ23fvr3YazaTpKQkValSRWFhYXr55Zd17tw52zrGTcrMzJQk+fr6Sircv8tt27YpPDxcVatWtbWJiopSVlaWbaaktPvtuF23cOFCVa5cWfXr19eoUaN0+fJl27qyPm75+flavHixLl26pJYtW5aozxo/yl4C/fe//1V+fr7dh0eSqlatqsOHDzuoKvNp0aKF5s2bp7CwMJ0+fVrx8fF67LHH9N133+mnn36Ss7OzfHx87LapWrWqfvrpJ8cUbELXx+Jmn7Xr63766SdVqVLFbn358uXl6+tbpscyOjpaMTExqlmzptLS0vTXv/5VHTp00LZt21SuXLkyP24FBQUaPHiwIiMjVb9+fUkq1L/Ln3766aafx+vrSrubjZskPfvsswoKClJAQID279+vkSNHKjU1VZ999pmksjtu3377rVq2bKkrV67Iw8NDy5cvV7169bR3794S81kjqKHU6tChg+3vBg0aqEWLFgoKCtKSJUvk6urqwMpQFjzzzDO2v8PDw9WgQQPVrl1bSUlJatu2rQMrM4eBAwfqu+++s7tuFHd2q3H79bWN4eHh8vf3V9u2bZWWlqbatWsXd5mmERYWpr179yozM1NLly5Vnz59tHnzZkeXdVc49VkCVa5cWeXKlbvh7pSff/5Z1apVc1BV5ufj46M6dero6NGjqlatmnJzc3XhwgW7NoyhvetjcbvPWrVq1W64ieXq1as6f/48Y/krtWrVUuXKlXX06FFJZXvc4uLitGrVKm3atEkPPPCAbXlh/l1Wq1btpp/H6+tKs1uN2820aNFCkuw+b2Vx3JydnRUSEqKmTZsqISFBDRs21DvvvFOiPmsEtRLI2dlZTZs21caNG23LCgoKtHHjRrVs2dKBlZlbdna20tLS5O/vr6ZNm6pChQp2Y5iamqqMjAzG8Fdq1qypatWq2Y1TVlaWtm/fbhunli1b6sKFC9q1a5etzVdffaWCggLblwWkkydP6ty5c/L395dUNsfNMAzFxcVp+fLl+uqrr1SzZk279YX5d9myZUt9++23diF3/fr18vLyUr169YrnQIrZncbtZvbu3StJdp+3sjZuN1NQUKCcnJyS9VkrttsWcF8tXrzYsFqtxrx584yDBw8aL730kuHj42N3d0pZN3ToUCMpKck4fvy4kZKSYrRr186oXLmycebMGcMwDGPAgAFGjRo1jK+++srYuXOn0bJlS6Nly5YOrrr4Xbx40dizZ4+xZ88eQ5Ixffp0Y8+ePcYPP/xgGIZhTJkyxfDx8TFWrFhh7N+/3+jSpYtRs2ZN43//+5+tj+joaKNx48bG9u3bjS1bthihoaFGr169HHVIxeJ243bx4kVj2LBhxrZt24zjx48bGzZsMJo0aWKEhoYaV65csfVR1sbt5ZdfNry9vY2kpCTj9OnTttfly5dtbe707/Lq1atG/fr1jfbt2xt79+411q5da/j5+RmjRo1yxCEVizuN29GjR40JEyYYO3fuNI4fP26sWLHCqFWrltGqVStbH2Vx3F5//XVj8+bNxvHjx439+/cbr7/+umGxWIx169YZhlFyPmsEtRJs5syZRo0aNQxnZ2ejefPmxn/+8x9Hl2QqPXv2NPz9/Q1nZ2ejevXqRs+ePY2jR4/a1v/vf/8zXnnlFaNixYqGm5ub0a1bN+P06dMOrNgxNm3aZEi64dWnTx/DMK49omPMmDFG1apVDavVarRt29ZITU216+PcuXNGr169DA8PD8PLy8v405/+ZFy8eNEBR1N8bjduly9fNtq3b2/4+fkZFSpUMIKCgowXX3zxhv+RKmvjdrPxkmTMnTvX1qYw/y7T09ONDh06GK6urkblypWNoUOHGnl5ecV8NMXnTuOWkZFhtGrVyvD19TWsVqsREhJiDB8+3MjMzLTrp6yNW79+/YygoCDD2dnZ8PPzM9q2bWsLaYZRcj5rFsMwjOKbvwMAAEBhcY0aAACASRHUAAAATIqgBgAAYFIENQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUAAAATIqgBgAAYFIENQAAAJP6/wCZJMYvD+kvnAAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "chinese_ingredient_df = create_ingredient_df(chinese_df)\n",
+ "chinese_ingredient_df.head(10).plot.barh()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmoAAAGdCAYAAACirV9DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABD/klEQVR4nO3de1iUdf7/8dcgMDAgkIkKBqKCqF/F84HMMjWx1DWtrGRXTTtYmeJZtkXFQ5B5trXcLNH9WWZ20M3SNVdcJTPP5okUNSwp21w5aALC/fvDZa4mPOBx7oHn47rmumbu+3N/7vf9cWhefe77nrEYhmEIAAAApuPm7AIAAABwaQQ1AAAAkyKoAQAAmBRBDQAAwKQIagAAACZFUAMAADApghoAAIBJEdQAAABMyt3ZBeD6FRcX6+TJk6pcubIsFouzywEAAGVgGIZyc3MVHBwsN7crz5kR1FzYyZMnFRIS4uwyAADAdThx4oTuuuuuK7YhqLmwypUrS7r4D+3n5+fkagAAQFnk5OQoJCTE/jl+JQQ1F1ZyutPPz4+gBgCAiynLZUvcTAAAAGBSBDUAAACTIqgBAACYFNeoAQBQwRUVFamwsNDZZZQrlSpVkru7+w1/fRZBDQCACiwvL0/ff/+9DMNwdinljs1mU1BQkDw9Pa+7D4IaAAAVVFFRkb7//nvZbDYFBgby5ek3iWEYKigo0M8//6xjx44pIiLiql9sezkEtXKg0YS1crPanF0GUGEdT+7m7BKA61JYWCjDMBQYGChvb29nl1OueHt7y8PDQ999950KCgrk5eV1Xf1wMwEAABUcM2m3xvXOojn0cRPqAAAAwC1AUAMAADAp01yjZhiGnnvuOa1YsUL//e9/tWvXLjVt2tTZZd1SKSkpiouL05kzZ5xdCgAAdmHjVt/W/d3u6zzDwsIUFxenuLi427rf62GaoLZmzRqlpKQoNTVVderUUdWqVZ1dEgAAgFOZJqhlZGQoKChId999t7NLuaqCgoIb+k4UAACAsjDFNWoDBgzQSy+9pMzMTFksFoWFham4uFhJSUmqXbu2vL291aRJE61YscK+TWpqqiwWi9avX6+WLVvKZrPp7rvvVnp6ukO/Dz/8sMO+4uLi1KFDB/vr3NxcxcbGysfHR0FBQZo1a5Y6dOjgMB0aFhamyZMnq1+/fvLz89Ozzz4rSdq8ebPat28vb29vhYSEaOjQoTp79qx9u/z8fI0aNUo1a9aUj4+P2rRpo9TU1MuOw88//6yWLVuqV69eys/Pv77BBACgHPvb3/6m4OBgFRcXOyzv2bOnBg4cqIyMDPXs2VPVq1eXr6+vWrVqpS+++OKy/R0/flwWi0W7d++2Lztz5owsFovDZ/a+ffv04IMPytfXV9WrV9ef/vQn/ec//7nZh1eKKYLanDlzNGnSJN11113KysrStm3blJSUpCVLlujNN9/U/v37NXz4cP3xj3/Uxo0bHbZ9+eWXNWPGDG3fvl3u7u4aOHDgNe17xIgRSktL06pVq7Ru3Tpt2rRJO3fuLNVu+vTpatKkiXbt2qWEhARlZGSoa9eueuSRR7R37169//772rx5s4YMGWLfZsiQIdqyZYuWLVumvXv36rHHHlPXrl11+PDhUv2fOHFC7du3V6NGjbRixQpZrdZSbfLz85WTk+PwAACgInnsscf0yy+/aMOGDfZlp0+f1po1axQbG6u8vDw99NBDWr9+vXbt2qWuXbuqR48eyszMvO59njlzRh07dlSzZs20fft2rVmzRj/99JP69OlzMw7pikxx6tPf31+VK1dWpUqVVKNGDeXn5+uVV17RF198oejoaElSnTp1tHnzZi1YsED33XeffdupU6faX48bN07dunXT+fPny/TFcrm5uVq8eLHeffddderUSZK0aNEiBQcHl2rbsWNHjRw50v766aefVmxsrH3mLSIiQnPnztV9992nN954Q6dOndKiRYuUmZlp72/UqFFas2aNFi1apFdeecXeV3p6uh544AH16tVLs2fPvuz32SQlJSkxMfGqxwUAQHl1xx136MEHH3T47F6xYoWqVq2q+++/X25ubmrSpIm9/eTJk/Xxxx9r1apVDpMp1+L1119Xs2bNHD6733nnHYWEhOjbb79VvXr1buygrsAUQe33jhw5onPnzumBBx5wWF5QUKBmzZo5LIuKirI/DwoKkiSdOnVKoaGhV93P0aNHVVhYqNatW9uX+fv7KzIyslTbli1bOrzes2eP9u7dq6VLl9qXGYah4uJiHTt2TEePHlVRUVGpf7z8/Hzdeeed9te//vqr2rdvr759+2r27NlXrDc+Pl4jRoywv87JyVFISMhVjxMAgPIkNjZWzzzzjObPny+r1aqlS5fqiSeekJubm/Ly8jRx4kSt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OG7XfgAAgOtyuaAmSQkJCRo5cqTGjx+vBg0a6PHHH9epU6f0hz/8QcOHD9eQIUPUtGlTffnll0pISLhkH4MGDVJBQYEGDhzosDw4OFhpaWkqKipSly5d1LhxY8XFxSkgIEBubjdvuG7XfgAAgOtyubs+b5bJkyfrgw8+0N69e51dynUruWuEuz4BwPVx12fFUa7v+rxReXl52rdvn15//XW99NJLzi4HAADgsipcUBsyZIhatGihDh06lDrtCQAAYCYV9tRneXAtU6cAAMAcOPUJAABQDhDUAAAATIqgBgAAYFIENQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUAAAATIqgBgAAYFIENQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUAAAATMrd2QXgxjWasFZuVpuzywAA3CTHk7s5uwSYBDNqAAAAJkVQAwAAMCmCGgAAgElVqKAWFham2bNn3/L9DBgwQA8//PAt3w8AACjfKtTNBNu2bZOPj4+zywAAACiTChHUCgoK5OnpqcDAQGeXUiaGYaioqEju7hXinwcAAFyGaU99FhcXa9q0aQoPD5fValVoaKimTp0qSfrmm2/UsWNHeXt7684779Szzz6rvLw8+7Ylpx6nTp2q4OBgRUZGSip96nPmzJlq3LixfHx8FBISohdeeMGhn5SUFAUEBGjt2rVq0KCBfH191bVrV2VlZdnbFBUVacSIEQoICNCdd96pMWPGyDCMUseSlJSk2rVry9vbW02aNNGKFSvs61NTU2WxWPT555+rRYsWslqt2rx5800dTwAA4HpMG9Ti4+OVnJyshIQEHThwQO+++66qV6+us2fPKiYmRnfccYe2bdumDz74QF988YWGDBnisP369euVnp6udevW6dNPP73kPtzc3DR37lzt379fixcv1r/+9S+NGTPGoc25c+c0ffp0/f3vf9e///1vZWZmatSoUfb1M2bMUEpKit555x1t3rxZp0+f1scff+zQR1JSkpYsWaI333xT+/fv1/Dhw/XHP/5RGzdudGg3btw4JScn6+DBg4qKiipVb35+vnJychweAACg/DLlubXc3FzNmTNHr7/+uvr37y9Jqlu3ru655x699dZbOn/+vJYsWWK/3uz1119Xjx499Oqrr6p69eqSJB8fHy1cuFCenp6X3U9cXJz9eVhYmKZMmaLBgwdr/vz59uWFhYV68803VbduXUnSkCFDNGnSJPv62bNnKz4+Xr1795Ykvfnmm1q7dq19fX5+vl555RV98cUXio6OliTVqVNHmzdv1oIFC3TffffZ206aNEkPPPDAZetNSkpSYmLilQcPAACUG6YMagcPHlR+fr46dep0yXVNmjRxuCmgXbt2Ki4uVnp6uj2oNW7c+IohTZK++OILJSUl6dChQ8rJydGFCxd0/vx5nTt3TjbbxW/6t9ls9pAmSUFBQTp16pQkKTs7W1lZWWrTpo19vbu7u1q2bGk//XnkyBGdO3euVAArKChQs2bNHJa1bNnyivXGx8drxIgR9tc5OTkKCQm54jYAAMB1mTKoeXt733AfV7u78/jx4+revbuef/55TZ06VVWqVNHmzZs1aNAgFRQU2IOah4eHw3YWi6XUNWhXUnLN2+rVq1WzZk2HdVar9ZpqtlqtpbYBAADllymvUYuIiJC3t7fWr19fal2DBg20Z88enT171r4sLS1Nbm5u9psGymLHjh0qLi7WjBkz1LZtW9WrV08nT568pjr9/f0VFBSkrVu32pdduHBBO3bssL9u2LChrFarMjMzFR4e7vBgNgwAAFyJKWfUvLy8NHbsWI0ZM0aenp5q166dfv75Z+3fv1+xsbGaMGGC+vfvr4kTJ+rnn3/WSy+9pD/96U/2055lER4ersLCQs2bN089evRQWlqa3nzzzWuuddiwYUpOTlZERITq16+vmTNn6syZM/b1lStX1qhRozR8+HAVFxfrnnvuUXZ2ttLS0uTn52e/Bg8AAOD3TBnUJCkhIUHu7u4aP368Tp48qaCgIA0ePFg2m01r167VsGHD1KpVK9lsNj3yyCOaOXPmNfXfpEkTzZw5U6+++qri4+N17733KikpSf369bumfkaOHKmsrCz1799fbm5uGjhwoHr16qXs7Gx7m8mTJyswMFBJSUk6evSoAgIC1Lx5c/35z3++pn0BAICKxWJcywVXMJWcnBz5+/srJG653Kw2Z5cDALhJjid3c3YJuIVKPr+zs7Pl5+d3xbamvEYNAAAABDUAAADTMu01aii7fYkxV506BQAArocZNQAAAJMiqAEAAJgUQQ0AAMCkCGoAAAAmRVADAAAwKYIaAACASRHUAAAATIqgBgAAYFIENQAAAJMi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Z+3h6LfXoN1szZs3V3p6usLDw2+on6ioKK1fv57TmQAA4JJcMqiFhYVp69atOn78uHx9fdWmTRvZbDb9+c9/1tChQ7V161alpKTcsv2PHz9e3bt3V2hoqB599FG5ublpz5492rdvn6ZMmVLmfuLj49W4cWO98MILGjx4sDw9PbVhwwY99thjqlq16i2rHwAAuAaXvEZt1KhRqlSpkho2bKjAwEDl5OTo//2//6fPPvtMjRs31nvvvaeJEyfesv3HxMTo008/1T//+U+1atVKbdu21axZs1SrVq1r6qdevXr65z//qT179qh169aKjo7WypUr5e7ukvkZAADcZBbj9xd3wWXk5OTI399fIXHL5Wa1ObscAIALOJ7czdklVHgln9/Z2dny8/O7YluXnFEDAACoCAhqAAAAJsXFUOXAvsSYq06dAgAA18OMGgAAgEkR1AAAAEyKoAYAAGBSBDUAAACTIqgBAACYFEENAADApAhqAAAAJkVQAwAAMCmCGgAAgEkR1AAAAEyKoAYAAGBSBDUAAACTIqgBAACYFEENAADApAhqAAAAJkVQAwAAMCmCGgAAgEkR1AAAAEzK3dkF4MY1mrBWblabs8sAAKBcOZ7czdklMKMGAABgVgQ1AAAAkyKoAQAAmBRB7TYKCwvT7NmznV0GAABwEdxMcBtt27ZNPj4+zi4DAAC4CILabRQYGOjsEgAAgAupsKc+i4uLNW3aNIWHh8tqtSo0NFRTp05VamqqLBaLzpw5Y2+7e/duWSwWHT9+XJKUkpKigIAAffrpp4qMjJTNZtOjjz6qc+fOafHixQoLC9Mdd9yhoUOHqqioyN7P7099WiwWLVy4UL169ZLNZlNERIRWrVp1m0YAAACYXYWdUYuPj9dbb72lWbNm6Z577lFWVpYOHTpU5u3PnTunuXPnatmyZcrNzVXv3r3Vq1cvBQQE6LPPPtPRo0f1yCOPqF27dnr88ccv209iYqKmTZum1157TfPmzVNsbKy+++47ValSpVTb/Px85efn21/n5ORc20EDAACXUiFn1HJzczVnzhxNmzZN/fv3V926dXXPPffo6aefLnMfhYWFeuONN9SsWTPde++9evTRR7V582a9/fbbatiwobp37677779fGzZsuGI/AwYM0JNPPqnw8HC98sorysvL09dff33JtklJSfL397c/QkJCrum4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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "indian_ingredient_df = create_ingredient_df(indian_df)\n",
+ "indian_ingredient_df.head(10).plot.barh()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqYAAAGdCAYAAADALrFsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABNtUlEQVR4nO3deVhV5f7//9dGZDODOIIhaKDiEU0c0mgwMdHMVE7qIY9p6uljaopDDscRhzALS22w7ORw0swsbTAHJDHFIpwolahIwo4W5gCiCQj794df968domjmXsDzcV37utjrvtda77UXxct7rXttk8VisQgAAACwMwd7FwAAAABIBFMAAAAYBMEUAAAAhkAwBQAAgCEQTAEAAGAIBFMAAAAYAsEUAAAAhkAwBQAAgCE42rsA4HqUlJTo2LFj8vDwkMlksnc5AACgHCwWi86ePSs/Pz85OJQ9LkowRYVy7Ngx+fv727sMAABwA44eParbbrutzHaCKSoUDw8PSZd+sT09Pe1cDQAAKI+8vDz5+/tb/46XhWCKCuXy5XtPT0+CKQAAFcy1bsNj8hMAAAAMgWAKAAAAQyCYAgAAwBC4xxQAAFQpFotFFy9eVHFxsb1LqTSqVasmR0fHP/0oR4IpAACoMgoLC3X8+HGdP3/e3qVUOq6urvL19ZWTk9MNb4NgCgAAqoSSkhIdOXJE1apVk5+fn5ycnPiylpvAYrGosLBQJ06c0JEjRxQcHHzVh+hfDcEUFVLzGVvkYHa1dxlAlZU1r7u9SwCuW2FhoUpKSuTv7y9XV/6G3EwuLi6qXr26fvzxRxUWFsrZ2fmGtsPkJwAAUKXc6Ggeru5mfK6cGQAAABgCwRQAAACGwD2muCEzZ87Uhg0bdODAgTL7DBo0SGfOnNGGDRtuWV0AAFyvwEkbb+n+7HGPdmBgoGJiYhQTE3PL9309GDGt4gYNGqRevXrZuwwAAACCKQAAAIyBYGonr7/+uvz8/FRSUmKzvGfPnho8eLAk6YMPPlBYWJicnZ3VqFEjxcbG6uLFi9a+33zzje6++245OzurWbNm2rZtm0wmk82l86NHj6pv377y9vaWj4+PevbsqaysLEmXLsevWLFCH3zwgUwmk0wmk5KSkiRJEydOVOPGjeXq6qpGjRpp2rRpKioqKnUcr732mvWxG3379lVubm6Zx1xSUqK4uDg1bNhQLi4uatmypdatW3eDnyAAAFXDtTJDZmamevbsqbp168rd3V1t27bVtm3bytxeVlaWTCaTze14Z86csckBknTw4EF169ZN7u7uqlu3rgYMGKBff/31Zh+eDYKpnfTp00cnT57U9u3brctOnTqlzZs3q3///tq5c6cee+wxjR49WocPH9Zrr72m5cuXa+7cuZKk4uJi9erVS66urkpJSdHrr7+uKVOm2OyjqKhIkZGR8vDw0M6dO5WcnCx3d3d17dpVhYWFGj9+vPr27auuXbvq+PHjOn78uO666y5JkoeHh5YvX67Dhw9r4cKFWrp0qV544QWb7X///fdau3atPvroI23evFn79+/X8OHDyzzmuLg4rVy5UkuWLNGhQ4c0ZswY/fOf/9SOHTvKXKegoEB5eXk2LwAAqpJrZYb8/Hw9+OCDSkxM1P79+9W1a1f16NFD2dnZN7zPM2fOqFOnTmrVqpX27NmjzZs365dfflHfvn1vxiGViclPdlKjRg1169ZNq1evVkREhCRp3bp1qlWrlu6//3516dJFkyZN0sCBAyVJjRo10uzZszVhwgTNmDFDCQkJyszMVFJSkurVqydJmjt3rh544AHrPt555x2VlJTojTfesH6zxbJly+Tt7a2kpCR16dJFLi4uKigosG7jsqlTp1p/DgwM1Pjx47VmzRpNmDDBuvzChQtauXKl6tevL0lavHixunfvrvj4+FLbKygo0DPPPKNt27apQ4cO1mPatWuXXnvtNd13331X/Jzi4uIUGxt7/R8wAACVxLUyg4ODg1q2bGntP3v2bK1fv14ffvihRo4ceUP7fOmll9SqVSs988wz1mVvvvmm/P399e2336px48Z/7qDKwIipHfXv31/vvfeeCgoKJEmrVq3SP/7xDzk4OCgtLU2zZs2Su7u79fWvf/3L+v2+GRkZ8vf3twmA7dq1s9l+Wlqavv/+e3l4eFi34ePjowsXLigzM/Oqtb3zzjsKDw9XvXr15O7urqlTp5b6l1eDBg2soVSSOnTooJKSEmVkZJTa3vfff6/z58/rgQcesDmmlStXXrWWyZMnKzc31/o6evToVesGAKAyulpmyM/P1/jx4xUSEiJvb2+5u7srPT39T42YpqWlafv27TZ/s5s2bSpJ18wQfwYjpnbUo0cPWSwWbdy4UW3bttXOnTutl8vz8/MVGxur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xHTFihVycnJScnKyZs6cqQcffFBt27ZVWlqaXn31Vf3nP//RnDlzrP3PnTunsWPHas+ePUpMTJSDg4N69+6tkpISSdKiRYv04Ycfau3atcrIyNCqVausATQ1NVWStGzZMh0/ftz6fufOnXrsscc0evRoHT58WK+99pqWL1+uuXPnSpJKSkoUFRUlJycnpaSkaMmSJZo4cWK5j/FqNUlSnz59lJOTo02bNmnv3r0KCwtTRESETp06JUnq37+/brvtNqWmpmrv3r2aNGmSqlevLkm6cOGCWrdurY0bN+rgwYN64oknNGDAAH355ZelPudatWrpyy+/1FNPPaUnn3xSffr00V133aV9+/apS5cuGjBggM6fPy/pUlju1KmTWrVqpT179mjz5s365Zdf1Ldv32se7/HjxxUdHa3BgwcrPT1dSUlJioqKsgbHVatWafr06Zo7d67S09P1zDPPaNq0aVqxYoUkqaioSJGRkfLw8NDOnTuVnJwsd3d3de3a1TqqHh8fr+XLl+vNN9/Url27dOrUKa1fv/6atRUUFCgvL8/mBQAAKieT5TqGrTp27Ki8vDzt27dPkjRlyhS99957Sk9Pl8lkkiS98sormjhxonJzc+XgUDr3/vrrr6pdu7a+/vprNW/eXKNGjdKhQ4e0bds26zZsCjSZtH79eptJMp07d1ZERIQmT55sXfbWW29pwoQJOnbsmLZu3aru3bvrxx9/lJ+fn6RLI7fdunUrta0ruVpNu3btUvfu3ZWTkyOz2WxdHhQUpAkTJuiJJ56Qp6enFi9erIEDB179A/1/HnroITVt2lTPP/+8pEufc3FxsXbu3Cnp0mijl5eXoqKitHLlSknSzz//LF9fX33++edq37695syZo507d2rLli3W7f7000/y9/dXRkaGGjduXOb+9+3bp9atWysrK0sBAQGl2oOCgjR79mxFR0dbl82ZM0effPKJdu/erbfeektz5syx+T0oLCyUt7e3NmzYoC5dusjPz09jxozR008/LUm6ePGiGjZsqNatW1/1HuKZM2cqNja21HL/mLU8YB+oAHjAPgBJysvLk5eXl3Jzc+Xp6Vlmv+seMW3durX15/T0dHXo0MEmvIWHhys/P18//fSTpEuX1KOjo9WoUSN5enpaRx6zs7MlXZqZfeDAATVp0kSjRo3S1q1br1lDWlqaZs2aJXd3d+vrX//6l44fP67z588rPT1d/v7+1lAqSR06dCj3MV6tprS0NOXn56tmzZo2+z9y5Ij1FoWxY8dq6NCh6ty5s+bNm2dz60JxcbFmz56t0NBQ+fj4yN3dXVu2bLF+Hpe1aNHC+nO1atVUs2ZNhYaGWpfVrVtXkpSTk2Ota/v27TY1NW3aVJJs9n8lLVu2VEREhEJDQ9WnTx8tXbpUp0+flnRpxDszM1NDhgyx2facOXOs201LS9P3338vDw8Pa7uPj48uXLigzMxM5ebm6vjx47rzzjut+3R0dFSbNm2ueS4mT56s3Nxc6+vo0aPXXAcAAFRM1/2VpG5ubtfVv0ePHgoICNDSpUvl5+enkpISNW/e3HqJNywsTEeOHNGmTZu0bds29e3bV507d9a6devK3GZ+fr5iY2MVFRVVqs3Z2fn6DugKrlZTfn6+fH19lZSUVGo9b29vSZdG+R599FFt3LhRmzZt0owZM7RmzRr17t1bzz33nBYuXKgXX3xRoaGhcnNzU0xMTKmJZJcv/V9mMplsll3+x8DlWyLy8/PVo0cPPfvss6Xq8vX1verxVqtWTQkJCdq9e7e2bt2qxYsXa8qUKUpJSZGr66VRyaVLl9oEy8vrXd5369attWrVqlLbrl279lX3fS1ms9lmZBoAAFRe1x1Mfy8kJETvvfeeLBaLNSglJyfLw8NDt912m06ePKmMjAwtXbpU99xzj6RLl8L/yNPTU/369VO/fv30yCOPqGvXrjp16pR8fHxUvXp1FRcX2/QPCwtTRkaGgoKCyqzr6NGjOn78uDWUffHFF9d1bGXVFBYWpp9//lmOjo42953+UePGjdW4cWONGTNG0dHRWrZsmXr37q3k5GT17NlT//znPyVdCpbffvutmjVrdl31/VFYWJjee+89BQYGytHx+k+ryWRSeHi4wsPDNX36dAUEBGj9+vUaO3as/Pz89MMPP6h///5l7vudd95RnTp1yhye9/X1VUpKiu69915Jly7lX74/FwAAQPqTj4saPny4jh49qqeeekrffPONPvjgA82YMUNjx46Vg4ODatSooZo1a+r111/X999/r08//VRjx4612caCBQv09ttv65tvvtG3336rd999V/Xq1bOOPgYGBioxMVE///yz9fLy9OnTtXLlSsXGxurQoUNKT0/XmjVrNHXqVEmX7kFt3LixBg4cqLS0NO3cuVNTpkwp93FdrabOnTurQ4cO6tWrl7Zu3aqsrCzt3r1bU6ZM0Z49e/Tbb79p5MiRSkpK0o8//qjk5GSlpqYqJCREkhQcHGwdnUxPT9f//d//6Zdffvkzp0GSNGLECJ06dUrR0dFKTU1VZmamtmzZoscff7xUsP+jlJQUPfPMM9qzZ4+ys7P1/vvv68SJE9aaY2NjFRcXp0WLFunbb7/V119/rWXLlmnBggWSLk32qlWrlnr27KmdO3fqyJEjSkpK0qhRo6y3dIwePVrz5s3Thg0b9M0332j48OE6c+bMnz5uAABQefypYFq/fn198skn+vLLL9WyZUsNGzZMQ4YMsQZEBwcHrVmzRnv37lXz5s01ZswYPffcczbb8PDw0Pz589WmTRu1bdtWWVlZ+uSTT6wTp+Lj45WQkCB/f3+1atVKkhQZGamPP/5YW7duVdu2bdW+fXu98MIL1ok7Dg4OWr9+vX777Te1a9dOQ4cOtc7YL4+r1WQymfTJJ5/o3nvv1eOPP67GjRvrH//4h3788UfVrVtX1apV08mTJ/XYY4+pcePG6tu3r7p162adwDN16lSFhYUpMjJSHTt2VL169W7Ktx/5+fkpOTlZxcXF6tKli0JDQxUTEyNvb+8rTkL7PU9PT3322Wd68MEH1bhxY02dOlXx8fHq1q2bJGno0KF64403tGzZMoWGhuq+++7T8uXL1bBhQ0mSq6urPvvsMzVo0EBRUVEKCQnRkCFDdOHCBesI6rhx4zRgwAANHDhQHTp0kIeHh3r37v2njxsAAFQe1zUrH7C3y7P6mJUPVAzMygcg/YWz8gEAAIC/QpUMps8884zNo49+/7p8+boyyc7OLvN43d3dSz2qCgAAwB6q5KX8U6dOWb+l6Y9cXFxUv379W1zRX+vixYs2Xw/6Rzc6k98eynspAAAAGEd5/35XjDRyk/n4+MjHx8feZdwyjo6OZT5aCwAAwCiq5KV8AAAAGA/BFAAAAIZAMAUAAIAhEEwBAABgCARTAAAAGALBFAAAAIZAMAUAAIAhEEwBAABgCARTAAAAGALBFAAAAIZAMAUAAIAhEEwBAABgCARTAAAAGALBFAAAAIZAMAUAAIAhEEwBAABgCARTAAAAGIKjvQsAbkTzGVvkYHa1dxkAboKsed3tXQIAg2DEFAAAAIZAMAUAAIAhEEwBAABgCARTKDAwUC+++KK9ywAAAFUcwRQAAACGQDAFAACAIRBMK4h169YpNDRULi4uqlmzpjp37qxz586ppKREs2bN0m233Saz2aw77rhDmzdvtq7XqVMnjRw50mZbJ06ckJOTkxITE63Lzp49q+joaLm5ual+/fp6+eWXbdY5c+aMhg4dqtq1a8vT01OdOnVSWlqatT0zM1M9e/ZU3bp15e7urrZt22rbtm022wgMDNQzzzyjwYMHy8PDQw0aNNDrr79+Mz8mAABQgRFMK4Djx48rOjpagwcPVnp6upKSkhQVFSWLxaKFCxcqPj5ezz//vL766itFRkbq4Ycf1nfffSdJGjp0qFavXq2CggLr9t566y3Vr19fnTp1si577rnn1LJlS+3fv1+TJk3S6NGjlZCQYG3v06ePcnJytGnTJu3du1dhYWGKiIjQqVOnJEn5+fl68MEHlZiYqP3796tr167q0aOHsrOzbY4lPj5ebdq00f79+zV8+HA9+eSTysjIKPPYCwoKlJeXZ/MCAACVk8lisVjsXQSubt++fWrdurWysrIUEBBg01a/fn2NGDFC//73v63L2rVrp7Zt2+rll1/WhQsX5OfnpyVLlqhv376SpJYtWyoqKkozZsyQdGkkMyQkRJs2bbJu4x//+Ify8vL0ySefaNeuXerevbtycnJkNputfYKCgjRhwgQ98cQTV6y7efPmGjZsmHXENjAwUPfcc4/++9//SpIsFovq1aun2NhYDRs27IrbmDlzpmJjY0st949ZywP2gUqCB+wDlV9eXp68vLyUm5srT0/PMvsxYloBtGzZUhEREQoNDVWfPn20dOlSnT59Wnl5eTp27JjCw8Nt+oeHhys9PV2S5OzsrAEDBujNN9+UdCnkHjx4UIMGDbJZp0OHDqXeX95GWlqa8vPzVbNmTbm7u1tfR44cUWZmpqRLI6bjx49XSEiIvL295e7urvT09FIjpi1atLD+bDKZVK9ePeXk5JR57JMnT1Zubq71dfTo0ev45AAAQEXCV5JWANWqVVNCQoJ2796trVu3avHixZoyZYrNpfarGTp0qO644w799NNPWrZsmTp16lRq5PVq8vPz5evrq6SkpFJt3t7ekqTx48crISFBzz//vIKCguTi4qJHHnlEhYWFNv2rV69u895kMqmkpKTMfZvNZptRWgAAUHkRTCsIk8mk8PBw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XsOKFSvk6OioL7/8UgsXLtSCBQv0xhtvXLGvg4ODFi1apEOHDmnFihX69NNPNWHCBGv7gQMHFBERoWbNmunzzz/Xrl271KNHDxUXF5fa1urVqxUdHa1Vq1apf//+5ao1MTFR6enpSkpK0ttvv633339fsbGx1va4uDitXLlSS5Ys0aFDhzRmzBj985//1I4dO2y28/TTTys+Pl6pqamqXbu2evToYTOief78ec2dO1crV65UcnKyzpw5o3/84x/W9p07d+qxxx7T6NGjdfjwYb322mtavnx5qfA5c+ZM9e7dW19//bUGDx58xWMqKChQXl6ezQsAAFROJktZw39Qx44dlZOTo0OHDslkMkmSJk2apA8//FCHDx9WYGCgYmJiypywtG7dOg0bNky//vqrJOnRRx9Vdna2du3aVeb+7rjjDgUHB2vKlCn64IMPdN9995Wr1kGDBumjjz7S0aNH5ep66cHzS5Ys0dNPP63c3FwVFRXJx8dH27ZtU4cOHazrDR06VOfPn9fq1auVlJSk+++/X2vWrFG/fv0kSadOndJtt92m5cuXq2/fvlq+fLkef/xxffHFF7rzzjslSd98841CQkKUkpKidu3aqXPnzoqIiNDkyZOt+3nrrbc0YcIEHTt2TNKlEdOYmBi98MILVz2umTNn2oTry/xj1vKAfQC3FA/YB25cXl6evLy8lJubK09PzzL78c1P19C+fXtrKJWkDh06KD4+/oqjnNu2bVNcXJy++eYb5eXl6eLFi7pw4YLOnz8vV1dXHThwQH369Lnq/tatW6ecnBwlJyerbdu211Vry5YtraH0cq35+fk6evSo8vPzdf78eT3wwAM26xQWFqpVq1Y2y34fXH18fNSkSROlp6dblzk6OtrU1rRpU3l7eys9PV3t2rVTWlqakpOTbUZIi4uLbT4LSWrTps01j2ny5MkaO3as9X1eXp78/f2vuR4AAKh4CKY3SVZWlh566CE9+eSTmjt3rnx8fLRr1y4NGTJEhYWFcnV1lYuLyzW306pVK+3bt09vvvmm2rRpYxOK/4zL97pu3LhR9evXt2kzm803ZR+/31dsbKyioqJKtTk7O1t/dnNzu+a2zGbzTa8PAAAYE8H0GlJSUmzef/HFFwoODla1atVslu/du1clJSWKj4+Xg8OlW3fXrl1r06dFixZKTEy84qXpy26//XbF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fSIjI5WXl2cd6cP1Ky4u1po1a3Tu3Dl16NCBc2FHI0aMUPfu3W0+e4n/PioiR3sXAFzLr7/+quLiYpv/aUhS3bp19c0339ipqqrp559/lqQrnovLbT///LPq1Klj0+7o6CgfHx9rH9yYkpISxcTEKDw8XM2bN5d06fN2cnKSt7e3Td8/npMrnbPLbbg+X3/9tTp06KALFy7I3d1d69evV7NmzXTgwAHOhR2sWbNG+/btU2pqaqk2/vuoeAimAFBBjBgxQgcPHtSuXbvsXUqV1qRJEx04cEC5ublat26dBg4cqB07dti7rCrp6NGjGj16tBISEuTs7GzvcnATcCkfhlerVi1Vq1at1CzKX375RfXq1bNTVVXT5c/7aueiXr16pSalXbx4UadOneJ8/QkjR47Uxx9/rO3bt+u2226zLq9Xr54KCwt15swZm/5/PCdXOmeX23B9nJycFBQUpNatWysuLk4tW7bUwoULORd2sHfvXuXk5CgsLEyOjo5ydHTUjh07tGjRIjk6Oqpu3bqckwqGYArDc3JyUuvWrZWYmGhdVlJSosTERHXo0MGOlVU9DRs2VL169WzORV5enlJSUqznokOHDjpz5oz27t1r7fPpp5+qpKREd9555y2vuaKzWCwaOXKk1q9fr08//VQNGza0aW/durWqV69uc04yMjKUnZ1tc06+/vprm38wJCQkyNPTU82aNbs1B1KJlZSUqKCggHNhBxEREfr666914MAB66tNmzbq37+/9WfOSQVj79lXQHmsWbPGYjabLcuXL7ccPnzY8sQTT1i8vb1tZlHi5jh79qxl//79lv3791skWRYsWGDZv3+/5ccff7RYLBbLvHnzLN7e3pYPPvjA8tVXX1l69uxpadiwoeW3336zbqNr166WVq1aWVJSUiy7du2yBAcHW6Kjo+11SBXak08+afHy8rIkJSVZjh8/bn2dP3/e2mfYsGGWBg0aWD799FPLnj17LB06dLB06NDB2n7x4kVL8+bNLV26dLEcOHDAsnnzZkvt2rUtkydPtschVWiTJk2y7Nixw3LkyBHLV199ZZk0aZLFZDJZtm7darFYOBdG8PtZ+RYL56SiIZiiwli8eLGlQYMGFicnJ0u7du0sX3zxhb1LqpS2b99ukVTqNXDgQIvFcumRUdOmTbPUrVvXYjabLREREZaMjAybbZw8edISHR1tcXd3t3h6eloef/xxy9mzZ+1wNBXflc6FJMuyZcusfX777TfL8OHDLTVq1LC4urpaevfubTl+/LjNdrKysizdunWzuLi4WGrVqmUZN26cpaio6BYfTcU3ePBgS0BAgMXJyclSu3ZtS0REhDWUWiycCyP4YzDlnFQsJovFYrHPWC0AAADw/+MeUwAAABgCwRQAAACGQDAFAACAIRBMAQAAYAgEUwAAABgCwRQAAACGQDAFAACAIRBMAQAAYAgEUwAAABgCwRQAAACGQDAFAACAIRBMAQAAYAj/H/5y0dlqBoQYAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "korean_ingredient_df = create_ingredient_df(korean_df)\n",
+ "korean_ingredient_df.head(10).plot.barh()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " almond | \n",
+ " angelica | \n",
+ " anise | \n",
+ " anise_seed | \n",
+ " apple | \n",
+ " apple_brandy | \n",
+ " apricot | \n",
+ " armagnac | \n",
+ " artemisia | \n",
+ " artichoke | \n",
+ " ... | \n",
+ " whiskey | \n",
+ " white_bread | \n",
+ " white_wine | \n",
+ " whole_grain_wheat_flour | \n",
+ " wine | \n",
+ " wood | \n",
+ " yam | \n",
+ " yeast | \n",
+ " yogurt | \n",
+ " zucchini | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 380 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " almond angelica anise anise_seed apple apple_brandy apricot \\\n",
+ "0 0 0 0 0 0 0 0 \n",
+ "1 1 0 0 0 0 0 0 \n",
+ "2 0 0 0 0 0 0 0 \n",
+ "3 0 0 0 0 0 0 0 \n",
+ "4 0 0 0 0 0 0 0 \n",
+ "\n",
+ " armagnac artemisia artichoke ... whiskey white_bread white_wine \\\n",
+ "0 0 0 0 ... 0 0 0 \n",
+ "1 0 0 0 ... 0 0 0 \n",
+ "2 0 0 0 ... 0 0 0 \n",
+ "3 0 0 0 ... 0 0 0 \n",
+ "4 0 0 0 ... 0 0 0 \n",
+ "\n",
+ " whole_grain_wheat_flour wine wood yam yeast yogurt zucchini \n",
+ "0 0 0 0 0 0 0 0 \n",
+ "1 0 0 0 0 0 0 0 \n",
+ "2 0 0 0 0 0 0 0 \n",
+ "3 0 0 0 0 0 0 0 \n",
+ "4 0 0 0 0 0 1 0 \n",
+ "\n",
+ "[5 rows x 380 columns]"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "feature_df= df.drop(['cuisine','Unnamed: 0','rice','garlic','ginger'], axis=1)\n",
+ "labels_df = df.cuisine #.unique()\n",
+ "feature_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "oversample = SMOTE()\n",
+ "transformed_feature_df, transformed_label_df = oversample.fit_resample(feature_df, labels_df)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "new label count: cuisine\n",
+ "indian 799\n",
+ "thai 799\n",
+ "chinese 799\n",
+ "japanese 799\n",
+ "korean 799\n",
+ "Name: count, dtype: int64\n",
+ "old label count: cuisine\n",
+ "korean 799\n",
+ "indian 598\n",
+ "chinese 442\n",
+ "japanese 320\n",
+ "thai 289\n",
+ "Name: count, dtype: int64\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(f'new label count: {transformed_label_df.value_counts()}')\n",
+ "print(f'old label count: {df.cuisine.value_counts()}')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "transformed_df = pd.concat([transformed_label_df,transformed_feature_df],axis=1, join='outer')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 3995 entries, 0 to 3994\n",
+ "Columns: 381 entries, cuisine to zucchini\n",
+ "dtypes: int64(380), object(1)\n",
+ "memory usage: 11.6+ MB\n"
+ ]
+ }
+ ],
+ "source": [
+ "transformed_df.head()\n",
+ "transformed_df.info()\n",
+ "transformed_df.to_csv(\"../data/cleaned_cuisines.csv\")"
+ ]
+ }
+ ],
"metadata": {
+ "kernelspec": {
+ "display_name": ".venv",
+ "language": "python",
+ "name": "python3"
+ },
"language_info": {
"codemirror_mode": {
"name": "ipython",
@@ -10,19 +790,10 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": 3
+ "version": "3.12.0"
},
"orig_nbformat": 2
},
"nbformat": 4,
- "nbformat_minor": 2,
- "cells": [
- {
- "source": [
- "# Delicious Asian and Indian Cuisines "
- ],
- "cell_type": "markdown",
- "metadata": {}
- }
- ]
-}
\ No newline at end of file
+ "nbformat_minor": 2
+}