[404218]: / Code / PennyLane / QML Algorithm Search / Quanvolutional Neural Networks / 1RYeRandomLrsStd 2nd 66.7% 129.71s.ipynb

Download this file

862 lines (861 with data), 166.9 kB

{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "A7xgHxPxd0J_",
        "outputId": "c31e0936-e9f1-432f-c1b0-137815e182f4"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since beginning of run: 1706118547.6430213\n",
            "Wed Jan 24 17:49:07 2024\n"
          ]
        }
      ],
      "source": [
        "# This cell is added by sphinx-gallery\n",
        "# It can be customized to whatever you like\n",
        "%matplotlib inline\n",
        "# from google.colab import drive\n",
        "# drive.mount('/content/drive')\n",
        "# !pip install pennylane\n",
        "import time\n",
        "seconds = time.time()\n",
        "print(\"Time in seconds since beginning of run:\", seconds)\n",
        "local_time = time.ctime(seconds)\n",
        "print(local_time)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "RWYw4Yy7d0KA"
      },
      "source": [
        "Quanvolutional Neural Networks {#quanvolution}\n",
        "==============================\n",
        "\n",
        "::: {.meta}\n",
        ":property=\\\"og:description\\\": Train a quantum convolutional neural\n",
        "network to classify MNIST images. :property=\\\"og:image\\\":\n",
        "<https://pennylane.ai/qml/_static/demonstration_assets//circuit.png>\n",
        ":::\n",
        "\n",
        "*Author: Andrea Mari --- Posted: 24 March 2020. Last updated: 15 January\n",
        "2021.*\n",
        "\n",
        "In this demo we implement the *Quanvolutional Neural Network*, a quantum\n",
        "machine learning model originally introduced in [Henderson et al.\n",
        "(2019)](https://arxiv.org/abs/1904.04767).\n",
        "\n",
        "![](../_static/demonstration_assets/quanvolution/circuit.png){.align-center\n",
        "width=\"90.0%\"}\n",
        "\n",
        "Introduction\n",
        "------------\n",
        "\n",
        "### Classical convolution\n",
        "\n",
        "The *convolutional neural network* (CNN) is a standard model in\n",
        "classical machine learning which is particularly suitable for processing\n",
        "images. The model is based on the idea of a *convolution layer* where,\n",
        "instead of processing the full input data with a global function, a\n",
        "local convolution is applied.\n",
        "\n",
        "If the input is an image, small local regions are sequentially processed\n",
        "with the same kernel. The results obtained for each region are usually\n",
        "associated to different channels of a single output pixel. The union of\n",
        "all the output pixels produces a new image-like object, which can be\n",
        "further processed by additional layers.\n",
        "\n",
        "### Quantum convolution\n",
        "\n",
        "One can extend the same idea also to the context of quantum variational\n",
        "circuits. A possible approach is given by the following procedure which\n",
        "is very similar to the one used in Ref. \\[1\\]. The scheme is also\n",
        "represented in the figure at the top of this tutorial.\n",
        "\n",
        "1.  A small region of the input image, in our example a $2 \\times 2$\n",
        "    square, is embedded into a quantum circuit. In this demo, this is\n",
        "    achieved with parametrized rotations applied to the qubits\n",
        "    initialized in the ground state.\n",
        "2.  A quantum computation, associated to a unitary $U$, is performed on\n",
        "    the system. The unitary could be generated by a variational quantum\n",
        "    circuit or, more simply, by a random circuit as proposed in Ref.\n",
        "    \\[1\\].\n",
        "3.  The quantum system is finally measured, obtaining a list of\n",
        "    classical expectation values. The measurement results could also be\n",
        "    classically post-processed as proposed in Ref. \\[1\\] but, for\n",
        "    simplicity, in this demo we directly use the raw expectation values.\n",
        "4.  Analogously to a classical convolution layer, each expectation value\n",
        "    is mapped to a different channel of a single output pixel.\n",
        "5.  Iterating the same procedure over different regions, one can scan\n",
        "    the full input image, producing an output object which will be\n",
        "    structured as a multi-channel image.\n",
        "6.  The quantum convolution can be followed by further quantum layers or\n",
        "    by classical layers.\n",
        "\n",
        "The main difference with respect to a classical convolution is that a\n",
        "quantum circuit can generate highly complex kernels whose computation\n",
        "could be, at least in principle, classically intractable.\n",
        "\n",
        "::: {.note}\n",
        "::: {.title}\n",
        "Note\n",
        ":::\n",
        "\n",
        "In this tutorial we follow the approach of Ref. \\[1\\] in which a fixed\n",
        "non-trainable quantum circuit is used as a \\\"quanvolution\\\" kernel,\n",
        "while the subsequent classical layers are trained for the classification\n",
        "problem of interest. However, by leveraging the ability of PennyLane to\n",
        "evaluate gradients of quantum circuits, the quantum kernel could also be\n",
        "trained.\n",
        ":::\n",
        "\n",
        "General setup\n",
        "-------------\n",
        "\n",
        "This Python code requires *PennyLane* with the *TensorFlow* interface\n",
        "and the plotting library *matplotlib*.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "id": "VPbcKloNd0KC"
      },
      "outputs": [],
      "source": [
        "import pennylane as qml\n",
        "from pennylane import numpy as np\n",
        "from pennylane.templates import RandomLayers\n",
        "import tensorflow as tf\n",
        "from tensorflow import keras\n",
        "import matplotlib.pyplot as plt"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ISZAWXDMd0KC"
      },
      "source": [
        "Setting of the main hyper-parameters of the model\n",
        "=================================================\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "id": "1D5V-v5Vd0KC"
      },
      "outputs": [],
      "source": [
        "n_epochs = 30   # Number of optimization epochs\n",
        "n_layers = 1    # Number of random layers\n",
        "n_train = 50    # Size of the train dataset\n",
        "n_test = 30     # Size of the test dataset\n",
        "\n",
        "SAVE_PATH = \"/content/drive/MyDrive/Colab Notebooks/data/quanvolution\"  # Data saving folder\n",
        "PREPROCESS = True           # If False, skip quantum processing and load data from SAVE_PATH\n",
        "np.random.seed(0)           # Seed for NumPy random number generator\n",
        "tf.random.set_seed(0)       # Seed for TensorFlow random number generator"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "avddR0atd0KC"
      },
      "source": [
        "Loading of the MNIST dataset\n",
        "============================\n",
        "\n",
        "We import the MNIST dataset from *Keras*. To speedup the evaluation of\n",
        "this demo we use only a small number of training and test images.\n",
        "Obviously, better results are achievable when using the full dataset.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "id": "xlhnv1hrd0KC",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "outputId": "c80cd635-8d9d-4bf5-a060-0212cdc82f49"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n",
            "11490434/11490434 [==============================] - 0s 0us/step\n"
          ]
        }
      ],
      "source": [
        "mnist_dataset = keras.datasets.mnist\n",
        "(train_images, train_labels), (test_images, test_labels) = mnist_dataset.load_data()\n",
        "\n",
        "# Reduce dataset size\n",
        "train_images = train_images[:n_train]\n",
        "train_labels = train_labels[:n_train]\n",
        "test_images = test_images[:n_test]\n",
        "test_labels = test_labels[:n_test]\n",
        "\n",
        "# Normalize pixel values within 0 and 1\n",
        "train_images = train_images / 255\n",
        "test_images = test_images / 255\n",
        "\n",
        "# Add extra dimension for convolution channels\n",
        "train_images = np.array(train_images[..., tf.newaxis], requires_grad=False)\n",
        "test_images = np.array(test_images[..., tf.newaxis], requires_grad=False)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "bDVPKQD8d0KD"
      },
      "source": [
        "Quantum circuit as a convolution kernel\n",
        "=======================================\n",
        "\n",
        "We follow the scheme described in the introduction and represented in\n",
        "the figure at the top of this demo.\n",
        "\n",
        "We initialize a PennyLane `default.qubit` device, simulating a system of\n",
        "$4$ qubits. The associated `qnode` represents the quantum circuit\n",
        "consisting of:\n",
        "\n",
        "1.  an embedding layer of local $R_y$ rotations (with angles scaled by a\n",
        "    factor of $\\pi$);\n",
        "2.  a random circuit of `n_layers`;\n",
        "3.  a final measurement in the computational basis, estimating $4$\n",
        "    expectation values.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "id": "rD5_3eztd0KD"
      },
      "outputs": [],
      "source": [
        "dev = qml.device(\"default.qubit\", wires=4)\n",
        "# Random circuit parameters\n",
        "rand_params = np.random.uniform(high=2 * np.pi, size=(n_layers, 4))\n",
        "\n",
        "@qml.qnode(dev)\n",
        "def circuit(phi):\n",
        "    # Encoding of 4 classical input values\n",
        "    for j in range(4):\n",
        "        qml.RY(np.pi * phi[j], wires=j)\n",
        "\n",
        "    # Random quantum circuit\n",
        "    RandomLayers(rand_params, wires=list(range(4)))\n",
        "\n",
        "    # Measurement producing 4 classical output values\n",
        "    return [qml.expval(qml.PauliZ(j)) for j in range(4)]"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "02g-DOe8d0KD"
      },
      "source": [
        "The next function defines the convolution scheme:\n",
        "\n",
        "1.  the image is divided into squares of $2 \\times 2$ pixels;\n",
        "2.  each square is processed by the quantum circuit;\n",
        "3.  the $4$ expectation values are mapped into $4$ different channels of\n",
        "    a single output pixel.\n",
        "\n",
        "::: {.note}\n",
        "::: {.title}\n",
        "Note\n",
        ":::\n",
        "\n",
        "This process halves the resolution of the input image. In the standard\n",
        "language of CNN, this would correspond to a convolution with a\n",
        "$2 \\times 2$ *kernel* and a *stride* equal to $2$.\n",
        ":::\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {
        "id": "AEL9cTFEd0KD"
      },
      "outputs": [],
      "source": [
        "def quanv(image):\n",
        "    \"\"\"Convolves the input image with many applications of the same quantum circuit.\"\"\"\n",
        "    out = np.zeros((14, 14, 4))\n",
        "\n",
        "    # Loop over the coordinates of the top-left pixel of 2X2 squares\n",
        "    for j in range(0, 28, 2):\n",
        "        for k in range(0, 28, 2):\n",
        "            # Process a squared 2x2 region of the image with a quantum circuit\n",
        "            q_results = circuit(\n",
        "                [\n",
        "                    image[j, k, 0],\n",
        "                    image[j, k + 1, 0],\n",
        "                    image[j + 1, k, 0],\n",
        "                    image[j + 1, k + 1, 0]\n",
        "                ]\n",
        "            )\n",
        "            # Assign expectation values to different channels of the output pixel (j/2, k/2)\n",
        "            for c in range(4):\n",
        "                out[j // 2, k // 2, c] = q_results[c]\n",
        "    return out"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "N3MmyCQad0KD"
      },
      "source": [
        "Quantum pre-processing of the dataset\n",
        "=====================================\n",
        "\n",
        "Since we are not going to train the quantum convolution layer, it is\n",
        "more efficient to apply it as a \\\"pre-processing\\\" layer to all the\n",
        "images of our dataset. Later an entirely classical model will be\n",
        "directly trained and tested on the pre-processed dataset, avoiding\n",
        "unnecessary repetitions of quantum computations.\n",
        "\n",
        "The pre-processed images will be saved in the folder `SAVE_PATH`. Once\n",
        "saved, they can be directly loaded by setting `PREPROCESS = False`,\n",
        "otherwise the quantum convolution is evaluated at each run of the code.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "c3oexS3hd0KD",
        "outputId": "949ca699-6b2e-4681-aa6b-cc514c2375d4"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Quantum pre-processing of train images:\n",
            "\n",
            "Quantum pre-processing of test images:\n"
          ]
        }
      ],
      "source": [
        "if PREPROCESS == True:\n",
        "    q_train_images = []\n",
        "    print(\"Quantum pre-processing of train images:\")\n",
        "    for idx, img in enumerate(train_images):\n",
        "        print(\"{}/{}        \".format(idx + 1, n_train), end=\"\\r\")\n",
        "        q_train_images.append(quanv(img))\n",
        "    q_train_images = np.asarray(q_train_images)\n",
        "\n",
        "    q_test_images = []\n",
        "    print(\"\\nQuantum pre-processing of test images:\")\n",
        "    for idx, img in enumerate(test_images):\n",
        "        print(\"{}/{}        \".format(idx + 1, n_test), end=\"\\r\")\n",
        "        q_test_images.append(quanv(img))\n",
        "    q_test_images = np.asarray(q_test_images)\n",
        "\n",
        "    # Save pre-processed images\n",
        "    np.save(SAVE_PATH + \"q_train_images.npy\", q_train_images)\n",
        "    np.save(SAVE_PATH + \"q_test_images.npy\", q_test_images)\n",
        "\n",
        "\n",
        "# Load pre-processed images\n",
        "q_train_images = np.load(SAVE_PATH + \"q_train_images.npy\")\n",
        "q_test_images = np.load(SAVE_PATH + \"q_test_images.npy\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "kJYilWS1d0KE"
      },
      "source": [
        "Let us visualize the effect of the quantum convolution layer on a batch\n",
        "of samples:\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1006
        },
        "id": "2ckiL7srd0KE",
        "outputId": "a2e35372-15fe-4da3-aa55-e854d4a5ee4d"
      },
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 20 Axes>"
            ],
            "image/png": "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AAAANxndY1pbW6vdu3f7rpeVlWn79u3q3r27evfurbvuuksPPvig+vXrp6ysLM2cOVNpaWnNznUKAAAAAIhsQe0xLS4u1meffea3/vnnn6u4uNj2djZv3qxvfetb+ta3viVJKioq0re+9S3NmjVLknTvvffq9ttv16233qoLL7xQtbW1Wr9+vTp27BhMbAAAAABAGApqML3//vsDfo/ps88+0/333297O5dccoksy/K7rFy5UpLk8XhUXFysiooKnThxQq+++mqL3+MCAAAAAESmoAZTy7Lk8Xj81t977z1179691aEAAAAAALHD0XdMu3XrJo/HI4/Ho/79+zcbThsbG1VbW6uf/vSnrodEcObMmRNwffDgwX5r3/ve9wLW5uXlBVz/+9//HnQuIJK1dNTvRx55JOB6oCONHj9+PGDtxIkTA65v3rzZby2ajlTau3dv0xEQBs455xzbtf/85z9DmCR6BPp7KdCReiXpX//6l99aS39XAbEgMzMz4Przzz/f6m0vWbIk4Prrr7/e6m1HMkeD6aJFi2RZliZPnqz777+/2SkP4uPjlZmZyRFzAQAAAACOOBpMCwoKJH15KpeLLrpIHTp0CEkoAAAAAEDsCOp0MVlZWQFP+H4KH8sCAAAAANgV1GCamZkZ8OBHpzQ2NgYdCAAAAAAQW4IaTLdt29bs+smTJ7Vt2zY9+uijeuihh1wJhtarq6sLuH7LLbf4rW3dujVg7RNPPBFwPdCXswMdoEWSli5dGnDdsqyA60A4O3Xe5f8r0EGOWnLNNdcEXH/zzTeDygTEmnfffdd0hJBLSkryW7viiisC1t5www0B1y+//HLbP++BBx7wW6uqqrJ9fyDatNRvAwcOtL2NkpKSgOu//vWvg8oU7YIaTLOzs/3WhgwZorS0NM2fP19jx45tdTAAAAAAQGwI6jymLTnnnHNi4reYAAAAAAD3BLXHtKamptl1y7J08OBBzZkzR/369XMlGAAAAAAgNgQ1mHbt2tXv4EeWZSkjI0OrV692JRgAAAAAIDYENZj+3wPfxMXFqUePHjr77LPVvn1QmwQAAAAAxKigpsjvfe97budAG9qzZ4/f2k033RSwdsWKFQHXb7zxRltrktS5c+eA60899ZTf2tedHxcIB48++mjA9ZZOoRXoSLuxcPTduDj/Qxg0NTUZSIJo1L1795BtO9AB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O3bMd/n0009DkREAAAAAEMUcD6b79+/XHXfcoU6dOoUiTzNz5syRx+NpdhkwYEDIfy4AAAAAoO04/ihvfn6+Nm/erL59+4Yij5/zzz9fr776qu96+/auHUgYAAAAABAGbE1569at8/35yiuv1LRp07Rjxw5985vfVIcOHZrVXn311e4GbN9eqamprm4TAAAAABA+bA2mY8aM8VsrLi72W/N4PGpsbGx1qK/atWuX0tLS1LFjR+Xm5mru3Lnq3bt3i/X19fWqr6/3Xa+pqXE1DwAAAADAXba+Y9rU1GTr4vZQmpOTo5UrV2r9+vVatmyZysrKdPHFF3/toZfnzp0rr9fru2RkZLiaCQAAAADgLscHP2pLo0aN0vXXX6+BAwcqPz9ff/3rX1VVVaVnn322xftMnz5d1dXVvouTcw0BAAAAANqe48H0jjvu0OLFi/3WH3vsMd11111uZGpR165d1b9/f+3evbvFmoSEBCUlJTW7AAAAAADCl+PB9Pnnn9ewYcP81i+66CI999xzroRqSW1trfbs2aNevXqF9OcAAAAAANqO48H06NGj8nq9futJSUk6cuSIK6FOueeee/Tmm29q7969euedd3TttdeqXbt2Gj9+vKs/BwAAAABgjuOTgp599tlav369CgsLm62//PLLrp/b9JNPPtH48eN19OhR9ejRQ8OHD9eGDRvUo0cPV39OOHJyNOFzzz3X0bbLysps1/7iF79wtG0gmiQkJNiufeGFF2zXTp8+3VGOV155xXbt3r17HW07VL56dHTgq55//nlH9Zs2bQpRkuh3+PBh27XvvPNOCJMA4a1///62a5383+Cf//xnMHFiluPBtKioSIWFhTp8+LBGjBghSSopKdGCBQu0aNEiV8OtXr3a1e0BAAAAAMKP48F08uTJqq+v10MPPaQHHnhAkpSZmally5Zp4sSJrgcEAAAAAEQ3x4OpJE2ZMkVTpkzR4cOHlZiYqDPOOMPtXAAAAACAGBHUYHpKLHzXEwAAAAAQWraOyvvtb39bx44ds73R4cOHa//+/UGHAgAAAADEDlt7TLdv36733ntP3bt3t7XR7du3c0RGAAAAAIAttj/KO3LkSFmWZavW4/EEHQgAAAAAEFtsDaZOznt5Snp6uuP7AAAAAABij63BtE+fPqHOAQAAAACIUbYOfgQAAAAAQKi06nQxCA91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\n"
          },
          "metadata": {}
        }
      ],
      "source": [
        "n_samples = 4\n",
        "n_channels = 4\n",
        "fig, axes = plt.subplots(1 + n_channels, n_samples, figsize=(10, 10))\n",
        "for k in range(n_samples):\n",
        "    axes[0, 0].set_ylabel(\"Input\")\n",
        "    if k != 0:\n",
        "        axes[0, k].yaxis.set_visible(False)\n",
        "    axes[0, k].imshow(train_images[k, :, :, 0], cmap=\"gray\")\n",
        "\n",
        "    # Plot all output channels\n",
        "    for c in range(n_channels):\n",
        "        axes[c + 1, 0].set_ylabel(\"Output [ch. {}]\".format(c))\n",
        "        if k != 0:\n",
        "            axes[c, k].yaxis.set_visible(False)\n",
        "        axes[c + 1, k].imshow(q_train_images[k, :, :, c], cmap=\"gray\")\n",
        "\n",
        "plt.tight_layout()\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "rCnk_yy0d0KE"
      },
      "source": [
        "Below each input image, the $4$ output channels generated by the quantum\n",
        "convolution are visualized in gray scale.\n",
        "\n",
        "One can clearly notice the downsampling of the resolution and some local\n",
        "distortion introduced by the quantum kernel. On the other hand the\n",
        "global shape of the image is preserved, as expected for a convolution\n",
        "layer.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "vCjr6WvXd0KE"
      },
      "source": [
        "Hybrid quantum-classical model\n",
        "==============================\n",
        "\n",
        "After the application of the quantum convolution layer we feed the\n",
        "resulting features into a classical neural network that will be trained\n",
        "to classify the $10$ different digits of the MNIST dataset.\n",
        "\n",
        "We use a very simple model: just a fully connected layer with 10 output\n",
        "nodes with a final *softmax* activation function.\n",
        "\n",
        "The model is compiled with a *stochastic-gradient-descent* optimizer,\n",
        "and a *cross-entropy* loss function.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {
        "id": "PHtPdynad0KE"
      },
      "outputs": [],
      "source": [
        "def MyModel():\n",
        "    \"\"\"Initializes and returns a custom Keras model\n",
        "    which is ready to be trained.\"\"\"\n",
        "    model = keras.models.Sequential([\n",
        "        keras.layers.Flatten(),\n",
        "        keras.layers.Dense(10, activation=\"softmax\")\n",
        "    ])\n",
        "\n",
        "    model.compile(\n",
        "        optimizer='adam',\n",
        "        loss=\"sparse_categorical_crossentropy\",\n",
        "        metrics=[\"accuracy\"],\n",
        "    )\n",
        "    return model"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "WlOj9hwGd0KE"
      },
      "source": [
        "Training\n",
        "========\n",
        "\n",
        "We first initialize an instance of the model, then we train and validate\n",
        "it with the dataset that has been already pre-processed by a quantum\n",
        "convolution.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "Zj8fE8uhd0KF",
        "outputId": "e980c297-1b75-44d5-9008-401ad24c41c9"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/30\n",
            "13/13 - 1s - loss: 2.8420 - accuracy: 0.0800 - val_loss: 2.3128 - val_accuracy: 0.1667 - 753ms/epoch - 58ms/step\n",
            "Epoch 2/30\n",
            "13/13 - 0s - loss: 2.2221 - accuracy: 0.1400 - val_loss: 2.0889 - val_accuracy: 0.3333 - 55ms/epoch - 4ms/step\n",
            "Epoch 3/30\n",
            "13/13 - 0s - loss: 1.8180 - accuracy: 0.4000 - val_loss: 1.9445 - val_accuracy: 0.3667 - 53ms/epoch - 4ms/step\n",
            "Epoch 4/30\n",
            "13/13 - 0s - loss: 1.4808 - accuracy: 0.6000 - val_loss: 1.7972 - val_accuracy: 0.5000 - 52ms/epoch - 4ms/step\n",
            "Epoch 5/30\n",
            "13/13 - 0s - loss: 1.2445 - accuracy: 0.7200 - val_loss: 1.6853 - val_accuracy: 0.5333 - 54ms/epoch - 4ms/step\n",
            "Epoch 6/30\n",
            "13/13 - 0s - loss: 1.0416 - accuracy: 0.8000 - val_loss: 1.6227 - val_accuracy: 0.5333 - 54ms/epoch - 4ms/step\n",
            "Epoch 7/30\n",
            "13/13 - 0s - loss: 0.8257 - accuracy: 0.9200 - val_loss: 1.5220 - val_accuracy: 0.5333 - 54ms/epoch - 4ms/step\n",
            "Epoch 8/30\n",
            "13/13 - 0s - loss: 0.6825 - accuracy: 0.9600 - val_loss: 1.4476 - val_accuracy: 0.6000 - 55ms/epoch - 4ms/step\n",
            "Epoch 9/30\n",
            "13/13 - 0s - loss: 0.5879 - accuracy: 0.9800 - val_loss: 1.3881 - val_accuracy: 0.6333 - 53ms/epoch - 4ms/step\n",
            "Epoch 10/30\n",
            "13/13 - 0s - loss: 0.4856 - accuracy: 1.0000 - val_loss: 1.3761 - val_accuracy: 0.5667 - 53ms/epoch - 4ms/step\n",
            "Epoch 11/30\n",
            "13/13 - 0s - loss: 0.4477 - accuracy: 1.0000 - val_loss: 1.3352 - val_accuracy: 0.5667 - 53ms/epoch - 4ms/step\n",
            "Epoch 12/30\n",
            "13/13 - 0s - loss: 0.4006 - accuracy: 1.0000 - val_loss: 1.3803 - val_accuracy: 0.6667 - 53ms/epoch - 4ms/step\n",
            "Epoch 13/30\n",
            "13/13 - 0s - loss: 0.3434 - accuracy: 1.0000 - val_loss: 1.2856 - val_accuracy: 0.6333 - 54ms/epoch - 4ms/step\n",
            "Epoch 14/30\n",
            "13/13 - 0s - loss: 0.3162 - accuracy: 0.9800 - val_loss: 1.2460 - val_accuracy: 0.6333 - 57ms/epoch - 4ms/step\n",
            "Epoch 15/30\n",
            "13/13 - 0s - loss: 0.2669 - accuracy: 1.0000 - val_loss: 1.2342 - val_accuracy: 0.6667 - 52ms/epoch - 4ms/step\n",
            "Epoch 16/30\n",
            "13/13 - 0s - loss: 0.2360 - accuracy: 1.0000 - val_loss: 1.2536 - val_accuracy: 0.6333 - 52ms/epoch - 4ms/step\n",
            "Epoch 17/30\n",
            "13/13 - 0s - loss: 0.2210 - accuracy: 1.0000 - val_loss: 1.2208 - val_accuracy: 0.7000 - 53ms/epoch - 4ms/step\n",
            "Epoch 18/30\n",
            "13/13 - 0s - loss: 0.1978 - accuracy: 1.0000 - val_loss: 1.2097 - val_accuracy: 0.6333 - 52ms/epoch - 4ms/step\n",
            "Epoch 19/30\n",
            "13/13 - 0s - loss: 0.1787 - accuracy: 1.0000 - val_loss: 1.2226 - val_accuracy: 0.6000 - 52ms/epoch - 4ms/step\n",
            "Epoch 20/30\n",
            "13/13 - 0s - loss: 0.1662 - accuracy: 1.0000 - val_loss: 1.1746 - val_accuracy: 0.6333 - 53ms/epoch - 4ms/step\n",
            "Epoch 21/30\n",
            "13/13 - 0s - loss: 0.1536 - accuracy: 1.0000 - val_loss: 1.1977 - val_accuracy: 0.6333 - 54ms/epoch - 4ms/step\n",
            "Epoch 22/30\n",
            "13/13 - 0s - loss: 0.1384 - accuracy: 1.0000 - val_loss: 1.1869 - val_accuracy: 0.6667 - 54ms/epoch - 4ms/step\n",
            "Epoch 23/30\n",
            "13/13 - 0s - loss: 0.1309 - accuracy: 1.0000 - val_loss: 1.1605 - val_accuracy: 0.6667 - 53ms/epoch - 4ms/step\n",
            "Epoch 24/30\n",
            "13/13 - 0s - loss: 0.1220 - accuracy: 1.0000 - val_loss: 1.1504 - val_accuracy: 0.6333 - 52ms/epoch - 4ms/step\n",
            "Epoch 25/30\n",
            "13/13 - 0s - loss: 0.1174 - accuracy: 1.0000 - val_loss: 1.1492 - val_accuracy: 0.7000 - 55ms/epoch - 4ms/step\n",
            "Epoch 26/30\n",
            "13/13 - 0s - loss: 0.1058 - accuracy: 1.0000 - val_loss: 1.1515 - val_accuracy: 0.6333 - 52ms/epoch - 4ms/step\n",
            "Epoch 27/30\n",
            "13/13 - 0s - loss: 0.1008 - accuracy: 1.0000 - val_loss: 1.1396 - val_accuracy: 0.6667 - 51ms/epoch - 4ms/step\n",
            "Epoch 28/30\n",
            "13/13 - 0s - loss: 0.0987 - accuracy: 1.0000 - val_loss: 1.1291 - val_accuracy: 0.7000 - 51ms/epoch - 4ms/step\n",
            "Epoch 29/30\n",
            "13/13 - 0s - loss: 0.0904 - accuracy: 1.0000 - val_loss: 1.1504 - val_accuracy: 0.6333 - 52ms/epoch - 4ms/step\n",
            "Epoch 30/30\n",
            "13/13 - 0s - loss: 0.0843 - accuracy: 1.0000 - val_loss: 1.1317 - val_accuracy: 0.6667 - 54ms/epoch - 4ms/step\n"
          ]
        }
      ],
      "source": [
        "q_model = MyModel()\n",
        "\n",
        "q_history = q_model.fit(\n",
        "    q_train_images,\n",
        "    train_labels,\n",
        "    validation_data=(q_test_images, test_labels),\n",
        "    batch_size=4,\n",
        "    epochs=n_epochs,\n",
        "    verbose=2,\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ZrgNg_sSd0KF"
      },
      "source": [
        "In order to compare the results achievable with and without the quantum\n",
        "convolution layer, we initialize also a \\\"classical\\\" instance of the\n",
        "model that will be directly trained and validated with the raw MNIST\n",
        "images (i.e., without quantum pre-processing).\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "xVJR8xXcd0KF",
        "outputId": "230796bb-bc07-4475-f8e9-cc7290ba89e8"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/30\n",
            "13/13 - 1s - loss: 2.4356 - accuracy: 0.1400 - val_loss: 2.3838 - val_accuracy: 0.1333 - 565ms/epoch - 43ms/step\n",
            "Epoch 2/30\n",
            "13/13 - 0s - loss: 2.0584 - accuracy: 0.2800 - val_loss: 2.1993 - val_accuracy: 0.2000 - 54ms/epoch - 4ms/step\n",
            "Epoch 3/30\n",
            "13/13 - 0s - loss: 1.7519 - accuracy: 0.4800 - val_loss: 2.0401 - val_accuracy: 0.3000 - 54ms/epoch - 4ms/step\n",
            "Epoch 4/30\n",
            "13/13 - 0s - loss: 1.5112 - accuracy: 0.6600 - val_loss: 1.8951 - val_accuracy: 0.2667 - 55ms/epoch - 4ms/step\n",
            "Epoch 5/30\n",
            "13/13 - 0s - loss: 1.2995 - accuracy: 0.7800 - val_loss: 1.7590 - val_accuracy: 0.4333 - 54ms/epoch - 4ms/step\n",
            "Epoch 6/30\n",
            "13/13 - 0s - loss: 1.1287 - accuracy: 0.8200 - val_loss: 1.6608 - val_accuracy: 0.5667 - 54ms/epoch - 4ms/step\n",
            "Epoch 7/30\n",
            "13/13 - 0s - loss: 0.9802 - accuracy: 0.8800 - val_loss: 1.5869 - val_accuracy: 0.5667 - 57ms/epoch - 4ms/step\n",
            "Epoch 8/30\n",
            "13/13 - 0s - loss: 0.8597 - accuracy: 0.8800 - val_loss: 1.5148 - val_accuracy: 0.6667 - 54ms/epoch - 4ms/step\n",
            "Epoch 9/30\n",
            "13/13 - 0s - loss: 0.7578 - accuracy: 0.9000 - val_loss: 1.4612 - val_accuracy: 0.6667 - 55ms/epoch - 4ms/step\n",
            "Epoch 10/30\n",
            "13/13 - 0s - loss: 0.6724 - accuracy: 0.9400 - val_loss: 1.4199 - val_accuracy: 0.6667 - 55ms/epoch - 4ms/step\n",
            "Epoch 11/30\n",
            "13/13 - 0s - loss: 0.6061 - accuracy: 0.9400 - val_loss: 1.3761 - val_accuracy: 0.7667 - 53ms/epoch - 4ms/step\n",
            "Epoch 12/30\n",
            "13/13 - 0s - loss: 0.5445 - accuracy: 0.9400 - val_loss: 1.3684 - val_accuracy: 0.7000 - 55ms/epoch - 4ms/step\n",
            "Epoch 13/30\n",
            "13/13 - 0s - loss: 0.4919 - accuracy: 1.0000 - val_loss: 1.3374 - val_accuracy: 0.7333 - 56ms/epoch - 4ms/step\n",
            "Epoch 14/30\n",
            "13/13 - 0s - loss: 0.4440 - accuracy: 1.0000 - val_loss: 1.2973 - val_accuracy: 0.7333 - 57ms/epoch - 4ms/step\n",
            "Epoch 15/30\n",
            "13/13 - 0s - loss: 0.4028 - accuracy: 1.0000 - val_loss: 1.2738 - val_accuracy: 0.7333 - 58ms/epoch - 4ms/step\n",
            "Epoch 16/30\n",
            "13/13 - 0s - loss: 0.3685 - accuracy: 1.0000 - val_loss: 1.2571 - val_accuracy: 0.7333 - 68ms/epoch - 5ms/step\n",
            "Epoch 17/30\n",
            "13/13 - 0s - loss: 0.3392 - accuracy: 1.0000 - val_loss: 1.2413 - val_accuracy: 0.7333 - 56ms/epoch - 4ms/step\n",
            "Epoch 18/30\n",
            "13/13 - 0s - loss: 0.3126 - accuracy: 1.0000 - val_loss: 1.2206 - val_accuracy: 0.7333 - 55ms/epoch - 4ms/step\n",
            "Epoch 19/30\n",
            "13/13 - 0s - loss: 0.2869 - accuracy: 1.0000 - val_loss: 1.2158 - val_accuracy: 0.7333 - 53ms/epoch - 4ms/step\n",
            "Epoch 20/30\n",
            "13/13 - 0s - loss: 0.2661 - accuracy: 1.0000 - val_loss: 1.1952 - val_accuracy: 0.7333 - 53ms/epoch - 4ms/step\n",
            "Epoch 21/30\n",
            "13/13 - 0s - loss: 0.2473 - accuracy: 1.0000 - val_loss: 1.1924 - val_accuracy: 0.7333 - 55ms/epoch - 4ms/step\n",
            "Epoch 22/30\n",
            "13/13 - 0s - loss: 0.2299 - accuracy: 1.0000 - val_loss: 1.1795 - val_accuracy: 0.7333 - 63ms/epoch - 5ms/step\n",
            "Epoch 23/30\n",
            "13/13 - 0s - loss: 0.2140 - accuracy: 1.0000 - val_loss: 1.1693 - val_accuracy: 0.7333 - 52ms/epoch - 4ms/step\n",
            "Epoch 24/30\n",
            "13/13 - 0s - loss: 0.2001 - accuracy: 1.0000 - val_loss: 1.1608 - val_accuracy: 0.7333 - 51ms/epoch - 4ms/step\n",
            "Epoch 25/30\n",
            "13/13 - 0s - loss: 0.1890 - accuracy: 1.0000 - val_loss: 1.1553 - val_accuracy: 0.7333 - 50ms/epoch - 4ms/step\n",
            "Epoch 26/30\n",
            "13/13 - 0s - loss: 0.1766 - accuracy: 1.0000 - val_loss: 1.1485 - val_accuracy: 0.7333 - 52ms/epoch - 4ms/step\n",
            "Epoch 27/30\n",
            "13/13 - 0s - loss: 0.1668 - accuracy: 1.0000 - val_loss: 1.1388 - val_accuracy: 0.7333 - 52ms/epoch - 4ms/step\n",
            "Epoch 28/30\n",
            "13/13 - 0s - loss: 0.1583 - accuracy: 1.0000 - val_loss: 1.1337 - val_accuracy: 0.7333 - 54ms/epoch - 4ms/step\n",
            "Epoch 29/30\n",
            "13/13 - 0s - loss: 0.1486 - accuracy: 1.0000 - val_loss: 1.1315 - val_accuracy: 0.7333 - 64ms/epoch - 5ms/step\n",
            "Epoch 30/30\n",
            "13/13 - 0s - loss: 0.1402 - accuracy: 1.0000 - val_loss: 1.1277 - val_accuracy: 0.7333 - 56ms/epoch - 4ms/step\n"
          ]
        }
      ],
      "source": [
        "c_model = MyModel()\n",
        "\n",
        "c_history = c_model.fit(\n",
        "    train_images,\n",
        "    train_labels,\n",
        "    validation_data=(test_images, test_labels),\n",
        "    batch_size=4,\n",
        "    epochs=n_epochs,\n",
        "    verbose=2,\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "oXLGIhPJd0KF"
      },
      "source": [
        "Results\n",
        "=======\n",
        "\n",
        "We can finally plot the test accuracy and the test loss with respect to\n",
        "the number of training epochs.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 963
        },
        "id": "fwDEhq0Qd0KF",
        "outputId": "1e8619b5-082c-4fd6-c3c1-cbeb115953c6"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "<ipython-input-13-c3ef9ba498fb>:3: MatplotlibDeprecationWarning: The seaborn styles shipped by Matplotlib are deprecated since 3.6, as they no longer correspond to the styles shipped by seaborn. However, they will remain available as 'seaborn-v0_8-<style>'. Alternatively, directly use the seaborn API instead.\n",
            "  plt.style.use(\"seaborn\")\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x900 with 2 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAN5CAYAAAAVZg9XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAD3OUlEQVR4nOzdd1zU9R8H8NcNOPZygbggLfdWEDFXKogrR2llWZijtNwr98hKzVLTcmSmpv40NRX3HoCKZuFMAReCCxBZB3f3/f1xcYms73F33AGv5+PRI/zed7y/7/vCve/z+X4/H4kgCAKIiIiIqEBScwdAREREVBKwaCIiIiISgUUTERERkQgsmoiIiIhEYNFEREREJAKLJiIiIiIRWDQRERERicCiiYiIiEgEFk1EREREIrBoIiIiIhLB7EXTqVOn4Ofnh9GjRxe4nkajweLFi9GxY0e0aNECwcHBuHfvXjFFSURERGWdWYumVatWYe7cuahevXqh627cuBG7d+/GypUrcezYMdSoUQOffvopOHUeERERFQezFk0KhQLbtm0TVTRt2bIFgwYNwiuvvAIHBweMHj0aUVFR+Ouvv4ohUiIiIirrzFo0vf/++3B0dCx0vYyMDNy6dQt169bVLXNwcED16tURGRlpyhCJiIiIAFjAPU1iPHv2DIIgwNnZOcdyZ2dnJCYmit4Pu/KIiIioqOTmDkAfhhY9CQmpkEolRormPzKZFE5OtkhOTodarTH6/ssK5tFwzKFxMI+GYw6Ng3k0nJgcurrai9pXiSiaXFxcIJVKkZSUlGN5UlISypUrJ3o/Go0AjcZ0rU1qtQYqFS9qQzGPhmMOjYN5NBxzaBzMo+GMkcMS0T2nUChQq1YtXLlyRbcsOTkZd+/eRcOGDc0YGREREZUVFls0PXz4EAEBAbqxmAYMGIBff/0VUVFRSElJwcKFC1GnTh00aNDAzJESERFRWWDW7rnsgkelUgEADh8+DACIjIxEVlYWYmJikJmZCQDo378/Hj9+jIEDByI1NRU+Pj5YtmyZeQInIiKiMkcilKFHyh4/fm6S/crlUri62iMxMZV9zgZgHg3HHBoH82g45tA4mEfDiclhhQqFD38EWHD3HBEREZElYdFEREREJAKLJiIiIiIRWDQRERERicCiiYiIiEgEFk1EREREIrBoIiKiIhEEICxMhh075AgLk8ESB7Dp0MEP58+H5/la377dsXPntmKOyLJdvBgBf//mUCqV5g7FIrFoIiIivYWEyOHjY4+ePe0wdKgteva0g4+PPUJCTDNmcnDwQCxf/n2OZTduXIe/f3OcOHE0x/KtWzejZ88uEAQBR4+GokULX93658+fNUl8pvbbbxt0A0GT+bBoIiIivYSEyBEcbIPbt3N+hNy+LUVwsI1JCicfn1a5Cp7z58Nha2uH8+fP5VgeEXEWLVu2gkQieSnuPxARkXPdkiAhIQFLly6GWq02dyhlnlmnUSEiIsuQnAzcvFn492hBAKZMUUCjkeT5ukYjwRdfKFC5shLOzkByshT5fdbXqqWBk5O4+Hx8/LB+/VokJibC1dUVABARcQ6BgUE4d+6/YkqlUuHSpYsYP34KAMDfvzkWLlyCsLDT2LFjG6RSKY4fP4ItW3YCANLS0jB16gSEh4fC2dkFX3wxE02bNs8zhs2bN2DDhl+gUqnQpUtXpKSkQCqV4osvZmLevJnIzFRi1qz5AAClUomOHVtjyZIf0bRpcyQlJWHhwvm4dOkiVKos1K/fEOPHT0GlSu66OOfN+wabN2/EzZs3ULmyJ6ZOnYVKlSqhV6+uEAQBgYHtMW7cZMTFPcDZs2FYufIXXWw9enTBsGEj0LVrd8ybNxM2NrZQq1U4dOgAXFxcMX36bFy69Ce2bNkIAPjkk8/QtWv3QvN+/fpVLFnyLaKjb8HKyhpt27bHqFHjoVKp0KNHF0yfPgf+/q/r1v/88+GoW7c+hg79FBcunMfKlcsRHR0Fe3t79OrVB4MGDQYArFnzE27cuAYbG1uEh4fi4METYi4Ds2NLExFRGZecDDRr5oDAQPtC/+va1R5xcQV/dDx4IEWXLrbw9QU6d7bNd1/NmjkgOVlcjPXq1Ye9vT0iIrQFUmZmJiIj/0K/fgPw+PFDxMfHAwCuXbuC9PR0tGzpm2P70aMnoFGjJujf/z1dwQQAe/b8gXff/QAhIUfQuHETfP/9wjyPf/t2DJYt+w7jx0/Brl0HUbPmqzh58ri44AEsX/490tJSsXXrLmzfvhcAsGTJohzrbNz4KyZPnoY9ew6jfPmKWLlyOcqVK4c1a9YAAPbtOyaq0AGAo0cPonXr17FnzyFUr14dM2ZMgVqtwo4de9G379tYsmQRNJrCp2WZPn0ymjVrgZCQI1i16lecOXMKO3dug42NDdq164BDh/bp1n32LAmXLl1E586BePToISZNGotevfpg//5jWLRoKXbu/B0HD+7XrX/lSiSaNGmGffuO5nVoi8SiiYiILJ5cLkfz5i11XXR//30JFSpURNWq1VC/fkNdMRURcQ61a9eFk5OzqP36+7+OOnXqQaFQ4PXXO+Du3Tt5rnfq1AnUrPkq2rbtAGtra3Tv3guVK1cWHf+4cZMxb94C2Nraws7ODm3atMP169dyrNOlS1dUq1YDNjY28Pd/HXfu3Ba9/5dVqVINrVu3gUKhQMuWvkhKSsK7734AKysrtG7dBikpKUhMTCh0P7/88hvef/8jyGQyuLu7o1GjJrq4AwKCcPr0SaSlpQLQ5sjb+xV4eXnj8OED8PLyRmBgN8hkMrzySk306tUHBw7s1e1bKpWhV68+kMlkRT7P4sbuOSKiMs7JCbhwIUVU91xkpBQTJtgWut6iRUq0bq1AcnI61Oq8WzT06Z4DtF10a9euAqAtjpo1awEAaNasBSIizqFbt56IiDgHH59Wovfp4eGp+1mhUCArKyvP9R4/fggPD48cy6pUqSr6OPfv38OyZYtx9eoVZGYqoVar4ezskmOdF4swGxsbg55gq1ixku5na2truLi4wMrK6t9/KwBoW+sKExFxHr/8sgr37t2FWq2GSqVC+/YdAQBNmjSDi4srTpw4hsDAbjh58hg6dQoEAMTG3sf161fRoYOfbl+CIKBateo5Ynz5vjNLx6KJiIjg5AQ0a1Z4d03TphosX67JdRP4i7y8NBg0SAU3NwUSEzX5ziyvLx+fVvj667m4c+c2Llw4jwEDBv4bUwts27YF6enpuHIlEsOHfyZ6n2I/s/MaTkGjyX+MhRe7vjQaDSZMGIVGjRpj06btcHV1xZ49O7Fy5YqXYil6549Gk/PGMalU8tK/9d/3nTu3MW3aRIwYMRo9evSCQmGDOXOm6Z7ik0gk6Nw5EIcOHUDbtu1x8WKE7l4yhUIBX9/W+OabxfnuvyS1MGVj9xwREYkmkQAzZighleZdMEilAqZPV4ouRvRRsWIleHl5IyzsNG7evKG7Ybt27TrIyMjA3r27YGdnj7p16xn92OXLl0d8fFyOZTEx0bqfra2tkZGRoft3bOx93c8JCQmIj49D3779dTex37hxo8ixWFsroFT+d6yUlBQ8e/asyPvLzz//XIe1tTX69esPhcIGgiDgn39yxh0YGISLF88jJGQ36tVrgAoVKgIAPD2rIDr6FoQXqs2nT5+Iat2yZCyaiIhIL0FBKqxZkwEvr5wtSF5eGqxZk4GgINONJ+Tj44ft27fCy8sbLi4uALT3OzVu3AT/+98mtGjRMt9WFYXCBnFxD5As9u7zF/j5tcGtWzdx6tRxqFQqbN++FQkJT3WvV6lSDVeuXMajRw+RkpKCTZvW61pSXFxcYGtri8uXI6FUKnHw4H7cvHkDqakpSEtLK/TYNjY2AIC7d+8gPT0dVatWxZ07txEdfQtKZQZWrVoOOzs7vc+pMB4elaFUKnHz5g0kJydjxYolsLKyxpMnT3TFULVqNVCr1mtYvXoFOnUK0G37xhtdkJycjHXr1kCpzEBs7H2MHv0ptm7dZPQ4ixOLJiIi0ltQkArh4an44480rFyZjl270hAenmrSggnQdtE9eBCLpk1b5FjerFkLxMbeh4+PXz5bAl27dkd4eCgGDHhT7zGPatV6FSNHjsHixQsQFNQRd+7EwNf3v2N169YTr71WB++80weDBw9Ep04BUCi0xY5cLse4cZOxYcNa9OjRGX/9dRHz5n2DChUqoX//Nws9dp06ddCgQSMMGfIBduzYBn//tmjXriOGDQtG//69Ubt2Xbi7exS6H33Vr98QvXu/hREjhmDgwLfg7l4Zn38+DlFRtzBjxhTdegEBQcjKykK7dh11y5ydXfDVV4tw8uRxBAZ2wMiRQ9G69evo3/89o8dZnCSCYIkD35vG48fPTbJfuVwKV1d7JCamGq3vvixiHg3HHBoH82i4spDDGTMmw9pagS++mGmyY5SEPK5Z8xMePLiPadPmmDuUPInJYYUKjqL2xZYmIiIiKpLLlyOxdetmDBjwvrlDKRZ8eo6IiIj0NmbMSERF/YMRI0ahZs1a5g6nWLBoIiIiKoLsKVPKqm+/XWruEIodu+eIiIiIRGDRRERERCQCiyYiIiIiEVg0EREREYnAoomIiIhIBBZNRERERCKwaCIioiIRBAFhD85gx81tCHtwBpY4wUSHDn44fz48z9f69u2OnTu3FXNEZUtpyzGLJiIi0ltI9G74bGyMnjsDMfTQR+i5MxA+GxsjJHq3SY4XHDwQy5d/n2PZjRvX4e/fHCdOHM2xfOvWzejZswsEQcDRo6Fo0cJXt/7582dNEt/LYmPv49ixw8VyLH1duHAe169fNXcYJRKLJiIi0ktI9G4EHxiI28kxOZbfTo5B8IGBJimcfHxa5Sp4zp8Ph62tHc6fP5djeUTEWbRs2QoSiSRn3CF/ICIi57qmcuLEMRw/fqRYjqWvLVs2smgqIo4ITkRESFY+w82kfwpdTxAETDk1Hhoh74lPNYIGX5yagMqOHnBOtUPy83So1XmvW8vlVTgpnEXF5+Pjh/Xr1yIxMRGurq4AgIiIcwgMDMK5c/8VUyqVCpcuXcT48VMAAP7+zbFw4RKEhZ3Gjh3bIJVKcfz4EWzZshMAkJaWhqlTJyA8PBTOzi744ouZaNq0OQAgOjoK3323AP/8cx0ymQzt27+BkSPHQKFQYM2an3D2bBhWrvxFd+wePbpg2LARSEpKwo8/akfLPnXKD4cOnYJMJstxPjdv/oN582bi7t07qFmzFrp374Wvv56L06cjcPFiBD77bBiOHDkDudwWADB16iRYWVnrJgfesmUjfv/9f0hMTEDFipUwZMgnaNu2AwBg3ryZsLOzg1wux969eyCTSTFgwEC8++4HmDhxNEJDT+Ps2TAcO3YEkyZNQ79+PbBx4zZUr14DALBixVJcuRKJZctW4uLFCEyaNBbTp8/Gd98txLNnz/DWWwPQpk1bzJ8/Bw8e3EeLFr6YPXs+5PKCSwqlUonvvluA0NBTSE/PQM2atTBu3CR4e9fE/PmzkZLyHPPmLdCtv39/CFauXI5t23YjJeU5vvtuIS5cOIe0tHQ0a9YcY8dOQoUKFREX9wD9+vXA2LGTsHLlcowZMwGdOgWIuq70xaKJiKiMS1Y+Q7MNDfBMmWSU/T1IjUWXrR0KXc9Z4YIL70WKKpzq1asPe3t7REScRadOAcjMzERk5F8YO3YSQkJ2IT4+Hu7u7rh27QrS09PRsqVvju1Hj56AqKhbqFevAYYPH6lbvmfPH5g2bTamTZuDb76Zi++/X4h16zYjMzMTY8aMQEBAEBYs+A5PnjzBxImjsWbNj/jkk88LjPWddwYiJiYKmZnKfKdaWbDgS1SvXgPLl6/Gw4fxmDlzSqE5yHbp0kX89NMPWL36V3h5vYJ9+/Zg1qxp+P33JrqC8vDhAxgxYjR27z6IAwf24ptv5qFLlyB8/fVi9O3bHe+99wF69eqLuLgHhR4vIyMdERHnsGHDVhw/fgTz5s1EVNRNfPfdcjx/noxBgwbg9OkTaNeuY4H7+e23X3H16mWsX/8/2Nra4dtvv8bcuTPx888bEBAQhLFjRyIlJQUODg4AgBMnjuKNNzpDKpVi3ryZkMnkWL9+K2QyKRYu/ApffjkLixf/oNv/n39ewLZtu2BnZy86l/pi9xwREVk8uVyO5s1b6rro/v77EipUqIiqVauhfv2GiIjQLo+IOIfatevCyUlcC5a//+uoU6ceFAoFXn+9A+7evQMACA8PRUZGOj76aAgUCht4elZB795v4ciRQwafy9OnT3D16mW8994HsLOzg5eXNwIDu4nevmHDxvjjjwPw9q4JiUTybxGpRExMlG4dDw9PBAZ2g1wuR8eOnaFWq3Hv3p0ixavRaNC7dz/Y2NigdevXIQgC2rXrCFdXV1SrVh3VqtXAvXv3Ct3PwIEfYsWKNXBycoaVlRXat38DUVE3oVKp0LhxU5QrVx7Hj2vvA0tPT8e5c+Ho1CkQiYkJOHPmFIYO/RROTk6wt3fAsGEjcP78WTx9+kS3/4CAINjbO+TqljUmtjQREZVxTgpnXHgvUlT3XOTjvzHh5OhC11vU/nu09vYxWvccoO2iW7t2FQBtcdSsWQsAQLNmLRARcQ7duvVERMQ5+Pi0Er1PDw9P3c8KhQJZWVkAgLi4WFSu7Alra2vd61WqVMXDh/HQaPI+H7EeP34EAHB3r/zCvquJ3l6j0eCXX1bh2LEjSEpK1C3PzMzU/ezh8d++bWxsAGi7x4qqYkV3ANDlo0KFirrXrK2tkZlZ+L4TExPw3XcLcOnSRaSlpUEQBKjVaqjVasjlcnTuHIiDB/ejW7deCA8/g8qVPVGr1qu4fDkSAPDhh+/k2J9MJsOjRw/h4qJtXXN3dy/y+YnFoomIiOCkcEazSi0KXa9pxeZYfmlJrpvAX+Tl7I1B9T+Cm5sDEhNToVIZVmRk8/Fpha+/nos7d27jwoXzGDBgoDampi2wbdsWpKen48qVSAwf/pnofebXKJGZmZXP+vm3Ymg0alHHzGtoBiGfe8T+2/d/r69duwpHjx7G119/i5o1X4UgCGjb1ifH+lJp0Vtb8ioKXz7vorTmzJgxBdbW1li79jdUrFgJERHnMGrUJ7rXAwKCsH79Wjx58hgnTx5H586BALTFLADs2LEXzs4uufab3cUok5m+pGH3HBERiSaRSDDDby6kkrw/PqQSKaa3mmOSLpKKFSvBy8sbYWGncfPmDd0N27Vr10FGRgb27tXez1K3bj2Dj+XpWQUPHsTqWp4A4M6d2/DwqAypVAprawWUygzdaykpKXj27JmofZcvXwEAEB8fp1sWHf1f15q1tbZIeHH/9+/f1/187doV+Pu3xauv1oZUKsU//1zX8+z+k91ylJHx37FiY+/nt7pBrl27gh49eqNixUoAkCvuqlWroU6dejhwYC9CQ0+hUydt0ZSd86ioW7p1VSoVnjx5bJI4C8KiiYiI9BLk3R1ruqyHl7N3juVezt5Y02U9gry7m+zYPj5+2L59K7y8vOHi4gJAe79T48ZN8L//bUKLFi0hleb90aZQ2CAu7gGSk5MLPY6vrx/kcjnWrl2FzMxM3L17G1u3btLde1S1alXcuXMb0dG3oFRmYNWq5bCzs3vhWAo8fPgQz58/h0qlyrHvChUqolatV7Fp03qkp6fj9u0YHDy4T/d65cqVIZPJcOzYEahUKuzYsQOPHsXrXnd398CtW/8gIyMDMTHR2LhxHRwcHPDkySNROVQoFIiNjUVKSgpcXFzh4OCAEyeOQq1W49y5cFy5EilqP/pyd/fA1auXoVKpEB4einPntIOOvlj8BAQE4ddff0bNmq/qutscHBzQsWNnrFixBI8ePYRSmYEff1yGUaM+LfYBVVk0ERGR3oK8uyP8nT/xR699WNlpLXb12o/wd/40acEEaLvoHjyIRdOmObsSmzVrgdjY+/Dx8ct3265duyM8PBQDBrwJtbrgrjQ7Ozt88813uHTpIrp374SxYz9Hly5dMXDghwAAf/+2aNeuI4YNC0b//r1Ru3ZduLt76Lbv1CkA9+7dQd++3fDkyZNc+582bTbu3r2Dbt3ewLx5M9Cnz9u619zcymHYsJFYtWoFAgI64Nq1a3jjjc66199//yOo1WoEBXXEl1/OxEcfDUVgYHcsXrwAp0+fKDiBALp374Xt2/+HESOGQCaTYcyYSdi3bw8CAtph//4Q9O7dr9B9FMWYMRNw4sQxBAZ2wJ49OzFr1peoW7c+goPfQ0LCUwBAx46dkZmZmWvIgNGjx8PTsyoGDnwLPXsG4vbtaHz11SKT3vSdF4lgiePem8jjx89Nsl+5XApXV3uj9t2XRcyj4ZhD42AeDccc6ic8PBTjxn2G06cjciwva3mMjb2PDz98Fzt2hMDe3sEo+xSTwwoVHEXtiy1NREREZHYpKSlYsOBL9OrV22gFk7GxaCIiIiKzOnhwP3r1CoCzsws++mioucPJF4ccICIiMjNfX79cXXNlSefOAejc2TRTnxgTW5qIiIiIRGDRRERERCQCiyYiIiIiEVg0EREREYnAoomIiIhIBBZNRERERCKwaCIiIiISgUUTERERkQgsmoiIiIhEYNFEREREJAKLJiIiIiIRWDQRERERicCiiYiIiEgEFk1EREREIrBoIiIiIhKBRRMRERGRCCyaiIiIiERg0UREREQkAosmIiIiIhFYNBERERGJwKKJiIiISAQWTUREREQisGgiIiIiEsGsRVNsbCyGDBkCHx8ftG/fHgsWLIBGo8m1nkajwZIlS9ChQwc0adIE3bt3x969e80QMREREZVVcnMefOTIkahXrx4OHz6Mp0+fYujQoShfvjw+/PDDHOtt2rQJW7duxbp161C9enWcPHkSI0aMgLe3N2rXrm2m6ImIiKgsMVtLU2RkJK5fv45x48bB0dERNWrUwKBBg7Bly5Zc6165cgXNmjWDt7c3ZDIZ2rdvDxcXF9y4ccMMkRMREVFZZLaWpitXrsDT0xPOzs66ZfXq1UNMTAxSUlLg4OCgW96uXTvMnDkT165dwyuvvIJTp04hPT0dLVu21OuYUqkEUqnEaOeQTSaT5vg/FQ3zaDjm0DiYR8Mxh8bBPBrOmDk0W9GUlJQEJyenHMuyC6jExMQcRVPnzp1x7do19OrVCwBga2uLr7/+Gh4eHnod083NHhKJ8YumbE5Otibbd1nCPBqOOTQO5tFwzKFxMI+GM0YOzXpPkyAIotbbuXMndu7cia1bt+K1115DWFgYxo4dCw8PDzRs2FD08RISUk3W0uTkZIvk5HSo1blvZCdxmEfDMYfGwTwajjk0DubRcGJy6OpqL2pfZiua3NzckJSUlGNZUlISJBIJ3NzccizfsGED3n77bV2B1K5dO/j6+mLXrl16FU0ajQCNRlyhVhRqtQYqFS9qQzGPhmMOjYN5NBxzaBzMo+GMkUOzdZLWr18fcXFxSEhI0C2LjIxEzZo1YW+fs+LTaDRQq9U5lmVmZhZLnERERESAGYumunXrokGDBli0aBFSUlIQFRWFtWvXYsCAAQCAgIAAREREAAA6dOiAbdu24fr161CpVDh9+jTCwsLQsWNHc4VPREREZYxZ72lasmQJpk2bhtatW8PBwQH9+/fHO++8AwCIiYlBWloaAGDo0KFQqVT49NNPkZCQAE9PT8ydOxetWrUyZ/hERERUhkgEsXdjlwKPHz83yX7lcilcXe2RmJjKPmcDMI+GYw6Ng3k0HHNoHMyj4cTksEIFR1H74sAPRERERCKYtXuOiIxHEASExp7G89hEOMIVLSq2Mum4ZEREZQ2LJqJSICR6N2aFTsXt5BjdshpOXpjhNxdB3t3NGBkRUenB7jmiEi4kejeCDwzMUTABwO3kGAQfGIiQ6N1mioyIqHRh0URUggmCgFmhU6ER8r65USNoMDtsmujR94mIKH8smohKsPC40FwtTC+LeRaNs3FhxRQREVHpxaKJqASLT40z6npERJQ/Fk1EJZi7vYdR1yMiovyxaCIqwXw9/FDDyavAdbycvOHjwdHziYgMxaKJqASTSCSY4TcXEuQ/HlOryn4cr4mIyAhYNBGVcK0r+8NKapVrubVMAQDYeWsH7ibfKe6wiIhKHQ5uSVTC/XZ9AzI1mQCAxR2WwsO1AhzhCoXUDl22tUOaKhXjT4zC5m7b2eJERGQAtjQRlWBqjRo/R64EALRw98EH9T/E2/XfRivP1mhYoRE+bfw5AODYvSP4/eb/zBkqEVGJx5YmohLs0J0DuPtc2/U2uMHQXK+PbTERu6N3IuZZNKaenoh2VTuivG15k8UjCALC40IRnxoHd3sP+Hrodz+VodsbKwZD5vCzlHMw9/aGzoNoCedgCe8jr0XDz8GYWDQRlWCrIn8EoB1SoJt3z1yv28ptsajdEvT+oxsSMhIw/cxkLH9jlUliMXT+O2PMn2fuGHgOzIGlxMBzMA2JUIbmV3j8+LlJ9iuXS+Hqao/ExFSoVHlPZ0GFYx71cyPhOtpsbgkAmNjyC4xtPjHfHI45NhIbrq0DAGzu9js6VOtk1Fiy57/LazoXqUSKNV3WF/hHztDtLSEGngNzYCkx8BxyEvPZUqGCo6h9sWgyAn7YGwfzqJ8JJ0bjlytrYC21xsX3r6KiXcV8c5iUkQj/zS3xKO0hqjpWw4n+4XCwcjBKHIIgwGdj4wKnc/Fy9kb4O3/m2axu6PaWEAPPgTmwlBh4DrmxaCoiFk2WjXkU75kyCY3W1UaaKg39Xu2PH97Q3gxeUA53R/2B4AMDAQBDG36COf5fGSWWsAdn0HNnYKHrSSDJ9w+kgML/DOW3vTH2Ye7tLSEGc29vCTHwHCwjBrHb7+q1H76V/Qpdz5hFE+9pIiqBNl3fgDRVGoC8bwDPSzfvHgj06oZ9MXuw8u8V6FWrD5pVamFwLGLntRMgwJDvaIZubwkx8ByYA0uJoTScgznm1GTRRFTCqDVqrPl3mIFmlVqgSaVmoraTSCT4qs1CnI49ieeZyRhzbCQO9TsJa5m1QfGUt6kgar2P6n+MGs65p3y5/SwGP18u/Ob0/LY3xj7Mvb0lxGDu7S0hBp6DZcQgdntzzKnJ7jkjYLeScTCP4hy8vQ/v7X0bALDijdXo8+pbutfE5HDdlZ8x/sQoAMCkllMxpvmEIsfyMDUewQfex7n48ALX4z0Ypf8cmAPLiIHnkJsxu+c4uCVRCbM68icAQEW7Suj+Si+9tx9YdxBaVW4NAPg24hvcTPynSHGEPwhFx61tCi2YpBIppreak+8ft+z586SSvP8cFba9MfZh7u0tIQZzb28JMfAcLCMGY5yDqbBoIipBbib+g+P3jgIAPqj3UZG61qQSKRa1XQKFTIFMTSbGHB+Z52O9+REEAT/99QPe/CMIj9IeAgA+azIGa7r8Ci9n7xzrejl7i3o0OMi7O9Z0WV/k7Y2xD3NvbwkxmHt7S4iB52AZMRjjHEyB3XNGwG4l42AeCzfp5Fj8fHkVrKRWuPj+VVSyq5TjdX1y+N2Fhfjy7GwAwDevL8ag+sGFHj8lKwVjjo3AzlvbAQCO1k5Y1vEnBHoFAfhv9N6HqfFwt/eAj0fRRjAu6vbGiuH8ozCkIAmOcEXzir4l8hzMvb0hObSUc7CE95HXouHnwCEHiohFk2VjHguWrHyGRr/WQWpWCvrUegsrOq3OtY4+OcxSZ+GNra/jWsIVOFg54syA8/BwqJzv+rcSb+LD/e/iRuJ1AEAdt7pYG7AB3i41DTsxC8Rr0XDMoXEwj4bjPU1EZdDm6xuRmpUCABjcUNwwAwWxkllhcfulkEqkSMl6joknx+T7+O/uqD/QeVs7XcHUu1Y/7O1zpFQWTERE+eGQA0QlgEbQYM1l7TADTSs2M8r4SgDQtFJzfNxwOH766wfsv70Xu6N2ooJdRd3kmM0rtcSXZ2fjh0vfAwDkUjlm+32J4AZDzTpppiUTBCA8XIb4eAnc3QX4+qrBVJVNpeFaKA3nYEwsmohKgGN3DyPmWTQAIFjkYJZiTWo5Ffui9+Du8zsYcugjaAS17jUbmQ0y1BkAtGOirO78K1p6+Bj1+KVJSIgcs2YpcPv2f434NWpoMGOGEkFBKjNGRsWtNFwLpeEcjI3dc0QlwKrIHwEA5W0roEfNN426b3sre/R9VTvu04sFEwBdwfSaa20c6neSBVMBQkLkCA62yfEBAwC3b0sRHGyDkBB+Ry0rSsO1UBrOwRRYNBFZuKikmzh69zAA7TADCpnCqPsXBAHbb24tcJ1MdSYq2lY06nFLE0EAZs1SQKPJu99Co5Fg9mwFys5jN2VXabgWSsM5mAqLJiILlz1lilwqxwf1PjL6/sPjQgsceRcAYpKjcTYuzOjHLi3Cw2W5vpG/LCZGirNnZcUUEZlLabgWSsM5mAqLJiILlpL5HJuv/wYA6PFKL5PMtSR20ktzTI5ZUsTHi7szVux6VHKVhmuhNJyDqbBoIrJgW278hpQs7fhixr4BPJvYQswck2OWFO7u4vopxK5HJVdJvxYEATh/XlxpYKnnYEosmogslEbQ6OaZa1ShCZpXammS4/h6+KGGU96znWfzcvaGj0crkxy/NPD1VaN69YIHHvTy0sDHR13gOlTy+fqq4eZWMq+F1FRg+HAbrF5d+H2TlnoOpsaiichCHb93FFFJtwAAg004LpIlT45ZUkgkQLNmBX2ACBg7Vlmmx7cpK2JjJUhNLWgyXAHTp1vetRAVJUFgoB22b7cCAFSurIZUmndLkqWeQ3Fg0URkoVb/nT3MQHn0qtXHpMey1MkxS4qbN6XYs0f7CLZCkdcHjQRhYWXvptmyRhCACRNsoFRKIJUK8PTM3eJkaws0b25ZLTQhIXJ06mSP69e112ivXlk4fToNa9ZkwMsr9zm4ugpo27ZsjtNUNgdaILJw0c+icOTuIQDA+3U/NPowA3kJ8u6Orl7dDJ4cs6zRaICxYxXIzJTA2lrAkSNpePpUgocPtSMor1tnhd9/t8LGjdbo3VuFNm0s6wOTjGfHDjkOH9Z+rA4fnoXp05UID5fh4UMJEhIkmDTJBmlpEkyZosCaNRlmjhZQqYD5862xdKn274tcLmDmTCU+/jgLEgkQFKRC164q3TnExEgxf74CCQlSfPmlAl9+qTTzGRQ/Fk1EFmht5CoIEP4dZiC42I4rkUjQqnLrYjteabB+vRXCw7V/SseMycSrr+b8Zl6rlgbHj8vw9KkUY8fa4PjxVNjZmSNSMqWnTyX44gtt8VG9ugbjx2u7r1q1+q9IvnFDirVrrbF7txX27tUWJOby+LEEw4bZ4NQp7bVbsaIGq1dnwNc3Z1H/8jlERkqxZ48V1qyxwptvZqFFi7I1iTC754gsTEpWCn67vgEAEOTVAx4Olc0cEeUnLk47yB8A1KmjxogRmbnWKVdOwJw52m/kt29LsXChdbHGSMVjxgwFnj7VfqQuWpSRZ2E8daoSHh7aImPSJAWSk4szwv9cuCBFp052uoLJ11eFI0fSchVMeZk/XwknJwGCIMGYMTZQlrHGJhZNRP8SBAFhD85gx81tCHtwBoKew90aa/svTk3A80ztX9PBDYfptQ9DCQIQFibDjh1yhIXJSuSIv8V1DoIATJyowPPnEkgkAr79NgPW+dRDffqo0KGDtlVhxQpr/P03//QWxtD3sTiv5WPHZPjf/7Q3UA8YkIXXX8+7+HB0BL7+WtstFx8vxZw5pu12fzkHGg2wdq0VevSww4MH2mtw6NBM/P57OipVEpegSpW0XXgAcOOGDEuWmPZLgKX9TWL3HBGAkOjdmBU6NcfI2DWcvDDDb66om6BNsb211BpP0h7peSZFVxom5yzOc9izR479+7UflB9/nIVmzfLvppBIgAULMtCmjT3S0iQYPdoGBw6kQc6/wHky9H0szusgNRUYP94GAFC+vAYzZxZ8r1JAgBo9e2bhjz+ssG6dNfr0UYlq4dFXXjlwcBCQkqK9R9HOTsD332egZ0/98/Huu1n4/Xc5zpyR47vvrNGjhwqvvWb8bjpL/JvErztU5oVE70bwgYG5phK5nRyD4AMDERK92yzbZ2oyEXzw/UK3N4bSMDlncZ5DUpK2ewUAqlTRYNKkwvsoqlYVMGWKdr3ISBl+/NHKaPGUJoa+j8V9LX/9tQJ372qPNX++Eq6uhW8zb54SLi7aJpMxYxTIMPI94fnlILtgcndX48CBtCIVTID2S8CiRRmwsRGQlaX9EqAxcs1kqX+TJIK+fQgl2OPHz02yX7lcCldXeyQmpkKlKls3xRmTOfIoCAJ8NjYucO41J2tn9H/tnTyfIhMEAZtvbERyZv43Jxi6vZezN8Lf+VPUU2xFyaEgAD4+9gXONeXlpUF4eKrFjsti7HMoLI+jRyuwcaO2W2Lz5jR06CCupUCtBrp1s8OFCzLY2Ag4fjwV3t6l80+wqa5FJycB/ftn5fk+CgKwebMVkpPzf5ONeS3/+acUgYF20Ggk6NJFhV9/TRe9382b5fjsM1sAwOjRSkyenPt+OED/PIrJYfXqGpw7Z3gOliyxxty52i8P8+dnIDg4y7Ad/qu4f58BoEIFR1GxsWgyAhZNxmGOPIY9OIOeOwOL5ViG2NVrP3wr+xW6XlFyGBYmQ8+ehT/OtWuXuBtFzcHY51BQHk+dkqFPH+2x+vbNwvLl+jUTXLsmRceOdlCpJGjTRoVt28R/0JYkprwWDWWMazkrC3jjDTtcuyaDg4OA06dTUbmy+I9TQQD69rXFqVNyyOUCDh1KQ716ufOkbx6L8/c5Kwvo0sUOly/LYG+vzYGnp+ElRXH+PmcTWzSxe47KNLGT0JazKY9qjtVz/VfOpnyxbG/KyXJLw+SccXHFcw7p6cDYsdr7V8qV0+ieitNHnToafPaZtlXh1Ck5Nm+2/K7P4iL2/SlXToNq1XL/V66cuOLMGNfyDz9Y49o17WCQ06Yp9SqYAG0X18KFGbC1FaBSaZ9EUxvhO0lx/j5bWQGLF2dAKhWQmirBxIk2RrlR25L/JvG3lco0sZPQrg3YkGdLj9iWKkO3N+VkuSV9gtGUFGDDBnH3Bxl6DgsXWuu6DObMUaJcuaLtb/ToTOzeLcfNmzLMmGGDDh1SRT+9VFplZgK7don7SFq7Nvd4QoD4FgpDc33rlgSLFmm7Z1u2VOGDD4rWLeXlJWDCBCVmzbLBn3/KsHq1FYYONayL67nIDhVj/T43aqTBsGFZWL7cGgcPyvHHH3L06mXYTdoPH4orhszxN4ktTVSm+Xr4oZpj9QLXKWiyWkMnu7WEyXJ9fdWoUaOwb+gCbt60vD8Xt25p58s6fbrwD1uJRMDjx0X/ZhoZKcXy5doPyg4dVOjTp+gfDAoFsGiRtpUqKem/QRHLqvh4Cd580w4hIYUXvwVNFCvuWgbWrbNCaqreYQLIHgFeO1WKtbWAb79VQmrAr8bQoVlo1Eh7PvPnK3D3btGv0Q0brDB5sk2h6xl7st0JE5S6CaunTFEgIaFo+xEEYOlSa8yYYbkTBlveX0GiYiSRSNDas02+rxc2Wa2hk91awmS5Egnwzjt534SqJQCQYOxYG4webfwnfYpqzx45One2x40b2i4SHx9VvhOMAtrB+IKDbTF7tjVUetY7KhUwerQN1GoJ7OwELFiQYfB9SL6+agwapM37rl1W2LevbDb8h4bK0LGjHc6f176P9erlP1GsVFrwRLESCTBjhrLA6wAAtm+3QteudoiO1v9N3LDBCmFh2vdq9OjcI8DrSy4Hvv02AzKZgLQ0CcaP17+LKyND+3DCmDE2yMrSFnMSSdFyWBR2dtquRgB48kSKmTMLL9xelpwMfPihDebMUUAQtL9nxXkOYrFoojJNI2gQ9uAMAOSa303sZLWGTnZrCZPlXr2q/cB6+Y+Ul5cGs2crdZN2btxojW7d7Az6NmwolQqYNUuBjz6yRUqKBHK5gHnzMrBrV3qeE4x6eWkwZUomKlXSLl+2TIG33rLFo0fiz+HHH63w99/aHE2ZokTVqsbpFnhxhOiJE803QrQ5CAKwfLkV+vSxxePH2o+i0aOVOHw474livbw0WLMmo9DxeYKCVPluv2JFBnr00HZ/XbsmQ+fO9ti/X/xEyvHxEsyapf07Ubu2GiNHFvRlQ7wGDTT49FPtvo4dk2PbNvEF9N27EnTrZqd7mtPLS4MDB9Lw889Fz2FRtG2rRv/+2txu3myF48fF5/XaNSk6d7bH3r3alsb69dU4fjy12M9BDD49ZwR8es44zJHHQ7f34929bwEAlndcBU/HKkWerFYQBIMmuzV0e6BoOYyLk6BZM3uoVBJ8/HEmunVT6Sab9fFRQyIBnj0DRo600Q3m6OoqYMWKdNGP2hvLo0cSDB1qgzNntB8qlSpp58t6sZleEKCbYPTFc3j4UIIhQ2x0rQQeHhqsXp2e59xZL+bxn38EtGtnj4wMCZo2VSMkJA0y8Z8Hhdq/X4b339fehzNoUCa++aZ0zEtR0LWYkgJ8/rkNdu/WXk9OTgKWLUtHQEDh76NY+W0vCNoiePZsBdRq7Q5HjVJi4sTMQt/XQYNssHevFSQSASEhaWje3Hh/p9LTgXbt7BETI4WbmwanT6ehfHmhwDwePSrD8OG2SEzUnkdAQBaWLs2As3PBOTCVhATA398eT55IUa2aBidOpMLevuBttm+XY8wY7UTGAPD221n45psM2Noa7xw45EARsWiybObI41u7e+H4vaOoaFcJFwdegbWsZM8LVpQcfvWVNb79VgGJREBYWP7jBmk02vsN5s+3hkajnTpkwoRMjB6dadA9HWKdPy/F4MG2iIvTHqxVKxVWrszQ66berCxg7lwFVqzQvs9WVgJmz1bio49yjvuTnceEhFT06qXQPRZ++HAa6tY1/rU5eLANdu3SFhCWPLSDPvK7Fv/5R4oPP7TBzZvaCqVOHTXWrk0v9vGqwsJkGDzYRtfK9frrKvz0U0a+N/fv3i1HcLD2k/zjjzMxb57xi9vTp2Xo3VtbQPfunYUff8zIM48aDbB4sTW++cYagiCBVCpg8uRMjBxZPL+LBdm5U44hQ7R5Gj48E7Nm5Z2nzExti/GqVdrfRWtrAfPmKfH++3mPwWUIFk1FxKLJshV3Hm8l3oTfpmYAgHHNJ2FCyykG7S/7G1F8vPYbka+vab/V5UXfHCqVQJMm2m+Gb7yhwm+/pRe6zYkTMgwbZqObnLRTJxV++CEdLi6G5yCv7QHg55+tMH26AllZ2p0NG5aJadOUsCrioNq7dsnx2Wf/fbvt2zcLCxdqJ1kVBOD8eTmeP7dFeHgmvv9e+0d9zBglJk0yTnfMyx4+lMDf3x7PnklQq5Yahw+n4dIl811Lxngfs3Po6JiOFi1UkEi0ef/8cxukpubOuznEx0sweLANzp3Ttj56emqwZk06mjbV5MiBg4OAUaO0BVaVKhqcPJkKBwfTxDRmjAIbNmivuY0b0+DsLMmRx2fPgE8/tcWhQ9qYy5XT4McfM9C2rWUU2oIADBxoi4MH5ZBKBezbl4aMDEmOa+nhw/zzbgosmoqIRZNlK+48Tj41DmsiV8JKaoWLA6+gkr17kfdlKXMk6ZvDLVvkGDlS+61Qn5Gt79/X3lT955/a1oLq1TX46KNMrF1rbdT5wqpX16ByZY2uS83OTsCSJRno0cPwnL7c4lG3rhrvv5+JH39U5BqJ2N1djXPn0mCj//2tov32mxyjRmnfC2dnAc+e/VelFOe1ZKp53157TY0DB7RVbn4tfOaQlaVt8Vi58r8WjwEDsnDihDzPEak3bUpDx46mK1CSkrRdXI8eSSGTCbouRACoXFmDrCzoWseaNFFjzZp0VKliWR/jDx5ovwSkpGhvSs/M/O8c3N01SEsDkpPFtfAZA4umImLRZNmKM4/PM5PRcF1tpGaloHetfvix05oi7yt7jiSNJvdff6lUKNabFvXJoSBoR/O9dEmGV17R4MyZVL2a9pVK4IsvFPj11+wuTe1Tdi8Tk4OCcpitVi011q7NMPhppRe9fG+NIedgKEEA2rWz0w2YaI4YDL2WxbyP7u7aVoW87iUzp5fvrcmbgLVrTf/7PGuWNX74oeDH7t9/X9tFqLDQ0SpebDHLj9h7yQzFEcGJDLT5+kakZqUAAD5uOKzI+xEE7bfU/D4kNBoJZs9WGGWUXGO7cEGKS5e0f60GD9b/XgiFAli4UInvv0//96m7ouWgsBwCgL29gP3704xaMAGAgwOwenUGZszIQH4FE1B87+Pz5/nnwNQxGHoti3kfbWy004VYWsEEAL17q7B3bxrk8oISbPrrQBBQ6HhVFSposGCB5RZMgoBCx06rVEmDyZNNXzAZW9kcGITKNI2gwZrIlQCAJhWbolmlFkXeV3i4rMBJJQEgJkaKs2dlFndz7+rV2m+BDg4C3n676KMQ16ihHQOpIDExUjRtaqd7IuZF6elAbGzBOUxNleDKFdPkUCLBv/dSFH4Opnwfw8NluH/ffNeS2GvZkPcxI0OCmBgpKlWyrN+FbM+eSaBSmf86KOx9ePzYMv+mZBNzDg8fWvY55IdFE5U5x+4eRvSzKADA4AZFb2UCLHuOpILEx0t0U1b0759l0E2tYs8tNtawr5SmzKElvI/mjqE0vI+GMvd7YCkxGKo0nEN+WDRRmbM68icAQHnbCuhR802D9iX25kVLm7dt3Tor3Tfq4GDDnggTe24BAVl5Dg8QHy/R3SBsjOMUhSXMv2fuGErD+2goc78HlhKDoUrDOeSHRROVKVFJN3Hk7iEAwPv1Psw1Crg+4uIkmD/fcudIyk9mJvDrr9oPtw4dVHjlFcP+cGXP91VQc7yXlwbr1uU99YggAD4+BTfnmzqHYs/B3DFUqmSaGFQqYP/+wj8OLP19NFRJuQ6YR/PhjeBUpvwcuQoAIJfKMahecJH3c/q0dr6sCxeyuyryLjwkEvPNkZSfXbvkukeWP/7Y8HGHCpvvy9D5wopjnqmSEAOgvQ9k3jz9584ryKNHEvTrZ6sb8DO/a7kkvI+GsoRzsIQYDFUaziE/LJqozEjJfI5N1zcCALp794S7vYfe+xAEYNkyK/Tta4snT7S/PmPGKPOc6woA3NwEtG1rnjmS8pN9A7i3twbt2xvnm15B830ZOl9YcQ3ZYMkxeHho4OysXbZkiQJvv22Lx48N/8Q5d06KN96w001L4+enwnfflez30VCWcA6WEIOhSsM55IXjNBkBx2kyDlPncU3kT5h8ajwAIKT3IbRw99Fr++fPgc8+s9E9DuzkJOCHH9LRpYu28HhxjqSoKCm+/lrbdTd0aCbmzCme+cQKy+GFC1IEBmong5o7NwNDhhT9qbm8mGq+sOKUPZp1Sop2FObmzVVmieHlPDx6pB1F+exZbYFTubJ2vKNmzfT/XREE7Sjr06YpdPe2ffJJJqZOVUIuN877aO4cGorXonFYQh45uGURsWiybKbMo0bQwH9TC9xKuolGFZrgYN/jek2Ge+OGdvToW7f+Gz3655/zny9LEIAPPtBOcCuRCNi7N61IH276KiyHw4fb4PffrWBvL+Cvv1Lg5GTykEokS/2dzsoCZs9W4Kef/ps7b948JT74QPzI2qmpwLhx2usA0I6BtWRJBrp3N+43f0vNYUnDPBqOg1sS6enEvWO4lXQTABDcYIheBdMff8jRpYudrmDq1y8Le/emFTjBqEQCfP21Eo6O2jGMxoyxQaZppi0T7eHD/4YZePvtLBZMJZCVFTBnjhIrV6bDzk5AVpYEEybYYORIG6SlFb59dLQEXbva6QqmV19V4+DBNKMXTESlFYsmKhNWR/4IAChvWx69avbJcx1B0M58vmOHHGFhMmRmAtOmKfDxx7ZIS5PAykrA119nYNkycROMengImDZN2y137ZoMP/xQ8JQCprZ+vZVuwtvgYON2y1Hx6tVLhf370/DKK9pvzf/7nxWCguwQE6N9f1++lgUB2LdPjk6d7HXTtPTsmYX9+9NQqxZbL4jE4pADVOpFP4vC4TsHAQAD6w6CjTz3rKt5TTKqUAhQKrUfQh4e2vtHmjfX7wPm/fez8Pvvcpw9K8eiRdbo1k1llg+pzEzgl1+0rQvt2pknBjKu2rU1OHgwFSNH2mDvXitcuSJDp072+PDDTPzxh1WOa/nFCYBlMgEzZigxdKj5J8slKmnM2tIUGxuLIUOGwMfHB+3bt8eCBQug0eT9xzwqKgoDBw5Eo0aN0LZtW/zyyy/FGyyVWGsjV0GAAJlEhkH1Bud6PXuS0ZfHFMkumOrUUePw4TS9CyYAkEqBb79V6mb6HjNGgXwucZPas0eOR4+MN8wAWQZHR2Dt2gxMn54BqVRAcrIE33+vyHUtZxdMTk4abN+ejmHDWDARFYVZi6aRI0eiUqVKOHz4MNauXYvDhw9j3bp1udbLyMjA4MGD0bZtW4SHh2Pp0qXYtm0boqKizBA1lSQpWSn47foGAEA3757wcKic43Uxk4xmZEhQvnzRn5eoVUuDMWO0hcrZs3LdwJLFadUqbddgjRoadOxY8gaUo/xJJMCIEVnYujW9wDGeAMDFBSVuri8iS2K27rnIyEhcv34da9euhaOjIxwdHTFo0CCsW7cOH374YY519+3bBwcHBwwerG0laNiwIfbs2aP3MaVSCaRS43+9ksmkOf5PRWOKPG6/ugXPM5MBAEObDINcnnPfoaFSUZOURkTI0apV0ZuIRo1S4Y8/rHDtmhSzZyvQtasGlSsb/8HVvHL4559S3SCcgwdnwdqa12lhSuLvtEIhKbD4B4C7dw2/lsUqiTm0RMyj4YyZQ7MVTVeuXIGnpyecnZ11y+rVq4eYmBikpKTA4YUZRC9cuIBXX30VkydPxqFDh1C+fHl88skn6NGjh17HdHOz1+upKX05OeUx9TfpzVh5FAQBay6vBAA0cW+CgLpv5Hr/n4scheL5c1u4uhoWzy+/AL6+QEqKBFOm2GHnTpisi+TFHGY33trbA59+qoCLS9GnjilrStLvdHFey/ooSTm0ZMyj4YyRQ7MVTUlJSXB66Znn7AIqMTExR9EUHx+PiIgIzJkzB9OnT8f+/fsxceJE1KxZE3Xr1hV9zISEVJO1NDk52SI5OR1qNW+wLSpj5/H43WO49uQaAOCj+kOQlJT7mWxHRymAwn+RHB3TkZhoWEy1agFDh1rjxx+tsGsXsG5dBnr2NG5Xycs5fPwY2LzZDoAEb7+dBUHIRGKiUQ9ZKpXE3+nivJbFKIk5tETMo+HE5NDV1V7Uvsz69JzYcTUFQUC9evXQvXt3AMCbb76JzZs3Y//+/XoVTRqNAI3GdGN5qtUaDj5mBMbK40+XlgMAytmUQ0/vPnnus0ULDVxdBSQm5l9Me3lp0Ly5yijzfU2YkIGQEBnu3ZNiwgRrtG6dChcXw/f7suwcrl1rjcxM7bl9+GEmr089laTf6RYtNKImSTXWtSxWScqhJWMeDWeMHJqtk9TNzQ1JSUk5liUlJUEikcDNzS3H8goVKsDRMedonZ6ennj8+LGpw6QS6vazGBy8vR8A8F4+wwwAQEyMBCkp+e/H2BNLOjgACxZkAAAeP5Zi1izTdZVlZf03zMDrr6vw2mv8g1ualeZJUokshdmKpvr16yMuLg4JCQm6ZZGRkahZsybs7XM2k73yyiv4559/crRMxcbGwtPTs9jipZJl7eXVLwwzEJznOoKgnU4iK0sCmUyAp2fxTCzZoYMafftqB5fcuNEap07JjLr/bCEhcsTHa3/FBw/mMANlQWmdJJXIUpitaKpbty4aNGiARYsWISUlBVFRUVi7di0GDBgAAAgICEBERAQAoEePHkhMTMSPP/6IjIwM7NmzB1euXNH7RnAqG1KzUvHb9fUAgK7e3eHpWCXP9TZtkuP0aW0P9ahRmbh4MRV//JGGlSvTsWtXGsLDU032ITNnjhLlymk/2MaOtUF6uvGPkT3MQLVqGnTqxMfMy4qgIBXCw4vvWiYqS8z6DOOSJUvw6NEjtG7dGu+//z569eqFd955BwAQExODtH8nU6pUqRJ++ukn7N+/Hy1atMDSpUvxww8/oFq1auYMnyzUtn+24JkyCQAwuMHQPNd5+FCCGTO0XXavvqrGqFGZkEiAVq3U6NVLBV9f087EXa6cgDlztFOs3L4txcKFxp1i5a+/pDh/XtuC9dFHmZCZpjGLLFRxXstEZYlEEHs3dinw+LHIZ3L1xFmojcMYeRQEAW23+OJ6wjXUK9cAR986necwE4MH22DXLitIJAJ2705Dy5bF/74JAjBggC2OHpVDJhNw8GAaGjQwLI7sHL7zThY2bbKCnZ2AS5dSTHKzeWnG32nDMYfGwTwaTkwOK1RwzHN5rn0ZMzCiohIEAaGxp/E8NhGOcEWLiq30GlNLEASEx4Xi+L2juJ6gHWZgcIOhee5j3z45du3S3iD94YdZZimYAG1rwIIFGWjTxh5paRKMGmWDWbOUePxYAnd3Qe8WAkHQDtYZGwts26b91e7bN4sFExGRkbBoIrMLid6NWaFTcTs5RreshpMXZvjNRZB39yJtL4UUdla5x91ITgYmTtQ+sVa5sgZffKE0whkUXdWqAqZMUWLqVBtERsrQu7ed7rUaNTSYMUMp6l6U3BMOa6stTsxLRGQ8et/T9N133yE2NtYUsVAZFBK9G8EHBuYoeADgdnIMgg8MREj07iJtr4EGww8H59p+zhyF7omyb77JgKO4FlmT8vAQAOTuJb99W4rgYBuEhBT83Sa/CYcBYMYMRaHbExGROHrf09SpUyfExsbCx8cH/fr1Q6dOnWBlVfwTkBYF72myLIIgwGdj41wFz4vK2ZTH+BaT8+xmEwQBC85/iacZT/Pd3svZG+Hv/AmJRILwcBl69NC25PTqlYWVKzMMPwkDCQLg42Nf4ICE5cppMH58Zp5ddYIALFhgjadPCx7QMDw8lTcD64G/04ZjDo2DeTScMe9pKtKN4JcuXcKePXuwf/9+qFQq9OzZE/369UPNmjX13VWxYtFkWcIenEHPnYEmP86uXvvR2M0PHTrY4dYtGVxcBJw+nYqKFc3/DERYmAw9e9oVvqKBdu1K4+z2euDvtOGYQ+NgHg1nzKKpSEMONG7cGFOnTsXJkyfx7bffIjExEf369UP//v0REhICjYZvLBUuPjWu2I7z3XfWuHVL+9z97NkZFlEwAUB8fPE0/xTXcYiISjODbnZQqVRISkrC8+fPoVKpoFQqsXDhQqxevRpLly5FlSp5DypIBADu9h6i1tveYw98PFrlWh7+IBR9dhd+o3jG48pYskQ7DlKbNiq8/bblDPLn7i6ueNu+PQ0+PrlbisLDZejTp/CWKrHHISKi/BWppemff/7B3Llz0aZNG0ydOhXlypXDb7/9hh07duDgwYNo0KABJk+ebOxYqZTx9fBDDSevAtfxcvZGa882sJJZ5frPv8rrhW/v5I21sztApZLA1lbAokUZFnVvj6+vGjVqFNwy6+WlQevWalhZIdd//v7its+r4CIiIv3oXTT169cPPXv2xLlz5/DZZ5/h5MmTmDt3Lho0aAAAsLKywpQpU/DXX38ZPVgqXSQSCWb4zYUEeVcxUokU01vNyXe8puztpZK8L2OpRArflC/x50Vtg+rEiUrUqGFZLS6GTrLKSVqJiIqP3kVTzZo1sWnTJuzatQvvvvsuHBwccq1jY2ODL7/80igBUunW1asbKthVzLXcy9kba7qsL3ScpiDv7ljTZT28nL1zbf910/X446u3AACNGqkxZEiW8QI3IkMnWeUkrURExaNIT88dOHAA1atXR+3atQEAJ0+eREpKCrp27Wr0AI2JT89ZnqtPr6DdFu39SqOajYVvjRZwhCuaV/Qt0ojgD1Pj4W7vgZburTBggB2OHTPeFCWmJgjae5QePtSOCO7jo/+I4OfPy5GSYgtHx3Q0b65iC1MR8XfacMyhcTCPhjPrNCqbN2/GV199hWXLlumWKZVKTJs2Dc+ePcOAAQP03SWVYSHRuwAAMokMI5p+hlcqVyvSHweJRIJWlVvr/r11qxzHjmkv708/zbT4ggn4b5JVQ7b389PA1RVITNRAxQYmIiKj0rt7bt26dVi5ciX8/f11yzp16oTVq1dj3bp1Rg2OSr89Udqiyc+zDdxsyxlln0+eSDBtmnaqFC8vDcaOzTTKfomIqGzTu6UpPj4ezZs3z7W8fv36iI+PN0pQVPJkdy3Fx4ufbDY66RauJVwBAAR5dUdoqBTPnwOOjlK0aKHRu2sq+/gbN1ohIUH7fWDRogzY2hb1rIiIiP6jd9FUpUoVnDp1Cm3bts2x/NChQ6hUqZLRAqOSI/dkseImmw2J2aP7edmIt3D/WnZ1Y2vgZLVar7+eBX9/PmpPRETGoXfRNHToUIwcORL+/v6oWrUqNBoNoqOjcfbsWSxevNgUMZIFy54sVqPJ2SyUPdlsQU9v7f33fibca4X713IOhCpm+4KODwCnT8sREiLn02NERGQURXp67syZM9i0aRPu3LkDqVSKGjVqYMCAAfD19TVFjEbDp+eMS8xks3Z2Avz9c3fVZVjfx4lm/w5MeXABEDpOr+2zj3/qlAzp6fn345W1yWrL6rVobMyj4ZhD42AeDWfWp+cAoHXr1mjdunWu5Vu3bkW/fv2KsksqgcLDZQUWTACQlibBwYN5XGYt/+uaw7U39d9epJgYKc6elXGyWiIiMliRPo2ePXuGf/75B0qlUrcsLi4Oc+fOZdFUhty7J675pnZtNSpUyNmg+XeT3/EMAOIbAYmv6L09ADx6JMGNG7JCj8/JaomIyBj0LprOnDmDESNGID09HRKJBIIg6AYhDAoKMnqAZJliYyX4/ntrUet+840yR0vP0/SnqPfLSUAAcK233ttnCwuToWdPTlZLRETFQ+9xmr799lu8//772Lt3L+RyOQ4dOoSvv/4aHTp0wNSpU00RI1mYkydleOMNO9y8WXgrT16TxR64vRcaQduvXPlZ/l1z+W2fTexkt5ysloiIjEHvoun27dsYOXIkvL29IZFIULVqVfTo0QP9+/fH9OnTTREjWQhBAJYsscZbb9ni6VMpJBIBPXtm6T1ZbPYo4K+41MTcz17hZLVERFQi6F00SSQSqP6dn8HGxgaJiYkAAF9fX4SFhRk3OrIYycnAoEE2mDtXAY1GAhcXAb/9lo5VqzL0miz2eWYyTtw7BgAI8uqBbt3UnKyWiIhKBL3vaWrevDkmTpyIr776Cq+99hpWrFiBYcOG4dy5c7CysjJFjGRm165J8eGHtoiO1tbYDRqo8fPP6aheXdvCExSkQteuKlGTzR6+cxCZGu20JkHe3XNsX9TJZvU5PhERUVHpXTRNmjQJI0eOBAB88sknGDp0KNavXw8A+PTTT40bHZnd77/LMXasDdLStBXIgAFZ+Oqr3FOTiJ1sNiR6NwCgsr0nGldsmmN7QyabNXSyWyIiosLoXTTVqFEDu3drP/hatWqFPXv24PLly6hWrRrq169v9ADJ9PKaNy4rC5g5U4HVq7VPyFlbC5g/X4n33ssqcgtOuiodh+8cBKBtZZKwKYiIiEoQvYumESNGYNmyZbp/V6tWDdWqVTNqUFR88pq3rWpVDRQKAbduaZ+O8/TU4Oef09GkiWGj0Z64dwxpqlQAQJB3D4P2RUREVNz0LpquXr2KuLg4eHh4mCIeKkb5zdt2795/BVTbtir8+GMGypUzfKyj7KfmytuWh49HK4P3R0REVJz0LpqGDx+O0aNHo2vXrqhatWqum7/9/f2NFhyZjiAAs2Yp8pzoNpuLiwabNqVDXvRZTHSy1Fk4cHsvACCgRhBk0sLHeCIiIrIken8cTps2DQBw6dKlXK9JJBJcu3bN4KDI9MTMG5eUJEVEhHHmbTvz4BSSlEkA/ntqjoiIqCTRu2g6cuSIKeKgYiZ2PjZjzduW/dSco7UT/Ku0Nco+iYiIipPeRZOnp6cp4qBiJnY+NmPM26bWqLH336KpU/UuUMgUBu+TiIiouOldNHXo0KHAR8XZElUyZM/bVlAXnbHmbYt4eB6P0x8B4FNzRERUculdNHXt2jVH0aRWqxETE4PIyEh88MEHRg2OTCd73ra8np4DjDtvW/ZTczYyG3So9obhOyQiIjIDvYumcePG5bn8wIEDOHv2rMEBUfEJClJh+PBM/PBDzu4yLy8Npk9XGmXeNkEQdF1z7au9AXsre4P3SUREZA56T9ibnzfeeAMhISHG2h0Vk7g47SXg4qLBjz+mY9euNISHpxptotvLT/7G3ed3APCpOSIiKtmMMAKP1tWrVyEIht80TMVHqQQOHdJeAr16qdC7t3EKpRdld83JpXJ0rh5g9P0TEREVF72Lpv79++dalp6ejqioKHTu3NkoQVHxOH1ahufPtTctGatl6WXZQw34e74OFxtXkxyDiIioOBRpwt6Xn55TKBTo27cv+vXrZ7TAyPRCQrRvv4uLAD8/w5+Se9nNxH9wI/E6AD41R0REJZ/eRdNXX31lijiomKnVwL592re/SxcVXpoNxyiybwCXQIIAryDjH4CIiKgY6X0jeGZmJubMmYMzZ87olv3vf//DzJkzoVQqjRocmc7ZszI8fap9+4OCskxyjOz7mVp6+KKSXSWTHIOIiKi46F00LViwAKGhoXBzc9Mtq1OnDv766y8sXLjQqMGR6WR3zdnZCWjb1vhdc/ef38Olx38C4FNzRERUOuhdNB08eBA///wz6tSpo1vWoEEDrFixAgcPHjRqcGQagvBf0fTGGyrY2hr/GNldcwDvZyIiotJB76Lp+fPnKFeuXK7ljo6OSE5ONkpQZFqXLknx4EF215xpnprb82/XXKMKTVDVsZpJjkFERFSc9C6a6tevj9WrV0Oj0eiWZWZmYtmyZahdu7ZRgyPTyG5lsrYW8MYbxi+aHqU9wtm4MADsmiMiotJD76fnJk6ciI8++gjr1q1D5cqVodFocP/+fchkMvz222+miJGMSBCAPXu0j8q1bauGo6Pxj7E/JgQCtAOdsmuOiIhKC72Lpnr16mHv3r3Ys2cP7t69C6lUirfeegvdu3eHk5OTKWIkI7p+XYro6OJ5au5V19dQy/VVkxyDiIiouBVpGhV7e3u8+eabuiLp4cOHkMlkRg2MTCO7a04qFdCli/GfmnumTMKp2BMA2DVHRESli973NN24cQNvvPEGTp8+rVsWEhKCLl264MaNG0YNjowvu2jy81OjXDnjzxV48PZ+qDTa+6TYNUdERKWJ3kXT119/jcDAQLz++uu6Ze+++y769OmD+fPnGzU4Mq6YGAmuXNG2CJp6rrmqjtXQoHwjkxyDiIjIHPTunouMjMRPP/0Eqxfm3VAoFPj000/h5+dn1ODIuPbu/e/tDgw0ftGUmpWKY/cOAwC6enfPNUchERFRSaZ3S5NCoUBCQkKu5XFxcbyvycKFhGgL3WbN1Khc2bhdc4Ig4MdLPyBdlQ4A6OrF+5mIiKh00bto6ty5Mz799FMcPnwY169fx7Vr17Bnzx58+umn6NatmyliJCOIj5cgIkJb1HbtatxWppDo3fDZ2Bhfn5+rW/b50eG6rjoiIqLSQO/uufHjx2PatGn4/PPPodFoIAgC5HI5unfvjrFjx5oiRjKCF7vmjDnUQEj0bgQfGAiNoMmx/HZyDIIPDMSaLuv5FB0REZUKerc02draYuHChThz5gy2bt2KHTt24ODBg/Dw8ECXLl1MESMZQfZTc3XrquHtbZyuOUEQMCt0aq6CKZtG0GB22DQIgvGf0iMiIipuRRqnCQBcXFxw69YtbNy4EYcOHYKTkxP69etnzNjISBISgNBQ4z81Fx4XitvJMQWuE/MsGmfjwuBbmQ8JEBFRyaZ30aRUKrFr1y5s3LgR169fh0QiwbRp09C3b19YW1ubIkYy0MGDcqjV2ifZjFk0xafGGXU9IiIiSya6e+7evXv46quv0KZNGyxcuBAtW7bEnj174ODggHbt2rFgsmDZT815eWlQp07eXWlF4W7vYdT1iIiILJnolqaAgAD4+vpi2rRp6NKlC4ukEiIlBTh+PLtrLgvGHDrJ18MPNZy8Cuyi83L2ho9HK+MdlIiIyExEtzRVqFABN2/exNWrV3H//n1TxkRGdOSIHEql8bvmAEAikWCG31xIkHclJpVIMb3VHA5ySUREpYLoounIkSOYPHkyIiMj0bVrVwwcOBC7du3ik1EWLvupOQ8PDZo0MV7XXLauXt3gZuOWa7mXszeHGyAiolJFdPecTCZDYGAgAgMDce3aNaxfvx7Tpk2DUqnE6tWr8eGHH6Jq1aqmjJX0lJEBHDqkfYu7dlVBqvcAE4W7k3wbTzOeAgBGNhmFBuUbwd3eAz4erdjCREREpUqRPkbr1KmDL7/8EidOnMDo0aNx7NgxdOnSBcOGDTN2fGSAkydlSE01TddctjOxp3Q/f1AvGL1q9YFvZT8WTEREVOoY1Pbg4uKCoUOH4siRI/j222+RmppqrLjICLKfmnNz08DXV22SY5yKPQEAqOZYHdWcqpvkGERERJagyINbvkgqlSIgIAABAQHG2B0ZgUoF7N+vfXsDAlSQG+WdzkkQBF1Lk7/n68Y/ABERkQUxwV0u4sXGxmLIkCHw8fFB+/btsWDBAmg0Bd+s/PDhQzRp0gRLly4tpihLprAwGRITTds1dyvpJh6mxQMA/KuwaCIiotLNBO0P4o0cORL16tXD4cOH8fTpUwwdOhTly5fHhx9+mO82c+fOhUwmK8YoS6bsp+YcHAS0aWParjmALU1ERFT6ma1oioyMxPXr17F27Vo4OjrC0dERgwYNwrp16/Itmk6cOIFbt26hXbt2RTqmVCqBVGr8G5RlMmmO/5ubRgPs26d9azt3VsPBwTRxhT7Qds3Vcq2FKs6eBu/P0vJYEjGHxsE8Go45NA7m0XDGzKHZiqYrV67A09MTzs7OumX16tVDTEwMUlJS4ODgkGP9jIwMzJ49G/PmzcPOnTuLdEw3N3uTPtXl5GRrsn3rIywMiPt3urf+/eVwdTX+26wRNLr7md545Q24utobbd+WkseSjDk0DubRcMyhcTCPhjNGDs1WNCUlJcHJySnHsuwCKjExMVfR9MMPP6Bx48bw9fUtctGUkJBqspYmJydbJCenQ602/gCS+vrtNysA1lAoBPj6piEx0fjHuPw4Ek/TteMztajQComJhj85aWl5LImYQ+NgHg3HHBoH82g4MTkU+8XfrPc0iR1N/NatW9i6dSt2795t0PE0GgEajelGMFerNVCpzHtRCwKwe7f2bW3fXgUbGw1UJrgP/MTd47qffd39jXrelpDHko45NA7m0XDMoXEwj4YzRg7N1knq5uaGpKSkHMuSkpIgkUjg5vbftByCIGDmzJkYOXIkKlSoUMxRljxXrkhx5472bTXVU3MAcDr2JACgjls9lLctb7LjEBERWQqztTTVr18fcXFxSEhI0BVJkZGRqFmzJuzt/2sme/DgAc6fP4+bN29iyZIlAIC0tDRIpVIcPXoUO3bsMEv8lir7qTm5XEDnzqYpmlQaFUIfnAEAtOFQA0REVEaYrWiqW7cuGjRogEWLFmHy5Ml4+PAh1q5di48++ggAEBAQgLlz56JJkyY4ceJEjm3nz58Pd3d3DB482ByhW7S9e7VvaevWari6muYYkY//wvPMZACAv2db0xyEiIjIwpj1nqYlS5Zg2rRpaN26NRwcHNC/f3+88847AICYmBikpaVBJpPB3d09x3a2trZwcHBgd91LoqIkuHZNO4aVKbvmTv3bNSeVSNGqsp/JjkNERGRJzFo0ubu7Y9WqVXm+duPGjXy3++qrr0wVUomWPdecRCIgMNB0RdOZf4umhuUbwVnhYrLjEBERWRKzFk1kHIIAhIfLsGGDtmhq3lyNSpVM85RgpjoTZ+PCAAD+Vdg1R0REZQeHGC3hQkLk8PGxR8+edrh9W/t2RkVJdTeEG9vFRxeQpkoDAPh7tjHJMYiIiCwRi6YSLCREjuBgG12xlC0hQYrgYBuTFE7ZXXNyqRwtPVoZff9ERESWikVTCSUIwKxZCmg0eY9wrtFIMHu2AiLHDxXt9H1t0dS0YnM4WDkUsjYREVHpwaKphAoPl+VqYXpZTIwUZ8/KjHbMdFU6zsefBcCuOSIiKntYNJVQ8fHi5tATu54YEfHnkKnJBMCbwImIqOxh0VRCOTiI63dzdzde/9zpWO0gowqZAs0rtTTafomIiEoCFk0l0OXLUkyZYlPoel5eGvj4qI123NOxpwAALdx9YCMv/PhERESlCYumEuZ//5MjKMhONymvRJJ3S5JUKmD6dCUkRuqdS8l8jj8fXQAA+HtyvjkiIip7WDSVEJmZwMSJCowYYYv0dAkUCgGLF2fg558z4OWlybGul5cGa9ZkGHUqlbNxYVBptPtrzaKJiIjKII4IXgI8eCBBcLAtLlzQPglXtaoGP/+cjkaNtMVS164qhIfL8PChBO7uAnx81EZrYcqW3TVnJ7dHk4pNjbtzIiKiEoBFk4U7dUqGoUNt8OSJtlGwfXsVVqxIh5vbf+tIJECrVsa7dykvp/8d1NK3citYy6xNeiwiIiJLxO45CyUIwNKl1ujXz1ZXMI0dq8Rvv+UsmIpDUkYi/n58CQC75oiIqOxiS5MFyJ5wNz5e271Wr54an31mg717tRPwOjsL+OGHdHTubNrWpPyExYVCgPaG8zYsmoiIqIxi0WRmISFyzJqlyDG6t1wuQKXS3pRUr54aa9emo0YNI8+HoofT97XjMzlZO6NB+UZmi4OIiMicWDSZUfaEuy/PH5ddMLVurcLGjemwszNHdP/Jvp/Jr3JryKTGm5aFiIioJOE9TWZS2IS7APDggRS2tsUYVB4epz3GtYSrADg+ExERlW0smszEHBPuFkXog1O6nznfHBERlWUsmszEHBPuFkX2+EzlbMqhtlsds8ZCRERkTiyazETsRLrGnHC3KLIn6W3t+TqkEl4uRERUdvFT0Ex8fdWoUUNT4DrGnnBXX3EpDxCVdAsA72ciIiJi0WQmEgkwY4ay2CbcLYrsp+YAFk1EREQsmswoKEiF117L3dpkigl3iyK7aHK398ArLjXNGgsREZG5cZwmM8rI0D4hBwD9+mWiUye1ySbcLYrsoql15TaQWEJAREREZsSiyYwiImRQKrXFSP/+KrRpY777l152J/k27j2/CwBow6EGiIiI2D1nTqdPa8dgUigENG9uOQUTAJy+z/uZiIiIXsSWJjM6dUqb/ubN1QaN/C0IAsLjQhGfGgd3ew/4evgZ3J126t+hBqo5Vkc1p+oG7YuIiKg0YNFkJikpwJ9/ahv6/P2L3soUEr0bs0Kn4nZyjG5ZDScvzPCbiyDv7kXapyAIOPPvoJZsZSIiItJi95yZnDsne2Fi3qIVTSHRuxF8YGCOggkAbifHIPjAQIRE7y7Sfm8l3cTDtHgAgH8VFk1EREQAiyazye6as7MT0LSp/kWTIAiYFToVGiHvATI1ggazw6ZBEPQfUZzjMxEREeXGoslMzpzR3gTu46OGtbX+24fHheZqYXpZzLNonI0L03vf2UVTTZdacLf30D84IiKiUohFkxk8ewb8/bc29UXtmotPjTPqetk0ggZn/i2a2MpERET0HxZNZhAWJoNGo72fqU2boo36LbYFqIJdRb32e+3pVSRkJABg0URERPQiFk1mcPq09n4mJycBDRoUPGlvfnw9/FDDyavQ9RZHLMDT9KfiY/t3qAEA8PNsU6TYiIiISiMWTWZw6pT2fqZWrdSQF3HQB4lEggktpxS63snY4+i09XX8+fCCqP1m389Ux60eytuWL1pwREREpRCLpmL25IkE165piyZ/f8Mm5E38txvtZV7O3ljVeR0GNxgKALifcg/dd3TB+qu/FPg0nUqjQuiDMwCANhxqgIiIKAcOblnMQkNlup8NGdRSI2iwJnIlAKBxhSaY1fpLPEyNh7u9B3w8WkEikaBnzTfRrFILjD3+GdJUaRh7/DNExJ/DV68vgq089xDkkY//wvPMZG1snpxvjoiI6EUsmopZdtecm5sGdeoU7X4mADh+7wiin0UBAAY3HIZWlVvnuV6fV99C3XL18eH+dxH9LAqbrm/A5SeR+DlgPao71cix7ukH2lHApRIpWlX2K3JsREREpRG754pZ9vhMrVurITUg+6v+/hEAUN62AnrW7F3gunXK1cXBvscR4BUEAIh88hc6bX0dR+4cBKAdKDPswRn8/s8WAECDcg3hrHApenBERESlEIumYhQXJ8GtW9n3MxW9ay466RaO3D0EAHi/3odQyBSFbuOkcMYvARsx1XcmpBIpkpRJeCekHz4+8AF8NjZGz52BuPr0CgDtNCxFnYKFiIiotGLRVIxOnzbO/UzZ9zLJpXIMqhcsejupRIrPmo7B/7rvRDmbchAg4I+oHblGFn+W+cygueuIiIhKIxZNxSi7a65SJQ1q1iza/Uwpmc+x6fpGAEB3755Fmubk9SrtcKjvyQJbqAyZu46IiKg0YtFUjLIHtWzdWg2JpGj72HJjE1KyngMAghsMK3Is91LuQqlWFrhOUeeuIyIiKo1YNBWTO3ckuHtXm+42bYrWNacdZuAnAECjCk3Qwr1lkeMx1dx1REREpRWLpmKS3TUHFH1QyxP3juFW0k0AQHCDIZAUtbkK4ueuK0r3HxERUWnEoqmYnDql7ZqrWlWD6tWLdp/Q6sjsYQbKo1fNPgbFI2buOi9nb/h4tDLoOERERKUFi6ZiIAj/tTQV9am5mGfROPzvuEoD6w6CjdzGoJgkEglm+M2FVJL3JSCVSDG91RyDWrOIiIhKExZNxSAqSoL4eG2qi9o19/PlVRAgQCaR4QM9hhkoSJB3d6zpsh5ezt45lns5e2NNl/UI8u5ulOMQERGVBpxGpRhkd80BRWtpSslKwW/X1gMAunn3RGUHT6PFFuTdHV29uiE8LjTX3HVERET0HxZNxSC7a+6VVzTw8ND/fqatNzbrJtINbjjUqLEB2q66/OauIyIiIi12z5mYRvPi/Uz6d80JgqAbZqB++Ybwcfc1anxEREQkDosmE7t2TYqnT7PvZ9K/a+7k/eP4J/EGAODjBsPYbUZERGQmLJpM7MXxmfz89C+asluZ3Gzc0KuWYcMMEBERUdGxaDKx7El669RRo0IF/e5nuv0sBgdu7wMADKz7IWzltkaPj4iIiMRh0WRCajUQGqq9174oXXNrL6/WDTMwyEjDDBAREVHRsGgyochIKZKTtfcg6Vs0pWal4rfr2mEGAr26wdOxitHjIyIiIvFYNJlQ9vhMEomAVq30e3Ju2z9b8EyZBAD4uOEwY4dGREREemLRZELZN4E3bKiBi4v47V4cZqBuufrw9fAzQXRERESkDxZNJpKZCYSHF22+udOxJ3E94RoADjNARERkKVg0mciff8qQlpZ9P5N+XXOr/21lclW4over/YweGxEREemPRZOJZHfNyeUCfHzEtzTdTb6DA7f3AgDerfsBhxkgIiKyECyaTCR7fKYmTTRwcBC/3drLq6ERNJBKpPiw/mATRUdERET6YtFkAhkZwPnz+s83l5aVho3X1gEAAmoEoapjNZPER0RERPpj0WQCEREyKJX6j8/0+83/IenfYQYGNxxqitCIiIioiOTmDqA0yu6aUygENG9eeNEkCALCHpzBovPfAABqu9ZB68ptTBojERER6cesLU2xsbEYMmQIfHx80L59eyxYsAAajSbPdTdt2oQuXbqgSZMm6NmzJw4fPlzM0YqXXTQ1b66GbSH3cYdE74bPxsbo9UdXPEi9DwB4nP4Ye2P2mDpMIiIi0oNZi6aRI0eiUqVKOHz4MNauXYvDhw9j3bp1udY7cOAAFi1ahC+//BLnzp3De++9h1GjRuHevXtmiLpgKSnAxYvixmcKid6N4AMDcTs5JsfypxlPEHxgIEKid5ssTiIiItKP2YqmyMhIXL9+HePGjYOjoyNq1KiBQYMGYcuWLbnWzcjIwJgxY9CsWTNYWVmhX79+sLe3x6VLl4o/8EKcOyeDSlX4/UyCIGBW6FRohLxb1jSCBrPDpkEQBJPESURERPox2z1NV65cgaenJ5ydnXXL6tWrh5iYGKSkpMDhhef0e/bsmWPb5ORkpKamolKlSnodUyqVQCo1/ujaMplU9//QUG0rk52dgBYtBMjledelobGnc7UwvSzmWTQiHoWjlWdr4wZsoV7MIxUNc2gczKPhmEPjYB4NZ8wcmq1oSkpKgpOTU45l2QVUYmJijqLpRYIgYOrUqWjUqBFatmyp1zHd3OxNOiWJk5MtQkO1P7dpI0GlSvb5rvs8NlHUPp8jEa6u+e+nNHJy4oCehmIOjYN5NBxzaBzMo+GMkUOzPj2nb9dTVlYWJk2ahFu3buHXX3/V+3gJCakma2lycrLF3bvpuHjRBoAEvr6ZSEzMyncbR7iK2rcjXJGYmGqkSC1bdh6Tk9OhVufdbUkFYw6Ng3k0HHNoHMyj4cTkUGzjhNmKJjc3NyQlJeVYlpSUBIlEAjc3t1zrZ2Rk4JNPPkF6ejo2btwIV1dxRceLNBoBGo3p7hE6fVoCjUZblPn5ZUGlyv8Cb1GxFZysnZGc+SzfdbycvdG8om+B+ymN1GpNmTtnY2MOjYN5NBxzaBzMo+GMkUOzdZLWr18fcXFxSEhI0C2LjIxEzZo1YW+fs+ITBAGjR4+GXC7HL7/8UqSCqTicPKm9n8nJSUCDBgW/MZFP/sLzzOR8X5dKpJjeao5JuxOJiIhIPLMVTXXr1kWDBg2waNEipKSkICoqCmvXrsWAAQMAAAEBAYiIiAAA7N69G7du3cL3338PhUJhrpALdeqUtmhq1UoNeQFteFnqLIw6NgICBFhLFbmmS/Fy9saaLusR5N3dlOESERGRHsx6T9OSJUswbdo0tG7dGg4ODujfvz/eeecdAEBMTAzS0tIAAL///jtiY2Nz3fjds2dPzJ07t9jjzsvjx8DVq9oatLD55n78+wdcfvI3AGCm3xwENxiK8LhQPEyNh7u9B3w8WrGFiYiIyMKYtWhyd3fHqlWr8nztxo0bup/zGvDS0hw//t/PBY3PFP0sCgvOfQkAaFapBT6s/zEkEglaVS4bwwoQERGVVBz4wUCCAISGSrFypfbfrq4a1KmT9/1MgiBg3PHPkaHOgJXUCovbL4NMKivGaImIiKioWDQZICREDh8fe3TrZovsqfCUSgn27cu7AW/T9Q04HXsSAPBZ0zGo7VanuEIlIiIiA7FoKqKQEDmCg21w+3bOFKalSRAcbIOQkJyF08O0h5gR+gUAoJbLqxjVbFyxxUpERESGY9FUBIIAzJql0I3J9DKNRoLZsxV4cezOKafG45kyCQDwbftlUMgs9ylAIiIiyo1FUxGEh8tytTC9LCZGirNntfcr7Y3eg91ROwEAH9YfDB8PX1OHSEREREbGoqkI4uPFDQcQHy9BsvIZJp0aCwDwsK+Mqb4zTRgZERERmQqLpiJwdxc3FYu7u4A54TMRnxoHAPim7WI4WjsVshURERFZIhZNReDrq0aNGgVPk+LlpYFQ9RTWXVkDAOhVsze61AgsjvCIiIjIBFg0FYFEAsyYoYRUmneLk1QqYPK0Zxh7YiQAwEXhgrn+3xRniERERGRkLJqKKChIhTVrMuDllbPFyctLgzVrMnC9wnzcSroJAJjdej4q2lU0R5hERERkJGadRqWkCwpSoWtXFc6flyMlxRaOjulo3lyFawlX8PHWxQCANlXa4e3X3jFzpERERGQoFk0GkkgAPz8NXF2BxEQNlJlqjDk2AiqNCrZyWyxs+x0n3yUiIioF2D1nZKsjf8TFRxcAABNafAEvZ28zR0RERETGwJYmAwmCgNDY03gem4i01Ex8GT4bANCwQmMMbfSJmaMjIiIiY2HRZICQ6N2YFToVt5NjciyXQorF7ZdBLmV6iYiISgt2zxVRSPRuBB8YmKtgAgABAu4m3zFDVERERGQqLJqKQBAEzAqdCo2Q9wCXAgTMDpsGQRA3cjgRERFZPhZNRRAeF5pnC9OLYp5F42xcWDFFRERERKbGoqkIsueSM9Z6REREZPlYNBWBu72HUdcjIiIiy8eiqQh8PfxQw8mrwHW8nL3h49GqmCIiIiIiU2PRVAQSiQQz/OZCKsk7fVKJFNNbzeFI4ERERKUIi6YiCvLujjVd1uca8dvL2RtruqxHkHd3M0VGREREpsDRFw0Q5N0dXb264fyjMKQgCY5wRfOKvmxhIiIiKoVYNBlIIpHAz9Mfrq72SExMhUqV99hNREREVLKxe46IiIhIBBZNRERERCKwaCIiIiISgUUTERERkQgsmoiIiIhEYNFEREREJAKLJiIiIiIRWDQRERERicCiiYiIiEgEFk1EREREIrBoIiIiIhKBRRMRERGRCCyaiIiIiERg0UREREQkAosmIiIiIhFYNBERERGJwKKJiIiISAQWTUREREQisGgiIiIiEoFFExEREZEILJqIiIiIRGDRRERERCQCiyYiIiIiEVg0EREREYnAoomIiIhIBBZNRERERCKwaCIiIiISgUUTERERkQgsmoiIiIhEYNFEREREJAKLJiIiIiIRWDQRERERicCiiYiIiEgEFk1EREREIrBoIiIiIhKBRRMRERGRCCyaiIiIiERg0UREREQkAosmIiIiIhFYNBERERGJYNaiKTY2FkOGDIGPjw/at2+PBQsWQKPR5Lnur7/+ii5duqBp06YYMGAALl++XMzREhERUVlm1qJp5MiRqFSpEg4fPoy1a9fi8OHDWLduXa71jh49iqVLl+Kbb75BaGgo2rdvj2HDhiEtLc0MURMREVFZZLaiKTIyEtevX8e4cePg6OiIGjVqYNCgQdiyZUuudbds2YLevXujUaNGsLGxweDBgwEAx44dK+6wiYiIqIySm+vAV65cgaenJ5ydnXXL6tWrh5iYGKSkpMDBwSHHul27dtX9WyqVok6dOoiMjERQUJDoY0qlEkilEuOcwAtkMmmO/1PRMI+GYw6Ng3k0HHNoHMyj4YyZQ7MVTUlJSXBycsqxLLuASkxMzFE0JSUl5SiustdNTEzU65jlyjkUvpIBnJxsTbr/soJ5NBxzaBzMo+GYQ+NgHg1njByatXQVBMEk6xIREREZm9mKJjc3NyQlJeVYlpSUBIlEAjc3txzLXV1d81z35fWIiIiITMVsRVP9+vURFxeHhIQE3bLIyEjUrFkT9vb2uda9cuWK7t9qtRpXr15Fo0aNii1eIiIiKtvMVjTVrVsXDRo0wKJFi5CSkoKoqCisXbsWAwYMAAAEBAQgIiICADBgwADs3LkTly5dQnp6OlasWAFra2u0a9fOXOETERFRGWO2G8EBYMmSJZg2bRpat24NBwcH9O/fH++88w4AICYmRjcO0+uvv44xY8Zg1KhRePr0KRo0aICVK1fCxsbGnOETERFRGSIReIc1ERERUaE48AMRERGRCCyaiIiIiERg0UREREQkAosmIiIiIhFYNBERERGJwKLJQLGxsRgyZAh8fHzQvn17LFiwABqNxtxhlTivvfYa6tevjwYNGuj+mzNnjrnDsninTp2Cn58fRo8eneu1vXv3onv37mjSpAl69+6N06dPmyFCy5dfDrdv347atWvnuCYbNGiAv//+20yRWq7Y2Fh8+umn8PHxgZ+fHyZNmoTk5GQAwLVr1/Dee++hWbNm6Ny5M37++WczR2u58svj/fv38dprr+W6FtesWWPukC3O9evX8cEHH6BZs2bw8/PDqFGj8PjxYwBAWFgY+vbti6ZNmyIoKAi7du3S/wACGeTNN98Upk6dKiQnJwsxMTFC586dhZ9//tncYZU4r776qnDv3j1zh1GirFy5UujcubPQv39/YdSoUTleu3r1qlC/fn3h+PHjQkZGhvDHH38IjRo1EuLi4swUrWUqKIe///678N5775kpspKlW7duwqRJk4SUlBQhLi5O6N27tzBlyhQhPT1daNOmjbB06VIhNTVVuHz5stCyZUvhwIED5g7ZIuWXx3v37gmvvvqqucOzeEqlUmjVqpWwbNkyQalUCk+fPhXee+894ZNPPhEePnwoNG7cWNi6dauQkZEhnDlzRmjYsKHw999/63UMtjQZIDIyEtevX8e4cePg6OiIGjVqYNCgQdiyZYu5Q6MyQKFQYNu2bahevXqu17Zu3Yq2bduibdu2UCgU6NGjB1599dWifbMqxQrKIYmTnJyM+vXrY+zYsbC3t4e7uzvefPNNRERE4Pjx48jKysLw4cNhZ2eHevXqoV+/fvwbmYeC8kjipKenY/To0Rg6dCisra3h5uaGTp064ebNm9i9ezdq1KiBvn37QqFQwM/PDx06dMDWrVv1OgaLJgNcuXIFnp6ecHZ21i2rV68eYmJikJKSYsbI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nLXIZQgMw8jfyHdfWhLfJMZWZKgiIiKVrkxFk4+PD7m5udjtdtavX0/Xrl0ByMrKuujtNtasWUNUVBSPPfZYie0yMzOZMmUKN9xwA9deey1Dhw5l3bp1ZQlf/uTlBRERjh6jzZu9GDPGj0GD/ImICCA2tnDP04DwwTSu2QTQYpciInLpKVPRdO211zJp0iT+7//+D9M0ue666wD44osvaN26tdPnmTFjBtOmTaN58+altv3Pf/7Dxo0bmTNnDhs2bGDIkCE8+OCDHDt2rCwfQYDYWC++/rpwcZSUZGH06BqFCidvqzf3t38QgI2pG/gpZX2FxCkiIuIJSp7IUoxnnnmGSZMmcfr0aV599VW8vb05fvw477zzDu+//77T5/H19WXevHk8//zzZGVlldh269atXH/99YSEhABw2223MXnyZBITE6lbt65T17NYDCyWkh+vLwur1VLg96rANGHKFF/s9qLzYbcbTJ3qy8CBdozzmvy13Uhe3fgvTmen8f5vb9OlSRe3xVQV8+hplEP3UB5dpxy6h/LoOnfmsExFU+PGjQtN+A4ODuaHH37Az8/P6fOMGDHC6bY33XQTX375JXfccQcNGjRg3rx51K9fnzZt2jh9juDgAAzD/UVTnsBA5z97ZfvhB0hMLLnN3r0Wtm4N4Prrz70WRAD3d7yP1+JeY8meRRw3U2gR3MKtsVWlPHoq5dA9lEfXKYfuoTy6zh05LFPRdObMGWbMmJE/D2nOnDl8+umntGjRgueee46goCCXA7vQyJEj2bZtGz179gSgTp06vPPOO/j7+zt9juPH08utpykw0I+0tAxsNrvbz18edu60AjWcaJdJ27YFn5T76xX38eb6N8m15/LS6ld46cbX3BJTVcyjp1EO3UN5dJ1y6B7Ko+ucyWFQUIBT5ypT0fT888+zb98+APbs2cOUKVO477772LlzJy+99BL/+te/ynLaEr377rts376db775hoYNG7J06VLGjh3LokWLaNSokVPnsNtN7PaLm6h+MWw2O7m5VeOmrl/fueKxfv3CnynErxEDWwxh/q65fPr7bMZ3+idBNYLdFltVyqOnUg7dQ3l0nXLoHsqj69yRwzIN8P3www/8+9//BmDJkiV07dqVf/zjHzz//POsXbvWpYCKM3v2bP72t78RHh6On58ft912G02aNGH58uXlcr3qLjLS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\n"
          },
          "metadata": {}
        }
      ],
      "source": [
        "import matplotlib.pyplot as plt\n",
        "\n",
        "plt.style.use(\"seaborn\")\n",
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(6, 9))\n",
        "\n",
        "ax1.plot(q_history.history[\"val_accuracy\"], \"-ob\", label=\"With quantum layer\")\n",
        "ax1.plot(c_history.history[\"val_accuracy\"], \"-og\", label=\"Without quantum layer\")\n",
        "ax1.set_ylabel(\"Accuracy\")\n",
        "ax1.set_ylim([0, 1])\n",
        "ax1.set_xlabel(\"Epoch\")\n",
        "ax1.legend()\n",
        "\n",
        "ax2.plot(q_history.history[\"val_loss\"], \"-ob\", label=\"With quantum layer\")\n",
        "ax2.plot(c_history.history[\"val_loss\"], \"-og\", label=\"Without quantum layer\")\n",
        "ax2.set_ylabel(\"Loss\")\n",
        "ax2.set_ylim(top=2.5)\n",
        "ax2.set_xlabel(\"Epoch\")\n",
        "ax2.legend()\n",
        "plt.tight_layout()\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "eFIiSMV9d0KF"
      },
      "source": [
        "References\n",
        "==========\n",
        "\n",
        "1.  Maxwell Henderson, Samriddhi Shakya, Shashindra Pradhan, Tristan\n",
        "    Cook. \\\"Quanvolutional Neural Networks: Powering Image Recognition\n",
        "    with Quantum Circuits.\\\"\n",
        "    [arXiv:1904.04767](https://arxiv.org/abs/1904.04767), 2019.\n",
        "\n",
        "About the author\n",
        "================\n"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "seconds = time.time()\n",
        "print(\"Time in seconds since end of run:\", seconds)\n",
        "local_time = time.ctime(seconds)\n",
        "print(local_time)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "DN7xl_1qggGu",
        "outputId": "791d8d11-8487-4027-d972-ec890f47d34f"
      },
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since end of run: 1706118677.353985\n",
            "Wed Jan 24 17:51:17 2024\n"
          ]
        }
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.10.13"
    },
    "colab": {
      "provenance": [],
      "machine_shape": "hm"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}