{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Multi-objective adjoint optimization\n",
        "\n",
        "In this notebook, we will show how to use autograd efficiently for\n",
        "objectives involving several simulations.\n",
        "\n",
        "One common application of this involves defining an objective function\n",
        "that may depend on several different definitions of your structures,\n",
        "each with some geometric or material modification. For example,\n",
        "including the performance of devices with slightly larger or smaller\n",
        "feature sizes into one’s objective can serve to make optimization more\n",
        "robust to fabrication errors. For more details, see this\n",
        "[paper](https://link.springer.com/article/10.1007/s10409-009-0240-z)."
      ],
      "id": "ffd9e0fc-e868-4b80-8c17-f8351bcd203d"
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [],
      "source": [
        "import autograd as ag\n",
        "import autograd.numpy as anp\n",
        "import matplotlib.pylab as plt\n",
        "import tidy3d as td\n",
        "import tidy3d.web as web"
      ],
      "id": "ea3c8c75"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "### Setup\n",
        "\n",
        "First, let’s define the frequency that our objective will depend on"
      ],
      "id": "266fad63-7478-4f92-88c1-f8d044abf487"
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {},
      "outputs": [],
      "source": [
        "freq0 = 2e14\n",
        "wavelength = td.C_0 / freq0"
      ],
      "id": "2c98a764"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Now we set up some physical parameters.\n",
        "\n",
        "We will be putting a `td.Box` in the center of a domain with a point\n",
        "source on one side and a diffraction monitor on the other.\n",
        "\n",
        "The objective will involve summing the power of the 0th order\n",
        "diffraction order.\n",
        "\n",
        "The gradient of this objective will be computed with respect to the\n",
        "permittivity of the box.\n",
        "\n",
        "We will adjust the size of the box by `dy` in the y direction and define\n",
        "a combined objective function that returns the average power when the\n",
        "box is either perturbed by `+dy`, `0`, or `-dy`, which emulates a\n",
        "treatment for enhancing device robustness via dilation and erosion\n",
        "effects, as described in the paper linked at the top of this notebook."
      ],
      "id": "a8132096-afff-41b2-8bb1-b24f0646facd"
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {},
      "outputs": [],
      "source": [
        "permittivity_val = 2.0\n",
        "\n",
        "# box sizes (original design)\n",
        "lx = wavelength\n",
        "ly = wavelength\n",
        "lz = wavelength\n",
        "\n",
        "# amount by which we will change the box size in y\n",
        "dy = ly / 5.0\n",
        "\n",
        "buffer = 2 * wavelength\n",
        "\n",
        "Lx = lx + 2 * buffer\n",
        "Ly = ly + dy + 2 * buffer\n",
        "Lz = lz + 2 * buffer\n",
        "\n",
        "\n",
        "src_pos_x = -Lx / 2 + buffer / 2\n",
        "mnt_pos_x = +Lx / 2 - buffer / 2"
      ],
      "id": "9d56787e"
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {},
      "outputs": [],
      "source": [
        "def make_sim(permittivity: float, dy_sign: int) -> td.Simulation:\n",
        "    \"\"\"Make a simulation as a function of the box permittivity and the frequency.\"\"\"\n",
        "\n",
        "    box_size = ly + dy_sign * dy\n",
        "\n",
        "    box = td.Structure(\n",
        "        geometry=td.Box(center=(0.0, 0.0, 0.0), size=(lx, box_size, lz)),\n",
        "        medium=td.Medium(permittivity=permittivity),\n",
        "    )\n",
        "\n",
        "    src = td.PointDipole(\n",
        "        center=(src_pos_x, 0, 0),\n",
        "        polarization=\"Ey\",\n",
        "        source_time=td.GaussianPulse(\n",
        "            freq0=freq0,\n",
        "            fwidth=freq0 / 10,\n",
        "        ),\n",
        "    )\n",
        "\n",
        "    mnt = td.DiffractionMonitor(\n",
        "        center=(mnt_pos_x, 0, 0),\n",
        "        size=(0, td.inf, td.inf),\n",
        "        freqs=[freq0],\n",
        "        name=\"diffraction\",\n",
        "    )\n",
        "\n",
        "    return td.Simulation(\n",
        "        size=(Lx, Ly, Lz),\n",
        "        structures=[box],\n",
        "        monitors=[mnt],\n",
        "        sources=[src],\n",
        "        grid_spec=td.GridSpec.auto(wavelength=td.C_0 / freq0),\n",
        "        boundary_spec=td.BoundarySpec(\n",
        "            x=td.Boundary.pml(), y=td.Boundary.periodic(), z=td.Boundary.periodic()\n",
        "        ),\n",
        "        run_time=200 / src.source_time.fwidth,\n",
        "    )"
      ],
      "id": "02dd1f7e"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Let’s make a simulation for each of the perturbed size values and\n",
        "visualize them."
      ],
      "id": "49eaf634-0643-4878-a528-9141ea4d083a"
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAB2wAAAHsCAYAAAAeml0iAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\nbGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAd\nhwAAHYcBj+XxZQABAABJREFUeJzs3Xd4FFXbBvB7s7vZhIQQSuhKD0gJoEgTBOlIt1CUjgKKvDbE\nrqjYGxYEPqRZQBSlKaCAIE0EUar0EkJJhRDSts73R9w1ZZPsZmdnZvfcv+vyerPZ2XPO8M7z5Nk5\nM2d0kiRJICIiIiIiIiIiIiIiIiIixYWoPQAiIiIiIiIiIiIiIiIiIlFxwpaIiIiIiIiIiIiIiIiI\nSCWcsCUiIiIiIiIiIiIiIiIiUgknbImIiIiIiIiIiIiIiIiIVMIJWyIiIiIiIiIiIiIiIiIilXDC\nloiIiIiIiIiIiIiIiIhIJZywJSIiIiIiIiIiIiIiIiJSCSdsiYiIiIiIiIiIiIiIiIhUwglbIiIi\nIiIiIiIiIiIiIiKVcMKWiIiIiIiIiIiIiIiIiEglnLAlIiIiIiIiIiIiIiIiIlIJJ2yJiIiIiIiI\niIiIiIiIiFTCCVsiIiIiIiIiIiIiIiIiIpVwwpaIiIiIiIiIiIiIiIiISCWcsCUiIiIiIiIiIiIi\nIiIiUgknbImIiIiIiIiIiIiIiIiIVMIJWyIiIiIiIiIiIiIiIiIilXDCloiIiIiIiIiIiIiIiIhI\nJQa1B0BEVJLTp0/j5ZdfBgB06NABU6ZMUXlEnlm9ejW+++47t++9//77qFatmt/6Tk1NxWOPPeb2\nvbvuugt33XWX3/omIiIiKsmzzz6LhIQEAMCCBQtgMplUHlHprl27VmwNOmDAAAwbNsyv/b/11ls4\nfPhwkd9XqlQJH3/8sV/7JiIiIirOxo0bsWTJEgDAfffdhzvvvFPlEXlm1qxZ+PPPP4v8PiIiAvPm\nzfNr33v37sVHH33k9r1p06ahVatWfu2fiLSNE7ZEpGkpKSn4+uuvAQA2my1gJmwPHTrkGndhM2bM\n8OuEbWZmZrF9N2zYUDMTtllZWTh8+DAOHjyIQ4cO4cqVK673vvjiC4SEyL8IxIULF7B3714cP34c\nFy9eRGZmJkJDQ1GlShW0bNkS3bp1Q5UqVbxu1+FwYNu2bdi2bRsuXboEvV6P2rVro2fPnmjTpo3s\n+0FERBSo1q5diyNHjgAA5s6dGxATtjk5OcXWVrVr1/b7hO2mTZuwefPmIr+vVauWZiZsHQ4HTp8+\njYMHD+LgwYM4e/YsHA4HAGD8+PHo1q2brP1t3boVn3/+uVef+eqrrzzeNj4+HmvWrMHZs2eRkZGB\natWqoWXLlujfvz/KlSvn7XCJiIiC0vHjx101UqtWrQJmwnbr1q1YvXp1kd9XqFDB7xO28fHxxdaV\nw4cP18yEbVpaGg4dOoSDBw/iyJEjyMrKAgDUqVMHr7/+ul/73rt3L37//XecPn0aGRkZMJlMiImJ\nQVxcHHr16oUKFSp41V5ubi7Wr1+Pv/76C4mJiYiIiEDdunUxYMAANGjQwE97QVQ2nLAlIiJFvfzy\ny1i6dClOnz4NSZLcbrN48WJZJ2yfe+45LF68GJcvXy5xu9DQUNx333145513EBMT41HbW7ZswYMP\nPojTp0+77ffmm2/GokWLEBcXV6axExEREWnV7t278eijj+Lw4cPIzs52u02nTp1kn7A9depUsSc7\ni+PJhG1qaiqmTp2K5cuXu61TIyMj8eabb2LKlCnQ6XRe9U9ERESkdUOHDsXOnTtx6dIlt++3bNnS\nbxO269evxxNPPIFjx44Vu01YWBgefPBBzJw5E1FRUaW2uXDhQjz55JNIT08v8t7jjz+OQYMGYe7c\nuahevbovQyeSDSdsiYj8bMKECejatavrtb+LgJiYGHz55Zeu11u3bsWCBQv82qc3/vjjD5w6dUrR\nPvfs2VPqZC0AWCwWLF68GBs2bMCWLVvQpEmTErdfvnw5RowYUezEMwD89ddfaNeuHTZv3oyOHTt6\nPXYiIiLSjgYNGmDGjBmu182bN/d7n88++yzGjh3rej1q1Ci/9+mpCxcuYM+ePWoPQxbJycm47bbb\nSqxTMzMzMXXqVPzzzz/47LPPFBwdERER+cPrr7+OG2+8EUDeRfz+1rZt2wLn7BYtWoRff/3V7/16\n6tdff0VaWpri/X722Wd45JFHSjy/BuTdLfvJJ59g+/bt2LJlC6Kjo4vddvr06Xj33XdLbG/16tX4\n66+/8Pvvv6NWrVplGTqRrDhhS0Sa1rBhQ1chU7duXXUHU0bt27fHyJEjFesvIiKiQH+5ubmamrB1\nioiIQLNmzdCiRQvUrl0br7zyit/7vOGGG9C2bVvceOONiImJQUxMDBwOB/755x98++23rkndxMRE\nDBw4EAcPHkRYWJjbtg4dOoTRo0e7isnw8HCMGDECbdq0gc1mw86dO/H999/DZrMhNzcXAwYMwPHj\nx8u05DIREVGweOutt1xXuBf3N1bLqlSpomhdBwDdu3cv8FpLE7ZOISEhqF+/Plq0aIG4uDh8//33\nbp+76w9DhgyR5ZEf9957b4HJ2o4dO2Lw4MGoWLEiTp06hS+//NJ1t8mcOXPQqlUrTJw40ed+iYiI\nAlWvXr1c5+xuueUWlUdTNnfeeaeiyxDfeOONBWrJHTt2aGrC1qlSpUpo0aIFWrRoAbPZjPnz5/ut\nr+PHj+Oxxx4rMFnbrVs33H777ahVqxYyMjJw6tQpLFu2zPU9Yv/+/Xj66aeLXcJ66dKlBSZrY2Ji\nMGrUKDRp0gQZGRn46aefsGXLFgBAQkICBg8ejD/++MMvj2cj8gYnbIlI09Q4KUb+9eqrr+KTTz5B\ngwYNXIXQhQsX/Dph+9Zbb6F27dol3t38xhtvYPLkya4vGydPnsRXX32FBx54wO32Tz31FCwWCwCg\nWrVq2LRpU4G7bKZOnYpt27ahb9++yM7OxpUrVzBjxgx8+umnMu4ZERFRYOnfv7/aQyAZdejQAbt3\n70bz5s0RERHh+v3u3bsVm7CNi4vz+fvCihUrsG3bNtfrt956C08//XSBbZ599lkMHjwYW7duBQC8\n8MILGDFiBMqXL+9T30RERIEqNjYWsbGxag+DZPTdd98hNja2wN2mq1at8uuE7ZIlS2C1WgHk3Qyx\nYcMG3H777UW2e/fddzF8+HD8+OOPAPIed/Hxxx/DZDIV2C43NxfPPPOM6/Wtt96Kn376qcCjz558\n8knMmzcPkydPBgD8+eef+OKLLwqsakOkBk7YEpHf5ebmYuPGjfjrr79w+fJlWCwWVKlSBTExMahb\nty569OiBihUruv3s6dOn8fLLLwPIOyE0ZcqUAu//+OOP+Oabb7we0xtvvOFa8sSdnJwcbNu2Db//\n/juSk5NhtVpRtWpVtGvXDt27dy9wQsoXly9fxlNPPQUAqFy5Mj766COPPrdx40YsWbIEANClSxc8\n+OCDsoxHCW3btlW8zzZt2pS6Tbly5bBo0SIcOHAABw8eBAD88ssvbidsT548iZ9//tn1euHChW6X\nRLz99tvxzjvv4JFHHnFt9/bbb8t2/BAREalh//792LZtG06fPo2MjAxERkaiatWqqFatGm677TY0\na9as2M8+++yzSEhIAAAsWLCgwAmWzMxM10kTb/Tq1QujR48ucZsjR45g06ZNiI+PR3p6OqKjoxEb\nG4vevXujXr16XvdZnNdeew3Hjx8HADz99NNo0aJFqZ8xm82YOHEi7HY7jEYj5s2bp8iSfHKoVatW\nUCwf9/HHH7t+HjJkSJHJWgCoUKECli9fjtjYWFy7dg0pKSlYtmwZ77IlIqKAduXKFWzYsAGHDh1C\namoqALhWJLvpppvQtWvXYldFyX9u6r777sOdd95Z4P2PP/7Y60cn6PV6V5vFuXr1KjZt2oT9+/cj\nJSUFer0eNWrUQJcuXdCpUyfo9Xqv+izOrl27XI9AaNOmDR577DGPPvd///d/rgvBxo4dix49esgy\nHiXccccdiveZ/5m1DzzwgNvJWiBvpb758+ejRo0aAIDs7GycP38ejRo1KrDdDz/84Pq+ERYWhu++\n+67AZK3TpEmTsHv3bixevBhA3vHKCVtSGydsicivPv30U7z44otuH+7upNfr0a1bN/zyyy9F3ktJ\nScHXX38NALDZbEUmbA8fPux63xvTpk1zO2Frt9vx4Ycf4s0338SVK1fcfrZKlSp45ZVX8PDDD3vd\nb2E1atTAgQMHXHcgjBw5Erfeemupn3vzzTddS3eMGDHC53FQHr1ejxEjRrgmbJ3L3hW2YsUK189x\ncXFFvpTk98ADD+CVV15BSkoKcnJy8OOPP2LYsGHyDpyIiEgBBw8exIMPPljqibc6depg2bJl6NCh\nQ5H31q5diyNHjgAA5s6dW2DCNjc3t0x1XXR0dLETtrt27cK0adPw+++/u31fp9Nh+PDh+Oijj9ye\nyPFWVFSUax8iIiKKXaYtv++//x5ffPEFAGDw4MEBM1kbLJKSkrBz507X62effbbYbatWrYoJEybg\ngw8+AJB3FwonbImIKBBZLBY888wz+PTTT113N7oTHh6Ohx9+GO+9916R944fP+6qe1q1alXk3Mi2\nbdvw/fffezWukiZs09PTMWPGDMydOxdms9ntNrGxsfjoo4/Qp08fr/p1p2nTpvjhhx+Qk5ODVatW\nYcKECaWurGGxWPD8888jNTUVer0eb7/9ts/jCHYGw39TVHXq1Clx2+rVqyMsLAy5ublFPuuU/5i7\n7777Smzzueeec03Y/v333zh9+jQaNGjgzfCJZMVFuYnIb1577TVMnTq1xMlaIG+S1Nsr7nyl0+mK\n/C4zMxP9+/fHU089VexkLQCkpqZiypQpskzYAnlXdDl58qzZM2fOuJZiq127tixFKP0nf/EdFRXl\ndpsdO3a4fh4wYECJ7ZlMJvTu3dvtZ4mIiALF8ePH0blzZ49qtvj4eFy8eFGBUeVxV9cBwOeff44u\nXboUO1kLAJIkYdmyZWjfvr3rSnxfjB49GuHh4QCAb775BtnZ2aV+Jn/9F0irpgSLXbt2weFwAMg7\nCVjaxZMDBw50+1kiIqJAcu+99+LDDz8scbIWyFuBbv/+/coMCsXXdefOnUOHDh3w0UcfFTtZCwAn\nTpxAv379ZFnCNzo6GkOHDgUAZGVlYfny5aV+ZvXq1a47le+8886gWInE3/Jf5Jn/Ijp3/vzzT9dk\nbY0aNVC3bt0i23hzzq5Ro0Zo0qSJ288SqYF32BKRX6SmpuK1115zva5duzaGDBmCxo0bIzIyEunp\n6UhMTMS5c+ewceNG2Gy2MvUzYMAA1K5du9Tt9u7d61rqbMCAAW6Xr50wYQI2bNjgen3LLbegd+/e\nqFOnDvR6PeLj47Fq1SocOnQIADBnzhy0bt3a5xNro0aNwtNPP43s7GwsW7YMH3zwAcqVK1fs9gsW\nLIAkSa4xy7HUy/Tp04u9m7QsSltyWsv27t3r+rldu3Zut3HeGVTSNvm1b98eX331VZHPEhERBYoX\nXngBGRkZAIDQ0FD0798fbdu2RdWqVWG1WpGYmIjExETs2LHDVSt5q3z58q5nyZfEYrFg2rRpuHr1\nKqKjo/HQQw8V2ebnn3/GxIkTXTVT5cqVMXjwYMTFxSEqKgpXr17Fjh07sGbNGthsNpw5cwZDhw7F\nzp07ERJS9uuaK1asiHvvvRdffPEFMjIy8O2335a4tNqZM2dcq6bceOONslyIt27dOixdutTndpw8\nWXJaTUlJSfj8889x+PBhXL9+HdHR0ahfvz46d+6MuLi4Uj+fvzbz5NEd7dq1g06ngyRJyM7Oxrlz\n51C/fn2f9oGIiEhJmzdvxpo1a1yv4+Li0LdvX9SrVw8mkwmpqalITEzE8ePH8euvv5a5n0cffRSD\nBw8udbtvv/0Wa9euBZB3x2NhOTk5GDBggGvp3JCQEHTv3h233347atasCZvNhmPHjuHbb7/FxYsX\n4XA4MGXKFMTFxXl0zqYkkyZNct3x+/nnn7t9bFZ+n3/+uetnOVbhMJvNmDBhgs/tOHmy5LTSxo8f\nj/fffx8XL17EypUr8dJLL+HJJ59EhQoVCmz322+/Ffi3eOmll4pM8KempiI5Odn12tNzds5ji+fs\nSHUSEZEfrF69WgIgAZBuu+02KTs7u9ht7Xa7tHfvXrfv/f777652hg0bVqaxnDlzRqpataoEQGrT\npo2UmZlZZJsffvjB1U+FChWkNWvWuG3L4XBI77zzjmvbqlWrSjk5OUW2e+2111zbzJ8/v9Qxjhs3\nzrX94sWLi93OZrNJtWrVkgBIISEh0vnz50tte/78+a62X375ZbfbNG7c2LWNHP/9/fffpY4rv4SE\nhAKft1qtXn1eLufOnZPCw8MlAFJoaKh0+vTpItvYbDZJp9O5xnr48OFS212/fr1r+zp16vhh5ERE\nRP4VExMjAZAMBoO0Z8+eEreNj4+XLl686Pa9Zs2auf4mXr9+3etxOBwO6b777nP9rf7111+LbJOb\nmyvVrFnT1c/kyZPd1n+SJEkHDhyQateu7dr222+/LbLN5cuXXe+3a9eu1DHu3LnTtX2nTp1K3Pb5\n5593bfvKK6+U2rYkSa7ta9Wq5fb9d999V9a6bsqUKR6NK7/evXu7Pj9nzhyvP1+a/PVtSf/dfPPN\n0s8//1xiW+PHj3dt/9hjj3nUv7MeByBt3LhRjl0iIiJSzIsvvuj6OzZp0iTJ4XAUu21OTo60f/9+\nt+998sknrnbefffdMo1l48aNktFolABIo0aNcrvNc8895+qnYcOGxY4nJydHGjNmjGvbbt26ud1u\n0KBBXp2/atGihUfngOLj46WQkBAJgFS7dm3JZrOV2vakSZNcba9du7bI+9evX5e1rtPr9aWOqbCV\nK1e6Pt+yZUuvP++JEydOSM2bN3f1ExERIXXs2FG6++67pd69e0sNGjRwvWcwGKT33nvPbTt79uxx\nbRceHl7ise2U/xzu3XffLfeuEXmFSyITkV/kX/5tyJAhrqXh3AkJCUGbNm38Mo6rV6/izjvvRHJy\nMurWrYsff/wRERERRbZ79913XT8vXbq02CUzdDodnnrqKYwbNw4AkJycjHXr1vk8zvxX3ZW0LPKG\nDRtcSwz27dsXN9xwg899Ux6bzYYxY8YgJycHAPD444+7vVsiMzPTdbcOkHfHTmkqVark+tl5dxIR\nEVEgcdZ2DRs2LHXJ2BtvvBE1a9b0yzief/55192jCxYswB133FFkm6+//tq1csjgwYMxZ84ct/Uf\nkHdHSf7l7RYtWuTzGDt27OhazWXHjh04fvy42+3sdrvrmVl6vV7Wuycoz19//YU+ffpgxowZxW6T\nvzbzpK4DWNsREVFgy3/ObsSIEcUuQwwAYWFhaNmypV/GcfjwYdxzzz2wWq3o1q2b2/NhWVlZ+Oyz\nzwAA5cqVwy+//FLseMLCwrBw4UK0atUKAPDrr7/i/PnzPo/T03N2ixYtcj0qQa4V8UTRqFEj7N27\nF0uXLkWdOnWQlZWFXbt24fvvv8fPP/+M06dPA8j7dz1y5AiefPJJt+3kr8sqVapU4rGdfzt3nydS\nA5dEJiK/aNq0qevn5cuX44EHHiiylIW/mc1mDB48GMeOHUN0dDTWrVuHatWqFdkuNTUVu3fvBgA0\na9YMd955Z6ltjxkzxnVCb/v27bjrrrt8Gmv79u0RFxeHgwcPYvv27Th+/DgaN25cZLv8S6vI+Yyz\nd999F9euXZOtvTp16sjWllImTpyI3377DUDeidb8S3rnl5mZWeB1SRcjOOVf4rrw54mIiAJB06ZN\nsXfvXpw8eRJbtmxxO1Hqb/Pnz8ebb74JAHjttdcwcuRIt9vlX+Lv6aefLrXdjh07omHDhjh16hR2\n7NgBSZI8OrlTkokTJ+J///sfgLwTe++8806RbQpfiCfXM8769euH6tWry9IWALc1qRYYjUa0adMG\nN998M2rUqIHq1avDarXizJkz2Lhxo+t5e5Ik4ZVXXkGtWrXc1s/5azNP6jqAtR0REQW2/OfsFi5c\niNtuuw0Gg7LTBJcuXcKdd96Ja9euoVmzZvjhhx9gNBqLbLd9+3akp6cDyHvubr169UpsNyQkBCNH\njnTVAdu3b8f999/v01jzP8rsyy+/xFtvvYXQ0NAC2zgcDtd5wpCQEIwfP96nPp3CwsI8emSIp3x5\n9Ie/LVy4ELNmzUJ8fHyJ2yQlJeGDDz5Ao0aNirzPuo4CHSdsicgv4uLi0KdPH2zYsAF79+5F3bp1\nMWDAAHTp0gVt2rRB06ZN3RZicpEkCePGjcO2bdsQGhqKlStX4qabbnK77e7du113TGZlZRV4zpjz\n9/nvqJQkqcAVV3JcrQfkPRdjypQpAPIKkLfffrvA+0lJSfjxxx8BADVr1kT//v1l6RdAsXcUi+KJ\nJ55wFdaxsbH4/vvviz0+C18h6bx6siR2u73YzxMREQWC6dOn495774Xdbkf37t3RuXNn9O7dG+3a\ntcPNN9+MihUr+rX/DRs24OGHHwaQ95yrF154odhtnRfiAcAnn3yCuXPnAihaz+X/X2dtd/36daSn\np/u8P84Tezk5Ofjiiy/wxhtvFDkRmv8ODTmeceZ00003FVv3BovevXsjMTGxwB0Rhf38888YPXq0\n6zlmzzzzDIYOHVrkItL8tZkndR3A2o6IiALbsGHD8OqrryI+Ph5ffPEFfv31VwwaNAidOnXCLbfc\ngoYNG/p88VpJMjMz0a9fPyQkJKBGjRpYt25dsTd55K/rDh8+7Dpn566uc/587tw512s5ztlVqFAB\nw4YNw6JFi5CamorVq1fj3nvvLbDNpk2bXBONffr0wY033uhzvwBgMBiKvUgxWNhsNowfP941MR0S\nEoIePXrgjjvuQLVq1ZCbm4sjR45gxYoVrnOjv/32GzZs2ICOHTsWaIt1HQU6TtgSkd8sX74ckydP\nxjfffIP09HR8+eWXrj++ERER6Ny5M4YOHYoRI0YgLCxM1r6fe+45LFu2DDqdDgsXLkTXrl2L3fby\n5cuun8+dO1egsPOE80o/X40cORLTp09HVlYWlixZgtdff73Aib0lS5bAZrMByDtRySLCd5Ik4ZFH\nHnEtrxMbG4stW7aUeFdKZGRkgdfZ2dmlntTNv9xQ+fLlfRgxERGROu655x4sWLAA06ZNw9WrV7Ft\n2zZs27YNQN4jI5o3b44BAwZg/PjxaNCggax979+/H0OHDoXNZkOvXr0wb968Yre12+2uCToAruWT\nvSHHhG10dDSGDRuGxYsXIykpCWvXrsWQIUNc7ycnJ7suxKtVq5ZHK7zQfzx5LEjv3r3x888/o23b\ntrBarbhy5QrWrl1b5KRn/touf81WEtZ2REQUyCIiIrB582aMHj0au3btwoULFzB79mzMnj0bAFCl\nShX06NED999/P/r16yfr5K3NZsPQoUOxf/9+RERE4McffyxxcjP/Obt9+/Zh3759XvUn1zm7SZMm\nuS70//zzz4tM2OZfEU/OC/FE8M4777jOF1eqVAlr1qzBbbfd5na7Bx54AMuWLcP169cxdOhQHDt2\nrEAtx7qOAp1274EnooAXFRWFpUuX4ujRo3jllVfQrVs3REVFAci7k3XDhg0YP348GjVqhF9//VW2\nfv/v//4Pb731FgBg5syZpS594uvzCfJfieWLqKgoDB8+HEDBu2mdFi5cCCDvSrMHHnhAlj5FZrfb\n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\nDcLkyZNhtVqRlJSEDz/8EM8884zbbV966SXXhG716tVx++23l30niIiIVHD16lXs2LEDAwYMKHVb\nOWq7V155xbWU8dy5cwucdPHEfffd51oS+O2330b//v3RunXrUj8XHx+PhIQEdOrUyftBF6NChQoY\nPnw4Fi5ciDNnzmD16tWuC/Fq1Kjhl2ec9evXT7ZlnYGCSwYHmkWLFmHXrl2u1z169CiyTXh4OPr1\n64dvv/0WADBjxgz069cPYWFhRbb9448/sHLlStfroUOH+mHURERE/rVq1Sp069at1PMhctR1x44d\nw+DBg2E2m9GpUycsWbIEOp3O48936NABdevWxblz53Du3Dk8/fTTBZ55WhybzYbvv/8ew4YNK9O4\nizNp0iTXHbULFixAhQoVXO/540K8sLAwfPnll7K1FxKirfv3GjVqBJPJBLPZDEmSMGvWLLz22mvF\nbn/p0qUCF8/lXynF6d5773Wturhp0yZs2rTJbQ1os9nwwgsvuF736NHD7QQwkaIkIiI/ePnll6Ww\nsDBp0qRJ0t69eyWHw1FkmwMHDkhxcXESAAmANGzYsCLb/P777yW+b7FYpO7du0sApKioKOnAgQNl\nGu/+/fslg8Hg6uvWW2+Vtm7d6nbbzMxMadmyZdJtt90mAZBSUlKKbPPaa6+52po/f77X43nwwQdd\nn69cubIEQNLpdNLp06e9bmv+/Pmutl5++WWvP6+EhIQE1xgBSFar1ePPPvfcc9L9998v3X///dKq\nVavcbnP27FmpQYMGrva7du0qXb9+3acxT5061dWewWCQZs+eLdntdtf7ZrNZeumllwrs10cffeRT\nn0RERGpw/p3u2LGj9PXXX0uZmZlFtrl69ao0bdo01988o9EoXblypch2zZo1c23j7m/xkiVLXO+/\n8MILZR5zhw4dXO1ERUVJs2bNkjIyMops53A4pD///FOaPHmyFBYWJr355ptFtrl8+bKrrXbt2nk9\nlj/++KNIXQdAeu6558q0b87P16pVq0yfV0Lv3r1d45wzZ47Hn/vll19cdd1jjz3mdpvff/9dmj17\ntnT06NFi27l8+bL05JNPSiEhIa5xNGnSpNga8++//y6wbd++faXk5OQC22zfvl2qUaOGa5uWLVsW\nqP2IiIgCRb9+/aQqVapIL7zwgnTq1Kki7zscDunnn3+WYmJiXH/33n333SLbffLJJyW+n5iYKNWr\nV08CIMXGxkppaWllGm/++hCAdPfdd0tHjhxxu21KSor08ccfS7GxsVKdOnXcbjNo0CBXW3///bfX\n42ndurUEQAoNDZUiIyMlAFK1atUki8XidVuTJk1yjWXt2rVef14JK1euLFD/eMput7vquvvvv7/Y\nc7aDBw92ta/T6aSXXnrJ7feEHTt2SLGxsa5tQ0JCiq0HO3bsWKD+3rBhQ4H3r169Kt17770Fjqud\nO3d6vG9E/sI7bInIb3JzczFv3jzMmzcPlStXRsuWLVGlShVcv34d586dw9GjR13b6nQ6PPLII173\nMWXKFGzevBlA3nMt3nnnHY8+98YbbxS4+7dly5b46KOPMGXKFADA3r170bVrV1SrVg1xcXGoVKkS\ncnJycPHiRRw4cAA2m83rsXpj4sSJmD9/PgC4lgPp3r076tev79d+lXDkyJEiy9847yB2GjNmTJEr\nLt966y23y9j99NNPOHDgAACgSZMmGDRoUJFtBg4c6Hp+hU6nQ6VKlTx6Xkr58uWLfRbyyy+/jFWr\nViEhIQE2mw1TpkzBW2+9hZtvvhk2mw179uxBSkqKa/tbbrkFDz30UKl9EhERadWuXbuwa9cuGAwG\ntGrVCrVr10ZISAgSExPx119/ITc317XtyJEjvb5CfceOHa7nfplMJpw9e9aj55T16tWryDNWly9f\njjZt2iA5ORkZGRl47LHH8Mwzz6Bly5aoVasW9Ho9UlNTceDAgSLPvpJb27Zt0bJlSxw4cMBV1+l0\nOtmfcaaWxx9/vEDNAwAHDx50/bxo0SLs2LGjwPt9+vRx+//t8ePHXc9pq1OnDj788MMi2xw7dsxV\ns8fExKBmzZqoUqUKKleuDIvFgrNnz+Lw4cOw2+2uz4SFheHzzz8vdqWaVq1aYcqUKfjkk08AAOvX\nr8cNN9yA2267DZUqVcLJkydd9SaQt0zkp59+qrm7VIiIiDyVmpqKmTNnYubMmbjxxhtx0003oUKF\nCrhy5QqOHTuGCxcuuLaNjo7GqFGjvGrfZrNhwIABOHv2LACgWrVq+N///lfq59w9Y3X06NHYunWr\nawWW77//Ht9//z3q16+Pm266CZGRkbh+/TrOnj2LY8eOQZIkAP5b/W3ixIl46KGHYLFYYLFYAOSt\niGc0Gv3Sn5J+/PHHIssI5z8Wzp8/X6SGCw0NxcKFC4u05XA4Cjx/d+TIkW4fczJz5kxs2LABubm5\nkCQJr776Kt5//320adMG1atXR25uLg4fPuw6r+c0ceJENGnSxO1+fPzxx+jUqRNyc3ORlpaGPn36\noGnTprjpppuQkZGBnTt3FjgXOW7cOHTs2LGEfxkihag9Y0xEwWnr1q2uq+hK+0+n00mzZs1y205p\nd9jmv2vSm/+Ku4Lu888/l0wmk8ftDBkyRMrNzS3Sjq932EqSJN18880F+vr222/L1I7W7rDduHFj\nmf4/O3TokNv2WrZs6drmtddec7tNrVq1ytRn5cqVS9yXI0eOSNWrVy+1nSZNmkiJiYk+/9sRERGp\nISsrq8CV76X916lTJ+natWtu2yrpDts333yzTH+vp0yZ4ravkydPSi1atPC4nXr16rm9st7XO2wl\nSZI+++yzAn316tWrTO1IkvbusK1Tp47X/589+uijbtvKf6dOcXfFLFq0yKu+qlevLm3cuLHU/bDZ\nbEXutHD3X2hoqLRs2TIf/sWIiIjUtWDBAik6Otqjv6MRERHSL7/84radku6wvXr1apnqOr1e77Yv\nm80mPfnkkx63YzQapWeeecZtW77eYZuRkeG6sxbIO6/p7k5lT2jtDtuy1OMmk8ltW1artcB269ev\nL7bftWvXSuXLl/e4z7vvvrvUO5pXrVolhYeHl9pWv379ynR3NJE/8HJQIvKLLl264NixY1i0aBE6\nduzo9upzg8GAfv364ffff8ejjz6qwiiLmjBhAo4dO4aHHnoIVapUcbtNVFQUxowZgz/++AM//PAD\nTCaTX8YyadIk188xMTFu7xwldTVt2hRHjhzBpEmT3D77JSYmBs888wz++usvVKtWTYUREhER+a5c\nuXJYuXIl9u7di7Fjx6J8+fJut2vcuDE++ugjbNmypUzPiJdbw4YNsXfvXsydOxctWrRwu01ISAg6\ndOiABQsW4NixY367sv7+++9HRESE6/WDDz7ol35E0LFjR0ydOhWtWrUq8Q7Xhg0b4tVXX8WRI0fc\nPresML1ej2+//RYLFy50e7eGwWBAnz59sG/fPgwfPtynfSAiIlLT+PHjcfbsWbz99tvF3qEYGRmJ\nsWPH4vDhw+jZs6fCIyxKr9fjvffew549e3D33XcXqKvyq1mzJp588kkcO3asyOpucilfvjxGjBjh\net2tWzc0aNDAL32Jon///jh06BAmT55c4LnA+el0OnTs2BHffPMNVqxYUeodzYMGDcL+/fsxaNAg\nt9s2aNAAs2fPxtq1a4Pi7mgKDlwSmYj8JjQ0FGPHjsXYsWNx9epV7N+/HykpKTAajahRowZatGhR\nbIHl1LBhQ3z55ZcAgLp16xZ5//3338f169e9HltJy6LUrVsXn332GWbPno1//vkHFy5cQHp6OiIj\nI3HjjTeiWbNmiix/Jv27hAsAjB07FqGhoX7vUwnNmzd3/X/qjRtuuMHt79944w3XUoatWrVyu80n\nn3yCrKwsr/sMCwsrdZtKlSph7ty5mDVrFg4cOIBLly5Br9ejdu3aaNmyJfR6vdf9EhERaVGbNm2w\naNEifP7559i/fz/Onz8Pm82G6OhoNGnSpNi/1fm99dZbSE9PB1D07+yAAQPcPv6gNI0bNy72PZPJ\nhEmTJmHSpElITk7G0aNHkZqaCp1Oh5iYGLRq1arYCWg56XQ6V21XrVq1oLoQb9asWcjMzPTqMzfd\ndJPb3/fq1ctVJ0ZGRrrdJjY2Fh9//DEA4Pr164iPj0dKSgpSU1NhMBhQsWJFNG3aFFWrVvVqTE7j\nxo3DuHHjcOLECZw9exbXr19H1apV0axZM1SuXLlMbRIREWlNdHQ0pk+fjunTp+PChQs4cuQIrl69\ninLlyqFOnTpo2rRpqZNY+f9u33LLLQXei4iIKNO5n9LOt916661YsWIFrFYrDh48iMTERGRmZiI6\nOhqNGjVS7FFi+c/ZTZw4UZE+lVCWery48156vb7AMdCyZcsS26lTpw7mzJmD2bNn49ixY4iPj0dG\nRgZMJhMqV66MuLi4YidzixMbG4tVq1YhPT0dhw4dQlJSEiIiIlC3bt1i61EiNemk/NmFiIhkMXPm\nTLz44osAgPnz55fpGWW33nor/vzzTwDAiRMn0KhRozKN5fPPP3fdxfHyyy9jxowZZWqHiIiISESJ\niYmoUaMGAKBdu3bYvXu3123MnTvX9Sz7p59+Gm+99VaZx6PT6QAAtWrVKvBMMSIiIiIq3eDBg7F6\n9WoAwN9//13sxf/FuX79OmrVqoXr168jJiYGFy5cKPNNFpMnT8a8efMAAGvXrkX//v3L1A4RBQfe\nYUtE5GcLFizA1q1bXa/ff//9UpfH3bJli2uytnPnzl5N1qampuKxxx5zvT59+rRX4yUiIiIi906f\nPo2RI0e6Xg8YMADDhg0r8TN2ux0ffvih6/W4ceO86vOtt97C4cOHvRsoEREREZXq+eefR8WKFQHk\n3RXsnDwtydy5c12r/Y0cOdKrydq9e/fio48+cr3es2ePlyMmomDGCVsiIj/bvXt3gTsxZsyYUeKE\nbVpaGh555BHXa2+fcZaZmYmvv/7a+4ESERERUYlSU1ML1Fm1a9cudcJ2xowZOHHiBADg9ttvL3EJ\nZ3c2bdqEzZs3ez9YIiIiIirRunXrXD9XqFCh1AnbI0eOYObMmQDyVj3xdkW9+Ph4nrMjomJxwpaI\nSAPef/99/P3330hPT8eOHTtw7do1AHnPbxg+fLjKoyMiIiIiT+3btw8ffvghLBYLDh06hGPHjrne\ne+aZZ1QcGRERERF565FHHkF6ejoSExOxbds2WK1WAHkrrTRt2lTl0RFRMOGELRGRHwwePBh169Z1\n+1716tWL/G7Lli346aefivx+1qxZMBqNXvUdExODL7/80u17cXFxXrVFREREJLro6Ohia6vmzZsX\n+V1CQoLbOyf69++Pvn37et3/s88+i7Fjxxb5fUREhNdtEREREYnu8ccfxz333FPk98UtbbxixQok\nJSUV+F25cuXw7rvvet1327Zti60rW7du7XV7RBRcdJIkSWoPgohIdP379y8wYRsZGYm3334bDz/8\nsIqjIiIiIiJvrVq1CkOGDCnwuwEDBuDLL79EhQoVVBoVEREREZVF9erVC0zY1qxZE0uWLEGPHj1U\nHBURBSNO2BIRacDWrVtx4cIFhISEoEqVKmjfvj2ioqLUHhYREREReenChQvYunUrgLy7L+Li4tCw\nYUN1B0VEREREZfL9998jJycHBoMBtWrVQrt27Yq9G5eIyBecsCUiIiIiIiIiIiIiIiIiUkmI2gMg\nIiIiIiIiIiIiIiIiIhIVJ2yJiIiIiIiIiIiIiIiIiFTCCVsiIiIiIiIiIiIiIiIiIpVwwpaIiIiI\niIiIiIiIiIiISCWcsCUiIiIiIiIiIiIiIiIiUolB7QFQYLPZbEhISAAAREVFISSE1wAQERF5w+Fw\nICMjAwBwww03wGBgeUbqYF1HRETkG9Z1pCWs7YiIiMpOjbqOlSP5JCEhAfXr11d7GEREREHhzJkz\nqFevntrDIEGxriMiIpIP6zpSG2s7IiIieShV13HClmQxduxYmEwmtYfhll6vh9FodL22Wq2w2+1e\nbyMXs9mMlJQU/PTTT35pn4hIK/r164eYmBjV/j5oLf+XZt68ear0S1SYlus6TykV/6zriEgUatd1\n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\nUggHbElV8j5g2iDvg6iJiMi9MP8TqRfjn4hInZj/ifJTy/HP+CciUidXz/8csCXVyBusISEhuW6P\nd5WgJSKiwmH+J1Ivxj8RkTox/xP9R6fTwcfHR/q/ux//jH8iInVyh/yvUboB5NqysrJy/Z6RkaFg\na0xLS0tDcnKy9P/g4GB4e3sDAAIDA6Vl9+/fh16vh7+/v13akZWVhczMTGi1Wjx48MAudRCRwh4W\n8MGvotjXarXIzMxU9PPBWfK/OXq9Xvo95+cqkaO5Sr/OUvaOf/briFSCfTsAztGvs5SS/T/268iZ\nGI7BzMxMeHp6Os33H3uyNv7ZryNSCfbrJK7Ut7OEPfp/SvTrOGBLNskZBPHx8bh165aCrTHO29sb\nvr6+0v+1Wi1iY2NNrpOcnAytVgudTmeXtjx69Ahbt25Fz549ZS+fiFzBGKUb4DCdO3dG2bJlERgY\niBs3bji8fmfK/wUxdCKTk5MRGhrq8PqJANfo11nKEfHPfh0RZVNH307pfp2lnKH/x34dOYu8fTu9\nXu8033/swZb4Z7+OiLKpo18HuE7fzhL27P85ul/nIYQQdq+F3NbVq1dRqVIlpZtBRETkFv79919U\nrFhR6WaQSrFfR0REJB/260hp7NsRERHJw1H9Og7Ykk30ej1u3rwJIPs2c09PeR6LnJSUJHUq//33\n31xzjZNz4D5yDdxProH7yTXYaz9lZWVJV7+XK1cOGg0nQCFlsF+nbtxProH7yTVwPzk/9utIDezR\nt2N+cw3cT66B+8k1cD+5BnvsJyX6dew5kk00Go3drywICQlBsWLF7FoH2Yb7yDVwP7kG7ifXIPd+\n4nR55AzYryMD7ifXwP3kGrifnB/7deSu7N23Y35zDdxProH7yTVwP7kGOfeTo/t18lw2T0RERERE\nREREREREREREhcYBWyIiIiIiIiIiIiIiIiIihXDAloiIiIiIiIiIiIiIiIhIIRywJSIiIiIiIiIi\nIiIiIiJSCAdsiYiIiIiIiIiIiIiIiIgUwgFbIiIiIiIiIiIiIiIiIiKFeAghhNKNICIiIiIiIiIi\nIiIiIiJSI95hS0RERERERERERERERESkEA7YEhEREREREREREREREREphAO2RERERERERERERERE\nREQK4YAtEREREREREREREREREZFCOGBLRERERERERERERERERKQQDtgSERERERERERERERERESmE\nA7ZERERERERERERERERERArhgC0RERERERERERERERERkUI4YEtEREREREREREREREREpBCN0g0g\n17d8+XJs2LChwPUCAgKwZMkSWeq8du0a1q5di4sXL0Kr1aJs2bLo1KkTmjZt6tAyXM25c+dw8OBB\n3LhxA3FxcdBqtQgLC0P9+vXRtWtXBAUF2VzHZ599hmPHjhW4XrVq1TB9+vQC1ztz5gw2bNiAa9eu\nAQAqVqyI559/HjVr1rS1qU7ljz/+wJYtW3Dr1i34+vqiatWq6N27NyIjI52uHke11VlkZGTg6NGj\n+PPPPxEbG4v4+HhoNBqUK1cOzZs3R5s2beDpafv1T3369EFmZmaB6/Xr1w89e/Y0u45er8euXbuw\ne/duxMXFITg4GDVr1kTv3r0RFhZmc1udTWJiIl599VWL1h09erQseT49PR2bNm3CH3/8gTt37iA0\nNBR169ZFjx49LM6lcpRBJLf4+Hi88cYbFq37zjvvoFGjRjbXmZaWJsVCYmIiQkNDUa9ePTz//PMW\nx4IcZbia+/fvY//+/YiJiUFcXBzu3r2LwMBAVK9eHe3bt0eNGjVsruPkyZOYNm2aRevOnDmzwL5A\nUlIS1q9fj7///hsPHjxAeHg4mjdvjk6dOsHX19fm9jqLuLg4rFmzBufOnUNqaioiIiLQrl07tG7d\nWpY+g5z1OKqtzuTKlSs4cOAArl69iri4OKSmpiI0NBRPP/00unXrhtDQUJvrWLBgAbZt21bgeqGh\noZg7d26B612+fBnr1q3D5cuXkZGRgfLly6Nr165o0KCBzW11RlOmTMHp06cLXK927dqYOHGiLHX+\n/fff2LhxI65fvw5PT09UqlQJPXv2RPXq1R1aBpHcGE+uQa/X46+//sLRo0dx+/ZtxMXFwdPTExER\nEWjSpAk6dOgAjcb20/gjRozAvXv3ClyvY8eOePnll82uI4TAvn37sGPHDty6dQtFihTBk08+iV69\neqFs2bI2t9VZ6HQ67NixA3v37kV8fDyKFi2KOnXqoGfPnrL0GeSsx1FtdSbJyck4ePAgzpw5g7i4\nOCQmJqJIkSKoUqUK2rZti7p169pcx7Vr1/DOO+9YtO748eMRFRVldp3U1FT88ssvOHbsGO7evYsS\nJUqgYcOGeO655xAQEGBze53NkSNHMHPmTIvW/eabb1CqVCmb67x//z7Wrl2LU6dO4eHDhwgPD0er\n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\novL9fe3atQCA0NBQtG7d2uTrMzIycP36dcTFxeHBgwcIDAxEpUqVULFixUK3XafT4fTp04iLi0NQ\nUBCeeuophIWFFbocV5KWlobr168jNjYWKSkpKFq0KKpWrYqIiIgCX5uamopt27YBACpUqID69esX\n+JrHjx/j9OnTSExMRPHixVGzZk0ULVq0UG2Wowwie3j8+LGUjwzxVK1aNZQuXbrA1z569Ag7duwA\nAERGRqJevXoW1Xfq1CncvXsXxYsXR61atRAcHFzoNttahit48OABdu/eXajXNG/eHOHh4bn+Fh8f\nj4MHDwIAatasierVq5t8fXJyMm7cuIHY2FhotVoUK1YMTz31FIoXL25V+8+ePYukpCSULFkSderU\nsej7gquJj49HTEwMUlNTERERgTp16sDLy8vsay5evIjTp08DABo3bowyZcrYpR57lOEKzp07h3Pn\nzlm8vqenJ3r06JHv7ydOnMCVK1cAANHR0WY/t+Pj46XvyF5eXihZsiRq1qwJX1/fQrf/2rVruHz5\nMnQ6HcqXL48aNWoUugxXIoTAzZs3ERsbizt37sDX1xcRERF46qmnLDo+9+3bh8TERABAjx494Onp\nWeBrzp8/j2vXrsHT0xOVK1dG5cqVC91uOcogkhvjybnt2rULSUlJFq9ftmxZNGrUKN/fDecvTJ3T\nM9Dr9VK/7t69ewgICED58uVRtWrVQp8TzcrKwunTp3H79m34+/ujevXqFn3/djUZGRk4deoUEhIS\nEBwcjBo1ahR47jozMxMbNmwAAISHh6N58+Z2qcceZbiCtLQ0bNmypVCvqV+/PipUqJDrbzm/W5k6\np2eQmpoqfUdOTU1FSEgIqlevjpIlSxa6/SkpKTh9+jTu3buH0NBQ1K5dG4GBgYUux5UkJSVJn0U6\nnQ7FihWz+BzYrVu3cOTIEQBAVFQUqlSpUuBr7t27h3/++QcPHz5EeHg4oqKizI5l2KuMwuKALRER\nERERERERERERERGRQgq+JIqIiIiIiIiIiIiIiIiIiOyCA7ZERERERERERERERERERArhgC0RERER\nERERERERERERkUI4YEtEREREREREREREREREpBAO2BIRERERERERERERERERKYQDtkRERERERERE\nRERERERECuGALRERERERERERERERERGRQjhgS0RERERERERERERERESkEA7YEhERERERERERERER\nEREphAO2REREREREREREREREREQK4YAtEREREREREREREREREZFCOGBLRERERERERERERERERKQQ\nDtgSERERERERERERERERESmEA7ZERERERERERERERERERArhgC0RERERERERERERERERkUI4YEtE\n5ELmz5+PYcOGYcuWLUo3xSZ79uzBsGHD8PXXXyvdFCIiIiJFXLhwAcOGDcP777+vdFNskp6ejpEj\nR2L48OF4+PCh0s0hIiIiUsSECRMwbNgw/PPPP0o3xSaLFi3CsGHDsHHjRqWbQqQ6HkIIoXQjiIio\nYNeuXUP16tXh4eGBy5cvo0yZMko3yWr3799HZGQkHj9+jFOnTqFGjRpKN4mIiIjIoTp37oytW7fi\n008/xdixY5Vujk2GDBmCJUuW4O2338bMmTOVbg4RERGRQ23atAndunVD1apVce7cOWg0GqWbZLUj\nR46gcePGKFWqFC5duoTAwEClm0SkGrzDlojIRbz33nvQarUYMWKESw/WAkDx4sXx1ltvITMzE2+/\n/bbSzSEiIiJyqF27dmHr1q0oWbIk3njjDaWbY7MJEyZAo9Hg66+/xr///qt0c4iIiIgcRq/X4913\n3wUATJw40aUHawGgUaNG6NChA+Lj4/HJJ58o3RwiVeEdtkRELuDPP/9E/fr1odFocPPmTZQqVUrp\nJtksKSkJERERSEtLw65du9CmTRulm0RERETkEE8//TROnjyJGTNmuPyUyAYDBw7EsmXL0LdvX6xY\nsULp5hARERE5xNy5czFy5EhUqlQJly5dgqen698jd+jQITRr1gz+/v74999/3eI8JJErcP3sQUSk\nAoZnvXbo0MFtOkkhISHo1q0bAPBZtkRERKQaBw4cwMmTJ+Hp6YlBgwYp3RzZDB48GACwdu1axMXF\nKdwaIiIiIscwnNMaNGiQWwzWAkDTpk1RpUoVpKWlYf78+Uo3h0g13CODEBG5sfv372P16tUAsu9c\ncCeG7dm8eTNu3rypcGuIiIiI7O/7778HALRp0wYREREKt0Y+zz77LMqUKQO9Xs8Te0RERKQK+/fv\nxz///AMAGDBggMKtkZdhe3788UdkZmYq3BoideCUyEREVrh48SI+++wzAEDz5s2lOwrySktLw9ix\nY5GWloZSpUph6tSp8PDwKFRdX3/9Nd588034+fnhwYMH8PPzM7rerl27sHLlSnh5eWHu3Lkmy9u4\n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\nQ4YMkcqxRPny5fHqq6+ievXq6NWrF/r3748aNWqgd+/eKFeuHEJCQgBkT9n88ssvIzY21qq22So9\nPR0bNmwAgHzvHxEREZGjZGZmon///rh//z6Cg4OxcuVKeHt7S8u9vb2xYsUKBAUF4cGDB+jfvz8y\nMzOtquuVV16Bh4cHLl++LE0fbE54eDgOHjyIKlWqIDo6GoMHD0a7du1QuXJl/PXXX3j66acBZM9a\n0rt3b+kRbEow1P30009LA9xEZF8csCUissKmTZvw9ddfAwBGjx5t9EqzIkWKYOXKlfDz80NcXJx0\ncq6wfHx8MHToUADATz/9VOD6Hh4e2LRpE8qXL4+DBw9i2bJl2LhxIx4+fIhRo0bh999/R8WKFQEA\nv//+O3bu3GlVu+SwdOlSAMCLL76I4OBgxdpBRERE6vXo0SP069cPOp0O5cuXx/z5842uN27cOLRq\n1QoA8MYbb+DSpUtW1Tdy5Eh4eHjgxIkTOHv2bIHrjxs3DgMGDMDFixexbt06/Pzzzzh37hyefvpp\n7NixQ7rj99atW1iyZAlSUlKsapetfv31VyQnJyMoKAgvvviiIm0gIiIimjJlCg4cOAAA+P7771Gp\nUqV861SuXBk//PADAODgwYOYMmWKVXVVrVoVbdq0AWDZObvIyEj8/PPP8PT0xK5du/DTTz9h586d\n8PLywty5c/Hzzz/D398fQgisXbsWJ0+etKpdttLr9dJNIyNHjlSkDURqxCdFExFZQa/XY968efD0\n9MSAAQNMrle7dm1s27YNly9fBgAkJiYiLCys0PW99tprmD17No4ePYozZ86gVq1aZtePiorChQsX\ncPjwYVy7dg0BAQFo3LixNDXd33//jR07diAkJAStW7eWXlezZk3MmzcPAPLdMZzT6NGj0atXL5Qr\nV87kOmXKlJHKMjzTI6erV69iz5498PLywltvvWV2e4iIiIjs5datW3jvvfcAAI0bN5buWM3L09MT\nP//8M7Zs2QIASEhIQNWqVQtdX5UqVdC1a1ds3LgR8+bNw1dffWV2fR8fHyxduhRTpkzBX3/9hYyM\nDFStWlW602H69OmIjo7GnTt30LRpU5QtW1Z67eeff47U1FTUrl3bZPn16tWT+mzFixc3ud6HH36I\nO3fuoHLlykaXL1iwAAAwfPhwBAYGmt0mIiIiInvQ6/WIjIzEvHnzEBISgl69eplc98UXX4SPjw+S\nkpLg5eUFvV4PjabwwyVjxozBrl27sGLFCnz66acICAgwu36PHj3QsWNHHDhwAAkJCQgNDUXz5s0R\nFBQEAIiJicGhQ4dQoUIFNGnSRHpdly5dUKpUqVx3Cxvz5ZdfIj09Xbpb15imTZtK/b8iRYrkW75x\n40YkJiYiPDycM+IROZCHyPsgHCIickrvv/8+Pv30U/To0QPr1q3Lt/zLL7/E6NGjpU6msxs6dCgW\nLVqE4cOHY+7cuUo3h4iIiMhhzp8/j1q1akGj0eDff//Nd6FcSkqKdNJu0aJFVs/U4iiHDx9GkyZN\nEBoaikuXLqFYsWJKN4mIiIjIYaKjo7Fr1y5Mnz5desxGTgMGDMDy5cvRsGFDHDlyRIEWWk4Igaef\nfhqnTp3Cjz/+iFdeeUXpJhGpBqdEJiJyER9++CHCwsKwYcMGxaZEkcvly5exdOlSBAUFYerUqUo3\nh4iIiMihqlevjhEjRiA9PR3Tp09Xujk2mzBhAgDgo48+4mAtERERqc4XX3wBT09PzJw5E8nJyUo3\nxybr1q3DqVOnULt2bbz88stKN4dIVTglMhGRiwgODsYvv/yCc+fOISMjQ+nm2CQlJQXff/89qlSp\ngpIlSyrdHCIiIiKHmzJlCqKiouDn56d0U2ySnp6Ofv364cUXX8SgQYOUbg4RERGRw9WuXRsbNmzA\nnTt3cO/ePQQHByvdJKuFhIRg3rx5aNy4MTw9eb8fkSNxwJaIyIU0adIk1/MrXFVUVBSioqKUbgYR\nERGRYooXL45hw4Yp3Qyb+fn58e4LIiIiUr1u3bop3QRZtG3bVukmEKkWL5EgIiIiIiIiIiIiIiIi\nIlII77AlInIT0dHRmDdvHqcrISIiInJxfn5+mDdvHgCgadOmCreGiIiIiGwxbNgwtGrVio8FIyKz\nPIQQQulGEBERERERERERERERERGpEW/DIiIiIiIiIiIiIiIiIiJSCAdsiYiIiIiIiIiIiIiIiIgU\nwgFbIiIiIiIiIiIiIiIiIiKFcMCWiIiIiIiIiIiIiIiIiEghHLAlIiIiIiIiIiIiIiIiIlIIB2yJ\niIiIiIiIiIiIiIiIiBTCAVsiIiIiIiIiIiIiIiIiIoVwwJaIiIiIiIiIiIiIiIiISCEcsCUiIiIi\nIiIiIiIiIiIiUggHbImIiIiIiIiIiIiIiIiIFMIBWyIiIiIiIiIiIiIiIiIihXDAloiIiIiIiIiI\niIiIiIhIIRywJSIiIiIiIiIiIiIiIiJSCAdsiYiIiIiIiIiIiIiIiIgUwgFbIiIiIiIiIiIiIiIi\nIiKFcMCWiIiIiIiIiIiIiIiIiEghHLAlIiIiIiIiIiIiIiIiIlIIB2yJiIiIiIiIiIiIiIiIiBTy\nf69kOdbMpuXlAAAAAElFTkSuQmCC\n"
          }
        }
      ],
      "source": [
        "f, axes = plt.subplots(1, 3, tight_layout=True, figsize=(10, 4))\n",
        "\n",
        "for ax, dy_sign in zip(axes, (-1, 0, 1)):\n",
        "    sim = make_sim(permittivity=permittivity_val, dy_sign=dy_sign)\n",
        "    ax = sim.plot(z=0, ax=ax)\n",
        "    ax.set_title(f\"size[y]={sim.structures[0].geometry.size[1]:.2f}\")"
      ],
      "id": "d7135d19"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "### Define Objective\n",
        "\n",
        "Now let’s define our objective function, first we defined how to\n",
        "postprocess a `SimulationData` to give the desired power."
      ],
      "id": "eea1dac4-7b9c-4cdf-842d-1deb1ad779ab"
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {},
      "outputs": [],
      "source": [
        "def post_process(sim_data: td.SimulationData) -> float:\n",
        "    \"\"\"O-th order diffracted power.\"\"\"\n",
        "    amp = sim_data[\"diffraction\"].amps.sel(orders_x=0, orders_y=0).values\n",
        "    return anp.sum(anp.abs(amp) ** 2)"
      ],
      "id": "6efe5de5"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "And then we write our combined, multi-objective over all of the `dy`\n",
        "values. We use the `web.run` function to run a list of these three\n",
        "simulations simultaneously."
      ],
      "id": "161c56ac-3a38-465e-8539-794016528fdd"
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {},
      "outputs": [],
      "source": [
        "def objective(permittivity: float) -> float:\n",
        "    \"\"\"Average of O-th order diffracted power over all dy_sign values.\"\"\"\n",
        "    sims = {f\"sign = {dy_sign}\": make_sim(permittivity, dy_sign=dy_sign) for dy_sign in (-1, 0, 1)}\n",
        "\n",
        "    batch_data = web.run(sims, path=\"data\", verbose=True)\n",
        "\n",
        "    power = sum(post_process(sim_data) for sim_data in batch_data.values()) / len(batch_data)\n",
        "    return power"
      ],
      "id": "6a644f66"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "### Multi-Objective Gradient Calculation\n",
        "\n",
        "Finally, we are ready to use `ag.value_and_grad` to differentiate this\n",
        "function."
      ],
      "id": "a4c208c9-686a-4501-aaf1-16ff852a4ba5"
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {},
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<script type=\"application/vnd.jupyter.widget-view+json\">\n",
              "{\"model_id\":\"6fd1cbccd34045afa4ce28a98a62193d\",\"version_major\":2,\"version_minor\":0,\"quarto_mimetype\":\"application/vnd.jupyter.widget-view+json\"}\n",
              "</script>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<script type=\"application/vnd.jupyter.widget-view+json\">\n",
              "{\"model_id\":\"8ec02175aca5442ab6cb301b40b18092\",\"version_major\":2,\"version_minor\":0,\"quarto_mimetype\":\"application/vnd.jupyter.widget-view+json\"}\n",
              "</script>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">02:33:38 UTC </span>Started working on Batch containing <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span> tasks.                       \n",
              "</pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">02:33:41 UTC </span>Maximum FlexCredit cost: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.075</span> for the whole batch.                \n",
              "</pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>Use <span style=\"color: #008000; text-decoration-color: #008000\">'Batch.real_cost()'</span> to get the billed FlexCredit cost after    \n",
              "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>completion.                                                        \n",
              "</pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<script type=\"application/vnd.jupyter.widget-view+json\">\n",
              "{\"model_id\":\"388974c121cc42bf827313b815e17e4d\",\"version_major\":2,\"version_minor\":0,\"quarto_mimetype\":\"application/vnd.jupyter.widget-view+json\"}\n",
              "</script>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">02:33:42 UTC </span>Batch complete.                                                    \n",
              "</pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">02:33:43 UTC </span>Started working on Batch containing <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span> tasks.                       \n",
              "</pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">02:33:49 UTC </span>Maximum FlexCredit cost: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.075</span> for the whole batch.                \n",
              "</pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>Use <span style=\"color: #008000; text-decoration-color: #008000\">'Batch.real_cost()'</span> to get the billed FlexCredit cost after    \n",
              "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>completion.                                                        \n",
              "</pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<script type=\"application/vnd.jupyter.widget-view+json\">\n",
              "{\"model_id\":\"7b5a9e8c488743678acb9c2148fe3475\",\"version_major\":2,\"version_minor\":0,\"quarto_mimetype\":\"application/vnd.jupyter.widget-view+json\"}\n",
              "</script>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">02:33:50 UTC </span>Batch complete.                                                    \n",
              "</pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<script type=\"application/vnd.jupyter.widget-view+json\">\n",
              "{\"model_id\":\"747b40272e9040c9ac7a552e86be6e0f\",\"version_major\":2,\"version_minor\":0,\"quarto_mimetype\":\"application/vnd.jupyter.widget-view+json\"}\n",
              "</script>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<script type=\"application/vnd.jupyter.widget-view+json\">\n",
              "{\"model_id\":\"1923fcdb78b2436480804f23cf30ca4f\",\"version_major\":2,\"version_minor\":0,\"quarto_mimetype\":\"application/vnd.jupyter.widget-view+json\"}\n",
              "</script>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<script type=\"application/vnd.jupyter.widget-view+json\">\n",
              "{\"model_id\":\"52b9a77b34c94e8ba41f9c5eda126eeb\",\"version_major\":2,\"version_minor\":0,\"quarto_mimetype\":\"application/vnd.jupyter.widget-view+json\"}\n",
              "</script>"
            ]
          }
        },
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>"
            ]
          }
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "average power = 2.64e+00\n",
            "derivative of average power wrt permittivity = -8.46e-01"
          ]
        }
      ],
      "source": [
        "grad_objective = ag.value_and_grad(objective)\n",
        "\n",
        "power_average, grad_power_min = grad_objective(permittivity_val)\n",
        "print(f\"average power = {power_average:.2e}\")\n",
        "print(f\"derivative of average power wrt permittivity = {grad_power_min:.2e}\")"
      ],
      "id": "e9f0c197"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "### Sanity Checking: Manual Loop over size\n",
        "\n",
        "Now we will implement the brute force approach to computing the\n",
        "multi-objective gradient by the naive approach of looping over dy values\n",
        "and computing the individual gradient contributions one by one."
      ],
      "id": "fe3c89bb-11d8-40e6-83d0-470f99cc5716"
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {},
      "outputs": [],
      "source": [
        "def grad_manual(permittivity: float) -> float:\n",
        "    \"\"\"Average of O-th order diffracted power over all dy_sign values.\"\"\"\n",
        "\n",
        "    grad_avg = 0.0\n",
        "\n",
        "    for dy_sign in (-1, 0, 1):\n",
        "        print(f\"working on dy_sign = {dy_sign}\")\n",
        "\n",
        "        def objective_fn(p, dy_sign=dy_sign):\n",
        "            sim = make_sim(p, dy_sign=dy_sign)\n",
        "            sim_data = td.web.run(sim, task_name=f\"dy_sign={dy_sign}\", verbose=False)\n",
        "            return post_process(sim_data)\n",
        "\n",
        "        grad_fn = ag.grad(objective_fn)\n",
        "\n",
        "        gradient = grad_fn(permittivity)\n",
        "        grad_avg += gradient / 3.0\n",
        "\n",
        "    return grad_avg"
      ],
      "id": "f5cfc079"
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {},
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "working on dy_sign = -1\n",
            "working on dy_sign = 0\n",
            "working on dy_sign = 1"
          ]
        }
      ],
      "source": [
        "grad_man = grad_manual(permittivity_val)"
      ],
      "id": "70789780"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "We can see that they match, as expected."
      ],
      "id": "5b76a9fb-e92f-4e3c-9dde-68c2c9f38fed"
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {},
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "gradient (batched) = -8.4611e-01\n",
            "gradient (looped) = -8.4611e-01"
          ]
        }
      ],
      "source": [
        "print(f\"gradient (batched) = {grad_power_min:.4e}\")\n",
        "print(f\"gradient (looped) = {grad_man:.4e}\")"
      ],
      "id": "0ee70e4e"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Takeaways\n",
        "\n",
        "The main thing to note here is that, using `web.run`, all of the\n",
        "individual simulations were uploaded at roughly the same time.\n",
        "\n",
        "This means that the server is able to work on them concurrently rather\n",
        "than needing to wait for the previously uploaded one to finish. The time\n",
        "savings for applications with several simulations can be enormous."
      ],
      "id": "431cb3b1-b22f-45b6-8d4d-0f5bffc325ca"
    }
  ],
  "nbformat": 4,
  "nbformat_minor": 5,
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    }
  }
}