diff --git a/2025-10-09-invdes-seminar/00_setup_guide.ipynb b/2025-10-09-invdes-seminar/00_setup_guide.ipynb new file mode 100644 index 00000000..0db39bc6 --- /dev/null +++ b/2025-10-09-invdes-seminar/00_setup_guide.ipynb @@ -0,0 +1,344 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6d5d7470", + "metadata": {}, + "source": [ + "# Grating Coupler: A Tidy3D Simulation Setup\n", + "\n", + "> In this notebook, we will set up a baseline simulation for a dual-layer grating coupler. This device is designed to efficiently couple light from an optical fiber to a photonic integrated circuit. We will define the geometry, materials, and all the necessary components for a Tidy3D simulation. This initial setup will serve as the starting point for our optimization in the subsequent notebooks.\n", + "\n", + "## Initial Grating Design\n", + "\n", + "We start by selecting a symmetric set of widths and gaps for both the silicon and silicon nitride layers. These values satisfy the minimum feature rules and provide a sensible baseline that couples light into the waveguide." + ] + }, + { + "cell_type": "markdown", + "id": "6e8fd7d9", + "metadata": {}, + "source": [ + "## Defining Our Initial Guess: A Uniform Grating\n", + "\n", + "Before we can optimize, we need a starting point. A common first approach is to create a periodic, uniform grating where every tooth and gap is identical. We choose a 50% duty cycle and set the period based on effective index estimates around the 1.55 µm band. This baseline is physically reasonable but, as we will see, will be very far from optimal." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "e634cede", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import tidy3d as td\n", + "from setup import get_mode_monitor_power, make_simulation, num_elements\n", + "from tidy3d import web" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "7f6fef32", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnQAAAEkCAYAAACmD6ylAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAS0ZJREFUeJzt3QecFOX5B/Bny+017ui9iyBIRxBBFBUUI1FQYyFENKKiogFLUFSaElGswYItdlDEqKhBjCBgAUWKiajhD4ig0ssVrm2b/+f3LrPtdve23d6W3/fzWY6bnZ2dmXdm7pnnLWPQNE0TIiIiIkpZxrpeASIiIiKKDQM6IiIiohTHgI6IiIgoxTGgIyIiIkpxDOiIiIiIUhwDOiIiIqIUx4COiIiIKMUxoCMiIiJKcQzoiIiIiFIcAzqiOrBq1SoxGAzqZzJ77bXXpGvXrpKVlSUNGjSI+PM///yz2s6HH35Yahu+Z+bMmVF9tkOHDnLVVVeFNe8ZZ5yhXolex0TTy+7ll1+u61WhOJs7d646r51OpySbU045RaZMmVLXq5GSGNBRWLZv3y4TJkyQ4447TnJycqSwsFBOPfVU+fvf/y4VFRV1vXpJ6+mnn07ZP4j/+9//VJDTqVMnef755+W5554LOu/SpUtTJlAJxw8//KC2B0FNulu4cKE8/vjjdb0aGen++++X9957L6HfWVJSIg8++KDccccdYjQmLgRA8IhAsmPHjupvSK9eveSNN96oNh/W66mnnpK9e/cmbN3SBp7lShTKhx9+qOXm5moNGjTQ/vKXv2jPPfec9uSTT2qXX365lpWVpV177bV1vYpJq3v37trQoUOrTXc4HFpFRYX6mazmz5+P5zxrW7durXHeiRMnqnn97dixQ01/6KGHtNqG/Wmz2aL6bGVlpWa1Wt2/L168WK33ypUrq81bVVWlXtHAMmfMmKElk5EjR2rt27evNt3pdKp9arfb62S9MkF+fr525ZVXJvQ7H3vsMa2wsFCVbSLdeeed6vjH3wv8DcFxh9/feOMNn/lwTWzRooU2bdq0hK5fOjDXdUBJyW3Hjh1y+eWXS/v27eXTTz+Vli1but+bOHGibNu2Tf71r3+FvCuzWq3qjow8cGec7Ptk//796mc0Va11IZb9mZ2dHfa8FotFkll5ebnk5eXFvBxUtyb7MZpJysrKJD8/P+blvPTSS3LBBRcktGx/++03eeSRR9TfjCeffFJNu+aaa2To0KHy17/+VS655BIxmUzua+Mf/vAHefXVV2XWrFnqOKQw1XVEScnt+uuvV3dRX375ZVjzY15ka15//XXtxBNP1Mxms/buu++q9zZu3Kide+65WkFBgbozPeuss7S1a9f6fB5ZkpkzZ2rHH3+8lp2drTVq1Eg79dRTtX//+9/uefbs2aNdddVVWuvWrTWLxaLu5i644AKVDaoJloPl1a9fX61Dly5dtKlTp1bL1kyfPl3r1KmTWn6bNm20v/71r2q6v9dee00bMGCAO4N52mmnaR9//LF6D1kP7A/vl56tQ+YnUAborbfe0vr166fl5ORojRs31saOHav9+uuvPvPgjh7rjumjRo1S/2/SpIl22223hZ1Neeqpp1T5YPtatmyp3XjjjdqRI0fc7wda92CZJayP/7z6pcU7Q/fss89qxx13nPrO/v37a+vWrau2rB9//FG7+OKLtYYNG6ryP+mkk7QlS5aEtU3+64j/6xlGrCPKHJkJHDtlZWU+n8X26pmSl156KeD26GWFMvTOuiJbh2wCyg3Lz8vL04YMGaJ9+umnNa5jMD///LN2/vnnq2U1bdpUmzx5srZs2bJqxwzWA1ng9evXq2MPx+GkSZPUe++995523nnnqfLFPse+v/fee32OEXzefzv1bJ1edtgf0Rx7Bw8e1P70pz+p8x37fty4cdq3335bbZnB/Oc//9FOP/10dS7gXL/vvvu0F198UX3e/1xfunSp2ufYX/Xq1VPbvXnz5mrLXLFihXs+rBOuGz/88IPPPPpxs2XLFnX+oUyxjffcc4/KWu7atUt9DtvVvHlz7eGHH672PeFcQwIdY/oxqK/D999/r40ZM0ZdW/r06ePeflxL/f3tb3/TjEZjteuFt59++kl9/uWXX3ZPwzahzLFN/pDFw/Zfd911WixwvdG3x9vChQvV9M8//9xnOs75YNtJwTFDRyF98MEHqt3c4MGDw/4MMnlvvfWW3HTTTdKkSRPV4Pz777+X0047TbW9Q4NXNLJ/9tlnVePy1atXy8CBA9Vn0W5pzpw56u7t5JNPVu091q9fLxs3bpSzzz5bzXPxxRer5d18881q2cgkffLJJ7Jr1y71ezD4zO9//3vVduPee+9VWRlkGL/88kufjCLuXr/44gu57rrrpFu3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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "initial_width_si = 0.45\n", + "initial_gap_si = 0.55\n", + "initial_width_sin = 0.35\n", + "initial_gap_sin = 0.65\n", + "\n", + "widths_si = np.full(num_elements, initial_width_si)\n", + "gaps_si = np.full(num_elements, initial_gap_si)\n", + "widths_sin = np.full(num_elements, initial_width_sin)\n", + "gaps_sin = np.full(num_elements, initial_gap_sin)\n", + "sim = make_simulation(\n", + " widths_si,\n", + " gaps_si,\n", + " widths_sin,\n", + " gaps_sin,\n", + " include_field_monitor=True,\n", + ")\n", + "\n", + "ax = sim.plot(y=0)\n", + "ax.set_title(\"Cross-section of the initial grating geometry (y=0)\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "79d476d7", + "metadata": {}, + "source": [ + "## Running the Simulation\n", + "\n", + "We'll use `web.run` to submit the job to Tidy3D, and get some initial results." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a13094fa", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
13:19:25 CEST Created task 'gc_setup' with task_id                              \n",
+       "              'fdve-eab86622-9b02-4925-970d-bf57348b3ca4' and task_type 'FDTD'. \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m13:19:25 CEST\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'gc_setup'\u001b[0m with task_id \n", + "\u001b[2;36m \u001b[0m\u001b[32m'fdve-eab86622-9b02-4925-970d-bf57348b3ca4'\u001b[0m and task_type \u001b[32m'FDTD'\u001b[0m. \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
              View task using web UI at                                         \n",
+       "              'https://tidy3d.simulation.cloud/workbench?taskId=fdve-eab86622-9b\n",
+       "              02-4925-970d-bf57348b3ca4'.                                       \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mView task using web UI at \n", + "\u001b[2;36m \u001b[0m\u001b]8;id=861366;https://tidy3d.simulation.cloud/workbench?taskId=fdve-eab86622-9b02-4925-970d-bf57348b3ca4\u001b\\\u001b[32m'https://tidy3d.simulation.cloud/workbench?\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=363908;https://tidy3d.simulation.cloud/workbench?taskId=fdve-eab86622-9b02-4925-970d-bf57348b3ca4\u001b\\\u001b[32mtaskId\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=861366;https://tidy3d.simulation.cloud/workbench?taskId=fdve-eab86622-9b02-4925-970d-bf57348b3ca4\u001b\\\u001b[32m=\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=293143;https://tidy3d.simulation.cloud/workbench?taskId=fdve-eab86622-9b02-4925-970d-bf57348b3ca4\u001b\\\u001b[32mfdve\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=861366;https://tidy3d.simulation.cloud/workbench?taskId=fdve-eab86622-9b02-4925-970d-bf57348b3ca4\u001b\\\u001b[32m-eab86622-9b\u001b[0m\u001b]8;;\u001b\\\n", + "\u001b[2;36m \u001b[0m\u001b]8;id=861366;https://tidy3d.simulation.cloud/workbench?taskId=fdve-eab86622-9b02-4925-970d-bf57348b3ca4\u001b\\\u001b[32m02-4925-970d-bf57348b3ca4'\u001b[0m\u001b]8;;\u001b\\. \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
              Task folder: 'default'.                                           \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0mTask folder: \u001b]8;id=935049;https://tidy3d.simulation.cloud/folders/folder-7a0ee478-ee62-43e0-9a9e-26a06b299b0a\u001b\\\u001b[32m'default'\u001b[0m\u001b]8;;\u001b\\. \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "91fe7e07323740d1be69a4bbd1f183e0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
13:19:29 CEST Maximum FlexCredit cost: 0.025. Minimum cost depends on task      \n",
+       "              execution details. Use 'web.real_cost(task_id)' to get the billed \n",
+       "              FlexCredit cost after a simulation run.                           \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m13:19:29 CEST\u001b[0m\u001b[2;36m \u001b[0mMaximum FlexCredit cost: \u001b[1;36m0.025\u001b[0m. Minimum cost depends on task \n", + "\u001b[2;36m \u001b[0mexecution details. Use \u001b[32m'web.real_cost\u001b[0m\u001b[32m(\u001b[0m\u001b[32mtask_id\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m to get the billed \n", + "\u001b[2;36m \u001b[0mFlexCredit cost after a simulation run. \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
13:19:30 CEST status = success                                                  \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m13:19:30 CEST\u001b[0m\u001b[2;36m \u001b[0mstatus = success \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "81aac7fdc067407fbf992620dc05cc34", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
13:19:32 CEST loading simulation from simulation_data.hdf5                      \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m13:19:32 CEST\u001b[0m\u001b[2;36m \u001b[0mloading simulation from simulation_data.hdf5 \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sim_data = web.run(sim, task_name=\"gc_setup\")" + ] + }, + { + "cell_type": "markdown", + "id": "e0bcd72b", + "metadata": {}, + "source": [ + "## Visualizing the Results\n", + "\n", + "With the simulation complete, we analyze the mode monitor spectrum and inspect the field distribution to understand how light couples into the device." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "107ca2a2", + "metadata": {}, + "outputs": [], + "source": [ + "power_da = get_mode_monitor_power(sim_data)\n", + "freqs = power_da.coords[\"f\"].values\n", + "wavelengths = td.C_0 / freqs\n", + "power = np.squeeze(power_da.data)\n", + "power_db = 10 * np.log10(power)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f57eed0a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.plot(wavelengths, power_db)\n", + "ax.set_xlabel(\"Wavelength (µm)\")\n", + "ax.set_ylabel(\"Transmission (dB)\")\n", + "ax.set_title(\"Mode monitor power spectrum\")\n", + "plt.grid(True, alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "77512366", + "metadata": {}, + "source": [ + "## Baseline Performance: The Need for Optimization\n", + "\n", + "The transmission spectrum shows large coupling loss (below -30 dB) near 1.55 µm, confirming that our initial guess is insufficient. We therefore turn to optimization to explore the broader design space efficiently." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "d5151192", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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yCEbFXXmvve9741p+XSMEASmIAiCILQr+j42WQkDmI24VpuH5UrqR128/vrre2zmqiAIgjD9QBLfPvvs09R5oPrEr77zEB0767SGjltyi/RfW/+JDTujhWFNd1rGItfqoGUYDnrE9Y21TRRq0EEE4vu1kjfahem0PrIurYmsS2si6zI91gX2m6GhIb6vTQaS7NBcRMjVCVyzE31ywQnW7heM6bo+si6tiaxLayLr0v7rgvjxyWNipayqjSi0eEFgQRAEQRAEoTZikRMEQRAEoWlIskNzESE3CaCw8LXXXjtlBYYbzXRaH1mX1kTWpTWRdWlN2mFd2rK0Z5sgWauCIAiCIDQta/Wubz9IR81ofNbqbTv+WbJWJUZOEARBEIRm4oY6SzfuNRa+/OUvc8UJ8/WWt7zF/zyXy9Ell1zCohD931F3Ntr+s1URIScIgiAIwrTnwAMPpC1btvivRx991P/sM5/5DP3qV7+iO+64gx5++GHavHkzve9976N2QGLkBEEQBEFoGgjgaoUYuWQySYsWLap4f2BggH74wx/SrbfeSieeeCK/d9NNN9EBBxxAjz/+eMu38xSLnCAIgiAITXatNv4F8vk8F0Q2X3gvjpdffpmLIL/hDW+gD3/4w7Rx40Z+f9WqVdzv/eSTT/anhdt1v/32o8cee4xaHRFy4wA7HAGcBx98MPX09PCBce6557IpdiI++qny03/3u9+lZcuWUWdnJx1zzDH0xBNP1JwepmcsN6bHNvjNb34T+hz5M+h9u3jxYurq6uKTAydQM7nuuuvoqKOO4s4bCxYsoDPPPJNeeumlmt+5+eabK/YH1mmq16We46Qd9okGx1Z0ffDCcd7q++WRRx6hv/7rv+ZzHMvxi1/8oiHLMdo514zrQK11abdr2mj75fzzz69Yrne9611tt19A3LmD1/XXX99295pmcMMNN3BxY/OF+0EU7E9cW9CL/cYbb6T169fTX/zFX3CHC/RpT6fTNHv27NB30LMdn7U6IuTGQSaTodWrV9PVV1/NP++8804WDWecccaEfPRT4ae//fbb6YorruDUdazLoYceSqeeeipt3749dvrf//73dM4559CFF15Ia9asYcGE17PPPutP87WvfY2+9a1v0fe//336wx/+wDcGjIkLR7PAtsJFCWbwe++9l29Mp5xyCo2MjNT8Hqqgm/tjw4YNoc+nYl3qOU7aYZ9o/vjHP4bWBfsHfPCDH2z5/YLjB+cEbvBxjGc56jnnmnEdqLUu7XZNG22/AAg3c7l++tOf1hyzFfcLMNcBrx/96EcszCC82uleg4eeRr/A5Zdfzq5R83XVVVdVzP+v/uqv+JpzyCGH8H7Fw25/fz/97Gc/o7YH5UeEifPEE0/gqHI3bNhQdZprr73WPfTQQ6t+3t/f76ZSKfeOO+7w33vhhRd43Mcee8xtBkcffbR7ySWX+H+Xy2V37733dq+77rrY6c866yz39NNPD713zDHHuBdffDH/7jiOu2jRIvf6668PrVdHR4f705/+1J0stm/fztvt4YcfrjrNTTfd5M6aNavq51O1LqMdJ+26TzSf/vSn3RUrVvBytdN+wfH085//fMLLMdo5NxnXgei6tPM1LW5dzjvvPPc973nPmMZpl/2C9TrxxBNrTtMK+0Xz+c9/3l3ReZT7gblXN/T13r2+wMu7c+fOcS/bypUr3S984Qvu/fffz2P19fWFPt9vv/3cb3zjG26rIxa5BoGnADwlRU2z9frop8JPXygUeJ7m/NBTFn9Xmx/eN6cHeLrR08NcDVO0OQ1M3TBrT2asAfYH2GuvvWpONzw8TEuXLuWG0+95z3voueee8z+bynWpdZy06z7Rx9xPfvIT+tjHPsbnS7vtF5PxLEc951yrxOu04zXN5KGHHuIwize/+c30yU9+knbt2lV12nbZL3B9/vrXv2br+2i06n5pFYaHh2ndunUcFnHkkUdSKpWi+++/3/8cFmlss2OPPZZaHRFyDQBuFMSXwL1Vq2FxLR89mGw/PQoplstlHr/e+eH9WtPrn2MZs9E4jsPm9uOOO44OOuigqtPhAg83xV133cXiAt97+9vfTq+//vqUrstox0k77hMN4n/gzkAMU7vtlyjjWY56zrlWiNdp12ua6Vb9r//6L74x/+u//iu7DuFaw7Zv5/3yn//5nxwHPJoLtNX2CxrcT3Uduc997nN8HLz66qscjvLe976XEokEH+N4AIM4hmv9wQcfZKF7wQUXsIhr9YxVIOVH6uCWW26hiy++2P/7f/7nf/ikAHiqOeuss9hfjxOmFriQaOCnx8kGqwN89PU8YQn1gVg5xIfViisDOEnNpy2IBaSb/+AHP6B//Md/pKliOh8nSPHH+sFS0G77ZU9hOlzTPvShD/m/I4EDy7ZixQq20p100knUruABB9a1aPJPu+yXqeT1119n0QbL7Pz58+kd73gHx1Tjd/DNb36TrbCIPUTWK7wa3/ve96gdEItcHSDg96mnnvJfK1euDF3wEIiNAO5aT65x4Glo//33p7Vr1/LfqG8DEz8sFlFzelztm4kyb948fiKJZirVmh/erzW9/jmWMRvJpZdeSnfffTc/Ve2zzz5j+i5M64cffnhof0zlulQ7Ttptn2hwntx33330t3/7t9Niv4xnOeo55yb7OmDS7te0asC9iG1f7Rxq9f0Cfvvb37K7b6znT0vsF6+OXKNfY+G2227jhA6INIg6/A1xr4E4RsLJ7t27OQEFCT+TeYxOBBFydQBT9hvf+Eb/hTID+oKHOATcnMbT68300YPJ9tPDtI55mvODGwt/V5sf3jenB7jg6+mXL1/OB785Der6IKOvmbEGsB5AxP385z+nBx54gJdjrMC18swzz/j7Y6rWZbTjpF32SRQU2ETM0umnnz4t9st4lqOec26q4nWmwzWtGrhxwxJT7Rxq5f1iWrOxDMhwbbf90gotuqY1U51t0Y4UCgX3jDPOcPfZZx/3qaeecrds2eK/8vm8Px0yi7797W/7f3/2s591H3roIXf9+vXu7373O/fkk092582bxxmWmk984hOcKfPAAw+4Tz75pHvsscfyq1ncdtttnGV38803u88//7z78Y9/3J09e7a7detW/vyjH/0oZ/VosNzJZNL9t3/7N85yQnYUsp+eeeYZf5p/+Zd/4THuuusu9+mnn+Ysq+XLl7vZbLZp6/HJT36SMx2xfc39kclk/Gmi6/KVr3zF/d///V933bp17qpVq9wPfehDbmdnp/vcc89N6bqMdpy0yz4xQQYgjusrr7yy4rNW3i9DQ0PumjVr+IXLJTLY8LvO5KxnOaLXgdHOuWZdB2qtS7td02qtCz773Oc+x9mXWK777rvPPeKII9w3velNbi6Xa6v9ohkYGHC7u7vdG2+8MXaMVtkv1bJWl3esdN+z1xcb+nr3nM9POGt1uiBCbhzg5PAeMipeDz74oD/d0qVL+aaqOfvss93Fixe76XTaXbJkCf+9du3a0Ni4AXzqU59y58yZwyfue9/7Xr6YNhNcAHBCY7mQgv/444/7nx1//PGcym/ys5/9zN1///15+gMPPND99a9/HfocZRmuvvpq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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = sim_data.plot_field(\"field_monitor\", \"Ey\", \"abs^2\")\n", + "ax.set_title(\"Field intensity |Ey|^2 in the symmetry plane\")\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.19" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/2025-10-09-invdes-seminar/01_bayes.ipynb b/2025-10-09-invdes-seminar/01_bayes.ipynb new file mode 100644 index 00000000..e2946701 --- /dev/null +++ b/2025-10-09-invdes-seminar/01_bayes.ipynb @@ -0,0 +1,556 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "411eea3f", + "metadata": {}, + "source": [ + "# Grating Coupler: Bayesian Optimization for Initial Design\n", + "\n", + "> With our simulation setup in place, we now turn to optimization. Our goal is to find a set of grating parameters that maximizes the coupling efficiency. Since each simulation is computationally expensive, we will use Bayesian optimization. This technique is ideal for optimizing \"black-box\" functions that are costly to evaluate.\n", + "\n", + "## Why Bayesian Optimization?\n", + "\n", + "Exhaustive searches would require thousands of simulations. Bayesian optimization instead builds a probabilistic surrogate of the objective, balancing exploration of uncertain regions with exploitation of promising designs to converge in far fewer solver calls. It intelligently explores the parameter space to find the optimal design with a minimal number of simulations. Bayesian optimization works best when the design space has only a handful of effective degrees of freedom; beyond roughly five independent variables the surrogate becomes harder to learn, so we reserve higher-dimensional searches for gradient-based methods discussed later in the series." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a776b66", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import tidy3d as td\n", + "from bayes_opt import BayesianOptimization\n", + "from setup import (\n", + " center_wavelength,\n", + " get_mode_monitor_power,\n", + " make_simulation,\n", + " max_gap_si,\n", + " max_gap_sin,\n", + " max_width_si,\n", + " max_width_sin,\n", + " min_gap_si,\n", + " min_gap_sin,\n", + " min_width_si,\n", + " min_width_sin,\n", + " num_elements,\n", + ")\n", + "from setup import (\n", + " first_gap_si as default_first_gap_si,\n", + ")\n", + "from tidy3d import web" + ] + }, + { + "cell_type": "markdown", + "id": "cdec7978", + "metadata": {}, + "source": [ + "## The Evaluation Function\n", + "\n", + "The optimizer queries this function with a candidate set of grating parameters. We construct the simulation, run it in the cloud, and return the coupling efficiency from the mode monitor." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d9a2952f", + "metadata": {}, + "outputs": [], + "source": [ + "def evaluate(\n", + " width_si: float,\n", + " gap_si: float,\n", + " width_sin: float,\n", + " gap_sin: float,\n", + " first_gap_si: float,\n", + ") -> float:\n", + " \"\"\"Return the coupling efficiency for a uniform grating parameterized array.\"\"\"\n", + " widths_si = np.full(num_elements, width_si)\n", + " gaps_si = np.full(num_elements, gap_si)\n", + " widths_sin = np.full(num_elements, width_sin)\n", + " gaps_sin = np.full(num_elements, gap_sin)\n", + "\n", + " sim = make_simulation(\n", + " widths_si,\n", + " gaps_si,\n", + " widths_sin,\n", + " gaps_sin,\n", + " first_gap_si=first_gap_si,\n", + " )\n", + " sim_data = web.run(sim, task_name=\"gc_bopt_eval\", verbose=False)\n", + "\n", + " power_da = get_mode_monitor_power(sim_data)\n", + " target_power = power_da.sel(f=td.C_0 / center_wavelength, method=\"nearest\").item()\n", + "\n", + " return target_power" + ] + }, + { + "cell_type": "markdown", + "id": "b1f09563", + "metadata": {}, + "source": [ + "## Setting Up the Bayesian Optimizer\n", + "\n", + "We configure the optimizer with sensible defaults and practical bounds:\n", + "- `parameter_bounds` (the `pbounds` argument) defines the design window we explore.\n", + "- `init_points` sets how many random samples to collect before modeling.\n", + "- `n_iter` controls the number of guided optimization iterations.\n", + "\n", + "## Framing the Problem: A 5-Parameter Global Search\n", + "\n", + "Rather than tune every tooth individually (30 variables per layer), we search a five-dimensional space of uniform widths, gaps, and inter-layer offset. This captures the dominant physics, keeps simulations fast, and yields a design that later gradient-based passes can refine." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "1e3c0d2c", + "metadata": {}, + "outputs": [], + "source": [ + "seed = 12345\n", + "\n", + "init_points = 15\n", + "n_iter = 60\n", + "\n", + "parameter_bounds = {\n", + " \"width_si\": (min_width_si, max_width_si),\n", + " \"gap_si\": (min_gap_si, max_gap_si),\n", + " \"width_sin\": (min_width_sin, max_width_sin),\n", + " \"gap_sin\": (min_gap_sin, max_gap_sin),\n", + " \"first_gap_si\": (\n", + " default_first_gap_si - 0.2,\n", + " default_first_gap_si + 0.2,\n", + " ),\n", + "}\n", + "\n", + "default_design = {\n", + " \"width_si\": 0.45,\n", + " \"gap_si\": 0.55,\n", + " \"width_sin\": 0.35,\n", + " \"gap_sin\": 0.65,\n", + " \"first_gap_si\": default_first_gap_si,\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "8a6cf940", + "metadata": {}, + "outputs": [], + "source": [ + "optimizer = BayesianOptimization(\n", + " f=evaluate,\n", + " pbounds=parameter_bounds,\n", + " random_state=seed,\n", + " verbose=2,\n", + ")\n", + "\n", + "optimizer.probe(params=default_design, lazy=True)" + ] + }, + { + "cell_type": "markdown", + "id": "6f958972", + "metadata": {}, + "source": [ + "## Running the Optimization\n", + "\n", + "Calling `optimizer.maximize(...)` alternates between exploration and exploitation to efficiently discover improved grating designs." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "44b0a4cc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "| iter | target | first_... | gap_si | gap_sin | width_si | width_sin |\n", + "-------------------------------------------------------------------------------------\n", + "| \u001b[39m1 \u001b[39m | \u001b[39m0.007373 \u001b[39m | \u001b[39m-0.7 \u001b[39m | \u001b[39m0.55 \u001b[39m | \u001b[39m0.65 \u001b[39m | \u001b[39m0.45 \u001b[39m | \u001b[39m0.35 \u001b[39m |\n", + "| \u001b[39m2 \u001b[39m | \u001b[39m0.001166 \u001b[39m | \u001b[39m-0.5282 \u001b[39m | \u001b[39m0.4531 \u001b[39m | \u001b[39m0.4287 \u001b[39m | \u001b[39m0.2841 \u001b[39m | \u001b[39m0.6542 \u001b[39m |\n", + "| \u001b[39m3 \u001b[39m | \u001b[39m0.002181 \u001b[39m | \u001b[39m-0.6618 \u001b[39m | \u001b[39m0.9716 \u001b[39m | \u001b[39m0.7572 \u001b[39m | \u001b[39m0.774 \u001b[39m | \u001b[39m0.7229 \u001b[39m |\n", + "| \u001b[35m4 \u001b[39m | \u001b[35m0.04058 \u001b[39m | \u001b[35m-0.6009 \u001b[39m | \u001b[35m0.969 \u001b[39m | \u001b[35m0.3059 \u001b[39m | \u001b[35m0.1958 \u001b[39m | \u001b[35m0.439 \u001b[39m |\n", + "| \u001b[39m5 \u001b[39m | \u001b[39m0.0007281\u001b[39m | \u001b[39m-0.6374 \u001b[39m | \u001b[39m0.8479 \u001b[39m | \u001b[39m0.9105 \u001b[39m | \u001b[39m0.9682 \u001b[39m | \u001b[39m0.7789 \u001b[39m |\n", + "| \u001b[35m6 \u001b[39m | \u001b[35m0.181 \u001b[39m | \u001b[35m-0.643 \u001b[39m | \u001b[35m0.774 \u001b[39m | \u001b[35m0.6273 \u001b[39m | \u001b[35m0.393 \u001b[39m | \u001b[35m0.5517 \u001b[39m |\n", + "| \u001b[39m7 \u001b[39m | \u001b[39m0.00206 \u001b[39m | \u001b[39m-0.6081 \u001b[39m | \u001b[39m0.9952 \u001b[39m | \u001b[39m0.7738 \u001b[39m | \u001b[39m0.8117 \u001b[39m | \u001b[39m0.3367 \u001b[39m |\n", + "| \u001b[39m8 \u001b[39m | \u001b[39m0.0008147\u001b[39m | \u001b[39m-0.8893 \u001b[39m | \u001b[39m0.8403 \u001b[39m | \u001b[39m0.9326 \u001b[39m | \u001b[39m0.1222 \u001b[39m | \u001b[39m0.5934 \u001b[39m |\n", + "| \u001b[39m9 \u001b[39m | \u001b[39m0.01132 \u001b[39m | \u001b[39m-0.6895 \u001b[39m | \u001b[39m0.6771 \u001b[39m | \u001b[39m0.3364 \u001b[39m | \u001b[39m0.9056 \u001b[39m | \u001b[39m0.7826 \u001b[39m |\n", + "| \u001b[39m10 \u001b[39m | \u001b[39m0.009404 \u001b[39m | \u001b[39m-0.5727 \u001b[39m | \u001b[39m0.6002 \u001b[39m | \u001b[39m0.8671 \u001b[39m | \u001b[39m0.1864 \u001b[39m | \u001b[39m0.3752 \u001b[39m |\n", + "| \u001b[39m11 \u001b[39m | \u001b[39m0.02459 \u001b[39m | \u001b[39m-0.7965 \u001b[39m | \u001b[39m0.5745 \u001b[39m | \u001b[39m0.6216 \u001b[39m | \u001b[39m0.7386 \u001b[39m | \u001b[39m0.3424 \u001b[39m |\n", + "| \u001b[39m12 \u001b[39m | \u001b[39m0.004018 \u001b[39m | \u001b[39m-0.6874 \u001b[39m | \u001b[39m0.3342 \u001b[39m | \u001b[39m0.8382 \u001b[39m | \u001b[39m0.9354 \u001b[39m | \u001b[39m0.6876 \u001b[39m |\n", + "| \u001b[39m13 \u001b[39m | \u001b[39m0.000441 \u001b[39m | \u001b[39m-0.8399 \u001b[39m | \u001b[39m0.5917 \u001b[39m | \u001b[39m0.5641 \u001b[39m | \u001b[39m0.8637 \u001b[39m | \u001b[39m0.9289 \u001b[39m |\n", + "| \u001b[39m14 \u001b[39m | \u001b[39m8.261e-05\u001b[39m | \u001b[39m-0.7465 \u001b[39m | \u001b[39m0.4524 \u001b[39m | \u001b[39m0.6979 \u001b[39m | \u001b[39m0.269 \u001b[39m | \u001b[39m0.3007 \u001b[39m |\n", + "| \u001b[39m15 \u001b[39m | \u001b[39m0.001766 \u001b[39m | \u001b[39m-0.625 \u001b[39m | \u001b[39m0.8397 \u001b[39m | \u001b[39m0.7015 \u001b[39m | \u001b[39m0.9759 \u001b[39m | \u001b[39m0.7072 \u001b[39m |\n", + "| \u001b[39m16 \u001b[39m | \u001b[39m0.02805 \u001b[39m | \u001b[39m-0.5446 \u001b[39m | \u001b[39m0.5963 \u001b[39m | \u001b[39m0.5461 \u001b[39m | \u001b[39m0.7428 \u001b[39m | \u001b[39m0.6031 \u001b[39m |\n", + "| \u001b[39m17 \u001b[39m | \u001b[39m0.1787 \u001b[39m | \u001b[39m-0.6397 \u001b[39m | \u001b[39m0.7773 \u001b[39m | \u001b[39m0.6306 \u001b[39m | \u001b[39m0.3964 \u001b[39m | \u001b[39m0.555 \u001b[39m |\n", + "| \u001b[35m18 \u001b[39m | \u001b[35m0.3217 \u001b[39m | \u001b[35m-0.6909 \u001b[39m | \u001b[35m0.8335 \u001b[39m | \u001b[35m0.5581 \u001b[39m | \u001b[35m0.3556 \u001b[39m | \u001b[35m0.5659 \u001b[39m |\n", + "| \u001b[39m19 \u001b[39m | \u001b[39m0.2231 \u001b[39m | \u001b[39m-0.7598 \u001b[39m | \u001b[39m0.8658 \u001b[39m | \u001b[39m0.5306 \u001b[39m | \u001b[39m0.3545 \u001b[39m | \u001b[39m0.6126 \u001b[39m |\n", + "| \u001b[35m20 \u001b[39m | \u001b[35m0.3219 \u001b[39m | \u001b[35m-0.6909 \u001b[39m | \u001b[35m0.8335 \u001b[39m | \u001b[35m0.5583 \u001b[39m | \u001b[35m0.3559 \u001b[39m | \u001b[35m0.5661 \u001b[39m |\n", + "| \u001b[39m21 \u001b[39m | \u001b[39m0.0415 \u001b[39m | \u001b[39m-0.6376 \u001b[39m | \u001b[39m0.9131 \u001b[39m | \u001b[39m0.5274 \u001b[39m | \u001b[39m0.3905 \u001b[39m | \u001b[39m0.5385 \u001b[39m |\n", + "| \u001b[39m22 \u001b[39m | \u001b[39m0.1226 \u001b[39m | \u001b[39m-0.7002 \u001b[39m | \u001b[39m0.8083 \u001b[39m | \u001b[39m0.5893 \u001b[39m | \u001b[39m0.3262 \u001b[39m | \u001b[39m0.6175 \u001b[39m |\n", + "| \u001b[35m23 \u001b[39m | \u001b[35m0.3379 \u001b[39m | \u001b[35m-0.7272 \u001b[39m | \u001b[35m0.8219 \u001b[39m | \u001b[35m0.555 \u001b[39m | \u001b[35m0.3927 \u001b[39m | \u001b[35m0.5517 \u001b[39m |\n", + "| \u001b[35m24 \u001b[39m | \u001b[35m0.3426 \u001b[39m | \u001b[35m-0.6933 \u001b[39m | \u001b[35m0.7992 \u001b[39m | \u001b[35m0.5135 \u001b[39m | \u001b[35m0.3983 \u001b[39m | \u001b[35m0.5782 \u001b[39m |\n", + "| \u001b[39m25 \u001b[39m | \u001b[39m0.01591 \u001b[39m | \u001b[39m-0.716 \u001b[39m | \u001b[39m0.8449 \u001b[39m | \u001b[39m0.427 \u001b[39m | \u001b[39m0.854 \u001b[39m | \u001b[39m0.7467 \u001b[39m |\n", + "| \u001b[39m26 \u001b[39m | \u001b[39m0.2208 \u001b[39m | \u001b[39m-0.7426 \u001b[39m | \u001b[39m0.7811 \u001b[39m | \u001b[39m0.4777 \u001b[39m | \u001b[39m0.3799 \u001b[39m | \u001b[39m0.5267 \u001b[39m |\n", + "| \u001b[39m27 \u001b[39m | \u001b[39m0.1707 \u001b[39m | \u001b[39m-0.7213 \u001b[39m | \u001b[39m0.8082 \u001b[39m | \u001b[39m0.5425 \u001b[39m | \u001b[39m0.47 \u001b[39m | \u001b[39m0.6034 \u001b[39m |\n", + "| \u001b[39m28 \u001b[39m | \u001b[39m0.02944 \u001b[39m | \u001b[39m-0.6112 \u001b[39m | \u001b[39m0.7241 \u001b[39m | \u001b[39m0.3802 \u001b[39m | \u001b[39m0.1305 \u001b[39m | \u001b[39m0.7133 \u001b[39m |\n", + "| \u001b[39m29 \u001b[39m | \u001b[39m0.295 \u001b[39m | \u001b[39m-0.6724 \u001b[39m | \u001b[39m0.7966 \u001b[39m | \u001b[39m0.5351 \u001b[39m | \u001b[39m0.4015 \u001b[39m | \u001b[39m0.5239 \u001b[39m |\n", + "| \u001b[39m30 \u001b[39m | \u001b[39m0.2459 \u001b[39m | \u001b[39m-0.6254 \u001b[39m | \u001b[39m0.7534 \u001b[39m | \u001b[39m0.4725 \u001b[39m | \u001b[39m0.3783 \u001b[39m | \u001b[39m0.5916 \u001b[39m |\n", + "| \u001b[39m31 \u001b[39m | \u001b[39m0.2677 \u001b[39m | \u001b[39m-0.696 \u001b[39m | \u001b[39m0.8142 \u001b[39m | \u001b[39m0.4183 \u001b[39m | \u001b[39m0.3826 \u001b[39m | \u001b[39m0.6427 \u001b[39m |\n", + "| \u001b[39m32 \u001b[39m | \u001b[39m0.1886 \u001b[39m | \u001b[39m-0.6629 \u001b[39m | \u001b[39m0.7435 \u001b[39m | \u001b[39m0.3459 \u001b[39m | \u001b[39m0.4558 \u001b[39m | \u001b[39m0.6294 \u001b[39m |\n", + "| \u001b[39m33 \u001b[39m | \u001b[39m0.2116 \u001b[39m | \u001b[39m-0.8001 \u001b[39m | \u001b[39m0.8154 \u001b[39m | \u001b[39m0.3366 \u001b[39m | \u001b[39m0.3902 \u001b[39m | \u001b[39m0.7036 \u001b[39m |\n", + "| \u001b[39m34 \u001b[39m | \u001b[39m0.1522 \u001b[39m | \u001b[39m-0.6654 \u001b[39m | \u001b[39m0.8274 \u001b[39m | \u001b[39m0.3739 \u001b[39m | \u001b[39m0.4143 \u001b[39m | \u001b[39m0.7777 \u001b[39m |\n", + "| \u001b[39m35 \u001b[39m | \u001b[39m0.02097 \u001b[39m | \u001b[39m-0.7357 \u001b[39m | \u001b[39m0.8873 \u001b[39m | \u001b[39m0.3 \u001b[39m | \u001b[39m0.4083 \u001b[39m | \u001b[39m0.6054 \u001b[39m |\n", + "| \u001b[39m36 \u001b[39m | \u001b[39m0.1153 \u001b[39m | \u001b[39m-0.7497 \u001b[39m | \u001b[39m0.7184 \u001b[39m | \u001b[39m0.4285 \u001b[39m | \u001b[39m0.3821 \u001b[39m | \u001b[39m0.6787 \u001b[39m |\n", + "| \u001b[39m37 \u001b[39m | \u001b[39m0.3122 \u001b[39m | \u001b[39m-0.7625 \u001b[39m | \u001b[39m0.8559 \u001b[39m | \u001b[39m0.6204 \u001b[39m | \u001b[39m0.3704 \u001b[39m | \u001b[39m0.485 \u001b[39m |\n", + "| \u001b[39m38 \u001b[39m | \u001b[39m0.222 \u001b[39m | \u001b[39m-0.8684 \u001b[39m | \u001b[39m0.8764 \u001b[39m | \u001b[39m0.6099 \u001b[39m | \u001b[39m0.3932 \u001b[39m | \u001b[39m0.4762 \u001b[39m |\n", + "| \u001b[39m39 \u001b[39m | \u001b[39m0.1586 \u001b[39m | \u001b[39m-0.7685 \u001b[39m | \u001b[39m0.8767 \u001b[39m | \u001b[39m0.7177 \u001b[39m | \u001b[39m0.428 \u001b[39m | \u001b[39m0.4673 \u001b[39m |\n", + "| \u001b[39m40 \u001b[39m | \u001b[39m0.06846 \u001b[39m | \u001b[39m-0.7872 \u001b[39m | \u001b[39m0.8409 \u001b[39m | \u001b[39m0.5931 \u001b[39m | \u001b[39m0.2975 \u001b[39m | \u001b[39m0.4117 \u001b[39m |\n", + "| \u001b[39m41 \u001b[39m | \u001b[39m0.08975 \u001b[39m | \u001b[39m-0.7685 \u001b[39m | \u001b[39m0.8588 \u001b[39m | \u001b[39m0.5832 \u001b[39m | \u001b[39m0.4436 \u001b[39m | \u001b[39m0.4799 \u001b[39m |\n", + "| \u001b[39m42 \u001b[39m | \u001b[39m0.1084 \u001b[39m | \u001b[39m-0.7878 \u001b[39m | \u001b[39m0.8762 \u001b[39m | \u001b[39m0.6417 \u001b[39m | \u001b[39m0.3469 \u001b[39m | \u001b[39m0.5454 \u001b[39m |\n", + "| \u001b[39m43 \u001b[39m | \u001b[39m0.2467 \u001b[39m | \u001b[39m-0.6835 \u001b[39m | \u001b[39m0.8234 \u001b[39m | \u001b[39m0.4741 \u001b[39m | \u001b[39m0.3515 \u001b[39m | \u001b[39m0.5887 \u001b[39m |\n", + "| \u001b[39m44 \u001b[39m | \u001b[39m0.006366 \u001b[39m | \u001b[39m-0.5162 \u001b[39m | \u001b[39m0.5468 \u001b[39m | \u001b[39m0.664 \u001b[39m | \u001b[39m0.7499 \u001b[39m | \u001b[39m0.8926 \u001b[39m |\n", + "| \u001b[39m45 \u001b[39m | \u001b[39m0.2918 \u001b[39m | \u001b[39m-0.7085 \u001b[39m | \u001b[39m0.8233 \u001b[39m | \u001b[39m0.6025 \u001b[39m | \u001b[39m0.3602 \u001b[39m | \u001b[39m0.4973 \u001b[39m |\n", + "| \u001b[39m46 \u001b[39m | \u001b[39m0.2756 \u001b[39m | \u001b[39m-0.641 \u001b[39m | \u001b[39m0.8088 \u001b[39m | \u001b[39m0.4759 \u001b[39m | \u001b[39m0.4281 \u001b[39m | \u001b[39m0.6529 \u001b[39m |\n", + "| \u001b[39m47 \u001b[39m | \u001b[39m0.259 \u001b[39m | \u001b[39m-0.5791 \u001b[39m | \u001b[39m0.8002 \u001b[39m | \u001b[39m0.4016 \u001b[39m | \u001b[39m0.3924 \u001b[39m | \u001b[39m0.6605 \u001b[39m |\n", + "| \u001b[39m48 \u001b[39m | \u001b[39m0.09593 \u001b[39m | \u001b[39m-0.5623 \u001b[39m | \u001b[39m0.7689 \u001b[39m | \u001b[39m0.4404 \u001b[39m | \u001b[39m0.4795 \u001b[39m | \u001b[39m0.6131 \u001b[39m |\n", + "| \u001b[39m49 \u001b[39m | \u001b[39m0.06088 \u001b[39m | \u001b[39m-0.6232 \u001b[39m | \u001b[39m0.8136 \u001b[39m | \u001b[39m0.4617 \u001b[39m | \u001b[39m0.3479 \u001b[39m | \u001b[39m0.6981 \u001b[39m |\n", + "| \u001b[39m50 \u001b[39m | \u001b[39m0.1864 \u001b[39m | \u001b[39m-0.6742 \u001b[39m | \u001b[39m0.8025 \u001b[39m | \u001b[39m0.4417 \u001b[39m | \u001b[39m0.4322 \u001b[39m | \u001b[39m0.5883 \u001b[39m |\n", + "| \u001b[39m51 \u001b[39m | \u001b[39m0.001129 \u001b[39m | \u001b[39m-0.7316 \u001b[39m | \u001b[39m0.8609 \u001b[39m | \u001b[39m0.8731 \u001b[39m | \u001b[39m0.7566 \u001b[39m | \u001b[39m0.7094 \u001b[39m |\n", + "| \u001b[39m52 \u001b[39m | \u001b[39m0.2293 \u001b[39m | \u001b[39m-0.7121 \u001b[39m | \u001b[39m0.7631 \u001b[39m | \u001b[39m0.5474 \u001b[39m | \u001b[39m0.3747 \u001b[39m | \u001b[39m0.5568 \u001b[39m |\n", + "| \u001b[39m53 \u001b[39m | \u001b[39m0.3059 \u001b[39m | \u001b[39m-0.6423 \u001b[39m | \u001b[39m0.8069 \u001b[39m | \u001b[39m0.5383 \u001b[39m | \u001b[39m0.4062 \u001b[39m | \u001b[39m0.5966 \u001b[39m |\n", + "| \u001b[39m54 \u001b[39m | \u001b[39m0.06258 \u001b[39m | \u001b[39m-0.5826 \u001b[39m | \u001b[39m0.7606 \u001b[39m | \u001b[39m0.3205 \u001b[39m | \u001b[39m0.3611 \u001b[39m | \u001b[39m0.638 \u001b[39m |\n", + "| \u001b[39m55 \u001b[39m | \u001b[39m0.207 \u001b[39m | \u001b[39m-0.7387 \u001b[39m | \u001b[39m0.8525 \u001b[39m | \u001b[39m0.4576 \u001b[39m | \u001b[39m0.4255 \u001b[39m | \u001b[39m0.6778 \u001b[39m |\n", + "| \u001b[39m56 \u001b[39m | \u001b[39m0.04347 \u001b[39m | \u001b[39m-0.6178 \u001b[39m | \u001b[39m0.8528 \u001b[39m | \u001b[39m0.3955 \u001b[39m | \u001b[39m0.4493 \u001b[39m | \u001b[39m0.6773 \u001b[39m |\n", + "| \u001b[39m57 \u001b[39m | \u001b[39m0.2797 \u001b[39m | \u001b[39m-0.6946 \u001b[39m | \u001b[39m0.8403 \u001b[39m | \u001b[39m0.5222 \u001b[39m | \u001b[39m0.4 \u001b[39m | \u001b[39m0.6144 \u001b[39m |\n", + "| \u001b[39m58 \u001b[39m | \u001b[39m0.2402 \u001b[39m | \u001b[39m-0.7916 \u001b[39m | \u001b[39m0.827 \u001b[39m | \u001b[39m0.4341 \u001b[39m | \u001b[39m0.3574 \u001b[39m | \u001b[39m0.6185 \u001b[39m |\n", + "| \u001b[39m59 \u001b[39m | \u001b[39m0.04937 \u001b[39m | \u001b[39m-0.836 \u001b[39m | \u001b[39m0.8689 \u001b[39m | \u001b[39m0.4237 \u001b[39m | \u001b[39m0.3393 \u001b[39m | \u001b[39m0.7152 \u001b[39m |\n", + "| \u001b[39m60 \u001b[39m | \u001b[39m0.3044 \u001b[39m | \u001b[39m-0.7068 \u001b[39m | \u001b[39m0.8805 \u001b[39m | \u001b[39m0.6484 \u001b[39m | \u001b[39m0.3592 \u001b[39m | \u001b[39m0.4604 \u001b[39m |\n", + "| \u001b[39m61 \u001b[39m | \u001b[39m0.0761 \u001b[39m | \u001b[39m-0.6435 \u001b[39m | \u001b[39m0.8796 \u001b[39m | \u001b[39m0.4544 \u001b[39m | \u001b[39m0.2933 \u001b[39m | \u001b[39m0.2807 \u001b[39m |\n", + "| \u001b[39m62 \u001b[39m | \u001b[39m0.2577 \u001b[39m | \u001b[39m-0.7314 \u001b[39m | \u001b[39m0.8167 \u001b[39m | \u001b[39m0.6713 \u001b[39m | \u001b[39m0.3653 \u001b[39m | \u001b[39m0.4545 \u001b[39m |\n", + "| \u001b[39m63 \u001b[39m | \u001b[39m0.003973 \u001b[39m | \u001b[39m-0.6534 \u001b[39m | \u001b[39m0.4818 \u001b[39m | \u001b[39m0.9379 \u001b[39m | \u001b[39m0.1868 \u001b[39m | \u001b[39m0.9214 \u001b[39m |\n", + "| \u001b[39m64 \u001b[39m | \u001b[39m0.2642 \u001b[39m | \u001b[39m-0.6335 \u001b[39m | \u001b[39m0.8656 \u001b[39m | \u001b[39m0.7031 \u001b[39m | \u001b[39m0.3425 \u001b[39m | \u001b[39m0.443 \u001b[39m |\n", + "| \u001b[39m65 \u001b[39m | \u001b[39m0.2023 \u001b[39m | \u001b[39m-0.6883 \u001b[39m | \u001b[39m0.9274 \u001b[39m | \u001b[39m0.7084 \u001b[39m | \u001b[39m0.345 \u001b[39m | \u001b[39m0.3905 \u001b[39m |\n", + "| \u001b[39m66 \u001b[39m | \u001b[39m0.2385 \u001b[39m | \u001b[39m-0.6441 \u001b[39m | \u001b[39m0.8423 \u001b[39m | \u001b[39m0.6453 \u001b[39m | \u001b[39m0.3966 \u001b[39m | \u001b[39m0.4068 \u001b[39m |\n", + "| \u001b[39m67 \u001b[39m | \u001b[39m0.115 \u001b[39m | \u001b[39m-0.6291 \u001b[39m | \u001b[39m0.8525 \u001b[39m | \u001b[39m0.6278 \u001b[39m | \u001b[39m0.2939 \u001b[39m | \u001b[39m0.4472 \u001b[39m |\n", + "| \u001b[39m68 \u001b[39m | \u001b[39m0.009544 \u001b[39m | \u001b[39m-0.6876 \u001b[39m | \u001b[39m0.6745 \u001b[39m | \u001b[39m0.6504 \u001b[39m | \u001b[39m0.7635 \u001b[39m | \u001b[39m0.534 \u001b[39m |\n", + "| \u001b[39m69 \u001b[39m | \u001b[39m0.1545 \u001b[39m | \u001b[39m-0.6343 \u001b[39m | \u001b[39m0.8937 \u001b[39m | \u001b[39m0.7117 \u001b[39m | \u001b[39m0.4213 \u001b[39m | \u001b[39m0.4706 \u001b[39m |\n", + "| \u001b[39m70 \u001b[39m | \u001b[39m0.1657 \u001b[39m | \u001b[39m-0.6473 \u001b[39m | \u001b[39m0.8122 \u001b[39m | \u001b[39m0.7514 \u001b[39m | \u001b[39m0.3606 \u001b[39m | \u001b[39m0.3789 \u001b[39m |\n", + "| \u001b[39m71 \u001b[39m | \u001b[39m0.09981 \u001b[39m | \u001b[39m-0.6858 \u001b[39m | \u001b[39m0.8804 \u001b[39m | \u001b[39m0.7599 \u001b[39m | \u001b[39m0.3 \u001b[39m | \u001b[39m0.4805 \u001b[39m |\n", + "| \u001b[39m72 \u001b[39m | \u001b[39m0.2367 \u001b[39m | \u001b[39m-0.7438 \u001b[39m | \u001b[39m0.8586 \u001b[39m | \u001b[39m0.541 \u001b[39m | \u001b[39m0.3547 \u001b[39m | \u001b[39m0.5173 \u001b[39m |\n", + "| \u001b[39m73 \u001b[39m | \u001b[39m0.1969 \u001b[39m | \u001b[39m-0.5551 \u001b[39m | \u001b[39m0.9023 \u001b[39m | \u001b[39m0.7058 \u001b[39m | \u001b[39m0.3568 \u001b[39m | \u001b[39m0.3739 \u001b[39m |\n", + "| \u001b[39m74 \u001b[39m | \u001b[39m0.003964 \u001b[39m | \u001b[39m-0.867 \u001b[39m | \u001b[39m0.5866 \u001b[39m | \u001b[39m0.3316 \u001b[39m | \u001b[39m0.3515 \u001b[39m | \u001b[39m0.2023 \u001b[39m |\n", + "| \u001b[39m75 \u001b[39m | \u001b[39m0.2389 \u001b[39m | \u001b[39m-0.7877 \u001b[39m | \u001b[39m0.7523 \u001b[39m | \u001b[39m0.3 \u001b[39m | \u001b[39m0.4788 \u001b[39m | \u001b[39m0.7533 \u001b[39m |\n", + "| \u001b[39m76 \u001b[39m | \u001b[39m0.04023 \u001b[39m | \u001b[39m-0.797 \u001b[39m | \u001b[39m0.7835 \u001b[39m | \u001b[39m0.3 \u001b[39m | \u001b[39m0.4151 \u001b[39m | \u001b[39m0.8371 \u001b[39m |\n", + "=====================================================================================\n" + ] + } + ], + "source": [ + "optimizer.maximize(init_points=init_points, n_iter=n_iter)" + ] + }, + { + "cell_type": "markdown", + "id": "b89b286f", + "metadata": {}, + "source": [ + "## Analyzing the Results\n", + "\n", + "We extract the optimizer history, track the best observed loss, and visualize how the search converges toward high-efficiency gratings." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "2d05ffdf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Optimization complete.\n", + "Best parameters: {'first_gap_si': np.float64(-0.6933388041768698), 'gap_si': np.float64(0.7992416233438039), 'gap_sin': np.float64(0.5135103145142313), 'width_si': np.float64(0.3983180007432449), 'width_sin': np.float64(0.5781958117277934)}\n", + "Best objective (power): 0.3425821844561507\n", + "Best objective (dB): 4.65\n" + ] + } + ], + "source": [ + "best = optimizer.max\n", + "\n", + "results = optimizer.res\n", + "iterations = np.arange(1, len(results) + 1)\n", + "targets = np.asarray([res[\"target\"] for res in results], dtype=float)\n", + "targets = np.maximum(targets, 1e-12)\n", + "coupling_loss_db = -10 * np.log10(targets)\n", + "best_loss = np.minimum.accumulate(coupling_loss_db)\n", + "\n", + "best_loss_db = -10 * np.log10(max(best[\"target\"], 1e-12))\n", + "\n", + "print(\"Optimization complete.\")\n", + "print(f\"Best parameters: {best['params']}\")\n", + "print(f\"Best objective (power): {best['target']}\")\n", + "print(f\"Best objective (dB): {best_loss_db:.2f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "4606275e", + "metadata": {}, + "source": [ + "## Interpreting the Optimization Progress\n", + "\n", + "The scatter points show every simulation the optimizer evaluated, while the red curve tracks the best coupling loss found so far. Early iterations explore widely; later ones cluster near promising regions as the surrogate model focuses on exploitation." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "1d91747f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhMAAAGJCAYAAAAwtrGcAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdYZJREFUeJzt3Xd4U+XbB/DvSfdM2pIuKWWVTSmUVUCgrLJXFRRFUJZQmfKiVRHKsCjIUJEtoIggCKig7DJEwFJahqwWy1C6GE1LofM87x+Q/JombTObk9P7c129ICcnJ8+dde7zTI4xxkAIIYQQYiCJpQtACCGEEOtGyQQhhBBCjELJBCGEEEKMQskEIYQQQoxCyQQhhBBCjELJBCGEEEKMQskEIYQQQoxCyQQhhBBCjELJBCGEEEKMQskEISbCcRzmzp1r6WKY1aZNm8BxHG7dumWyY86dOxccx5nseEJ/XkLEiJIJYlHKk1PpP29vb4SHh+P333+3dPGqrU8++QR79uyxdDGM9uTJE8ydOxfHjh2zdFEIETWO1uYglrRp0ya8+eabmDdvHurUqQPGGDIyMrBp0yb8/fff+PXXX9G/f39LF1Mn+fn5sLW1ha2traWLYjRXV1e89NJL2LRpk9r2kpISFBUVwcHBwWRX9cXFxSguLoajo6NJjlfa/fv3IZfLMWfOHI1aI3M+LyHVjfX/6hFR6NOnD1q3bq26PWbMGPj4+OCHH36wmmSiOpyUbGxsYGNjY9JjWioBs9bELy8vDy4uLqJ7LmLdqJmDCJJMJoOTk5PGj/2SJUvQoUMHeHl5wcnJCaGhodi5c6faPl26dEGLFi20Hrdhw4aIiIhQ3eZ5HsuXL0fTpk3h6OgIHx8fTJgwAY8ePVJ73Llz5xAREYEaNWrAyckJderUwVtvvaW2T9k+E7dv38akSZPQsGFDODk5wcvLCy+//LJGfwNlU8+pU6cwY8YMyOVyuLi4YMiQIcjKytLp9Tp69ChefPFFuLi4QCaTYdCgQbh69araPso+AteuXcOwYcPg7u4OLy8vTJ06Ffn5+Wpx5OXlYfPmzaqmp9GjR6uVtXQMtWvXRv/+/XHs2DG0bt0aTk5OaN68uappYdeuXWjevDkcHR0RGhqKxMREreVSGj16tEbTl/JP+foWFhbi448/RmhoKKRSKVxcXPDiiy8iLi5OdZxbt25BLpcDAGJiYjSOoa3PRHFxMebPn4969erBwcEBtWvXxgcffICCggK1/ZQx//HHH2jbti0cHR1Rt25dfPvtt5W+V7du3QLHcViyZAmWLVuGwMBAODk5oUuXLrh8+bLavqNHj4arqytu3ryJvn37ws3NDa+99hrw/ET/7rvvIiAgAA4ODmjYsCGWLFmCspXNT58+xZQpU1CjRg24ublh4MCB+O+//zQ+r8rX48qVKxgxYgQ8PDzQqVMn1f1btmxBaGgonJyc4OnpiVdeeQV3795Ve67k5GRERkbC19cXjo6OqFmzJl555RUoFArVPocOHUKnTp0gk8ng6uqKhg0b4oMPPqj0dSPCZn1pORElhUKB+/fvgzGGzMxMfPnll3j8+DFef/11tf1WrFiBgQMH4rXXXkNhYSG2bduGl19+GXv37kW/fv0AACNHjsS4ceNw+fJlNGvWTPXY+Ph43LhxAx999JFq24QJE1RNLVOmTEFqaiq++uorJCYm4tSpU7Czs0NmZiZ69eoFuVyO999/HzKZDLdu3cKuXbsqjCk+Ph5//vknXnnlFdSsWRO3bt3CqlWr0LVrV1y5cgXOzs5q+0+ePBkeHh6YM2cObt26heXLl+Odd97B9u3bK3yew4cPo0+fPqhbty7mzp2Lp0+f4ssvv0THjh1x/vx51K5dW23/YcOGoXbt2oiNjcWZM2fwxRdf4NGjR6oT4XfffYexY8eibdu2GD9+PACgXr16FZYhJSUFI0aMwIQJE/D6669jyZIlGDBgAFavXo0PPvgAkyZNAgDExsZi2LBhuH79OiQS7dcyEyZMQI8ePdS27d+/H99//z28vb0BADk5OVi/fj1effVVjBs3Drm5udiwYQMiIiLw119/ISQkBHK5HKtWrcLEiRMxZMgQDB06FAAQHBxcbhxjx47F5s2b8dJLL+Hdd9/F2bNnERsbi6tXr2L37t0aMb/00ksYM2YMRo0ahW+++QajR49GaGgomjZtWuHrBQDffvstcnNzERUVhfz8fKxYsQLdunXDpUuX4OPjo9qvuLgYERER6NSpE5YsWQJnZ2cwxjBw4EDExcVhzJgxCAkJwYEDB/B///d/+O+//7Bs2TLV40ePHo0ff/wRI0eORPv27XH8+HHVd0Wbl19+GUFBQfjkk09UicnChQsxe/ZsDBs2DGPHjkVWVha+/PJLdO7cGYmJiZDJZCgsLERERAQKCgowefJk+Pr64r///sPevXuRnZ0NqVSKv//+G/3790dwcDDmzZsHBwcHpKSk4NSpU5W+XkTgGCEWtHHjRgZA48/BwYFt2rRJY/8nT56o3S4sLGTNmjVj3bp1U23Lzs5mjo6O7L333lPbd8qUKczFxYU9fvyYMcbYyZMnGQD2/fffq+23f/9+te27d+9mAFh8fHyFsQBgc+bMKbesjDF2+vRpBoB9++23Gq9Bjx49GM/zqu3Tp09nNjY2LDs7u8LnDQkJYd7e3uzBgweqbRcuXGASiYS98cYbqm1z5sxhANjAgQPVHj9p0iQGgF24cEG1zcXFhY0aNUrjuZRlTU1NVW0LDAxkANiff/6p2nbgwAEGgDk5ObHbt2+rtq9Zs4YBYHFxcRrlKk9ycjKTSqWsZ8+erLi4mDHGWHFxMSsoKFDb79GjR8zHx4e99dZbqm1ZWVka70t5z5uUlMQAsLFjx6rtN3PmTAaAHT16VCPmEydOqLZlZmYyBwcH9u6775YbC2OMpaamql6bf//9V7X97NmzDACbPn26atuoUaMYAPb++++rHWPPnj0MAFuwYIHa9pdeeolxHMdSUlIYY4wlJCQwAGzatGlq+40ePVrjdVG+Hq+++qravrdu3WI2NjZs4cKFatsvXbrEbG1tVdsTExMZALZjx45yY1+2bBkDwLKysip8jYj1oWYOIggrV67EoUOHcOjQIWzZsgXh4eEYO3asxtW/k5OT6v+PHj2CQqHAiy++iPPnz6u2S6VSDBo0CD/88IPqyqqkpATbt2/H4MGDVW3AO3bsgFQqRc+ePXH//n3VX2hoKFxdXVVV5jKZDACwd+9eFBUV6RxT6bIWFRXhwYMHqF+/PmQymVp5lcaPH69W7f7iiy+ipKQEt2/fLvc50tLSkJSUhNGjR8PT01O1PTg4GD179sRvv/2m8ZioqCi125MnTwYArfvqqkmTJggLC1PdbteuHQCgW7duqFWrlsb2f/75R6fj5uXlYciQIfDw8MAPP/yg6q9hY2MDe3t74HlT1cOHD1FcXIzWrVtrfW11oYx/xowZatvfffddAMC+ffs0Yn7xxRdVt+VyORo2bKhzbIMHD8YLL7ygut22bVu0a9dO6/swceJEjbLa2NhgypQpGmVljKlGQu3fvx8AVDVDSsr3XJu3335b7fauXbvA8zyGDRum9j3x9fVFUFCQ6nsilUoBAAcOHMCTJ0+0Hlv5Xfr555/B83y5ZSDWh5IJIght27ZFjx490KNHD7z22mvYt28fmjRpgnfeeQeFhYWq/fbu3Yv27dvD0dERnp6eqqrs0m2yAPDGG2/gzp07OHnyJPC8KSAjIwMjR45U7ZOcnAyFQgFvb2/I5XK1v8ePHyMzMxN43gcjMjISMTExqFGjBgYNGoSNGzdqtKOX9fTpU3z88ceqNu0aNWpALpcjOztbo7wA1E66AODh4QE8T5rKo0w0GjZsqHFf48aNcf/+feTl5altDwoKUrtdr149SCQSo+aOKFt25YklICBA6/aKYipt3LhxuHnzJnbv3g0vLy+1+zZv3ozg4GA4OjrCy8sLcrkc+/bt0/ra6uL27duQSCSoX7++2nZfX1/IZDKNpK5szHj+nukaW9n3AQAaNGig8T7Y2tqiZs2aGmX19/eHm5ub2vbGjRur7i8dU506ddT2KxtjaWX3TU5OBmMMQUFBGt+Tq1evqr4nderUwYwZM7B+/XrUqFEDERERWLlypdr7MXz4cHTs2BFjx46Fj48PXnnlFfz444+UWIgA9ZkggiSRSBAeHo4VK1YgOTkZTZs2xcmTJzFw4EB07twZX3/9Nfz8/GBnZ4eNGzdi69atao+PiIiAj48PtmzZgs6dO2PLli3w9fVVa4vneR7e3t74/vvvtZZB2XmP4zjs3LkTZ86cwa+//ooDBw7grbfewueff44zZ87A1dVV6+MnT56MjRs3Ytq0aQgLC4NUKgXHcXjllVe0/niWN0rC3KO3TTHEs7yyGxPTihUr8MMPP2DLli0ICQlRu2/Lli0YPXo0Bg8ejP/7v/+Dt7c3bGxsEBsbi5s3bxoYxTO6vh5V9X45ODiU27/EHErXqOH594TjOPz+++9aYy79+f/8888xevRo/Pzzzzh48CCmTJmi6ptTs2ZNODk54cSJE4iLi8O+ffuwf/9+bN++Hd26dcPBgwdNPlKIVB1KJohgFRcXAwAeP34MAPjpp5/g6OiIAwcOwMHBQbXfxo0bNR5rY2ODESNGYNOmTfj000+xZ88ejBs3Tu3Hql69ejh8+DA6duyo8QOqTfv27dG+fXssXLgQW7duxWuvvYZt27Zh7NixWvffuXMnRo0ahc8//1y1LT8/H9nZ2Xq+EuULDAwEAFy/fl3jvmvXrqFGjRoaQ/uSk5PVrj5TUlLA87xaR01Lzwx58uRJzJw5E9OmTVONXiht586dqFu3Lnbt2qVW1jlz5qjtp08cgYGB4HkeycnJqit8AMjIyEB2drbqtTaV5ORkjW03btzQ6DBbXlkPHz6M3NxctdqJa9euqe5HqZhSU1PVakJSUlJ0Lme9evXAGEOdOnXQoEGDSvdv3rw5mjdvjo8++gh//vknOnbsiNWrV2PBggXA8wuF7t27o3v37li6dCk++eQTfPjhh4iLi9PoeEusBzVzEEEqKirCwYMHYW9vr/pht7GxAcdxKCkpUe1369atcmdqHDlyJB49eoQJEyZoHRkybNgwlJSUYP78+RqPLS4uVp30Hz16pHG1qbxSrqipw8bGRuNxX375pVr5jeXn54eQkBBs3rxZLUm5fPkyDh48iL59+2o8ZuXKlRplwvO5PpRcXFxMmvToIy0tDcOGDUOnTp2wePFirfsok8LSr+/Zs2dx+vRptf2UI2Z0iUX5Wi1fvlxt+9KlSwGgwhEQhtizZw/+++8/1e2//voLZ8+eVXsfKiprSUkJvvrqK7Xty5YtA8dxqmMoh0F//fXXavsp33NdDB06FDY2NoiJidH4PDPG8ODBA+D5CBvlBYBS8+bNIZFIVN+Thw8fahxfl+8SET6qmSCC8Pvvv6uuqjIzM7F161YkJyfj/fffh7u7O/D8x3zp0qXo3bs3RowYgczMTKxcuRL169fHxYsXNY7ZsmVLNGvWDDt27EDjxo3RqlUrtfu7dOmCCRMmIDY2FklJSejVqxfs7OyQnJyMHTt2YMWKFXjppZewefNmfP311xgyZAjq1auH3NxcrFu3Du7u7lpP1kr9+/fHd999B6lUiiZNmuD06dM4fPiwRtu/sRYvXow+ffogLCwMY8aMUQ0NlUqlWtcKSU1NxcCBA9G7d2+cPn0aW7ZswYgRI9Tm5ggNDcXhw4exdOlS+Pv7o06dOqrOk+Y2ZcoUZGVlYdasWdi2bZvafcHBwQgODkb//v2xa9cuDBkyBP369UNqaipWr16NJk2aqGqy8LzKvkmTJti+fTsaNGgAT09PNGvWTG3IsFKLFi0watQorF27FtnZ2ejSpQv++usvbN68GYMHD0Z4eLhJ46xfvz46deqEiRMnoqCgAMuXL4eXlxdmzZpV6WMHDBiA8PBwfPjhh7h16xZatGiBgwcP4ueff8a0adNUQ3lDQ0MRGRmJ5cuX48GDB6qhoTdu3AB0rLmpV68eFixYgOjoaNy6dQuDBw+Gm5sbUlNTsXv3bowfPx4zZ87E0aNH8c477+Dll19GgwYNUFxcjO+++w42NjaIjIwEAMybNw8nTpxAv379EBgYiMzMTHz99deoWbOm2pwWxApZejgJqd60DQ11dHRkISEhbNWqVWpDJRljbMOGDSwoKIg5ODiwRo0asY0bN1Y4tPCzzz5jANgnn3xSbhnWrl3LQkNDmZOTE3Nzc2PNmzdns2bNYvfu3WOMMXb+/Hn26quvslq1ajEHBwfm7e3N+vfvz86dO6d2nLJD7R49esTefPNNVqNGDebq6soiIiLYtWvXWGBgoNqwS+VrUHboaVxcnMYwyvIcPnyYdezYkTk5OTF3d3c2YMAAduXKFbV9lK/TlStX2EsvvcTc3NyYh4cHe+edd9jTp0/V9r127Rrr3Lkzc3JyYgBU5S1vaGi/fv00ygSARUVFqW1TDotcvHixRrmUunTponW4cOnXl+d59sknn7DAwEDm4ODAWrZsyfbu3ctGjRrFAgMD1Z7zzz//ZKGhocze3l7tGNo+N0VFRSwmJobVqVOH2dnZsYCAABYdHc3y8/PV9isv5i5durAuXbpoeYe0vwaff/45CwgIYA4ODuzFF19UG57Lng8NdXFx0Xqc3NxcNn36dObv78/s7OxYUFAQW7x4scZ3Ji8vj0VFRTFPT0/m6urKBg8ezK5fv84AsEWLFmm8D+UN2/zpp59Yp06dmIuLC3NxcWGNGjViUVFR7Pr164wxxv755x/21ltvsXr16jFHR0fm6enJwsPD2eHDh1XHOHLkCBs0aBDz9/dn9vb2zN/fn7366qvsxo0bFb5mRPhobQ4iaitWrMD06dNx69Ytrb3vq5O5c+ciJiYGWVlZqFGjhqWLU23dunULderUweLFizFz5kyLlCEpKQktW7bEli1btPZJIURf1GeCiBZjDBs2bECXLl2qfSJBqq+nT59qbFu+fDkkEgk6d+5skTIR8aE+E0R08vLy8MsvvyAuLg6XLl3Czz//bOkiEWIxn332GRISEhAeHg5bW1v8/vvv+P333zF+/HiNeUAIMRQlE0R0srKyMGLECMhkMnzwwQcYOHCgpYtEiMV06NABhw4dwvz58/H48WPUqlULc+fOxYcffmjpohERoT4ThBBCCDEK9ZkghBBCiFEomSCEEEKIUUTfZ4Lnedy7dw9ubm4WnyKYEEIIsSaMMeTm5sLf37/CNWJEn0zcu3ePeiwTQgghRrh7967G6rWliT6ZUC6Cc/fuXdW0zLrieR5ZWVmQy+VVumpfVRJ7jBSf9RN7jGKPD9UgRjHHl5OTg4CAAI3l7ssSfTKhbNpwd3c3KJnIz8+Hu7u76D4gSmKPkeKzfmKPUezxoRrEKPb4oMM6LuKMmhBCCCFVhpIJQgghhBiFkglCCCGEGEX0fSYIIYTojzGG4uJilJSUGH0snudRVFSE/Px8UfYpsOb4bGxsYGtra/TUCZRMEEIIUVNYWIi0tDQ8efLEJMdjjIHneeTm5opyvh9rj8/Z2Rl+fn6wt7c3+BiUTBBCCFHheR6pqamwsbGBv78/7O3tjT5BKms5THEFLETWGh9jDIWFhcjKykJqaiqCgoIMrlmhZIKYXAlfgjPJScjMeQBvdy+0DwqBjcTG0sUihOigsLAQPM8jICAAzs7OJjmmtZ5sdWXN8Tk5OcHOzg63b99GYWEhHB0dDToOJRPEpPYlxuGj7cuQlp2p2uYn88aC4dPRr2W4RctGCNGdtbX9E8OZ4r2mTwsxmX2JcRi7JlotkQCA9OxMjF0TjX2JcRYrGyGEEPOhZIKYRAlfgo+2LwPTcp9y2+wfl6OEN75nOCGEEGGhZIKYxJnkJI0aidIYgHuPMnAmOalKy0UIIULBcRz27Nlj6WKYBSUTxCQycx6YdD9CCDFEVlYWJk6ciFq1asHBwQG+vr6IiIjAqVOnLF00UaMOmMQkvN29TLofIcT6KUd2ZSjuo4arBzo0bAVbG/OediIjI1FYWIjNmzejbt26yMjIwJEjR/DgAV3ImJNgaiYWLVoEjuMwbdo01bb8/HxERUXBy8sLrq6uiIyMREZGhkXLSbRrHxQCP5k3yhsUxQHw9/BB+6CQKi4ZIcQS9iXGofUHQxC5LAqTvpmDYV9MQZsPh5q1I3Z2djZOnjyJTz/9FOHh4QgMDETbtm0RHR2NgQMHAgCWLl2K5s2bw8XFBQEBAZg0aRIeP36sOsamTZsgk8mwd+9eNGzYEM7OznjppZfw5MkTbN68GbVr14aHhwemTJmiNjtoUFAQ5s+fj1dffRUuLi544YUXsHLlygrLe/fuXQwbNgwymQyenp4YNGgQbt26pbr/2LFjaNu2LVxcXCCTydCxY0fcvn3bLK+dsQSRTMTHx2PNmjUIDg5W2z59+nT8+uuv2LFjB44fP4579+5h6NChFisnKZ+NxAYLhk8HnicOpSlvzx82jeabIKQasNTILldXV7i6umLPnj0oKCjQuo9EIsEXX3yBv//+G5s3b8bRo0cxa9YstX2ePHmCL774Atu2bcP+/ftx7NgxDBkyBL/99ht+++03fPfdd1izZg127typ9rglS5agRYsWSExMxPvvv4+pU6fi0KFDWstRVFSEiIgIuLm54eTJkzh16hRcXV3Ru3dvFBYWori4GIMHD0aXLl1w8eJFnD59GuPHjxfuPBbMwnJzc1lQUBA7dOgQ69KlC5s6dSpjjLHs7GxmZ2fHduzYodr36tWrDAA7ffq0zsdXKBQMAFMoFHqXraSkhKWlpbGSkhK9H2stTB3j3vNHWch7A5jPhHaqv5bvD2R7zx81yfH1Jfb3UOzxsWoQo9Die/r0Kbty5Qp7+vSpQY8vLinW+A0o/ef7/DehuKTY5GVnjLGdO3cyDw8P5ujoyDp06MCio6PZhQsXyt1/x44dzMvLS3V748aNDABLSUlRbZswYQJzdnZmubm5qm0RERFswoQJjDHGeJ5ngYGBrHfv3mrHHj58OOvTp4/qNgC2e/duxhhj3333HWvYsCHjeV51f0FBAXNycmIHDhxgDx48YADYsWPHjH5NKlPRe67rOdTifSaioqLQr18/9OjRAwsWLFBtT0hIQFFREXr06KHa1qhRI9SqVQunT59G+/bttR6voKBALSPNyckBnk8Ry/O8XmXjeV4157pYmTrGPi26oFfzTjibcgFZOQ8gd/dCu/otYCOxscjrKPb3UOzxoRrEKLT4lOVR/ulLn5FdHRq0MrK0moYOHYq+ffvi5MmTOHPmDPbv34/PPvsM69atw+jRo3H48GEsWrQI165dQ05ODoqLi5Gfn4+8vDw4OzuDMQZnZ2fUrVtXFb+3tzdq164NFxcX1TYfHx9kZmaqvUbt27fXuL1ixQq1bcrXNSkpCSkpKXBzc1Mrf35+PlJSUtCzZ0+MHj0aERER6NmzJ7p3745hw4bBz8/P5K+ZskzazpO6fi4tmkxs27YN58+fR3x8vMZ96enpsLe3h0wmU9vu4+OD9PT0co8ZGxuLmJgYje1ZWVnIz8/Xq3w8z0OhUIAxJtrZ4MwVY31ZTdSX1QQAPLhvuY5PYn8PxR4fqkGMQouvqKgIPM+juLgYxcXFej/+3sPyE4my+xlyfF3Y2toiPDwc4eHhiI6OxoQJEzB37lx06tQJAwYMwIQJExATEwMPDw/8+eefGD9+PJ48eQJ7e3vwPA87Ozu1sjHGYGtrq7FN+RqVPhmX3kd5Ii69raSkBMXFxcjNzUWrVq2wefNmjfLL5XIUFxdj7dq1mDhxIg4ePIjt27dj9uzZ+P3339GuXTuTvl7FxcXgeR4PHjyAnZ2d2n25ubk6HcNiycTdu3dV7UmGzgWuTXR0NGbMmKG6nZOTg4CAAMjlcri7u+t1LJ7nwXEc5HK5IL7k5iD2GCk+6yf2GIUWX35+PnJzc2FrawtbW/1PEf6e3jrvZ8jxDdG0aVP88ssvuHDhAniex9KlS1Wv9a5du4DnCYitra1qe+mySSQScBynsU0ikai2cRyH+Ph4tX3i4+PRuHFjtW3KJb9DQ0OxY8cO+Pv7V3huatOmDdq0aYMPP/wQHTp0wPbt29GxY0eTvj7KuL28vDTOx7qeny2WTCQkJCAzMxOtWv2vmqukpAQnTpzAV199hQMHDqCwsBDZ2dlqtRMZGRnw9fUt97gODg5wcHDQ2K584/XFcZzBj7UWYo+R4rN+Yo9RSPEpT5zKP30pR3alZ2dqnRGXA+D3fGSXqTsTPnjwAC+//DLeeustBAcHw83NDefOncPixYsxaNAgBAUFoaioCF999RUGDBiAU6dOYc2aNc/KVSbm0mXTtq30fcpmjFOnTmHx4sUYPHgwDh06hB07dmDfvn0ax+I4Dq+//jqWLFmCwYMHY968eahZsyZu376NXbt2YdasWSgqKsLatWsxcOBA+Pv74/r160hOTsYbb7xh8tdNWSZtn0FdP5MWSya6d++OS5cuqW1788030ahRI7z33nsICAiAnZ0djhw5gsjISADA9evXcefOHYSFhVmo1IQQQiqiHNk1dk00uFLT6aMKRna5urqiXbt2WLZsGW7evImioiIEBARg3Lhx+OCDD+Dk5ISlS5fi008/RXR0NDp37ozY2Fi88cYbJnn+GTNm4Ny5c4iJiYG7uzuWLl2KiIgIrfs6OzvjxIkTeO+99zB06FDk5ubihRdeQPfu3eHu7o6nT5/i2rVr2Lx5Mx48eAA/Pz9ERUVhwoQJJimrqXHMkB42ZtK1a1eEhIRg+fLlAICJEyfit99+w6ZNm+Du7o7JkycDAP7880+dj5mTkwOpVAqFQmFQM0dmZia8vb0FccVgDmKPkeKzfmKPUWjx5efnIzU1FXXq1DGqCVrbCsL+Ht6YP0x8KwgzxlCnTh1MnToV06dPt3Rx9FbRe67rOdTiozkqsmzZMkgkEkRGRqKgoAARERH4+uuvLV0sQgghlejXMhy9W3Su8hkwiWUI6l09duyY2m1HR0esXLmy0lnECCGECI+NxAYdG4aqRj7QpHXiJahkghBCCLFGycnJVTY6RYgs30BHCCGEEKtGyQQhhBBCjELJBCGEEEKMQskEIYQQQoxCyQQhhBBCjELJBCGEEEKMQskEIYQQYgXmzp0LHx8fcByHPXv2WLo4aiiZIIQQIgqjR49WW7DLy8sLvXv3xsWLF032HHPnzkVISIjJjqerq1evIiYmBmvWrEFaWhr69OlT5WWoCCUThBBCRKN3795IS0tDWloajhw5AltbW/Tv39/SxTLazZs3AQCDBg2Cr6+v1tWxdVFUVGTikj1DyQQhhJCKMQbk5VnmT8+1KB0cHODr6wtfX1+EhITg/fffx927d5GVlaXa5+7duxg2bBhkMhk8PT0xaNAg3Lp1S3X/sWPH0LZtW7i4uEAmk6Fjx464ffs2Nm3ahJiYGFy4cEFV+7Fp0yat5SjvGEqrVq1CvXr1YG9vj4YNG+K7774rN6a5c+diwIABQKkl4gEgPj4ePXv2RI0aNSCVStGlSxecP39e7bEcx2HVqlUYOHAgXFxcsHDhQr1eT11V37k/CSGE6ObJE8DV1eCHcwDsDH3w48eAi4uBD32MLVu2oH79+vDy8gKeX5lHREQgLCwMJ0+ehK2tLRYsWKBqDpFIJBg8eDDGjRuHH374AYWFhfjrr7/AcRyGDx+Oy5cvY//+/Th8+DAAQCqVajxvcXFxuccAgN27d2Pq1KlYvnw5evTogb179+LNN99EzZo1ER6uuaLqzJkzUbt2bbz55ptIS0tTbc/NzcWoUaPw5ZdfgjGGzz//HH379kVycjLc3NxU+82dOxeLFi3C8uXLzTblNyUThBBCRGPv3r1wfZ745OXlwc/PD3v37lUt7759+3bwPI/169erTu4bN26ETCbDsWPH0Lp1aygUCvTv3x/16tUDADRu3Fh1fFdXV9ja2sLX11e1jZWpPcnJyanwGEuWLMHo0aMxadIkAMCMGTNw5swZLFmyRGsy4erqCplMBgBqz9utWze1/dauXQuZTIbjx4+rNe2MGDECb775pkGvp66omYMQQkjFnJ2f1RAY+Mdyc1H06BFYbq7+j3d21quo4eHhSEpKQlJSEv766y9ERESgT58+qiaGCxcuICUlBW5ubnB1dYWrqys8PT2Rn5+PmzdvwtPTE6NHj0ZERAQGDBiAFStWqNUG6KKyY1y9ehUdO3ZUe0zHjh1x9epVvZ4nIyMD48aNQ1BQEKRSKdzd3fH48WPcuXNHbb/WrVvrdVxDUDJBCCGkYhz3rKnBEn/Paw905eLigvr166N+/fpo06YN1q9fj7y8PKxbtw543vQRGhqqSjiUfzdu3MCIESOA5zUVp0+fRocOHbB9+3Y0aNAAZ86c0ascpjhGZUaNGoWkpCSsWLECf/75J5KSkuDl5YXCwkK1/VwMbCbSByUThBBCRIvjOEgkEjx9+hQA0KpVKyQnJ8Pb21uVdCj/Svd/aNmyJaKjo/Hnn3+iWbNm2Lp1KwDA3t4eJSUlOj13ecdo3LgxTp06pbbvqVOn0KRJE71iO3XqFKZMmYK+ffuiadOmcHBwwP379/U6hqlQMkEIIUQ0CgoKkJ6ejvT0dFy9ehWTJ0/G48ePVaMhXnvtNdSoUQODBg3CyZMnkZqaimPHjmHKlCn4999/kZqaiujoaJw+fRq3b9/GwYMHkZycrOrzULt2baSmpiIpKQn3799HQUGBRhkqO8b//d//YdOmTVi1ahWSk5OxdOlS7Nq1CzNnztQr1qCgIHz33Xe4evUqzp49i9deew1OTk4meR31RckEIYQQ0di/fz/8/Pzg5+eHdu3aIT4+Hjt27EDXrl0BAM7Ozjhx4gRq1aqFoUOHonHjxhgzZgzy8/Ph7u4OZ2dnXLt2DZGRkWjQoAHGjx+PqKgoTJgwAQAQGRmJ3r17Izw8HHK5HD/88INGGSo7xuDBg7FixQosWbIETZs2xZo1a7Bx40ZVGXW1YcMGPHr0CK1atcLIkSMxZcoUeHt7m+R11BfHynZDFZmcnBxIpVIoFAq4u7vr9Vie55GZmQlvb29VT2CxEXuMFJ/1E3uMQosvPz8fqampqFOnDhwdHU1yTMYYiouLYWtrqxpBISbWHl9F77mu51DLf3IJIYQQYtUomSCEEEKIUSiZIIQQQohRKJkghBBCiFEomSCEEKJB5H3zSSmmeK8pmSCEEKJiZ/dsSa4nT55Yuiikiijfa+V7bwha6IsQQoiKjY0NZDIZMjMzgedzJhg73NHah05WxlrjY4zhyZMnyMzMhEwmg42NjcHHomSCEEKIGuXKlMqEwliMMfA8D4lEYlUnW11Ze3wymUxtNVJDUDJBCCFEDcdx8PPzg7e3N4qKiow+Hs/zePDgAby8vAQxMZepWXN8dnZ2RtVIKFk0mVi1ahVWrVqFW7duAQCaNm2Kjz/+GH369AEAdO3aFcePH1d7zIQJE7B69WqLlJcQQqoTGxsbk5xoeJ6HnZ0dHB0dre5kqwuxx6cLiyYTNWvWxKJFixAUFATGGDZv3oxBgwYhMTERTZs2BQCMGzcO8+bNUz3GWc+17QkhhBBiXhZNJpSruCktXLgQq1atwpkzZ1TJhLOzs9FtOYQQQggxH8H0mSgpKcGOHTuQl5eHsLAw1fbvv/8eW7Zsga+vLwYMGIDZs2dXWDtRUFCgtiRsTk4O8Lwaiud5vcrE87yqY41YiT1Gis/6iT1GsceHahCjmOPTNSaLJxOXLl1CWFgY8vPz4erqit27d6NJkyYAgBEjRiAwMBD+/v64ePEi3nvvPVy/fh27du0q93ixsbGIiYnR2J6VlYX8/Hy9ysbzPBQKBRhjom0HE3uMFJ/1E3uMYo8P1SBGMceXm5ur034WX4K8sLAQd+7cgUKhwM6dO7F+/XocP35clVCUdvToUXTv3h0pKSmoV6+e1uNpq5kICAjAo0ePDFqCPCsrC3K5XHQfECWxx0jxWT+xxyj2+FANYhRzfDk5OfDw8Kh0CXKL10zY29ujfv36AIDQ0FDEx8djxYoVWLNmjca+7dq1A4AKkwkHBwc4ODhobJdIJAa9yRzHGfxYayH2GCk+6yf2GMUeH6pBjGKNT9d4BBc1z/NqNQulJSUlAQD8/PyquFSEEEIIKY9Fayaio6PRp08f1KpVC7m5udi6dSuOHTuGAwcO4ObNm9i6dSv69u0LLy8vXLx4EdOnT0fnzp0RHBxsyWITQgghpBSLJhOZmZl44403kJaWBqlUiuDgYBw4cAA9e/bE3bt3cfjwYSxfvhx5eXkICAhAZGQkPvroI0sWmRBCCCFlWDSZ2LBhQ7n3BQQEaMx+SYSnhC/BmeQkZOY8gLe7F9oHhcBGYvyMeYQQQqyHxTtgEuu1LzEOH21fhrTs/y0G5CfzxoLh09GvZbhFy0YIIaTqCK4DJrEO+xLjMHZNtFoiAQDp2ZkYuyYa+xLjLFY2QgghVYuSCaK3Er4EH21fBm0TlCi3zf5xOUr4kiouGSGEEEugZILo7UxykkaNRGkMwL1HGTiTnFSl5SKEEGIZlEwQvWXmPDDpfoQQQqwbJRNEb97uXibdjxBCiHWjZILorX1QCPxk3uDKuZ8D4O/hg/ZBIVVcMkIIIZZAyQTRm43EBguGTweeJw6lKW/PHzaN5psghJBqgpIJYpB+LcOxfkIsfGXeatv9PHywfkIszTNBCCHVCE1aRQzWr2U4erfoTDNgEkJINUfJBDGKjcQGHRuGWroYhBBCLIiaOQghhBBiFEomCCGEEGIUSiYIIYQQYhRKJgghhBBiFEomCCGEEGIUGs0hICV8CQ2zJIQQYnUomRCIfYlx+Gj7MrXVOP1k3lgwfDpNAEUIIUTQqJlDAPYlxmHsmmiNZb3TszMxdk009iXGWaxshBBCSGUombCwEr4EH21fBqblPuW22T8uRwlfUsUlI4QQQnRDyYSFnUlO0qiRKI0BuPcoA2eSkyo9VglfglPXE7A7/iBOXU+gBIQQQkiVoD4TFpaZ88Ak+1GfC0IIIZZCNRMW5u3uZfR+1OeCEEKIJVEyYWHtg0LgJ/MGV879HAB/Dx+0DwrRej/1uSCEEGJplExYmI3EBguGTweeJw6lKW/PHzat3PkmTNnnghBCCDEEJRMC0K9lONZPiIWvzFttu5+HD9ZPiK2wz4Op+lwQQgghhqIOmALRr2U4erforPcMmKboc0EIIYQYQ69kIjs7G7t378bJkydx+/ZtPHnyBHK5HC1btkRERAQ6dOhgvpJWAzYSG3RsGKrXY5R9LtKzM7X2m+Ce13CU1+eCEEIIMZZOzRz37t3D2LFj4efnhwULFuDp06cICQlB9+7dUbNmTcTFxaFnz55o0qQJtm/frvOTr1q1CsHBwXB3d4e7uzvCwsLw+++/q+7Pz89HVFQUvLy84OrqisjISGRkZBgWqUgZ2+eCEEIIMZZONRMtW7bEqFGjkJCQgCZNmmjd5+nTp9izZw+WL1+Ou3fvYubMmZUet2bNmli0aBGCgoLAGMPmzZsxaNAgJCYmomnTppg+fTr27duHHTt2QCqV4p133sHQoUNx6tQp/SMVMWWfC415Jjx8MH/YNJpnghBCiFlxjDFtteNqHjx4AC8v3dvc9d2/NE9PTyxevBgvvfQS5HI5tm7dipdeegkAcO3aNTRu3BinT59G+/btdTpeTk4OpFIpFAoF3N3d9SoLz/PIzMyEt7c3JBLh91U1ZNVRa4tRXxSf9RN7jGKPD9UgRjHHp+s5VKeaCX0TA0MSiZKSEuzYsQN5eXkICwtDQkICioqK0KNHD9U+jRo1Qq1atSpMJgoKClBQUKC6nZOTAzx/s3me16tMPM+DMab34yyFA4ewoJZq2yoru7XFqC+Kz/qJPUZt8ZXwJTibcgFZOQ8gd/dCu/otrLqpsjq+h2Kha0x6j+YoXetw9+5drFu3Dk+fPsXAgQPx4osv6l3QS5cuISwsDPn5+XB1dcXu3bvRpEkTJCUlwd7eHjKZTG1/Hx8fpKenl3u82NhYxMTEaGzPyspCfn6+XmXjeR4KhQKMsUqzTZ7nce3eP1A8zYXUyQ2N/OtaRYaqT4zWiOKzfmKPsWx88TcvYssfP+NRnkK1j4eLFK93GoQ29YItWlZDVbf3UExyc3N12k/nZOLSpUsYMGAA7t69i6CgIGzbtg29e/dGXl4eJBIJli1bhp07d2Lw4MF6FbRhw4ZISkqCQqHAzp07MWrUKBw/flyvY5QWHR2NGTNmqG7n5OQgICAAcrncoGYOjuMgl8sr/ID8lnQMc35cgTRFqf4KUm/EDJuKviFdDYykaugao7Wi+Kyf2GMsHd/+iyfw9pY5GiOzuCzgj1vnsWbcQsH/pmhTnd5DscXn6Oio0346JxOzZs1C8+bN8f333+O7775D//790a9fP6xbtw4AMHnyZCxatEjvZMLe3h7169cHAISGhiI+Ph4rVqzA8OHDUVhYiOzsbLXaiYyMDPj6+pZ7PAcHBzg4OGhsl0gkBr3JHMdV+Nh9iXEYt/YDjS//vewMjFv7QaWTTglBZTFaO4rP+ok9Ro7jwMCeTX1fTjc2DsDHO1agT0gXq2zyqA7voRjj0zUenaOOj4/HwoUL0bFjRyxZsgT37t3DpEmTVC/e5MmTce3aNWPKDDzP8AoKChAaGgo7OzscOXJEdd/169dx584dhIWFGf08pkDrYhBCTOVsygWaGp9YLZ1rJh4+fKiqEXB1dYWLiws8PDxU93t4eOjctqIUHR2NPn36oFatWsjNzcXWrVtx7NgxHDhwAFKpFGPGjMGMGTPg6ekJd3d3TJ48GWFhYTqP5DA3fdbF0HcyKkJI9ZJFU+MTK6ZXB0yO4yq8ra/MzEy88cYbSEtLg1QqRXBwMA4cOICePXsCAJYtWwaJRILIyEgUFBQgIiICX3/9tVHPaUq0LgYhxFTkNDU+sWJ6JROjR49W9UfIz8/H22+/DRcXF+D5kEx9bdiwocL7HR0dsXLlSqxcuVLvY1cFWheDEGIq7eq3oKnxidXSOZkYNWqU2u3XX39dY5833njDNKWyErQuBiHEVJRT449dEw2uVL8r0NT4xAronExs3LjRvCWxQvTlJ4SYEk2NT6wVLUFuJPryE0JMqV/LcPRu0VnvqfEJsSSdkomhQ4fqfMBdu3YZUx6rRF9+Qogp2UhsaAQYsSo6JRNSqVT1f8YYdu/eDalUitatWwMAEhISkJ2drVfSITb05SeEEFJd6ZRMlO4v8d5772HYsGFYvXo1bGyeXXmXlJRg0qRJek9XTQghhBDrp/e8n9988w1mzpypSiQAwMbGBjNmzMA333xj6vIRQgghROD0TiaKi4u1Tpt97do1US6/SkynhC/BqesJ2B1/EKeuJ9A044QQIhJ6j+Z48803MWbMGNy8eRNt27YFAJw9exaLFi3Cm2++aY4yEhHYlxinOeJF5o0Fw6fTiBdCCLFyeicTS5Ysga+vLz7//HOkpaUBAPz8/PB///d/ePfdd81RRmLl9iXGYeyaaI2JvdKzMzF2TbRVrKxKCCGkfHonExKJBLNmzcKsWbOQk5MDANTxkpSrspVVuecrq/Zu0ZmG0hJCiJUyauF1d3d3SiRIhfRZWZUQQoh10imZ6N27N86cOVPpfrm5ufj0008FuzCXmFhLZ0ZaWZUQQsRPp2aOl19+GZGRkZBKpRgwYABat24Nf39/ODo64tGjR7hy5Qr++OMP/Pbbb+jXrx8WL15s/pJXY9bUmZFWViWEEPHTKZkYM2YMXn/9dezYsQPbt2/H2rVroVAoAAAcx6FJkyaIiIhAfHw8GjdubO4yW40SvsTkU2xbW2dGWlmVEELET+cOmA4ODnj99ddVS48rFAo8ffoUXl5esLOzM2cZrZI5ag+ssTMjraxKCCHiZ3AHTKlUCl9fX0oktFDWHpTteKisPdiXGGfQca21M6NyZVVfmbfadj8PH8HVpBBCCNEfLUFuYuasPbDmzoy0siohhIgXJRMmpk/tgb6rjFp7Z0ZaWZUQQsTJqHkmiCZz1h4oOzNy5dzPAfCnzoyEEEKqGCUTJmbO2gNlZ0aU6ryoRJ0ZCSGEWIreycTdu3fx77//qm7/9ddfmDZtGtauXWvqslklc9ceUGdGQgghQqN3n4kRI0Zg/PjxGDlyJNLT09GzZ080bdoU33//PdLT0/Hxxx+bp6RWoiqGQlJnRkIIIUKid83E5cuXVUuP//jjj2jWrBn+/PNPfP/999i0aZM5ymh1qqL2QNmZcUibXujYMJQSCUIIIRajd81EUVERHBwcAACHDx/GwIEDAQCNGjVSLUlOqPaAEEJI9aF3MtG0aVOsXr0a/fr1w6FDhzB//nwAwL179+DlJcwhiZZCQyEJIYRUB3o3c3z66adYs2YNunbtildffRUtWrQAAPzyyy+q5g9CCCGEVB96JxNdu3bF/fv3cf/+fXzzzTeq7ePHj8fq1av1OlZsbCzatGkDNzc3eHt7Y/Dgwbh+/brG83Ecp/b39ttv61tsQgghhJiJ3snE06dPUVBQAA8PDwDA7du3sXz5cly/fh3e3t6VPr6048ePIyoqCmfOnMGhQ4dQVFSEXr16IS8vT22/cePGIS0tTfX32Wef6VtsQgghhJiJ3n0mBg0ahKFDh+Ltt99GdnY22rVrBzs7O9y/fx9Lly7FxIkTdT7W/v371W5v2rQJ3t7eSEhIQOfOnVXbnZ2d4evrq29RCSGEEFIF9E4mzp8/j2XLlgEAdu7cCR8fHyQmJuKnn37Cxx9/rFcyUZZCoQAAeHp6qm3//vvvsWXLFvj6+mLAgAGYPXs2nJ2dtR6joKAABQUFqts5OTkAAJ7nwfO8XuXheR6MMb0fZ03EHiPFZ/3EHqPY40M1iFHM8ekak97JxJMnT+Dm5gYAOHjwIIYOHQqJRIL27dvj9u3b+pf0OZ7nMW3aNHTs2BHNmjVTbR8xYgQCAwPh7++Pixcv4r333sP169exa9curceJjY1FTEyMxvasrCzk5+frXSaFQgHGGCQScc48LvYYKT7rJ/YYxR4fqkGMYo4vNzdXp/30Tibq16+PPXv2YMiQIThw4ACmT3+2VkRmZibc3d31L+lzUVFRuHz5Mv744w+17ePHj1f9v3nz5vDz80P37t1x8+ZN1KtXT+M40dHRmDFjhup2Tk4OAgICIJfL9S4fz/PgOA5yuVx0HxAlscdI8Vk/scco9vhQDWIUc3yOjo467ad3MvHxxx9jxIgRmD59Orp164awsDDgeS1Fy5Yt9S8pgHfeeQd79+7FiRMnULNmzQr3bdeuHQAgJSVFazLh4OCgmlSrNIlEYtCbzHGcwY+1FmKPkeKzfmKPUezxoRrEKNb4dI1H72TipZdeQqdOnZCWlqaaYwIAunfvjiFDhuh1LMYYJk+ejN27d+PYsWOoU6dOpY9JSkoCAPj5+elbdGKEEr6EZvMkhFS56vrbY21x651MAICvry98fX1Vq4fWrFnToAmroqKisHXrVvz8889wc3NDeno6AEAqlcLJyQk3b97E1q1b0bdvX3h5eeHixYuYPn06OnfujODgYEOKTgywLzEOH21fhrTsTNU2P5k3FgyfTquUEkLMprr+9lhj3HrXx/A8j3nz5kEqlSIwMBCBgYGQyWSYP3++3j1ZV61aBYVCga5du8LPz0/1t337dgCAvb09Dh8+jF69eqFRo0Z49913ERkZiV9//VXfYhMD7UuMw9g10WofagBIz87E2DXR2JcYZ7GyEULEq7r+9lhr3HrXTHz44YfYsGEDFi1ahI4dOwIA/vjjD8ydOxf5+flYuHChzsdijFV4f0BAAI4fP65vEYmJlPAl+Gj7Mmh7l9jzJdVn/7gcvVt0FnT1GyHEulTX3x5rjlvvmonNmzdj/fr1mDhxIoKDgxEcHIxJkyZh3bp1tAS5yJxJTtLIjktjAO49ysCZ5KQqLRchRNyq62+PNcetdzLx8OFDNGrUSGN7o0aN8PDhQ1OViwhAZs4Dk+5HCCG6qK6/PdYct97JRIsWLfDVV19pbP/qq6/URncQ6+ftrtuS8rruRwghuqiuvz3WHLfefSY+++wz9OvXD4cPH1bNMXH69GncvXsXv/32mznKSCykfVAI/GTeSM/O1NqGxwHw8/BB+6AQC5SOECJW1fW3x5rj1rtmokuXLrhx4waGDBmC7OxsZGdnY+jQobh+/TpefPFF85SSWISNxAYLhj+b4ZQrc5/y9vxh0wTXEYgQYt2q62+PNcdt0FRd/v7+WLhwIX766Sf89NNPWLBgAfz9/U1fOmJx/VqGY/2EWPjK1JeX9/PwwfoJsYId80wIsW7V9bfHWuPWqZnj4sWLOh+QJpMSn34tw9G7RWermo2NEGL9qutvjzXGrVMyERISAo7jKp0XguM4lJSUmKpsREBsJDbo2DDU0sUghFQz1fW3x9ri1imZSE1NNX9JCCGEEGKVdEomAgMDzV8SQgghhFglca2VSgghhJAqR8kEIYQQQoxi0BLkhBBizUr4EqvqKU+I0FEyQQipVvYlxuGj7cvUFlTyk3ljwfDpgh3DT4jQUTMHIaTa2JcYh7FrojVWZkzPzsTYNdHYlxhnsbIRYs30TiY8PDzg6emp8efl5YUXXngBXbp0wcaNG81TWkIIMVAJX4KPti/TuuaBctvsH5ejhKe5cgjRl97JxMcffwyJRIJ+/fohJiYGMTEx6NevHyQSCaKiotCgQQNMnDgR69atM0+JCSHEAGeSkzRqJEpjAO49ysCZ5KQqLRchYqB3n4k//vgDCxYswNtvv622fc2aNTh48CB++uknBAcH44svvsC4ceNMWVZBoI5bhFinzJwHJt2PEPI/eicTBw4cwKeffqqxvXv37nj33XcBAH379sX7779vmhIKCHXcIsR6ebt7mXQ/Qsj/6N3M4enpiV9//VVj+6+//gpPT08AQF5eHtzc3ExTQoGgjluEWLf2QSHwk3lrLO2sxAHw9/BB+6CQKi4ZIdZP75qJ2bNnY+LEiYiLi0Pbtm0BAPHx8fjtt9+wevVqAMChQ4fQpUsX05fWQtQ6bjGGwTfVq0E5AH/MnYk+w2ZAItGSn/n4AOHhAFfezxghxNxsJDZYMHw6xq6JBleq0yWef4cBYP6wadRsSYgB9E4mxo0bhyZNmuCrr77Crl27AAANGzbE8ePH0aFDBwBQNXeIxdmUC2o1EquP3NS+4y+vl3+QgweBnj3NUDpCiK76tQzH+gmxms2VHj6YP2waNVcSYiCDJq3q2LEjOnbsaPrSCFRWmQ5ZJ/3dte7X0L8uvN091TdeuQKkpwN//03JBCEC0K9lOHq36EwdqQkxIYOSCZ7nkZKSgszMTPA8r3Zf586dTVU2wZCX7pDFcXh5QGOt+/00fSW8y64/P20asGIFkJZm5lISQnRlI7FBx7LfVUKIwfROJs6cOYMRI0bg9u3bYEx9+heO41BSIr4JX9rVbwE/mTfSszO1TnjDPa8m1dpxy8/v2b+UTBBCCBEpvUdzvP3222jdujUuX76Mhw8f4tGjR6q/hw8fmqeUFqbsuIVSHbWUKu245e//7F8BJhMlfAn+vHEep5MT8eeN8zTzHyGEPP9tPHU9AbvjD+LU9QT6bdSB3jUTycnJ2LlzJ+rXr2+eEgmUwR23BFozoZwzI0ORhWbyericdRM+UjnNmUEIqdZoPiHD6J1MtGvXDikpKdUumYChHbeUycS9e1VWzsoo58xgACSlhqsq58xYPyGWvjSEkGqn9G9jafTbWDm9mzkmT56Md999F5s2bUJCQgIuXryo9qeP2NhYtGnTBm5ubvD29sbgwYNx/fp1tX3y8/MRFRUFLy8vuLq6IjIyEhkZGfoW22SUHbeGtOmFjg1DK+8BrkwmHj0C8vOrpIwVocWOCCFEE/02GkfvZCIyMhJXr17FW2+9hTZt2iAkJAQtW7ZU/auP48ePIyoqCmfOnMGhQ4dQVFSEXr16IS8vT7XP9OnT8euvv2LHjh04fvw47t27h6FDh+pbbMvx8AAcHJ79Pz3d0qWhxY4IIUQL+m00jt7NHKmpqSZ78v3796vd3rRpE7y9vZGQkIDOnTtDoVBgw4YN2Lp1K7p16wYA2LhxIxo3bowzZ86gffv2JiuL2XAc4OsL3L79rN9E7doWLQ4tdkQIIZrot9E4eicTgYGB5ikJAIVCATxf/wMAEhISUFRUhB49eqj2adSoEWrVqoXTp09rTSYKCgpQUFCgup2TkwM8nxuj7JwYleF5HowxvR9XFufvD+72bfD//QcYeSxDlPAlOJtyAVk5D5CpeKjWT0LCceDAqW0DALmbp9FxC4Gp3kOhEnt8qAYxij0+WEmMcjdPjd/B8vYrG4c1xGcoXWPSKZn45Zdf0KdPH9jZ2eGXX36pcN+BAwfqVsIyeJ7HtGnT0LFjRzRr1gwAkJ6eDnt7e8hkMrV9fXx8kF5Ok0FsbCxiYmI0tmdlZSFfzz4LPM9DoVCAMaZ9zQ0dyTw84AjgcXIynmSWX41mDvE3L2LLHz/jUZ5Cta25vD7Y81ZADhwCpb4AoNrm6SJDXXd/ZFZxWc3BVO+hUIk9PlSDGMUeH6wkxrru/nixdiu138qyyvtttIb4DJWbm6vTfjolE4MHD0Z6erqqk2R5jJm0KioqCpcvX8Yff/xh0OOVoqOjMWPGDNXtnJwcBAQEQC6Xw91d+zTY5eF5HhzHQS6XG/UB4Z43bbjl5sLV29vg4+jrt6RjeHvLHK0dipSUmfjf92+qJiFbM3ghfH19q6iU5mWq91CoxB4fqkGMYo8PVhTjyJ6RmLDuQ6CcheDK+220lvgM4ejoqNN+OiUTpas5zFGN884772Dv3r04ceIEatasqdru6+uLwsJCZGdnq9VOZGRklHuyc3BwgIOyw2MpEonEoDeZ4ziDH6vyfOIqLj0dXBV90Er4kmc9j1n5qYSEk4BnDAwMPGPwlXmLcrEjk7yHAib2+FANYhR7fLCSGPu36oa14z/RmGfCX4eF4KwhPkPoGo9Ba3OYCmMMkydPxu7du3Hs2DHUqVNH7f7Q0FDY2dnhyJEjiIyMBABcv34dd+7cQVhYmIVKbQALTFxVWc9kAOAZj5jIqfB2lEEulyOsQUta7IgQUq3RQnCG0SmZ+OKLL3Q+4JQpU3TeNyoqClu3bsXPP/8MNzc3VT8IqVQKJycnSKVSjBkzBjNmzICnpyfc3d0xefJkhIWFWcdIDiULJBO69jj2lnoirFYLeHt7iy6jJoQQQ9BCcPrTKZlYtmyZTgfjOE6vZGLVqlUAgK5du6pt37hxI0aPHq16bolEgsjISBQUFCAiIgJff/21zs8hCBZYn8O79EqnFZDruB8hhBBSHp2SCVPOLVFa2VVHtXF0dMTKlSuxcuVKs5ShSihrJrKygKIiwM7O7E/ZPihEp5VO29VvgQf3adw0IYQQwxlVr80Y0ykhqPZq1ABsbQHGgCqaCtyolU4JIYQQPRiUTGzYsAHNmjWDo6MjHB0d0axZM6xfv970pRMLiQTw8Xn2/yps6lCudOorUx+O6ufhQwvWEEIIMRm9R3N8/PHHWLp0qaojJACcPn0a06dPx507dzBv3jxzlNP6+fkB//1X5UuRU89kQggh5qZ3MrFq1SqsW7cOr776qmrbwIEDERwcjMmTJ1MyUR4LjOhQop7JhBBCzEnvZKKoqAitW7fW2B4aGori4mJTlUt8LDCig1StEr6EaoAIIdWS3snEyJEjsWrVKixdulRt+9q1a/Haa6+ZsmziYsGaCWJ++xLjNGbN85N5Y8Hw6dQ3hRAiegbNgLlhwwYcPHhQNXHU2bNncefOHbzxxhtq62KUTTiqNWUyce+epUtCTGxfYhzGronWGIKbnp2JsWuiqbMrIUT09E4mLl++jFatWgEAbt68CQCoUaMGatSogcuXL6v243RYyrVaoZoJUSrhS/DR9mVa5/Jgz4fhzv5xOXq36ExNHoQQ0dI7mYiLizNPScSOkglRqmwNFAbg3qMMnElOok6whBDRosUYqooymcjIAAxcpp0Ij65roOi6HyGEWCO9aybCw8MrbMI4evSosWUSJx8fgOOeJRL37/9vEiti1XRdA0XX/QghxBrpnUyEhISo3S4qKkJSUhIuX76MUaNGmbJs4mJrC3h7P6uZSEujZEIkdF0DpX1QiJZ7CSFEHPROJspbQXTu3Ll4/PixKcokXn5+z5KJe/eAEDq5iIFyDZSxa6LBPe8joURroBBCqguT9Zl4/fXX8c0335jqcOJEnTBFqTqtgVLCl+DU9QTsjj+IU9cTUMJT/x9CiIHzTGhz+vRpODo6mupw4kTJhGhVhzVQaGIuQkh59E4mhg4dqnabMYa0tDScO3cOs2fPNmXZxIeSCVET8xooNDEXIaQieicTUqlU7bZEIkHDhg0xb9489OrVy5RlEx9an4NYIZqYixBSGb2TiY0bN5qnJNUB1UwQK0QTcxFCKmNwn4mEhARcvXoVANC0aVO0bNnSlOUSJytYn4NWviRl0cRchJDK6J1MZGZm4pVXXsGxY8cgk8kAANnZ2QgPD8e2bdsgl8vNUU5xUCYT6ekAY88msRIQ6mBHtKGJuQghldF7aOjkyZORm5uLv//+Gw8fPsTDhw9x+fJl5OTkYMqUKeYppVj4+j77t7AQePjQ0qVR81vSMYxdE61Rna3sYLcvkdZkqa6UE3OVl/pyAPxpYi5CqjW9k4n9+/fj66+/RuPGjVXbmjRpgpUrV+L33383dfnExcEB8Hp+9SagfhM8z2POjyvK7WCH5x3saE6B6kk5MRdKTcSlRBNzEUJgSDLB8zzs7Ow0ttvZ2YHneVOVS7wE2Anz2r1/kKbQrYMdqZ6q08RchBD96d1nolu3bpg6dSp++OEH+D8f6vjff/9h+vTp6N69uznKKC5+fsDly4JKJhRPc3Xaz1wd7KjTp3WoDhNzEUIMo3cy8dVXX2HgwIGoXbs2AgICAAB3795Fs2bNsGXLFnOUUVwEOKJD6uSm037m6GBHnT7VCT2xEvPEXIQQw+mdTAQEBOD8+fM4fPgwrl27BgBo3LgxevToYY7yiY8Amzka+deFn9Qb97IzqnTlS5pVUR0lVoQQa2XQQl8cx6Fnz56YPHkyJk+eTImEPgSYTEgkEsQMmwpUYQe7ymZVRDXr9KlMrGg0DSHEGumcTBw9ehRNmjRBTk6Oxn0KhQJNmzbFyZMnTV0+8RHolNp9Q7pWaQc7fWZVFDtKrAgh1k7nZGL58uUYN24c3N3dNe6TSqWYMGECli5dqteTnzhxAgMGDIC/vz84jsOePXvU7h89ejQ4jlP76927t17PITgCrJlQ6tcyHOc+2Y2fpq/EqjHz8NP0lYhfuMssVew0q+L/UGJFCLF2OicTFy5cqPBE3qtXLyQkJOj15Hl5eWjRogVWrlxZ7j69e/dGWlqa6u+HH37Q6zkEp3QywbRdi1qWsoPdkDa90LFhqNk6/9Gsiv9DiRUhxNrp3AEzIyND6/wSqgPZ2iIrK0uvJ+/Tpw/69OlT4T4ODg7wVc4cKQbKZOLJEyAnByizCmt1oZxVMT07s0o7fQoRJVaEEGunczLxwgsv4PLly6hfv77W+y9evAg/5YnShI4dOwZvb294eHigW7duWLBgAby8yv9RLSgoQEFBgeq2so8Hz/N6T6rF8zwYY6adjMvREZy7O7icHPD//Qe46TYs01zMEqMOOHCYP2waJqz7ECjVNwClOn3Oe3kqOHBGlc1S8emjbb1gvCDzQbqi/MTKV+aDtvWCNeKwhviMJfYYxR4fqkGMYo5P15h0Tib69u2L2bNno3fv3nB0dFS77+nTp5gzZw769++vf0kr0Lt3bwwdOhR16tTBzZs38cEHH6BPnz44ffo0bGy0V7/HxsYiJiZGY3tWVhby8/P1en6e56FQKMAYg0Ri0MAXrWrI5bDNyUH21aso9PQ02XENYa4YddHavwlWvx6DLX/8jEd5CtV2TxcZXus0EK39myAzs/y+BLqwZHz6mDsgCl8e+Lbc+ydHvIEH9zWbOawlPmOIPUaxx4dqEKOY48vN1W1SQ44x3RruMzIy0KpVK9jY2OCdd95Bw4YNAQDXrl3DypUrUVJSgvPnz8PHx8egAnMch927d2Pw4MHl7vPPP/+gXr16OHz4cLmzbWqrmQgICMCjR4+0dh6tCM/zyMrKglwuN+kHhOvRA1xcHPjvvgNGjDDZcQ1hrhj1UcKX4GzKBWTlPIDc3Qvt6rcwWV8NIcSnq9+SjmHOjyvUpjb3k/kg5uUp6BvSVetjrCk+Q4k9RrHHh2oQo5jjy8nJgYeHBxQKRYXnUJ1rJnx8fPDnn39i4sSJiI6OhjIH4TgOERERWLlypcGJhK7q1q2LGjVqICUlpdxkwsHBAQ4ODhrbJRKJQW8yx3EGP7Zcz5uDJBkZgAA+eGaJUQ8SiQSdGrU22/EtHZ+u+rfqhj4hXfSeAdNa4jOG2GMUe3yoBjGKNT5d49FrBszAwED89ttvePToEVJSUsAYQ1BQEDw8PAwtp17+/fdfPHjwwCx9M6oS7+sDCYDkxNPIvJ4guCmTieXQdNWEEENYeip+vafTBgAPDw+0adPG6Cd//PgxUlJSVLdTU1ORlJQET09PeHp6IiYmBpGRkfD19cXNmzcxa9Ys1K9fHxEREUY/t6XsS4zD9cQDmAHg0tljmLTsX5oyuYpZ+ktHCCGmJISp+A1KJkzl3LlzCA//X6AzZswAAIwaNQqrVq3CxYsXsXnzZmRnZ8Pf3x+9evXC/PnztTZjWAPllMmDuWd9OnyeFALVeC0KSxDCl44QoaEE23oJZY0jiyYTXbt2RUX9Pw8cOFCl5TGn0lMmZzo/m6/DJ68IdiXPht1wAGJ+WIreTTvAxt46kyWhE8qXjhAhoQTbelU2FT/3fCr+3i06mz05FFdPEQErPWVyuos9AKC+Ih9318fj7vp43Fkfj78W7wXn6gps2mTh0ooPrX9BiCZaYM66CWkqfkomqkjpqZBvuzngmoeT1v0kRcVAmTVKiPHOplwQzJeOECGgBNv6CWkqfos2c1QnpadCLraRIPzl5nAtVP+SdrurwJojKcDduxYoobhlCehLR4gQ6HNVSyOMhElIU/FTMlFFyq5FwTgOuQ7/e/k5AIpaLwBIAf7916JlFSO5gL50hAiBqa9qqRNn1RPSGkfUzFFFbCQ2WDB8OlBq7Qkl5e23Xp/27D+ZmUCpWTyJ8drVbwE/mbfGa6/EAfCvJguLEQITX9XuS4xD6w+GIHJZFCZu+BiRy6LQ+oMh1OfCzHQ5r8wfNq1KkjpKJqpQv5bhWD8hFr4yb7Xtfh4+WD8hFr3CBwHKdU+odsKkhPSlI0QIlFe1xibY1InTsio7r1SLeSaqo34tw9G7RefyqwMDAoDk5Gf9JurVs3RxRUX5pdMYBufhg/nDptEwOFKtKBPssWuiwZWzcm9lCbauQxN7Ne9k8vKT/6n0vFIFKJmwgAqnTK5Z81kyQTUTZiGELx0hQmFsgq1rJ86zKRdQX1bTpGUn6iw9FT8lE0ITEPDsXxrRYTaW/tIRIiTGJNi6ds7MynlAyYTIUTIhNJRMEEKqmKEJtq6dOHUdTUWsF3XAFBplMkHNHISISglfglPXE7A7/iBOXU8QxWRQunbibFe/RRWXjFQ1qpkQmprPqwKpZoIQ0aho/Ys+LbqY5TmrYt4HU3TiJOJAyYTQUDMHIaJS2QJz68Z/gtb+TUz+nFW1eJcunTh5njfpcxLhoWRCaJTJxIMHwNOngJP2NTwIIcKny9DJOTu+wK+TvzbZc1pidVwaJUUomRAamQxwcQHy8p71mwgKsnSJCLGYEr4Ep28kIisrC/JsOcIatLSqE5QuQyfTsjNw7d4/8PX1Nfr5LLkkNY2Sqt4omRAajnvWb+L69WdNHZRMkGpKWVWfochCM3k9XM66CR+p3CxV9eai69BJxdNckzwfLd5FLIVGcwgR9Zsg1ZxYpmjWdeik1MnNJM8npCWpSfVCyYQQ0fBQUo1VVlWP51X11jC0Upehk34yHzTyr2uS5xPSktQVEeMw2eqOmjmEiIaHkmpMTFX1ugydjHl5CiQS01zXCWlJ6vJU5UgTUnWoZkKIqJmDVGNiq6qvbFXHviFdTfZcQl8d97ekY6JoviKaqGZCiKiZg1Rj1lJVr4+Khk6aeg4Goa6Oy/M85vy4wiIjTYj5UTIhRFQzQaoxa6iqN0RVDp0U4rwP1+79gzSFOJqviCZKJoRI2Wfi0aNn8024uFi6RIRUmbL9DEoTQlW9tRDavA+6Dn+1luYroo76TAiRVAq4PR8qRrUTpBqqqJ/B2nELIXN2p5EAVkbX4a/W1HxF/odqJoQqIAC4cuVZv4lGjSxdGkKqnLKqXjUDplyOR3kKfLxjBY0EsEKN/OvCT+qNe9kZomq+Is9QzYRQUb8JQmAjsUGHBq0QFtQS2U9yMH7dh4IfCUBzKGgnkUgQM2wqINCRJsQ4VDMhVDTXBCEq1jISgOZQqFjfkK6CHGliDlWxBLyQWDSZOHHiBBYvXoyEhASkpaVh9+7dGDx4sOp+xhjmzJmDdevWITs7Gx07dsSqVasQVB3Wq6DhoYSoWMNIAEus1mmNhDjSxNSqY1Jp0WaOvLw8tGjRAitXrtR6/2effYYvvvgCq1evxtmzZ+Hi4oKIiAjk5+dXeVmrHDVzEKIi9JEAYpoCvCooR5oMadMLHRuGii6RqI4Tc1k0mejTpw8WLFiAIUOGaNzHGMPy5cvx0UcfYdCgQQgODsa3336Le/fuYc+ePRYpb5WiZg5CVHQdCZCpeGCRvgr6TAFOxKs6J5WC7TORmpqK9PR09OjRQ7VNKpWiXbt2OH36NF555RWtjysoKEBBQYHqdk5ODvC8zVXfmeZ4ngdjzOQz1OnkhRcgAcD+/RfMjM9v0RirAMVn/XieR0O/OvCX+iBNoX0kAABIOAlifvpCddtP6o2YYVNNOl11eTIV9yHhylvOS32/su9VdXkPxRyjMr4zyUnIUGRV+FlIz87E6RuJ6NCgVZWW0VC6vmeCTSbS09MBAD4+PmrbfXx8VPdpExsbi5iYGI3tWVlZejeP8DwPhUIBxpjJFuLRFefoCB8AnEKBzH/+AXN1NcvzWDLGqkDxVU0Zrt37B4qnuZA6uaGRf12TloXneeTk5GDOgEn48sC3ej32iz3fgD0tRpt6wSYrjzZSiQuayevptF9mpnoNhhDeQ3MTaoym+uwq47uflaXT5yArKwuZsvJrsoQkN1e3JkbBJhOGio6OxowZM1S3c3JyEBAQALlcDnd3d72OxfM8OI6DXC63yBeAyWTgsrMhz88H6ppmieKyLB2juVF85vVb0jHM+XGFWudIU9cIKGPsExQEzslW4/kknAQ80371xAGYu/drnJm/w6zt8l41vPB/OxcjXVH+FOC+Mh+8GNJOoxyWfg+rghBjNOVnVxlfDchxOetmpfvL5XJ4e3tXup8QODo66rSfYJMJX19fAEBGRgb8/PxU2zMyMhASUv6kJg4ODnBwcNDYLpFIDPoQcxxn8GONVrMmkJ0NyX//Ac2ame1pLBpjFdAlPmsexmWp929fYhzGrf1A4+R5LzsD49Z+YNLRC8oY+7fqhj4hXVTvVabiAebsXFHhY/97lI6/bl406ygPiUSCecOnYeyaaEDLUuMMwLxhU2Fna6f18WL/DkJgMZrjs8txHNoHhcBHKq90XZmwBi0F8TroQtdyCjaaOnXqwNfXF0eOHFFty8nJwdmzZxEWFmbRslUZGh5aJfYlxqH1B0MQuSwKEzd8jMhlUWj9wRDR9ro2BUt2NCs9EsBbqtvUy1UxyqOypcbFOiTQ2pjzsyv0JeDNyaI1E48fP0ZKSorqdmpqKpKSkuDp6YlatWph2rRpWLBgAYKCglCnTh3Mnj0b/v7+anNRiBoNDzU7mhvAMPqMXjBnjYDQliuvDnMoWDtzf3aFugS8uVk0mTh37hzCw//3wir7OowaNQqbNm3CrFmzkJeXh/HjxyM7OxudOnXC/v37dW7DsXqUTJhVZVcoQplVUYh0vdI3d42AEJcrF9pqnURdVXx2q2NSadFkomvXrmCsvIFez9qg5s2bh3nz5lVpuQRDOdcENXOYhVCurq2RUGoEyi5XXravAkRcrUwMU1Wf3eqWVAq2zwShmglzE8rVtTVS1giUN5qeA+BfRTUC1FeB6ENIn10xEexoDlImmWAM0GFSHKI7oVxdWyOh1QhUx2plYhihfXbFgmomhEzZzPH4MaBQWLo0okNXKOXTZRltodUIiHm9B2JaQvvsigHVTAiZszPg6Qk8fPis34RMZukSiQpdoWinz4qHVCNArJW+n11rnoumKlAyIXQBAc+Sibt3zTpxVXVVXYdxlceQobKm6GhGP9TEEnT97FbHJcX1RcmE0AUEABcuUCdMM6Kr62csNVSWfqiJkFWWYK8dtxAeLlJkZWVBni1HWIOW1e63A5RMWAEaHlolLDGMS2hX45YYKqtLTUifFl1M8lyE6EuX2TInrJ8NgKGZvB4uZ92Ej1ReLRNhSiaEjoaHipIQr8areqisrjUhvZp3MsnzEaKvyhJsAOAZr7bkeHWdPZdGcwgc/8ILAIDMv5PK7VUvRrqMJrBWyqvxsj9Syh8hS60JUtVDZXWtCTmbcsEkz0eIvgxJnM29No1QUc2EgO1LjMOe/WuwDoAi+Roil0VZ/Oq1Kgjxqt1UhDyFd1VPTa3rD3VWzgPUl9U0yXMKTQlfgtM3Eqt9e7tQGZo4V8fZc6lmQqCUV6+X8AQA8MLjQoAxi1+9mptQr9pNRZ9+CaZWWW1PVa94qOsPtVykk4YpV6sdtmIyVh36HsNWTKbVagWmsrloKlOdZs+lZEKASl+9prnYAwCci3nICkpEXYVmyWWtq4qlpvDWdZn1qpzMR9dJw9rVb2Gy5xQKsSfNYlFRgq0LXRNmMTTrUjOHAJW+ei2wleC+oy1q5Bfjx31XkW+jzP/+Rt6BVnB3cjXquTgAnkVF4OzsTFBy4+Q9fYw19/5R25bmYo/pXeviiZ2NKKoOLTGFt75zR1TVUNnqOmmYkJu6xMDUo6TKm4tGwknAM17rY/RpEhRLsy4lEwJU9qr0cg1ndP03B8H3n6jvmHHR6OfiANgbfRTTcAfQVsv2o7Vk2N5QrrptzVWHVd0vwdATV1UNldVl0jCe1/6Dba0suVqt0IYjm5q5TszaEuyHj7Mxft2HGvvqkwgbMkmcUFEyIUBlr0on9AhCu7RcSMos1/7ewAlo/EI9o56L53koFApIpVJIJJZt9br63018+ssa1e2+tx5h2I376H4nWy2ZsOaFt6r6alzXE9fiX9fjxUatLXJyqW6ThlmyqUsMV8DlMfeJWVuCvV4iwUfblyFDkaXapuvsuWKroaJkQoDKXr0qHGxxsLaH6n7l1WuDidMAYz9kPI+CzEzA2xuwcDLRgC/BhbvHVXFnONtj2I376PqvArYlPEpsJFqv2oV+tVW2fL1bdK6yKbx1PSEt/30jlv++sUpOLuW9X9badKUva2jqsjaWOjErE2HViBy57iNyLFlDZQ6UTAhQdW1LLhv3BbkLHjjawiu/GG0zHuO0v7tG3EK/2qqofOc+2W32JEjfE5K5Ty5Cf7+qgqFNXYYmzWK7AtbGkidmG4kNOjRohUxZJry9vXWu4bVUDZW50GgOgaquS+SWjpuXcDga8Gyl1EGZhRpxC71HfGXl23/hhNmXzNZ3aJs5R80I/f2qKoYMwdV1NI42lhyOXFWs5cRcetRGpkK3slhLsy7VTAhYdWtLViodt13AT8BHsXgj1wFcqURC6FMxC+VqsKJarvKY4ypOKK+HUJTueFpZe7uxTRSmPtEKsVlR1xPu9XupOHU9wSJl1lYrZ8iIECG+/qBkQviqU1tyaaq4J9UF5nwG7soV4NYtoHZtQM+pmC0xe2JVVLvqOntieSMmKmPKqzgawaBJl/Z2UyRhpuyjIdRmqsqajpSqsm9QaeUlhBUlEiinhkqIrz+omYMInocH0KHDs///9ptqsz5TMVuCuatd9Z09sV/LcJz7ZDd+mr4S0/u+qdNzmLJ6VeiTdRnCFBMNKdvbw4JaokODVhoJgSmaKHSdHKyy4chV0Uxl6Guq7+RSVdm0VlFCqCTh1E/F2pqzhd5MSDUTRPj69gVOnnyWTEyaBFjBVMzm7LFf+ipH22qFa8cthKerTONKXFnb0z4oBNv+3Fdlc11AhCMYquoK0RRJmCk6dFdFM5W+r6muo6S0qcqmNV1XHo15aSq8pV5aa8+soZmQaiaI8PXr9+zfo0eBp08BK5iK2VRXg2VV9qPCAExYP7vCK/GqXoMDZnw9ymPqqdlLXzF/vndDlV0hmioJM7ZDt7k7cep71V1ejRMAnWvgqqrjqa4JobfUq9zO2NbQiZaSCSJ8zZoBNWs+SyTinv2oWOKEqA9zlU/Xq5zStP0gV/Vooap+v0z541v2xLV477oqWz/GlElY6aauVWPm4afpKxG/cFeF77UyidI1QTKkmUrfxE/XUVIN/OqYrcz6MEVCaA2jVSiZIMLHcf+rnSjVb0Low2fNUT5DfizKO8kZcnIxRlW+X4b++JZts/814YjWE1d5TH2FaOokTNnUpctw5NJJ1DfHdup0fEOaqfRJ/PRJPCzRtKaNKRJCocRSEeozQaxD377AmjXAvn3Al18+SzCsYPisqcqnbB++kZZqUDnKGy1R1aOFqur9MuTHt7yhe7oMpy3LlFeIuqxfYmrl9TcpjzH9bPRJ/PRJPKp6HZzymKLPilBiqQglE8Q6dO8O2Ns/Gx569SrQpInqLqEPnzW2fNpOcoay9KQ9qKL3S98fX32H7lXG1FeIFSVhph76qsvog9IqOyFWNoRZn8RPn8RDSDMJG5sQCimW8lAyQayDiwvQtStw8OCzpo5SyYSY6XuFWJmqrAa15PwO+vz46nvyrIg5rxC1JWHmGFWiS7+c0io6ISrLl6HIQjN5PVzOugkfqVytfPokfro2Hyk/55ao1SmPsbVyQopFG0EnE3PnzkVMTIzatoYNG+LatWsWKxOxoH79gIMHodixDUe7BFf6ZdR1Uieh0vckZ8hseuYihMl1dP3x1ffkWZ6qvkI019BXXa/+3+r6Evq1DC/3O1jZEGZl+fRJ/Ayp7hdSU6ixtXJCiqUsQScTANC0aVMcPnxYddvWVvBFJmYSF+iJcADO585j1tcfINfBttwTlC5XRLqw5NW1rie5gaE98HHDaXiUp8D4dR8CFq4GFdIKlbr8+Jqq6acqrxDNOe+ArrVX/VqGl3ti1Ld8uiZ+hlb3C70pVB9CjUXwZ2ZbW1v4+vpauhjEwvYlxmHs71/hpNQR9RX56PKfAnvremk9Qel6RaTLc5Z3dV0VVwe6nuRe8PRBhwatIJFIsF4isWg1qBAn16nsx9eQph/liez/BoxDXe8AwSWaxkxPborOfoaUT9erbqFX91dXgk8mkpOT4e/vD0dHR4SFhSE2Nha1atUqd/+CggIUFBSobufk5AAAeJ4Hz+vXmYrneTDG9H6cNbGGGEv4Eny8fTk4jsORQBnqX0zHW5cz4PekSLXPlVlT0LvvWwCAv3/7BmOePgbjng0r9XMpQeu8+2CMgQNw6f1p6N1/LDhtSwU7OACdO+O3x/9iwroPNRKSTEUWxq39AB7OUjx6olBt95N6I2bYVPQN6WqyuOVunmrPrY2E4+Du6Kp6//q06IJezTvhbMoFZOU8gNzdC+3qt4CNxKZK3uPTNxKRociqsNzp2Zk4fSMRHRq00umY5v6Mtq0XjBdkPkhXlL+uQ9kmJD+ZD2JenqLxfhtSRkPiy1Tcr/SzodxP3zJx4DB/2DRMqKCWa97LU8GBK/fYZcsn4Thw4DTKXLZ8HDiEBbVU20fbc1j6c16WNfyOGkrXmASdTLRr1w6bNm1Cw4YNkZaWhpiYGLz44ou4fPky3NzctD4mNjZWo58FAGRlZSE/P1+v5+d5HgqFAowxndeotzbWEOOVf1PgZe8GL7kbbga7ABfT0SEtFx3SctV3PDwDADBL4whahlMenFLhc7aqIcOX9XzxV31/XKrljSJbzSvOF1xqqN3+Ys83YE+L0aZesI6RVayuuz9erN0Kj/IU5e7j5eIBPxcvZGZmqr1/9WU1VQucPbhfdSM4srKeNSvpsl+mTLd+ClXxGZ07IApfHvi23Pvf6TUSro4uUDzNhdTJDY3860IikSAz0/i+FobEJ5W46PQ6SyUuBpWxtX8TrH49Blv++Fnt8+fpIsNrnQaitX+TCo9btnwcOARKn9Uws1LpiaHlU7LU57wsa/gdNVRubq4OewEcY8xUHcXNLjs7G4GBgVi6dCnGjBmjdR9tNRMBAQF49OgR3N3d9Xo+nudVq/mJ7QOiZA0x/nzuEKI2zgWefWDx7rl/UVehmRiG1mkGjgHnUy+pLqckAKT2rsgpfKx2hdUysAn8Pbw1joH798H+PAVJ8f8md8qzleCC3AX3nezw0NEOD51s8cDJDg8dbVFY6jXjAMhcpFj06kyNhXsMdf7W31h9aCtQzhXihB6vor5nANzd3cHpcKVqbtfv/YMl+zZUut/MfmPQ0L+uTsdkjCEnJ8fsMZ6/9Te2ndqLR09yVNs8XKR4pUM/tKrd1GzPa0h8POPx/tbFyH6SU25ThCk+izzjkZx2CzlPc+Hu5IYgv9o6Ha9s+SQcEODmi7u56eCZeb4rllRVn1GdSKXPhtKbSE5ODjw8PKBQKCo8h1pVMgEAbdq0QY8ePRAbG6vT/jk5OZBKpZW+ENrwPI/MzEx4e3sL9kRrLGuI8dT1BEQui6p0v5+mrwQAtX0lHKfqgMmX+qj/NH1luW3Jv8btxp7Y99D9Tja6382GT6nmFEIIEbSQECAx0WSH0/UcKuhmjrIeP36MmzdvYuTIkZYuCqlC+nYIM7bzmKd/Leyr64l9dT3BMYamD56gXnY+auQXwetpMbzyi+D1tAie+cWw0ZKL1/cJhJerzKiYy2JgyH2ah6KSYtjZ2MLNyQUcODAARYWFsLO312np5arwME+BlPRbQDm1KfV9a8PTRarz8YQYoykZE9/DPAVuZ/2HwpL/Jbz2tvYIrOGv12tsLsryFZUUw9nOEU+K8mFnayeY8pmKoD6jQUEWeVpBJxMzZ87EgAEDEBgYiHv37mHOnDmwsbHBq6++aumikSqk73Cw0vuikn21UUteOA6Xa7jgcg0XnctbUa2HoTgA2q4JGM/j4fOaJa0dSi3AE0CWlpEw/s9727fVs7e9EGM0JWPi8wQgLTN8ubVA5h1AqfKdvpGI/543p4Za2XwvuhD7Z1QXgk4m/v33X7z66qt48OAB5HI5OnXqhDNnzkAul1u6aKSK6TMcrPS+GYqsCvfVpqLkpSJCmB9fKIQ8uY7YCHXeASUbiQ06NGiFTJmwm1OJcQSdTGzbts3SRSACos8JSrmvagZMuX4zYJaXvHi4SPEoTyHY+fGFROgnOUKI6Qg6mSCkLH1OUMZeEZWXvOy/cIImzCGEkFIomSCkAtqSF6rCJ4QQdZRMEGIAqsInhJD/oZ4whBBCCDEKJROEEEIIMQolE4QQQggxCiUThBBCCDEKJROEEEIIMQolE4QQQggxiuiHhioXRc3Jyal037J4nkdubi4cHR1FOwWs2GOk+Kyf2GMUe3yoBjGKOT7lubOyBcZFn0zk5uYCAAICAixdFEIIIcQq5ebmQiotf6VXjlWWblg5nudx7949uLm5geP0Wxw2JycHAQEBuHv3boXruFszscdI8Vk/scco9vhQDWIUc3yMMeTm5sLf37/CWhfR10xIJBLUrFnTqGO4u7uL7gNSlthjpPisn9hjFHt8qAYxijW+imoklMTVuEMIIYSQKkfJBCGEEEKMQslEBRwcHDBnzhw4ODhYuihmI/YYKT7rJ/YYxR4fqkGMYo9PF6LvgEkIIYQQ86KaCUIIIYQYhZIJQgghhBiFkglCCCGEGIWSCUIIIYQYhZKJCqxcuRK1a9eGo6Mj2rVrh7/++svSRTLYiRMnMGDAAPj7+4PjOOzZs0ftfsYYPv74Y/j5+cHJyQk9evRAcnKyxcqrj9jYWLRp0wZubm7w9vbG4MGDcf36dbV98vPzERUVBS8vL7i6uiIyMhIZGRkWK7O+Vq1aheDgYNWkOGFhYfj9999V91t7fGUtWrQIHMdh2rRpqm3WHuPcuXPBcZzaX6NGjVT3W3t8APDff//h9ddfh5eXF5ycnNC8eXOcO3dOdb81/87Url1b4/3jOA5RUVGASN4/Y1AyUY7t27djxowZmDNnDs6fP48WLVogIiICmZmZli6aQfLy8tCiRQusXLlS6/2fffYZvvjiC6xevRpnz56Fi4sLIiIikJ+fX+Vl1dfx48cRFRWFM2fO4NChQygqKkKvXr2Ql5en2mf69On49ddfsWPHDhw/fhz37t3D0KFDLVpufdSsWROLFi1CQkICzp07h27dumHQoEH4+++/ARHEV1p8fDzWrFmD4OBgte1iiLFp06ZIS0tT/f3xxx+q+6w9vkePHqFjx46ws7PD77//jitXruDzzz+Hh4eHah9r/p2Jj49Xe+8OHToEAHj55ZcBEbx/RmNEq7Zt27KoqCjV7ZKSEubv789iY2MtWi5TAMB2796tus3zPPP19WWLFy9WbcvOzmYODg7shx9+sFApDZeZmckAsOPHjzP2PBY7Ozu2Y8cO1T5Xr15lANjp06ctWFLjeHh4sPXr14sqvtzcXBYUFMQOHTrEunTpwqZOncqYSN7DOXPmsBYtWmi9Twzxvffee6xTp07l3i+235mpU6eyevXqMZ7nRfH+GYtqJrQoLCxEQkICevToodomkUjQo0cPnD592qJlM4fU1FSkp6erxSuVStGuXTurjFehUAAAPD09AQAJCQkoKipSi69Ro0aoVauWVcZXUlKCbdu2IS8vD2FhYaKKLyoqCv369VOLBSJ6D5OTk+Hv74+6devitddew507dwCRxPfLL7+gdevWePnll+Ht7Y2WLVti3bp1qvvF9DtTWFiILVu24K233gLHcaJ4/4xFyYQW9+/fR0lJCXx8fNS2+/j4ID093WLlMhdlTGKIl+d5TJs2DR07dkSzZs2A5/HZ29tDJpOp7Wtt8V26dAmurq5wcHDA22+/jd27d6NJkyaiiW/btm04f/48YmNjNe4TQ4zt2rXDpk2bsH//fqxatQqpqal48cUXkZubK4r4/vnnH6xatQpBQUE4cOAAJk6ciClTpmDz5s2AyH5n9uzZg+zsbIwePRoQyefTWKJfNZRUL1FRUbh8+bJaW7RYNGzYEElJSVAoFNi5cydGjRqF48ePW7pYJnH37l1MnToVhw4dgqOjo6WLYxZ9+vRR/T84OBjt2rVDYGAgfvzxRzg5OVm0bKbA8zxat26NTz75BADQsmVLXL58GatXr8aoUaMsXTyT2rBhA/r06QN/f39LF0UwqGZCixo1asDGxkajJ25GRgZ8fX0tVi5zUcZk7fG+88472Lt3L+Li4tSWnff19UVhYSGys7PV9re2+Ozt7VG/fn2EhoYiNjYWLVq0wIoVK0QRX0JCAjIzM9GqVSvY2trC1tYWx48fxxdffAFbW1v4+PhYfYxlyWQyNGjQACkpKaJ4D/38/NCkSRO1bY0bN1Y15Yjld+b27ds4fPgwxo4dq9omhvfPWJRMaGFvb4/Q0FAcOXJEtY3neRw5cgRhYWEWLZs51KlTB76+vmrx5uTk4OzZs1YRL2MM77zzDnbv3o2jR4+iTp06aveHhobCzs5OLb7r16/jzp07VhFfeXieR0FBgSji6969Oy5duoSkpCTVX+vWrfHaa6+p/m/tMZb1+PFj3Lx5E35+fqJ4Dzt27KgxJPvGjRsIDAwERPA7o7Rx40Z4e3ujX79+qm1ieP+MZukeoEK1bds25uDgwDZt2sSuXLnCxo8fz2QyGUtPT7d00QySm5vLEhMTWWJiIgPAli5dyhITE9nt27cZY4wtWrSIyWQy9vPPP7OLFy+yQYMGsTp16rCnT59auuiVmjhxIpNKpezYsWMsLS1N9ffkyRPVPm+//TarVasWO3r0KDt37hwLCwtjYWFhFi23Pt5//312/Phxlpqayi5evMjef/99xnEcO3jwIGMiiE+b0qM5mAhifPfdd9mxY8dYamoqO3XqFOvRowerUaMGy8zMZEwE8f3111/M1taWLVy4kCUnJ7Pvv/+eOTs7sy1btqj2sebfGfZ8VF+tWrXYe++9p3Gftb9/xqJkogJffvklq1WrFrO3t2dt27ZlZ86csXSRDBYXF8cAaPyNGjWKsefDtmbPns18fHyYg4MD6969O7t+/bqli60TbXEBYBs3blTt8/TpUzZp0iTm4eHBnJ2d2ZAhQ1haWppFy62Pt956iwUGBjJ7e3sml8tZ9+7dVYkEE0F82pRNJqw9xuHDhzM/Pz9mb2/PXnjhBTZ8+HCWkpKiut/a42OMsV9//ZU1a9aMOTg4sEaNGrG1a9eq3W/NvzOMMXbgwAEGQGuZxfD+GYOWICeEEEKIUajPBCGEEEKMQskEIYQQQoxCyQQhhBBCjELJBCGEEEKMQskEIYQQQoxCyQQhhBBCjELJBCGEEEKMQskEIYQQQoxCyQQhRPBq166N5cuXW7oYhJByUDJBCFEzevRoDB48GADQtWtXTJs2rcqee9OmTZDJZBrb4+PjMX78+CorByFEP7aWLgAhRPwKCwthb29v8OPlcrlJy0MIMS2qmSCEaDV69GgcP34cK1asAMdx4DgOt27dAgBcvnwZffr0gaurK3x8fDBy5Ejcv39f9diuXbvinXfewbRp01CjRg1EREQAAJYuXYrmzZvDxcUFAQEBmDRpEh4/fgwAOHbsGN58800oFArV882dOxfQ0sxx584dDBo0CK6urnB3d8ewYcOQkZGhun/u3LkICQnBd999h9q1a0MqleKVV15Bbm5ulb1+hFQnlEwQQrRasWIFwsLCMG7cOKSlpSEtLQ0BAQHIzs5Gt27d0LJlS5w7dw779+9HRkYGhg0bpvb4zZs3w97eHqdOncLq1asBABKJBF988QX+/vtvbN68GUePHsWsWbMAAB06dMDy5cvh7u6uer6ZM2dqlIvneQwaNAgPHz7E8ePHcejQIfzzzz8YPny42n43b97Enj17sHfvXuzduxfHjx/HokWLzPqaEVJdUTMHIUQrqVQKe3t7ODs7w9fXV7X9q6++QsuWLfHJJ5+otn3zzTcICAjAjRs30KBBAwBAUFAQPvvsM7Vjlu5/Ubt2bSxYsABvv/02vv76a9jb20MqlYLjOLXnK+vIkSO4dOkSUlNTERAQAAD49ttv0bRpU8THx6NNmzbA86Rj06ZNcHNzAwCMHDkSR44cwcKFC032GhFCnqGaCUKIXi5cuIC4uDi4urqq/ho1agQ8rw1QCg0N1Xjs4cOH0b17d7zwwgtwc3PDyJEj8eDBAzx58kTn57969SoCAgJUiQQANGnSBDKZDFevXlVtq127tiqRAAA/Pz9kZmYaFDMhpGJUM0EI0cvjx48xYMAAfPrppxr3+fn5qf7v4uKidt+tW7fQv39/TJw4EQsXLoSnpyf++OMPjBkzBoWFhXB2djZpOe3s7NRucxwHnudN+hyEkGcomSCElMve3h4lJSVq21q1aoWffvoJtWvXhq2t7j8hCQkJ4Hken3/+OSSSZ5WiP/74Y6XPV1bjxo1x9+5d3L17V1U7ceXKFWRnZ6NJkyZ6REcIMRVq5iCElKt27do4e/Ysbt26hfv374PneURFReHhw4d49dVXER8fj5s3b+LAgQN48803K0wE6tevj6KiInz55Zf4559/8N1336k6ZpZ+vsePH+PIkSO4f/++1uaPHj16oHnz5njttddw/vx5/PXXX3jjjTfQpUsXtG7d2iyvAyGkYpRMEELKNXPmTNjY2KBJkyaQy+W4c+cO/P39cerUKZSUlKBXr15o3rw5pk2bBplMpqpx0KZFixZYunQpPv30UzRr1gzff/89YmNj1fbp0KED3n77bQwfPhxyuVyjAyeeN1f8/PPP8PDwQOfOndGjRw/UrVsX27dvN8trQAipHMcYY5YuBCGEEEKsF9VMEEIIIcQolEwQQgghxCiUTBBCCCHEKJRMEEIIIcQolEwQQgghxCiUTBBCCCHEKJRMEEIIIcQolEwQQgghxCiUTBBCCCHEKJRMEEIIIcQolEwQQgghxCj/D0c2bifXsR/WAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "ax.scatter(iterations, coupling_loss_db, label=\"Samples\")\n", + "ax.plot(iterations, best_loss, color=\"red\", label=\"Best so far\")\n", + "ax.set_xlabel(\"Iteration\")\n", + "ax.set_ylabel(\"Coupling loss (dB)\")\n", + "ax.set_title(\"Bayesian optimization progress\")\n", + "ax.legend()\n", + "plt.grid(True, alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "135ed68e", + "metadata": {}, + "source": [ + "## Visualizing the Optimized Design\n", + "\n", + "We reconstruct the best-performing structure, inspect its geometry, and analyze the spectral response to confirm the optimizer's progress." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d8151e0b", + "metadata": {}, + "outputs": [], + "source": [ + "best_params = {name: float(value) for name, value in best[\"params\"].items()}\n", + "best_widths_si = np.full(num_elements, best_params[\"width_si\"])\n", + "best_gaps_si = np.full(num_elements, best_params[\"gap_si\"])\n", + "best_widths_sin = np.full(num_elements, best_params[\"width_sin\"])\n", + "best_gaps_sin = np.full(num_elements, best_params[\"gap_sin\"])\n", + "best_first_gap_si = best_params[\"first_gap_si\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "f3191db5", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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QUEBMjIysH//fvztb38DAIwcORK//vorHnvsMbRv3x45OTnYunUrTp8+Xe2N1b/++ituueUWdO/eHXPnzoXBYMDx48fx3Xff2euoqorbbrsNu3fvxoMPPoguXbrg4MGDWLRoEX777TesX7/eXnfOnDmYPXs2rrvuOsydOxd6vR579+7F9u3bMWTIELz++ut47LHHEBQUhOnTpwMAoqKiqmzfihUrMHbsWPTt2xcLFixAdnY23njjDXz33Xc4cOCAU8+ZoihISUlBYmIiXnnlFXz99dd49dVXERsbi0ceeaTa+MyePRtz5sxBcnIyHnnkERw9ehTLli3Djz/+iO+++w46nQ6vv/46PvjgA3z22WdYtmwZgoKC0L17d5fbe+ihh3Du3Dls3boVH374ocs6q1atQmFhIR566CFIkoSFCxdixIgR+P333+29ML/++iv69++PVq1a4dlnn0VgYCDWrl2L1NRU/L//9/9w++23V3lMQgjcdttt2LFjB8aNG4eePXti8+bNePrpp3H27FksWrTIqf6uXbuwZs0aPP744zAYDFi6dCmGDh2KH374AfHx8RgxYgR+++03rF69GosWLULz5s0BAJGRkdV+t4899hiio6MxZ84cfP/993jnnXcQFhaGPXv2oG3btnjhhRewceNGvPzyy4iPj0daWprL7URGRlb6Ls1mM5588kno9Xp72fbt23HzzTejd+/emDVrFmRZxvvvv4+bbroJ3377Lfr16wcAOHjwIIYMGYLIyEjMnj0bFosFs2bNqvZ8LG/ZsmV49NFHMXDgQDz55JM4efIkUlNTER4ejtatW1eqP2/ePOj1ejz11FMwGo3Q6/U4dOgQ1q9fjzvvvBMdOnRAdnY23n77bQwaNAiHDh1CTEwMunTpgrlz52LmzJl48MEHMXDgQACo8fePO+fXl19+iVGjRiEhIQELFixAbm4uxo0bh1atWrn1HezZswfx8fFOvYY33HAD2rRpg5UrV1Y6P1euXInY2FgkJSUBAIxGIwoLC93al+18U1UVP//8M/7xj39UqtOvXz9s2bIFhYWFCA4Otpf37t0bGzZsQEFBAUJCQtzaHzWwps4siWzy8/MFADF8+HC31wEgZFkWv/76q1N5amqq0Ov14sSJE/ayc+fOieDgYHH99dfby3r06CGGDRtW5fZzc3Nrfc/WokWLBABx/vz5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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "best_sim = make_simulation(\n", + " best_widths_si,\n", + " best_gaps_si,\n", + " best_widths_sin,\n", + " best_gaps_sin,\n", + " first_gap_si=best_first_gap_si,\n", + " include_field_monitor=True,\n", + ")\n", + "ax = best_sim.plot(y=0)\n", + "ax.set_title(\"Cross-section of the optimized grating (y=0)\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ef0bcf39", + "metadata": {}, + "outputs": [], + "source": [ + "best_data = web.run(best_sim, task_name=\"gc_bopt_final\", verbose=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "3bd4eae3", + "metadata": {}, + "outputs": [], + "source": [ + "power_da = get_mode_monitor_power(best_data)\n", + "freqs = power_da.coords[\"f\"].values\n", + "wavelengths = td.C_0 / freqs\n", + "power = np.squeeze(power_da.data)\n", + "power_db = 10 * np.log10(power)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "0ad87dab", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "ax.plot(wavelengths, power_db)\n", + "ax.set_xlabel(\"Wavelength (µm)\")\n", + "ax.set_ylabel(\"Transmission (dB)\")\n", + "ax.set_title(\"Mode monitor spectrum (optimized design)\")\n", + "ax.grid(True, alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "1984bbfe", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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0kunrPvNb36TG264gVNPPZWzzjoLz/P43Oc+x2te8xr++7//m3e+850zbqtSqfDAAw/wj//4jzMKxvliZ3x27aZcLnPNNddAaBlKcsUVV8z7F73PfOYzKGWCkZJMvkcYDDsbI+R2YU466aRpLRaZTGaHz2c60un0zp7CvJFKpXb2FNhtt914+9vf3vbtaK05++yzuf/++7nrrrs45ZRTOO+88/jQhz7EqlWreOtb39q0/rHHHsu6detYtGhRvOw973kPhx12GFdeeeVWhdyWLVsA6O7unrd9KJVK5PP5eRtvIWPbNrY9v7f0XeXL4q7ErnCPWHCYZIe2YlyrC5DpYkj+/Oc/86Y3vYne3l4ymQwveclL+Na3vjWrMT/96U+z1157kc1mednLXsbPfvazWc9ncoxc5Br+xS9+wQc+8AEWL15MPp/njW98Y/wwj973yCOPcN9998Xuw6SVYXR0lIsuuoiVK1eSTqfZe++9ueGGG5osBNGx+Jd/+Zd4H9LpNC996Uv59a9/3TTPgYEB3vnOd7JixQrS6TTLli3jDW94Q1MsTTL+5Sc/+QkvfelLAXjnO98Zz/GOO+7gqquuwnGcpv2JOPfcc+nu7qZarc76GG4Lt99+O0IIfve730157Z//+Z+xLIvnnntuq+NcdtllfO1rX+OrX/0qb3jDGxBC8KlPfYpzzjmHs846i/vuu69p/Re84AVNIo5QxL/uda9j/fr1TExMTLutq6++mtWrVwNwySWXIIRoir363e9+x0knnURnZycdHR0cd9xx/PKXv2waIzqv7rvvPt73vvfR39/PihUrWm5vps8uyaOPPsqxxx5LLpdjt91248Ybb5wyVq1W46qrrmLvvfcmnU6zcuVKLr30Umq12gxHt8Fdd93Fi1/8YrLZLIsWLeLtb3/7lM/n7LPPpqOjg6effpoTTjiBfD7P8uXLufbaa9Fhvaw1a9awePFiAK655pp4n66++ur4GE+OkYvc5XfddRcHHngg2WyWI444gocffhiAT33qU+y9995kMhmOOeaYKXFlk2PkjjnmmGld/8ljO5trN1rv7LPPpquri+7ubs466yxGR0dndVwBHnnkEV796leTzWZZsWIFH/3oR6e1IH7/+9/nla98Jfl8nkKhwMknn8wjjzzStM623iMi1q5dyymnnEI+n6e/v5+LL76YH/7wh1PiU6PYzNmcd88rdBvcqsa1GmMscrswY2NjDA4ONi2b/CCNeOSRRzjyyCPZbbfd+NCHPkQ+n+crX/kKp556Kl/72td44xvfOO12/uu//ovzzjuPV7ziFVx00UU8/fTTnHLKKfT29rJy5co5z/+CCy6gp6eHq666ijVr1nDzzTfz/ve/ny9/+csA3HzzzVxwwQV0dHTwj//4jwAsWbIEQhfS0UcfzXPPPcd5553HqlWruP/++7n88svZuHEjN998c9O2vvjFLzIxMcF5552HEIIbb7yR0047jaeffjq2Kpx++uk88sgjXHDBBey+++5s3ryZe+65h3Xr1rUM6D7ggAO49tprufLKKzn33HN55StfCcArXvEKjjrqKK699lq+/OUvN7kJ6/U6X/3qVzn99NPnbDV1XXfK5w6Qz+fJZrO86U1v4vzzz+fOO+/khS98YdM6d955J8cccwy77bbbjNv4xCc+wcc//nG+9rWv8frXvz5eLoTgtttuQ0rJqaeeys9//nNe8IIXzDjWwMAAuVyOXC437TqnnXYa3d3dXHzxxZxxxhm87nWvo6OjA8Jz95WvfCWdnZ1ceumlOI7Dpz71KY455hjuu+8+Dj/88Kax3ve+97F48WKuvPJKSqVSy+3N9NlFjIyMcOKJJ3Laaafx5je/ma9+9atcdtllHHzwwZx00kkAKKU45ZRT+PnPf865557LAQccwMMPP8y//du/8fjjj281WeOOO+7gne98Jy996Uu57rrr2LRpEx//+Mf5xS9+we9+97sm66Tv+5x44om8/OUv58Ybb+QHP/gBV111FZ7nce2117J48WJuvfVW3vve9/LGN76R0047DYBDDjlkxjn87Gc/41vf+hbnn38+ANdddx2vf/3rufTSS/nkJz/J+973PkZGRrjxxht517vexY9//ONpx/rHf/xH/vZv/7Zp2Re+8AV++MMf0t/fD9tw7WqtecMb3sDPf/5z3vOe93DAAQfwjW98g7POOmvG/YkYGBjg2GOPxfO8+J736U9/mmw2O2Xdz3/+85x11lmccMIJ3HDDDZTLZW699VaOOuoofve738XX/7beIwitwq9+9avZuHEjF154IUuXLuWLX/wi9957b8v1Z3PeGQzbhDbsctx+++06DA+d8qO11s8884wG9O233x6/57jjjtMHH3ywrlar8TKllH7FK16h99lnn3jZvffeqwF97733aq21rtfrur+/Xx922GG6VqvF633605/WgD766KO3Ot/Vq1frs846a8r8jz/+eK2UipdffPHF2rIsPTo6Gi97wQte0HIbH/nIR3Q+n9ePP/540/IPfehD2rIsvW7duqZj0dfXp4eHh+P1vvnNb2pAf/vb39Zaaz0yMqIBfdNNN824L0cffXTTfH79619POdYRRxxxhD788MObln39619vOr4z0Wrc1atXT/vZX3fddfF6Z5xxhl6+fLn2fT9e9tvf/nbKmNHxmc185sITTzyhM5mMfsc73rHVdaO5TP4MTj31VJ1KpfRTTz0VL9uwYYMuFAr6Va96VbwsOq+OOuoo7XneVrc302d39NFHa0B/7nOfi5fVajW9dOlSffrpp8fLPv/5z2sppf7Zz37W9P7bbrtNA/oXv/jFtNuPrq2DDjpIVyqVePl3vvMdDegrr7wyXnbWWWdpQF9wwQXxMqWUPvnkk3UqldJbtmzRWmu9ZcsWDeirrrpqyvauuuqq+B4RAeh0Oq2feeaZeNmnPvUpDeilS5fq8fHxePnll1+ugaZ1zzrrLL169epp9/EXv/iFdhxHv+td74qXzfbavfvuuzWgb7zxxngdz/P0K1/5ymk/tyQXXXSRBvSvfvWreNnmzZt1V1dX035MTEzo7u5ufc455zS9f2BgQHd1dcXL53qP+NjHPqYBfffdd8fLKpWK3n///adce7M9755PXHrppfp9L91P1z985rz+jH3obzSgBwcHd/Yu7nSMa3UX5hOf+AT33HNP008rhoeH+fGPf8yb3/xmJiYmGBwcZHBwkKGhIU444QSeeOKJaV1tDz74IJs3b+Y973lPU+xH5O7YHs4999wmV88rX/lKfN9n7dq1W33vXXfdxStf+Up6enri/RkcHOT444/H931++tOfNq3/lre8hZ6enqZtATz99NMAZLNZUqkUP/nJTxgZGdmu/Yo488wz+dWvfsVTTz0VL7vzzjtZuXIlRx999JzHPfzww6d87vfccw9nnHFG07Y3bNjQ9K3/zjvvJJvNcvrpp2/HXs2ecrnMX//1X5PNZrn++uvnNIbv+/zP//wPp556KnvuuWe8fNmyZfzN3/wNP//5zxkfH296zznnnINlWds9/46OjqZYxFQqxcte9rL4nCE8Dw844AD233//pvPw1a9+NcC0VhcS19b73ve+JuvsySefzP777893v/vdKe9JWncjt2i9Xt+mzODJHHfccU3WpMjCefrpp1MoFKYsT+7/TAwMDPCmN72Jww47jE9+8pPx8tleu9/73vewbZv3vve98Xsty+KCCy6Y1fa/973v8fKXv5yXvexl8bLFixfztre9rWm9e+65h9HRUc4444ym+ViWxeGHHx5/hnO9R/zgBz9gt91245RTTomXZTIZzjnnnJbrz+a8e74RFATW8/6zrfz0pz/lr/7qr1i+fHnL8kdnn332VqsFDA8P87a3vY3Ozk66u7t597vfTbFY3O5jtD0Y1+ouzMte9rJZlWd48skn0Vrz4Q9/mA9/+MMt19m8eXNLd1skqvbZZ5+m5Y7jND1Y58KqVaua/o6E1mxukk888QR/+MMf4pigyWzevHmbtpVOp7nhhhv44Ac/yJIlS3j5y1/O61//es4880yWLl26jXsW8Ja3vIWLLrqIO++8kyuvvJKxsTG+853vcPHFF29XPa9FixZx/PHHz7jOa17zGpYtW8add97Jcccdh1KK//f//h9veMMbmh7O7cL3fd761rfy6KOP8v3vf3/OGbVbtmyhXC6z3377TXntgAMOQCnFs88+2+TenZzJPVdWrFgx5XPq6enhD3/4Q/z3E088wZ/+9KdZn4dJomur1b7tv//+/PznP29aJqWccs3tu+++EMbHzZXJ10b0BW1y2ES0fDbXp+d5vPnNb8b3fb7+9a83JTzN9tpdu3Yty5Yti13sEa2OVyvWrl07xe3e6v1PPPEEQCy+J9PZ2QnbcY9Yu3Yte+2115Rzae+99265/mzOO0N7KJVKHHroobzrXe+KQxMmc+KJJ3L77bfHf09O5nvb297Gxo0bueeee3Bdl3e+852ce+65fPGLX2z7/KfDCLnnAVFw79///d9zwgkntFxnuptKO5nOaqJn0exYKcVrXvOalmUwSDzgtmVbF110EX/1V3/F3XffzQ9/+EM+/OEPc9111/HjH/94SqzZbOjp6eH1r399LOS++tWvUqvVdkjGqWVZ/M3f/A2f+cxn+OQnP8kvfvELNmzYsEO2TWgV+853vsOdd9457QOyXbSKgZoLszlnlFIcfPDB/Ou//mvLdbcnhnRHMd1+bs/1eckll/DAAw/wv//7v1MSTrb12m030f3x85//fEtBlsz0ne97RCu257gvWDQw31mmcxjvpJNO2mocYjqdnla4/+lPf+IHP/gBv/71r2Mjy3/8x3/wute9jn/5l39pS4mo2WCE3POA6Fu84zhbteRMJsokfOKJJ5oeyK7r8swzz3DooYfO82ybmc5ytddee1EsFrd5f7bGXnvtxQc/+EE++MEP8sQTT3DYYYfxsY99jC984QvbNL+IM888kze84Q38+te/jpMPtpYcMF+ceeaZfOxjH+Pb3/423//+91m8ePG0Qn4+ueSSS7j99tu5+eabm9y9c2Hx4sXkcjkee+yxKa/9+c9/Rko5Z7E0H10O9tprLx566CGOO+64bR4vurYee+yxKWL3sccei1+PUErx9NNPNwmdxx9/HMIMb+Zpn7aXL33pS9x8883cfPPNLUMIZnvtrl69mh/96EcUi8Umq1yrc2G690fWtiST37/XXnsB0N/fP6v7ybbeI1avXs2jjz6K1rrp83nyySdntR+GXYuf/OQn9Pf309PTw6tf/Wo++tGP0tfXB8ADDzxAd3d3k6fs+OOPR0rJr371qxmTCtuJiZF7HtDf388xxxzDpz71KTZu3Djl9VYlMiJe8pKXsHjxYm677Tbq9Xq8/I477timMgBzJZ/Pt9zOm9/8Zh544AF++MMfTnltdHQUz/O2aTvlcnlKOZC99tqLQqEwYxmJqEbZdMfipJNOYtGiRdxwww3cd999O8wiRpiteMghh/Cf//mffO1rX+Otb33rvNcRm8xNN93Ev/zLv/AP//APXHjhhds9nmVZvPa1r+Wb3/xmk/tw06ZNfPGLX+Soo46KXV/bytY+u9nw5je/meeee47PfOYzU16rVCrTZs0SXlv9/f3cdtttTefY97//ff70pz9x8sknT3nPLbfcEv9fa80tt9yC4zgcd9xxAHFm8I64Nlvxxz/+kb/927/l7W9/+7Sf/2yv3de97nV4nsett94av+77Pv/xH/8xq7m87nWv45e//CX/93//Fy/bsmULd955Z9N6J5xwAp2dnfzzP/8zrutOGSe6P871HnHCCSfw3HPPNZV6qlarLc+Zv1imTeHazp+wPND4+HjTz2xLA03mxBNP5HOf+xw/+tGP4nv6SSedhO/7EMaFRtnZEbZt09vby8DAwPYfpzliLHLPEz7xiU9w1FFHcfDBB3POOeew5557smnTJh544AHWr1/PQw891PJ9juPw0Y9+lPPOO49Xv/rVvOUtb+GZZ57h9ttv3+4Yudnw4he/mFtvvZWPfvSj7L333vT39/PqV7+aSy65hG9961u8/vWv5+yzz+bFL34xpVKJhx9+mK9+9ausWbNm2lIsrXj88cc57rjjePOb38yBBx6Ibdt84xvfYNOmTVMK3ybZa6+96O7u5rbbbqNQKJDP5zn88MPjOC3HcXjrW9/KLbfcgmVZ222hAnjuuedafvvv6Ojg1FNPbVp25pln8vd///cAbReR3/jGN7j00kvZZ599OOCAA6bM8TWveU1cPmZb+OhHP8o999zDUUcdxfve9z5s2+ZTn/oUtVptu+prbe2zmw3veMc7+MpXvsJ73vMe7r33Xo488kh83+fPf/4zX/nKV/jhD384bRyr4zjccMMNvPOd7+Too4/mjDPOiMuP7L777lx88cVN62cyGX7wgx9w1llncfjhh/P973+f7373u/zDP/xDHG+WzWY58MAD+fKXv8y+++5Lb28vBx100A7rGxsVfX7Vq1415fN/xStewZ577jnra/ev/uqvOPLII/nQhz7EmjVrOPDAA/n617/O2NjYrOZy6aWX8vnPf54TTzyRCy+8MC4/snr16qZ4s87OTm699Vbe8Y538KIXvYi3vvWtLF68mHXr1vHd736XI488kltuuWXO94jzzjuPW265hTPOOIMLL7wwjl2NElx2BSvqrsBckhNmM97NN9/MTTfd1PTaVVddFddX3BaSn/PBBx/MIYccwl577cVPfvKT+MvUrogRcs8TDjzwQB588EGuueYa7rjjDoaGhujv7+eFL3whV1555YzvPffcc/F9n5tuuolLLrmEgw8+mG9961vTJk7MJ1deeSVr167lxhtvZGJigqOPPppXv/rV5HI57rvvPv75n/+Zu+66i8997nN0dnay7777cs0112xzRu3KlSs544wz+NGPfsTnP/95bNtm//335ytf+cqMWZ6O4/DZz36Wyy+/nPe85z14nsftt9/eJAbOPPNMbrnlFo477jiWLVu2XccD4Pe//z3veMc7pixfvXr1FCH3tre9jcsuu4y99tqrKXuvHURfBp544omW87v33nvnJORe8IIX8LOf/YzLL7+c6667DqUUhx9+OF/4whdaBrPPltl8dltDSsndd9/Nv/3bv/G5z32Ob3zjG+RyOfbcc08uvPDCrcZ7nX322eRy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ixejqqoKw4YNQ35+PpYtW4aysjLOWCUiIqKsljGB3DfffINXXnkFADB16lTDfbt27cLMmTMBAI2NjWhpadHumzt3Lo4ePYpVq1bB4/Fg6tSpqK2tNUyAeOyxx+BwOFBZWYmuri5UVFRg/fr1cZ1foGvK65W7TBAREZFMge+xVI0HZteqXIrI7JHdGePrr7/uYxMeiIioP/vqq69w0kknST1GdXU1Xl+3G+cNvczWdntFDzYe/hNaWlqiDsPq6zImI5fpiouL8dVXX2HIkCEZuHySPIFJHl999VXEiSdkL1739OG1Tx9e+9QQQuDHH39EcXFxuk+FbMBALkYOh0P6Xy6ZLD8/nx+sacDrnj689unDay9fQUFByo4lJKzEwJUdghjIERERkVR2x12M44K4RAARERFRlmJGjiJyuVxYvXp1SmrqURCve/rw2qcPr33fJAS7VmXirFUiIiKSorq6Gq8+sRtlBfbPWv2Hh7NWwYwcERERycTJDnIxkCMiIiKJRJJrbJu3SCpOdiAiIiLKUgzk+pl169ahpKQEAwcORGlpKT744IOI+2/fvh0TJkzAwIEDMWnSJLzxxhuG+4UQWLVqFUaNGoVBgwahvLwchw4dkvwsssuaNWugKIrhNmHChIiP4XVPzNtvv40rrrgCxcXFUBQFO3fuNNyf6HWL9r7p7OzE0qVLUVhYiLy8PFRWVqK5udn255fJol37hQsXhr0PLrnkkqjt8tpnv8BkB7tvpGIg1488//zzqKqqwurVq7F//35MmTIFFRUVOHLkiOn+7733HubNm4fFixfjww8/xJw5czBnzhx8/PHH2j4PPfQQHn/8cTz55JN4//33ccIJJ6CiogKdnZ0pfGaZ74wzzsC3336r3d59913LfXndE9fR0YEpU6Zg3bp1pvcnct1ied+sWLECr776KrZv3449e/bg8OHDuPrqq6U8x0wV7doDwCWXXGJ4Hzz33HMR2+S17zuEsP9GKs5a7UdKS0tx1lln4YknngAA+Hw+jB49GsuWLcPdd98dtv/cuXPR0dGB1157Tdt29tlnY+rUqXjyySchhEBxcTF+//vf48477wQAtLW1oaioCJs3b8ZvfvObFD67zLVmzRrs3LkTBw4ciGl/Xnd7KIqCl156CXPmzAH82bhErlu0901bWxtGjBiBrVu34pprrgEAfPrppzj99NNR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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = best_data.plot_field(\"field_monitor\", \"Ey\", \"abs^2\")\n", + "ax.set_title(\"Field intensity |Ey|^2 for the optimized design\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "f2c434de", + "metadata": {}, + "source": [ + "The optimized geometry increases overlap between the free-space beam and the guided mode, yielding a stronger steady-state field inside the silicon nitride layer. In the next notebook we leverage this design as the starting point for gradient-based refinement." + ] + }, + { + "cell_type": "markdown", + "id": "303207c7", + "metadata": {}, + "source": [ + "## Exporting the Best Design\n", + "\n", + "We serialize the best uniform grating parameters so the adjoint notebook can continue from this design without rerunning the Bayesian search." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "00274144", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saved best design to /home/yannick/flexcompute/worktrees/seminar_notebooks/docs/notebooks/2025-10-09-invdes-seminar/results/gc_bayes_opt_best.json\n" + ] + } + ], + "source": [ + "import json\n", + "from pathlib import Path\n", + "\n", + "export_path = Path(\"./results/gc_bayes_opt_best.json\")\n", + "export_path.parent.mkdir(parents=True, exist_ok=True)\n", + "\n", + "export_payload = {\n", + " \"width_si\": best_params[\"width_si\"],\n", + " \"gap_si\": best_params[\"gap_si\"],\n", + " \"width_sin\": best_params[\"width_sin\"],\n", + " \"gap_sin\": best_params[\"gap_sin\"],\n", + " \"first_gap_si\": best_params[\"first_gap_si\"],\n", + " \"target_power\": float(best[\"target\"]),\n", + " \"coupling_loss_db\": float(best_loss_db),\n", + "}\n", + "\n", + "with export_path.open(\"w\", encoding=\"utf-8\") as f:\n", + " json.dump(export_payload, f, indent=2)\n", + "\n", + "print(f\"Saved best design to {export_path.resolve()}\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/2025-10-09-invdes-seminar/02_adjoint.ipynb b/2025-10-09-invdes-seminar/02_adjoint.ipynb new file mode 100644 index 00000000..28cb4870 --- /dev/null +++ b/2025-10-09-invdes-seminar/02_adjoint.ipynb @@ -0,0 +1,523 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "17e57ad4", + "metadata": {}, + "source": [ + "# Adjoint Optimization: High-Dimensional Gradient-Based Refinement\n", + "\n", + "> In the previous notebook, we used Bayesian Optimization to find a good starting design. The strength of that global optimization approach was its ability to efficiently search a low-dimensional parameter space. However, it was limited: we assumed the grating was uniform, with every tooth and gap being identical.\n", + "\n", + "> To push the performance further, we need to apodize the grating, which means varying the dimensions of each tooth individually to better match the profile of the incoming Gaussian beam. This drastically increases the number of design parameters. For our 15-element dual-layer grating, the design space just expanded from 5 global parameters to over 60 individual feature dimensions!\n", + "\n", + "> For such a high-dimensional problem, a global search is no longer efficient. In this notebook, we switch to a powerful local, gradient-based optimization technique, enabled by the adjoint method, to refine our design." + ] + }, + { + "cell_type": "markdown", + "id": "85439f3a", + "metadata": {}, + "source": [ + "## The Power of the Adjoint Method\n", + "\n", + "The key challenge in gradient-based optimization is computing the gradient itself. A naive approach like finite differences would require N+1 simulations to find the gradient with respect to N parameters. For our ~60 parameters, this is far too slow.\n", + "\n", + "This is where the adjoint method comes in. Tidy3D's automatic differentiation capability uses this method under the hood. It allows us to compute the gradient of our objective function (the coupling efficiency) with respect to all design parameters simultaneously in just two simulations per iteration, regardless of how many parameters there are. This efficiency is what makes it possible to locally optimize structures with thousands of free parameters. We start from the global design found earlier and use these gradients to walk toward a nearby, higher-performance solution." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a9e277fa", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "from copy import deepcopy\n", + "from pathlib import Path\n", + "\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import tidy3d as td\n", + "from autograd import value_and_grad\n", + "from optim import adam_update, apply_updates, clip_params, init_adam\n", + "from setup import (\n", + " center_wavelength,\n", + " first_gap_sin,\n", + " get_mode_monitor_power,\n", + " make_simulation,\n", + " max_gap_si,\n", + " max_gap_sin,\n", + " max_width_si,\n", + " max_width_sin,\n", + " min_gap_si,\n", + " min_gap_sin,\n", + " min_width_si,\n", + " min_width_sin,\n", + " num_elements,\n", + ")\n", + "from tidy3d import web" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "6e59e2e5", + "metadata": {}, + "outputs": [], + "source": [ + "def objective(params):\n", + " \"\"\"Objective function for adjoint optimization.\n", + "\n", + " Takes a dictionary of geometry parameters and returns a scalar loss.\n", + " The function is differentiable via autograd so the adjoint method can\n", + " supply gradients for every parameter in one shot.\n", + "\n", + " Parameters\n", + " ----------\n", + " params:\n", + " Dictionary holding the current grating geometry arrays.\n", + "\n", + " Returns\n", + " -------\n", + " float\n", + " Negative of the coupling efficiency so gradient descent maximizes power.\n", + " \"\"\"\n", + " # Build the tidy3d simulation with the current parameters. Autograd traces\n", + " # everything through the power extraction so the adjoint gradient can be\n", + " # computed efficiently.\n", + " sim = make_simulation(\n", + " params[\"widths_si\"],\n", + " params[\"gaps_si\"],\n", + " params[\"widths_sin\"],\n", + " params[\"gaps_sin\"],\n", + " first_gap_si=params[\"first_gap_si\"],\n", + " first_gap_sin=params[\"first_gap_sin\"],\n", + " )\n", + "\n", + " sim_data = web.run(sim, task_name=\"gc_adjoint\", verbose=False)\n", + "\n", + " # Convert the mode monitor result into a scalar objective (negative power)\n", + " # so minimization increases the coupled power at the target wavelength.\n", + " power_da = get_mode_monitor_power(sim_data)\n", + " freq0 = td.C_0 / center_wavelength\n", + " target_power = power_da.sel(f=freq0, method=\"nearest\")\n", + " return -target_power.item()" + ] + }, + { + "cell_type": "markdown", + "id": "53f5b7e5", + "metadata": {}, + "source": [ + "## High-Dimensional Parameterization\n", + "\n", + "We load the best uniform design from the Bayesian search and expand those scalars into per-tooth arrays. Each layer now has individual widths and gaps, and `first_gap_si` remains a crucial phase-matching variable." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "e668aef6", + "metadata": {}, + "outputs": [], + "source": [ + "scalars = {}\n", + "with Path(\"./results/gc_bayes_opt_best.json\").open(\"r\", encoding=\"utf-8\") as f:\n", + " data = json.load(f)\n", + " for key in data:\n", + " scalars[key] = float(data[key])\n", + "\n", + "num_iters = 80\n", + "\n", + "params0 = {\n", + " \"widths_si\": np.full(num_elements, scalars[\"width_si\"]),\n", + " \"gaps_si\": np.full(num_elements, scalars[\"gap_si\"]),\n", + " \"widths_sin\": np.full(num_elements, scalars[\"width_sin\"]),\n", + " \"gaps_sin\": np.full(num_elements, scalars[\"gap_sin\"]),\n", + " \"first_gap_si\": scalars[\"first_gap_si\"],\n", + " \"first_gap_sin\": first_gap_sin,\n", + "}\n", + "\n", + "bounds = {\n", + " \"widths_si\": (min_width_si, max_width_si),\n", + " \"gaps_si\": (min_gap_si, max_gap_si),\n", + " \"widths_sin\": (min_width_sin, max_width_sin),\n", + " \"gaps_sin\": (min_gap_sin, max_gap_sin),\n", + " \"first_gap_si\": (None, None),\n", + " \"first_gap_sin\": (min_gap_sin, None),\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "9057369b", + "metadata": {}, + "outputs": [], + "source": [ + "vg_fun = value_and_grad(objective)\n", + "params = deepcopy(params0)\n", + "opt_state = init_adam(params, lr=1e-2)\n", + "target_powers = []" + ] + }, + { + "cell_type": "markdown", + "id": "58c4a412", + "metadata": {}, + "source": [ + "## Running the Gradient Descent\n", + "\n", + "Each iteration proceeds as follows:\n", + "1. Evaluate both the loss and gradient with `value_and_grad`.\n", + "2. Use the Adam optimizer to compute a parameter update with momentum.\n", + "3. Apply the update to the parameters.\n", + "4. Clip the result to obey fabrication bounds." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d4fbe647", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iter 0: target_power=0.3426\n", + "iter 1: target_power=0.3342\n", + "iter 2: target_power=0.3857\n", + "iter 3: target_power=0.4068\n", + "iter 4: target_power=0.4014\n", + "iter 5: target_power=0.4060\n", + "iter 6: target_power=0.4225\n", + "iter 7: target_power=0.4361\n", + "iter 8: target_power=0.4367\n", + "iter 9: target_power=0.4350\n", + "iter 10: target_power=0.4383\n", + "iter 11: target_power=0.4460\n", + "iter 12: target_power=0.4502\n", + "iter 13: target_power=0.4528\n", + "iter 14: target_power=0.4527\n", + "iter 15: target_power=0.4522\n", + "iter 16: target_power=0.4579\n", + "iter 17: target_power=0.4630\n", + "iter 18: target_power=0.4638\n", + "iter 19: target_power=0.4651\n", + "iter 20: target_power=0.4674\n", + "iter 21: target_power=0.4704\n", + "iter 22: target_power=0.4720\n", + "iter 23: target_power=0.4718\n", + "iter 24: target_power=0.4754\n", + "iter 25: target_power=0.4794\n", + "iter 26: target_power=0.4783\n", + "iter 27: target_power=0.4805\n", + "iter 28: target_power=0.4838\n", + "iter 29: target_power=0.4860\n", + "iter 30: target_power=0.4885\n", + "iter 31: target_power=0.4889\n", + "iter 32: target_power=0.4911\n", + "iter 33: target_power=0.4933\n", + "iter 34: target_power=0.4945\n", + "iter 35: target_power=0.4982\n", + "iter 36: target_power=0.4977\n", + "iter 37: target_power=0.4998\n", + "iter 38: target_power=0.5021\n", + "iter 39: target_power=0.5043\n", + "iter 40: target_power=0.5069\n", + "iter 41: target_power=0.5093\n", + "iter 42: target_power=0.5109\n", + "iter 43: target_power=0.5109\n", + "iter 44: target_power=0.5135\n", + "iter 45: target_power=0.5169\n", + "iter 46: target_power=0.5192\n", + "iter 47: target_power=0.5213\n", + "iter 48: target_power=0.5230\n", + "iter 49: target_power=0.5252\n", + "iter 50: target_power=0.5280\n", + "iter 51: target_power=0.5309\n", + "iter 52: target_power=0.5341\n", + "iter 53: target_power=0.5362\n", + "iter 54: target_power=0.5384\n", + "iter 55: target_power=0.5406\n", + "iter 56: target_power=0.5440\n", + "iter 57: target_power=0.5459\n", + "iter 58: target_power=0.5498\n", + "iter 59: target_power=0.5514\n", + "iter 60: target_power=0.5528\n", + "iter 61: target_power=0.5541\n", + "iter 62: target_power=0.5543\n", + "iter 63: target_power=0.5561\n", + "iter 64: target_power=0.5567\n", + "iter 65: target_power=0.5575\n", + "iter 66: target_power=0.5591\n", + "iter 67: target_power=0.5590\n", + "iter 68: target_power=0.5606\n", + "iter 69: target_power=0.5613\n", + "iter 70: target_power=0.5619\n", + "iter 71: target_power=0.5626\n", + "iter 72: target_power=0.5636\n", + "iter 73: target_power=0.5647\n", + "iter 74: target_power=0.5638\n", + "iter 75: target_power=0.5657\n", + "iter 76: target_power=0.5663\n", + "iter 77: target_power=0.5669\n", + "iter 78: target_power=0.5676\n", + "iter 79: target_power=0.5676\n" + ] + } + ], + "source": [ + "for n in range(num_iters):\n", + " value, grad = vg_fun(params)\n", + " target_power = -value\n", + "\n", + " target_powers.append(target_power)\n", + " print(f\"iter {n}: target_power={target_power:.4f}\")\n", + "\n", + " updates, opt_state = adam_update(grad, opt_state)\n", + " params = apply_updates(params, updates)\n", + " params = clip_params(params, bounds)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e6abb0a4", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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YxEdHY3i4mJ89tlnOHjwIF566SWMGDGixrXNmjXTXZOXl4fU1FS0bt0aSUlJerGkpaUhOTkZ3bt3h4eHB4YOHWqWPO9m6dKl+PHHH/Hcc89hx44desf8/Pxw//3344EHHoCzszOGDh2K8ePHo7y8HMuXL4dKpcLly5f1romKisJHH32EhQsXonXr1lCpVBgwYECN923cuDHeeOMNjB07FrGxsXjyySd1y3BDQkJ0wzv24Mcff8SkSZPw+OOPo23btrh58yY++eQTODk54bHHHtOdV9t3auHChdi+fTvuu+8+TJgwAY0aNcKyZctQWVmJN99806RYRo0aheHDhwMAFixYYPZcycHYehkOkaUNHTpUuLq6ioqKilrPGTNmjGjcuLEoLCwUQghx+PBhERsbK1xdXUVQUJBYsGCBWLly5V2X4QohRF5enhg7dqzw8fERzs7OonPnznpLUbVqW4ZbUFCgd56hLeCPHz8u+vbtK9zc3AQAo5bk5ufni+TkZNG6dWvh4uIilEqliIuL0y29rU67lPPzzz8X06dPFyqVSri5uYmEhARx7tw5vXPLy8vF//t//08olUoBQLckt7ZluO7u7jXer7btxlu2bCkSEhJqxKVdYqr9nRn6qf65fPvtt6JLly7C1dVVhISEiDfeeEOsWrWqxu81NzdXJCQkiKZNm+rdo7blv2lpaSIyMlK4uLiIZs2aiZEjR4qLFy/qnVNbztrY78bUrdhvj/X06dPi6aefFq1atRKurq6iWbNmon///uKHH37Qu9edvlMHDx4U8fHxwsPDQzRp0kT0799f/PLLL3rXa7+n+/btqzWXyspK4e3tLby8vPSWL1PDJIm6zmwjIvTp0wcuLi744YcfbB2KWWVkZKB///7YsGGD7l+sRPV18+ZNBAYGYujQoVi5cqWtwyEb4xwQonq4fPkyx7GJjLRx40YUFBTUuisvNSycA0JUB7/88gu+/vpr5OTk4F//+petwyGya7/++isOHz6MBQsWIDIy0myTscmxsQAhqoPly5fjf//7H6ZMmYKxY8faOhwiu/bRRx/h008/RUREhN7DCalh4xwQIiIisjrOASEiIiKrYwFCREREVsc5IAZoNBr8+eefaNq0qc23mSYiInIkQgiUlZUhMDCwxoM5q2MBYsCff/5p9PMNiIiIqKYLFy6gRYsWtR5nAWKAdrvs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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "ax.plot(np.arange(len(target_powers)), target_powers, marker=\"o\")\n", + "ax.set_xlabel(\"Iteration\")\n", + "ax.set_ylabel(\"Target Power\")\n", + "ax.set_title(\"Adjoint Optimization History\")\n", + "ax.grid(True, alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "80a3947a", + "metadata": {}, + "source": [ + "## Visualizing the Results\n", + "\n", + "The steadily rising power confirms the adjoint-driven search is homing in on a better design." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5f269667", + "metadata": {}, + "outputs": [], + "source": [ + "def compute_spectrum(param_set, task_name):\n", + " sim = make_simulation(\n", + " param_set[\"widths_si\"],\n", + " param_set[\"gaps_si\"],\n", + " param_set[\"widths_sin\"],\n", + " param_set[\"gaps_sin\"],\n", + " first_gap_si=param_set[\"first_gap_si\"],\n", + " first_gap_sin=param_set[\"first_gap_sin\"],\n", + " )\n", + " sim_data = web.run(sim, task_name=task_name, verbose=False)\n", + " power_da = get_mode_monitor_power(sim_data)\n", + " freqs = power_da.coords[\"f\"].values\n", + " wavelengths = td.C_0 / freqs\n", + " power = np.squeeze(power_da.data)\n", + " sort_idx = np.argsort(wavelengths)\n", + " wavelengths = wavelengths[sort_idx]\n", + " power = np.array(power)[sort_idx]\n", + " return wavelengths, power" + ] + }, + { + "cell_type": "markdown", + "id": "6ef925dc", + "metadata": {}, + "source": [ + "## Performance Payoff\n", + "\n", + "Comparing the spectra shows the apodized design significantly boosts coupling near 1.55 µm relative to the uniform baseline from Bayesian optimization." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8e460c41", + "metadata": {}, + "outputs": [], + "source": [ + "w_before, p_before = compute_spectrum(params0, \"gc_adjoint_before\")\n", + "w_after, p_after = compute_spectrum(params, \"gc_adjoint_after\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "23ee67d1", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGJCAYAAADWn3rYAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAiDVJREFUeJzs3XV4U+cXwPFv6kJbSmkpUijF3V0Kw92GM5zBBsMZMMMmuNuQwcbwoWO4DrcBg+HuFAqlRjXv749L86NUaEtKKufzPHlIbm7uPTkNzel7X9EppRRCCCGEEEZgZuoAhBBCCJF2SGEhhBBCCKORwkIIIYQQRiOFhRBCCCGMRgoLIYQQQhiNFBZCCCGEMBopLIQQQghhNFJYCCGEEMJopLAQQgghhNFIYSE+CJ1Ox+jRo00dRrLw9PSka9eupg5DJBO9Xk/RokX54YcfPsj5Jk2ahJeXF+bm5pQsWfKDnDM1efLkCR9//DEuLi7odDqmT5+erOcLDw/Hw8ODuXPnJut50hIpLNKRpUuXotPp0Ol0HDp0KMbzSik8PDzQ6XQ0btzYJDEmlKenJzqdjtq1a8f6/MKFCw3v9dSpUx80tosXLzJ69Ghu3779Qc976NAhGjRoQPbs2bGxsSFnzpw0adKEFStWfNA4YvPw4UNGjx7N2bNnTR1Koq1cuZJ79+7Rr18/w7Y3/y9F3dzc3KhZsybbtm1L8rl27tzJl19+SZUqVViyZAk//vijkd5F6hAZGUm2bNnQ6XRx5nHQoEHs2LGDkSNHsmzZMurXr8/WrVuT7Q8XS0tLBg8ezA8//EBISEiynCPNUSLdWLJkiQKUjY2N+uyzz2I8v2/fPgUoa2tr1ahRI6OeG1CjRo0y2vFy5cqlbGxslJmZmXr06FGM5729vZWNjY0C1MmTJ4123tiEhISosLAww+O1a9cqQO3bty9Zz/umNWvWKJ1Op0qVKqUmTJigFixYoEaOHKmqVKmiatSo8cHiiMvJkycVoJYsWWLqUBKtRIkS6tNPP422Ler/0tixY9WyZcvUb7/9piZNmqSKFCmiAPXnn38m6VzDhw9XZmZmKjQ01EjRpy47d+5UgPL09FQdO3aMdZ8sWbLEeK5v374qOb/OXrx4oaysrNTixYuT7RxpiYWpCxvx4TVs2JC1a9cyc+ZMLCz+/xFYsWIFZcqU4dmzZyaNL6GqVKnCyZMnWb16NQMGDDBsv3//PgcPHqRFixasW7cu2eOwtrZO9nMABAcHY2dnF+tzo0ePpnDhwhw7dgwrK6toz/n4+HyQ+Iwpvvf6IZ05c4Zz584xZcqUWJ9v0KABZcuWNTzu0aMHWbJkYeXKlUlq9fPx8cHW1jbGzzCplFKEhIRga2trlOMlt99//53SpUvTpUsXvvrqK4KCgrC3t4+2j4+PDxkzZkz2WN7MXcaMGalbty5Lly6le/fuyX7u1E4uhaRD7du3x9fXl127dhm2hYWF8ccff9ChQ4dYXxMUFMSQIUPw8PDA2tqaAgUKMHnyZN5eHDc0NJRBgwbh6uqKg4MDTZs25f79+7Ee88GDB3Tv3p0sWbJgbW1NkSJF+OWXXxL8PmxsbGjZsmWMpv6VK1fi7OxMvXr1Yn3d3r17qVatGvb29mTMmJFmzZpx6dKlaPuMHj0anU7H9evX6dq1KxkzZsTJyYlu3boRHBwcbd83+1gsXbqU1q1bA1CzZk1DM/n+/fsN+8+dO5ciRYpgbW1NtmzZ6Nu3L35+ftGOWaNGDYoWLcrp06epXr06dnZ2fPXVV3Hm4saNG5QrVy7WLyQ3NzfD/du3b6PT6Zg8eTLTpk0jV65c2Nra4u3tzYULF2K89vLly3z88cdkypQJGxsbypYty+bNm2Ps5+fnx6BBg/D09MTa2pocOXLQuXNnnj17xv79+ylXrhwA3bp1M+Rk6dKl73yvcfXNebtfS9SliUOHDtG/f39cXV3JmDEjvXv3JiwsDD8/Pzp37oyzszPOzs58+eWXMT67sdm4cSNWVlZUr179nfsCZMyYEVtb22gFO6/7aUyfPp0iRYpgY2NDlixZ6N27Ny9evDDso9PpWLJkCUFBQTFyFBERwbhx48iTJw/W1tZ4enry1VdfERoaGiMvjRs3ZseOHZQtWxZbW1t+/vlnw89o4MCBhv/DefPmZcKECej1+njfU+PGjfHy8or1uUqVKkUrrHbt2kXVqlXJmDEjGTJkoECBAvF+bt/06tUrNmzYQLt27WjTpg2vXr1i06ZNhuejfsZKKebMmWPIUdeuXZkzZ44hh1G3xOT+XbkDqFOnDocOHeL58+cJej/pmqmbTMSHE9V8e/LkSVW5cmX1ySefGJ7buHGjMjMzUw8ePFC5cuWKdilEr9erjz76SOl0OtWzZ081e/Zs1aRJEwWogQMHRjtHp06dFKA6dOigZs+erVq2bKmKFy8e41LI48ePVY4cOZSHh4caO3asmjdvnmratKkC1LRp0975XqJijGo6vX79uuG5kiVLqt69e0d7v1F27dqlLCwsVP78+dXEiRPVmDFjVObMmZWzs7O6deuWYb9Ro0YpQJUqVUq1bNlSzZ07V/Xs2VMB6ssvv4wRS5cuXZRSSt24cUP1799fAeqrr75Sy5YtU8uWLVOPHz+OdtzatWurWbNmqX79+ilzc3NVrly5aJdTvL29lbu7u3J1dVVffPGF+vnnn9XGjRvjzEf+/PmVh4eHunfvXrx5u3XrlgJUsWLFlKenp5owYYIaM2aMypQpk3J1dTXEqZRSFy5cUE5OTqpw4cJqwoQJavbs2ap69epKp9Op9evXG/YLCAhQRYsWVebm5qpXr15q3rx5aty4capcuXLqzJkz6vHjx2rs2LEKUJ9++qkhJzdu3Hjne43rEtqbOVdvfLZLliyp6tevr+bMmaM++eQTw8+ratWqqkOHDmru3LmqcePGClC//vprvLlSSqnatWur0qVLx9gedb7du3erp0+fKh8fH3XhwgXVu3dvZWZmpnbu3Blt/549eyoLCwvVq1cvNX/+fDV8+HBlb28f7ee+bNkyVa1aNWVtbR0jR126dFGA+vjjj9WcOXNU586dFaCaN28eIy958+ZVzs7OasSIEWr+/Plq3759KigoSBUvXly5uLior776Ss2fP1917txZ6XQ6NWDAgHhz8NtvvylAnThxItr227dvK0BNmjRJqdefFysrK1W2bFk1Y8YMNX/+fDV06FBVvXr1d+ZZKaVWrVqldDqdunv3rlJKqY8++kg1bNjQ8PyNGzfUsmXLFKDq1KljyNGRI0dUnTp1FGDYtmzZskTlPr7cRTl06NB7XeZKT6SwSEfe/KKdPXu2cnBwUMHBwUoppVq3bq1q1qyp1Btf2lE2btyoAPX9999HO97HH3+sdDqd4Uv97NmzClCff/55tP06dOgQ4wuiR48eKmvWrOrZs2fR9m3Xrp1ycnIyxBWXqBgjIiKUu7u7GjdunFJKqYsXLypAHThwINbComTJksrNzU35+voatp07d06ZmZmpzp07G7ZFFQDdu3ePdt4WLVooFxeXGLG8+SUXVx8LHx8fZWVlperWrasiIyMN22fPnq0A9csvvxi2eXt7K0DNnz8/3jxEWbx4sQKUlZWVqlmzpvr222/VwYMHo51HvVFY2Nraqvv37xu2Hz9+XAFq0KBBhm21atVSxYoVUyEhIYZter1eVa5cWeXLl8+w7bvvvlNAtGLjzf3VO/pYxPdeE1tY1KtXz3BOpZSqVKmS0ul0qk+fPoZtERERKkeOHMrb2zvWXL4pR44cqlWrVjG2R53v7Zu1tbVaunRptH0PHjyoALV8+fJo27dv3x5je5cuXZS9vX20/aL+X/Xs2TPa9qFDhypA7d27N1peALV9+/Zo+44bN07Z29urq1evRts+YsQIZW5ubvgyj83Lly+VtbW1GjJkSLTtEydOVDqdTt25c0cppdS0adMUoJ4+fRrnseLTuHFjVaVKFcPjBQsWKAsLC+Xj4xNtP0D17ds32ra4+lgkJvdx5S7Kw4cPFaAmTJiQpPeXnsilkHQqqqlxy5YtBAQEsGXLljgvg2zduhVzc3P69+8fbfuQIUNQShl6b2/duhUgxn4DBw6M9lgpxbp162jSpAlKKZ49e2a41atXj5cvX/LPP/8k6H2Ym5vTpk0bVq5cCcDy5cvx8PCgWrVqMfZ99OgRZ8+epWvXrmTKlMmwvXjx4tSpU8cQ/5v69OkT7XG1atXw9fXF398/QfG9affu3YSFhTFw4EDMzP7/X69Xr144Ojry119/Rdvf2tqabt26JejY3bt3Z/v27dSoUYNDhw4xbtw4qlWrRr58+Thy5EiM/Zs3b0727NkNj8uXL0+FChUMOXj+/Dl79+6lTZs2BAQEGH4+vr6+1KtXj2vXrvHgwQMA1q1bR4kSJWjRokWM87zZJB2fxLzX+PTo0SPaOStUqIBSih49ehi2mZubU7ZsWW7evPnO4/n6+uLs7Bzn83PmzGHXrl3s2rWL33//nZo1a9KzZ0/Wr19v2Gft2rU4OTlRp06daJ/1MmXKkCFDBvbt2xdvDFE/k8GDB0fbPmTIEIAYn5vcuXPHuAy4du1aqlWrhrOzc7QYateuTWRkJH///Xec53d0dKRBgwasWbMm2uWj1atXU7FiRXLmzAmvLwMBbNq06Z2XV97m6+vLjh07aN++vWFbq1at0Ol0rFmzJlHHelNicx9b7qJEfQ5SSx80U5LCIp1ydXWldu3arFixgvXr1xMZGcnHH38c67537twhW7ZsODg4RNteqFAhw/NR/5qZmZEnT55o+xUoUCDa46dPn+Ln58eCBQtwdXWNdov6cklMh8MOHTpw8eJFzp07x4oVK2jXrl2sX2hRcb4dT9R7efbsGUFBQdG2R/3SjBL1y+Xt67MJEdf5rays8PLyMjwfJXv27InqxFevXj127NiBn58ff//9N3379uXOnTs0btw4Rj7z5csX4/X58+c3DJG9fv06Sim+/fbbGD+jUaNGwRs/oxs3blC0aNEExxmbxL7XuLz983JycgLAw8MjxvaE/gzj64tRvnx5ateuTe3atenYsSN//fUXhQsXpl+/foSFhQFw7do1Xr58iZubW4xcBgYGvvOzHvX/Km/evNG2u7u7kzFjxhifm9y5c8c4xrVr19i+fXuM80cN135XDG3btuXevXscPXoUXv/MT58+Tdu2baPtU6VKFXr27EmWLFlo164da9asSVCRsXr1asLDwylVqhTXr1/n+vXrPH/+nAoVKrB8+fJ3vj4uic19bLmLEvU5SGixnJ7JqJB0rEOHDvTq1YvHjx/ToEGDD9LTmtedqQA6depEly5dYt2nePHiCT5ehQoVyJMnDwMHDuTWrVtxtrwkhbm5eazbE9Lx730ltSe/nZ0d1apVo1q1amTOnJkxY8awbdu2OHMdm6if0dChQ+P8C+7tL7r3kdj3GhkZGev2uH5esW1PyM/QxcUlUUWkmZkZNWvWZMaMGVy7do0iRYqg1+txc3OL8wvS1dU1QcdO6BdabLnU6/XUqVOHL7/8MtbX5M+fP95jNmnSBDs7O9asWUPlypVZs2YNZmZmho7KUef9+++/2bdvH3/99Rfbt29n9erVfPTRR+zcuTPOnw2vWxp5PdIrNjdv3oyzA2l8Epv7+D6HUZ+DzJkzJzqO9EYKi3SsRYsW9O7dm2PHjrF69eo498uVKxe7d+8mICAgWqvF5cuXDc9H/avX67lx40a0v8qvXLkS7XhRI0YiIyPjnOAqsdq3b8/3339PoUKF4pytMCrOt+OJei+ZM2eOMbQtKeL6Anjz/G/+kgwLC+PWrVtGy8WbonrsP3r0KNr2a9euxdj36tWreHp6Ahjis7S0fGdcefLkiXVEyZuS+lees7NzjBEzYWFhMd5PcilYsCC3bt1K1GsiIiIACAwMhNf52b17N1WqVElSsRj1/+ratWuGVkJez0Dp5+dn+FzFJ0+ePAQGBib5M2Zvb0/jxo1Zu3YtU6dOZfXq1VSrVo1s2bJF28/MzIxatWpRq1Ytpk6dyo8//sjXX3/Nvn374jz3rVu3OHLkCP369cPb2zvac3q9nk8++YQVK1bwzTffxBlfXJ+v983923HyRkutiJtcCknHMmTIwLx58xg9ejRNmjSJc7+GDRsSGRnJ7Nmzo22fNm0aOp2OBg0awOsx/QAzZ86Mtt/bU+6am5vTqlUr1q1bF+sX0tOnTxP9Xnr27MmoUaPinG8AIGvWrJQsWZJff/012pfVhQsX2LlzJw0bNkz0eWMTVZy8/YVYu3ZtrKysmDlzZrS/lhcvXszLly9p1KhRks+5Z8+eWLdHXZ9/+/LLxo0bDX0kAE6cOMHx48cNP0M3Nzdq1KjBzz//HOuX+Js/o1atWnHu3Dk2bNgQY7+o9xlXTt4lT548Ma7/L1iwIM4WC2OrVKkSFy5ciDGsMy7h4eHs3LkTKysrwxdQmzZtiIyMZNy4cTH2j4iIeGdOoj6Xb/8/mjp1KkCCPjdt2rTh6NGj7NixI8Zzfn5+hmIoPm3btuXhw4csWrSIc+fORbsMwut+OW+LKvLjy19Ua8KXX37Jxx9/HO3Wpk0bvL2933k5JK7P1/vm/k2nT59Gp9NRqVKlBL8mvZIWi3QuIc3jTZo0oWbNmnz99dfcvn2bEiVKsHPnTjZt2sTAgQMNfSpKlixJ+/btmTt3Li9fvqRy5crs2bOH69evxzjm+PHj2bdvHxUqVKBXr14ULlyY58+f888//7B79+5EjxXPlStXgqb0nTRpEg0aNKBSpUr06NGDV69eMWvWLJycnIw2JXDJkiUxNzdnwoQJvHz5Emtraz766CPc3NwYOXIkY8aMoX79+jRt2pQrV64wd+5cypUrR6dOnZJ8zmbNmpE7d26aNGlCnjx5CAoKYvfu3fz555+UK1cuRuGYN29eqlatymeffUZoaCjTp0/HxcUlWlP5nDlzqFq1KsWKFaNXr154eXnx5MkTjh49yv379zl37hwAw4YN448//qB169Z0796dMmXK8Pz5czZv3sz8+fMpUaIEefLkIWPGjMyfPx8HBwfs7e2pUKFCvNe0eV0w9unTh1atWlGnTh3OnTvHjh07PlhzdLNmzRg3bhwHDhygbt26MZ7ftm2boeXOx8eHFStWcO3aNUaMGIGjoyMA3t7e9O7dm59++omzZ89St25dLC0tuXbtGmvXrmXGjBlx9m8CKFGiBF26dGHBggX4+fnh7e3NiRMn+PXXX2nevDk1a9Z85/sYNmwYmzdvpnHjxnTt2pUyZcoQFBTE+fPn+eOPP7h9+/Y7c9qwYUMcHBwYOnSo4Y+DN40dO5a///6bRo0akStXLnx8fJg7dy45cuSgatWqcR53+fLllCxZMkY/mChNmzbliy++4J9//qF06dKx7lOmTBl43XG8Xr16mJub065du/fO/Zt27dpFlSpVcHFxSdD+6Zqph6WIDye24ZexeXu4qXo9V8GgQYNUtmzZlKWlpcqXL5+aNGlStKF9Sin16tUr1b9/f+Xi4qLs7e1VkyZN1L1792IdNvjkyRPVt29f5eHhoSwtLZW7u7uqVauWWrBgwTvfS2wxJvT97t69W1WpUkXZ2toqR0dH1aRJE3Xx4sVo+0QNN3176FzUMd+c8+LtoY9KKbVw4ULl5eWlzM3NYww9nT17tipYsKCytLRUWbJkUZ999pl68eJFtNd7e3urIkWKvDMPUVauXKnatWun8uTJo2xtbZWNjY0qXLiw+vrrr5W/v79hv6jhppMmTVJTpkxRHh4eytraWlWrVk2dO3cuxnFv3LihOnfurNzd3ZWlpaXKnj27aty4sfrjjz+i7efr66v69eunsmfPrqysrFSOHDlUly5dog0n3rRpkypcuLCysLCINvQ0vvcaGRmphg8frjJnzqzs7OxUvXr11PXr1+Mcbvr2zzqun2NswzrjUrx4cdWjR49o22IbbmpjY6NKliyp5s2bF+P/hXo9fLJMmTLK1tZWOTg4qGLFiqkvv/xSPXz48J1xhYeHqzFjxqjcuXMrS0tL5eHhoUaOHBltKLB6x/+LgIAANXLkSJU3b15lZWWlMmfOrCpXrqwmT54cbT6H+HTs2NEwD8vb9uzZo5o1a6ayZcumrKysVLZs2VT79u1jDHF90+nTpxWgvv322zj3iZovI2oodGzDTSMiItQXX3yhXF1dlU6nizH0NCG5jy93fn5+ysrKSi1atCie7IgoOvUheqEJIVKE27dvkzt3biZNmsTQoUNNHU6qsGzZMvr27cvdu3c/WAdnkbJMnz6diRMncuPGjVQzPbopSR8LIYSIR8eOHcmZM6dh2miRvoSHhzN16lS++eYbKSoSSPpYCCFEPMzMzN456kWkXZaWlty9e9fUYaQq0mIhhBBCCKORPhZCCCGEMBppsRBCCCGE0UhhIYQQQgijSVedN/V6PQ8fPsTBwUEWkhFCCCESQSlFQEAA2bJli7ZC89vSVWHx8OHDOGd3E0IIIcS73bt3jxw5csT5fLoqLKIW0Lp3755hut33pdfrefr0Ka6urvFWcCJhJJ/GJzk1PsmpcUk+jS85curv74+Hh0e0xShjk64Ki6jLH46OjkYtLEJCQnB0dJT/EEYg+TQ+yanxSU6NS/JpfMmZ03d1JZCfoBBCCCGMRgoLIYQQQhiNFBZCCCGEMJp01cciIZRSREREEBkZmaD99Xo94eHhhISEyLVBI0gL+TQ3N8fCwkKGNAsh0iUpLN4QFhbGo0ePCA4OTvBrlFLo9XoCAgLki8QI0ko+7ezsyJo1K1ZWVqYORQghPigpLF7T6/XcunULc3NzsmXLhpWVVYK+2KJaOOQvVONI7flUShEWFsbTp0+5desW+fLlS7UtL0IIkRRSWLwWFhaGXq/Hw8MDOzu7BL8utX8RpjRpIZ+2trZYWlpy584dwsLCsLGxMXVIQgjxwcifUm+Rvy6FMcjnSAiRXslvPyGEEEIYjVwKEUKkfHo9vHoBQc8gLBDCQyDi9U3pwcwCzMy1f82twcYBbJzAxhGsHbXnhBAfhBQWwmD06NHMmzcPHx8fNmzYQPPmzU0dUrxu375N7ty5OXPmDCVLlozxOCFq1KhByZIlmT59erLHK+KhFAQ8gieX4PlN8L0Jz2/BizsQ6APBvloBkRQ6Hdi7gWNWcHAHh6zgnAtcvLRbptxgHf/aB0KIhJPCIpXr2rUrv/76q+FxpkyZKFeuHBMnTqR48eIJPs6lS5cYM2YMGzZsoGLFijg7OydTxMnHw8ODR48ekTlz5gS/Zv369VhaWiZ4/6QULyIWwc/h9hG4fxoenYWH/0LQ03e/ziYjWGcASxuwsAULa9CZgYoE/etbxCsICYBQfwh/pRUtgU+0W1wcs4N7YchSFLIUhqzFwTW/tHQIkQRSWKQB9evXZ8mSJQA8fvyYb775hsaNG3P37t0EH+PGjRsANGvW7L1GY4SHhyfqi9qYzM3NcXd3T9RrMmXKlGzxiDeEBcON/XDzANw6BE8uaF/4bzIzB5e84JJHa0Vw8QJnT62VwT4z2LmARSLnBYkIgxA/CHgM/g/B/zH4P4Dnt//fMhLsq23zfwBXd/3/tVYZIHspyFFGu+WqBBncjJMPIdIw6bwZB6UUQaGv3nkLfuOWkP0TclNv/8J9B2tra9zd3XF3d6dkyZKMGDGCe/fu8fTp//8CvHfvHm3atCFjxoxkypSJZs2acfv2bXh9CaRJkybwejRDVGGh1+sZO3YsOXLkwNrampIlS7J9+3bDMW/fvo1Op2P16tV4e3tjY2PD8uXLAVi0aBGFChXCxsaGggULMnfu3Hjfw/bt26latSrOzs64u7vTpEkTQ7ET5cSJE5QqVQobGxvKli3LmTNnoj0fFc/Zs2cN2w4cOED58uWxtrYma9asjBgxgoiICMPzNWrUYODAgYbHnp6e/Pjjj3Tv3h0HBwdy5szJggULDM/nzp0bgFKlSqHT6ahRo0YCf0rpUOBTOL0Mfm8HP3rC8nZwdB48Pq8VFW4FoWxXaDod+uyFbx/CgJPQaRU0/Akq9IL8dSBrMe0yRmKLCtBek8FNa4EoUB/KdYVaX0PrhdB7D3x1C76+A712QpOpUL4H5KwIVvZaX45bB+HgdFj5CYzPC9PLwMb+cG41ZoGPkyNrQqR60mIRh+CwEPIMqGmSc9+YsQ97a9skvTYwMJDff/+dvHnz4uLiAq9bEerVq0elSpU4ePAgFhYWfP/999SvX59///2XoUOH4unpSbdu3Xj06JHhWDNmzGDKlCn8/PPPlCpVil9++YWmTZvy33//kS9fPsN+I0aMYMqUKYYv/eXLl/Pdd98xe/ZsSpUqxZkzZ+jVqxf29vZ06dIl1riDgoIYPHgwxYoVw8/Pj3HjxtGiRQvOnj2LmZkZgYGBNG7cmDp16vD7779z69YtBgwYEG8uHjx4QMOGDenatSu//fYbly9fplevXtjY2DB69Og4XzdlyhTGjRvHV199xR9//MFnn32Gt7c3BQoU4MSJE5QvX57du3dTpEgRmVnzbWHBcGkLnF0J1/dF7xeRMadWKOSuBrmrppy//m2dIVdF7RZFHwlPr2iXau6fhrvHweciPLsGz65hdmopboByLQh5a0CemuBVXStIhEjnpLBIA7Zs2UKGDBng9Rd01qxZ2bJli2EuhdWrV6PX61m0aJGhNWLJkiVkzJiR/fv3U7duXTJmzAgQ7VLC5MmTGT58OO3atQNgwoQJ7Nu3j+nTpzNnzhzDfgMHDqRly5aGx6NGjWLKlCmGbblz5+bixYv8/PPPcRYWrVq1gjcmyFq8eDFubm5cvHiRokWLsmLFCvR6PYsXL8bGxoYiRYpw//59PvvsszjzMnfuXDw8PJg9ezY6nY6CBQvy8OFDhg8fznfffRfnXBMNGzbk888/B2D48OFMmzaNffv2UaBAAVxdXQFwcXFJ9GWXNEspuH8STv4K/22E0ID/P5etJBRsCIUagXtRrSNlamBmrvW1yFIYynyibQt+rhUYtw+jbh6Eh2fRPb0MTy/D0flaf4/cVbWWkfz1IJOnqd+FECYhhUUc7KxsuDFj37t3fGOmSGP90rSzStxMjTVr1mTevHkAvHjxgrlz59KgQQNOnDhBrly5OHfuHNevX8fBIXrP95CQkBiXG6L4+/vz8OFDqlSpEm17lSpVOHfuXLRtZcuWNdwPCgrixo0b9OjRg169ehm2R0RE4OTkFOd7uHbtGt999x3Hjx/n2bNn6PXaX7p3796laNGiXLp0ieLFi0ebxbJSpUrx5uXSpUtUqlQpWp+RKlWqEBgYyP3798mZM2esr3uz06tOp8Pd3R0fH594z5UuRYTC+fVwbD48eOOylLMnlGyn3Vy8TBmhcdllgoINoGADlF7P07tXcQ24hNmN/XB9L/jdgWt7tBvDwK0QFG4MhZtA1hKpp6gS4j1JYREHnU6XoMsRSikizE07BbW9vT158+Y1PF60aBFOTk4sXLiQ77//nsDAQMqUKWPo//CmqL/A3/f8UQIDAwFYuHAhFSpUiLafuXncPeybNGlCrly5WLBgAW5ubpiZmVGsWDHCwsLeO77EervzqU6nMxQ6Am0+iaPz4fii/4/ksLCGYq2gTGetj0I6mHlU2WSEnM2gWAut1ebpFbiyQ7vdPQo+l7Tb/knaZaDCjaFoC/AoL0WGSNOksEiDdDodZmZmvHr1CoDSpUuzevVq3NzccHR0TNAxHB0dyZYtG4cPH8bb29uw/fDhw5QvXz7O12XJkoVs2bJx8+ZNOnbsmKBz+fr6cuXKFRYuXEjVqlWJiIjg2LFj0fYpVKgQy5YtIyQkxNBq8fY+bytUqBDr1q1DKWUo+g4fPoyDgwM5cuRIUGxvi+pTERkZmaTXp2pBz+DwHDi+4P+XOxyzQfmeWqdI+4QP801zdDqtM6pbQag2QCu+ruyAi1vg2i7wuwtH5mo3Jw8o2hyKtYTspaXIEGmOFBZpQGhoKI8faz3UX7x4wezZswkMDDSM9OjYsSOTJk2iWbNmhlEed+7cYf369Xz55ZdxfskOGzaMUaNGkSdPHkqWLMmSJUs4e/ZsrC0fbxozZgz9+/fHycmJ+vXrExoayqlTp3jx4gWDBw+Osb+zszMuLi4sWLAAd3d3bt26xTfffBNtnw4dOvD111/Tq1cvRo4cye3bt5k8eXK8cXz++edMnz6dL774gn79+nHlyhVGjRrF4MGDk7yWh5ubG7a2tmzfvp0cOXJgY2MT7yWeNCHYF/6eprVQhAdr27IUAe8hUKQZmJtmeHGKZuv8/8tBYcHapZL/NsKlrfDyHhyepd1c8kCJNtrNJY+poxbCKKSwSAO2b99O1qxZAXBwcKBgwYKsXbvWMBTSzs6Ov//+m+HDh9OyZUsCAgLInj07tWrVircFo3///rx8+ZIhQ4bg4+ND4cKF2bx5c7QRIbHp2bMndnZ2TJo0iWHDhmFvb0+xYsWiDet8k5mZGatWraJ///4UK1aM/PnzM3PmTGrW/P+onAwZMvDnn3/Sp08fSpUqReHChZkwYYKh02dssmfPztatWxk2bBglSpQgU6ZM9OjRI0bRkhgWFhbMnDmTsWPH8t1331GtWjX279+f5OOlaOGvtEsef0+FkJfatuyloMaXUKBBurjcYRRWdq/7WjTWcnp1F1xYD5e3ge8N2PuTdstRVitEirfS5uwQIpXSqcROmpCK+fv74+TkxMuXL2N8oYaEhHDr1i1y586dqGWu08Iy3ynJ++TzypUrFCxYkGvXrkXrc2IKSf08JQe9Xo+Pj4+h70oCXqANF939vTZpFIB7MajzHeSvK033SclpbEIDtaG551ZHH5prbqmNpCnVAfLVThctQkbJp4gmOXIa33fom6TFQqQJz58/548//sDR0REPDw9Th5N6PTgDfw6B+6e0x045oPY3UKKtTG9tbNYZ/n+5JOAJnP8DzqyER//Cf5u0WwY3KNURynSCzPG3FAqRUkhhIdKEHj16cPr0aebNm4e1tbWpw0l9Xr2A3ePgxGJthIO1A3gPhUp9wDJpk7WJRHDIApX7ardH5+HMCq0lI9AHDk7TbrkqQ9nO2sgS+ZmIFEwKC5EmbNiwwdQhpE5Kwbk1sHWE1kkToHhrqP+9No22+PCyFoOsP0G9sXBlO5z+TeuXceeIdts6Akq2h3LdtFEoQqQwUlgIkV75P4TNg7ROhKB9STWeAl7VTB2Z4HVfi8JNtNvLB/DPcm3tFb872porR+dpC6OV7wlFmmpziQiRAkhhIUR6o5T2JbVtpDbaw9wSao6AqgOSttCXSH5O2aHml9oQ3+t74eQSuLIN7hzVblszQ5kuWiuGc+wzygrxoUhhIUR6EugD6z+Hqzu1x9lLQ8t5kKWQqSMTCWFmri3klr+O1uJ06jetyAh4BH9PgYNTtaHAFT/VFkaTETzCBKSwECK9uLIDNvbVZtC0sIZa32idBc3l10Cq5JgNPhqhtWJc3qZNYHZzP1zeqt1c82tLz5fqoHXGFeIDkd8oQqR14a9wODAGs/OvZ0x1LwqtF0srRVphbqn1sSjSFJ5e1aZc/2eFdn/LMNg1Fkp3goq909aicCLFkplIhEjLfK6g+/kj7KOKisp9ofdeKSrSKtf80HgyfHkZGk/S5r4IDdA6ek4vBb+3fT0ZV7qZF1GYgBQW6YBSik8//ZRMmTKh0+k4e/asqUOK1f79+zEzM8PPz8/wWKfTGR4nhKenJ9OnT0/GKFORs6thnjc6n0tE2rmi77wBGv4ElqadCVR8ADaOWgtF/5PQZb3WJ0Mp7ZLJ0mYwu5LWPyM8xNSRijRICos04ujRo5ibm9OoUaMYz23fvp2lS5eyZcsWHj16RNGiRdHpdGzcuNEksSZU5cqVefToUaIW+Tp58iSffvppgvdPSvGS4oWHwKaB8EcvCA9GeXnj224z5K2ZgBeLNMXMTJsWvPM6GHBa63NhZQ9PLsLGfjC5sDZ1e8ATU0cq0hApLNKIxYsX88UXX/D333/z8OHDaM/duHGDrFmzUrlyZdzd3bGwMF7XmvDwcKMd621WVla4u7snas0QV1dX7Ozski2mFO/FXVhYF07+oo0IqPElqvN69LKolXDNB02mwLCL2gRoTh5aR979E2FyEW200OP/TB2lSAOksIiLUhAWZJpbIq9/BgYGsnr1aj777DMaNWrE0qVLDc917dqVL774grt376LT6fD09MTT0xOAFi1aGLZF2bRpE6VLl8bGxgYvLy/GjBlDRESE4XmdTse8efNo2rQp9vb2/PDDD7HGtGzZMsqWLYuDgwPu7u506NABHx+faPts3bqV/PnzY2trS82aNbl9+3a052NrTVi3bh1FihTB2toaT09PpkyZEu01b18K0el0LFq0iBYtWmBnZ0e+fPnYvHkzALdv3zasoOrs7IxOp6Nr166Jyn2KcvMgzPOGh2fBLhN88oe2zoes8SHeZOsMVfvD4HPQ7lfwKA+RYfDP79olkiXNtJk+pR+GSCIZFRKX8GAY++4pjXWA0dce/O6R1lyZQGvWrKFgwYIUKFCATp06MXDgQEaOHIlOp2PGjBnkyZOHBQsWcPLkSczNtS8ZNzc3lixZQv369Q3bDh48SOfOnZk5cybVqlXjxo0bhssKo0aNMpxv9OjRjB8/nunTp8fZ+hEeHs64ceMoUKAAPj4+DB48mK5du7J161YA7t27R8uWLenbty+ffvopp06dYsiQIfG+z9OnT9OmTRtGjx5N27ZtOXLkCJ9//jkuLi7xFgRjxoxh4sSJTJo0iVmzZtGxY0fu3LmDh4cH69ato1WrVly5cgVHR0dsbVPhGgxKaSMBto4AfSRkLQEdV0BGWYxNxMPcQlt3pGgLuHscjszVFj67sU+7uRWEyv2gRBvplyMSRQqLNGDx4sV06tQJgPr16/Py5UsOHDhAjRo1cHJywsHBAXNzc9zd3aO9LmPGjNG2jRkzhhEjRtClSxcAvLy8GDduHF9++WW0wqJDhw5069Yt3pi6d+9uuO/l5cXMmTMpV64cgYGBZMiQgXnz5pEnTx5Di0OBAgU4f/48EyZMiPOYU6dOpVatWnz77bcA5M+fn4sXLzJp0qR4C4uuXbvSvn17AH788UdmzpzJiRMnqF+/PpkyZYLXhVbGjBnjfU8pUkSothrp6d+0x8VbQ/NZYJWOLweJxMtZQbu9uANH52ufJ5/LWj+MXWO0CbfK9wR7uaQm3k0Ki7hY2mktB++glCIiIgILC4tE9QV457kT6MqVK5w4ccKwCJeFhQVt27Zl8eLF1KhRI1GnPXfuHIcPH452eSMyMpKQkBCCg4MNfRfKli37zmOdPn2a0aNHc+7cOV68eIFerwfg7t27FC5cmEuXLlGhQoVor6lUqVK8x7x06RLNmjWLtq1KlSpMnz6dyMhIQ8vL24oXL264b29vj6OjY4zLMqlSsC8s76gtTKUzg3rjoEo/mW1RJJ1zLm3k0Ecj4NSvcGQe+D+APT/A31O1ybYq94XMeU0dqUjBpLCIi06XsMsRSoFZBFhYmOQX+uLFi4mIiCBbtmxvhKSwtrZm9uzZiRpRERgYyJgxY2jZsmWM52xs/t8Uam8ff16CgoKoV68e9erVY/ny5bi6unL37l3q1atHWFhYguMxFkvL6BerdDqdodBJtZ5eg99bg+9NsHGCtku03v9CGIONk9YPo9JncGEDHJ6t9d05sVjrGFywIVTpD7kqSiErYpDCIhWLiIjgt99+Y8qUKdStWzfac82bN2flypX06dMn1tdaWloSGRkZbVvp0qW5cuUKefO+318jly9fxtfXl/Hjx+PhoV3nP3XqVLR9ChUqZOhEGeXYsWPxHrdQoUIcPnw42rbDhw+TP3/+OFsr3sXKSlt06+1cpGg3D8LKjvDKDzLmgs5rZflskTzMLbU+FsVbw61DcHiWtpT7pb+0W46yUPULKNREpoYXBqlmVEjTpk3JmTMnNjY2ZM2alU8++STGsMr0ZsuWLbx48YIePXpQtGjRaLdWrVqxePHiOF/r6enJnj17ePz4MS9evADgu+++47fffmPMmDH8999/XLp0iVWrVvHNN98kKq6cOXNiZWXFrFmzuHnzJps3b2bcuHHR9unTpw/Xrl1j2LBhXLlyhRUrVkQbzRKbIUOGsGfPHsaNG8fVq1f59ddfmT17NkOHDk1UfG/KlSsXOp2OLVu28PTpUwIDA5N8rA/izAr4tblWVHiUgz57pagQyU+nA69q8MkabdKtsl219Wbun4JVXWBaKa3zZ2iAqSMVKUCqKSxq1qzJmjVruHLlCuvWrePGjRt8/PHHpg7LpBYvXkzt2rVjvdzRqlUrTp06xb///hvra6dMmcKuXbvw8PCgVKlSANSrV48tW7awc+dOypUrR8WKFZk2bRq5cuVKVFyurq4sXbqUtWvXUrhwYcaPH8/kyZOj7ZMzZ07WrVvHxo0bKVGiBPPnz+fHH3+M97ilS5dmzZo1rFq1iqJFi/Ldd98xduzY9xoimj17dkOn1SxZstCvX78kHytZKQUHpsC6PhAZDsVaQvctkMHV1JGJ9MatADSfCUMvQs3hYOcCfne0UUmTisCOUdrKqyLd0imVOgcrb968mebNmxMaGhrjGnpc/P39cXJy4uXLlzg6OkZ7LiQkhFu3bpE7d+5o/QneJVk6b6Zjb+Zz586dNGjQgJCQEMMli9QiqZ+nWOkj4a9h2uqVANUGQp3R2qyKCXm5Xo+Pjw9ubm6YJfA1In6S0zeEBcPZVXBkNjy7rm0zt4RirbTOxFmLv+sIks9kkBw5je879E2p8qLY8+fPWb58OZUrV463qAgNDSU0NNTw2N/fH14n/O3Oe3q9HqWU4ZYYUfun0hotxVFK8eTJEzZu3Ei+fPmwtLRMdbmN+hzF9llLlPBX6NZ9iu7inyidDtXgJ6j4ut9MAo8b9dlO9R1WUxDJ6RssbLRLI6U7w9Xt6A7PRnfniFZsnF2Fyl0dVbkv5KsTZzEs+TS+5MhpQo+VqgqL4cOHM3v2bIKDg6lYsSJbtmyJd/+ffvqJMWPGxNj+9OlTQkKiL74THh6OXq8nIiIi2kyT76KUMnT8kxaL9xeVz4YNGxIQEMCsWbMS9fNIKSIiItDr9fj6+ia4Re1tulB/nP/qg9XDUygzS/zqTibUqwEkcqisXq/n5cuXKKXkr0EjkZzGIVNZaLIUiyfnsT+7BJvr29Dd+hvdrb+JyJiboJJdeVWgOVhGn4hO8ml8yZHTgICE9aEx6aWQESNGxDshEq/nLihYUOuc9uzZM54/f86dO3cYM2YMTk5ObNmyJc4v9NhaLDw8PHjx4kWsl0Ju376dpKbr8PDwJH95iJjSQj6jLoV4enom7VJIoA+631qhe3weZe2I6rAccldLUix6vZ6nT5/i6uoqv7SNRHKaQC/vozu2AE4tRReqtRgrW2co2w1VoSc4asPkJZ/Glxw59ff3x9nZ+Z2XQkxaWDx9+hRfX9949/Hy8or1+vr9+/fx8PDgyJEj75xYKYr0sUj50ko+36uPxYu72tLWvjfA3hW6bkjQdeq4yPVr45OcJlJoAJxeps3q+eL1mkBmr6cUr/w5+mylJJ9Glm77WLi6uuLqmrRe7VHXet5skTCG1HYtX6RMSf4cPb2qLQLl/wAy5oSuG2WWQ5H6WTtA5c+hYm+4vFWbcOvOUfh3Lfy7Fp1HBayLdACXjmCWujpqi5hSRR+L48ePc/LkSapWrYqzszM3btzg22+/JU+ePAlurXiXqKb34ODg1LkQlUhRgoODIZZZP+P18Bwsba5N1e1aQCsqnLInX5BCfGhm5lC4iXZ7cAaOzoPz69DdO47zveOoIxOhQk+tM6isS5JqpYrCws7OjvXr1zNq1CiCgoLImjUr9evX55tvvsHa2too5zA3NydjxoyGNSTs7OwS1BSfVpruU4rUnk+lFMHBwfj4+JAxY8aEzwh67yT82gpC/CBbKeiyXn6xirQteyn4eAHUG4s6thD9iV8w93+gLXq2bzwUb6MtfpathKkjFYmUauexSIp3XR9SSvH48WP8/PwSfMyo4TxmZmap8oswpUkr+YxaOTZB7+H2EVjWWrsOnbMCdP5DW6vBSKQ/gPFJTo1Lr9fj8+g+bk8OYnbsZ21dkig5K2oFRuGmYCGXSRIq3faxSGl0Oh1Zs2bFzc2N8PDwBL0makihi4uL/IIxgrSQT0tLy4S3VNzYD7+3g/BgyF0dOq0C6wzJHaIQKY+5FZRsr62gevc4HPsZ/tsEd49ptwxZoGwXKNdNLhGmcFJYxMLc3DzBXwx6vR5LS0tsbGxS7RdhSpKu8nl1F6zoABGh2sqkHZbHGN8vRLqj02mrpuaqCAGP4eQSOPELBD6B/RPh7yna6qrle4KXd4JnoBUfjvxEhDCFKztgeXutqCjUCDqulKJCiLc5uMNHI2Hof9B2CXhW1aa4v/inNiR7Rmk4NBOC4p+2QHxYUlgI8aFd2Q4rOkJkmHbduN1v2kqRQojYWVhpa4/03ApfHNf6XFg7gO9N2P4NTCwAa3rArcPagn3CpKSwEOJDurzt/0VFkWbaX2HmqXuWUSE+qCyFoPFk+PIKNJ+ljaKKDNPmxFjcAGaUhUOzIOiZqSNNt6SwEOJDubwNVnbSlj0v2gLa/CJFhRBJZZ1B68z5+QH4bD+U6QJW9vDsGmz/WmvFWNUVru1J8IJ9wjik86YQH8LVnbDyk9dFRUtovQjM5b+fEEaRvTS0KA0Nf4R/18GpJdoEXBfWazcnDyjdEUp3Auecpo42zZMWCyGS27U9b1z+aC5FhRDJxdoBynWFzw5A30NaXwybjPDynjbp1tRi2pT559ZC+CtTR5tmyW83IZLTjQNvjP5oDG0WS1EhxIeQtbjWF6PeOG0UyellcPMA3Nin3WycoPjHWktG9jLaMFdhFPIbTojkcusw/N4WIkKgQH1ou1T6VAjxoVnaQok22u35bTizHP5ZobVinFis3dwKQqmOULKtNsRVvBe5FCJEcrh3QpumOzxYm/yq/TKZjlgIU8vkCbW+hiHnodtmrdiwsAGfy7DjW5hYEH5rBefXQXiIqaNNtaTFQghje/Qv/PoxhAWCVw1tRk2Zp0KIlMPMDPLU0G5NXsKFjfDPcm3q8Ku7tJuNk9bRunQH8Cgvl0oSQQoLIYzJ57LWOSzET1s8qZPMqClEimbjpA1bLdsFnl2HsyvhzCrtUsmpJdrNxUtbx6RkO3DOZeqIUzy5FCKEsfjegCVNIdhXWxK681ptXL0QInXInBdqf6tdKum+RVsQzcpem+Fzzw8wpRgsbgSnf9dWIxaxksJCCGPwu6+1VAQ8hiyFoct6oy59LoT4gMzMwKs6tJoPw69p/3rV0C6H3DoIGz6H8flgbS+4vk8m4HqLXAoR4n0FPdMWRPK7Cy55tE5hdi6mjkoIYQzWGbSWi1IdwO8enF0NZ1dol03OrdZuTjmg1Osl313ymDpik5MWCyHeR8hLWNpCm0bYKYdWVGRwM3VUQojkkNEDagyFAaeh924o111rmXx5H/ZPgmmlYGE9bc6M0EBTR2syUlgIkVRhwbCsDTw6B/aZodsm7RePECJt0+m0kSLNpmuXStougXy1tO13jsKGvjAhH6zvC3ePp7sVV+VSiBBJERGmLSh256j2F0vXjZA5n6mjEkJ8aJY22pLuxVrBywdwdhX887vWmfufZdrNNT+U7aqNLLFP+5dJpcVCiMTSR8K6T+HabrC0g0/WatMHCyHSN6fs4D0EBv4DPXdos3la2sHTq7DtK23F1dVdtan+03ArhrRYCJEYSsGWoXB+vTY9d4ffIVdFU0clhEhJdDrwrKTdGk+Ef/+AU0u1FVfPr9dumfNqfTRKdwRbZ1NHbFTSYiFEYuz9UVtbQKeDjxdo03ULIURcrB2gXDdtxdXPD0L5Htq2Z9e1VowJBWDdZ1rRkUZIYSFEQh2dB/smaPcbT9GuqQohREJlKwFNp8GXl6HpdHAvqi1SeGY5zPOGBXW0dUoiw00d6XuRSyFCJMS5NfDXcO1+ra+hQk9TRySESK2sHaB8d60l494JOLYA/tuojSC5exwcskKFXto+dplMHW2iSYuFEO9ybQ+s66Pdr9gbanxp6oiEEGmBTgc5K0CbxTD0P6g5QpsHJ+AR7B4Lkwprfbp8b5o60kSRwkKI+Nw/rQ0r1UdA8Y+h4QRZ5VAIYXwO7lDrK63AaPUzuBeD8GCtNWN6aVjZGR6eNXWUCSKFhRBxeXYNfvsYwoIgT01oOV9bQ0AIIZKLhbU2PXjfQ9B1k9ZBXOm1SyVzq8OvLeH2EVNHGS/5LSlEbAIew9KW2kql2Uppw0otrEwdlRAivdDpIG9NbUHDfkehRBvQmWnz5yyqr00dfn1fipwPQwoLId4W4g+/tgK/O5ApN3T+Q+tsJYQQpuBeBFov0ibeKtcdzK20WX+XNoNFDeDm36aOMBopLIR4U0QYrOgEj8+DvSt02QAZXE0dlRBCgIuXtj7JkH+1juQW1nDnCPzSGBY1hDvHTB0hSGEhxBv0etjwOdzcD1b2WkuFi5epoxJCiOgcs0HjSTD4nDYs1dwKbh+ChXXh97bw5KJJw5PCQogou0Zr81WYWUC73yB7KVNHJIQQcXPMBk2mwKCz2iJnZuZweRvMroRu/WeY+T8wSVhSWAjB61k1D07X7jefBfnrmDoiIYRImIw5oPlM+OI4FGkGSqE7u5JMf/YwSedOmXlTiP82w9YR2v06o7RFgYQQIrVxzQ/tl8H9U6gdowjM2xRHE8y7I4WFSN/uHoe1PbWqvnwPqD7Y1BEJIcT7yVEW1XUzIT4+OJrg9HIpRKRfz65rHZ0iQqBAfWg0SWbVFEKkDTqdyX6fSWEh0qegZ/BbKwh+rnXSbLsEzKUBTwgh3pcUFiL9CX+ltVQ8vwUZc8Ena7XhpUIIId6bFBYifdHr4Y9P4d5JsM0IXdZpqwkKIYQwCiksRPqy8zv4b5M2oUyHlVovaiGEEEbz3oVFaGiocSIRIrmdWAyHZmr3W86F3FVMHZEQQqQ5iS4stm3bRpcuXfDy8sLS0hI7OzscHR3x9vbmhx9+4OHDh8kTqRDv48oO+HOIdr/WN9pKgUIIIYwuwYXFhg0byJ8/P927d8fCwoLhw4ezfv16duzYwaJFi/D29mb37t14eXnRp08fnj59mryRC5FQj87D6m6g9FCqI9QYZuqIhBAizUrw+LqJEycybdo0GjRogJlZzHqkTRvtL8AHDx4wa9Ysfv/9dwYNGmTcaIVILP9HsKwNhAWClzc0myFzVQghRDJKcGFx9OjRBO2XPXt2xo8f/z4xCWEcYUHwezvwf/D/qW4trEwdlRBCpGkyKkSkTVHDSh+eATsX6LRGG14qhBAiWSW6sLh27Rrr1q3j1q1bAPz1119Ur16dcuXK8cMPP6BMsJKaEDHsGg0X/9SGlXZcCS5epo5ICCHShUTNYbxhwwbatGmDmZkZOp2OBQsW0Lt3b2rUqIGjoyOjR482dOwUwmROL/v/Eugt5kCuiqaOSAgh0o1EtVj88MMPfPnll4SEhDBv3jz69OnDTz/9xLZt29iyZQtz5sxh6dKlyRft63kzSpYsiU6n4+zZs8l6LpEK3ToMmwdq92t8CSXbmjoiIYRIVxJVWFy5coXu3buj0+no0qULYWFh1K5d2/B83bp1uXPnTnLEafDll1+SLVu2ZD2HSKWe34KVHSEyHIq2hI++MnVEQgiR7iSqsAgKCsLBwUF7oZkZtra22NnZGZ63tbVN1pk4t23bxs6dO5k8eXKynUOkUiEvtYXFolYrbTkXYhkWLYQQInklqo+FTqdD98YcAG8/Tk5PnjyhV69ebNy4MVoxE5/Q0NBohY6/vz8Aer0evV5vlLj0ej1KKaMdL71LUj71kehWd0fncxnlkBXVfgVY2GgjQ4R8RpOB5NS4JJ/Glxw5TeixElVYKKXInz+/oZgIDAykVKlShgmzkmtEiFKKrl270qdPH8qWLcvt27cT9LqffvqJMWPGxNj+9OlTQkJCjBKbXq/n5cuXKKVinThMJE5S8ulw8Efsr+1CWdjgW382ESHmEOKT7LGmFvIZNT7JqXFJPo0vOXIaEBCQoP0SVVgsWbIkqfHEasSIEUyYMCHefS5dusTOnTsJCAhg5MiRiTr+yJEjGTx4sOGxv78/Hh4euLq64ujomOS436TX69HpdLi6usp/CCNIdD7/WYbZOa3DsGo5n0xFayV/kKmMfEaNT3JqXJJP40uOnNrY2CRov0QVFl26dElqPLEaMmQIXbt2jXcfLy8v9u7dy9GjR7G2to72XNmyZenYsSO//vprrK+1traO8Rpe9w8x5odXp9MZ/ZjpWYLzeecY/Pm6cKw5ArPiLT9IfKmRfEaNT3JqXJJP4zN2ThN6nEQVFsbm6uqKq6vrO/ebOXMm33//veHxw4cPqVevHqtXr6ZChQrJHKVIkfzuwYrXI0AKN4WaI0wdkRBCiMQUFs7OzgnuqPn8+fP3iSmGnDlzRnucIUMGAPLkyUOOHDmMei6RCoQFw/IOEPQU3ItCq/kyAkQIIVKIBBcW06dPN9z39fXl+++/p169elSqVAleL1K2Y8cOvv322+SJVAgApWDD5/DonLYGSMeVYJ3B1FEJIYR4LcGFxZv9K1q1asXYsWPp16+fYVv//v2ZPXs2u3fvTvbl0j09PWVNkvTq72lwfj2YWUD738E5l6kjEkII8YYktR/v2LGD+vXrx9hev359du/ebYy4hIjp6k7Y/Xr4cONJkLuKqSMSQgjxliQVFi4uLmzatCnG9k2bNuHi4mKMuISI7tl1WNNDuxRSthuU72HqiIQQQsQiSaNCxowZQ8+ePdm/f79hVMbx48fZvn07CxcuNHaMIr0LDYDl7bVpu3NWgMYTTR2REEKIOCSpsOjatSuFChVi5syZrF+/HoBChQpx6NAhGf4pjEuvhz96w9Mr4JAV2i8Di5hzkwghhEgZkjyPRYUKFVi+fLlxoxHibQcmw6UtYG4FHZeDg7upIxJCCBGPBPexCAoKStSBE7u/EDFc3Ql7f9DuN50GOcqaOiIhhBDvkODCIm/evIwfP55Hjx7FuY9Sil27dtGgQQNmzpxprBhFevT8FqzpqXXWLN8Dynxi6oiEEEIkQIIvhezfv5+vvvqK0aNHU6JECcqWLUu2bNmwsbHhxYsXXLx4kaNHj2JhYcHIkSPp3bt38kYu0ixdeDC6tZ0gxA88ykHD8aYOSQghRAIluLAoUKAA69at4+7du6xdu5aDBw9y5MgRXr16RebMmSlVqhQLFy6kQYMGmJubJ2/UIu1SCsd936J78h9kcJPOmkIIkcokuvNmzpw5GTJkCEOGDEmeiET6dvxnbK/+iTKzQNfuN3DMZuqIhBBCJIKs3CRSjjvH0G3/BgBVbxx4VjZ1REIIIRJJCguRMgT6wKou6PQRvMrXCCr2MXVEQgghkkAKC2F6kRGwuhsEPEK5FsC/5veg05k6KiGEEEmQ5AmyhDCa3ePg1kGwyoBqtwyl7E0dkRBCiCSSFgthWhe3wMFp2v2Wc8A1v6kjEkII8R6S3GLh5+fHiRMn8PHxQa/XR3uuc+fOxohNpHW+N2H9Z9r9yn2haAttbRAhhBCpVpIKiz///JOOHTsSGBiIo6Mjujeuh+t0OiksxLuFh8Dqrv9fsbTeWFNHJIQQwgiSdClkyJAhdO/encDAQPz8/Hjx4oXh9vz5c+NHKdKebSPh4VmwywRtl4K5pakjEkIIYQRJarF48OAB/fv3x87OzvgRibTv3Bo4sVgb+fHxQnDKbuqIhEh3IvWRhEaEExEZQaQ+Er1S6PV6lFLodDrMzMww0+kw05lhYW6BtYUlFubS31+8W5I+JfXq1ePUqVN4eXkZPyKRtj29CpsGaPe9h0L+OqaOSIhUQylFUGgwvoEveRH0kheBL3kZHIBfsP/rfwMIDAki4FUQASFBBIYEERz6iuCwEF69voWEhRIaEY5eJb4/k5nODGsLS2ytbLCztsXexg57a1scbOxxsnMgo70jznaOZLR3xNUxE26OLrg6uuDm5EIme6dol81F2pWkwqJRo0YMGzaMixcvUqxYMSwtozdjN23a1FjxibQkLBhWfgJhQZC7Onz0lakjEsLklFIEhATx2O8pPi998fH35cnLZ/j4P+ep/3N8A17wLOA5zwJe4BvoR1hEeLLGo9PpUErF+pxe6XkVHsqr8FCeB71M1HFtLK3J5uxG9kxZyJ7JnZwu2fBy8yC3mwe5MsvU/WlJkgqLXr16ATB2bMwOdzqdjsjIyPePTKQ9f30JPpcgQxZosxjMZLE6kbYppfAN9OPhiyc8fO7DQz8fHr54wqMXPjx84cOTl8945PeUV2EhiTqutYUVLg4ZcbZ30loK7BxwsnPEyc4BR9sMONjYk8HWngzWdtjb2GotDFa22FpZY21pjbWFJVYWVlhZWGBhboG5mTnmOjPMzP7f7U4phV7pidTrCY+MICwijLCIcELDw3gVFkpQaDDBoa8ICg3G/1UQL4P9eRHkj1+wP88DX/Is4LlWHL305XnQS0LCQ7npc4+bPvdifU8u9hkplCMPBbPloUA2Lwpm86JwjnzYW9u+989BfFhJKizeHl4qxDudXQ2nf9P6VbReBA5ZTB2REO8tUh/JI7+n3PV9yH3fx9zzfcT954+47/uYBy+e8OD5E0LCQxN0LEfbDGRxyoybkwtury8fZHZwxtUhE5kdMpHZ0RmXDBnJlCEjdlY2yX5ZQafTYa4zx9zMHCsLy/f6gg8ND+Ox31PuP4/Ky2NuP33ALZ973Hp6X2uZCfLj0JXTHLpy2vA6M50Zed1zUTxnQUrmKkjp3EUplrMAltLXI0WTn45Ifs+uweaB2v0awyGPt6kjEiLB/IL8ufPsIXeePeDOswfcffaQ208fcPvJPR77PyM8MuKdx3BzdCGbcxayZ3Ija0Y3sjq7kc3ZDfeMrrg7ZcbNKXOa/svc2tKKXK7ZyeUae0ftl0EBnLx8Fp+QF1x5dIurD2/x3/1r+Pj7cvXRLa4+usUfx7cBYGtpTQnPwpTPU5yK+UpSIU8J7G1kIEFKkuTC4sCBA0yePJlLly4BULhwYYYNG0a1atWMGZ9I7cJDYFXX1/0qqkHN4aaOSIholFI8C3jBrdfN9Lef3ufW0/vcfvqAO08f4BfsH+/rLczMyZ7JHQ+XrORwcSdHptc3l6zkyJSFrBndsLa0+mDvJzVysLWnaPZ8uLm5Rbsc89jvKf/evcy5O5c5e+cSp29ewC/Yn2PXznDs2hlmbv8VCzNzSucuQpUCZaleqBxlvYpJi4aJJSn7v//+O926daNly5b0798fgMOHD1OrVi2WLl1Khw4djB2nSK22jYTH58E+s3YJRPpVCBMJDAnixpN73HhyhxtP7hqu9998cpeAkKB4X+vm6IKna3ZyZs5GzszZ8cjkjqO5HcXyFiJ7piyYy+c6WbhndMU9oyt1i2t/sOr1em743OXkjX85fv0ch6+c5v7zx5y48S8nbvzLtK2/4GibAe9CFahdrDIfFamIq6OLqd9GuqNTcXX/jUehQoX49NNPGTRoULTtU6dOZeHChYZWjJTG398fJycnXr58iaOjo1GOqdfr8fHxiVFpC+DCRlj1ehbWLhsgX613vkTyaXzpKadKKR77PeX6kztcfXSba49vc/3xHa4/vsPjl0/jfJ1OpyO7cxZyu+Ugt5sHnplzkNstx+tiInuMyxTpKacfwvvk886zhxy+coqDl09x4OLxaKNVdDod5fMUp1GpmjQo6Y2HS9ZkiD5lSo7PaEK/Q5NUWFhbW/Pff/+RN2/eaNuvX79O0aJFCQlJXA/nD0UKiw/oxR2YU1Wbsrv6YKg7OkEvk3waX1rMqVKKJy+fcfnhTa48vMmVRze5+ug2Vx/dwv9VYJyvy+zgTN4suciTJSdeWXKSxy0nXlk8yJk5GzaW1gk+f1rMqSkZK5+R+kjO3r7E7gtH2HPhMP/evRLt+eI5C9K8bB1alKtDVmc3I0SecpmysEjSpRAPDw/27NkTo7DYvXs3Hh4eSTmkSEsiw2FNd62o8CgHtb42dUQiFQsOC+HygxtcvH+Niw+uc+nBDS4/vMGLoNj7PpibmePpmp187p7kdc9FPndP8rnnIk+WXDjZOXzw+MWHY25mThmvopTxKsrwpp/y4PkTtp3dz5Yz+zl+/Sz/3r3Mv3cvM27DbCrnL02r8vVoXPojHG0zmDr0NCVJhcWQIUPo378/Z8+epXLlyvC6j8XSpUuZMWOGsWMUqc2eH+HeSbBxgja/yDogIsF8A/24cPcK/967woV7V/nv3jVu+NyNdcImM50ZXm4eFMiWm/xZvSiQLTcFsnrh5eYhnSUFANkzZaHnR23p+VFbnvr78teZ/aw/sYMTN/7l8JXTHL5ymq9XTaFJmVp0qNKUCnlLyOygRpCkwuKzzz7D3d2dKVOmsGbNGnjd72L16tU0a9bM2DGK1OT6Pjg4VbvffCY45zJ1RCKF8gvyj9bj/+ydSzx4/jjWfTM7OFMkRz4KZc9L4Rx5KZQtD/myeibq8oVI31wdXejq3Yqu3q24++whG0/tYu2xbVx7fJs1x7ay5thW8mTJSccqzWhfpTHO9k6mDjnVSlIfi9RK+lgks8CnMLsyBD6Bsl21wiKRJJ/GlxJyGhEZwcUH1zl98wL/3L7ImVv/cf3JnVj3ze2ag6IeBSiWMz9FPfJTNEd+3JxSVs/+lJDTtMRU+VRKcfrWBVYc3szGU7sJDn0Fr6cfb1GuLt1rfEyxnAU+WDzGlOr6WAgRg1Kwvo9WVLgVhIbjTR2RMKHAkCBO3jjPiRv/cvLGv/xz+z/DL+035cqcnZKehSiRsxAlchWkWM4Ccr1bfDA6nY6yXsUo61WMsa0HsunUbpYcWMeFe1dZeeRPVh75k/J5itOndgfqlagmw4oTKMGFRaZMmbh69SqZM2fG2dk53utQz58/N1Z8IrU4Nh+u7gILa2izBKxkJrz05GVwAMeuneHotbMcvXaG83evxFg909E2A6VzF6GUZxHK5C5KqdyFccmQ0WQxC/GmDDb2dKzajA5VmnLq5nl+2f8Hf57eY5gjw8vNg96129OmYkNsrWxMHW6KluDCYtq0aTg4OBjuSwcXYfD4Amz/Vrtf/3twL2LqiEQyexUWwonr5zh45RSHLp/m37uXYxQSOTNno3yeEpTPU5xyeYpRIKuXXDYQKZ5Op6NcnuKUy1Oc0R/3Z/G+tfz693pu+txj+IqJTPxzIX1qtadbjVZksLE3dbgpkvSxeE/p/lprWDDMrwE+l6FAfei0WltoLInSfT6TgTFyqpTi8sOb7L94jP0Xj3Ps2llCI8Ki7ZMnS04q5y9NxbwlqZivFNkzpd2F5uRzalwpPZ9BIcGsOPwnP+9Zyf3XHYwz2jnyaa129KjZOkUOY051fSz++ecfLC0tKVasGACbNm1iyZIlFC5cmNGjR2NlJUO90o3tX2tFRYYs0HLuexUVImUJDgvh0OVT7D5/mN0XDvPwhU+057M5u1G1QFmqFSxHlQJlyJbGJxwS6Ze9jR29arWlW41WbDi5i+nblnDjyV0m/rmAebuW06dOB3rXaictGK8lqbDo3bs3I0aMoFixYty8eZO2bdvSsmVL1q5dS3BwMNOnTzd+pCLlufQXnFis3f/4Z209EJGqPfV/zs5/D7Lt3N8cunwq2pLfNpbWVMpXihqFK1CjcEXyZ/WUS6IiXbEwt6B1xQa0LF+XP0/vZdq2JVx5eJNJfy5k8b619K/fmS7VW6b7PhhJKiyuXr1KyZIlAVi7di3e3t6sWLGCw4cP065dOyks0oOAx7Chr3a/an/I+5GpIxJJ9OD5E/46s4+tZ/Zz4sa/0fpKZM/kTp1iVahTrAqV85dO978wheD1DJ/Ny9WhaZla/PnPXib9uZDrT+4w+o+Z/Lx7JUMb96Rd5cbpdhRJkgoLpRR6vfbLZ/fu3TRu3BheT/X97Nkz40YoUh69Htb1geDnkLU41P7W1BGJRHrs95Q/T+9l8+ndnLx5PtpzxXMWpGFJb+qVqE7BbF7SKiFEHMzMzGhWtjaNStVg7fHtTN6yiAfPHzPk959YuHcNo1p9Qc0iFU0d5geXpMKibNmyfP/999SuXZsDBw4wb948AG7dukWWLGm3w5Z47dh8uL4XLGyg9WJtiKlI8fxfBbL17H7+OL6do9fOGKbJ1ul0VMhTgkalalK/ZPV0tQKkEMZgYW5B+8qNaVmuLr/+vZ6pf/3C5Yc3aD9rIDULV+S7Vv0olD1vAo6UNiSpsJg+fTodO3Zk48aNfP3114bFyP744w/D2iEijXp8AXZ8p91v8AO4pc5Z6dKLiMgI9l44yrIDG/j76qloIznKeRV7/ddWzTS/0qMQH4K1pRWf1mpHm4oNmbZtCb/sW8u+i8c4cOkEXb1b8mWTT8lob5wRiSmZUYebhoSEYG5ujqVlylx0SoabvqfwEG1o6ZOLUKAedFpj9FEg6Sqfyejmk7usPLKFNce28uTl/y9P5nP3pHXFBrQoV1daJt6DfE6NK63m8/bT+4xbP4e/zuwDIFOGjHzd/DPaV26S7O8z1Q03vXfvHjqdjhw5cgBw4sQJVqxYQeHChfn000+THrVI2XaO0ooKe1doIUNLU5rQ8DC2nt3Pr39v4Ni1M4btmTJkpH6RqnSu2YoSuQpKnwkhPhBP1xws7v0TBy+f5OvVU7n66BZDfv+J3w5uZGKH4ZTIVdDUISaLJBUWHTp04NNPP+WTTz7h8ePH1KlThyJFirB8+XIeP37Md999Z/xIhWld2wNHtb40tJwLGVxNHZF47e6zhyw7uJEVR/7EN+AFvF5SvEbhCnSo0oTaRavg9/wFbm5uUlQIYQLVCpZjzzfL+GXfWiZvWcS5O5doML47PWq2ZnjTT9Pc/BdJKiwuXLhA+fLlAVizZg1Fixbl8OHD7Ny5kz59+khhkdYE+8L6z7T7FXpql0GESSmlOHL1HxbuXc2Ofw8aOmK6O7nSsWpTOlZtZpiwKmoElxDCdCzNLehduz0tytVl9B8zWH9yJwv3ruavM/v4oe0QGpT0NnWIRpOkwiI8PBxra20kwO7du2natCkABQsW5NGjR8aNUJiWUrBpoDZvReZ8UO97U0eUroWGh7Hh9S+k/+5fM2yvXrAcXbxbUrd4NSzNZdFiIVIqNycX5vYYS5tKjRi+YiJ3nj2g2/zhNCpVg/Hth+Hq6GLqEN9bkn4DFSlShPnz59OoUSN27drFuHHjAHj48CEuLqk/KeINZ1bAf5vAzAJaL5JVS03E/1Ugvx5Yz8K9q/Hx9wXA1sqGNhUb0vOjNuRz9zR1iEKIRKhRuAL7v1vOtK1LmLvzd/46s58jV/9hXJtBtCpfP1VftkxSV9EJEybw888/U6NGDdq3b0+JEiUA2Lx5s+ESibF5emrTB795Gz9+fLKcS7z2/Db89aV2/6OvIHspU0eU7jz2e8rYdbMoPbIpP2yci4+/L9mc3fimRV/++WkTEzp8KUWFEKmUrZUNXzX/jO0jl1DMIz8vgvzpt2QMn8wdyqO31uZJTZLUYlGjRg2ePXuGv78/zs7Ohu2ffvopdnbJ9xft2LFj6dWrl+Fx1DLuIhnoI2FdbwgNgJwVofogU0eUrtx//pjZO5ax8vCfhrknCmTzom/dTrQoV1cudwiRhhT1yM/WEb8wd+fvTPlrMbvPH6bGuI781G4oLcrVTXWtF0n+7WRubh6tqOB1q0JycnBwwN3dPcH7h4aGEhr6/0WU/P394XVnNmN1aNPr9dGmOE8z/p6O2Z2jKGsHVKv5gE6byjuZpdl8JtDdZw+ZvXMZq4/+RXhkBADl85SgX91O1Cpa2fALJjH5Se85TQ6SU+OSfIK5zowv6nWmXvFqDFr2A2duX+TzX0ax7ewBfmo3jEwZnBJ1vOTIaUKPleAJskqXLs2ePXtwdnamVKlS8VZQ//zzT8IjTSBPT09CQkIIDw8nZ86cdOjQgUGDBmFhEXdtNHr0aMaMGRNj+9WrV43W2qHX63n58iVOTk5pZmIXi6cXcVnbGp0+nJe1xvOqUMsPdu60mM+EeOLvy6K/17Lhn11E6CMBKOdZjE+921Aud7H3OnZ6zWlykpwal+QzuojISH459AcLDqwhQh9J5gzOjGral2r5yyb4GMmR04CAAPLnz2+8CbKaNWtmGAnSvHlzowSZGP3796d06dJkypSJI0eOMHLkSB49esTUqVPjfM3IkSMZPHiw4bG/vz8eHh64uroadeZNnU6Hq6tr2vgPER6CbvUIdPpwVOEmOFTvjcMHbIZLc/l8B9+AF8zeuYxf/15PSLh2yaN6wXIMatidCnlLGOUc6S2nH4Lk1LgknzF90/oLmlaowxdLx3Lt8W2+WPE93Wt8zDct+mJj+e71mZIjpzY2CVvd2KhTeifWiBEjmDBhQrz7XLp0iYIFY85O9ssvv9C7d28CAwMNBc+7yJTeCbB1JByZAxnc4IvjYP9hR/mkuXzGISj0FT/vXsmcnb8TFBoMQIW8JRjRrA+V8hm3k2x6yemHJDk1Lsln3F6FhfDjxnks3LsagELZ8zC3+1gKZc8T7+tS3ZTebwoMDIxx3SWhX9pDhgyha9eu8e7j5eUV6/YKFSoQERHB7du3KVBAFsIyihv7taICoMWcD15UpAcRkRGsOrKFiX8uNAwbLZ6zICOa9aZm4YqprpOWECJ52VrZMK7NIGoUrsCAX8dx6cENGozvzqhWX9DVu1WK/J2RpMLi1q1b9OvXj/379xMSEmLYrpRCp9MRGRmZoOO4urri6pq0qaHPnj2LmZkZbm6yKqNRvHoB617Prlm+h8yumQz2XDjCmHWzuProFgC5Mmfnq+af0bRMrRT5y0EIkXLUKlqZfd/+Tv9fx7Hvv2OMXDWZQ1dOMfWTr3GyS1kjJJNUWHTq1AmlFL/88gtZsmRJ9l+KR48e5fjx49SsWRMHBweOHj3KoEGD6NSpU4yRKSKJ/hwK/g/AxQvqy+yaxnT98R1G/TGDPReOAOBs78jghj3oXL0F1pZWpg5PCJFKuDq6sLzvVBbtW8O49bP568x+zt+7ys89v6eUZ2FTh2eQpMLi3LlznD59+oNdgrC2tmbVqlWMHj2a0NBQcufOzaBBg6J1zBTv4fx6+HctmJnDxwvAKm0tiGMqL4MDmLr1Fxbv1Xp2W5pb0KNmGwY17Jbi/sIQQqQOZmZmfFqrHeXyFOfThV9z99lDmk76lO9afkHPj9qkiNbPJBUW5cqV4969ex+ssChdujTHjh37IOdKd/wfwuaB2v3qQ8AjeWZOTU+UUqw9vo2x62bx7PVqo3WKVWH0xwPIkyWnqcMTQqQBpTwLs/vr3xi87Af+OrOfb9dO49j1s0zv/A0Otqb94zBJhcWiRYvo06cPDx48oGjRolhaWkZ7vnjx4saKTyQnpWBDX3jlB9lKQc3hpo4o1bv04AYjV03m2LUzAOTNkouxbQbyUZFKpg5NCJHGONk5sOjTn1i8fy1j/pjJX2f2ceXhTRb1/on8JpzqP0mFxdOnT7lx4wbdunUzbNPpdInuvClM7MQiuLYHLGy0SyDmlgl4kYhNUOgrJm9ZxII9q4jUR2JrZcPght3pXbs9VhaSVyFE8tDpdPSs2YZSuQrTa+FXXH9yh4YTejC54wgq5zTOXDiJlaTConv37pQqVYqVK1d+kM6bIhk8uwbbv9Hu1xsDbjJkN6n2/XeML1dM4J7vIwAalPBmbJuBeLhkNXVoQoh0ooxXUXZ+9SufLf6Wg5dP8fkvo2hfoTETPxn+wecGSVJhcefOHTZv3kzevHmNH5FIfpER8MenEP4KvGpAhd6mjihVeur/nFFrp7P+5E4AsmdyZ3z7YdQpVsXUoQkh0qHMDs6s6j+DCZsXMHP7r/i/CsBM9+EnHEtSYfHRRx9x7tw5KSxSqwOT4f5psMkILeeCzHSXKEopNpzcyderp/AiyB8znRk9a7ZheNNPsbdJvtV9hRDiXczNzPmq+WdUzFuS3I5ZTXJFIUmFRZMmTRg0aBDnz5+nWLFiMTpvNm3a1FjxCWO7fxr2v55GvclkyJjD1BGlKj4vfRm+YiLbzh0AoHD2vEz55KsUNYZcCCFqFK6Aj4+PSc6dpMKiT58+AIwdOzbGc9J5MwULC4Y/eoE+Eoq1hOKtTR1RqvF2K4WluQWDGnbni/qdsTR/75nxhRAizUjSb0Rjru8uPqCd38Gz6+CQFZpMBel0myC+gX58uXw8f53ZD0Axj/zM6PIthXPkM3VoQgiR4hjtTy0/Pz8yZsxorMMJY7u2G44t0O63nAt2mUwdUaqw6/xhBi/7gaf+z6WVQgghEiBJvfYmTJjA6tWrDY9bt25NpkyZyJ49O+fOnTNmfMIYgp/D+r7a/YqfQr5apo4oxQsKCWbY8vF8MmcIT/2fkz9rbrYOX8zgRt2lqBBCiHgkqbCYP38+Hh4eAOzatYvdu3ezfft2GjRowLBhw4wdo3gfSsHmQRDwCDLng7ox+8WI6M7euUTtHzqz7OBGdDodvWu3Z+dXSymWU+b6EEKId0nSn16PHz82FBZbtmyhTZs21K1bF09PTypUqGDsGMX7OLsKLmwAMwtovRCsZDhkXPR6PXN3LWf8pvlE6CPJ7pyFGV2/o2qBMqYOTQghUo0ktVg4Oztz7949ALZv307t2rXhdc95GRGSgry4C1tetyDVHAHZS5s6ohTryctntJs5gO83zCFCH0nj0h+x55tlUlQIIUQiJanFomXLlnTo0IF8+fLh6+tLgwYNADhz5oxMmpVS6CNhXW8I9ddWLK0uS8zHZd9/x+i7ZDTPA/2wtbLh+zaD6FClqUxVL4QQSZCkwmLatGl4enpy7949Jk6cSIYMGQB49OgRn3/+ubFjFElxeBbcPgxWGV4vMCYdDt8WERnBxD8XMnP7rwAUyZGP+T3Hkc+EqwIKIURql6RvG0tLS4YOHRpj+6BBg4wRk3hfj/6F3eO0+w3Hg4uXqSNKcR6+8OGzxd9y/Lo2iqlL9ZaMaT0AG0trU4cmhBCpWpL/jL127Rr79u3Dx8cnxoRZ3333nTFiE0kRFgxrekBkOBRqBGU+MXVEKc7+i8f5fPF3PA96SQYbO6Z0+opmZWubOiwhhEgTklRYLFy4kM8++4zMmTPj7u4e7Vq0TqeTwsKUdnwLT69AhizQfLbMrvkGvV7PjO1LmfjnQpRSFPPIz4JeP5DbzcPUoQkhRJqRpMLi+++/54cffmD48OHGj0gk3ZUdcHyhdr/VPLB3MXVEKcaLoJf0WzKGPReOANCpajO+bztYLn0IIYSRJamwePHiBa1bywJWKUrgU9jwenbNSn0gnzTtR7lw7yrd5g/nnu8jbCyt+an9MNpXbmzqsIQQIk1K0jwWrVu3ZufOncaPRiSNUrCxHwT6gFshqDvG1BGlGOtP7KDJxF7c831ErszZ+XPYAikqhBAiGSWpxSJv3rx8++23HDt2jGLFimFpaRnt+f79+xsrPpEQJ3+By9vA3AraLAZLW1NHZHIRkRGM2zCHn3evBKBmkYrM6z6WjPaOpg5NCCHStCQVFgsWLCBDhgwcOHCAAwcORHtOp9NJYfEh+VyGrSO1+3VHg3tRU0dkcr6BfvRZ9A0HL58CoH/9Lgxv+inmZuamDk0IIdK8JBUWt27dMn4kIvHCQ2BNd4gI0VYsrSSTk116cIMu84Zx99lD7KxtmdH5W5qU+cjUYQkhRLoh0zGmZju/g8cXwD4ztJwPZknqMpNm7Dj3N5//Mpqg0GByZc7O0s8mUih7HlOHJYQQ6UqSC4v79++zefNm7t69S1hYWLTnpk6daozYRHyubIej87X7LeeBQxZTR2QySilm7fiNnzbNRylFlQJlWNjrRzJlcDJ1aEIIke4kqbDYs2cPTZs2xcvLi8uXL1O0aFFu376NUorSpWUFzWQX8ATWv77sUekzKFDP1BGZTEh4KEOW/ci6EzsA6OrdinFtBmEpa6MIIYRJJKntfOTIkQwdOpTz589jY2PDunXruHfvHt7e3jK/RXLT6+GPTyHomdZRMx0PLX3q/5zW0/qx7sQOLMzMmdDhS8a3HyZFhRBCmFCSCotLly7RuXNnACwsLHj16hUZMmRg7NixTJgwwdgxijcdnAY39mlDStv8ApY2po7IJC4/vEnDCT04efM8TnYOrOo/gy7VW5o6LCGESPeSVFjY29sb+lVkzZqVGzduGJ579uyZ8aIT0d05Bnu+1+43ngxuBU0dkUns+++YYdIrT9ccbPlyIVULljV1WEIIIZLax6JixYocOnSIQoUK0bBhQ4YMGcL58+dZv349FStWNH6UAoKfa0NL9ZFQvDWU7mTqiExi2cGNjFg5iUh9JBXzlmRxn/G4ZMho6rCEEEK8lqTCYurUqQQGBgIwZswYAgMDWb16Nfny5ZMRIclBKdjQD17eBxcvaDY93a1aqtfr+WnTfGbt+A2Ajys0YEqnkVhbWpk6NCGEEG9IdGERGRnJ/fv3KV68OLy+LDJ//vzkiE1EOfYzXNqiTdnddilYO5g6og8qJDyUgb9+z8ZTuwAY2rgnQxr1QJfOiishhEgNEl1YmJubU7duXS5dukTGjNIEnezun4LtX2v364+DbCVNHdEH9SLoJV3nfcnx6+ewMDNnyidf0bZSI1OHJYQQIg5J6rxZtGhRbt68afxoRHTBz2FVV4gMh8JNoWIfU0f0Qd199pAmEz/l+PVzONpmYGX/6VJUCCFECpekwuL7779n6NChbNmyhUePHuHv7x/tJoxAr4d1fcDvLmTKDS3npKt+FRfuXaXxxF5cf3KHbM5ubBr6M9UKljN1WEIIId4hUZdCxo4dy5AhQ2jYsCEATZs2jXadWymFTqcjMjLS+JGmN4dmaNN2W1hD+2Vgk36mpz564yzD1k4kMCSYQtnzsLzfNLI5u5k6LCGEEAmQqMJizJgx9OnTh3379iVfRAJuHYbdY7X7jSZB1uKmjuiDWX9iBwOXf0+EPpIqBcqwpM8EHG0zmDosIYQQCZSowkIpBYC3t3dyxSMCHsPqrtp8FSXaQtkupo7og5m/ewWj/5gJQLOytZnZ5TsZTiqEEKlMokeFyBC/ZBQRBis7Q+ATcCuUbuar0Ov1fL9hDnN3LQegY8UmTOg0HAsLWfNDCCFSm0T/5s6fP/87i4vnz5+/T0zp17aRcPcYWDtCh+VgZW/qiJJdeGQEg5f9yNpjWwH4qvlntC5RFzOzJPUrFkIIYWKJLizGjBmDk1P66Uj4wfyzHI4v1O63XgiZ85o6omQXHBZCrwVfsefCEczNzJncaSRtKzbEx8fH1KEJIYRIokQXFu3atcPNTXroG9XDs7B5kHa/5ggo2MDUESW7l8EBdJ47lOPXz2Fjac2CXt9Tt3g19Hq9qUMTQgjxHhJVWEj/imQQ5AsrOkFECBSopxUWaZzPS1/azxrIf/ev4WibgWV9J1Mhb/qaUVQIIdKqJI0KEUYSEQYrP/n/JFgfL4Q03rfgzrOHtJ3Rn9tP7+PqmIlV/WdQJEc+U4clhBDCSBJVWEgztREpBX99CbcPaYuKdVoNtml77ZUrD2/RdkZ/Hr98Ss7M2VgzYCaerjlMHZYQQggjkvF8pnJ8IZz8RRtO2mYxuBU0dUTJ6uydS3SYOZDnQS8pmC0Pq/pPxz2jq6nDEkIIYWSpqt39r7/+okKFCtja2uLs7Ezz5s1NHVLS3NgPW4dr9+uOhQL1TR1Rsjpy9R8+ntaX50EvKeVZmA1D5kpRIYQQaVSqabFYt24dvXr14scff+Sjjz4iIiKCCxcumDqsxPO9Aas6azNrlmwHVfubOqJktev8YXot+IqQ8FCqFijL0s8mkMEm7c/PIYQQ6VWqKCwiIiIYMGAAkyZNokePHobthQsXNmlciRbkC7+1gld+4FEOms1M0zNrbjq1m76/jCJCH0m94tX4udf32FhamzosIYQQyShVFBb//PMPDx48wMzMjFKlSvH48WNKlizJpEmTKFq0aJyvCw0NJTQ01PA4akl3vV5vtI6oer0epdS7jxcegm55e3S+N1EZPVDtfgdzK2159DRo1dEtDP19PHqlp0W5ukzv/A2W5hbvzFOC8ykSTHJqfJJT45J8Gl9y5DShx0oVhcXNmzcBGD16NFOnTsXT05MpU6ZQo0YNrl69SqZMmWJ93U8//cSYMWNibH/69CkhISFGiU2v1/Py5UuUUnFPQ630OO0cgu3dY+itHPBt+DORr3TwKm3OMLnq+F+M36bNItqqTF2+btCHF74Jm+Y9QfkUiSI5NT7JqXFJPo0vOXIaEBCQoP1MWliMGDGCCRMmxLvPpUuXDFXS119/TatWrQBYsmQJOXLkYO3atfTu3TvW144cOZLBgwcbHvv7++Ph4YGrqyuOjo5GeQ96vR6dToerq2ucPzzdrrHorv2FMrOADr/j4lXZKOdOiWbt+M1QVHz6UVtGteqfqInVEpJPkTiSU+OTnBqX5NP4kiOnNjY2CdrPpIXFkCFD6Nq1a7z7eHl58ejRI3irT4W1tTVeXl7cvXs3ztdaW1tjbR3zmr6ZmZlRP7w6nS7uY55cAgenavs1n4Uub02jnTclUUox8c8FTNu6BIDBjXowrHHPJM3WGm8+RZJITo1Pcmpckk/jM3ZOE3ockxYWrq6uuLq+e9hhmTJlsLa25sqVK1StWhWA8PBwbt++Ta5cuT5ApEl08c831gAZDqU7mjqiZKGUYsy6WczfvQKAb1r0pV+9T0wdlhBCCBNIFX0sHB0d6dOnD6NGjcLDw4NcuXIxadIkAFq3bm3q8GJ36xCs6Q5KD2U6w0dfmTqiZKHX6/lq9RSWHlgHwA9th9CjZgr9mQghhEh2qaKwAJg0aRIWFhZ88sknvHr1igoVKrB3716cnZ1NHVpMj/6F39tBRCgUagxNp6fJYaWR+kiG/j6elUf+RKfTMbnjCDpWbWbqsIQQQphQqiksLC0tmTx5MpMnTzZ1KPF7fgt+bQmh/uBZRZuu2zzVpDnBIiIjGPDrONad2IGZzoyZXb/l4wppf7l3IYQQ8Ut733im5P8QljSDQB9wLwodV4KlramjMrrwyAg+XzyKP//Zg4WZOXN7jKVpmVqmDksIIUQKIIWFsQT6wC9N4MVtcPaELuvT5GqlYRHh9F74DdvOHcDS3IKFvX6kfsnqpg5LCCFECiGFhRHoXr1At7YbPLsGTjmg+xZwcDd1WEYXEh5KzwVfsfv8YawtrFjcezy1i6XdOTmEEEIknhQW7+uVH5k2d0f39KJWTHT/E5xzmjoqo3sVFkL3+SPYd/EYtpbWLP1sIt6FK5g6LCGEECmMFBbvIzQA3e9tsHz6H8o+M7puf4JLHlNHZXTBYSF0mTuUg5dPYWtlw+99p1ClQBlThyWEECIFksLifdw7BQ9Oo7d2gi4b0LkVMHVERhcUEswnc4dy5Oo/2FvbsbzfVCrmK2nqsIQQQqRQUli8j7w1UW1/43mENZnci5k6GqMLDAmi0+whHLt+lgw2dqz8Yjrl8hQ3dVhCCCFSMCks3lehRkT4pL1VSgNeBdFh1kBO3jyPg409qwfMoHTuuJeoF0IIIZDCQsTG/1Ug7WcO5PStCzjZObCq/wxKeRZOwCuFEEKkd1JYiGheBgfQbuYAzty+SEY7R1YPmEmJXAVNHZYQQohUQgoLYfAyOIC2MwZw9s5FnO0dWTNgFsVypr0OqUIIIZKPFBYCAL8gf9rOHMC5O5fIZO/E2kGzKZIjn6nDEkIIkcpIYSHwC/KnzYz+/Hv3MpkyZOSPgbMoLEWFEEKIJJDCIp17u6hYN2g2hbLnNXVYQgghUikzUwcgTOdF0EvazPiCf+9exsXBmXWD5khRIYQQ4r1IYZFOvQh6SdsZ/fn37hVcHJz5Y+BsCmVPe9ORCyGE+LCksEiHpKgQQgiRXKSPRTrzdlGxbtAcCmbzMnVYQggh0ghpsUhHpKgQQgiR3KSwSCekqBBCCPEhSGGRDvgF+cfoUyFFhRBCiOQghUUa9/95Kq68nvxKOmoKIYRIPlJYpGEvgwNoO3PAG5NfzZGiQgghRLKSwiKNehkcQJsZ/bW1PwwzakpRIYQQInlJYZEG+b8KpO2M/y8o9sfAWTKjphBCiA9CCos0xv9VIO1makufR61SKguKCSGE+FCksEhDAl4F0X7mQP659R/O9o6sGThLlj4XQgjxQUlhkUYEhgTRftZATt+6QEY7R9YMmEVRj/ymDksIIUQ6I4VFGhAYEkSHWYM4dfO8VlQMnEmxnAVMHZYQQoh0SAqLVC4oJJiOswdz4sa/ONk5sHrATIrnLGjqsIQQQqRTUlikYkGhr+g4ZwjHr5/D0TYDq/rPoEQuKSqEEEKYjhQWqVRQ6Cs+mTOEY9fO4GBjz6r+MyjlWdjUYQkhhEjnpLBIhYLDQug8dyhHrv5DBhs7Vg+YQencRUwdlhBCCCGFRWrzKiyELnOHcvjKaeyt7VjVfwalcxc1dVhCCCEESGGRurwKC6HrvC85ePkUdta2rPxiGmW9ipk6LCGEEMJACotUIiQ8lO7zR3Dg0gnsrG1Z0W8a5fOWMHVYQgghRDRSWKQCoeFhdJ8/gn0Xj2FrZcPvfadQMV9JU4clhBBCxCCFRQoXGh5GjwUj2fvfUWwtrfm97xQq5y9t6rCEEEKIWElhkYKFRYTTa+FX7D5/GBtLa37rO5kqBcqYOiwhhBAiTlJYpFDhkRH0XvgNO/89pBUVn0+iWsFypg5LCCGEiJcUFilQeGQEfRZ9y7ZzB7C2sGLpZxOpXqi8qcMSQggh3kkKixQmIjKCvr+M4q8z+7CysOSXPuOpUbiCqcMSQgghEkQKixQkIjKCfkvGsPn0HizNLVj06U/UKlrZ1GEJIYQQCSaFRQoRqY9kwK/j2Hhq1+ui4kfqFq9q6rCEEEKIRJHCIgWI1Ecy8LcfWHdiBxZm5izo9QP1SlQ3dVhCCCFEoklhYWJ6vZ4hv//E2mNbMTczZ37PcTQo6W3qsIQQQogkkcLChPR6PcOWj2fVkS2Ym5kzr8dYGpf+yNRhCSGEEEkmhYWJ6PV6RqycxPLDmzHTmTGn22ialqll6rCEEEKI95IqCov9+/ej0+livZ08edLU4SWaUoqvVk/ht4Mb0Ol0zOr6Hc3L1TF1WEIIIcR7szB1AAlRuXJlHj16FG3bt99+y549eyhbtqzJ4koKpRTfrJnK0gPr0Ol0zOjyLa0q1Dd1WEIIIYRRpIrCwsrKCnd3d8Pj8PBwNm3axBdffIFOpzNpbImhlGL0HzNYvG8tAFM/+Zo2FRuaOiwhhBDCaFJFYfG2zZs34+vrS7du3eLdLzQ0lNDQUMNjf39/eN2/Qa/XGyUWvV6PUuqdx1NKMW7DHH7eswqASR2G07ZiQ6PFkVYkNJ8i4SSnxic5NS7Jp/ElR04TeqxUWVgsXryYevXqkSNHjnj3++mnnxgzZkyM7U+fPiUkJMQosej1el6+fIlSCjOz2LusKKWYted3fjm0DoBvGn9GnfyV8PHxMUoMaUlC8ikSR3JqfJJT45J8Gl9y5DQgICBB+5m0sBgxYgQTJkyId59Lly5RsGBBw+P79++zY8cO1qxZ887jjxw5ksGDBxse+/v74+HhgaurK46Oju8ZvUav16PT6XB1dY31h6eUYuKfCwxFxQ9th9DNu5VRzp0WvSufIvEkp8YnOTUuyafxJUdObWxsErSfSQuLIUOG0LVr13j38fLyivZ4yZIluLi40LRp03ce39raGmtr6xjbzczMjPrh1el0cR5z8pZFzNj+KwDftxlEj5qtjXbetCq+fIqkkZwan+TUuCSfxmfsnCb0OCYtLFxdXXF1dU3w/koplixZQufOnbG0tEzW2Ixh+tYlTN6yCIDRH/en50dtTR2SEEIIkaxSVWm4d+9ebt26Rc+ePU0dyjvN2vEb4zf/DMA3LfrSp3YHU4ckhBBCJLtUVVgsXryYypUrR+tzkRLN27WcHzbMBWBE0970q/eJqUMSQgghPohUNSpkxYoVpg7hnRbtXc2YdbMAGNq4JwMbxj8kVgghhEhLUlWLRUq3ZP8ffLNmGgADG3RlSKMepg5JCCGE+KCksDCS3w9tZOSqyQD0rduJ4U17p6pZQYUQQghjSFWXQlKqjWf2MHqTdvmjd612fNOirxQVQggh0iVpsXhP645vZ8ym2QD0qNma0R8PkKJCCCFEuiWFxXvYf/E4A377HoWic7UWfN9msBQVQggh0jW5FPIeyuUpTqV8JXHL4MKPbYdIUSGEECLdk8LiPdhb27Ks7xT8fF/INLRCCCGEXAp5fzaW1lJUCCGEEK/JN6IQQgghjEYKCyGEEEIYjRQWQgghhDAaKSyEEEIIYTRSWAghhBDCaKSwEEIIIYTRSGEhhBBCCKORwkIIIYQQRiOFhRBCCCGMRgoLIYQQQhhNulorRCkFgL+/v9GOqdfrCQgIwMbGRqb2NgLJp/FJTo1Pcmpckk/jS46cRn13Rn2XxiVdFRYBAQEAeHh4mDoUIYQQIlUKCAjAyckpzud16l2lRxqi1+t5+PAhDg4ORlvi3N/fHw8PD+7du4ejo6NRjpmeST6NT3JqfJJT45J8Gl9y5FQpRUBAANmyZYu3FSRdtViYmZmRI0eOZDm2o6Oj/IcwIsmn8UlOjU9yalyST+Mzdk7ja6mIIhezhBBCCGE0UlgIIYQQwmiksHhP1tbWjBo1Cmtra1OHkiZIPo1Pcmp8klPjknwanylzmq46bwohhBAieUmLhRBCCCGMRgoLIYQQQhiNFBZCCCGEMBopLIQQQghhNFJYvOHvv/+mSZMmZMuWDZ1Ox8aNG+Pdf//+/eh0uhi3x48fR9tvzpw5eHp6YmNjQ4UKFThx4kQyv5OUIzly+tNPP1GuXDkcHBxwc3OjefPmXLly5QO8G9NLrs9olPHjx6PT6Rg4cGAyvYOUJ7ly+uDBAzp16oSLiwu2trYUK1aMU6dOJfO7Mb3kyGdkZCTffvstuXPnxtbWljx58jBu3Lh3rlmRViQ2pwChoaF8/fXX5MqVC2trazw9Pfnll1+i7bN27VoKFiyIjY0NxYoVY+vWrUaJVwqLNwQFBVGiRAnmzJmTqNdduXKFR48eGW5ubm6G51avXs3gwYMZNWoU//zzDyVKlKBevXr4+PgkwztIeZIjpwcOHKBv374cO3aMXbt2ER4eTt26dQkKCkqGd5CyJEc+o5w8eZKff/6Z4sWLGzHilC85cvrixQuqVKmCpaUl27Zt4+LFi0yZMgVnZ+dkeAcpS3Lkc8KECcybN4/Zs2dz6dIlJkyYwMSJE5k1a1YyvIOUJyk5bdOmDXv27GHx4sVcuXKFlStXUqBAAcPzR44coX379vTo0YMzZ87QvHlzmjdvzoULF94/YCViBagNGzbEu8++ffsUoF68eBHnPuXLl1d9+/Y1PI6MjFTZsmVTP/30k1HjTQ2MldO3+fj4KEAdOHDACFGmHsbMZ0BAgMqXL5/atWuX8vb2VgMGDDBytKmDsXI6fPhwVbVq1WSIMHUxVj4bNWqkunfvHm1by5YtVceOHY0Wa2qRkJxu27ZNOTk5KV9f3zj3adOmjWrUqFG0bRUqVFC9e/d+7xilxcIISpYsSdasWalTpw6HDx82bA8LC+P06dPUrl3bsM3MzIzatWtz9OhRE0WbOsSV09i8fPkSgEyZMn2g6FKfd+Wzb9++NGrUKNpnVcQvvpxu3ryZsmXL0rp1a9zc3ChVqhQLFy40WaypQXz5rFy5Mnv27OHq1asAnDt3jkOHDtGgQQMTRZuyRX3+Jk6cSPbs2cmfPz9Dhw7l1atXhn2OHj0a4/97vXr1jPLdlK4WITO2rFmzMn/+fMqWLUtoaCiLFi2iRo0aHD9+nNKlS/Ps2TMiIyPJkiVLtNdlyZKFy5cvmyzulOxdOX2bXq9n4MCBVKlShaJFi5ok5pQsIflctWoV//zzDydPnjR1uKlCQnJ68+ZN5s2bx+DBg/nqq684efIk/fv3x8rKii5dupj6LaQoCcnniBEj8Pf3p2DBgpibmxMZGckPP/xAx44dTR1+inTz5k0OHTqEjY0NGzZs4NmzZ3z++ef4+vqyZMkSAB4/fhzrd1Nc/a8S5b3bPNKohDQ3xaZ69eqqU6dOSimlHjx4oAB15MiRaPsMGzZMlS9f3mixphbGyOnb+vTpo3LlyqXu3btnhAhTF2Pk8+7du8rNzU2dO3fO8LxcCnn/z6ilpaWqVKlStH2++OILVbFiRaPEmVoYK58rV65UOXLkUCtXrlT//vuv+u2331SmTJnU0qVLjRxxypeQnNapU0fZ2NgoPz8/w7Z169YpnU6ngoODlXr9GV2xYkW0182ZM0e5ubm9d4xyKcTIypcvz/Xr1wHInDkz5ubmPHnyJNo+T548wd3d3UQRpj5v5vRN/fr1Y8uWLezbt48cOXKYJLbU6M18nj59Gh8fH0qXLo2FhQUWFhYcOHCAmTNnYmFhQWRkpKnDTRXe/oxmzZqVwoULR9unUKFC3L171wTRpT5v53PYsGGMGDGCdu3aUaxYMT755BMGDRrETz/9ZNI4U6qsWbOSPXv2aEucFypUCKUU9+/fB8Dd3T3ZvpuksDCys2fPkjVrVgCsrKwoU6YMe/bsMTyv1+vZs2cPlSpVMmGUqcubOUVrZaNfv35s2LCBvXv3kjt3bpPGl9q8mc9atWpx/vx5zp49a7iVLVuWjh07cvbsWczNzU0dbqrw9me0SpUqMYZAX716lVy5cpkgutTn7XwGBwdjZhb968rc3By9Xm+C6FK+KlWq8PDhQwIDAw3brl69ipmZmeGPsEqVKkX7bgLYtWuXUb6bpI/FGwIDA6NVybdu3eLs2bNkypSJnDlzMnLkSB48eMBvv/0GwPTp08mdOzdFihQhJCSERYsWsXfvXnbu3Gk4xuDBg+nSpQtly5alfPnyTJ8+naCgILp162aS9/ihJUdO+/bty4oVK9i0aRMODg6Ga4JOTk7Y2tqa4F1+OMbOp4ODQ4y+Kfb29ri4uKSbPivJ8RkdNGgQlStX5scff6RNmzacOHGCBQsWsGDBApO8xw8pOfLZpEkTfvjhB3LmzEmRIkU4c+YMU6dOpXv37iZ5jx9aYnPaoUMHxo0bR7du3RgzZgzPnj1j2LBhdO/e3fA7csCAAXh7ezNlyhQaNWrEqlWrOHXqlHE+o+99MSUNiRr29PatS5cuSimlunTpory9vQ37T5gwQeXJk0fZ2NioTJkyqRo1aqi9e/fGOO6sWbNUzpw5lZWVlSpfvrw6duzYB31fppQcOY3teIBasmTJB39/H1pyfUbflN76WCRXTv/8809VtGhRZW1trQoWLKgWLFjwQd+XqSRHPv39/dWAAQNUzpw5lY2NjfLy8lJff/21Cg0N/eDvzxQSm1OllLp06ZKqXbu2srW1VTly5FCDBw829K+IsmbNGpU/f35lZWWlihQpov766y+jxCvLpgshhBDCaKSPhRBCCCGMRgoLIYQQQhiNFBZCCCGEMBopLIQQQghhNFJYCCGEEMJopLAQQgghhNFIYSGEEEIIo5HCQgghhBBGI4WFECJJRo8eTcmSJU0dhoFOp2Pjxo2Jft2VK1dwd3cnICAgWeKK8uzZM9zc3AyLQAmRVklhIUQKNn/+fBwcHIiIiDBsCwwMxNLSkho1akTbd//+/eh0Om7cuGGCSD8cYxc0I0eO5IsvvsDBwcFox4xN5syZ6dy5M6NGjUrW8whhalJYCJGC1axZk8DAQE6dOmXYdvDgQdzd3Tl+/DghISGG7fv27SNnzpzkyZPHRNGmPnfv3mXLli107dr1g5yvW7duLF++nOfPn3+Q8wlhClJYCJGCFShQgKxZs7J//37Dtv3799OsWTNy587NsWPHom2vWbMmAMuWLaNs2bI4ODjg7u5Ohw4d8PHxAUCv15MjRw7mzZsX7VxnzpzBzMyMO3fuAODn50fPnj1xdXXF0dGRjz76iHPnzsUb76JFiyhUqBA2NjYULFiQuXPnGp67ffs2Op2O9evXU7NmTezs7ChRogRHjx6NdoyFCxfi4eGBnZ0dLVq0YOrUqWTMmBGApUuXMmbMGM6dO4dOp0On07F06VLDa589e0aLFi2ws7MjX758bN68Od5416xZQ4kSJciePbthW2wtItOnT8fT09PwuGvXrjRv3pwff/yRLFmykDFjRsaOHUtERATDhg0jU6ZM5MiRgyVLlkQ7TpEiRciWLRsbNmyINy4hUjMpLIRI4WrWrMm+ffsMj/ft20eNGjXw9vY2bH/16hXHjx83FBbh4eGMGzeOc+fOsXHjRm7fvm34q9zMzIz27duzYsWKaOdZvnw5VapUIVeuXAC0bt0aHx8ftm3bxunTpyldujS1atWK86/t5cuX89133/HDDz9w6dIlfvzxR7799lt+/fXXaPt9/fXXDB06lLNnz5I/f37at29vuNRz+PBh+vTpw4ABAzh79ix16tThhx9+MLy2bdu2DBkyhCJFivDo0SMePXpE27ZtDc+PGTOGNm3a8O+//9KwYUM6duwYb+vAwYMHKVu2bCJ+Gv+3d+9eHj58yN9//83UqVMZNWoUjRs3xtnZmePHj9OnTx969+4do09F+fLlOXjwYJLOKUSqYJQ1UoUQyWbhwoXK3t5ehYeHK39/f2VhYaF8fHzUihUrVPXq1ZVSSu3Zs0cB6s6dO7Ee4+TJkwpQAQEBSimlzpw5o3Q6nWH/yMhIlT17djVv3jyllFIHDx5Ujo6OKiQkJNpx8uTJo37++WellFKjRo1SJUqUiPbcihUrou0/btw4ValSJaWUUrdu3VKAWrRokeH5//77TwHq0qVLSiml2rZtqxo1ahTtGB07dlROTk6Gx2+fNwqgvvnmG8PjwMBABaht27bFmdsSJUqosWPHRtsW2/GnTZumcuXKZXjcpUsXlStXLhUZGWnYVqBAAVWtWjXD44iICGVvb69WrlwZ7ViDBg1SNWrUiDMmIVI7abEQIoWrUaMGQUFBnDx5koMHD5I/f35cXV3x9vY29LPYv38/Xl5e5MyZE4DTp0/TpEkTcubMiYODA97e3vC6TwFAyZIlKVSokKHV4sCBA/j4+NC6dWsAzp07R2BgIC4uLmTIkMFwu3XrVqydQ4OCgrhx4wY9evSItv/3338fY//ixYsb7mfNmhXAcJnmypUrlC9fPtr+bz+Oz5vHtre3x9HR0XDs2Lx69QobG5sEH/9NRYoUwczs/79Cs2TJQrFixQyPzc3NcXFxiXF+W1tbgoODk3ROIVIDC1MHIISIX968ecmRIwf79u3jxYsXhiIhW7ZseHh4cOTIEfbt28dHH30Er7/k69WrR7169Vi+fDmurq7cvXuXevXqERYWZjhux44dWbFiBSNGjGDFihXUr18fFxcXeD3y5O2+HVGi+ju8KTAwEF73j6hQoUK058zNzaM9trS0NNzX6XTwut+HMbx57Kjjx3fszJkz8+LFi3ceNzIyMkHnSsj5nz9/jqur6zvPKURqJYWFEKlAzZo12b9/Py9evGDYsGGG7dWrV2fbtm2cOHGCzz77DIDLly/j6+vL+PHj8fDwAIg2qiRKhw4d+Oabbzh9+jR//PEH8+fPNzxXunRpHj9+jIWFRbROi3HJkiUL2bJl4+bNm3Ts2DHJ77NAgQKcPHky2ra3H1tZWcX6RZ8UpUqV4uLFizG2P3nyJNrjmzdvGuV8ABcuXIgxVFiItEQuhQiRCtSsWZNDhw5x9uxZQ4sFgLe3Nz///DNhYWGGjps5c+bEysqKWbNmcfPmTTZv3sy4ceNiHNPT05PKlSvTo0cPIiMjadq0qeG52rVrU6lSJZo3b87OnTu5ffs2R44c4euvv461SOF1x8mffvqJmTNncvXqVc6fP8+SJUuYOnVqgt/nF198wdatW5k6dSrXrl3j559/Ztu2bYaWjai4b926xdmzZ3n27BmhoaEJPv7b6tWrx9GjR2MUKo8fP2bs2LHcvHmTdevWsWzZMl68eMHly5eTfC6A4OBgTp8+Td26dd/rOEKkZFJYCJEK1KxZk1evXpE3b16yZMli2O7t7U1AQIBhWCqAq6srS5cuZe3atRQuXJjx48czefLkWI/bsWNHzp07R4sWLbC1tTVs1+l0bN26lerVq9OtWzfy589Pu3btuHPnTrTzv6lnz54sWrSIJUuWUKxYMby9vVm6dCm5c+dO8PusUqUK8+fPZ+rUqZQoUYLt27czaNCgaP0gWrVqRf369alZsyaurq6sXLkywcd/W4MGDbCwsGD37t3RthctWpSrV69SpEgRvv32WxYtWoSVlRVDhw5N8rkANm3aRM6cOalWrdp7HUeIlEyntN7UQgiRIvXq1YvLly8n2xDNOXPmsHnzZnbs2AGv57HYuHEjZ8+eNfq5KlasSP/+/enQoYPRjy1ESiF9LIQQKcrkyZOpU6cO9vb2bNu2jV9//TXaRFvG1rt3b/z8/AgICEjWab2fPXtGy5Yt+V+7dlADMAgEUXS1IIoEB1zwiCcM1MTQNOl7Bvb6M9kxxrUb8AUWC+BTeu+1965zTrXWaq1Vc87X7t9cLOAPhAUAEON5EwCIERYAQIywAABihAUAECMsAIAYYQEAxAgLACBGWAAAMQ8nwW0OQDJtnAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "before_db = 10 * np.log10(p_before)\n", + "after_db = 10 * np.log10(p_after)\n", + "\n", + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "ax.plot(w_before, before_db, label=\"Before adjoint\")\n", + "ax.plot(w_after, after_db, label=\"After adjoint\")\n", + "ax.set_xlabel(\"Wavelength (µm)\")\n", + "ax.set_ylabel(\"Transmission (dB)\")\n", + "ax.set_title(\"Mode Monitor Spectrum (Before vs After)\")\n", + "ax.grid(True, alpha=0.3)\n", + "ax.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "8fa2f7e0", + "metadata": {}, + "source": [ + "## Final Apodized Geometry\n", + "\n", + "Visual inspection highlights the non-uniform duty cycle discovered by the optimizer to better mode-match the incident beam." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "bd465801", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAEYCAYAAADRQrtOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUYdJREFUeJzt3Xl4FFX6NuCnes0eQhKysISwyb4IEiOrkBGEAeIgooMEHAYdRAUZFVFW9ScIIzggguiMuLDJDKLjhygi4AKCCG6DOICACiSQkI2QpJd6vz+SrqTpTtKdtWme+7r6gpw6depUv6c6b6qrTikiIiAiIiKiq56uoTtARERERLWDiR0RERGRn2BiR0REROQnmNgRERER+QkmdkRERER+gokdERERkZ9gYkdERETkJ5jYEREREfkJJnZEREREfoKJHXls/vz5UBTFqaxly5aYOHFivfZj7dq1UBQFp06dqtftVpe7942uHW+++Sbat28Po9GIRo0aNXR3quXUqVNQFAVr167VymoyrgcOHIiBAwfWYg99Q13sV0N8xjbkdh0WL16M9u3bQ1XVButDRW688UY89thjDd2NCjGx83EvvfQSFEVBUlJSQ3eFKnH58mXMnz8fu3fvbuiuXHOOHDmC+fPn+2Sif/ToUUycOBGtW7fGK6+8gjVr1nCs1ND69evxwgsvNNj2fXm8eWvv3r2YP38+cnJyGrorTvLy8vDcc89h5syZ0OnqL01RVRWLFy9GYmIiAgIC0LVrV2zYsMGl3syZM7Fy5Uqkp6fXW9+8IuTTbrrpJmnZsqUAkGPHjjVoX+bNmydXDpmioiKxWCz12o/XXntNAMjJkyfrdbuVuXDhggCQefPmuSyzWq1SWFjYIP26FmzevFkAyK5duxq6Ky5WrVrlcuxWNlZ81cmTJwWAvPbaa1pZTcZ1cXGxFBcXV2vd4cOHS0JCQrXWrQ2Vjbea7FdF6vIzdsmSJRV+ljbEZ7vDsmXLJCwsrN4/Nx9//HEBIJMnT5Y1a9bI8OHDBYBs2LDBqZ7dbpfY2FiZM2dOvfbPUzxj58NOnjyJvXv3YunSpYiOjsa6desauksuzGYzjEZjQ3ej1tlsNlgsllppy2AwICAgoFbaopoRERQWFtbb9s6fPw8A9fIVbEFBQZ1vo7yajGuTyQSTyVTrfWpodbFfDfUZ25Cf7a+99hpGjhxZr5+bZ86cwfPPP4+pU6dizZo1mDx5Mv7zn/+gX79+ePTRR2G327W6Op0Ot99+O9544w2ISL310WMNnVlSxZ5++mmJiIiQ4uJimTJlirRt29aljuMv6SVLlsjSpUulRYsWEhAQIP3795fvv//epf7OnTulb9++EhQUJOHh4TJy5Eg5cuSIS73PPvtMevXqJWazWVq1aiWrV692e8YuISFBJkyYoP0MoMJX+b8Kf/zxRxk9erRERESI2WyWnj17yrvvvuvSjx9++EFuvvlmCQgIkKZNm8rTTz8t//jHPzw+Y/f2229Lhw4dxGw2S6dOnWTLli0yYcIEp7/4y7+Hy5Ytk1atWolOp5PDhw9LcXGxzJkzR66//noJCwuToKAg6du3r3zyyScu61/5cpyRcfe+AZCpU6fKO++8I506dRKTySQdO3aUDz74wGUfdu3aJT179qwyFhV58cUXJTExUQICAuSGG26QTz/9VAYMGCADBgxwqldUVCRz586V1q1bi8lkkmbNmsmjjz4qRUVFTvWsVqs89dRT0qpVKzGZTJKQkCCzZs1yqZeQkCDDhw/X+h8QECCdO3fWznT8+9//ls6dO4vZbJbrr79eDh065NL3qsaJ4+ztlS/HNhx92L59u/YeLlu2TPr37y9du3Z1+361a9dObrnllkrf061bt8qwYcMkLi5OTCaTtGrVSp566imx2WxO+39lvyZMmFDpWPFkn8vv9+7du2XKlCkSHR0tjRo1qrC/noxjh+zsbJkwYYKEhYVJeHi4pKWlyeHDh13O2Lkbg56OjSvH365duwSAbNq0SZ555hlp2rSpmM1mGTRokNPZzgEDBri8d1WdvfN2vH744YfSrVs3MZvN0qFDB/n3v//t8r5XNN4q26/58+dLfHy8hISEyOjRoyUnJ0eKiopk2rRpEh0dLcHBwTJx4kS3/fL2M/bbb7+VCRMmSGJiopjNZomJiZF77rlHMjMzXeJXURtXbldE5MSJE3L77bdLRESEBAYGSlJSkrz//vtOdTyNZUV+/vlnASBr167VylRVlYSEBBk5cqRL/cLCQgkLC5N77723yrYrs3LlSgEg//3vf53K169fLwDks88+cyp/9913BYDbz62GxsTOh7Vv314mTZokIiKffvqpAJADBw441XEkFV26dJGWLVvKc889JwsWLJDGjRtLdHS0pKen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Tp48ifT0dKSkpGjLw8PDkZSUhH379lWY2BUXFzt9p52XlweDwYDg4GCeqSMiIiKf5PUZu5tvvrnS5bt27appn4DSeVxGjhyJnJwcfP755xXWM5lMeP3113HXXXdpZS+99BIWLFiAjIwM7N27F3369MHZs2cRFxen1bnjjjugKAo2bdrktt358+djwYIFTmVTp05Fjx49nL7r9vczdkRERFQ/GuSMXW0lblWZOnUqfvjhh0qTuro0a9YspzOBeXl5eOaZZxqkL0RERESeqLU7IE6fPo0HHnigVtp64IEH8P7772PXrl1o1qxZpXVjY2ORkZHhVJaRkYHY2FhtuaOsojrumM1mhIWFOb2IiIiIfJnXZ+xuvvlmt7finjt3DufOncOLL75Y7c6ICB588EG888472L17NxITE6tcJzk5GTt37sT06dO1sh07diA5ORkAkJiYiNjYWOzcuRPdu3cHSs++7d+/H1OmTKl2X4mIiIh8jdeJnSM5crDb7fj5559x/PhxrF27tkadmTp1KtavX493330XoaGhSE9PB0pvdggMDAQApKWloWnTpli4cCEAYNq0aRgwYACef/55DB8+HBs3bsTBgwexZs0aoHQ+mOnTp+OZZ55B27ZtkZiYiDlz5iA+Ph6pqak16i8RERGRL/E6sVu2bJnb8ldffRUvvvgixo0bV+3OrFq1CgAwcOBAp/LXXnsNEydOBAD88ssvTnPo3XTTTVi/fj1mz56NJ554Am3btsXWrVvRuXNnrc5jjz2GgoIC3HvvvcjJyUHfvn2xfft2BAQEVLuvRERERL7G68SuIoMHD8aDDz5YozY8uUF39+7dLmVjxozBmDFjKlxHURQ89dRTeOqpp2rUPyIiIiJfVms3T3zyySdVToVCRERERHXH6zN2f/jDH1zKMjIysH//ftx8881Oy7ds2VLzHhIRERGRR7xO7MLDw92WtWvXrrb6RERERETV4HVi99prr9VNT4iIiIioRjy6xs7Lp44RERERUQPwKLHr1KkTNm7cCIvFUmm9Y8eOYcqUKVi0aFFt9Y+IiIiIPOTRV7ErVqzAzJkzcf/99+N3v/sdevXqhfj4eAQEBCA7OxtHjhzB559/jv/+97944IEH+EQHIiIiogbgUWI3ePBgHDx4EJ9//jk2bdqEdevW4fTp0ygsLERUVBR69OiBtLQ0jBs3DhEREXXfayIiIiJy4dXNE3379kXfvn3rrjdEREREVG21NkHxtcBkMkFV1YbuBhEREZFbTOy8oNPpkJeXx+SOiIiIfBITOy8UFxfDbrcjKyuLyR0RERH5HCZ2XhARhIeHw2q1MrkjIiIin8PEzksGgwFRUVFacsfJm4mIiKgueXMiyevEbtCgQViwYIFLeXZ2NgYNGuRtc1clk8mkJXfZ2dlM7oiIiKhWXJnEqaqKvLw8j9f3+lmxu3fvxvfff4/Dhw9j3bp1CA4OBgBYLBbs2bPH2+auWo7k7vz581U+kaNkhQigzb310TUiIiK6SlksFhiNRm0mjqysLNjtdo/Xr9ZXsR9//DHS09Nx44034tSpU9Vpwi+YTCZERETwjB0RERHVCkVRkJ2djeLiYmRlZcFqtSI8PNzj9auV2MXFxWHPnj3o0qULbrjhBuzevbs6zfgFR1ZNREREVFMmkwl6vR6ZmZmwWCyIioqCweD5F6xeJ3aKogAAzGYz1q9fj2nTpmHo0KF46aWXvG2KiIiIiGqR19fYXfm14+zZs9GhQwdMmDChNvt11bBarZ5dY0dERERUBYvFArvdjujoaOTl5SEzMxMhISEer+91Ynfy5ElER0c7lY0ePRrt27fHwYMHvW3uqmaxWJCdnQ2z2dzQXSEiIiI/ICKIiIiA2WxGZGQksrKykJub6/H6Xid2CQkJbss7deqETp06edvcVctisSAzMxMGg4HX2BEREVGtMJlMMBqNQOmjTCMjI5Genu7x+pyguBocSZ3RaERERIR23SERERFRTeh0Opefw8LCPF7f6zN21zqbzYacnBwYjUZERkbCZrM1dJeIiIjIj12Z7FVat0574mcURUFubq6W1HnzRhMRERHVNWYmXjCbzdDr9UzqiIiIyCcxO/GCqqoICwtjUkdEREQ+iRmKFywWC5M6IiIi8lnMUoiIiIj8BBM7IiIiIj/BxI6IiIjITzCxIyIiIvITTOyIiIiI/AQTOyIiIiI/wcSOiIiIyE8wsSMiIiLyE0zsiIiIiPyETyZ2K1euRMuWLREQEICkpCQcOHCg0vqbN29G+/btERAQgC5dumDbtm1Oy0UEc+fORVxcHAIDA5GSkoJjx47V8V4QERER1S+fS+w2bdqEGTNmYN68eTh06BC6deuGIUOG4Pz5827r7927F3fddRcmTZqEw4cPIzU1Fampqfjhhx+0OosXL8by5cuxevVq7N+/H8HBwRgyZAiKiorqcc+IiIiI6pbPJXZLly7F5MmTcc8996Bjx45YvXo1goKC8M9//tNt/b///e8YOnQoHn30UXTo0AFPP/00rr/+erz44otA6dm6F154AbNnz8aoUaPQtWtXvPHGGzh79iy2bt1az3tHREREVHd8KrGzWCz4+uuvkZKSopXpdDqkpKRg3759btfZt2+fU30AGDJkiFb/5MmTSE9Pd6oTHh6OpKSkCtsEgOLiYuTl5Tm9iIiIiHyZoaE7UF5mZibsdjtiYmKcymNiYnD06FG366Snp7utn56eri13lFVUx52FCxdiwYIFTmX33XcfjqfnAIYCrUxR7dCJHXP/tRd2Q6DH+0pERERUnt5WiEZZ+VCVyxCdvmyBzepxGz51xs6XzJo1C7m5udrr119/hcHgU3kwERERkROfSuyioqKg1+uRkZHhVJ6RkYHY2Fi368TGxlZa3/GvN20CgNlsRlhYmNPLYDBAp3qeNRMRERHVJ59K7EwmE3r27ImdO3dqZaqqYufOnUhOTna7TnJyslN9ANixY4dWPzExEbGxsU518vLysH///grbrIjNZoNetUFnt3i5Z0RERER1z+e+W5wxYwYmTJiAXr16oXfv3njhhRdQUFCAe+65BwCQlpaGpk2bYuHChQCAadOmYcCAAXj++ecxfPhwbNy4EQcPHsSaNWsAAIqiYPr06XjmmWfQtm1bJCYmYs6cOYiPj0dqaqpXfbPZbLDrDNCXJnaq3lTr+09ERERUXT6X2I0dOxYXLlzA3LlzkZ6eju7du2P79u3azQ+//PILdLqyE4033XQT1q9fj9mzZ+OJJ55A27ZtsXXrVnTu3Fmr89hjj6GgoAD33nsvcnJy0LdvX2zfvh0BAQFe90/VGQFFtOROFH2V6xARERHVB0VEpKE7cTXIy8vDY489hojmbQGDETq7BXq7BXadAYqiQ05Ue94VS0RERNWmtxWiUeZRqIre6a5YneUynp1bclNnWFhYpW341DV2VxNVb4Jdb4LebgVEbejuEBERkR9QVDuAsnNuOrsFetXm8fpM7GqgJLkzQmFiR0RERLVCoLcVAyJO3w56yueusbvaiM4I4RQoREREVAtE0UOnWmC0ljwMwa43QRXF4/V5xq42KHwbiYiIqBYoCtRyN4mqOqNXqzMjqTEp/T6ciIiIqIZEhU5VoZbePGGwFQJe3OfKxK4mpPR7cPDGYiIiIqo5RVTY9UbYDYGwGQKhiAq96vmDEZjYVZcIDLZCKKJyLjsiIiKqFaLoIKVfv4pOryV3nmJiVx3lkjqbIQBQPL+okYiIiKhCV1y3Lzo97F486YqJnbeckrpA3jhBREREdcqbbwaZlXhJr1q0pK78rNBEREREDY2JnRdMJhOTOiIiIvJZTOy8oNPpYNebmNQRERGRT2Ji54Xi4mLeAUtEREQ+i4mdF8SLCQKJiIiI6hsTOyIiIiI/wcSOiIiIyE8wsSMiIiLyE0zsiIiIiPwEEzsiIiIiP8HEjoiIiMhPMLEjIiIi8hNM7IiIiIj8BBM7IiIiIj/BxI6IiIjITzCxIyIiIvITTOyIiIiI/AQTOyIiIiI/wcTOC4qiNHQXiIiIiCrExM4LZrMZitgbuhtEREREbjGx84KqqtDbLVBUJndERETke5jYecFisUAUHQy2QiZ3RERE5HOY2HnJrjMxuSMiIiKfxMTOW4oCmyFQS+4gakP3iIiIiPyYN9f3M7GrDqfkrggQaegeERERkT+44oSRotqht1s8Xp2JXXWVS+54pywRERHVBkVUKKq15P+qHQZbIUTxPF0z1GHf/J+iwG4wQ2+3NnRPiIiIyA+IooPeboUCgU61QxQd7Irn6ZrPnLGzWq2YOXMmunTpguDgYMTHxyMtLQ1nz56tct2VK1eiZcuWCAgIQFJSEg4cOOC0vKioCFOnTkVkZCRCQkIwevRoZGRk1FLPFYhOX0ttERER0TVN0UHV6aArvUHTZggEvHhAgs8kdpcvX8ahQ4cwZ84cHDp0CFu2bMFPP/2EkSNHVrrepk2bMGPGDMybNw+HDh1Ct27dMGTIEJw/f16r8/DDD+M///kPNm/ejD179uDs2bP4wx/+UHud5w0UREREVBtEoFPL8gqd6t23goqI7175/9VXX6F37944ffo0WrRo4bZOUlISbrjhBrz44otA6STCzZs3x4MPPojHH38cubm5iI6Oxvr163H77bcDAI4ePYoOHTpg3759uPHGGz3qS15eHh577DFENG8LGIxauc5WBJ2oyG7SGXZDYK3sNxEREV179LZCRJz/ARCBzRgEnWqF3m6BHTo8O3cWcnNzERYWVmkbPn2NXW5uLhRFQaNGjdwut1gs+PrrrzFr1iytTKfTISUlBfv27QMAfP3117BarUhJSdHqtG/fHi1atKg0sSsuLkZxcbH2c15eHnQ6HRRRgdLTo4pqhd5mgao3QGcrdtsOERERkSd0tmJABHa9EYqoEEUPu84AvRc5hs8mdkVFRZg5cybuuuuuCrPTzMxM2O12xMTEOJXHxMTg6NGjAID09HSYTCaX5DAmJgbp6ekVbn/hwoVYsGCBU9msWbNgtBcBqgKICgUCgQK93Yqw7BNAubtWSiYvFoii9+q7ca+IlN6RW8F1fqKWDgydU99qW6X7WlUfa0sV+8p4eNjH2sJ4aBgPRx8Yj7LtMB4OjIejD6LNsKFTrdCptiu25fklXw2W2K1btw733Xef9vMHH3yAfv36AaU3Utxxxx0QEaxatapB+jdr1izMmDFD+zkvLw+rVq2ClE4UqAAQAAIdFAhUnd75kkW9DnpbMXSqBTZDQO0fGKLCYC8uuVvGYALgZrAp+pKzinYr7HojRGd011JNOgG9rRiKqBXvowJAHPP9qbAbzO77WgMe7SPjUdoHxqOso4yHhvEo7QPjUdZRxkNTn/HQm6CzWyFQrtjXq2C6k5EjRyIpKUn7uWnTpkC5pO706dP45JNPKv0uOSoqCnq93uUO14yMDMTGxgIAYmNjYbFYkJOT43TWrnwdd8xmM8xms0u5ArU0qVMgOkPZ5MSK3mWeGZtRD4OtEAZ7ccmcd7X0F4ei2ksGgU5f5d0yotMDiq7kO3pFB1VvqpU+QKTksWoouQ6g8n3Tw1b6pA693eL1HT6V0dkt0Ks22A3mKveN8XBgPBwYjzKMhwPj4cB4lKmveCiQ0v1TnPfTi7shGuyu2NDQULRp00Z7BQYGakndsWPH8PHHHyMyMrLSNkwmE3r27ImdO3dqZaqqYufOnUhOTgYA9OzZE0aj0anOTz/9hF9++UWr4ymdTuec1FXliseP1cazZctPVujpAFf1Jtj1JujtFui8mL26Qo6DUlSPB7g2aEUtfRRbze/Z0dktJR84epNnHziMR9kqjIeG8SjFeJStwnhoGI9SPhIPT/jMdCdWqxW33347Dh48iHXr1sFutyM9PR3p6emwWMoG0+DBg7U7YAFgxowZeOWVV/D666/jxx9/xJQpU1BQUIB77rkHABAeHo5JkyZhxowZ2LVrF77++mvcc889SE5O9viOWAdFUUq+fvUkqStbqdYGQ00GQa0dnNU4KLVVa/Hg9PqgdGA8ylZlPDSMRynGo2xVxkPDeJTykXhUxWdunjhz5gzee+89AED37t2dlu3atQsDBw4EAJw4cQKZmZnasrFjx+LChQuYO3cu0tPT0b17d2zfvt3phoply5ZBp9Nh9OjRKC4uxpAhQ/DSSy953ceSmWGqkQuXDgaDrRAGW2G1TuPWxiBwDGDHM+e8Pq1eg4NSa6L04Cz/Xni7L9U+KB0Yj7ImGA8N41GK8ShrgvHQMB6lfCQelbbvy/PY+ZLc3FwsXrwYetOVF2+WXOJoNQRCqkr6RKBXLVBEhV1vKrnDxgOKlDwAWBQd7DpTjQeBTrWWXFegM0D19ILYava9ItXdp2r1vSKMh4bxKMN4lGI8NIxHGcajVB3FQ4EKo62w9JI651zj6fnzkJOTg/Dw8Cq2wcTOI7/99huaN2/e0N0gIiKia9Svv/6KZs2aVVqHiZ2HVFXF2bNnERoaCqWu5rHxM3l5eWjevDl+/fXXKmfKpqsLY+u/GFv/xdhevUQE+fn5iI+Ph05X+beDPnONna/T6XRVZsnkXlhYGD9E/BRj678YW//F2F6dqvoK1sFn7oolIiIiopphYkdERETkJ5jYUZ0xm82YN2+e2yd40NWNsfVfjK3/YmyvDbx5goiIiMhP8IwdERERkZ9gYkdERETkJ5jYEREREfkJJnZEREREfoKJHXll5cqVaNmyJQICApCUlIQDBw5UWn/z5s1o3749AgIC0KVLF2zbts1puYhg7ty5iIuLQ2BgIFJSUnDs2LE63gsqb/78+VAUxenVvn37StdhXH3Tp59+ihEjRiA+Ph6KomDr1q1Oy6sbl6qO+6KiIkydOhWRkZEICQnB6NGjkZGRUev7d62qKq4TJ050OYaHDh1aZbuMq39iYkce27RpE2bMmIF58+bh0KFD6NatG4YMGYLz58+7rb93717cddddmDRpEg4fPozU1FSkpqbihx9+0OosXrwYy5cvx+rVq7F//34EBwdjyJAhKCoqqsc9o06dOuHcuXPa6/PPP6+wLuPquwoKCtCtWzesXLnS7fLqxMWT4/7hhx/Gf/7zH2zevBl79uzB2bNn8Yc//KFO9vFaVFVcAWDo0KFOx/CGDRsqbZNx9WNC5KHevXvL1KlTtZ/tdrvEx8fLwoUL3da/4447ZPjw4U5lSUlJct9994mIiKqqEhsbK0uWLNGW5+TkiNlslg0bNtTZfpCzefPmSbdu3Tyuz7heHQDIO++8o/1c3bhUddzn5OSI0WiUzZs3a3V+/PFHASD79u2rgz27tl0ZVxGRCRMmyKhRo7xqh3H1XzxjRx6xWCz4+uuvkZKSopXpdDqkpKRg3759btfZt2+fU30AGDJkiFb/5MmTSE9Pd6oTHh6OpKSkCtukunHs2DHEx8ejVatWGDduHH755ZcK6zKuV6fqxMWT4/7rr7+G1Wp1qtO+fXu0aNGC8a5Hu3fvRpMmTXDddddhypQpyMrKqrAu4+rfmNiRRzIzM2G32xETE+NUHhMTg/T0dLfrpKenV1rf8a83bVLtS0pKwtq1a7F9+3asWrUKJ0+eRL9+/ZCfn++2PuN6dapOXDw57tPT02EymdCoUSOP26XaNXToULzxxhvYuXMnnnvuOezZswe33nor7Ha72/qMq38zNHQHiKhh3Xrrrdr/u3btiqSkJCQkJODtt9/GpEmTGrRvRFS1O++8U/t/ly5d0LVrV7Ru3Rq7d+/G4MGDG7RvVP94xo48EhUVBb1e73JHVEZGBmJjY92uExsbW2l9x7/etEl1r1GjRmjXrh2OHz/udjnjenWqTlw8Oe5jY2NhsViQk5PjcbtUt1q1aoWoqKgKj2HG1b8xsSOPmEwm9OzZEzt37tTKVFXFzp07kZyc7Had5ORkp/oAsGPHDq1+YmIiYmNjnerk5eVh//79FbZJde/SpUs4ceIE4uLi3C5nXK9O1YmLJ8d9z549YTQaner89NNP+OWXXxjvBvLbb78hKyurwmOYcfVzDX33Bl09Nm7cKGazWdauXStHjhyRe++9Vxo1aiTp6ekiIjJ+/Hh5/PHHtfpffPGFGAwG+dvf/iY//vijzJs3T4xGo3z//fdanUWLFkmjRo3k3Xffle+++05GjRoliYmJUlhY2CD7eC3661//Krt375aTJ0/KF198ISkpKRIVFSXnz58XYVyvKvn5+XL48GE5fPiwAJClS5fK4cOH5fTp0yIexmXQoEGyYsUK7eeqjnsRkb/85S/SokUL+eSTT+TgwYOSnJwsycnJ9bz3/quyuObn58sjjzwi+/btk5MnT8rHH38s119/vbRt21aKioq0NhjXawcTO/LKihUrpEWLFmIymaR3797y5ZdfassGDBggEyZMcKr/9ttvS7t27cRkMkmnTp3k//2//+e0XFVVmTNnjsTExIjZbJbBgwfLTz/9VG/7QyJjx46VuLg4MZlM0rRpUxk7dqwcP35cW864Xj127dolAFxejvh5EpeEhASZN2+eU1llx72ISGFhodx///0SEREhQUFBctttt8m5c+fqYY+vDZXF9fLly3LLLbdIdHS0GI1GSUhIkMmTJzslaMK4XlMUKZkXh4iIiIiucrzGjoiIiMhPMLEjIiIi8hNM7IiIiIj8BBM7IiIiIj/BxI6IiIjITzCxIyIiIvITTOyIiIiI/AQTOyKiWvKPf/wDt9xyS51vZ/v27ejevTtUVa3zbRHR1YWJHRFRLSgqKsKcOXMwb968Ot/W0KFDYTQasW7dujrfFhFdXZjYERHVgn/9618ICwtDnz596mV7EydOxPLly+tlW0R09WBiR0RUzoULFxAbG4tnn31WK9u7dy9MJhN27txZ4XobN27EiBEjnMoGDhyI6dOnO5WlpqZi4sSJ2s8tW7bEM888g7S0NISEhCAhIQHvvfceLly4gFGjRiEkJARdu3bFwYMHndoZMWIEDh48iBMnTtTCXhORv2BiR0RUTnR0NP75z39i/vz5OHjwIPLz8zF+/Hg88MADGDx4cIXrff755+jVq1e1trls2TL06dMHhw8fxvDhwzF+/HikpaXh7rvvxqFDh9C6dWukpaWh/KO9W7RogZiYGHz22WfV2iYR+ScmdkREVxg2bBgmT56McePG4S9/+QuCg4OxcOHCCuvn5OQgNzcX8fHx1d7efffdh7Zt22Lu3LnIy8vDDTfcgDFjxqBdu3aYOXMmfvzxR2RkZDitFx8fj9OnT1drm0Tkn5jYERG58be//Q02mw2bN2/GunXrYDabK6xbWFgIAAgICKjWtrp27ar9PyYmBgDQpUsXl7Lz5887rRcYGIjLly9Xa5tE5J+Y2BERuXHixAmcPXsWqqri1KlTldaNjIyEoijIzs6usl273e5SZjQatf8rilJh2ZXTm1y8eBHR0dEe7A0RXSuY2BERXcFiseDuu+/G2LFj8fTTT+PPf/6zy9my8kwmEzp27IgjR464LLvy69Off/65VvpYVFSEEydOoEePHrXSHhH5ByZ2RERXePLJJ5Gbm4vly5dj5syZaNeuHf70pz9Vus6QIUPw+eefu5S/++672LJlC06cOIH/+7//w5EjR3D69GmcOXOmRn388ssvYTabkZycXKN2iMi/MLEjIipn9+7deOGFF/Dmm28iLCwMOp0Ob775Jj777DOsWrWqwvUmTZqEbdu2ITc316l8+PDhWLx4MTp27IhPP/0UL730Eg4cOIA333yzRv3csGEDxo0bh6CgoBq1Q0T+RZHy988TEVG1jRkzBtdffz1mzZoFlM5j1717d7zwwgu1up3MzExcd911OHjwIBITE2u1bSK6uvGMHRFRLVmyZAlCQkLqfDunTp3CSy+9xKSOiFzwjB0RUR2pqzN2REQVYWJHRERE5Cf4VSwRERGRn2BiR0REROQnmNgRERER+QkmdkRERER+gokdERERkZ9gYkdERETkJ5jYEREREfkJJnZEREREfoKJHREREZGf+P+xbjpQuKYXzgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "final_sim = make_simulation(\n", + " params[\"widths_si\"],\n", + " params[\"gaps_si\"],\n", + " params[\"widths_sin\"],\n", + " params[\"gaps_sin\"],\n", + " first_gap_si=params[\"first_gap_si\"],\n", + " first_gap_sin=params[\"first_gap_sin\"],\n", + ")\n", + "ax = final_sim.plot(y=0)\n", + "ax.set_title(\"Apodized grating geometry after adjoint optimization (y=0)\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "06007895", + "metadata": {}, + "source": [ + "Lastly, we need to export the optimized grating geometry for further analysis." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "2d79fae8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saved adjoint design to /home/yannick/flexcompute/worktrees/seminar_notebooks/docs/notebooks/2025-10-09-invdes-seminar/results/gc_adjoint_best.json\n" + ] + } + ], + "source": [ + "def serialize_params(param_dict):\n", + " \"\"\"Detach autograd containers into JSON-serializable Python objects.\"\"\"\n", + " return {\n", + " \"widths_si\": [float(value) for value in param_dict[\"widths_si\"]],\n", + " \"gaps_si\": [float(value) for value in param_dict[\"gaps_si\"]],\n", + " \"widths_sin\": [float(value) for value in param_dict[\"widths_sin\"]],\n", + " \"gaps_sin\": [float(value) for value in param_dict[\"gaps_sin\"]],\n", + " \"first_gap_si\": float(param_dict[\"first_gap_si\"]),\n", + " \"first_gap_sin\": float(param_dict[\"first_gap_sin\"]),\n", + " }\n", + "\n", + "\n", + "export_path = Path(\"./results/gc_adjoint_best.json\")\n", + "export_path.parent.mkdir(parents=True, exist_ok=True)\n", + "\n", + "payload = serialize_params(params)\n", + "payload[\"target_power\"] = float(target_powers[-1]) if target_powers else None\n", + "\n", + "with export_path.open(\"w\", encoding=\"utf-8\") as f:\n", + " json.dump(payload, f, indent=2)\n", + "\n", + "print(f\"Saved adjoint design to {export_path.resolve()}\")" + ] + }, + { + "cell_type": "markdown", + "id": "62c6a39d", + "metadata": {}, + "source": [ + "## Conclusion and Next Steps\n", + "\n", + "Switching to a gradient-based approach unlocked high-dimensional refinements and reduced the coupling loss by more than a decibel. The resulting design is finely tuned for nominal fabrication, so the next notebook introduces robust optimization to preserve performance under realistic manufacturing variations." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/2025-10-09-invdes-seminar/03_sensitivity.ipynb b/2025-10-09-invdes-seminar/03_sensitivity.ipynb new file mode 100644 index 00000000..517d552b --- /dev/null +++ b/2025-10-09-invdes-seminar/03_sensitivity.ipynb @@ -0,0 +1,1032 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "495ae8bd", + "metadata": {}, + "source": [ + "# Fabrication Sensitivity Analysis: Is Our Design Robust?\n", + "\n", + "> The adjoint-optimized grating from the previous notebook delivers excellent nominal performance. In practice, however, fabrication variability means the manufactured device rarely matches the design exactly. Here we quantify how the current design responds to some assumed process deviations to see whether it is robust or brittle.\n", + "\n", + "> In the adjoint notebook we purposefully focused on maximizing performance at the nominal geometry. The natural follow-up question is: *how does that optimized design behave once it leaves the computer?* Photonic fabrication processes inevitably introduce small deviations in etched dimensions. Even a well-controlled foundry run can exhibit ±20 nm variations in tooth widths and gaps due to lithography or etch bias. A design that is overly sensitive to these changes might look great in simulation yet fail to meet targets on wafer, so our immediate goal is to measure that sensitivity before pursuing robustness improvements." + ] + }, + { + "cell_type": "markdown", + "id": "f10594b5", + "metadata": {}, + "source": [ + "## Modeling Fabrication Errors with a Bias\n", + "\n", + "We begin by reloading the best adjoint design and defining a simple bias model. A ±20 nm shift in feature dimensions is a realistic foundry tolerance, so we will simulate three cases: the nominal geometry, an over-etched device (features narrower than intended), and an under-etched device (features wider than intended). This gives an intuitive first look at the design's sensitivity before launching a full Monte Carlo analysis." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "04f09f74", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "from pathlib import Path\n", + "\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import tidy3d as td\n", + "from autograd import value_and_grad\n", + "from scipy.stats import norm\n", + "from setup import (\n", + " center_wavelength,\n", + " default_spacer_thickness,\n", + " get_mode_monitor_power,\n", + " make_simulation,\n", + ")\n", + "from tidy3d import web" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "6657cb9b", + "metadata": {}, + "outputs": [], + "source": [ + "def load_nominal_parameters(path):\n", + " \"\"\"Load a design JSON (Bayes or adjoint) into numpy-friendly fields.\"\"\"\n", + " data = json.loads(Path(path).read_text(encoding=\"utf-8\"))\n", + " return {\n", + " \"widths_si\": np.array(data[\"widths_si\"]),\n", + " \"gaps_si\": np.array(data[\"gaps_si\"]),\n", + " \"widths_sin\": np.array(data[\"widths_sin\"]),\n", + " \"gaps_sin\": np.array(data[\"gaps_sin\"]),\n", + " \"first_gap_si\": data[\"first_gap_si\"],\n", + " \"first_gap_sin\": data[\"first_gap_sin\"],\n", + " \"spacer_thickness\": default_spacer_thickness,\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "29aec207", + "metadata": {}, + "outputs": [], + "source": [ + "def make_variation_builder(nominal):\n", + " \"\"\"Return a closure that maps process deltas to a tidy3d Simulation.\"\"\"\n", + " base_widths_si = np.array(nominal[\"widths_si\"])\n", + " base_gaps_si = np.array(nominal[\"gaps_si\"])\n", + "\n", + " def builder(overlay_delta=0.0, spacer_delta=0.0, etch_bias=0.0):\n", + " # Etch bias widens features when positive and narrows them when\n", + " # negative, so widths grow with the bias while gaps shrink, mirroring\n", + " # the fabrication effect of over/under etching.\n", + " pert_widths_si = base_widths_si + etch_bias\n", + " pert_gaps_si = base_gaps_si - etch_bias\n", + "\n", + " return make_simulation(\n", + " pert_widths_si,\n", + " pert_gaps_si,\n", + " nominal[\"widths_sin\"],\n", + " nominal[\"gaps_sin\"],\n", + " first_gap_si=nominal[\"first_gap_si\"] + overlay_delta,\n", + " first_gap_sin=nominal[\"first_gap_sin\"],\n", + " spacer_thickness=nominal[\"spacer_thickness\"] + spacer_delta,\n", + " )\n", + "\n", + " return builder" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "0505451c", + "metadata": {}, + "outputs": [], + "source": [ + "design_path = Path(\"./results\") / \"gc_adjoint_best.json\"\n", + "\n", + "# Load the best apodized design from the previous notebook.\n", + "# This will be our nominal, or central, design point for the analysis.\n", + "nominal = load_nominal_parameters(design_path)\n", + "builder = make_variation_builder(nominal)\n", + "\n", + "# Define the fabrication bias in microns (20 nm).\n", + "bias = 0.02\n", + "\n", + "# Create simulations for each fabrication scenario: over-etched, nominal,\n", + "# and under-etched. Positive bias widens features, while a negative bias\n", + "# corresponds to over-etching that narrows them.\n", + "bias_cases = {\n", + " \"Over-etched (-20 nm)\": builder(etch_bias=-bias),\n", + " \"Nominal\": builder(),\n", + " \"Under-etched (+20 nm)\": builder(etch_bias=bias),\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "39d4febe", + "metadata": {}, + "outputs": [], + "source": [ + "bias_data = web.run_async(bias_cases, verbose=False)\n", + "\n", + "bias_wavelengths = None\n", + "bias_spectra = {}\n", + "\n", + "for label, sim_data in bias_data.items():\n", + " power_da = get_mode_monitor_power(sim_data)\n", + " freqs = power_da.coords[\"f\"].values\n", + " wavelengths = td.C_0 / freqs\n", + " power = np.asarray(power_da.data).squeeze()\n", + " order = np.argsort(wavelengths)\n", + " wavelengths = wavelengths[order]\n", + " power = power[order]\n", + "\n", + " if bias_wavelengths is None:\n", + " bias_wavelengths = wavelengths\n", + "\n", + " bias_spectra[label] = power" + ] + }, + { + "cell_type": "markdown", + "id": "50c73781", + "metadata": {}, + "source": [ + "## Interpreting the Sensitivity Plot\n", + "\n", + "The curves below compare the nominal spectrum to ±20 nm biased geometries. The separation between them conveys how quickly our high-efficiency design degrades under realistic fabrication shifts in tooth width and gap. Watch for both a drop in peak efficiency and a shift of the optimal wavelength." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "6a994928", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGJCAYAAADWn3rYAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAsHBJREFUeJzs3Xd8FEUbwPHfXXpPSO8hgdB7R7r0EkGKCiqIAhZEKYIFEBBEigiIYkVfERtNem/SIdTQISQhpJCEhPR6t+8fmxwcoSSXTYP5fj7o3d7e7Nxk7+65nZlnVJIkSQiCIAiCIChAXd4VEARBEAThySECC0EQBEEQFCMCC0EQBEEQFCMCC0EQBEEQFCMCC0EQBEEQFCMCC0EQBEEQFCMCC0EQBEEQFCMCC0EQBEEQFCMCC0EQBEEQFCMCC0EoR8uXL6dmzZqYmJhgb29f3tV56u3duxeVSsWqVatKVE6HDh3o0KGDYvUqql9//RWVSkV4eHiZH7s4pk2bhkqlKu9qCKVEBBZCqSj4gAsODi7vqpTY5s2bmTZtmuLlXrp0iWHDhhEQEMCPP/7IDz/8oPgx1qxZwwsvvIC/vz+WlpbUqFGD8ePHc+fOnQfuv379eho3boy5uTk+Pj58+umn5OXlKV4vpRUEBA/69+KLL5Z39RT3+eef8++//5Z3NfT4+fnptbu5uTnVq1fngw8+IDExsbyrJ5Qh4/KugCBUdJs3b+abb75RPLjYu3cvWq2WRYsWUa1aNUXLLjBy5Eg8PDx4+eWX8fHxISQkhCVLlrB582ZOnjyJhYWFbt8tW7bQt29fOnTowNdff01ISAgzZ84kLi6OpUuXlkr9lDZmzBiaNWumt83Pz6/M67F9+/ZSLf/zzz9nwIAB9O3bV2/7K6+8wosvvoiZmVmpHv9hGjZsyPjx4wHIysrixIkTLFy4kH379nHs2DHdfpMnT+bDDz8slzoKpU8EFoJQTuLi4gAM7gLx8/Nj2LBhjwx4Vq1aVeiSfJMmTRg6dCgrVqzgjTfe0G2fMGEC9evXZ/v27Rgbyx8Ntra2fP7557z33nvUrFnToHqWpbZt2zJgwIByO35GRgaWlpaYmpqWy/GNjIwwMjIql2MDeHp68vLLL+vuv/HGG1hbWzN//nyuXr1K9erVATA2NtadY8KTR3SFCGVm2LBhWFtbc+PGDXr37o21tTWenp588803AISEhNCpUyesrKzw9fXljz/+0Ht+QffKf//9x6hRo3B0dMTW1pZXX32VpKQkvX3XrVtHr1698PDwwMzMjICAAD777DM0Gk2heh09epSePXvi4OCAlZUV9evXZ9GiRbo6F9Tv3su8j/Ptt99Sp04dzMzM8PDw4J133tHrfvDz8+PTTz8FwNnZGZVKVSrdLQ/q5+/Xrx8AFy9e1G27cOECFy5cYOTIkXof+G+//TaSJD12zEHB3+bgwYOMGzcOZ2dnrKys6NevH/Hx8Xr7+vn50bt3b/bu3UvTpk2xsLCgXr167N27F/K7b+rVq4e5uTlNmjTh1KlTJW6HxMREJkyYQL169bC2tsbW1pYePXpw5syZB+6v0Wj4+OOPcXNzw8rKiqCgICIjI/X26dChA3Xr1uXEiRO0a9cOS0tLPv74Y91j97d9VlYW06ZNIzAwEHNzc9zd3Xn++ecJDQ3V7TN//nxat26No6MjFhYWNGnSpFDbq1Qq0tPT+d///qc7H4cNGwaPGGPxuPPx3tdz4cIFOnbsiKWlJZ6ensydO9egNi/g5uYG+cFEgQeNsfjll1/o1KkTLi4umJmZUbt27QdeKQsODqZbt244OTlhYWFB1apVGT58eInqKChLhIxCmdJoNPTo0YN27doxd+5cVqxYwejRo7GysuKTTz5hyJAhPP/883z33Xe8+uqrtGrViqpVq+qVMXr0aOzt7Zk2bRqXL19m6dKlRERE6PrZyf+Atba2Zty4cVhbW7N7926mTp1KSkoK8+bN05W1Y8cOevfujbu7O++99x5ubm5cvHiRjRs38t577zFq1Ciio6PZsWMHy5cvL9JrnDZtGtOnT6dz58689dZbujoeP36cgwcPYmJiwsKFC/ntt99Yu3YtS5cuxdramvr16z+0zOzsbFJTU/W2abVaMjIySEhI0Nvu5OT0yPrFxsYW2q/gy7tp06Z6+3p4eODl5VXkL/d3330XBwcHPv30U8LDw1m4cCGjR4/m77//1tvv2rVrDB48mFGjRvHyyy8zf/58+vTpw3fffcfHH3/M22+/DcDs2bMZNGgQly9fRq1+/O+g1NTUQu1RpUoVrl+/zr///svAgQOpWrUqt27d4vvvv6d9+/ZcuHABDw8PvefMmjULlUrFpEmTiIuLY+HChXTu3JnTp0/rdR/dvn2bHj168OKLL/Lyyy/j6ur6wHppNBp69+7Nrl27ePHFF3nvvfdITU1lx44dnDt3joCAAAAWLVpEUFAQQ4YMIScnh7/++ouBAweyceNGevXqBfkDft944w2aN2/OyJEjAXTPf5CinI8FkpKS6N69O88//zyDBg1i1apVTJo0iXr16tGjR4/Htn9ubq6u/bOysjh16hQLFiygXbt2hd7H91u6dCl16tQhKCgIY2NjNmzYwNtvv41Wq+Wdd96B/Kt8Xbt2xdnZmQ8//BB7e3vCw8NZs2bNY+smlCFJEErBL7/8IgHS8ePHdduGDh0qAdLnn3+u25aUlCRZWFhIKpVK+uuvv3TbL126JAHSp59+WqjMJk2aSDk5Obrtc+fOlQBp3bp1um0ZGRmF6jRq1CjJ0tJSysrKkiRJkvLy8qSqVatKvr6+UlJSkt6+Wq1Wd/udd96RivpWiYuLk0xNTaWuXbtKGo1Gt33JkiUSIC1btky37dNPP5UAKT4+/rHlFrz2ovx7nNdff10yMjKSrly5ots2b948CZBu3LhRaP9mzZpJLVu2LFL9OnfurNd2Y8eOlYyMjKQ7d+7otvn6+kqAdOjQId22bdu2SYBkYWEhRURE6LZ///33EiDt2bPnkcffs2fPQ9sjLCxMysrK0vt7SJIkhYWFSWZmZtKMGTMKlePp6SmlpKTotv/zzz8SIC1atEi3rX379hIgfffdd4Xq0759e6l9+/a6+8uWLZMAacGCBYX2vbe97j9vc3JypLp160qdOnXS225lZSUNHTq0UFkFf4ewsDBJKub5WPB6fvvtN9227Oxsyc3NTerfv3+hY92v4O96/79nnnlGSkhI0Nu34Ny/14Pes926dZP8/f1199euXVvoc0WoeERXiFDm7u3Xt7e3p0aNGlhZWTFo0CDd9ho1amBvb8/169cLPX/kyJF6v7LeeustjI2N2bx5s27bvb8qC37Ftm3bloyMDC5dugT5v9LDwsJ4//33C41zMHQq3M6dO8nJyeH999/X+4U9YsQIbG1t2bRpk0HlduvWjR07duj9c3V15ZVXXim0/VH++OMPfv75Z8aPH6/r7wbIzMwEeOCgP3Nzc93jjzNy5Ei9tmvbti0ajYaIiAi9/WrXrk2rVq1091u0aAFAp06d8PHxKbT9QefBg0ydOrVQe7i5uWFmZqb7e2g0Gm7fvo21tTU1atTg5MmThcp59dVXsbGx0d0fMGAA7u7ueucY+e312muvPbZeq1evxsnJiXfffbfQY/e2173nbVJSEsnJybRt2/aBdSyK4p6P1tbWemMkTE1Nad68eZHbv0WLFrp237hxI7NmzeL8+fMEBQU99hy697UnJyeTkJBA+/btuX79OsnJyXDPeKSNGzeSm5tbxFYQyproChHKlLm5Oc7Oznrb7Ozs8PLyKvRlbmdnV2jsBKD3hUj+h6G7u7tev/L58+eZPHkyu3fvJiUlRW//gg+pgr7tunXrKvDKZAVfoDVq1NDbbmpqir+/f6Ev2KJyd3fH3d1db5u5uTn+/v507ty5SGXs37+f119/nW7dujFr1iy9xwo+1LOzsws9LysrS+9D/1HuDQoAHBwcIP9L8lH72dnZAeDt7f3A7Q86Dx6kXr16D2yPgtk33377LWFhYXpjbRwdHQvtf/85plKpqFatWqGxC56enkUaqBkaGkqNGjUeO2Bx48aNzJw5k9OnT+v9LQwNdIt7Pj7ofejg4MDZs2eLdDwnJye99u/Vqxc1atRgwIAB/PTTTw8MrAocPHiQTz/9lMOHD5ORkaH3WHJyMnZ2drRv357+/fszffp0vvrqKzp06EDfvn0ZPHhwuc2EEQoTVyyEMvWwEesP2y5JUrGPcefOHdq3b8+ZM2eYMWMGGzZsYMeOHcyZMwfyv2SeNmfOnCEoKIi6deuyatWqQl9wBUFLTExMoefGxMQUGoPwMEX9O5bFeXCvzz//nHHjxtGuXTt+//13tm3bxo4dO6hTp06JzoeiBlxFsX//foKCgjA3N+fbb79l8+bN7Nixg8GDB5f49RdVabT/s88+C8B///330H1CQ0N59tlnSUhIYMGCBWzatIkdO3YwduxYuOc9W5C87PDhw4wePZqoqCiGDx9OkyZNSEtLM7iOgrLEFQuh0rl69SodO3bU3U9LSyMmJoaePXtCfn6I27dvs2bNGtq1a6fbLywsTK+cggFv586de+Sv/uL8WvT19QXg8uXL+Pv767bn5OQQFhZW5KsLSgoNDaV79+64uLiwefNmrK2tC+3TsGFDyB9x37x5c9326Ohobt68qRskWFmtWrWKjh078vPPP+ttv3PnzgMHu169elXvviRJXLt27ZEDbB8lICCAo0ePkpubq9eNd6/Vq1djbm7Otm3b9H59//LLL4X2Leo5WRHOx4IEa4/64t+wYQPZ2dmsX79e72rWnj17Hrh/y5YtadmyJbNmzeKPP/5gyJAh/PXXX3rdrEL5EVcshErnhx9+0OtfXbp0KXl5ebpR6wW/uu79lZWTk8O3336rV07jxo2pWrUqCxcuLDT17t7nWllZQf6X0ON07twZU1NTFi9erFfGzz//THJysm5kvxLCw8MfO0U1NjaWrl27olar2bZtW6FuqAJ16tShZs2a/PDDD3rdBEuXLkWlUpVrbgglGBkZFfrVvXLlSqKioh64/2+//aY3C2fVqlXExMQUaWbEg/Tv35+EhASWLFlS6LGCehkZGaFSqfTaPzw8/IEZNq2srCrc+fgwGzZsAKBBgwYP3edB79nk5ORCQVVSUlKhv2NBUPygbjyhfIgrFkKlk5OTw7PPPqubhvjtt9/Spk0bgoKCAGjdujUODg4MHTqUMWPGoFKpWL58eaEPJLVazdKlS+nTpw8NGzbktddew93dnUuXLnH+/Hm2bdsG+QmlyM/q2K1bN4yMjB6aJtrZ2ZmPPvqI6dOn0717d4KCgnR1bNasmd7AuOK4fv06hw4dKtK+9x6je/fuXL9+nYkTJ3LgwAEOHDige8zV1ZUuXbro7s+bN4+goCC6du3Kiy++yLlz51iyZAlvvPEGtWrVMqjeFUXv3r2ZMWMGr732Gq1btyYkJIQVK1bo/Yq/V5UqVWjTpg2vvfYat27dYuHChVSrVo0RI0YYdPxXX32V3377jXHjxnHs2DHatm1Leno6O3fu5O233+a5556jV69eLFiwgO7duzN48GDi4uL45ptvqFatWqExDk2aNGHnzp0sWLAADw8Pqlatqhvoeq/SOh8fJioqit9//x3y36dnzpzh+++/f+jA1QJdu3bF1NSUPn36MGrUKNLS0vjxxx9xcXHR65773//+x7fffku/fv0ICAggNTWVH3/8EVtbW90VS6ECKO9pKcKT6WHTTa2srArt2759e6lOnTqFtvv6+kq9evUqVOa+ffukkSNHSg4ODpK1tbU0ZMgQ6fbt23rPPXjwoNSyZUvJwsJC8vDwkCZOnKib0nj/1MUDBw5IXbp0kWxsbCQrKyupfv360tdff617PC8vT3r33XclZ2dnSaVSFWlK55IlS6SaNWtKJiYmkqurq/TWW28VmtJaFtNNH7XfvdMhC6xdu1Zq2LChZGZmJnl5eUmTJ0/Wm9r7uPrdPw2wYPrmvW1+/9/13rq+8847etvCwsIkQJo3b94jj19wnJUrVz7w8aysLGn8+PGSu7u7ZGFhIT3zzDPS4cOHC00LLSjnzz//lD766CPJxcVFsrCwkHr16qU3DVZ6xHkrPWC6qZQ/nfKTTz6RqlatKpmYmEhubm7SgAEDpNDQUN0+P//8s1S9enXJzMxMqlmzpvTLL788cGrmpUuXpHbt2kkWFhYSoJt6ev900wJFOR8f9nqGDh0q+fr6PvB13uv+6aZqtVpycXGRXnrpJenatWt6+z7oNa1fv16qX7++ZG5uLvn5+Ulz5szRTdMteD0nT56UXnrpJcnHx0cyMzOTXFxcpN69e0vBwcGPrZ9QdlRSWY0KEoQS+vXXX3nttdc4fvx4oUROgiAIQsUgxlgIgiAIgqAYEVgIgiAIgqAYEVgIgiAIgqAYMcZCEARBEATFiCsWgiAIgiAoRgQWgiAIgiAo5qlKkKXVaomOjsbGxsbgRX0EQRAE4WkkSRKpqal4eHjorZZ7v6cqsIiOji60eqIgCIIgCEUXGRmJl5fXQx9/qgILGxsbyG8UW1tbRcrUarXEx8fj7Oz8yAhOKBrRnsoTbao80abKEu2pvNJo05SUFLy9vXXfpQ/zVAUWBd0ftra2igYWWVlZ2NraijeEAkR7Kk+0qfJEmypLtKfySrNNHzeUQPwFBUEQBEFQjAgsBEEQBEFQjAgsBEEQBEFQjAgsBEEQBEFQjAgsBEEQBEFQjAgsBEEQBEFQjAgsBEEQBEFQjAgsBEEQBEFQjAgsBEEQBEFQzFOVeVMQhMpDo9UQnxlPYlYiSVlJJGYlkpiVSGZeJjmaHN3/JSTUKjXGamPUKjWmalOsTa2xNrHGxtQGG1MbnCyccLF0wcHMASO1UXm/NEF4oonAQhCEciVJEtHp0VxKvETonVBupt4kMjWSqLQo8rR5ih5LrVLjaOGIp7UnPjY++Nj64G3jTVW7qjiaO4pVjwVBASKwEAShTGm0Gi4nXSY4Npjzt89zKfESqTmpZXJsraQlPiOe+Ix4Tsed1nvM3tye6vbVqe5QnUCHQOo41sHRwrFM6iUITxIRWAiCUOqSs5M5FH2IY7HHOHHrBGk5aY/c31htjJeNF57WnjhbOFPFvApVzKtgb26PtYk1ZkZmmBqZYmZkhlqlRitp0UgaNFoN2Zps0nPTuZOVQkRSGjdupxOTnM6t1EwS0zSkZGrJzlUhaY3Rak2QtMaAiiiVlvMqLaBFrT6H2igYa3MjXK3t8LF3pIG7H7Vc3HC3t8DVxrTM2k4QKhsRWAiCUCpSc1I5EHWAPZF7OHnrJFpJ+8D97MzsqFWlFjWq1KBGlRr42vjiYulSrLEQOXlaLsWmcCbyDpdicwhLyCHitpZcjTlgDty98mACGCOh0WrkYAQNedo88rR5SEh65WalQ8JtOB+RwZYzF1CrLmGiNsFEbYKzpRm1PKoQ4GKNv7M1NVxt8He2wsRIjIkXnm4isBAEQTFaScvpuNOsD13PoehDDxwjYWViRRPXJjR1a0ojl0Z4WHkUe2yDRitxITqFA9cSOHkjiQvRKeRqHhy4FFCpoIqVGU7WptiYG2NuYoS5iREWJkaoVXKZqTkZJGbeIS79DvFpaSRn5qLRmKDJswBUaCUt2ZpssjXZpN1JIzIlGdOrppgamWKkMsLMRE0NV1vqeNhS19OOxj72OFqbFbsdBaEyE4GFIAgllpydzJawLWy8vpHotOhCj7tautLBuwNtvNpQ06GmQTMzsnI1HLyWwP6rCRwKTeBORu4D93OyNqOaizVVnazwd7aiqpMVbrbmOFiZFvtqQq4mlyt3rnAq9gyHIkM4FxtFdrY5uTm25GTZk5dThcxsBzLy1PKMlFxTTt7I4ezNO7oyqjpZ0cTXgSa+DjSrWgVbc5Niv3ZBqExEYCEIgsFupd/inyv/sPn6ZrI12XqP2Zvb09mnMx28O1CrSi2DZlxotRInbySxOSSWPZfjSM8ufAWkuqs1Db3taeBlTwNve1xtzUv0mu5lYmRCHcc61HGsw8t1IFuTzfmE8xyLOcb+G/uJyYpBklTkZduRnelCToYzmZkuaLJcMFGbY2ZkSlhCOmEJ6aw6cRO1SkVdTztaBTjSOsCRmm42YiaK8MQRgYUgCMUWnhzOX5f/YteNXWi0Gr3HGjnUoI9DXZ5RW2OSlgjBKyDjNqTHQ0465GZCXpb8T6sBtRGojUGlBiMzMLPhtrEza1Nrsz7Jl9hcC1AZgVoNKiMsTE1o7u9Em+pOtA5wwtmm7LoazIzMaOzamIbODenr1heNlYZjscc4HH2YU/Gn0DhcAUDSGpGd6UJWmge5WX5osrwwVplhjDFnb97h7M07fL8vFGcbMzrUcKZ9oAuNfOzF+AzhiSACC0EQiiw2PZZfz//KjvAdSJIWtLmgzcNUq6FnngnPp6TgdSMK2F30QjV3uzQu5rnzd1Z9duTUJRcjQAIyMEFDa5Or9DQ7S2v1FcwSqoDkDwkB4BQIrnXAuSYYl+1sDXcrd/pV70e/6v1IzUnlcPRh/rv5H8G3glGpYzC3igFOIGmNyMpwwyynHqrMGqSmW6BWqYlPzWZl8E1WBt/E2tyYdtWd6VLbleZVq4ggQ6i0RGAhCMJj3cm6w+8hP7M+dB15uZlyMKDNw0aC57M09M3SYic94IkqNVg6gmUVsHICM1swsQBjc/n/KhWSViI40Yyfwx05mWEFkhaMJJC0BJok0NfkCF2Mz2Knzrxbbnq8/O/G0bvbjEzAqTq41QPPpuDVDGzdy6R9AGxMbejq15Wufl3JyM3gYPRBdt/YTfCtYDRosLCOAqKArVjl2uBCO8iow80EEzRaibSsPDaHxLA5JAYbc2M61nChW103Gvs4YKQW3SVC5aGSJOlBHwdPpJSUFOzs7EhOTsbW1laRMrVaLXFxcbi4uKBWi18YJSXaU3kladPc+MusPbGE324dIuOeMRTWEgzO1BCUpcUSwNoZXOqAYwA4+IG9r/x/Kye5q+MBJEnieHgSP+6/zpnIu4MdjdQqOtRw4YVm3jTwskMlSXJXSmqM/C8xDBJDIfE63A6Vu1Yexs5TDjB8W4NvG7BSJuFVcdo0OTuZ/27+x/aI7ZxPOF/ocSu1I1XNepKbGsjZG9mFZrc4WZvRva4bPeq6Uc3F+okckyHe98orjTYt6neoCCxKSLwhlCXaU3nFbtP4y3BxPSevbWaxJo4bRne/yEyBAdnwon1drL1bgnt9cK0L1i7FqtO5qGQW77rK6XsCCnMTI/o39uLF5t5FH4Cp1ULyDYg9B7fOQWyI/C8v+8H7u9QCvzYQ0BHcGz406Hn8YQ07T6PSotgRvoPtEduJTY8t9HigXT38THoQG+/C8bA7hYKMAGdretV3p0ddtydqGqt43ytPBBZlRAQWFZ9oT+UVqU3TE+DSRji/loT4S3xrZcRe07v7qtTG9LSrwdA6Q3Hy6wCmlgbVJTY5i2/2XGPb+btfquYmRgxs4sWQlr5UsVJgjIQmVw4ybgZD1AmIPCYPGr2fZRUI6ATVngWf1mBS9NkkJT1PtZKWM/Fn2HR9E/tv7idXqz911tbUlg6ePbDNa83Ra9mcunFH73EjtYrWAU70buBOm2pOlX48hnjfK08EFmVEBBYVn2hP5T20TSUJIo/Cqd8hdDeSVsM2MzXfWBqRrsofs2BsRq0qtRjT4kNqVKlhcB0yczT8ciiMP47eICdP/hVuYqRmUFNvXm3li4MSAcXDaHIh5gyE74fwA3DrvPza72VqCQHPQs2ecpfJYwaBKnmepuSksCtiFxuvbyQsOUzvMRUqmrs3p51rEDFxrmwKiSUyMUNvnypWpvSq585zDT3xcTQs4Ctv4n2vPBFYlBERWFR8oj2VV6hNc9Lhwjo4tQJuXwMgTg0LrIw4ZmYiD6w0NsfOogoj64+km1831CrD/xYHryUwd+slYpKzdNs613blnY7V8LS3UOQ1Fkt6AlzfC9d2QvhB0OToP25mA9W7QO3nwKu5PM31PqVxnkqSxPnb51l3bR37bu4rlLXU09qT5wL64m3Wmp3nk9h5sXBej0Y+9vRt6EmnWi6YGVee5eHF+155IrAoIyKwqPhEeypP16Y2pqjPrICTv0FWCuRP5txmYcoSOysyjEzkqxRAZ9/OvNPwHezM7Aw+bnxqNgt2XGHXxVu6bbU9bBnXJZD6XvYKvDIF5KRD2H64sgVC9xQem2HjBrWDoHZfeWBqvtI+T+9k3WFL+BbWX1vPrYxbeo9ZmVjRo2oPevg+x4VINetOR+mNVQGwtTChVz13+jXyxM/JSvH6KU2875UnAosyIgKLik+0p/K0KbGk/7cE69CNqO6ZQZFq68YCVw/2ZcXI00IBRwtHxjYZS2uP1gYfT5Ik1p+JZtHOq6Tl/6K2NjfmnQ7V6NfIE3VFnTqZkw7X98GlTRC2Ty+/BgAeDaHeQAjsjtbEskzOU41Ww+GYw6y9upZTcaf0HlOpVLTxbMPAwIHYqKqy/nQ0G8/GkJShfwWmsY8D/Zt40aGGc4UdiyHe98oTgUUZEYFFxSfaU0EZiXDsB6RTv6PNzUKtNkIF4FqHkNo9mBWzk7iMeN3u3fy68U7Dd7A2tTb4kAlp2Xy++SIHribotnWu7crYzoFlmiGzxDLvwOUtcOFfiD6t/5iJBVJgD257daZK7Q6ojcqmyyEsOYw1V9ewI2IHOfd139R2rM2gGoNo7tqK/VcTWXvqJsHhSXr7VLEyJaihB/0aeeJuVw5dUI8g3vfKE4FFGRGBRcUn2lMB2Wlw4hcI/gVy0pEArVaD2rcV2uYj+T09lN8uLqfgrW9tas2EphNo59WuRIfdfekWszdfIjlT/qXvZG3Gxz1r0aa6kyIvq9wkhcO5NXB+DaTJgZiuTV3roGr4EtTsDWaGB2TFkZydzIbQDawLXcftzNt6j3lYezAgcAA9qvbg1h0Na09FseFsNCmZd6++qFUqnqnmxIAmXrSoWqVCXEES73vlicCijIjAouIT7VkCWg2ErISDi+SrFfkkr6Yk1hqKUWBzPj/2OcG3gnWP1Xeuz8ctPsbFsnh5KO6VmaNh3rbLbDx7d1XTrnVc+aBbTewsnqCVPDV58sySkFVI13ejzcu9exXI1FIe7NlwiJz9swzkanPZdWMXqy6v4nrydb3H7Mzs6FetH32r98VUZcWui3GsOXmTkKhkvf28HCzo38SLPg08ynXVVfG+V54ILMqICCwqPtGeBrpxFPbMhPgrd7e51IK249D6PMPh0CN8feVr4jLiIL9/flidYQyuOdigJcwLhMan8dGaEMIT5DwRNubGfNijFl1qu5b8NVVg2pRY0o78ik3YFlSp9yW68mkBjV4B/45gVPqrJkiSRPCtYP65/A8nbp3Qe8zc2Jxe/r0YFDgIZ0tnrtxKZdWJm2w9F0tW7t3F48xM1HSr7cbApt7UcLMp9TrfT7zvlScCizIiAouKT7RnMaVEw97ZcGX73W22HtDuAwjsDmo1G65tYOGJhUgq+a1ub27PlJZTaOTSyODDSpLExrMxzN12iexcOS9FUz8HpgfVrVxjKQykO0+dHFFH7IfTf0LYf/o72brLVzDqDwJzw2fXFMfVpKv8fflv9kTu4d6PdmO1MZ19O/NSzZfwtvEmNSuXTWdjWHXiJjfuy4tR38uOgU296VTTpcwGe4r3vfJEYFFGRGBR8Yn2LCJNHpz6Te72yM3PD2FiDs1HQdPhYGJOrjaXb09/y7pr69BoNRipjajtWJtprafhZGH4uIesXA1fbLnE5pAYAFQqeKONP8PbVH1qFst64HmaFAGn/4BzqyE79e7OJubydNXGr+pNWS1NMWkxrLyyks1hm/UGeqpQ0darLUNqDaG6Q3W0Wonj4YmsPHGTA1cT0N7zdeBobcbzjTzp28iz1INF8b5XnggsyogILCo+0Z5FEBsC26dA3MW722r1ka9S2MhdEKk5qUw7NE03RVGj1dC/en/eavQWJmrD+9Jjk7P4YNUZLsfKX5xVrEz5rG9dmvlVKemrqlQeeZ7mZMDFDXK+kPwEZDr+7aHJa+DTUo7ISllSVhJrrq7h32v/kp6rn9a8hXsLXq71MnWc6gAQk5zJmpNRrDsdxZ2Mu4M9jdUqOtR0YVDT/EXhSqHe4n2vPBFYlBERWFR8oj0fITcTDiyUv7Ck/MWpHHyhywz5iypfZEokHx/4mKi0KMi/DD48YDiDGgwqUZuevJHER6tDdHkSGvs4MLNfXZyeoMWwiqpI56kkQcQhOPk/OT/GvZxrQNPX5NkkRqU/aDI9N531oetZdWUVSVn601AbujTk5Vov08ilESqViuw8DTsvxPFPcCQXY1L09g10tWFgUy+61XHD3ES5abbifa88EViUERFYVHyiPR8i+hRs+VCe+kj+Oh7NR0KLUWB894v9VNwpph6cqvt1amdmx/RW03HRuhjcppIksfLETRbuuEKeVv64GNTUm/c6V6+wCZdKW7HP08TrckB4bo1+dk9rF7mLpP4LYK7MZ9KjZGuy2Xx9M39f/ls3kLdAbcfavFL7FZq7NdddlTgXlczK4Eh2XozTW2nV1sKE5xp40L+JFx4KpGUX73vlicCijIjAouIT7XmfvGw4uBiCl929SuHRELp9Xqi/flfELuYcn6NbY8Lfzp+ZbWbiYuFicJvmabR8tfMKK4NvQv7CYR/2qEmfBh5KvcJKyeDzNCMRzv4tr9OSfjc5GaZWcnDRZKicRryU5Wpz2RWxixUXV+iubBWo7lCdV2q/QmuP1ro1Ym6nZfPv6WhWn7hJQtrdwEitUtGmuhMvNPOmqa+Dwd0k4n2vPBFYlBERWFR8oj3vEX8ZNo2HhKvyfSMTeOY9eXDmPVNEJUni78t/88PZH3TbWrq3ZHLLyViaWBrcphk5eUxee44D1+Qsmk7WZszpX596XmUzw6EiK/F5mpcDlzbA8WX64zDUxvJ4mWZvgFM1Rev8IBqthn039/H7xd8JTw7Xe8zfzp9Xar9CW6+2ugAjV6Nl3+V4/gmOLLQ+SVUnKwY29aZnPTcsTYs3zVa875UnAosyIgKLik+0Z37f/OkVsHfO3ZU3XetAjzmFki9ptBq+Of0N/177V7ett39vxjQeg7Fa/nA3pE3jUrMY9/cZrtySB2lWc7Fm4QsNcbE1V+51VmKKnadarbwuSfDPEHlc/7GAjtB8BHg2KXF9H1sNScvBqIMsv7Cca3f0B5z62vrycu2X6eDVQS/nydVbqfx9PJKt52PJybvbTWJtZkzv+u4MbOqNd5WiLeMu3vfKE4FFGRGBRcX31LdnRiJs+1heaRPkxcFaviX/u2+QX64ml1lHZ/Hfzbv5E4bXHc6QWkP0LkkXt02vxaXy3l+niU+VL3m3CnDk8371sDIr/WRPlUWpnKcxZ+H4T3B1uxxcFvBsIgcY/h1KfSaJJEkciTnC8gvLuZR4Se8xbxtvXq79Mh29O+qCVoDkzFzWn45i1YmbxCRn6T3nmWpODGzqRcuqjo9MHf7Uv+9LgQgsyogILCq+p7o9I4/BpnG69SiwcYNeX4JX00K7ZuZl8unBT3XpuY3URoxvOp7uft0L7VucNj0deYdx/5wmLUsep/F8Yy8mdA3E+CkdpPkwpXqeJoXLY2rOrb17xQrAORCajYAaPUs9o2dBNs/fLvzG+YTzeo95WHvwcq2Xedb3Wb2pyxqtxIFrCfxzPJLj4Yl6z/GuYsmgpl70qu+B9QMC1Kf6fV9KRGBRRkRgUfE9le2p1cqXwvcvuDtAs0Z3eRrpAzI2puak8tH+j7hw+wIApkamzGg9g+buzR9SfNHadP/VeD5aE6K7rP1up2q83NK3VPIWVHZlcp6mxctTVc/8KS8sV8DOS76CUaef3oyg0iBJEqfiTvHbhd84G39W7zF3a3eG1BxCF78uhXKjXI9PY+WJm2wOiSEz527qcEtTI3rVd2dgE2/8nKx025/K930pE4FFGRGBRcX31LVnVrI8jTR0t3zfyBSenQL1Bj7wsvftzNtM+m+SbtEpKxMrZredTV2nug89RFHadOPZaGZtuohGK2GkVvFJr1r0rv90z/x4lDI9T7NS4MxfcOJXyLhnNVMrZ2g6DOq/WCYrq56OO83yC8t1SdcKuFq6MrjWYLpX7V4owEjNymXj2RhWBkdyMylT77HmVavwQjNvWgc4oUJ6ut73ZUAEFkUQFBTE6dOniYuLw8HBgc6dOzNnzhw8PIr+4ScCi4rvqWrPuIuwbjQky1M5sfeGPovBtfaDd8+IY/ze8brpgfbm9sxtO5dqDo+ePfC4Nv3j6A0W7pQXLzM1VjP7+Xq0re5c8tf3BCuX8zQ3S04XfvwneY2YAua2ci6MRq+AhX2pVyMkPoTfLvxWaMEzZ0tnXqr5Ej2r9sTUyFTvMa1W4lDobf4JjuTIdf2l3j0dLOjfyJNWHiZU9XZ/8t/3ZUQEFkXw1Vdf0apVK9zd3YmKimLChAkAHDp0qMhliMCi4ntq2vPSZtj64d1kSdWehe5fPDRJUmx6LOP3jicmXV6fw8XShXnt5+Ft4/3YQz2qTX8+EMb3+0IBsDY3ZsGghjT0Lv0vp8quXM9TTS5c2gTHfoDboXe3m1pCg8FyRk8rw9eCKarzt8+z/MJyjsUc09vuaOHISzVfopd/L8yMCnfVRNxOZ2XwTTaFxJCenafbbqKW6NXAk0FNfajmUvpXYJ50IrAwwPr16+nbty/Z2dmYmBQtJa4ILCq+J749tRo48BUc+1G+r1JD23Fy3oKHjGWITotm3N5xukyJHtYefNn+S1ytirY0+YPaVJIklu4L5deDcu4CB0tTlgxuRHXXsl8yuzKqEOepVgvXdsLRpXDrwt3txqZQb5A8DqMMkm1dSrzE8gvLORx9WG+7g7kDL9R4gT4BfbAwLpydMy07j81nY/gnOJIbiRlotVpdWzb1c2BgU2/aVXd+aha2U5oILIopMTGRt956i6ioKA4cOPDQ/bKzs8nOvpslLiUlBW9vb5KSkhQNLOLj43F2dn4yvwjL2BPdntkpqDZPgLD98n0zG6ReC8CvzUOfcjP1JuP/G8/tTPnysZeNF/PbzS/W6qT3t6kkSSzadY2/jkcC4GQtBxV+jlaPLUuQVajzVJIg/ACqY99B1Mm7242MoXY/pGZvgL1PqVfjatJVll9czqFo/avItqa2DAgcwHMBz2FlUvgc02oljly/ze+HQjkVlc69X0iutub0b+zJcw09sLMo/TVVniSlcY6mpKTg4ODwZAUWkyZNYsmSJWRkZNCyZUs2btyIo6PjQ/efNm0a06dPL7T9ypUr2Ngo88tMq9WSnJyMnZ1d+X/APAGe1PY0SrmJ3Z5JGCVHAKCxq0pyx9lobL0e+pyYjBimn55OUo68aJSXpReTG0zGwcyhWMe+t01VKhXfHYpm0wU5UHG2NmFWT3887J6+hcRKoqKepyaxp7AM+Q3TmHuSbamMyKrahYx6r6KxK/0AIyItgrURazkSfwTpnjDBytiKHl496OHZA2sT/a6OgvbMUJmz+WISO68kkp5zN+mWiZGK9gH2BNV1wt+x5GuTPA1K4xxNTU0lMDCwYgcWH374IXPmzHnkPhcvXqRmzZoAJCQkkJiYSEREBNOnT8fOzo6NGzc+dDqcuGJR+TyR7Rl1EtX6dyAzPwVyQCekHnPA9OH9yFFpUYzdO5bELDkfQFW7qsxtOxcH8+IFFdzTpk5OTizYeY3VJ+XBn14OFix5qRFudiKbZnFV+PM05gyqo9/B9b13t6nUENgNqcVbhTK4lobwlHD+uPgHe27u4d6vGQtjC4ICghhQfYDufL6/PTNy8th67hYrT9wkLEF/ufcGXnYMbOpF+0Dnp3YRvKJ4aq9YxMfHc/v27Ufu4+/vj6mpaaHtN2/exNvbm0OHDtGqVasiHU+Msaj4nrj2vLBezqSpyZXvNx8BbcbBI15bTFoM7+99n/gMOVGWv50/X3b4Ejszw9bo0Gq13Lp1i9/PJLPyhDwDxaeKJUtfboKzjbhSYYhKc57GXYIj3xbO5hnYDVq9Iy/fXsoiUyP54+If7IjYgVa6exXC1MiUnlV78kKNF3C2cH5ge0qSRHBEEv8cj2T/1QS097wGJ2sznm/sSd9GnjhZi/P4fmKMhQFu3LiBr68ve/bsoUOHDkV6jggsKr4npj0lCQ4vgUNL5PtqY+gyHeoNeOTTYtNjGbtnLLcybgHgZ+fHgvYLsDc3fKaGRqNh1vozbLwgX/3wcrDgu1ea4GIjrlQYqtKdpwlX4chSuLzlbhI2gOqdoeU7D53irKTY9Fj+vPQnW8K26FbgJT9rbGefznR16koDvwYPbc+Y5ExWn7jJv6ejScnM1W03MVLTqaYLg5p6U9fTViR0yycCi8c4evQox48fp02bNjg4OBAaGsqUKVO4desW58+fx8ysaNGqCCwqvieiPTW5sONTOecA8iBNnlsCPi0f+bT4jHje3/O+bkqpj60PCzosoIp5FYOrIkkSi3Ze4fcjEajVajmoeLmJWEyshCrteZp4HY5+Dxc3yDOUCgR0hFajwe3hidaUkpCZwN+X/2Zj6EayNXe7qrVaLR18OjC41mACHQIf+vysXA07Ltzin+BILsem6j1Ww82GQU296VLbFXMTo4eW8TQQgcVjhISE8N5773HmzBnS09Nxd3ene/fuTJ48GU9PzyKXIwKLiq/St2dOBmx8H67vk+/becHzP4BjwCOflpSVxPt73icyVZ6p4WXjxYIOC4o1++NBvtsXyrIDYWi1WryqWPL9K01xFUFFiVX68zQpQg4wLvyrH2D4d5C7SNzrl3oV7mTdYc21Nay9upb03HQ0Wo1u9dSmrk15qdZLNHRu+NArEJIkERKVzD/Bkey+GEee9u5Xma2FCc818OD5Jl542j+dgz1FYFFGRGBR8VXq9ky/DWtHQWyIfN+1Njz/42OTFaXmpDJ271iu35HTdHtYe7Cw48ISBxXLD4fz9W55CWwnSyN+HNYcTwcxpVQJlfo8vdedSDj6HZz/F+7pnsC/fX6A0aDUq5CWk8a6a+v4++LfpGnS9B6rUaUGL9V8iWc8ntFbsv1+8anZ/HsqirWnokhIu3sVRKWSV1gd0OTxK6w+aURgUUZEYFHxVdr2vBMJq4bDnRvyfb820GfRY9dwyMjNYOJ/E3ULijlZOLG402LcrEqW2Gj1iZvM2Sove+1obcqs7r40rO5dudq0Aqu05+nDJN+UM3meW3N3oDFlF2BotVpuxtzkZMZJVl5ZqesOLOBh7cELNV6gm1+3QunC75Wr0bL3cjwrgyM5HXlH7zEvBwv6N/GiTwMPbM2f/JwYIrAoIyKwqPgqZXsmXIVVr91d7rxOX+g6E4we/eGVo8nhw/0fcjruNOSv/bGo46Iipel+lC0hMUzbcB5Jki8JLx3cCBsyKlebVnCV8jwtipRoOcAIWaUfYFRtB61Hl1qAcW97atGyL3Iff17+U3cVr4C9uT19A/ryXLXnHjtL6uqtVFaduMmWc7Fk5d7t7jEzUdO1thsDmnhRy12Z74GKSAQWZUQEFhVfpWvP6NOwZqS8SinIqbnbTXhoeu4Cedo8Pj30qS4NspWJFQs7LiTA/tFjMR7nvyvxTFp9Fo1WwsrMmG8GN6amm3XlatNKoNKdp8X1sADDv4McYLjVU/RwD0s7H3wrmL8u/VVoRVVTI1O6+3VnQOAAvGwenmSO/BVWN52NYdWJm9xIzNB7rLaHLf0bez2Rgz1FYFFGRGBR8VWq9ow4BP++Dbn5y0G3myDnqXgMraRl3vF5bAvfBoC5sTnz28+ntmPJpvydupHEu3+eIidPi5mJmsUvNqKRj0PlatNK4qlp04cFGArPInlce15OvMzfl/9m3819esm2VKho6dGSgYEDaeDc4JFTTbVaOSfGqhOR/HdFPyeGtbkxvet70L+xJ75PSGp7EViUERFYVHyVpj2v7YQN78sftioVdJ4ODV547NMkSeK7s9+x8vJKAIzVxnzR9gsauzYuWXXiUhm5/ARpWXkYqVXMH9iAZ6rJgz8rTZtWIk9dm6ZEy7NIzq2+L8DoJF/BcK1TouKL2p6x6bGsvrqaTdc3kZWXpfdYgH0AAwIH0Mm7EyaP6YaMS8ni39NRrD0Vze17BnuSvwBav0ZedKhRuTN7isCijIjAouKrFO15aTNs/kAeRW9kAj3mQs2eRXrqn5f+5Mez8sqmKpWKT1t9SjuvdiWqTtSdTEb8L1g3Gn5aUB161nPXPV4p2rSSeWrbNCVaTrR1bo3+LJJqz0Lrd8GllkHFFrc903LS2Hh9I2uuriEhM0HvMQdzB4ICgujt3xtHi4evJUX+YM//rsSz5mQUx8MT9R6rYmVK7/ru9G3kiZeDpUGvqzyJwKKMiMCi4qvw7XlhHWz5UM5eaGQKz30t9zsXwebrm5kfPF93f1zTcfT2712i6iSm5zDit2Ai8/uOxzxbnZdb+urtU+HbtBJ66ts0+aYcYNw/TTWwq9xFUsxU4Ya2Z642l/0397PyykouJ17We8xYbUwH7w70q9aPWo6PD3gibqez5mQUm0Ji9DJ7AjSvWoW+DT1pX4muYojAooyIwKLiq9DteXYl7Jgip+s2NoN+34Nv0dapORR9iCkHp+j6h1+v9zpDag0pUXUyczS8teIEF6JTAHilpS/vPlt4cakK3aaVlGjTfHci5QDj/kRbNXrIAYZTtSIVU9L2lCSJ87fPs/rqavbf3K+3JglAzSo16Ve9Hx28Ojy2myQ7T8Pui3GsPhnF2Zv6U1YdLOWrGM819MTHsWJfxRCBRRkRgUXFV2Hb8/QfsHO6fNvUUk585dW0SE89f/s84/eOJ0eTA8CAwAG81eCtEq1pkKfRMnH1WQ5clS8D96rvztTetR9YZoVt00pMtOl9kiLyA4x1d9ciUamgRk85D8ZjMs8q2Z5xGXH8e+1fNl7fSFqOfsIte3N7elXtRZ+APrhYujy2rGtxaaw7LV/FSMvK03uskY89zzX0pFNNlwo5o0QEFmVEBBYVX4Vsz3uDCjMb6P8jeDQq0lMjUyJ5d/e7pOTIVxU6+XTi4xYfo1YZ/tokSeKLrZdYm7/8eQt/RxYMavDQS7QVsk0rOdGmD5EUDoe/gYsb7wkw1FCrtxxgOPg98Gml0Z5ZeVnsurGLtVfXcj1ZPx+GSqWitUdr+lbrS2OXxo8N8rNyNey5FMeaU1GcuS/xlrW5Md3ruNGngQc13WwqzCJoIrAoIyKwqPgqXHue/hN2TpNvm9nAwF+LPMUuITOBd3e9q1uptJFLI75o+8VjL8U+zq8Hw/h2bygAga42fPdKE6zNjB+6f4Vr0yeAaNPHuB0qBxiXN99drl2lhtrPQcu3wKHsxgFJkkRIQghrr63lQNQBNPd22eSvy9MnoA/d/Lpha/r474XwhHQ2nIlm49kYkjJy9B6r7mrNcw086VbHDTvL8s3uKQKLMiICi4qvQrXnmb/kVUopflCRkZvBe3veI/SOHAD42/uzqOMirExKNkd+67kYpq47D4CbnTk/D22Gs82jV/etUG36hBBtWkQJ1+DwEnm59gJqo/wA422wl7PMllV7JmQmsOn6JjZe38jtzNt6j5kamdLRuyNBAUHUrFLzsVcecjVaDlxNYN3pKI5cT9TLi2FipKZdoBO963vQomoVjMthwKcILMqICCwqvgrTnmf+hh1T5dtmNjDwlyJnG8zV5vLJgU8Ijg0GwNXSla+f/brEi4qdvJHEu3+cIlejxdrcmB9fbUqA86PXIqEitekTRLRpMcVflgOMK9vvblMby+nvW76F1sajTNszV5vLoahDrAtdp0upf69q9tXoE9CHZ32exdLk8YM041Ky2Hg2hg1no4lKytR7zMnajJ713OhV34OqTmWXfEsEFmVEBBYVX4Voz3NrYOtH8u1iBhWSJDE/eD5bwuRfaNam1izptAQfW58SVSkyMYPXfj1OSmYuJkZqFr/UkCa+VYr03ArRpk8Y0aYGirsEh76WE8wVMDJBqt2X+ICBOPnXK/P2vJFyg/Wh69kWvo303HS9xyxNLHnW51mCAoKKlG5fq5U4FZnEhjMx7L4Up7dGCUBdTzt61XOnSx3XUl8ITQQWZUQEFhVfubfnpc2wabw88MzMGgYsK9bCS8svLOeXc78AYKI2YX77+dRzLtm6CsmZuQz/9bguV8XUPrXpXd+jyM8v9zZ9Aok2LaFbF+QAI3Q3ABKgRY26wSBULd4EW/fHFqG0rLws9kTuYUPoBi4lXir0eG3H2vQO6E1H746YGT26+xEgLTuPXRdvseFMTKFpqyZGatrXcKZXPfdS6yoRgUUZEYFFxVeu7Xl1J2wYI8/HN7GQgwrPoqfa3ha+jTnH5ujuT2k5hY4+HUtUpVyNlnf/OMXJG0kAvPZMVd7qULyFysQ5qjzRpgqJDYFDS5Cu70Wr1aBWG6EyMoF6A6HFKLBxK5dqXUm6wsbQjey8sbNQ6nArEyu6+XWjT0AffG19H1rGvW7czmBTSAybQqKJS9FPIe5obUb3Om70qu9GNRcbxV6DCCzKiAgsKr5ya8+w/+QFxTS5YGwq56nwaVnkp5+KO8XE/ybqRpyPqj+KF2o+fu2QR5EkiRkbL7DpbAwAnWu7MvO5uqjVxZvOJs5R5Yk2VZY2+gzZe+ZjHnMM3dltZAL1B0HzUWDjWi71Ss9NZ2fETjaEbig0ZRWgoUtD+vj3oY1XG0zUj+/a0GglgsMT2RQSw57LcWTn6ifyquFmQ6967nSt40YVK9MS1V0EFmVEBBYVX7m0Z+RxWD0c8nLkD7O+30LVoq/fEZESwehdo3X9s32r9eXdRu+WeD778sPhfL37GgD1PO34ZkhjgxLxiHNUeaJNlaVrT00M6iPfQNj+uw9WgABDkiQuJF5gY+hG9kTu0SW7K2Bvbk/Pqj3p7d8bN6uiXWVJy85j96U4Np2N5tQN/a4SY7WKlgGO9K7vTptqzpgaF/8cE4FFGRGBRcVX5u0Zew7+eRVy0uVpcH0WQ/XORX56UlYSo3eNJiZdvqrQ0r0lnz3zGUbqkmXi2381ngkrzyBJ4G5nzi+vNTf4F4w4R5Un2lRZhdoz+hQcWgLhB+7upAswRpZbFwlASk4K28O3syF0A5GpkXqPqVQqWrq3JCggiGZuzYqcCO9mUgZbz8WyKSSm0KwSG3NjutVxo2c9d+p42Bb5B4sILMqICCwqvjJtz9uh8NcQyEyS0w/3mAu1g4r89BxNDuP2juPC7QuQv2zzoo6LijQ97VGuxaXyxv+CycjRYGlqxE9Dm5ao71Wco8oTbaqsh7Zn1El5mmr4wbvbCsZgNB9ZLoM8C0iSxJn4M6wPXc/+qP2FEm95WHsQFBBEj6o9sDEt2vtXkiTO3kxm49lodl2MIy1bP414VScretd3p3td93LJXyMCiwcQgUXFV2btmRwFf70EqXJWTJ6dCo2KviiYVtIy88hM9kbuBcDRwpFvn/0WZ0vnElUrKT2HYb8eJ+ZOJioVzBvQgHaBJStTnKPKE22qrMe2Z9RJOZPn/Vcw6vaXB3naFn2WVGm4nXmbzWGb2Xh9I/EZ8XqPmRqZ0sW3C/2q9cPf3r/IZWblath3JZ5NZ2M4FqafgEutUtEqwJE+DdxpW/3BK66KwKKMiMCi4iuT9kxPgL8GywsnAbR5X04zXAw/h/zMiosrADA3NmdRx0VUdyi8smhx5Gq0vLPiJKfz1yJ4p2M1hrZ+8NoKxSHOUeWJNlVWkdsz+pQcYNw/BqNOPznAsPMqk/o+TJ42j6MxR/n32r+cuHWi0OONXBrRv3p/Wri3KFZ3aXxqNlvOxbDxTAzht/VzbdhbmtC9rjtBDdz1rmyKwKKMiMCi4iv19sxOhb9fgbiL8v2mw6H9RLkrpIh2ROxg9tHZkN+n+tkzn9Hao3WJqzZ780XWnpIXFutR141pQXUUWdBInKPKE22qrGK3Z/RpOPItXN93d1tBJs8Wo8C+ZAnplHAj5Qb/XvuX7RHbycjN0HvM3dqd/tX7092ve7G6TiVJ4nx0ChvORrPj/K1CXSV1PGzp28iTLrVdMTdWi8CiLIjAouIr1fbMy4E1I+DGEfl+3eeh2+fFCirOJZxj3N5x5GnlN/TbDd9mQOCAEldt9YmbzNkqJ+Wp42HLd680wcxYmaWYxTmqPNGmyjK4PWPOygFG6J6729RGUCsIWr750NVUy1JGbgbbwrex5uoaotKi9B6zMrGiT0Afnq/+fLFT/mflath7OY4NZ2I4Hp6o95ilqRFdarvS1tucZ+r4YmSkzGeJCCweQAQWFV+ptadWC5vG3V0MKaAjBC0Bo4evCnq/2PRY3tr5FsnZyQD0DujN2MZjS3xV4dSNJN5ZcZI8rYSjtRm/DW/+2IFZxSHOUeWJNlVWidvz1nm5i+TarrvbCpZrb/EmOBYvqVxp0EpajsUeY82VNQTfCtZ7zEhtRGefzrxY88UiJ926182kDDaejWH96WgS0u4m4JIkLRvfbYurnYUir0EEFg8gAouKr1TaU5Jg92dwSh4TgWdjOaumSdHfbOm56by7+13Ck8OhYAn0dl8UKSnOo9xKyWLosmMkpudgYqTmu5ebUM/LrkRl3k+co8oTbaosxdoz7qIcYFzdcXebSgU1esirqTqVbByUUq4nX2fl5ZXsurFLd/WzwDOez/BSzZeo7Vi72OXmabQcvn6btaeiOHQtgYYeVnz7agvRFVKaRGBR8ZVKex75Dg58Jd92qg4v/A4W9kV+ukarYfLByRyNOQqAl40X3zz7TZGnkD1MVq6GEb8Fczk2FYBPetXiuYaeJSrzQcQ5qjzRpspSvD3jL8tdJFe2yT8sCgR2hZbvgEvNkh9DAbczb/PvtX9ZF7qOtJw0vccauTTildqv0NCloUFl30rO5EbMLZoE+pR5YCHeEcKT7fzau0GFjRv0/6lYQQXAjyE/6oIKa1NrPm/zeYmDCkmS+GLLJV1QMbCpV6kEFYLwVHKuAX0WwdCNcndIQaKqK9vht+fk9P23zpd3LXG0cOT1eq/zV6+/eLPBmzhaOOoeOxV3inF7x/H+nvc5eeskxb0G4Gxjhre9eSnU+vFEYCE8uSIOwbbJ8m0zG+j/c7Ez9m0N28o/l/+B/H7Q6a2n42VT8iltK0/cZHOInK2zkY8973cOLHGZgiDcx6ka9PoSXtskzxgpmOJ5bRcsfx7WvgkxZ8q7lliaWDKoxiD+6PkHE5pOwMP6bl6Os/FnmbBvAu/teY/TcafLtZ5FJQIL4ckUdwnWjQZtXv76H0vlD5liOJ9wngUnFujuv9voXRq5NCpx1U7dSGLhjiuQ/6ti9vP1H5jgRhAEhVTxhx5z4LUtUG+APDUV5NkkKwbB6jfkHBnlzMTIhJ7+Pfm1+6981OIjvG28dY8VzEibuG/iA5d1r0jEp5nw5EmJgTVvyOt/gJyq27tZsYq4lX6LKYem6AZWPVftOYICip7u+2HiU7P5aE0IeVoJEyM1c/rXL/EqhoIgFJGDL3SbBa9vgwYvyD86QE649ceLsPI1iCqc2KqsGauN6eLbhWXdlvFJy0/0AozgW8G8vfNtph6cyo2UG+Vaz4cRgYXwZMlKkXNVpOWn1W0/EWr2LFYRmXmZTD44mTtZcgbMRi6NeLvh2yWuWq5Gy4erz5KYLq+M+EG3GtT1VHYGiCAIRWDnBV1mwOvboeHguwFGxCH4c3CFCTCM1EY86/Msy7otY1LzSXorpx6IOsDwbcP56sRXJGYlPrKcsiYCC+HJocmFDe9BwlX5fqOX5cyaxSBJEnOPzyX0TijkLyT0aetPSzytFOCrHVcIiZJzYDzX0IO+jcRgTUEoV7Ye0PlTeGOnvFaQUf7VwwoYYHTz68b/evyP9xq/pxvkqZW0bAjdwCubX+G387+RlZdV3lUFEVgITwxJgp3T5A8EgIBO0PHjYmXVBPjj0h/si5TTBFuaWDLzmZnYmpZ8avKWkBhWnbgJ+Zk1P+hWMaa7CYKQP2Ps2akwYhc0fqVwgLHqdTmNeDkzUZvwXLXn+K3Hb7xW9zUsjOVcPJl5mfx6/leGbh3Knht7ij2DRGkisBCeDMd/gpBV8m3XOvJI8GIs8gNwKPoQy0KWAaBCxcctPsbPruQpga/FpfL5FnltEjsLE77oXx9TY/HWE4QKx9oFOk0uHGCEH4A/XoA1oyrENFULYwteqf0Ky3suJyggCHX+dNr4jHg+O/IZ4/aO43ry9XKrn/h0Eyq/y1vgv/nybRs36PcdmBZ9YR+A8ORwPj/6ORJypD+83nBFFhZLy85j0uoQsnO1qFQws29dXG3LZ265IAhFdG+A0WjI3TEY1/fK01TXjYaEa+VdS6qYV+H9Ju+zrNsymrndHaB+Jv4Mo3aO4ucrP5OSnVLm9RKBhVC5RZ+GLRPl26ZW8PwP8odCMaTmpDL54GTdCoTtvdszuObgEldNkiQ+23CByES53JHtAmjh7/jY5wmCUEFYu8hdJK9vl2eRFExTvboD/tcbNk+EO+U/M8PH1ocv2n7BzDYzdTkwJElie/R2rt65Wub1KXFgkZ2dXYS9BKEUpETDunfkVUvVRhC0WM64VwwarYaZR2YSnRYNQIB9ABObTVRkufIVR2+w53IcAM9Uc+K11uW/0qIgCAaw9ZBnkQzfKq+KrFLL47ourINlPeTxXQUz0cqJSqWitUdrfun2C2/UewNzY3OaOzWniWuTMq9LsQOLLVu2MHToUPz9/TExMcHS0hJbW1vat2/PrFmziI6OLp2aCsK9ctLlrHnpCfL9TpPBr02xi/nl/C8cjz0OgJ2ZHZ8985luQFRJnI68wzd75Eul7vYWTAuqg1pd8mBFEIRyZO8N3WfDsI1Qo7u8TZsHp/+En7vAwcWQnVquVTQxMmFwrcH8r9v/GFZ9WLnUociBxdq1awkMDGT48OEYGxszadIk1qxZw7Zt2/jpp59o3749O3fuxN/fnzfffJP4+PKN3oQnmFYDmybICw2RP620YfG7LvZG7uWPi38AoFapmdpqqt48cUMlpefw8ZoQNPlJsL54vh52FiWfrioIQgXhGCCvRfLK2rs/aHIz5ZVVf+4KJ5fL09/Ls4oWjjialU/Xq3FRd5w7dy5fffUVPXr0eOBKaYMGDQIgKiqKr7/+mt9//52xY8cqW1tBANj/JYTulm/7tYEOHxW7iOt3rjPn2Bzd/TcbvKlIum6NVmLKunMkpMldhOO6BFLLXZmVdAVBqGBca8OAnyHiMOyfD7HnICMRds+EU7/LCfoCOhV72ntlV+TA4vDhw0Xaz9PTky+++KIkdRKEhzu3Go7/LN92rAa9vwKjIp/GAKTkpDDl0BSyNfKXfxffLvSv3l+R6v1yMIxjYXIWvG513Hi+sUiCJQhPPN9W4LMKrmyF/QvkAZ1J4fIqqt7N5R8/rrXLu5ZlRswKESqPqJOw41P5toU99FsK5sW7GqDRaph1ZBYxafLKooEOgYxrOk6RwZrHwxP5cb88d9zP0YqPetZUpFxBECoBlQpq9IDXNkPHj+5+NkUeg9+fh+2T5asZT4FiBxZXr15l9erVhIWFAbBp0ybatWtHs2bNmDVrVrln/BKeUCkxsP5dud9SbQxBX4O9T7GL+e3Cb3qDNae3no6ZkVmJqxefms2Uf88hSWBmoubz5+thaVq8KymCIDwBjEygyTB4fQc0GSp/XkkSnF2ZP/7iN9DklXctS1WxAou1a9dSu3ZtBg8eTK1atfjtt98YMGAAVlZWuLq6Mm3aNObOnVt6tRWeTrmZ8O9bd2eAPDtVvrxYTIeiDrH8wnLIn5o1peUUXK1cS1w9jVZi6rpzusXFJnWvSTUX6xKXKwhCJWZhLy8rMGwjVG0nb8tOhd2zYHlfiDxe3jUsNcUKLGbNmsXEiRPJyspi6dKlvPnmm8yePZstW7awceNGvvnmG3799dfSq63w9JEk2PoRxMkpsWk0RE5UU0yRqZHMPjZbd39kvZE0dm2sSBWXHQjjREQSAL3re9C7voci5QqC8ASoUlVO3Ndv6d2rrAlX4e+X5c+2J7B7pFiBxeXLlxk+fDgqlYqhQ4eSk5ND586ddY937dqViIiI0qin8LQ6+p2cshvAp6VBM0AycjOYenAq6bnpkJ9Zc1CNQYpU73h4Ij8dkMdVVHWy4oNuxUvQJQjCU0ClkmeHDNsEbceBcX7367k1sKyb3E2i1ZZ3LRVTrMAiPT0dGxsb+YlqNRYWFlha3l2TwcLCQmTiFJQTuhsOLpJv2/vI88aNipcPQpIk5gfPJyJFDnh9bX35oOkHigyqvJ2WzdR15/XGVViYFm/hM0EQniLGptBilDzA07+DvC0rRR7Y+c8rkBhW3jVURLECC5VKpfeBfP99QVBM4nXY/IHcFWJiAX2/lfssi2n11dXsjdwLgJWJFTOemYGlSfEWKHsQrVZi6vrz3M7PV/FBt5oEOItxFYIgFIGdl7xY4nNLwCZ/nNfNYPgtCI79WOkHdxZr2LokSQQGBuqCibS0NBo1aqRLmCVmhAhKUOWkodr0DmSnyRt6zAWn6sUuJyQ+hO/Pfq+7P6n5JLxtvBWp4/8Oh3M8P19F97pu9Knvrki5giA8JVQqqN4FfFrBgQVwaoW87tF/8+V8GN0+L/baRxVFsQKLX375pfRqIggAkhbbA5/JyWUAWr0NgV2LXcztzNvMODIDjVYDwIs1X6SNZ/HXEnmQszfv8MN/8rgKnyqWTOou8lUIgmAgM2t5pluNXrDtY/mzL/Yc/N4fnnkPmg6XF1msRIoVWAwdOrT0aiIIAIe+xvTmQfmNFNARWr1b7CLytHnMPDKT25m3AWjo0pDhdYcrUr2UrFwm/3tOtw7I58/Xw8pM5KsQBKGEvJrAq+vg8NdwfJmcs+e/+RC6B3p8YVDenvIiMm8KFcfVnaiOfiffrlIVes6DB6xL8zg/h/zMmfgzkL8Qz5SWUzBWl/zLX5IkZm28SGxyFgDvPVudQFebEpcrCIIAgIk5tPsAXvoDHHzlbVEn4Lfn5JkjlWS4QZE/tR0cHKhSpUqR/pWm7OxsGjZsiEql4vTp06V6LKEMJV6HLRMBkEyskIKWgFnxv7QPRB3g78t/A2CkNmJaq2k4mDsoUsXVJ6PYczkOgLbVnRnY1EuRcgVBEPR4NIJX/pXz9gDkZMgzRza+L88iqeCK/DNu4cKFutu3b99m5syZdOvWjVatWkH+ImXbtm1jypQppVPTfBMnTsTDw4MzZ86U6nGEMpSdButGQ46cZyLlmU+wr+Jf7GKi06L1Vix9q8Fb1HGqo0gVr8Wl8tWOKwC42JoxtXdtMa5CEITSY2opj70I6ARbP4S0eLi8FWLOQu8FcvBRQRU5sLh3fEX//v2ZMWMGo0eP1m0bM2YMS5YsYefOnaW2XPqWLVvYvn07q1evZsuWLaVyDKGMSRJs+whuh8p3W4wix6ddsYvJ0eQw7dA0vSRY/ar1U6SKWbkaPll7jlyNFrVKxYzn6mJnWbx8GoIgCAbxawOvrpcHdobugZRo+GuIPLCz2QiDuotLm0Edz9u2bWPOnDmFtnfv3p0PP/xQiXoVcuvWLUaMGMG///6rl5TrUbKzs/USdqWkyJeQtFotWoWynGm1WiRJUqy8p87xH1Fd2S7f9muDtsU7SLcTi92eX5/6mmt3rgHgae3JuMbjkCRJkSnQC3deISxBDliGP+NHQy+7SvX3Fueo8kSbKku052OY20PQN3BqOar98+Q8F/sXwM3jSD3mgbldoaeURpsWtSyDAgtHR0fWrVvH+PHj9bavW7cOR0dHQ4p8JEmSGDZsGG+++SZNmzYlPDy8SM+bPXs206dPL7Q9Pj6erKwsReqm1WpJTk5GkiRdPg+haExigrH/70skSYvGxpOkZpPQJNwudnvuj93P+mvrATBVmzI6cDTpSemkk17iOh4OT2ZVcCQAtV0t6Vndkri4uBKXW5bEOao80abKEu1ZRF7dMe5aFdv/PsUo9SaE7kXzaxAp7WeS56if86I02jQ1NbVI+xkUWEyfPp033niDvXv30qJFCwCOHj3K1q1b+fHHH4tczocffvjAKx/3unjxItu3byc1NZWPPireOhEfffQR48aN091PSUnB29sbZ2dnbG1ti1XWw2i1WlQqFc7OzuINURypsagOz5STxJhYonp+Kc7O1YrdnuEp4SwLXYZR/jzvsU3H0syvmSJVjE/N5puDl1Cr1VibGTN7YCPc7SwUKbssiXNUeaJNlSXasxhcXMB/Hartn8DVHagz4nDc/g7Ss1Oh7gDdbqXRpubm5kXaz6DAYtiwYdSqVYvFixezZs0aAGrVqsWBAwd0gUZRjB8/nmHDhj1yH39/f3bv3s3hw4cxMzPTe6xp06YMGTKE//3vfw98rpmZWaHnkL/OiZInr0qlUrzMJ5omFzaNhQx5RVC6TEflWlv3cFHbMysvi5lHZ5Ktkbu7ulftTk//nspUUSsxfeMFUrLk1Lof9ayFp4OVImWXB3GOKk+0qbJEexaDhR0EfQ3By2D/l6DJRbV9CsSGyAM+89dUUrpNi1qOwZP7W7RowYoVKwx9OgDOzs44Ozs/dr/Fixczc+ZM3f3o6Gi6devG33//XaxARqgg9s6G6Pypwg1ehDqGDbJcfGox4clyt5i/nT/vNX5PsSr+fiSC4HA58OnTwIMutV0VK1sQBKHEVCpo9jq41YONYyE9Ac7+I0/dD/paHpdRToocWKSnp2NlVfRfbMXd/1F8fPQzjllby4s9BQQE4OUlcglUKhfWyznxQX5DdPzEoGK2hW9ja9hWAMyNzZnaaipmRoWvThlUxegUvt8nz1LxqWLJ+K6BipQrCIKgOO/m8Mpa+Pdt+YrFzWA5Hfhz3wLK5PApriJfH6lWrRpffPEFMTExD91HkiR27NhBjx49WLx4sVJ1FJ4UCVdhR36eEwt7CFosLyNcTBEpESw8cTevytgmY/GxVSbdbWaOhinrzpGXn7L7s751sTQVKbsFQajArF3ghd+hVh/5fko0qr9ewjRiX7lUp8ifmHv37uXjjz9m2rRpNGjQgKZNm+Lh4YG5uTlJSUlcuHCBw4cPY2xszEcffcSoUaNKrdJ+fn5iJdXKJjsN1r8LuVnyJbxeX4KtR7GLycrLYvrh6bpxFT2q9qCLbxfFqvnVzitEJmYAMKq9P7XclRnkKwiCUKpMzOVlEJxryOMucjOx2zcZqjYEl7JdJbXIgUWNGjVYvXo1N27cYOXKlezfv59Dhw6RmZmJk5MTjRo14scff6RHjx4YGVWuldiEUiZJ8pWKxDD5fqt35KQvBlhyaoluXEVVu6q826j4i5Q9zJ7Lcfx7KgqAJr4ODGnhq1jZgiAIpU6lguYjwDEANk0go3pfrJyql3k1in2N18fHh/HjxxfKYSEID3X6D7i0Wb7t9wy0fNugYnbf2M3mMLkcMyMzpraairlx0aY/PU58ajazNl0EwNrcmGlBdTBSi5TdgiBUQgGdkF5ZS3qWCeUxl03M6xFKV8xZeRYI+f2APefLS6IXU1RaFAtOLNDdf6/xe/jaKnNFQauVmLbhPCmZuQB81KMWrrbKBCyCIAjlws4bVOXzFS8CC6H0ZN6BDe/JeSvUxtBnEVgWf/XbXG0unx35jIxceezDsz7P0s2vm2LV/Ds4kuNhiQD0rOcuppYKgiCUgAgshNIhSfKKfCnR8v12E8CzsUFF/XT2J64kyiuLelh7MLbJWMVWFr0Wl8aS3fIaI+72FkzoVraDnARBEJ40IrAQSkfwMnklPoDqnaHJozOsPsyRmCOsvLISAGO1MVNbTcXSpGiL0D1OTp6WT9ffXbV0elAdrM3E1FJBEISSEIGFoLzoU/LKewB2XtBttjxauZgSMhOYc+zuWjJvNniTQAflklV9vy+Uq7fSAHillS8NvcsvU50gCMKTwuCfZ3fu3OHYsWPExcUVWkr11VdfVaJuQmWUeQc2vA/aPDlffZ+FYF78XBBaScucY3NIzk4GoJVHK/pVMyz194OcvJHE70cjAKjhZsPIdv6KlS0IgvA0Myiw2LBhA0OGDCEtLQ1bW1u9/m6VSiUCi6eVViuPq0iNle+3nySn7TbAqiurOHHrBACOFo5MbDZRsXEVqVm5TF9/HkkCU2M1M56ri4mRuHgnCIKgBIM+TcePH8/w4cNJS0vjzp07JCUl6f4lJiYqX0uhcjhx77iKLtDoZYOKuZ56nWXnlwGgQsVHzT/CzsxOsWou2HGFmOQsAMZ0qk5Vp8q7aqkgCEJFY1BgERUVxZgxY7C0VGYQnfAEiD4N+7+Sb9t5QbfPDRpXkZGbwaILi8jTysuVD6oxiMauhs0meZA9l+PYdFZe76Z51SoMaCIWsRMEQVCSQYFFt27dCA4OVr42QuWUlQKbxt0dV9H7K4PGVQB8c+YbYjPlrpTAKoEMrzdcsWompufwxeZLkJ9dc2qf2qhFdk1BEARFGTTGolevXnzwwQdcuHCBevXqYWJiovd4UFCQUvUTKjpJgu2fQLK8xgZtx4N7fYOK+u/mf2wL3wb5S6FPaTkFE7XJY59XtGpKzNp0kaSMHAAmda+Ji43IrikIgqA0gwKLESNGADBjxoxCj6lUKjQaTclrJlQOZ/6EK9vl2wEdDc5XkZCZwPzg+br7oxuOxtPaU6lasvFsDPuvxgPQubYrXUV2TUEQhFJhUGBx//RS4SkVdwn23LMOiIHjKrSSltlHZ5OWI+eUaOnckm6+yqXsjr6TyYIdcuZOJ2szJnWrqdgME0EQBEGfmGMnGCYnAzaOBU2OvNBN768MWgeE/Kmlp+JOQf7U0hGBIxT74tdqJWZsuEB6tjwYdHKvWthZKtO9IgiCIBRmcGCxb98++vTpQ7Vq1ahWrRpBQUHs379f2doJFdfumZB4Xb7d+l3wampQMaF3Qvkp5Cfd/UnNJmFtYq1ULfknOJKTN5IA6NfIk9bVnBQrWxAEQSjMoMDi999/p3PnzlhaWjJmzBjGjBmDhYUFzz77LH/88YfytRQqlkub4Nxq+bZ3c2gxyqBicjQ5zDo6Sze1dGCNgTR2UW5qacTtdJbskRcY87C3YMyz1RUrWxAEQXgwg8ZYzJo1i7lz5zJ27FjdtjFjxrBgwQI+++wzBg8erGQdhYrkzg3YMVW+bWEPPeeD2sigon4K+Ynw5HAA/O39eaPuG4pVM0+jZcaGC+TkaVGpYErv2liJBcYEQRBKnUFXLK5fv06fPn0KbQ8KCiIsLEyJegkVkSYXNk2AbHmQJd1ng41hsytO3jrJqiurADBRm/BJi08wMVJu7MOKozcIiZLXGXmxmQ9NfB0UK1sQBEF4OIMCC29vb3bt2lVo+86dO/H29laiXkJFdHAhxJyRbzd+BQI6GVRMWk4aXxz7Qnf/jfpvUNWuqlK15FpcKj/8J4//8HW05K0OAYqVLQiCIDyaQdeGx48fz5gxYzh9+jStW7cG4ODBg/z6668sWrRI6ToKFUHEYTj+s3zbpSa0m2hwUYtPLSYhMwGAhi4N6V+9v1K1JFejZfqGC+RqtKhVKj7tUwdzE8O6agRBEITiMyiweOutt3Bzc+PLL7/kn3/+AaBWrVr8/fffPPfcc0rXUShvGYmw5QM5y6aJOfRaAMamBhW1N3IvOyN2AmBlYsWkZpNQq5Sb9fzrwXAux6YC8EorX+p6Krd4mSAIgvB4Bo9m69evH/369VO2NkLFI0mw7RNIk7NW0nEyOBrWtZCQmcBXJ77S3R/TeAyuVsplwLxyK5VfDspjfAKcrRnR1l+xsgVBEISiEQmyhEc78yeE7pZvB3aFegMMKkaSJL4M/pLUHPlqQnvv9nT26axYNeUukPPkaSWM1Cqm9qmNqbE4vQVBEMpaka9YVKlShStXruDk5ISDg8MjMyMmJiYqVT+hPMVfgb35KbttXKHLZwal7AbYEraFozFHAahiXoX3G7+vaFrtXw+Gc/WWPFtlaGs/arkbtrqqIAiCUDJFDiy++uorbGxsdLfFWgtPuLxseSn0vBw5mOg5X85bYYDY9Fi+Of2N7v64puOwM1Nu7MPl2LtdINVcrHm9jXIzTARBEITiKXJgMXToUN3tYcMMW8FSqET+mw8JV+XbLUbJGTYNoJW0zD0+l8y8TAC6V+1Oa4/WilXz3i4QY7U8C8TESHSBCIIglBeDPoFPnjxJSEiI7v66devo27cvH3/8MTk5OUrWTygPYf/Byd/k2+4NoNVog4v699q/nI47DYCLpQvvNHxHqVpCfhfItTi5C2TYM37UcLNRtHxBEASheAwKLEaNGsWVK/Iy1NevX+eFF17A0tKSlStXMnGi4fkNhAogIxG2fiTfNrWEnvPAwIyYkamR/HD2B939ic0mYmVipVRNuXpLvwvktWdEF4ggCEJ5MyiwuHLlCg0bNgRg5cqVtG/fnj/++INff/2V1atXK11HoaxIEmz7GNLl5FV0mgwOvgYVpdFqmHNsDjka+QpW32p9aeyq3AJjuRotMzZe0JsFIrpABEEQyp9Bn8SSJKHVaiE/jXfPnj0hP9V3QkKCsjUUys6ZvyB0j3y7Rg+o87zBRa2+upoLty8A4GHtwYj6I5SqJQDLD0foJcKq6SZmgQiCIFQEBgUWTZs2ZebMmSxfvpx9+/bRq1cvAMLCwnB1VS7hkVCGbofeN7V0usFTSyNTIll2bhkAKlRMajYJC2MLxaoaGp/GzwfkLpCqTla80UYkwhIEQagoDAosFi5cyMmTJxk9ejSffPIJ1apVA2DVqlW6tUOESkSTC5vGy1NMVSroMQ/MDZsOqtFqmHP8bhfI84HPU8+5nmJVzdNo+Wzj3bVApvQWibAEQRAqEoNSetevX19vVkiBefPmYWQkFnyqdA4ugriL8u1mr4NPC4OLWnVlla4LxNPak9frvq5ULQH489gNLkSnADCkhY9YC0QQBKGCMeinXmRkJDdv3tTdP3bsGO+//z6//fYbJiaGzSAQyknkcTj+k3zbpRY8877BRd1IuaHfBdJ8EubG5krVlMjEDL7PXw7du4olI9qJLhBBEISKxqDAYvDgwezZIw/yi42NpUuXLhw7doxPPvmEGTNmKF1HobRkpdxdtdTYFHp9afDUUo1Ww9zjc8nV5gLQP7A/dZ3qKlZVrVZi5qYL5OTJg4Yn96ollkMXBEGogAwKLM6dO0fz5nImxn/++Ye6dety6NAhVqxYwa+//qp0HYXSsvszSImRb7efZPCqpQBrrq3R6wIZXne4UrUEYO2pKE7duAPAwKZeNPJxULR8QRAEQRkGBRa5ubmYmZlB/nTToKAgAGrWrElMTIyyNRRKx6XNcGG9fLtqW2g4xOCiotKi+DnkZyilLpBbKVks2XMNADc7c97uUE2xsgVBEARlGRRY1KlTh++++479+/ezY8cOunfvDkB0dDSOjo5K11FQWmos7Jgq37ZwgG6zDZ5aqpW0zDs+724irOp9Fe0CkSSJ2Zsvkp6dB8CHPWpiZWbQmGNBEAShDBgUWMyZM4fvv/+eDh068NJLL9GgQQMA1q9fr+siESoorRa2TIJsObkUXWeCtbPBxa0PXc/Z+LMAuFu580a9N5SqKQBbz8VyKPQ2AD3rudM6wEnR8gVBEARlGfTTr0OHDiQkJJCSkoKDw92+7pEjR2Jpaalk/QSlnfoNbhyRb9ftD9U7G1xUbHqs3log45uOVzQRVlJ6Dgt2yGvSVLEyZWyXQMXKFgRBEEqHwdeUjYyM9IIKAD8/PyXqJJSWhKvw35fybTsv6PixwUVJksSXwV+SlZcFQG//3oquBQLw1c4rJGfKs0wmdK2BnYWYyiwIglDRFTmwaNy4Mbt27cLBwYFGjRqhekSf/MmTJ5Wqn6AUTS5sngCaHFCpoedcMLM2uLht4ds4cesEAE4WToysP1LBysKh0NtsPRcLQLtAZ56t5aJo+YIgCELpKHJg8dxzz+lmgvTt27c06ySUhoMLIe6SfLv5G+DZxOCiEjIT+Ob0N7r745qOw9rU8CDlfhk5GuZslWeBWJsZM7F7jUcGsoIgCELFUeTA4tNPP33gbaESuBkMx+XpoLjWhtZjSlTc16e+Jj03HYDOvp1p6d5SiVrqLA+O5VaK3MXyTsdquNgoN3VVEARBKF0lnreXlpamW0K9gK2tWMK6wshOk2eBSBIYmcoLjBmYXRPgv5v/sf/mfgDszOx4p+E7ClYWQqKS2Xj+Niq1mobe9vRr5Klo+YIgCELpMmi6aVhYGL169cLKygo7OzscHBxwcHDA3t6+0IBOoZztnQ3J+eu6tJsAToYnl0rNSWXRyUW6+2MajcHOTLlFwHI1WmZvvoQEmBip+aRXLdRq0QUiCIJQmRh0xeLll19GkiSWLVuGq6ur6P+uqK7thJBV8m2fltDolRIV9+3pb0nKSgKglUcrOnh3UKKWOssPR3A9Qe5iGf6MH76OVoqWLwiCIJQ+gwKLM2fOcOLECWrUqKF8jQRlpN+G7VPk22Y20P0LUBt0gQqAE7dOsC18GwBWJlaMbTJW0YDyxu0Mfj4QBoCvgzkvt/RRrGxBEASh7Bj0TdOsWTMiIyOVr42gDEmC7ZMhI1G+3/lTsHU3uLisvCwWBC/Q3R9ZfyROFsplwJQkidlbLpKr0aJSwbttPTExMjwIEgRBEMqPQVcsfvrpJ958802ioqKoW7cuJib6gwHr16+vVP0EQ5xbDaG75ds1ekDN3iUq7tfzvxKTLi8u18C5Ab39S1be/TacjeFEhNzF0r+xFzVdRReIIAhCZWVQYBEfH09oaCivvfaabptKpUKSJFQqFRqNRsk6CsVxJxL2zJJvWztD52kGLzAGcDnxMiuvrATARG3CuKbjFO0CuZ2WzaKdctpuZxsz3mzvT0ZyomLlC4IgCGXLoMBi+PDhNGrUiD///FMM3qxItBp5amlOhny/22ywsDe4uFxtLvOD5yNJEgCv1nkVbxtvpWoL+Wm7U7PklUsndq+JtZkxGYoeQRAEQShLBgUWERERrF+/nmrVDJ+6WFx+fn5ERETobZs9ezYffvhhmdWhwgteBlFymm0aDoaqbUtU3Korqwi9EwqAv50/g2oMUqKWOodCE9h+/hYAHWu40D7QuVBOFEEQBKFyMSiw6NSpE2fOnCnTwAJgxowZjBgxQnffxsamTI9focVfhoP5OSYcfKHdByUqLiotiv+d/x/kd3NNaDYBE7Vyi4Bl5WqYu/UyAFZmxozvJlYuFQRBeBIYFFj06dOHsWPHEhISQr169QoN3gwKClKqfnpsbGxwc3MrlbIrtbyc/AXGcuUFxnrMBVPDl68vWLk0R5MDwIDqA6hZpaaCFYafD4QRfScTgLc6BIi03YIgCE8IgwKLN998E/KvINyvNAdvfvHFF3z22Wf4+PgwePBgxo4di7Hxw19CdnY22dnZuvspKSkAaLVaxS65a7VaJEkq30v4BxaiipcHQErNR4JbfShBfbaGb+V03GkAXC1debX2q4q+vmtxafx+RO7Wqu1hS7+GHrryK0R7PmFEmypPtKmyRHsqrzTatKhlGRRYlMcff8yYMTRu3JgqVapw6NAhPvroI2JiYliwYMFDnzN79mymT59eaHt8fDxZWVmK1Eur1ZKcnIwkSahLkIDKUCa3zmB/7EckJPKq1CDJfwDExRlc3p2cOyw5uQSNVg4Oh1YdSmpiKqmkKlJfrSQxfX0ouXka1CoY2dyZ2wnxdx8v5/Z8Eok2VZ5oU2WJ9lReabRpamrRvgdUUsGQ/xK6c+cO9vbFm4Hw4YcfMmfOnEfuc/HiRWrWLHwZftmyZYwaNYq0tDTdcu73e9AVC29vb5KSkhRbKE2r1RIfH4+zs3PZvyFy0lAt7yevBWJsijRkNTiWbNzLrKOz2BO5B4BO3p34uMXHClVWtuZkFHO3yWMrhrTw4d1O+vUt1/Z8Qok2VZ5oU2WJ9lReabRpSkoKDg4OJCcnP/I71KArFnPmzMHPz48XXngBgIEDB7J69Wrc3d3ZvHkzDRo0KFI548ePZ9iwYY/cx9/f/4HbW7RoQV5eHuHh4Q9NLW5mZvbAoEOtVit68qpUKsXLLJJ9c+4uMNZ2Airnkg2APBpzVBdU2Jja8E6jdxR9TQlp2Xy7T55l4mZnzsh2AQ8sv9za8wkm2lR5ok2VJdpTeUq3aVHLMSiw+O6771ixYgUAO3bsYOfOnWzdupV//vmHDz74gO3btxepHGdnZ5ydnQ2pAqdPn0atVuPi4mLQ8yu9a7sUXWAsIzeDr058pbv/VsO3cDBXdqXahTuvkJafs+KDbjWwMDVStHxBEASh/BkUWMTGxuLtLSdK2rhxI4MGDaJr1674+fnRokULpevI4cOHOXr0KB07dsTGxobDhw8zduxYXn755adzmfaMREUXGCM/bXdchjw2o5FLI7r5dlOipjpHrt/W5azoVNOFttUNCygFQRCEis2gbyMHBwfdImRbt26lc+fOkD9NsTRmhJiZmfHXX3/Rvn176tSpw6xZsxg7diw//PCD4seq8CQJdkyBjNvy/WenlGiBMfLTdq++uhoAUyNTxdN2yzkrLgFgaWrEuK4iZ4UgCMKTyqArFs8//zyDBw+mevXq3L59mx49egBw6tSpUkma1bhxY44cOaJ4uZXS+TVwdad8O7Ab1CpZzpA8bZ5e2u6hdYbiae2pRE11/nconJtJcs6KN9uLnBWCIAhPMoMCi6+++go/Pz8iIyOZO3cu1tbWAMTExPD2228rXUehQPJN2J2/wJiVM3SZXqIFxgBWX1mtl7Z7QOAAJWqqE56Qzm+H5ZwVNdxsGNDES9HyBUEQhIrFoMDCxMSECRMmFNo+duxYJeokPIhugbF0+X63WWBRsvEl0WnR/HL+FwBUqBjfdLyiabslSWLO1kvkarSoVPBhj5oYG4kR34IgCE8ygwILgKtXr7Jnzx7i4uIKJcyaOnWqEnUT7hW8DG4Gy7cbvgT+7UtUnCRJLDyxUJe2u2/1vtRyrKVETXW2nIvlREQSAAOaeFHHw07R8gVBEISKx6DA4scff+Stt97CyckJNzc3vYF+KpVKBBZKK7TA2MQSF7nrxi6Cb8mBipOFE6/Xfb3EZd4rOTOXRTuvAuBobcab7QMULV8QBEGomAwKLGbOnMmsWbOYNGmS8jUS9N27wJjaqMQLjAEkZyfzzelvdPffb/I+liYlK/N+3+69RlKGfDVkbOfq2Jgr18UiCIIgVFwGdXgnJSUxcOBA5WsjFHbgK8hfYIwWo8CjYYmL/O7MdyRnJwPQzqsdrT1al7jMe52LSubfU1EANKtahS61XRUtXxAEQai4DAosBg4cWOTsmkIJRByGE/LgStzqQcuSz7g5eesk28K3AWBlYsXoRqNLXOa98jRavthyCUkCEyM1k7rVVDQnhiAIglCxGdQVUq1aNaZMmcKRI0eoV68eJib6l7nHjBmjVP2eXlnJsHWSnBDL2Ax6zgWjknUnZGuyWXDi7mqwI+uPxMnCSYHK3rXqxE2u3JJXwBva2hcfR2W7WARBEISKzaDA4ocffsDa2pp9+/axb98+vcdUKpUILJSwczqkyimw6fAhVHnwYmzFsfzCcqLTogGo51SPXv69SlzmveJSs/guf5ExLwcLhrb2U7R8QRAEoeIzKLAICwtTvibCXRc3wKVN8m3/9tDgpRIXef3Odf6+/DcAxmpjxjUdh1qlbE6JhTuvkpEjp3Sf2L0mZsZikTFBEISnjchWVNGkRMtXK0BOgNV1Vomza2q0GuYHz0ejlb/0h9Qagq+trxK11Tly/TY7L8hXWDrXdqWlv6Oi5QuCIAiVg8EJsm7evMn69eu5ceMGOTk5eo8tWLDgoc8THkGrgS0TIVseo0DXmWBd8lVA14Wu41KivAiYt403g2sOLnGZ98rOu7vImJWZMWM7i0XGBEEQnlYGBRa7du0iKCgIf39/Ll26RN26dQkPD0eSJBo3bqx8LZ8Wx3+GyOPy7foDoXrnEhcZmx7LTyE/6e6PbzoekxIOAr3f8sMRukXGRrbzx9nGTNHyBUEQhMrDoK6Qjz76iAkTJhASEoK5uTmrV68mMjKS9u3bi/wWhoo9d092TT/o8HGJi5QkiUUnF5GVlwVAn4A+1HeuX+Jy7xWZmMEvB8MBqOZizUCxyJggCMJTzaDA4uLFi7z66qsAGBsbk5mZibW1NTNmzGDOnDlK1/HJl5MBm8aDNg/UxtBrfomzawLsjtzN0ZijADhaODKi3ggFKnuXJEks2HGFXI28VoxYZEwQBEEw6FvAyspKN67C3d2d0NBQ3WMJCQnK1e5pse8LSJJ/9fPMGDkZVgklZyez5NQS3f0xjcZgbWpd4nLvtfdKPAevyX/voAYe1PeyV7R8QRAEofIxaIxFy5YtOXDgALVq1aJnz56MHz+ekJAQ1qxZQ8uWLZWv5ZPs2k44I08DxaspNHtDkWLvTdvd1qstbb3aKlJugYycPBZsl1ON21qYMLpTNUXLFwRBECongwKLBQsWkJaWBsD06dNJS0vj77//pnr16mJGSHGk3oKt+WMpzGzkBcbUJc/9cOLWCb203e82erfEZd7v5/1h3EqRx26M7lgNe0tTxY8hCIIgVD7FDiw0Gg03b96kfn15EKCVlRXfffddadTtyabVwJYP5NTdAF1mgJ1niYvNzMtkQXDppu2+Hp/Gn8duAFDP046gBh6Kli8IgiBUXsUeY2FkZETXrl1JSkoqnRo9LY7/BDfkgZXU7Q81eypS7K/nfiUmPQaA+s71FU/bLUkSc7deJk8roVapmNi9Jmq1WGRMEARBkBk0eLNu3bpcv35d+do8LaJP6U8t7TRZkWIv3r7IqqurADA1MmV80/GKp+3edj6WkzfkoHJAEy9quNkoWr4gCIJQuRn0rTNz5kwmTJjAxo0biYmJISUlRe+f8AhZKbBpgtwVYmQCvRcoMrU0V5vL/OD5SJIEwNA6Q/G28VagwnelZuWycOdVAKpYmTKqfckXRhMEQRCeLMUaYzFjxgzGjx9Pz57yZfugoCBU96xjIUkSKpUKjUajfE2fBJIEO6dB8k35fttx4FpHkaL/vPgnYcny4nDV7KsxMFD5RGXf77tOYro8zfj9ztWxMVc2g6cgCIJQ+RUrsJg+fTpvvvkme/bsKb0aPcnOrb67aqlfG2g8TJFiI1Ii+P3i7wCoVWo+aPYBxmqDl4F5oMuxqaw6IQdETXwd6FbHTdHyBUEQhCdDsb59Ci6zt2/fvrTq8+RKuAq7Zsi3rZzzp5aWfPyDRqth3vF55GnzAHihxgtUd6he4nLvpdVKzNl6Ca0kYaxW8UG3GnpXqgRBEAShQLG/2cQXigFyM2HD+5CXLS+B3nMeWCmzrPiaa2u4cPsCAF42Xrxa51VFyr3XhrPRnIuSp8W+1NwHf2dlM3gKgiAIT45iXy8PDAx8bHCRmJhYkjo9eXbPhNvX5Nst3wbfVooUG5UWxc8hPwOgQsXEZhMxM1J2ZdE7GTl8vVuuu4utGa+3rapo+YIgCMKTpdiBxfTp07Gzsyud2jyJLm6EEHkKKN7NoNU7ihSrlbTMOz6PHI08mLJv9b7UdaqrSNn3+mbPNVIycwEY36UGlqbKjt0QBEEQnizF/pZ48cUXcXFxKZ3aPGkSr8OOKfJtCwfo+aUiKbsB1l1bx9n4swC4W7nzRj1l1hi5V8jNZNadjgagVYAjHWo4K34MQRAE4clSrDEWYnxFMeRkwPox8v8BeswBG1dFio5Ji+HHkB919yc0m4CFsYUiZRfI02iZs/USACZGaiZ0FQM2BUEQhMcrVmBRMCtEeAxJgl3T5ZkgAC1Ggb8yM2m0kpb5wfPJypMXAOsT0IdGLo0UKftea05GceVWKgDDWvvhXaXkSbwEQRCEJ1+xukK0Wm3p1eRJErIKzv8r3/ZpAa3HKFb0htANnIo7BYCzpTMj649UrOwC8anZfLcvFABPBwteaeWr+DEEQRCEJ5OyC0kIcOuCfr6Knl+CkTIDHqPTovn+7Pe6+x80/QArEytFyr7X4l1XScuW82J80LUG5ibKjAsRBEEQnnwisFBSVjJseA80OaBSy+uAWCsz4FEraZl7fK6uC6R3QG+aujVVpOx7HQ9PZNv5WAA61XShdTVll1wXBEEQnmwisFCKpIXNH8CdG/L9NmPBu7lixa+9ulY3C8TNyo0367+pWNkFcjVa5uYP2LQwNWJsl0DFjyEIgiA82URgoZTD38D1ffLtap2hmXLTPyNTI/VmgUxsNhFLE+UHU644EkHEbXkWyxtt/XG1NVf8GIIgCMKTTQQWCjCNPIjqyLfyHQc/6PGFIuuAkL8WyNxjc+8mwqrWl4YuDRUp+17RdzL5+aC8Oqq/sxUvNlN2yXVBEATh6SACi5JKisD2QP5gTVNL6PstmNkoVvxfl//i/O3zAHhYezCi/gjFyr7X/O2Xyc6VZ/1M6l4TEyNxagiCIAjFJ749SiInHdX60ahy0+X73eeAY4BixV9Nusqv53+F/ORkHzb/UPFEWAD7rsRz4GoCAD3rudPIx0HxYwiCIAhPBxFYlMR/83SLi0nN3oDArooVna3J5vOjn6PRagB4qeZLpbIWSEZOHvO3XQbAxtyYMc8qu+S6IAiC8HQRK0qVRMu3Ie4SORoVZs+8r2jRP4X8RERKBADV7KsxtM5QRcsv8PP+MG6lyFNYR3eqRhUr01I5jiAIgvB0EIFFSVi7IA38HykxkTgrtLgYwMlbJ1l9ZTUAJmoTPm7xMSZqE8XKL3AtLo0/j8nTY+t52vFcA0/FjyEIgiA8XURXSEkZmSCZWitWXGpOKl8c+0J3f2T9kfjZ+SlWfgGtVmLO1kvkaSXUKhWTetRErRaLjAmCIAglIwKLCkSSJL4M/pKETHkgZSOXRvSr3q9UjrUpJIYzkXcAeKGZN4Guys1kEQRBEJ5eIrCoQLaEbeG/m/8BYG1qzYfNP0StUv5PdCcjh8W75JVXnW3MGNnOX/FjCIIgCE8nEVhUEDdSbvD1qa919yc0nYCzpTLrjNxv8a5rJGfmAjC+ayBWZmKojSAIgqAMEVhUALmaXD478hnZmmwAevv3pp1Xu1I51omIRDaejQagTTUnOtZwKZXjCIIgCE8n8VO1Avgp5CdC74QC4GPrw9sN3y6V4+Tkaflii7zImJmJmgndaqBSiQGbQuWm0WjIzc0t02NqtVpyc3PJyspCrVD6/qeZaE/lGdKmJiYmGBmVfIajCCzK2bGYY6y8shIAY7UxU1pOwdy4dBb/+u1wuG6RsZFt/fGwVz6LpyCUFUmSiI2N5c6dO+VybK1WS2pqqgjOFSDaU3mGtqm9vT1ubm4l+juIwKIcxWfE8/nRz3X332zwJgH2yqUEv1dkYga/HAwHoJqLNS829ymV4whCWSkIKlxcXLC0tCzTLyRJksjLy8PY2Fh8ESpAtKfyitumkiSRkZFBXFwcAO7u7gYfWwQW5SRXm8uMIzNIyUkBoJVHK/pVK52ppZIk8cXWS+RqtKhU8FGPWmKRMaFS02g0uqDC0dGxzI8vvgiVJdpTeYa0qYWFfBU7Li4OFxcXg7tFxLdLOVkWsozzCfKqpa6WrkxqPqnU3lBbzsVyPCwRgH6NvKjnZVcqxxGEslIwpsLS0rK8qyIIT5SC91RJxi2JwKIcHIo+xN+X/4aCcRWtpmBralsqx0pKz+GrHVcAcLQ2452OpdPVIgjlQfy6FQRlKfGeqlSBxaZNm2jRogUWFhY4ODjQt2/f8q5SscWmxxZK2V3bsXapHW/Rrqu6nBUTugZiY678miOCIAiCUKDSBBarV6/mlVde4bXXXuPMmTMcPHiQwYMHl3e1iiVXk8uMwzNIy0kDoI1nG/pX719qxzty/TabQ2LkY1V3olNNkbNCEISy06FDB95/X9mVnwGmTZtGw4YNH7vflClTGDlypOLHL08vvvgiX375ZXlX45EqRWCRl5fHe++9x7x583jzzTcJDAykdu3aDBo0qLyrViyLTy3mUqKcR8Ldyp2JzSaW2qXcrFyNLmeFpakRk7rXFJeNBaGCiIyMZPjw4Xh4eGBqaoqvry/vvfcet2/fLu+qPZSfnx8LFy4s72oUWWxsLIsWLeKTTz556D65ublMmjSJevXqYWVlhYeHB6+++irR0dF6+yUmJjJkyBBsbW2xt7fn9ddfJy0trQxeRWGTJ09m1qxZJCcnl8vxi6JSzAo5efIkUVFRqNVqGjVqRGxsLA0bNmTevHnUrVv3oc/Lzs4mOztbdz8lRZ6BodVq0Wq1itRNq9Xq5gs/yqbrm9h0fRPkL4U+teVULI0tFavH/X7YF0r0nUwA3mzvj7O1aakdS0lFbU+h6J7ENi14TQX/ykPBcYt7/OvXr9O6dWsCAwP5448/qFq1KufPn2fixIls2bKFw4cPU6VKlVKqtfxlamJiWJeoIe1d1OcUpz2Lsu+PP/5I69at8fHxeeh+6enpnDx5ksmTJ9OgQQOSkpJ4//33CQoK4vjx47r9hgwZQkxMDNu3byc3N5fhw4czcuRIVqxY8di6Kq1OnToEBASwfPly3nnnnUfua8g5WvD3etD3ZFE/Q1RSeb0ri+Gvv/7ipZdewsfHhwULFuDn58eXX37J9u3buXLlykPfhNOmTWP69OmFtl+5cgUbG2VW89RqtSQnJ2NnZ/fQ7GZXU64y7dQ08qQ8AEbXHE1bt7aKHP9BriVkMu7fq2glqOFiydw+ARhVkiXRi9KeQvE8iW2am5tLcnIyvr6+mJuXTkK5R5EkCY1Gg5GRUbGvBPbp04fz589z/vx53fQ+8n9h16xZk5dffpklS5YwefJk9uzZw8GDB/We36RJE/r168fkyZMBWLZsGV999RXh4eH4+voyevRo3nzzTQDCw8MJDAzk999/5/vvv+fYsWN88803vPrqq4XqdfDgQSZPnsyJEydwcnLiueeeY+bMmVhZWdG5c2f+++8/vf1zcnIAOHToEFOnTuX48eOYmZnRrFkzfv/9dxwcHOjcuTP16tXDzMyMX375BVNTU0aMGMHUqVN15dy5c4dJkyaxYcMGsrOzadKkCfPmzaNBgwa6febOncvixYvJyMhgwIABODk5sX37doKDgx/azg0bNmTUqFG89dZbxfr7BAcH07p1a65du4aPjw8XL16kQYMGHD58mCZNmgCwbds2goKCCAsLw8PD44HlmJqa8t1337F582Z27NiBp6cnc+bMoU+fPgDs27ePLl26sHHjRj755BMuX75My5Yt+f333zl58iQffPAB0dHR9OzZk++//15vBtTMmTPZtWsXe/bseejrMPQczcrKIiIiAjs7u0IBaGpqKoGBgSQnJ2Nr+/AJB+V6xeLDDz9kzpw5j9zn4sWLuijpk08+oX9/eUzCL7/8gpeXFytXrmTUqFEPfO5HH33EuHHjdPdTUlLw9vbG2dn5kY1SHFqtFpVKhbOz8wM/tBOzEll8fDGSSsJIZUTfgL70r1964ypyNVqWbgwGlRoTIxWfPlcfdxfrUjue0h7XnkLxPYltmpWVRWpqKsbGxhgb3/MxtmcWxF8qkzoYa7Wo1GpwrgkdH365/V6JiYls376dmTNnFvpx4+XlxeDBg1m5ciVLly7llVdeYe7cuURERBAQIM/mOn/+PCEhIaxevRpjY2NWrFjB9OnT+frrr2nUqBGnTp1i5MiR2NjYMHToUF3bTJ48mfnz59OoUSPMzc312wwIDQ2ld+/efPbZZyxbtoz4+Hjeffddxo4dy7Jly1izZg0NGzZkxIgRjBgxQn79xsacPn2abt268dprr7Fo0SKMjY3Zs2cPKpVKlz9h+fLljB07liNHjnD48GFee+012rZtS5cuXQAYPHgwFhYWrF+/HkdHR77//nu6d+/O5cuXqVKlCv/88w+fffYZS5YsoU2bNixfvpyvv/4af3//Qq/j3na+ePEizZs3f+g+D5OWloZKpcLJyQljY2OOHz+Ovb09LVq00O3TrVs31Go1J06cwMfn4ckGZ86cyZw5c5g/fz5ff/01Q4cOJTw8nCpVquhyRMycOZMlS5ZgaWnJCy+8wJAhQzAzM+OPP/4gLS2N559/nqVLlzJp0iRduS1btuSLL75Ao9FgZmb2yNdT3KtTxsbGqNVqHB0dCwXtRQ3iyzWwGD9+PMOGDXvkPv7+/sTEyAMQa9e+O3vCzMwMf39/bty48dDnmpmZPbDR1Wq1oh+wKpXqgWXmanOZeXQmtzPlftN6TvV4q9Fbpfrh/sfhCK7ekvv+hrb2I9CtdKaxlqaHtadguCetTdVqNSqVSvdPJ/4SRB5/1FMVIQGq/P+qAIr4i/DatWtIkkTt2rUf+Cuydu3a/PTTTyQkJFC3bl0aNGjAn3/+yZQpUwD4448/aNGiBdWrV4f8q7Jffvml7geXv78/Fy9e5IcffmDYsGG6Y7z//vu6fR7kiy++YMiQIYwdOxaAwMBAFi9eTPv27Vm6dCmOjo4YGRlha2url5Fx3rx5NG3alKVLl+q23d89Xb9+faZNm6Yr95tvvmH37t107dqVAwcOcOzYMW7duoWRkRHGxsZ8+eWXrFu3jtWrVzNy5EgWLVrE66+/zhtvvAHArFmz2LVrF1lZWQ/9JR4ZGYkkSXh6ehb71/qHH37ISy+9hJ2dnO/n1q1buLi46JVjYmJClSpVuHXr1iPLHzZsmG6SwezZs/n66685fvw43bt31z1v5syZtGnTBoDXX3+djz76iNDQUPz9/QEYMGAAe/fu5cMPP9SV6+npSU5ODrdu3cLX1/eBx5YkSXeM4rRBwXvqQZ8XRf38KNfAwtnZGWfnxy8N3qRJE8zMzLh8+bLuD5Cbm6u79FcRSZLE4pOLORt/FgBHC0emtpqKibr0pnuGJaTz0/4wAKo6WTH8maqldixBqJCca5XZoSSthEqtMuiYRe2BHjJkCMuWLWPKlClIksSff/6puwqbnp5OaGgor7/+uu4qAvmD3Qu+FAs0bdpUd7tOnTpEREQA0LZtW7Zs2cKZM2c4e/as3piBgn72sLAwatV68Gs8ffo0AwcOfORrqF+/vt59d3d3XdroM2fOkJaWhpOTk94+mZmZhIbKCzNevHhR17VToFWrVo/sBsjMlMeX3fsLe8WKFXpXt7ds2ULbtne7pHNzcxk0aBCSJOkFSiVx72u3srLC1tZW99oftI+rqyuWlpa6oKJg27Fjx/SeU9CFlpGRoUg9lVYpBm/a2try5ptv8umnn+Lt7Y2vry/z5s0DeOxJXV7WXF2jN1hzWutpOFqUXuphjVZi5sYLurTdk3vVxtT4yfh1KghF1qloXRIlJklo8tMlF/VqBUC1atVQqVRcvHiRfv0Kp/C/ePEiDg4Ouh9cL730EpMmTeLkyZNkZmYSGRnJCy+8APmX7MkfpHjvZXqgUCpmKysr3e3NmzfrsioWfEGlpaUxatQoxowZU6hOj7rUf+8YkYe5/1K8SqXSdW+npaXh7u7Onj17CqWftre3f2zZD1MQqCQlJenaMigoSK+dPD09dbcLgoqIiAh2796t11Xu5uZWKBjIy8sjMTERNzc3g1/7g/ZRqVRFek5iopxJuSg/zMtDpQgsyL/kZmxszCuvvEJmZiYtWrRg9+7dODg4lHfVCjkac5Rvz3yruz+x2UTqONYp1WOuOhFJSJQ8/eiFZj4ibbcgVECOjo506dKFb7/9lrFjxxYavLlixQpeffVV3Zerl5cX7du3Z8WKFWRmZtKlSxdcXOR8NK6urnh4eHD9+nWGDBlS5Do86Cpv48aNuXDhAtWqVXvo80xNTdFoNHrb6tevz65dux44SL4oGjduTGxsLMbGxvj5+T1wXYtatWpx9OhRvQGnR44ceWS5AQEB2NracuHCBQIDAwGwsbF54KD9gqDi6tWr7Nmzp9DaM61ateLOnTucOHFCN3hz9+7daLXaQgFdWTl37hxeXl6FrvRUFJXmJ62JiQnz58/n1q1bpKSksGPHDurUKd0va0NEpEQw88hM3aXOIbWG8Kzvs6V6zOg7mXyzR75s6OlgwVvtRdpuQaiolixZQnZ2Nt26deO///4jMjKSrVu30qVLFzw9PZk1a5be/kOGDOGvv/5i5cqVhQKI6dOnM3v2bBYvXsyVK1cICQnhl19+YcGCBcWq06RJkzh06BCjR4/m9OnTXL16lXXr1jF69GjdPn5+fvz3339ERUWRkJAA+QPkjx8/zttvv83Zs2e5dOkSS5cu1T3+OJ07d6ZVq1b069ePHTt2EB4ezqFDh/jkk090Mz7ee+89li1bxi+//MKVK1f49NNPOX/+/CPLVavVdO7cmQMHDjxyv9zcXAYMGEBwcDArVqxAo9EQGxtLbGysbtZLrVq16N69OyNGjODYsWMcPHiQ0aNH8+KLLz50Rkhp279/P127di2XYxdFpQksKoM7WXf45MAnpOemQ35mzdfqvlaqx9RqJWZtukhWrvxL4uOetbAwNWxFOkEQSl/16tUJDg7G39+fQYMGERAQwMiRI+nYseMDc1gMGDCA27dvk5GRUWgZgzfeeIOffvqJX375hXr16tG+fXt+/fVXqlYt3viq+vXrs2/fPq5cuULbtm1p1KgRU6dO1fvinDFjBuHh4QQEBOguwQcGBrJ9+3bOnDlD8+bNadWqFevWrSvyTAyVSsXmzZtp27YtI0aMoEaNGrz44otERETg6uoKwAsvvMCUKVOYOHEiTZo0ISIiokhTSN944w3++uuvR+ZeiIqKYv369dy8eZOGDRvi7u6u+3fo0CHdfitWrKBmzZo8++yz9OzZkzZt2vDDDz8U6TUqLSsri3///VdvXE1FUynyWCglJSUFOzu7x87BLQ6tVktcXBy2VWz5YP8HXLx9EYAA+wAWd1qMhfHj+yBLYmVwJPO2XQagbyNPPu5ZdoPXSkNBe7q4uDwxMxjK25PYpllZWYSFhVG1atVyy2MhlvlWTmm0pyRJtGjRgrFjx/LSSy8pUmZFsHTpUtauXcv27dsfuZ+hbfqo91ZRv0OfjE+ZcqaRNMw6NksXVDhaODKrzaxSDypuJmWwZM81ANzszBnzbPVSPZ4gCEJloVKp+OGHH8jLyyvvqijKxMSEr7/+uryr8UiVZvBmRSVJEv+79j8OxxwGwNLEkjlt5+BiWboLfmm1EjM3XiQzR+4CmdyrNtZm4s8pCIJQoGHDhkVarKwyKcjnUZGJKxYltPLKSrZFbQPASG3EtFbT8Lf3f+zzSmrViZucvJEEQP8mXjSvWnprCwiCIAhCUYnAogR239jNDyF3B/CMbzqepm5NH/kcJUQm3u0Ccbe34N1OD58iJgiCIAhlSQQWBpIkSZcAC2BYnWF09+te6sfVaCWmb7igmwUytXctLE1FF4ggCIJQMYhvJAOpVCpmt53N50c+R5WnYkjNoieoKYnfj0Rw9uYdAAY29aKJr+gCEQRBECoOEViUgOn/27vzuBrT/3/gr9OetJBWaUGbVk2YslTUZBgjMz+Fxs4wH9vYBh+KRMUQH8tkL+arjGUsg4yZFJE1iiFFSsbgiKhTKnWu3x90j9Mmuk+nw/vp0ePh3Pd9rut9v091v7vv674vRRUs+HTBWyei4UvmwyJsOnUHAGCm2wJTetNdIIQQQpoXuhTSSAoCBSgqSP+BVKUvKxF88C+8rBRDSUGAkC/toaZMD8IihBDSvFBhISd+SspGTv6rJ3qO6WGBTsbyNx06IYSQDx8VFnLgYu5T7LqQBwCwb6uNUe7msg6JECKHYmJiGjVraG1yc3MhEAiQlpbGa7tEflFh0cw9L3mJRYdeTbijpqyIkC/toKRIHxsh8mrUqFEQCASIiIiQWH7gwAGpj9UKCAhAVlaWVPsghI5QzRhjDKFHbuBxURkA4HtvS7Rr3ULWYRFCGklNTQ3Lli1DQUFBk/arrq7OTbtOiLRQYdGM7U39G6eyHgMAPK31MKhzW1mHRAjhgbe3NwwNDREeHl7nNvv27YOdnR1UVVVhbm6OlStXSqw3NzfHkiVLMGLECLRs2RJmZmY4dOgQHj9+jIEDB6Jly5ZwdHTkph9HLZdCFi1aBGdnZ/z8888wNzeHtrY2hgwZgqKiIm6bY8eOoUePHtDR0YGuri6++OILZGdn854T8uGg202bqdvCIqz+8xYAQF9LFfP7d6JZFAl5i4l/TMTT0qdS74eBAQyAANBV08UGnw3v9H5FRUWEhYVh2LBhmDp1KkxMTCTWp6amwt/fH4sWLUJAQABSUlLwn//8B7q6uhg1ahS33apVqxAWFoagoCCsWrUKw4cPh7u7O8aMGYMff/wRc+bMwYgRI3D9+vU6f39kZ2fjwIEDOHz4MAoKCuDv74+IiAgsXboUAFBcXIwZM2bA0dERIpEIwcHBGDRoENLS0j6Y2XIJv6iwaIZKX1Zi/v5Xt5YqCARYPNAe2urKsg6LkGbvaelT5L/Ib5K+GBgEr/+9j0GDBsHZ2RkLFy7E1q1bJdZFRkaiT58+CAoKAgBYWVnhxo0b+PHHHyUKi379+mHChAkAgODgYERFRaFLly4YPHgwAGDOnDlwc3PDo0ePYGhoWGscYrEYMTEx0NTUBAAMHz4cCQkJXGHx9ddfS2y/bds26Onp4caNG7C3t3+vfScfNiosmqFVf2Zxt5aO7WEBF9NWsg6JELnQWq1pnkT75hmLxvS5bNky9O7dG7NmzZJYnpGRgYEDB0os6969O1avXo3KykooKr56ho2joyO33sDAAADg4OBQY5lQKKyzsDA3N+eKCgAwMjKCUCjkXt+6dQvBwcE4f/488vPzIRaLAQB5eXlUWJBaUWHRzPxx4xH2X74PAHBqp4PR3enWUkIa6l0vSbwvxhgqKiqgpKTUqEuUvXr1gq+vL+bNmydxJqKhlJX/PZNZFUdty6qKgbe1UfWeN7cfMGAAzMzMsHnzZhgbG0MsFsPe3h7l5eXvHC/5OFBh0YzcfVKMpUduAAA01ZQQOtCebi0l5AMXEREBZ2dnWFtbc8tsbW1x5swZie3OnDkDKysr7mxFU3jy5AkyMzOxefNm9OzZEwBw+vTpJuufyCcqLJqJ0peVmLvvGkrKX81aGvKlPQy11WQdFiFEyhwcHBAYGIg1a9Zwy2bOnIkuXbogNDQUAQEBOHv2LNatW4effvqpSWNr1aoVdHV1sWnTJhgZGSEvLw9z585t0hiI/KE/h5sBxhgi4m8i+7EIADDS3Rw9LNvIOixCSBNZvHixxOUHFxcX7N69G7t27YK9vT2Cg4OxePHi97pc0hgKCgrYtWsXUlNTYW9vj+nTp+PHH39s0hiI/BEwxpisg2gqhYWF0NbWxvPnz6Glxc9cG2KxGEKhEPr6+u9969XBtPtYeiQDAPCJWSusHdr5o70Ewkc+iaQPMaelpaXIycmBhYUF1NSa/sweX2MsyCuUT/69b07r+9lq6DH0w/gtI8cyHxZh+bFMAIBuS1WE+tG4CkIIIfKLjmAyVFBcjtl707nnVSzxs0OblqqyDosQQgh5b1RYyEhFpRjzD1zDw+elAIBJXh3wiVnT3INPCCGESAsVFjKy5sRtXMp9NQHRZ3YG+OZTM1mHRAghhDQaFRYycPTaA+y6kAcAsDLQxAKaB4QQQsgHggqLJnbjn0LuDhCdFsr4cbAj1JSb7oE3hBBCiDRRYdGEhIWlmLXn1WBNRQUBwgY5wEhbXdZhEUIIIbyhwqKJlJRXYMbudOSLygAA072t4GpOgzUJIYR8WKiwaAKVYoYFB/5C1qMiAMBgVxP4d2kn67AIIYQQ3lFh0QTWnriF07fyAQBuHXQx3dtK1iERQj5Q5ubmWL16tazDaJDc3FwIBAKkpaXx3nZD8lBeXo6OHTsiJSWF9/6bo2PHjsHZ2bne2W75QIWFlP16+W/Enn91B0h7PQ0soSdrEvJR8/T0xPfff19jeUxMDHR0dGQSEx+SkpIgEAjw7NkzWYfSYBs2bICFhQXc3d3f6/2//vorfHx8oKenBy0tLbi5ueH333+vsd369ethbm4ONTU1dOvWDRcuXOAh+nfXt29fKCsrY+fOnVLth45wUpR86zH3uO7WGiqI9HeGppqyrMMihJA6lZeXyzqEJsEYw7p16zB27Ng6t6k6o1KXU6dOwcfHB0ePHkVqaiq8vLwwYMAAXLlyhdvml19+wYwZM7Bw4UJcvnwZTk5O8PX1hVAo5H2fGmLUqFESM+lKAxUWUnLt7+f47/5rEDMGVWUF/Pj/nGCsQ3eAEEIaZtSoUfDz88OKFStgZGQEXV1dTJo0CS9fvuS2EQqFGDBgANTV1WFhYVHrX6LPnj3DuHHjuL+qe/fujfT0dG79okWL4OzsjC1bttQ7qZtYLEZ4eDgsLCygrq4OJycn7N27F3h9APby8gJeT7UuEAi4mVjFYjGWL1+Ojh07QlVVFaampli6dKlE23fu3IGPjw80NDTg5OSEs2fPSqw/ffo0evbsCXV1dbRr1w5Tp05FcXHxO+WhutTUVGRnZ6N///5v3bYuq1evxg8//IAuXbrA0tISYWFhsLS0xG+//cZtExkZifHjx2P06NHo1KkTNmzYgBYtWmDbtm11ttuQz97c3BxLlizBiBEj0LJlS5iZmeHQoUN4/PgxBg4cCE1NTbi4uODSpUsSbQ8YMACXLl1Cdnb2e+/32yhJreWPWG5+MabvTkPZy39vK3Uw0ZZ1WIR88CKPZyLrkagJemIQMwYFgQBWBpqY8Zm1VHpJTEyEkZEREhMTcfv2bQQEBMDZ2Rnjx48HXh+A/vnnHyQmJkJZWRlTp06t8Zfw4MGDoa6ujvj4eGhra2Pjxo3o06cPsrKy0Lr1qzvTbt++jX379uHXX3+FomLtz9UJDw/H//3f/2HDhg2wtLTEqVOn8M0330BPTw89evTAvn378PXXXyMzMxNaWlpQV3/1h9S8efOwefNmrFq1Cj169MCDBw9w8+ZNibYXLFiAiIgI2NjYYMGCBRg6dChu374NJSUlZGdno2/fvliyZAm2bduGx48fY/LkyZg8eTKio6MbnIfqkpOTYWVlBU1NzUZ8QpLEYjGKioq4vJaXlyM1NRXz5s3jtlFQUIC3t3eN4qm6t332ALBq1SqEhYUhKCgIq1atwvDhw+Hu7o4xY8Zg+fLl+OGHHzBy5Ehcv36dO/NiamoKAwMDJCcno0OHDrzt+5uosODZ46IyTNt1BYUvXlWWcz+3QU9LPVmHRchHIeuRCJfzCpq4V+k9NbdVq1ZYt24dFBUVYWNjg/79+yMhIQHjx49HVlYW4uPjceHCBXTp0gUAsHXrVtja2nLvP336NC5cuAChUAhV1VcTHK5YsQIHDhzA3r178e233wKvD4A7duyAnl7tv6vKysoQFhaGP//8E25ubgCA9u3b4/Tp09i4cSM8PDy4g6m+vj43VqSoqAj/+9//sG7dOowcORIA0KFDB/To0UOi/ZkzZ6Jfv35QUlJCSEgI7OzscPv2bdjY2CA8PByBgYHcuBRLS0usWbMGHh4eiIqKQl5e3lvzUJu7d+/C2Nj4vT6XuqxYsQIikQj+/v4AgPz8fFRWVsLAwEBiOwMDgxrFVXX1ffZV+vXrhwkTJgAAgoODERUVhS5dumDw4MFgjGH27Nno2bMnHj16BENDQ+59xsbGuHv3Lq/7/iYqLHhUWPoS03ZdwYPXE4t926s9Bjq3lXVYhHw0rAxaNlFPb56xkF6fdnZ2EmcQjIyMcO3aNQBARkYGlJSU8Mknn3DrbWxsJAaApqenQyQSQVdXV6LdFy9eSJwKNzMz44qK5ORkfP7559y6jRs3wtnZGSUlJfDx8ZFop7y8HJ07d64z/oyMDJSVlaFPnz717qejo6PEPuL15Q0bGxukp6fj6tWrEpc3GGMQi8XIyclBVlbWW/NQmxcvXtR62cfOzo476DLGAAAtW/77Gffs2RPx8fE13hcbG4uQkBAcPHgQ+vr69fbdEPV99lXezFtV8eLg4MAtq4pDKBRKFBbq6uooKSlpdIx1ocKCJyXlFZi+Kx23ha9Oww5yaYuxPSxkHRYhHxVpXZKojjGGiooKKCkpvfM8P1paWnj+/HmN5c+ePYO2tuQlU2VlycHeAoHgnW4VFIlEMDIyQlJSUo11bx54NTQ0uP+7urpK3P5pYGCAGzduAACOHDmCtm0l/1iqOhNSm6rLIW/z5n5W5bNqP0UiESZMmICpU6fWeJ+pqSmysrIa1Ed1bdq0qXGgBoCjR49yYxnu378PT09PiXzUtk+7du3CuHHjsGfPHnh7e0v0oaioiEePHklsX/0MQm0a8tnXlrf6clnl6dOndZ6d4gMVFjworxDjh73XcO3+q18WfWwN8IOvDU0sRgipwdraGsePH6+x/PLly7CyavgzbmxsbFBRUYHU1FTuEkBmZqbE7Z4uLi54+PAhlJSUYG5u3qB21dXV0bFjR4llnTp1gqqqKvLy8uDh4VHr+1RUVAAAlZWV3DJLS0uoq6sjISEB48aNa/C+vcnFxQU3btyoEVOVhuShNp07d0ZUVBQYYxK/q83M/p1pWknp1SGyrr4BIC4uDmPGjMGuXbtqDARVUVHBJ598goSEBPj5+QGvD/IJCQmYPHlyg/afb6WlpcjOzq73TFNj0V0hjfSyUoyIhDxcuvvquq57B10sHmgHRQUqKgghNX333XfIysrC1KlTcfXqVWRmZiIyMhJxcXGYOXNmg9uxtrZG3759MWHCBJw/fx6pqakYN26cxF/U3t7ecHNzg5+fH44fP47c3FykpKRg/vz5Ne4WqI+mpiZmzZqF6dOnY/v27cjOzsbly5exdu1abN++HXh9QBYIBDh8+DAeP34MkUgENTU1zJkzBz/88AN27NiB7OxsnDt3Dlu3bm1w33PmzEFKSgomT56MtLQ03Lp1CwcPHuQOzA3JQ228vLwgEolw/fr1BsdSXWxsLEaMGIGVK1eiW7duePjwIR4+fChxRmrGjBnYvHkztm/fjoyMDHz33XcoLi7G6NGj37vfxjh37hxUVVW5sTLSQIVFI1SKGUIPZ+BCXiEAwMW0FSK+doQyPQCLEFKH9u3b49SpU7h58ya8vb3RrVs37N69G3v27EHfvn3fqa3o6GgYGxvDw8MDX331Fb799luJ6/sCgQBHjx5Fr169MHr0aFhZWWHIkCG4e/dujQGFbxMaGoqgoCCEh4fD1tYWffv2xZEjR2Bh8eqSb9u2bRESEoK5c+fCwMCAO/AHBQVh5syZCA4Ohq2tLQICAt7pGQ6Ojo44efIksrKy0LNnT3Tu3BnBwcESAy/flofa6OrqYtCgQY16WNSmTZtQUVGBSZMmwcjIiPuaNm0at01AQABWrFiB4OBgODs7Iy0tDceOHXvn/PMlLi4OgYGBaNGihdT6ELCq0SkfgcLCQmhra+P58+fQ0tJqdHv/+/MWdp6/C7FYDLu2Olgf6IKWqnR1qTHEYjGEQiH09fWhoEAFGh8+xJyWlpYiJyen3ucuSFNjxliQmmSVz6tXr8LHxwfZ2dkSAzQ/BLXlND8/H9bW1rh06RJXEFZX389WQ4+hH8ZvGRnp72iI1hoqMG2litUBTlRUEEKIHHF0dMSyZcuQk5Mj61CaRG5uLn766ac6iwq+0JGwETrqa2LjNy4QPS+Atjo9qpsQQuRN1RNCPwaurq5wdXWVej90xqKR2rVuAV0NKioIIYQQUGFBCCGEED5RYUEIkVsf0dhzQpoEHz9TVFgQQuRO1dMFpflYYkI+RlU/U9Wf/PkuaPAmIUTuKCoqQkdHh3seQosWLZr0NkW63ZRflE/+vWtOGWMoKSmBUCiEjo5OnbPcNgQVFoQQuVQ118K7PGyJL1WTYCkoKNCBkAeUT/69b051dHTeOo/J21BhQQiRSwKBAEZGRtDX1+cmjWoqYrEYT548ga6u7gfz0DFZonzy731yqqys3KgzFVWosCCEyDVFRUVefhm+C7FYDGVlZaipqdGBkAeUT/7JMqdy8QkmJSVBIBDU+nXx4kVZh0cIIYSQ1+TijIW7uzsePHggsSwoKAgJCQlN8hQxQgghhDSMXBQWKioqEoNJXr58iYMHD2LKlCn1DkopKytDWVkZ97qw8NUspGKxGGKxmJfYxGIxN0iGNB7lk3+UU/5RTvlF+eSfNHLa0LbkorCo7tChQ3jy5Mlb57MPDw9HSEhIjeU5OTm8zWQnFotRWFiIwsJCujbIA8on/yin/KOc8ovyyT9p5FQkEgENeIiWXE6b3q9fPwDA0aNH692u+hmL+/fvo1OnTlKPjxBCCPlQ3bt3DyYmJnWul+kZi7lz52LZsmX1bpORkQEbGxvu9d9//43ff/8du3fvfmv7qqqqUFVV5V63bNkS9+7dg6amJm/3ShcWFqJdu3a4d+9evfPTk4ahfPKPcso/yim/KJ/8k0ZOGWMoKiqCsbFxvdvJtLCYOXPmW6esbd++vcTr6Oho6Orq4ssvv3zn/hQUFOqtshpDS0uLfiB4RPnkH+WUf5RTflE++cd3TrW1td+6jUwLCz09Pejp6TV4e8YYoqOjMWLEiEY9x5wQQggh0iFXo2ROnDiBnJwcjBs3TtahEEIIIaQWclVYbN26Fe7u7hJjLmRNVVUVCxculBjLQd4f5ZN/lFP+UU75RfnknyxzKpd3hRBCCCGkeZKrMxaEEEIIad6osCCEEEIIb6iwIIQQQghvqLAghBBCCG+osHjDqVOnMGDAABgbG0MgEODAgQP1bl/XdO4PHz6U2G79+vUwNzeHmpoaunXrhgsXLkh5T5oPaeQ0PDwcXbp0gaamJvT19eHn54fMzMwm2BvZk9b3aJWIiAgIBAJ8//33UtqD5kdaOb1//z6++eYb6OrqQl1dHQ4ODrh06ZKU90b2pJHPyspKBAUFwcLCAurq6ujQoQNCQ0PfOmfFh+Jdc4rXU1rMnz8fZmZmUFVVhbm5ObZt2yaxzZ49e2BjYwM1NTU4ODi8dZqMhqLC4g3FxcVwcnLC+vXr3+l9mZmZePDgAfelr6/Prfvll18wY8YMLFy4EJcvX4aTkxN8fX0hFAqlsAfNjzRyevLkSUyaNAnnzp3DH3/8gZcvX+Kzzz5DcXGxFPageZFGPqtcvHgRGzduhKOjI48RN3/SyGlBQQG6d+8OZWVlxMfH48aNG1i5ciVatWolhT1oXqSRz2XLliEqKgrr1q1DRkYGli1bhuXLl2Pt2rVS2IPm531y6u/vj4SEBGzduhWZmZmIi4uDtbU1tz4lJQVDhw7F2LFjceXKFfj5+cHPzw9//fVX4wNmpFYA2P79++vdJjExkQFgBQUFdW7TtWtXNmnSJO51ZWUlMzY2ZuHh4bzGKw/4yml1QqGQAWAnT57kIUr5wWc+i4qKmKWlJfvjjz+Yh4cHmzZtGs/Ryge+cjpnzhzWo0cPKUQoX/jKZ//+/dmYMWMkln311VcsMDCQt1jlRUNyGh8fz7S1tdmTJ0/q3Mbf35/1799fYlm3bt3YhAkTGh0jnbHggbOzM4yMjODj44MzZ85wy8vLy5Gamgpvb29umYKCAry9vXH27FkZRSsf6sppbZ4/fw4AaN26dRNFJ3/els9Jkyahf//+Et+rpH715fTQoUNwdXXF4MGDoa+vj86dO2Pz5s0yi1Ue1JdPd3d3JCQkICsrCwCQnp6O06dP4/PPP5dRtM1b1fff8uXL0bZtW1hZWWHWrFl48eIFt83Zs2dr/Lz7+vrycmyS6Vwh8s7IyAgbNmyAq6srysrKsGXLFnh6euL8+fNwcXFBfn4+KisrYWBgIPE+AwMD3Lx5U2ZxN2dvy2l1YrEY33//Pbp37w57e3uZxNycNSSfu3btwuXLl3Hx4kVZhysXGpLTO3fuICoqCjNmzMB///tfXLx4EVOnToWKigpGjhwp611oVhqSz7lz56KwsBA2NjZQVFREZWUlli5disDAQFmH3yzduXMHp0+fhpqaGvbv34/8/Hz85z//wZMnTxAdHQ0AePjwYa3HprrGX72TRp/z+EA15HRTbXr16sW++eYbxhhj9+/fZwBYSkqKxDazZ89mXbt25S1WecFHTqubOHEiMzMzY/fu3eMhQvnCRz7z8vKYvr4+S09P59bTpZDGf48qKyszNzc3iW2mTJnCPv30U17ilBd85TMuLo6ZmJiwuLg4dvXqVbZjxw7WunVrFhMTw3PEzV9Dcurj48PU1NTYs2fPuGX79u1jAoGAlZSUMPb6ezQ2NlbifevXr2f6+vqNjpEuhfCsa9euuH37NgCgTZs2UFRUxKNHjyS2efToEQwNDWUUofx5M6dvmjx5Mg4fPozExESYmJjIJDZ59GY+U1NTIRQK4eLiAiUlJSgpKeHkyZNYs2YNlJSUUFlZKetw5UL171EjIyN06tRJYhtbW1vk5eXJIDr5Uz2fs2fPxty5czFkyBA4ODhg+PDhmD59OsLDw2UaZ3NlZGSEtm3bSkxxbmtrC8YY/v77bwCAoaGh1I5NVFjwLC0tDUZGRgAAFRUVfPLJJ0hISODWi8ViJCQkwM3NTYZRypc3c4pXZ9kwefJk7N+/HydOnICFhYVM45M3b+azT58+uHbtGtLS0rgvV1dXBAYGIi0tDYqKirIOVy5U/x7t3r17jVugs7KyYGZmJoPo5E/1fJaUlEBBQfJwpaioCLFYLIPomr/u3bvjn3/+gUgk4pZlZWVBQUGB+yPMzc1N4tgEAH/88QcvxyYaY/EGkUgkUSXn5OQgLS0NrVu3hqmpKebNm4f79+9jx44dAIDVq1fDwsICdnZ2KC0txZYtW3DixAkcP36ca2PGjBkYOXIkXF1d0bVrV6xevRrFxcUYPXq0TPaxqUkjp5MmTUJsbCwOHjwITU1N7pqgtrY21NXVZbCXTYfvfGpqatYYm6KhoQFdXd2PZsyKNL5Hp0+fDnd3d4SFhcHf3x8XLlzApk2bsGnTJpnsY1OSRj4HDBiApUuXwtTUFHZ2drhy5QoiIyMxZswYmexjU3vXnA4bNgyhoaEYPXo0QkJCkJ+fj9mzZ2PMmDHc78hp06bBw8MDK1euRP/+/bFr1y5cunSJn+/RRl9M+YBU3fZU/WvkyJGMMcZGjhzJPDw8uO2XLVvGOnTowNTU1Fjr1q2Zp6cnO3HiRI12165dy0xNTZmKigrr2rUrO3fuXJPulyxJI6e1tQeARUdHN/n+NTVpfY++6WMbYyGtnP7222/M3t6eqaqqMhsbG7Zp06Ym3S9ZkUY+CwsL2bRp05ipqSlTU1Nj7du3Z/Pnz2dlZWVNvn+y8K45ZYyxjIwM5u3tzdTV1ZmJiQmbMWMGN76iyu7du5mVlRVTUVFhdnZ27MiRI7zES9OmE0IIIYQ3NMaCEEIIIbyhwoIQQgghvKHCghBCCCG8ocKCEEIIIbyhwoIQQgghvKHCghBCCCG8ocKCEEIIIbyhwoIQQgghvKHCghDyXhYtWgRnZ2dZh8ERCAQ4cODAO78vMzMThoaGKCoqkkpcVfLz86Gvr89NAkXIh4oKC0KasQ0bNkBTUxMVFRXcMpFIBGVlZXh6ekpsm5SUBIFAgOzsbBlE2nT4LmjmzZuHKVOmQFNTk7c2a9OmTRuMGDECCxculGo/hMgaFRaENGNeXl4QiUS4dOkStyw5ORmGhoY4f/48SktLueWJiYkwNTVFhw4dZBSt/MnLy8Phw4cxatSoJulv9OjR2LlzJ54+fdok/REiC1RYENKMWVtbw8jICElJSdyypKQkDBw4EBYWFjh37pzEci8vLwDAzz//DFdXV2hqasLQ0BDDhg2DUCgEAIjFYpiYmCAqKkqirytXrkBBQQF3794FADx79gzjxo2Dnp4etLS00Lt3b6Snp9cb75YtW2Braws1NTXY2Njgp59+4tbl5uZCIBDg119/hZeXF1q0aAEnJyecPXtWoo3NmzejXbt2aNGiBQYNGoTIyEjo6OgAAGJiYhASEoL09HQIBAIIBALExMRw783Pz8egQYPQokULWFpa4tChQ/XGu3v3bjg5OaFt27bcstrOiKxevRrm5ubc61GjRsHPzw9hYWEwMDCAjo4OFi9ejIqKCsyePRutW7eGiYkJoqOjJdqxs7ODsbEx9u/fX29chMgzKiwIaea8vLyQmJjIvU5MTISnpyc8PDy45S9evMD58+e5wuLly5cIDQ1Feno6Dhw4gNzcXO6vcgUFBQwdOhSxsbES/ezcuRPdu3eHmZkZAGDw4MEQCoWIj49HamoqXFxc0KdPnzr/2t65cyeCg4OxdOlSZGRkICwsDEFBQdi+fbvEdvPnz8esWbOQlpYGKysrDB06lLvUc+bMGUycOBHTpk1DWloafHx8sHTpUu69AQEBmDlzJuzs7PDgwQM8ePAAAQEB3PqQkBD4+/vj6tWr6NevHwIDA+s9O5CcnAxXV9d3+DT+deLECfzzzz84deoUIiMjsXDhQnzxxRdo1aoVzp8/j4kTJ2LChAk1xlR07doVycnJ79UnIXKBlzlSCSFSs3nzZqahocFevnzJCgsLmZKSEhMKhSw2Npb16tWLMcZYQkICA8Du3r1baxsXL15kAFhRURFjjLErV64wgUDAbV9ZWcnatm3LoqKiGGOMJScnMy0tLVZaWirRTocOHdjGjRsZY4wtXLiQOTk5SayLjY2V2D40NJS5ubkxxhjLyclhANiWLVu49devX2cAWEZGBmOMsYCAANa/f3+JNgIDA5m2tjb3unq/VQCwBQsWcK9FIhEDwOLj4+vMrZOTE1u8eLHEstraX7VqFTMzM+Nejxw5kpmZmbHKykpumbW1NevZsyf3uqKigmloaLC4uDiJtqZPn848PT3rjIkQeUdnLAhp5jw9PVFcXIyLFy8iOTkZVlZW0NPTg4eHBzfOIikpCe3bt4epqSkAIDU1FQMGDICpqSk0NTXh4eEBvB5TAADOzs6wtbXlzlqcPHkSQqEQgwcPBgCkp6dDJBJBV1cXLVu25L5ycnJqHRxaXFyM7OxsjB07VmL7JUuW1Nje0dGR+7+RkREAcJdpMjMz0bVrV4ntq7+uz5tta2hoQEtLi2u7Ni9evICamlqD23+TnZ0dFBT+/RVqYGAABwcH7rWioiJ0dXVr9K+uro6SkpL36pMQeaAk6wAIIfXr2LEjTExMkJiYiIKCAq5IMDY2Rrt27ZCSkoLExET07t0beH2Q9/X1ha+vL3bu3Ak9PT3k5eXB19cX5eXlXLuBgYGIjY3F3LlzERsbi759+0JXVxd4fedJ9bEdVarGO7xJJBIBr8dHdOvWTWKdoqKixGtlZWXu/wKBAHg97oMPb7Zd1X59bbdp0wYFBQVvbbeysrJBfTWk/6dPn0JPT++tfRIir6iwIEQOeHl5ISkpCQUFBZg9eza3vFevXoiPj8eFCxfw3XffAQBu3ryJJ0+eICIiAu3atQMAibtKqgwbNgwLFixAamoq9u7diw0bNnDrXFxc8PDhQygpKUkMWqyLgYEBjI2NcefOHQQGBr73flpbW+PixYsSy6q/VlFRqfVA/z46d+6MGzdu1Fj+6NEjidd37tzhpT8A+Ouvv2rcKkzIh4QuhRAiB7y8vHD69GmkpaVxZywAwMPDAxs3bkR5eTk3cNPU1BQqKipYu3Yt7ty5g0OHDiE0NLRGm+bm5nB3d8fYsWNRWVmJL7/8klvn7e0NNzc3+Pn54fjx48jNzUVKSgrmz59fa5GC1wMnw8PDsWbNGmRlZeHatWuIjo5GZGRkg/dzypQpOHr0KCIjI3Hr1i1s3LgR8fHx3JmNqrhzcnKQlpaG/Px8lJWVNbj96nx9fXH27NkahcrDhw+xePFi3LlzB/v27cPPP/+MgoIC3Lx58737AoCSkhKkpqbis88+a1Q7hDRnVFgQIge8vLzw4sULdOzYEQYGBtxyDw8PFBUVcbelAoCenh5iYmKwZ88edOrUCREREVixYkWt7QYGBiI9PR2DBg2Curo6t1wgEODo0aPo1asXRo8eDSsrKwwZMgR3796V6P9N48aNw5YtWxAdHQ0HBwd4eHggJiYGFhYWDd7P7t27Y8OGDYiMjISTkxOOHTuG6dOnS4yD+Prrr9G3b194eXlBT08PcXFxDW6/us8//xxKSkr4888/JZbb29sjKysLdnZ2CAoKwpYtW6CiooJZs2a9d18AcPDgQZiamqJnz56NaoeQ5kzAXo2mJoSQZmn8+PG4efOm1G7RXL9+PQ4dOoTff/8deP0ciwMHDiAtLY33vj799FNMnToVw4YN471tQpoLGmNBCGlWVqxYAR8fH2hoaCA+Ph7bt2+XeNAW3yZMmIBnz56hqKhIqo/1zs/Px1dffYWhQ4dKrQ9CmgM6Y0EIaVb8/f2RlJSEoqIitG/fHlOmTMHEiRObrH9pnrEg5GNAhQUhhBBCeEODNwkhhBDCGyosCCGEEMIbKiwIIYQQwhsqLAghhBDCGyosCCGEEMIbKiwIIYQQwhsqLAghhBDCGyosCCGEEMKb/w82FyFsg+byYQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "colors = {\n", + " \"Over-etched (-20 nm)\": \"tab:orange\",\n", + " \"Nominal\": \"tab:green\",\n", + " \"Under-etched (+20 nm)\": \"tab:blue\",\n", + "}\n", + "\n", + "for label, spectrum in bias_spectra.items():\n", + " ax.plot(\n", + " bias_wavelengths,\n", + " 10 * np.log10(spectrum),\n", + " label=label,\n", + " color=colors.get(label, None),\n", + " linewidth=2 if label == \"Nominal\" else 1.8,\n", + " alpha=0.9,\n", + " )\n", + "\n", + "ax.set_xlabel(\"Wavelength (µm)\")\n", + "ax.set_ylabel(\"Transmission (dB)\")\n", + "ax.set_title(\"Impact of ±20 nm Fabrication Bias\")\n", + "ax.legend()\n", + "ax.grid(True, alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "cb42ec87", + "metadata": {}, + "outputs": [], + "source": [ + "sigma_spec = {\n", + " \"overlay\": 0.025,\n", + " \"spacer\": 0.02,\n", + " \"widths_si\": 0.01,\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "8249bf45", + "metadata": {}, + "source": [ + "## Monte Carlo\n", + "\n", + "After inspecting the deterministic bias sweep, we broaden the analysis with a Monte Carlo study. We randomly sample overlay, spacer, and width variations according to foundry-provided sigma values to estimate the distribution of coupling efficiency across a wafer." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8abfdc5d", + "metadata": {}, + "outputs": [], + "source": [ + "seed = 42\n", + "num_mc_samples = 100\n", + "design_path = Path(\"./results\") / \"gc_adjoint_best.json\"" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "f6e0b847", + "metadata": {}, + "outputs": [], + "source": [ + "nominal = load_nominal_parameters(design_path)\n", + "builder = make_variation_builder(nominal)\n", + "\n", + "sigma_vector = np.array([sigma_spec[\"overlay\"], sigma_spec[\"spacer\"], sigma_spec[\"widths_si\"]])\n", + "rng = np.random.default_rng(seed)\n", + "samples = rng.standard_normal(size=(num_mc_samples, len(sigma_vector))) * sigma_vector" + ] + }, + { + "cell_type": "markdown", + "id": "a3c6c19b", + "metadata": {}, + "source": [ + "We draw overlay, spacer, and silicon-width perturbations from independent Gaussian models whose sigmas come straight from the (hypothetical) foundry tolerance table. Each row in the `samples` array represents one die that we will feed into the simulation pipeline." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "1c93f5af", + "metadata": {}, + "outputs": [], + "source": [ + "sims = {\"nominal\": builder()}\n", + "sims.update({f\"sample_{idx + 1}\": builder(*tuple(sample)) for idx, sample in enumerate(samples)})" + ] + }, + { + "cell_type": "markdown", + "id": "75f5ca55", + "metadata": {}, + "source": [ + "The closure returned by `make_variation_builder` maps each sampled triplet into a full tidy3d `Simulation`. We keep the nominal design in the dictionary so the subsequent analysis can always reference the baseline spectrum." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "817a9dd2", + "metadata": {}, + "outputs": [], + "source": [ + "batch_data = web.run_async(sims, verbose=False)" + ] + }, + { + "cell_type": "markdown", + "id": "38c474f3", + "metadata": {}, + "source": [ + "We submit the entire batch with `web.run_async` so Tidy3D executes the jobs in parallel since they are all independent." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "cae4cc32", + "metadata": {}, + "outputs": [], + "source": [ + "ordered_names = list(sims.keys())\n", + "wavelengths = None\n", + "linear_spectra = []\n", + "\n", + "for name in ordered_names:\n", + " sim_data = batch_data[name]\n", + " power_da = get_mode_monitor_power(sim_data)\n", + " freqs = power_da.coords[\"f\"].values\n", + " wl = td.C_0 / freqs\n", + " power = np.asarray(power_da.data).squeeze()\n", + " order = np.argsort(wl)\n", + " wl = wl[order]\n", + " power = power[order]\n", + "\n", + " if wavelengths is None:\n", + " wavelengths = wl\n", + "\n", + " linear_spectra.append(power)\n", + "\n", + "linear_array = np.vstack(linear_spectra)\n", + "nominal_index = ordered_names.index(\"nominal\")\n", + "nominal_spectrum = linear_array[nominal_index]" + ] + }, + { + "cell_type": "markdown", + "id": "86096b73", + "metadata": {}, + "source": [ + "Once the solver responses return, we stack them into a 2D array and compute statistics such as the mean trace, percentile envelope, and nominal curve for direct comparison." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "a5594acf", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGJCAYAAADWn3rYAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsXWeY3NTZPerT2zav27pjDBgb02wwxmDcwJTQ+RIwhJIPCCWQ0FsgEEIPEOpHCQQIPQklFFNd6L3bxo21t08fjer9fszca83s7HrXXjes8zz72KPRSJo7ku7R+573vBwhhMCFCxcuXLhw4aIPwG/uA3DhwoULFy5c/HzgEgsXLly4cOHCRZ/BJRYuXLhw4cKFiz6DSyxcuHDhwoULF30Gl1i4cOHChQsXLvoMLrFw4cKFCxcuXPQZXGLhwoULFy5cuOgzuMTChQsXLly4cNFncImFCxcuXLhw4aLP4BILFy62cgwZMgRz587d3Iex1WDIkCE46KCD1rneW2+9BY7j8NZbb22S43Iik8ng5JNPRr9+/cBxHM4555xNfgwuXKwvXGLhYpPhoYceAsdx4DgO8+fP7/Q+IQSDBg0Cx3E9uvFvCBYuXIgrr7wSiURio2x/6dKlOO200zBs2DB4PB6EQiHstddeuO2226Cq6kbZZ19hyJAh7Hcq/5s5c+bmPrxtAtdeey0eeugh/O///i8eeeQR/OpXv+pyXV3Xcdttt2H8+PEIhUKIRCLYYYcdcOqpp+K7777bpMddCS+99BKuvPLKzX0YLjYhxM19AC62PXg8Hjz22GPYe++9S5a//fbb+Omnn6AoykY/hoULF+Kqq67C3LlzEYlE+nTbL774Io488kgoioLjjz8eO+64I3Rdx/z58/H73/8eX3/9Ne69994+3WdfY9y4cTjvvPM6Le/fv/9mOZ5tDW+88Qb23HNPXHHFFetc9/DDD8fLL7+MY489FqeccgoMw8B3332HF154AZMmTcLo0aM3yTF3hZdeegl33nmnSy62IbjEwsUmx+zZs/HUU0/hr3/9K0Rx7Sn42GOPYcKECWhra9usx7chWLZsGY455hg0NDTgjTfeQH19PXvvjDPOwJIlS/Diiy9u8H4IIcjn8/B6vRu8rUoYMGAAfvnLX26UbbtYN1paWjBmzJh1rvfhhx/ihRdewJ/+9CdcfPHFJe/dcccdGy0it7FgmiZs24Ysy5v7UFxsANxUiItNjmOPPRbt7e147bXX2DJd1/H000/juOOOq/iZbDaL8847D4MGDYKiKNhuu+1w4403orw5L8dxOPPMM/H8889jxx13hKIo2GGHHfDf//6XrXPllVfi97//PQBg6NChLMy/fPlyts6jjz6KCRMmwOv1IhaL4ZhjjsGqVavW+d3+8pe/IJPJ4P/+7/9KSAXFiBEjcPbZZ7PXDz74IPbbbz/U1tZCURSMGTMGd911V6fPUV3AK6+8gl133RVerxf33HNPl8fx448/4sgjj0QsFoPP58Oee+7ZJ4TGiblz5yIQCKCxsRGHHnooAoEAampqcP7558OyrJJ1n3jiCUyYMAHBYBChUAg77bQTbrvttpJ1EokEzjnnHPYbjxgxAtdffz1s22brLF++HBzH4cYbb8Sdd96JYcOGwefzYfr06Vi1ahUIIbj66qsxcOBAeL1eHHLIIejo6Kh4/K+++irGjRsHj8eDMWPG4Nlnn+3R937//fcxc+ZMhMNh+Hw+TJkyBQsWLOjRZ1taWvDrX/8adXV18Hg82HnnnfHwww+z96muY9myZXjxxRcrnptOLF26FACw1157dXpPEARUVVWx11deeSU4jsN3332Ho446CqFQCFVVVTj77LORz+c7fb6n18D777+P2bNnIxqNwu/3Y+zYsey3nTt3Lu68806geG3SP5T9lrfeeiuGDx8ORVHwzTffQNd1XH755ZgwYQLC4TD8fj8mT56MN998s0fj7GIzg7hwsYnw4IMPEgDkww8/JJMmTSK/+tWv2HvPP/884XmeNDY2koaGBnLggQey92zbJvvttx/hOI6cfPLJ5I477iBz5swhAMg555xTsg8AZOeddyb19fXk6quvJrfeeisZNmwY8fl8pK2tjRBCyOeff06OPfZYAoDccsst5JFHHiGPPPIIyWQyhBBCrrnmGsJxHDn66KPJ3/72N3LVVVeR6upqMmTIEBKPx7v9jgMGDCDDhg3r8ZjstttuZO7cueSWW24ht99+O5k+fToBQO64446S9RoaGsiIESNINBolF154Ibn77rvJm2++yd474YQT2LpNTU2krq6OBINBcskll5Cbb76Z7LzzzoTnefLss8+u85gaGhrI9OnTSWtra6e/XC7H1jvhhBOIx+MhO+ywAznppJPIXXfdRQ4//HACgPztb39j67366qsEANl///3JnXfeSe68805y5plnkiOPPJKtk81mydixY0lVVRW5+OKLyd13302OP/54wnEcOfvss9l6y5YtIwDIuHHjyJgxY8jNN99MLr30UiLLMtlzzz3JxRdfTCZNmkT++te/krPOOotwHEdOPPHETt9v1KhRJBKJkAsvvJDcfPPNZKeddiI8z5NXX32Vrffmm28SAGycCSFk3rx5RJZlMnHiRHLTTTeRW265hYwdO5bIskzef//9bsc1l8uR7bffnkiSRM4991zy17/+lUyePJkAILfeeiv77R555BFSXV1Nxo0b1+ncLMfChQsJAHLKKacQwzC63f8VV1xBAJCddtqJzJkzh9xxxx3kl7/8JQFQci2SXlwDr776KpFlmTQ0NJArrriC3HXXXeSss84i06ZNY8d3wAEHEADsuzzyyCMlv+WYMWPIsGHDyJ///Gdyyy23kBUrVpDW1lZSX19Pfve735G77rqL/OUvfyHbbbcdkSSJfPrpp91+TxebHy6xcLHJ4CQWd9xxBwkGg2yiOvLII8nUqVMJKd74ncTi+eefJwDINddcU7K9I444gnAcR5YsWcKWASCyLJcs+/zzzwkAcvvtt7NlN9xwAwFAli1bVrLN5cuXE0EQyJ/+9KeS5V9++SURRbHTcieSySQBQA455JAej4lzoqaYMWNGJ3LS0NBAAJD//ve/ndYvJxbnnHMOAUDeffddtiydTpOhQ4eSIUOGEMuyuj0muq9Kf9dddx1b74QTTiAAyB//+MeSz48fP55MmDCBvT777LNJKBQipml2uc+rr76a+P1+8sMPP5Qsv/DCC4kgCGTlypWEOCajmpoakkgk2HoXXXQRI5XOCfbYY48lsiyTfD7f6fs988wzbFkymST19fVk/PjxbFk5sbBtm4wcOZLMmDGD2LbN1svlcmTo0KHkgAMO6HZcb731VgKAPProo2yZrutk4sSJJBAIkFQqVXKMzmugK9i2TaZMmUIAkLq6OnLssceSO++8k6xYsaLTupRYHHzwwSXLTz/9dAKAfP7554T04howTZMMHTqUNDQ0dCLczvE544wzSKVnWPpbhkIh0tLSUvKeaZpE07SSZfF4nNTV1ZGTTjppnePiYvPCTYW42Cw46qijoKoqXnjhBaTTabzwwgtdpkFeeuklCIKAs846q2T5eeedB0IIXn755ZLl06ZNw/Dhw9nrsWPHIhQK4ccff1zncT377LOwbRtHHXUU2tra2F+/fv0wcuTIbkOxqVQKABAMBte5HwqnRiKZTKKtrQ1TpkzBjz/+iGQyWbLu0KFDMWPGjHVu86WXXsLuu+9eIo4NBAI49dRTsXz5cnzzzTfr3MYee+yB1157rdPfscce22nd3/zmNyWvJ0+eXDLWkUgE2Wy2JPVVjqeeegqTJ09GNBotGfdp06bBsiy88847JesfeeSRCIfDJccLAL/85S9LdDt77LEHdF1HY2Njyef79++Pww47jL0OhUI4/vjj8emnn6KpqaniMX722WdYvHgxjjvuOLS3t7NjzGaz2H///fHOO++UpG3K8dJLL6Ffv34lYyhJEs466yxkMhm8/fbbXX62K3Ach1deeQXXXHMNotEoHn/8cZxxxhloaGjA0UcfXVFjccYZZ5S8/u1vf8uOD724Bj799FMsW7YM55xzTicBNE139ASHH344ampqSpYJgsB0FrZto6OjA6ZpYtddd8Unn3zS42272DxwxZsuNgtqamowbdo0PPbYY8jlcrAsC0cccUTFdVesWIH+/ft3mrC333579r4TgwcP7rSNaDSKeDy+zuNavHgxCCEYOXJkxfclSerys6FQCACQTqfXuR+KBQsW4IorrsCiRYuQy+VK3ksmkyWT59ChQ3u0zRUrVrCJ1gnneO24447dbqO6uhrTpk1b5748Hk+nSaF8rE8//XQ8+eSTmDVrFgYMGIDp06fjqKOOKildXbx4Mb744otO26JoaWkpeV3+G9NxGjRoUMXl5b/9iBEjOk1+o0aNAoq5/379+nU6hsWLFwMATjjhhIrHiOJvFo1GK763YsUKjBw5Ejxf+jzX1XncUyiKgksuuQSXXHIJ1qxZg7fffhu33XYbnnzySUiShEcffbRk/fJze/jw4eB5nuk4enoNUH3Hus6ldaGr8/rhhx/GTTfdhO+++w6GYaxzfRdbDlxi4WKz4bjjjsMpp5yCpqYmzJo1q8/KPgVBqLi8XOhZCbZtg+M4vPzyyxW3EwgEuvxsKBRC//798dVXX/XoOJcuXYr9998fo0ePxs0334xBgwZBlmW89NJLuOWWWzo9/W6sCpANQVdj7URtbS0+++wzvPLKK3j55Zfx8ssv48EHH8Txxx/PhIu2beOAAw7AH/7wh4rboJP+uva7Ib/9ukB/jxtuuAHjxo2ruE5358emQH19PY455hgcfvjh2GGHHfDkk0/ioYceKonilKOcYG3INbA+qHReP/roo5g7dy4OPfRQ/P73v0dtbS0EQcB1113HCI2LLRcusXCx2XDYYYfhtNNOw3vvvYd//vOfXa7X0NCA119/Hel0uiRqQc1/Ghoaer3vrkK1w4cPByEEQ4cO7TSZ9QQHHXQQ7r33XixatAgTJ07sdt3//Oc/0DQN//73v0uewDdU+d7Q0IDvv/++0/INGa8NhSzLmDNnDubMmQPbtnH66afjnnvuwWWXXYYRI0Zg+PDhyGQyPYqS9AWWLFkCQkjJefDDDz8AxQqcSqDptVAotF7H2dDQgC+++AK2bZdELTbG7yJJEsaOHYvFixezNAbF4sWLS576lyxZAtu22ffu6TVAx+Orr77qdjx6kxahePrppzFs2DA8++yzJZ/via+Hi80PV2PhYrMhEAjgrrvuwpVXXok5c+Z0ud7s2bNhWRbuuOOOkuW33HILOI7DrFmzer1vv98PFEscnfjFL34BQRBw1VVXdXrKJYSgvb292+3+4Q9/gN/vx8knn4zm5uZO7y9dupSV4tGnQed+kskkHnzwwV5/Hydmz56NDz74AIsWLWLLstks7r33XgwZMqRH/gh9ifIx43keY8eOBQBomgYUNTeLFi3CK6+80unziUQCpmn26TGtXr0azz33HHudSqXw97//HePGjauYBgGACRMmYPjw4bjxxhuRyWQ6vd/a2trtPmfPno2mpqYSEm2aJm6//XYEAgFMmTKl199j8eLFWLlyZafliUQCixYtQjQa7ZReouWfFLfffjsAsOuop9fALrvsgqFDh+LWW2/tdB05P9fVtdYdKl0b77//fsk57WLLhRuxcLFZ0V2+mmLOnDmYOnUqLrnkEixfvhw777wzXn31VfzrX//COeecUyLU7CkmTJgAALjkkktwzDHHQJIkzJkzB8OHD8c111yDiy66CMuXL8ehhx6KYDCIZcuW4bnnnsOpp56K888/v8vtDh8+HI899hiOPvpobL/99iXOmwsXLsRTTz3F+npMnz6dPcmfdtppyGQyuO+++1BbW4s1a9b0+jtRXHjhhXj88ccxa9YsnHXWWYjFYnj44YexbNkyPPPMM51y/JXQ2NjYKTePIhk89NBDe3U8J598Mjo6OrDf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HprTzkLz2Xk6PafrW6nwoc0sgiAIgiA6BgkLgiAIgiA6BgmLTUTTNFxxxRXQNG2yh7JVQPPZeWhOOw/NaWeh+ew8kzmn21TxJkEQBEEQEwutWBAEQRAE0TFIWBAEQRAE0TFIWBAEQRAE0TFIWBAEQRAE0TFIWLTw5z//GUcffTSmTZsGQRDw4IMPrvfxTz75JARBGPUzODjY9rjvf//7mD17NnRdx7777osXXnhhgt/JlsNEzOkNN9yAD33oQwiHw+ju7saxxx6Lt99+ezO8m8lnoj6jPjfeeCMEQcBXv/rVCXoHWx4TNaerVq3C5z73OXR1dcEwDOy666546aWXJvjdTD4TMZ+u6+Lyyy/HnDlzYBgGtttuO1xzzTUfmFmxtbCxcwoApmliyZIlmDVrFjRNw+zZs/GTn/yk7TH3338/dtppJ+i6jl133RW/+93vOjJeEhYtVCoVLFy4EN///vc36nlvv/02BgYG+E93dze/77777sOFF16IK664Aq+88goWLlyII444AkNDQxPwDrY8JmJOn3rqKXzlK1/BX//6Vzz66KOwbRsf+9jHUKlUJuAdbFlMxHz6vPjii/jhD3+I3XbbrYMj3vKZiDnN5XI44IADoCgKHnnkEbz55pv49re/jXg8PgHvYMtiIubzpptuwg9+8AN873vfw1tvvYWbbroJ3/rWt/Dd7353At7Blsd45vTEE0/EY489hh//+Md4++23ce+992LHHXfk9z/77LP47Gc/iy984Qt49dVXceyxx+LYY4/F3/72t00fMCPGBAD7zW9+s97HPPHEEwwAy+Vy63zMPvvsw77yla/w267rsmnTprEbbriho+OdCnRqTkcyNDTEALCnnnqqA6OcOnRyPkulEtt+++3Zo48+yg466CB2wQUXdHi0U4NOzenXv/519i//8i8TMMKpRafm86ijjmJnnHFG27FPf/rT7JRTTunYWKcKGzKnjzzyCItGoyyTyazzMSeeeCI76qij2o7tu+++7Oyzz97kMdKKRQfYfffd0dfXh8MPPxx/+ctf+HHLsvDyyy/jsMMO48dEUcRhhx2G5557bpJGOzVY15yORaFQAAAkEonNNLqpxwfN51e+8hUcddRRbZ9VYv2sb04ffvhh7L333jjhhBPQ3d2NPfbYA3fcccekjXUqsL753H///fHYY4/hnXfeAQC8/vrreOaZZ3DkkUdO0mi3bPzP37e+9S1Mnz4dO+ywAy666CLUajX+mOeee27U7/sRRxzRkWvTNhVC1mn6+vpw++23Y++994Zpmrjzzjtx8MEH4/nnn8eee+6JdDoN13XR09PT9ryenh78/e9/n7Rxb8l80JyOxPM8fPWrX8UBBxyABQsWTMqYt2Q2ZD5/+ctf4pVXXsGLL7442cOdEmzInL777rv4wQ9+gAsvvBCXXXYZXnzxRZx//vlQVRWnnnrqZL+FLYoNmc9LLrkExWIRO+20EyRJguu6uO6663DKKadM9vC3SN59910888wz0HUdv/nNb5BOp/HlL38ZmUwGd911FwBgcHBwzGvTuuqvNopNXvPYStmQ5aaxOPDAA9nnPvc5xhhjq1atYgDYs88+2/aYiy++mO2zzz4dG+tUoRNzOpJzzjmHzZo1i61YsaIDI5xadGI+ly9fzrq7u9nrr7/O76etkE3/jCqKwvbbb7+2x5x33nnswx/+cEfGOVXo1Hzee++9rL+/n917773sf//3f9nPfvYzlkgk2N13393hEW/5bMicHn744UzXdZbP5/mxBx54gAmCwKrVKmPNz+g999zT9rzvf//7rLu7e5PHSFshHWafffbB//t//w8AkEwmIUkS1qxZ0/aYNWvWoLe3d5JGOPVondNWzj33XPz2t7/FE088gf7+/kkZ21SkdT5ffvllDA0NYc8994Qsy5BlGU899RRuu+02yLIM13Une7hTgpGf0b6+Puy8885tj5k/fz6WL18+CaObeoycz4svvhiXXHIJPvOZz2DXXXfFv/3bv2HRokW44YYbJnWcWyp9fX2YPn16W8T5/PnzwRjDypUrAQC9vb0Tdm0iYdFhXnvtNfT19QEAVFXFXnvthccee4zf73keHnvsMey3336TOMqpReucorHKhnPPPRe/+c1v8Pjjj2POnDmTOr6pRut8HnrooXjjjTfw2muv8Z+9994bp5xyCl577TVIkjTZw50SjPyMHnDAAaNaoN955x3MmjVrEkY39Rg5n9VqFaLYfrmSJAme503C6LZ8DjjgAKxevRrlcpkfe+eddyCKIv8Stt9++7VdmwDg0Ucf7ci1iWosWiiXy20qedmyZXjttdeQSCQwc+ZMXHrppVi1ahV+9rOfAQC+853vYM6cOdhll11Qr9dx55134vHHH8cf//hHfo4LL7wQp556Kvbee2/ss88++M53voNKpYLTTz99Ut7j5mYi5vQrX/kK7rnnHjz00EMIh8N8TzAajcIwjEl4l5uPTs9nOBweVZsSDAbR1dW1zdSsTMRndNGiRdh///1x/fXX48QTT8QLL7yAH/3oR/jRj340Ke9xczIR83n00Ufjuuuuw8yZM7HLLrvg1VdfxdKlS3HGGWdMynvc3GzsnJ588sm45pprcPrpp+Oqq65COp3GxRdfjDPOOIP/jbzgggtw0EEH4dvf/jaOOuoo/PKXv8RLL73Umc/oJm+mbEX4bU8jf0499VTGGGOnnnoqO+igg/jjb7rpJrbddtsxXddZIpFgBx98MHv88cdHnfe73/0umzlzJlNVle2zzz7sr3/962Z9X5PJRMzpWOcDwO66667N/v42NxP1GW1lW6uxmKg5/e///m+2YMECpmka22mnndiPfvSjzfq+JouJmM9iscguuOACNnPmTKbrOps7dy5bsmQJM01zs7+/yWBj55Qxxt566y122GGHMcMwWH9/P7vwwgt5fYXPr371K7bDDjswVVXZLrvswv7nf/6nI+Ol2HSCIAiCIDoG1VgQBEEQBNExSFgQBEEQBNExSFgQBEEQBNExSFgQBEEQBNExSFgQBEEQBNExSFgQBEEQBNExSFgQBEEQBNExSFgQBEEQBNExSFgQBDEurrzySuy+++6TPQyOIAh48MEHN/p5b7/9Nnp7e1EqlSZkXD7pdBrd3d08BIogtlZIWBDEFsztt9+OcDgMx3H4sXK5DEVRcPDBB7c99sknn4QgCPjnP/85CSPdfHRa0Fx66aU477zzEA6HO3bOsUgmk/j85z+PK664YkJfhyAmGxIWBLEFc8ghh6BcLuOll17ix55++mn09vbi+eefR71e58efeOIJzJw5E9ttt90kjXbqsXz5cvz2t7/Faaedtlle7/TTT8cvfvELZLPZzfJ6BDEZkLAgiC2YHXfcEX19fXjyySf5sSeffBKf+tSnMGfOHPz1r39tO37IIYcAAH7+859j7733RjgcRm9vL04++WQMDQ0BADzPQ39/P37wgx+0vdarr74KURTx/vvvAwDy+TzOPPNMpFIpRCIRfPSjH8Xrr7++3vHeeeedmD9/PnRdx0477YT/+I//4Pe997BLZM0AAAguSURBVN57EAQBv/71r3HIIYcgEAhg4cKFeO6559rOcccdd2DGjBkIBAI47rjjsHTpUsRiMQDA3Xffjauuugqvv/46BEGAIAi4++67+XPT6TSOO+44BAIBbL/99nj44YfXO95f/epXWLhwIaZPn86PjbUi8p3vfAezZ8/mt0877TQce+yxuP7669HT04NYLIarr74ajuPg4osvRiKRQH9/P+6666628+yyyy6YNm0afvOb36x3XAQxlSFhQRBbOIcccgieeOIJfvuJJ57AwQcfjIMOOogfr9VqeP7557mwsG0b11xzDV5//XU8+OCDeO+99/i3clEU8dnPfhb33HNP2+v84he/wAEHHIBZs2YBAE444QQMDQ3hkUcewcsvv4w999wThx566Dq/bf/iF7/AN7/5TVx33XV46623cP311+Pyyy/HT3/607bHLVmyBBdddBFee+017LDDDvjsZz/Lt3r+8pe/4JxzzsEFF1yA1157DYcffjiuu+46/tyTTjoJixcvxi677IKBgQEMDAzgpJNO4vdfddVVOPHEE/G///u/+MQnPoFTTjllvasDTz/9NPbee++N+N9Yy+OPP47Vq1fjz3/+M5YuXYorrrgCn/zkJxGPx/H888/jnHPOwdlnnz2qpmKfffbB008/Pa7XJIgpQUcyUgmCmDDuuOMOFgwGmW3brFgsMlmW2dDQELvnnnvYgQceyBhj7LHHHmMA2Pvvvz/mOV588UUGgJVKJcYYY6+++ioTBIE/3nVdNn36dPaDH/yAMcbY008/zSKRCKvX623n2W677dgPf/hDxhhjV1xxBVu4cGHbfffcc0/b46+55hq23377McYYW7ZsGQPA7rzzTn7///3f/zEA7K233mKMMXbSSSexo446qu0cp5xyCotGo/z2yNf1AcC+8Y1v8NvlcpkBYI888sg653bhwoXs6quvbjs21vlvvfVWNmvWLH771FNPZbNmzWKu6/JjO+64I/vIRz7CbzuOw4LBILv33nvbzrVo0SJ28MEHr3NMBDHVoRULgtjCOfjgg1GpVPDiiy/i6aefxg477IBUKoWDDjqI11k8+eSTmDt3LmbOnAkAePnll3H00Udj5syZCIfDOOigg4BmTQEA7L777pg/fz5ftXjqqacwNDSEE044AQDw+uuvo1wuo6urC6FQiP8sW7ZszOLQSqWCf/7zn/jCF77Q9vhrr7121ON32203/u++vj4A4Ns0b7/9NvbZZ5+2x4+8vT5azx0MBhGJRPi5x6JWq0HX9Q0+fyu77LILRHHtn9Cenh7suuuu/LYkSejq6hr1+oZhoFqtjus1CWIqIE/2AAiCWD/z5s1Df38/nnjiCeRyOS4Spk2bhhkzZuDZZ5/FE088gY9+9KNA8yJ/xBFH4IgjjsAvfvELpFIpLF++HEcccQQsy+LnPeWUU3DPPffgkksuwT333IOPf/zj6OrqApqdJyNrO3z8eodWyuUy0KyP2HfffdvukySp7baiKPzfgiAAzbqPTtB6bv/86zt3MplELpf7wPO6rrtBr7Uhr5/NZpFKpT7wNQliqkLCgiCmAIcccgiefPJJ5HI5XHzxxfz4gQceiEceeQQvvPACvvSlLwEA/v73vyOTyeDGG2/EjBkzAKCtq8Tn5JNPxje+8Q28/PLL+K//+i/cfvvt/L4999wTg4ODkGW5rWhxXfT09GDatGl49913ccopp4z7fe6444548cUX246NvK2q6pgX+vGwxx574M033xx1fM2aNW2333333Y68HgD87W9/G9UqTBBbE7QVQhBTgEMOOQTPPPMMXnvtNb5iAQAHHXQQfvjDH8KyLF64OXPmTKiqiu9+97t499138fDDD+Oaa64Zdc7Zs2dj//33xxe+8AW4rotjjjmG33fYYYdhv/32w7HHHos//vGPeO+99/Dss89iyZIlY4oUNAsnb7jhBtx2221455138MYbb+Cuu+7C0qVLN/h9nnfeefjd736HpUuX4h//+Ad++MMf4pFHHuErG/64ly1bhtdeew3pdBqmaW7w+UdyxBFH4LnnnhslVAYHB3H11Vfj3XffxQMPPICf//znyOVy+Pvf/z7u1wKAarWKl19+GR/72Mc26TwEsSVDwoIgpgCHHHIIarUa5s2bh56eHn78oIMOQqlU4m2pAJBKpXD33Xfj/vvvx84774wbb7wRt9xyy5jnPeWUU/D666/juOOOg2EY/LggCPjd736HAw88EKeffjp22GEHfOYzn8H777/f9vqtnHnmmbjzzjtx1113Ydddd8VBBx2Eu+++G3PmzNng93nAAQfg9ttvx9KlS7Fw4UL8/ve/x6JFi9rqII4//nh8/OMfxyGHHIJUKoV77713g88/kiOPPBKyLONPf/pT2/EFCxbgnXfewS677ILLL78cd955J1RVxUUXXTTu1wKAhx56CDNnzsRHPvKRTToPQWzJCKxRTU0QBLFFctZZZ+Hvf//7hLVofv/738fDDz+MP/zhD0DTx+LBBx/Ea6+91vHX+vCHP4zzzz8fJ598csfPTRBbClRjQRDEFsUtt9yCww8/HMFgEI888gh++tOfthltdZqzzz4b+XwepVJpQm290+k0Pv3pT+Ozn/3shL0GQWwJ0IoFQRBbFCeeeCKefPJJlEolzJ07F+eddx7OOeeczfb6E7liQRDbAiQsCIIgCILoGFS8SRAEQRBExyBhQRAEQRBExyBhQRAEQRBExyBhQRAEQRBExyBhQRAEQRBExyBhQRAEQRBExyBhQRAEQRBExyBhQRAEQRBEx/j/zVCHRUxa+fcAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "\n", + "for name, spectrum in zip(ordered_names, linear_array):\n", + " if name == \"nominal\":\n", + " continue\n", + " spectrum_db = 10 * np.log10(spectrum)\n", + " ax.plot(\n", + " wavelengths,\n", + " spectrum_db,\n", + " color=\"lightgray\",\n", + " alpha=0.6,\n", + " linewidth=1,\n", + " zorder=1,\n", + " )\n", + "\n", + "mean_spectrum = linear_array.mean(axis=0)\n", + "p10_spectrum = np.percentile(linear_array, 10, axis=0)\n", + "p90_spectrum = np.percentile(linear_array, 90, axis=0)\n", + "\n", + "ax.fill_between(\n", + " wavelengths,\n", + " 10 * np.log10(p10_spectrum),\n", + " 10 * np.log10(p90_spectrum),\n", + " color=\"tab:blue\",\n", + " alpha=0.18,\n", + " label=\"P10–P90\",\n", + " zorder=2,\n", + ")\n", + "ax.plot(\n", + " wavelengths,\n", + " 10 * np.log10(mean_spectrum),\n", + " color=\"tab:blue\",\n", + " linewidth=2,\n", + " linestyle=\"--\",\n", + " label=\"Mean\",\n", + " zorder=3,\n", + ")\n", + "ax.plot(\n", + " wavelengths,\n", + " 10 * np.log10(nominal_spectrum),\n", + " color=\"black\",\n", + " linewidth=2.5,\n", + " label=\"Nominal\",\n", + " zorder=4,\n", + ")\n", + "\n", + "ax.set_xlabel(\"Wavelength (µm)\")\n", + "ax.set_ylabel(\"Transmission (dB)\")\n", + "ax.set_title(\"Monte Carlo Ensemble of Spectra\")\n", + "ax.legend()\n", + "ax.grid(True, alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "1543f365", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
value
wavelength_um1.550000
mean_linear0.554907
mean_db2.557796
std_linear0.027393
std_db0.219866
p10_linear0.517121
p10_db2.864077
p90_linear0.587606
p90_db2.309138
sigma_overlay0.025000
sigma_spacer0.020000
sigma_widths_si0.010000
\n", + "
" + ], + "text/plain": [ + " value\n", + "wavelength_um 1.550000\n", + "mean_linear 0.554907\n", + "mean_db 2.557796\n", + "std_linear 0.027393\n", + "std_db 0.219866\n", + "p10_linear 0.517121\n", + "p10_db 2.864077\n", + "p90_linear 0.587606\n", + "p90_db 2.309138\n", + "sigma_overlay 0.025000\n", + "sigma_spacer 0.020000\n", + "sigma_widths_si 0.010000" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def linear_to_loss_db(x):\n", + " return -10 * np.log10(x)\n", + "\n", + "\n", + "idx_center = np.argmin(np.abs(wavelengths - center_wavelength))\n", + "eta_center = linear_array[:, idx_center]\n", + "\n", + "mc_summary = {\n", + " \"wavelength_um\": wavelengths[idx_center],\n", + " \"mean_linear\": eta_center.mean(),\n", + " \"mean_db\": linear_to_loss_db(eta_center.mean()),\n", + " \"std_linear\": eta_center.std(ddof=1),\n", + " \"std_db\": linear_to_loss_db(eta_center.mean() - eta_center.std(ddof=1))\n", + " - linear_to_loss_db(eta_center.mean()),\n", + " \"p10_linear\": np.percentile(eta_center, 10),\n", + " \"p10_db\": linear_to_loss_db(np.percentile(eta_center, 10)),\n", + " \"p90_linear\": np.percentile(eta_center, 90),\n", + " \"p90_db\": linear_to_loss_db(np.percentile(eta_center, 90)),\n", + " \"sigma_overlay\": sigma_spec[\"overlay\"],\n", + " \"sigma_spacer\": sigma_spec[\"spacer\"],\n", + " \"sigma_widths_si\": sigma_spec[\"widths_si\"],\n", + "}\n", + "\n", + "pd.Series(mc_summary).to_frame(\"value\")" + ] + }, + { + "cell_type": "markdown", + "id": "4b23f290", + "metadata": {}, + "source": [ + "The helper converts the center-wavelength transmission into dB loss and aggregates mean, standard deviation, and percentile values. These single-number metrics offer a quick dashboard before moving on to more detailed adjoint sensitivities." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "c34e6a8c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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qZg3b55G+++//y7MzMwKtOeVnJwsAIg+ffronJPc159XYGBggYLE09NTABB79+4t0D9/MTFlyhQBQBw/flxuS01NFd7e3sLLy0vk5OToFFtRxUTNmjULxJ6enl5g7Li4OKFSqURERESBMerXry8yMjLk9s8++0wAEL///rsQQojz588LAGLLli1FxglAqFQqjXX55ZdfCgDCzc1NpKSkyO1hYWEF1nv+YmLy5MnC3t5eZGdnF7rMRo0aaWyj2uQvJmJjYwUA8cYbb2j0mzZtmgAgDh8+LLflru+ff/5ZbktISBAqlUq88847RS5XaNmuMjMzRcOGDUXnzp012m1sbDS2naI0adJEODg46NRXrVaL2rVri8DAQPlLMzcub29v8fLLL8ttuXkaPXq0xhh9+/YVlStX1ineMWPGCHd39wJfPkOGDBEODg5yPorafgvTvHlz4ePjIz8fN26c/Fn13nvviebNm8vTBgwYIKytrUVWVpb8evP79ttvC6zboUOHChcXF41t7t69e8LExETjvdOlSxfh5+cn0tPT5Ta1Wi1at24tateuLbflLyZKY32cO3dO63/ogoODC3xuFPZ5K4rxmV0e8DCHAQwaNAhPnz7F7t27kZqait27dxd6iGPPnj0wNTXFpEmTNNrfeecdCCHw008/abR37doVPj4+8nN/f3/Y29vj5s2bz41r+/btUKvVGDRoEP777z/54ebmhtq1a+PIkSOFzpu7q9TOzu65y8mV95yH5ORk/Pfff+jQoQNu3rypsSsfz3YRBgYGPnfMPXv2oEWLFhq7om1tbfHmm2/i1q1b+OOPP3SOrzAjR44scL6GSqWSjzvn5OTgwYMHsLW1Rd26dfHbb78VGGPUqFGwsLCQn7dr1w54thsZABwcHAAA+/btK7B7Nb8uXbpoHKpo2bIlAKB///4a6yO3vahtwdHREWlpaRqHLLT1uXz5Mq5du1ZkXHnt2bMHABAaGqrR/s477wDPTtzNy9fXV84JADg7O6Nu3bo6bcd5182jR4+QnJyMdu3aaV0PukpJSdF5246NjcW1a9cwbNgwPHjwQH4fpaWloUuXLvj5558LnPT61ltvaTxv164dHjx4UOghiFxCCGzbtg29e/eGEELjfRsYGIjk5OQCr1vb9luYtm3b4saNG7h//z7w7JBH69atAQBt2rTB+fPn5e3zxIkT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5e6eHeuCmxs6hBcG90wQERGRIiwmiIiISBEWE0RERKQIiwkiIiJShMUEERERKcJigoiIiBRhMUFERESKsJggIiIiRVhMEBERkSIsJoiIiEgRFhNERESkCIsJIiIiUoTFBBERESnCYoKIiIgUYTFBREREirCYICIiIkVYTBAREZEiLCaIiIhIERYTREREpAiLCSIiIlKExQQREREpwmKCiIiIFGExQURERIqwmCAiIiJFWEwQERGRIiwmiIiISBEWE0RERKQIiwkiIiJShMUEERERKcJigoiIiBQxM3QAREREhjAm6oyhQ9AgQcDFPAMJWbchIJVojHXBzfUely64Z4KIiIgUYTFBREREirCYICIiIkVYTBAREZEiLCaIiIhIkXJRTERGRsLLywuWlpZo2bIlfv31V0OHRERERM8YfTGxefNmhIaGYtasWfjtt9/QqFEjBAYGIiEhwdChERERUXkoJpYsWYKxY8di1KhR8PX1xRdffAFra2t89dVXhg6NiIiIjP2mVZmZmTh37hzCwsLkNhMTE3Tt2hUxMTFa58nIyEBGRob8PDk5GQCQlJQEtVqt03LVajVSUlJgYWEBExPt9VbW09RivpqKSQKQkZWBrOwsCD2PLUSO/LcirI/SzGVFw1zqD3OpP/rIZVJSkl5jSklJAQAIUXRERl1M/Pfff8jJyYGrq6tGu6urK/7880+t8yxYsADh4eEF2j09PUstTjKsp0kPsHF8F0OHQURkcBvHl864qampcHBwKHS6URcTJREWFobQ0FD5uVqtxsOHD1G5cmVIkm63J01JSYGHhwf++ecf2Nvbl2K0Lz7mUn+YS/1hLvWHudQfY8ylEAKpqamoWrVqkf2MupioUqUKTE1NER8fr9EeHx8PNzc3rfOoVCqoVCqNNkdHxxIt397e3mhWaHnHXOoPc6k/zKX+MJf6Y2y5LGqPRC6jPgHTwsICTZs2xaFDh+Q2tVqNQ4cOISAgwKCxERER0f8x6j0TABAaGoqRI0eiWbNmaNGiBZYtW4a0tDSMGjXK0KERERFReSgmBg8ejMTERMycORP3799H48aNsXfv3gInZeqTSqXCrFmzChwuoeJjLvWHudQf5lJ/mEv9Kc+5lMTzrvcgIiIiKoJRnzNBRERExo/FBBERESnCYoKIiIgUYTFBREREilS4YmLBggVo3rw57Ozs4OLigqCgIFy9erXIedasWYN27dqhUqVKqFSpErp27cqfQS9hLvPatGkTJElCUFBQqcZZHpQ0l0lJSQgJCYG7uztUKhXq1KmDPXv2lEnMxqqkuVy2bBnq1q0LKysreHh4YOrUqUhPTy+TmI3VqlWr4O/vL99EKSAgAD/99FOR82zZsgX16tWDpaUl/Pz8Kvz2mKu4uSxv3zsVrpg4duwYQkJCcOrUKRw4cABZWVno1q0b0tLSCp3n6NGjGDp0KI4cOYKYmBh4eHigW7duuHv3bpnGbmxKkstct27dwrRp09CuXbsyidXYlSSXmZmZePnll3Hr1i1s3boVV69exZo1a1CtWrUyjd3YlCSX0dHRmD59OmbNmoUrV65g3bp12Lx5Mz744IMyjd3YVK9eHQsXLsS5c+dw9uxZdO7cGX369MHly5e19j958iSGDh2KMWPG4Pz58wgKCkJQUBAuXbpU5rEbm+Lmstx974gKLiEhQQAQx44d03me7OxsYWdnJzZs2FCqsZU3uuYyOztbtG7dWqxdu1aMHDlS9OnTp8xiLC90yeWqVatEzZo1RWZmZpnGVt7oksuQkBDRuXNnjbbQ0FDRpk2bMoiwfKlUqZJYu3at1mmDBg0Sr7zyikZby5Ytxbhx48oouvKlqFzmZ+zfOxVuz0R+uT9R7uTkpPM8T548QVZWVrHmqQh0zWVERARcXFwwZsyYMoqs/NEll7t27UJAQABCQkLg6uqKhg0bYv78+cjJySnDSI2fLrls3bo1zp07J+9GvnnzJvbs2YOePXuWWZzGLicnB5s2bUJaWlqhP2cQExODrl27arQFBgYiJiamjKIsH3TJZX5G/71j6GrGkHJycsQrr7xS7P99vP3226JmzZri6dOnpRZbeaNrLo8fPy6qVasmEhMThRCCeya00DWXdevWFSqVSowePVqcPXtWbNq0STg5OYnZs2eXWazGrjjv8c8++0yYm5sLMzMzAUC89dZbZRKjsbt48aKwsbERpqamwsHBQfz444+F9jU3NxfR0dEabZGRkcLFxaUMIjV+xcllfsb+vVOhi4m33npLeHp6in/++UfneRYsWCAqVaokLly4UKqxlTe65DIlJUV4eXmJPXv2yG0sJgrSdbusXbu28PDwENnZ2XLb4sWLhZubWxlEWT7omssjR44IV1dXsWbNGnHx4kWxfft24eHhISIiIsosVmOVkZEhrl27Js6ePSumT58uqlSpIi5fvqy1L4uJohUnl3mVh++dCltMhISEiOrVq4ubN2/qPM+iRYuEg4ODOHPmTKnGVt7omsvz588LAMLU1FR+SJIkJEkSpqam4vr162UWs7EqznbZvn170aVLF422PXv2CAAiIyOjFKMsH4qTy7Zt24pp06ZptG3cuFFYWVmJnJycUoyy/OnSpYt48803tU7z8PAQS5cu1WibOXOm8Pf3L6PoypeicpmrvHzvVLhzJoQQmDBhAnbs2IHDhw/D29tbp/k++eQTzJkzB3v37kWzZs1KPc7yoLi5rFevHn7//XfExsbKj1dffRWdOnVCbGwsPDw8yix2Y1OS7bJNmza4fv061Gq13PbXX3/B3d0dFhYWpRyx8SpJLp88eQITE82PQ1NTU3k8+v/UajUyMjK0TgsICMChQ4c02g4cOKDzeQEVTVG5RHn73jF0NVPW3n77beHg4CCOHj0q7t27Jz+ePHki9xk+fLiYPn26/HzhwoXCwsJCbN26VWOe1NRUA70K41CSXObHwxz/pyS5vH37trCzsxMTJkwQV69eFbt37xYuLi5i7ty5BnoVxqEkuZw1a5aws7MT3377rbh586bYv3+/8PHxEYMGDTLQqzAO06dPF8eOHRNxcXHi4sWLYvr06UKSJLF//34htOTxxIkTwszMTHz66afiypUrYtasWcLc3Fz8/vvvBnwVxqG4uSxv3zsVrpgAoPWxfv16uU+HDh3EyJEj5eeenp5a55k1a5aBXoVxKEku82Mx8X9KmsuTJ0+Kli1bCpVKJWrWrCnmzZuncQ5FRVSSXGZlZYnZs2cLHx8fYWlpKTw8PMT48ePFo0ePDPQqjMPo0aOFp6ensLCwEM7OzqJLly7yl58oZJv87rvvRJ06dYSFhYVo0KBBsU4yfJEVN5fl7XuHP0FOREREilS4cyaIiIhIv1hMEBERkSIsJoiIiEgRFhNERESkCIsJIiIiUoTFBBERESnCYoKIiIgUYTFBREREirCYICoHZs+ejcaNGyseJyoqCo6OjnqJiQzv6tWrcHNzQ2pqaqF9SrrOW7VqhW3btimMkCoKFhP0wpIkqcjH7NmzDR2izqZNm1bgB5RKYvDgwfjrr7/0EpMSR48ehSRJSEpKKrJfeno6goOD4efnBzMzMwQFBek0vpeXV4H1vXDhQnn6rVu3tG4Tp06d0hhny5YtqFevHiwtLeHn54c9e/aU8BWXjrCwMEycOBF2dnY6zxMVFaXxmm1tbdG0aVNs375do99HH32E6dOna/yQHFFhWEzQC+vevXvyY9myZbC3t9domzZtmtxXCIHs7GyDxlsUW1tbVK5cWfE4VlZWcHFx0UtMZSEnJwdWVlaYNGkSunbtWqx5IyIiNNb3xIkTC/Q5ePCgRp+mTZvK006ePImhQ4dizJgxOH/+PIKCghAUFIRLly7p5bUpdfv2bezevRvBwcHFnjfve+H8+fMIDAzEoEGDcPXqVblPjx49kJqaip9++knPkdOLiMUEvbDc3Nzkh4ODAyRJkp//+eefsLOzw08//YSmTZtCpVLhl19+wY0bN9CnTx+4urrC1tYWzZs3x8GDBzXG9fLywvz58zF69GjY2dmhRo0aWL16tTw9MzMTEyZMgLu7OywtLeHp6YkFCxbI0yVJwpdffolevXrB2toa9evXR0xMDK5fv46OHTvCxsYGrVu3xo0bN+R58h/mOHr0KFq0aAEbGxs4OjqiTZs2+PvvvwEAFy5cQKdOnWBnZwd7e3s0bdoUZ8+eBQrZ5b1q1Sr4+PjAwsICdevWxcaNGzWmS5KEtWvXom/fvrC2tkbt2rWxa9euInO/ceNGNGvWDHZ2dnBzc8OwYcOQkJAAPNsr0KlTJwBApUqVIElSoV+INjY2WLVqFcaOHQs3N7cil5lf7rJzHzY2NgX6VK5cWaOPubm5PO2zzz5D9+7d8e6776J+/fqYM2cOXnrpJaxYsaLQZQYHBxfYezJlyhR07NhRft6xY0dMnDgRU6ZMQaVKleDq6oo1a9YgLS0No0aNgp2dHWrVqvXcL/HvvvsOjRo1QrVq1TTao6KiUKNGDVhbW6Nv37548OBBgXnzvhdq166NuXPnwsTEBBcvXpT7mJqaomfPnti0aVORcRCBxQRVdNOnT8fChQtx5coV+Pv74/Hjx+jZsycOHTqE8+fPo3v37ujduzdu376tMd/ixYvRrFkznD9/HuPHj8fbb78t/6/u888/x65du/Ddd9/h6tWr+N///gcvLy+N+efMmYMRI0YgNjYW9erVw7BhwzBu3DiEhYXh7NmzEEJgwoQJWmPOzs5GUFAQOnTogIsXLyImJgZvvvkmJEkCALz22muoXr06zpw5g3PnzmH69OkaX5J57dixA5MnT8Y777yDS5cuYdy4cRg1ahSOHDmi0S88PByDBg3CxYsX0bNnT7z22mt4+PBhoXnNysrCnDlzcOHCBezcuRO3bt2SCwYPDw/5WPzVq1dx7949fPbZZzqsreJZuHAhKleujCZNmmDRokVa9zy9+uqrcHFxQdu2bQsUSDExMQX2hgQGBiImJkZxbBs2bECVKlXw66+/YuLEiXj77bcxcOBAtG7dGr/99hu6deuG4cOH48mTJ4WOcfz4cTRr1kyj7fTp0xgzZgwmTJiA2NhYdOrUCXPnzi0ylpycHGzYsAEA8NJLL2lMa9GiBY4fP67otVIFYeifLSUqC+vXrxcODg7y8yNHjggAYufOnc+dt0GDBmL58uXyc09PT/H666/Lz9VqtXBxcRGrVq0SQggxceJE0blzZ6FWq7WOB0B89NFH8vOYmBgBQKxbt05u+/bbb4WlpaX8fNasWaJRo0ZCCCEePHggAIijR49qHd/Ozk5ERUXplIfWrVuLsWPHavQZOHCg6NmzZ6HxPn78WAAQP/30k9ZlaHPmzBkBQKSmpgqRJ//F+Ynv4vxc/eLFi8WRI0fEhQsXxKpVq4Sjo6OYOnWqPD0xMVEsXrxYnDp1Svz666/i/fffF5Ikie+//17uY25uLqKjozXGjYyMFC4uLsWKcfLkyaJDhw7y8w4dOoi2bdvKz7Ozs4WNjY0YPny43Hbv3j0BQMTExBS6rEaNGomIiAiNtqFDh2qsOyGEGDx4sMY6X79+vQAgbGxshI2NjTAxMREqlUrjJ9pzff/998LExETk5OQUGgeREEJwzwRVaPn/Z/f48WNMmzYN9evXh6OjI2xtbXHlypUCeyb8/f3lf+fuMs7djR8cHIzY2FjUrVsXkyZNwv79+wssN+/8rq6uAAA/Pz+NtvT0dKSkpBSY18nJCcHBwQgMDETv3r3x2Wef4d69e/L00NBQvPHGG+jatSsWLlyocbgkvytXrqBNmzYabW3atMGVK1cKjdfGxgb29vby69Xm3Llz6N27N2rUqAE7Ozt06NABeHacvyyEhoaiY8eO8Pf3x1tvvYXFixdj+fLlyMjIAABUqVIFoaGhaNmyJZo3b46FCxfi9ddfx6JFi8okvrz5NDU1ReXKlQusfwBF5vjp06ewtLTUaLty5Qpatmyp0RYQEFBgXjs7O8TGxiI2Nhbnz5/H/Pnz8dZbb+GHH37Q6GdlZQW1Wi3njagwLCaoQst/HH3atGnYsWMH5s+fj+PHjyM2NhZ+fn7IzMzU6Jf/sIEkSfJZ7y+99BLi4uIwZ84cPH36FIMGDcKAAQMKnT/38IS2tsLOpF+/fj1iYmLQunVrbN68GXXq1JGvRJg9ezYuX76MV155BYcPH4avry927NhRovzo8nrzS0tLQ2BgIOzt7fG///0PZ86ckZefP49lpWXLlsjOzsatW7eK7HP9+nX5uZubG+Lj4zX6xMfHF/vcjZycnAJt2vJZnPWPZwXRo0ePihVLLhMTE9SqVQu1atWCv7+/XHx9/PHHGv0ePnwIGxsbWFlZlWg5VHGwmCDK48SJEwgODkbfvn3h5+cHNze3Ir+ACmNvb4/BgwdjzZo12Lx5M7Zt21bkOQYl0aRJE4SFheHkyZNo2LAhoqOj5Wl16tTB1KlTsX//fvTr1w/r16/XOkb9+vVx4sQJjbYTJ07A19e3xHH9+eefePDgARYuXIh27dqhXr16Bf6HbWFhARTyRVsaYmNjYWJiUuSVLLGxsXB3d5efBwQEFLgc98CBA1r/p59X/gLk5s2bJY67KE2aNMEff/yh0Va/fn2cPn1aoy3/5a6FMTU1xdOnTzXaLl26hCZNmughWnrRmRk6ACJjUrt2bWzfvh29e/eGJEmYMWNGsa+zX7JkCdzd3dGkSROYmJhgy5YtcHNz09vNouLi4rB69Wq8+uqrqFq1Kq5evYpr165hxIgRePr0Kd59910MGDAA3t7euHPnDs6cOYP+/ftrHevdd9/FoEGD0KRJE3Tt2hU//PADtm/fXuAKluKoUaMGLCwssHz5crz11lu4dOkS5syZo9HH09MTkiRh9+7d6NmzJ6ysrGBra6t1vD/++AOZmZl4+PAhUlNTERsbCwDy1S2//vorRowYgUOHDqFatWqIiYnB6dOn5StaYmJiMHXqVLz++uuoVKkS8OwESAsLC/mLcvv27fjqq6+wdu1aebmTJ09Ghw4dsHjxYrzyyivYtGkTzp49q3HljjanT5/GmjVr0KVLFxw+fBj79u2Dj48P4uLi4O3tXeK85hcYGIg33ngDOTk5MDU1BQBMmjQJbdq0waeffoo+ffpg37592Lt3b4F5hRC4f/8+8OxwyYEDB7Bv3z7MnDlTo9/x48fRrVs3vcVMLzBDn7RBVBYKOwEz/wmAcXFxolOnTsLKykp4eHiIFStWiA4dOojJkyfLfTw9PcXSpUs15mvUqJGYNWuWEEKI1atXi8aNGwsbGxthb28vunTpIn777Te5LwCxY8cOjWUCEOfPny80vrwnYN6/f18EBQUJd3d3YWFhITw9PcXMmTNFTk6OyMjIEEOGDBEeHh7CwsJCVK1aVUyYMEE8ffpUax6EEGLlypWiZs2awtzcXNSpU0d8/fXXGtPzxyuEEA4ODlpP2MsVHR0tvLy8hEqlEgEBAWLXrl0FXmNERIRwc3MTkiSJkSNHFjqWp6enAFDgkT9XcXFxQgghzp07J1q2bCkcHByEpaWlqF+/vpg/f75IT0+X54mKihL169cX1tbWwt7eXrRo0UJs2bKlwLK/++47UadOHWFhYSEaNGggfvzxx0LjFM9OwOzcubMIDAwUFhYWokWLFuLrr78WdnZ24u233xbi2QmYebcnUcg2pS3veWVlZYmqVauKvXv3arSvW7dOVK9eXVhZWYnevXuLTz/9VOsJmLkPlUol6tSpI+bNmyeys7Plfnfu3BHm5ubin3/+KfI1EwkhhCT+b6MlIiKFgoODkZSUhJ07d5bJ8iIjI7Fr1y7s27dP72O///77ePTo0XP3xBCBhzmIiMqvcePGISkpCampqcW6pbYuXFxcEBoaqtcx6cXFPRNERHpS1nsmiIwFiwkiIiJShJeGEhERkSIsJoiIiEgRFhNERESkCIsJIiIiUoTFBBERESnCYoKIiIgUYTFBREREirCYICIiIkX+H8YjQdIub0MsAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "eta_center_db = linear_to_loss_db(eta_center)\n", + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "ax.hist(eta_center_db[1:], bins=\"auto\", color=\"tab:blue\", alpha=0.7, label=\"Samples\")\n", + "ax.axvline(eta_center_db[0], color=\"black\", linewidth=2, label=\"Nominal\")\n", + "ax.set_xlabel(f\"Transmission at {wavelengths[idx_center]:.3f} µm (dB)\")\n", + "ax.set_ylabel(\"Count\")\n", + "ax.set_title(\"Monte Carlo Transmission at Center Wavelength\")\n", + "ax.grid(True, alpha=0.3)\n", + "ax.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "134ec056", + "metadata": {}, + "source": [ + "## Adjoint" + ] + }, + { + "cell_type": "markdown", + "id": "b74e025d", + "metadata": {}, + "source": [ + "### Linearized Sensitivity via Adjoint\n", + "\n", + "Before launching a full robust optimization we want directional information: which fabrication knobs most strongly impact coupling efficiency near the nominal point? The objective below evaluates a single perturbed simulation and, through `value_and_grad`, returns both the power and its gradient with respect to the overlay, spacer, and silicon-width errors." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "12db8468", + "metadata": {}, + "outputs": [], + "source": [ + "nominal = load_nominal_parameters(design_path)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "3ded3426", + "metadata": {}, + "outputs": [], + "source": [ + "def objective(params):\n", + " overlay_delta, spacer_delta, etch_bias = params\n", + " sim = make_simulation(\n", + " nominal[\"widths_si\"] + etch_bias,\n", + " nominal[\"gaps_si\"] - etch_bias,\n", + " nominal[\"widths_sin\"],\n", + " nominal[\"gaps_sin\"],\n", + " first_gap_si=nominal[\"first_gap_si\"] + overlay_delta,\n", + " first_gap_sin=nominal[\"first_gap_sin\"],\n", + " spacer_thickness=nominal[\"spacer_thickness\"] + spacer_delta,\n", + " )\n", + " sim_data = web.run(sim, task_name=\"gc_sensitivity_adj\", verbose=False)\n", + " power_da = get_mode_monitor_power(sim_data)\n", + " target_power = power_da.sel(f=td.C_0 / center_wavelength, method=\"nearest\")\n", + " return target_power.item()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "2ad8a7d9", + "metadata": {}, + "outputs": [], + "source": [ + "params0 = np.zeros(3)\n", + "value, grad = value_and_grad(objective)(params0)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "52b48b49", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 adjoint
mean_linear0.5682
std_linear0.0373
p10_linear0.5204
p90_linear0.6160
mean_db2.4551
p10_db2.8368
p90_db2.1042
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ordered = (\"overlay\", \"spacer\", \"widths_si\")\n", + "\n", + "grads = dict(zip(ordered, grad))\n", + "sigmas = {k: float(sigma_spec[k]) for k in ordered}\n", + "\n", + "grad_vec = np.fromiter((grads[k] for k in ordered), dtype=float)\n", + "sigma_vec = np.fromiter((sigmas[k] for k in ordered), dtype=float)\n", + "\n", + "# Linearized error propagation\n", + "scaled = grad_vec * sigma_vec\n", + "variance = scaled @ scaled\n", + "std = float(np.sqrt(variance))\n", + "\n", + "# 10th/90th percentiles for Gaussian assumption\n", + "z = 1.28155\n", + "p10 = value - z * std\n", + "p90 = value + z * std\n", + "\n", + "# Normalized variance contribution per parameter\n", + "if variance == 0.0:\n", + " importance_dict = dict.fromkeys(ordered, 0.0)\n", + "else:\n", + " importance_dict = {k: (s**2) / variance for k, s in zip(ordered, scaled)}\n", + "\n", + "adj_summary = {\n", + " \"mean_linear\": value,\n", + " \"std_linear\": std,\n", + " \"p10_linear\": p10,\n", + " \"p90_linear\": p90,\n", + " \"mean_db\": linear_to_loss_db(value),\n", + " \"p10_db\": linear_to_loss_db(p10),\n", + " \"p90_db\": linear_to_loss_db(p90),\n", + " \"importance\": importance_dict,\n", + "}\n", + "\n", + "result = {\n", + " \"center_wavelength_um\": center_wavelength,\n", + " \"sigmas\": sigmas,\n", + " \"gradients_linear\": grads,\n", + " \"summary\": adj_summary,\n", + "}\n", + "\n", + "adjoint_stats = pd.Series(\n", + " {\n", + " k: adj_summary[k]\n", + " for k in (\n", + " \"mean_linear\",\n", + " \"std_linear\",\n", + " \"p10_linear\",\n", + " \"p90_linear\",\n", + " \"mean_db\",\n", + " \"p10_db\",\n", + " \"p90_db\",\n", + " )\n", + " },\n", + " name=\"adjoint\",\n", + ")\n", + "adjoint_stats.to_frame().style.format(\"{:.4f}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "31b94606", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 importance
overlay0.035%
spacer99.836%
widths_si0.129%
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "importance_ser = pd.Series(adj_summary[\"importance\"], name=\"importance\")\n", + "display(importance_ser.to_frame().style.format(\"{:.3%}\"))" + ] + }, + { + "cell_type": "markdown", + "id": "bdb03b8b", + "metadata": {}, + "source": [ + "### Interpreting Variance Contributions\n", + "\n", + "Normalizing the gradient-scaled sigmas reveals how much each parameter contributes to the linearized variance. Plotting the breakdown highlights the dominant sensitivities we should target when we redesign for robustness." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "f05343ad", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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smVLiacziYiIiKhs1C7Kpk2bBjMzM9SvXx8bN27Exo0bS+wXHR2tyXxEREREekHtoszPz++1S2IQERERUdmoXZRt2LChfJMQERER6TGu6E9ERESkA1iUEREREekAFmVEREREOoBFGREREZEOYFFGREREpANYlBERERHpABZlRERERDqARRkRERGRDmBRRkRERKQDWJQRERER6QAWZUREREQ6gEUZERERkQ5gUUZERESkA1iUEREREekAFmVEREREOoBFGREREZEOYFFGREREpANYlBERERHpABZlRERERDqARRkRERGRDmBRRkRERKQDWJQRERER6QAWZUREREQ6gEUZERERkQ5gUUZERESkA1iUEREREekAFmVEREREOoBFGREREZEOYFFGREREpANYlBERERHpABZlRERERDqARRkRERGRDmBRRkRERKQDdKIoW7ZsGVxcXGBqaoo2bdrg3Llzr+y/bds2NGrUCKampnBzc8O+ffv+s6xERERE5UHrRVlUVBSCgoIQEhKC+Ph4uLu7w9vbG2lpaSX2P3XqFHx9fTFq1ChcvHgR/fv3R//+/fHnn3/+59mJiIiINEUQRVHUZoA2bdqgVatW+PHHHwEAcrkcTk5O+OyzzzBt2jSV/j4+PsjNzcWePXsUbW3btkXz5s2xcuXK1z6fTCaDpaUlnjx5AgsLCw2/GqK3w8BFn2o7AlUw0UHLtR2BSGepW3tU+k9T/UtBQQHi4uIwffp0RZuBgQF69OiB06dPl7jP6dOnERQUpNTm7e2NnTt3ltg/Pz8f+fn5isdPnjwBAGRlZUEul2volRC9XQqfPdd2BKpgsrKytB2BSGfJZDIAwOvGwbRalGVkZKCoqAj29vZK7fb29rh+/XqJ+6SkpJTYPyUlpcT+4eHhCAsLU2l3dnZ+o+xERPR/rL9eq+0IRDovOzsblpaWpW7XalH2X5g+fbrSyJpcLkdmZiaqV68OQRC0mk3fyGQyODk54cGDBzx1TBUSP8NUkfHzqz2iKCI7Oxs1atR4ZT+tFmU2NjYwNDREamqqUntqaiocHBxK3MfBwUFSfxMTE5iYmCi1WVlZvXF2KjsLCwv+QqAKjZ9hqsj4+dWOV42QFdPq1ZfGxsbw8PBATEyMok0ulyMmJgbt2rUrcZ927dop9QeAw4cPl9qfiIiIqCLQ+unLoKAg+Pv7w9PTE61bt8aSJUuQm5uLgIAAAICfnx9q1qyJ8PBwAEBgYCC8vLywcOFC9OnTB5GRkbhw4QJWr16t5VdCREREVHZaL8p8fHyQnp6O4OBgpKSkoHnz5jhw4IBiMv/9+/dhYPB/A3rt27fH5s2bMWPGDHz11VdwdXXFzp078c4772jxVZA6TExMEBISonI6maii4GeYKjJ+fnWf1tcpIyIiIiIdWNGfiIiIiFiUEREREekEFmVEREREOoBFGemELl26YNKkSdqOQUSkMzZs2PDadTVDQ0PRvHnzV/a5e/cuBEFAQkKChhO+mraetyJjUUZERKSDfHx8cPPmTUn7jBgxAv379y+3TFI4OTkhOTmZqyNIoPUlMUi/FRQUwNjYWNsxiLTu+fPnMDIy0nYM0iFmZmYwMzPTdowyMzQ0LPVuO1QyjpSRkvz8fEycOBF2dnYwNTVFx44dcf78ecjlctSqVQsrVqxQ6n/x4kUYGBjg3r17AICsrCyMHj0atra2sLCwQLdu3XDp0iVF/+Kh9rVr16JOnTowNTUtMcemTZvg6emJqlWrwsHBAUOHDkVaWhrw4h5i9evXx4IFC5T2SUhIgCAISExMLId3hiqa7du3w83NDWZmZqhevTp69OiB3NxcxUhCWFiY4nM6btw4FBQUKPY9cOAAOnbsCCsrK1SvXh3vv/8+bt++rXT8v//+G76+vqhWrRrMzc3h6emJs2fPKrbv2rULLVu2hKmpKerWrYuwsDAUFhYqtguCgBUrVqBfv34wNzfHt99++x+9M6RNe/bsgZWVFYqKioCXfm9NmzZN0Wf06NEYPnx4iacv586dC3t7e1StWhWjRo3Cs2fPFNtCQ0OxceNG7Nq1C4IgQBAExMbGKrbfuXMHXbt2ReXKleHu7o7Tp08rtt27dw99+/aFtbU1zM3N0bRpU+zbt++1r+fx48cYNmwYbG1tYWZmBldXV6xfvx7g6csyYVFGSqZMmYIdO3Zg48aNiI+PR/369eHt7Y2srCz4+vpi8+bNSv0jIiLQoUMHODs7AwAGDx6MtLQ07N+/H3FxcWjZsiW6d++OzMxMxT6JiYnYsWMHoqOjS/2yPn/+HLNnz8alS5ewc+dO3L17FyNGjABe/GM2cuRIxRe/2Pr169G5c2fUr1+/HN4ZqkiSk5Ph6+uLkSNH4tq1a4iNjcXAgQNRvCxjTEyMon3Lli2Ijo5GWFiYYv/c3FwEBQXhwoULiImJgYGBAQYMGAC5XA4AyMnJgZeXFx4+fIjdu3fj0qVLmDJlimL7iRMn4Ofnh8DAQPz1119YtWoVNmzYoFJ4hYaGYsCAAbhy5QpGjhz5n75HpB2dOnVCdnY2Ll68CAA4duwYbGxslIqnY8eOoUuXLir7bt26FaGhoZgzZw4uXLgAR0dHLF++XLH9iy++wEcffYSePXsiOTkZycnJaN++vWL7119/jS+++AIJCQlo0KABfH19Ff9RGD9+PPLz83H8+HFcuXIF8+bNQ5UqVV77embOnIm//voL+/fvx7Vr17BixQrY2Ni88fukt0SiF3JyckQjIyMxIiJC0VZQUCDWqFFD/O6778SLFy+KgiCI9+7dE0VRFIuKisSaNWuKK1asEEVRFE+cOCFaWFiIz549UzpuvXr1xFWrVomiKIohISGikZGRmJaWptTHy8tLDAwMLDXb+fPnRQBidna2KIqi+PDhQ9HQ0FA8e/asIqeNjY24YcMGjb0fVHHFxcWJAMS7d++qbPP39xerVasm5ubmKtpWrFghVqlSRSwqKirxeOnp6SIA8cqVK6IoiuKqVavEqlWrio8ePSqxf/fu3cU5c+YotW3atEl0dHRUPAYgTpo0qcyvkSquli1bivPnzxdFURT79+8vfvvtt6KxsbGYnZ0t/v333yIA8ebNm+L69etFS0tLxX7t2rUTP/30U6VjtWnTRnR3d1c89vf3Fz/44AOlPklJSSIAce3atYq2q1evigDEa9euiaIoim5ubmJoaKjk19K3b18xICCgxG3Fz3vx4kXJx9VXHCkjhdu3b+P58+fo0KGDos3IyAitW7fGtWvX0Lx5czRu3FgxWnbs2DGkpaVh8ODBAIBLly4hJycH1atXR5UqVRR/kpKSlE79ODs7w9bW9pVZ4uLi0LdvX9SuXRtVq1aFl5cX8OK2WwBQo0YN9OnTB+vWrQMA/Pbbb8jPz1dkIf3m7u6O7t27w83NDYMHD8aaNWvw+PFjpe2VK1dWPG7Xrh1ycnLw4MEDAMCtW7fg6+uLunXrwsLCAi4uLsBLn7+EhAS0aNEC1apVK/H5L126hFmzZil9D8aMGYPk5GTk5eUp+nl6epbbe0C6y8vLC7GxsRBFESdOnMDAgQPRuHFj/PHHHzh27Bhq1KgBV1dXlf2uXbuGNm3aKLW1a9dO7edt1qyZ4mdHR0cAUEwLmThxIr755ht06NABISEhuHz5slrH/OSTTxAZGYnmzZtjypQpOHXqlNp5SBWLMpJk2LBhiqJs8+bN6NmzJ6pXrw68OKXj6OiIhIQEpT83btzAl19+qTiGubn5K58jNzcX3t7esLCwQEREBM6fP49ff/0VeHFhQLHRo0cjMjIST58+xfr16+Hj46P0Dy3pL0NDQxw+fBj79+9HkyZNsHTpUjRs2BBJSUlq7d+3b19kZmZizZo1OHv2rGKuWPHn73WTr3NychAWFqb0Pbhy5Qpu3bqlNI/ydd8Fejt16dIFf/zxBy5dugQjIyM0atQIXbp0QWxsLI4dO6b4T6imvXwhiSAIAKA45T569GjcuXMHH3/8Ma5cuQJPT08sXbr0tcfs1asX7t27h8mTJ+Off/5B9+7d8cUXX5RLfn3AoowU6tWrB2NjY5w8eVLR9vz5c5w/fx5NmjQBAAwdOhR//vkn4uLisH37dgwbNkzRt2XLlkhJSUGlSpVQv359pT9S5hhcv34djx49wty5c9GpUyc0atRI8b+5l/Xu3Rvm5uZYsWIFDhw4wDk5pEQQBHTo0AFhYWG4ePEijI2NFcX9pUuX8PTpU0XfM2fOoEqVKnBycsKjR49w48YNzJgxA927d0fjxo2VRtnwYsQhISFBaa7ky1q2bIkbN26ofA/q168PAwP+2tV3xfPKFi9erCjAiouy2NjYEueTAUDjxo2VLibBi8/uy4yNjRUXEUjl5OSEcePGITo6Gp9//jnWrFmj1n62trbw9/fHL7/8giVLlmD16tVlen5iUUYvMTc3xyeffIIvv/wSBw4cwF9//YUxY8YgLy8Po0aNAgC4uLigffv2GDVqFIqKitCvXz/F/j169EC7du3Qv39/HDp0CHfv3sWpU6fw9ddf48KFC2rnqF27NoyNjbF06VLcuXMHu3fvxuzZs1X6GRoaYsSIEZg+fTpcXV0lDePT2+3s2bOKydD3799HdHQ00tPT0bhxY+DFiNeoUaPw119/Yd++fQgJCcGECRNgYGAAa2trVK9eHatXr0ZiYiJ+//13BAUFKR3f19cXDg4O6N+/P06ePIk7d+5gx44diqvZgoOD8fPPPyMsLAxXr17FtWvXEBkZiRkzZmjl/SDdYm1tjWbNmiEiIkJRgHXu3Bnx8fG4efNmqSNlgYGBWLduHdavX4+bN28iJCQEV69eVerj4uKCy5cv48aNG8jIyMDz58/VyjRp0iQcPHgQSUlJiI+Px9GjRxXfl1cJDg7Grl27kJiYiKtXr2LPnj1q7UclY1FGSubOnYsPP/wQH3/8MVq2bInExEQcPHgQ1tbWij7Dhg3DpUuXMGDAAKXTOIIgYN++fejcuTMCAgLQoEEDDBkyBPfu3YO9vb3aGWxtbbFhwwZs27YNTZo0wdy5c1WWvyg2atQoFBQUICAg4A1fOb1NLCwscPz4cfTu3RsNGjTAjBkzsHDhQvTq1QsA0L17d7i6uqJz587w8fFBv379EBoaCgAwMDBAZGQk4uLi8M4772Dy5MmYP3++0vGNjY1x6NAh2NnZoXfv3nBzc8PcuXNhaGgIAPD29saePXtw6NAhtGrVCm3btsXixYsVVykTeXl5oaioSFGUVatWDU2aNIGDgwMaNmxY4j4+Pj6YOXMmpkyZAg8PD9y7dw+ffPKJUp8xY8agYcOG8PT0hK2trdKZj1cpKirC+PHj0bhxY/Ts2RMNGjRQurKzNMbGxpg+fTqaNWuGzp07w9DQEJGRkWo9J6kSxOJrxIkqoBMnTqB79+548OCBpMKP9NeIESOQlZWFnTt3ajsKEZESruhPFVJ+fj7S09MRGhqKwYMHsyAjIqIKj6cvqULasmULnJ2dkZWVhe+++07bcYiI3krjxo1TWtrl5T/jxo3Tdry3Dk9fEhERUYnS0tIgk8lK3GZhYQE7O7v/PNPbjEUZERERkQ7g6UsiIiIiHcCijIiIiEgHsCgjIiIi0gEsyoiIiIh0AIsyIiIiIh3AooyIiIhIB7AoIyIiItIBLMqIiIiIdMD/A43nAiruD5ZiAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(7, 4))\n", + "ax.bar(importance_ser.index, importance_ser.values, alpha=0.75)\n", + "ax.set_ylim(0, 1)\n", + "ax.set_ylabel(\"Normalized variance contribution\")\n", + "ax.set_title(\"Adjoint Sensitivity Importance\")\n", + "ax.grid(axis=\"y\", alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "b9eb1445", + "metadata": {}, + "source": [ + "## Comparison" + ] + }, + { + "cell_type": "markdown", + "id": "5dbc2987", + "metadata": {}, + "source": [ + "### Monte Carlo vs. Adjoint View\n", + "\n", + "Finally we line up the Monte Carlo results with the adjoint prediction. Agreement between the two lenses justifies replacing expensive sampling with cheaper gradient estimates in the next notebook, while any mismatch would signal nonlinearity that the linearized model misses." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "c3dcafd8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 mean_linearstd_linearp10_linearp90_linearmean_dbp10_dbp90_db
Monte Carlo0.55490.02740.51710.58762.55782.86412.3091
Adjoint0.56820.03730.52040.61602.45512.83682.1042
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "comparison = pd.DataFrame(\n", + " {\n", + " \"Monte Carlo\": {\n", + " \"mean_linear\": mc_summary[\"mean_linear\"],\n", + " \"std_linear\": mc_summary[\"std_linear\"],\n", + " \"p10_linear\": mc_summary[\"p10_linear\"],\n", + " \"p90_linear\": mc_summary[\"p90_linear\"],\n", + " \"mean_db\": mc_summary[\"mean_db\"],\n", + " \"p10_db\": mc_summary[\"p10_db\"],\n", + " \"p90_db\": mc_summary[\"p90_db\"],\n", + " },\n", + " \"Adjoint\": {\n", + " \"mean_linear\": adj_summary[\"mean_linear\"],\n", + " \"std_linear\": adj_summary[\"std_linear\"],\n", + " \"p10_linear\": adj_summary[\"p10_linear\"],\n", + " \"p90_linear\": adj_summary[\"p90_linear\"],\n", + " \"mean_db\": adj_summary[\"mean_db\"],\n", + " \"p10_db\": adj_summary[\"p10_db\"],\n", + " \"p90_db\": adj_summary[\"p90_db\"],\n", + " },\n", + " }\n", + ").T\n", + "\n", + "comparison.style.format(\"{:.4f}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "6d639979", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhQAAAGJCAYAAADSaqrlAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAgMhJREFUeJzt3XV4FNfXB/DvrMaVODEkaICgP6QFSkqQIsVdWqS4F0KLQ3GKtVghgVLcKpRStFjwBisNkEaQQEIgLitz3z/I7svGZZPZTc7nefLA3LFzZlbOjl2OMcZACCGEEFICIqEDIIQQQojxo4KCEEIIISVGBQUhhBBCSowKCkIIIYSUGBUUhBBCCCkxKigIIYQQUmJUUBBCCCGkxKigIIQQQkiJUUFBCCGEkBKjgoIQI+Pl5YVhw4YJHUaZ4jgO8+fP1w4HBweD4zhERkYWeVnDhg2Dl5eXniM0Tm3atEGbNm0KNW1xt1tkZCQ4jkNwcHAxIiTGhAoKUmo0H/ocx+HSpUs5xjPG4O7uDo7j8Mknn5RqLFeuXMH8+fORkJBQKssPDw/H6NGjUaVKFZiYmMDKygotW7bEunXrkJ6eXirrNDYJCQkwMTEBx3F4+PCh0OEUy++//65T2BSE53ns2rULzZo1g52dHSwtLeHj44MhQ4bg6tWrpRprcbx48QLz589HaGhoqa6nqNuRGAcqKEipMzExwZ49e3K0//XXX3j27Bnkcnmpx3DlyhUsWLCgVAqK48ePw9fXFwcOHECXLl2wYcMGLF26FB4eHpgxYwYmTZqk93Uao4MHD4LjODg7O+Onn34q0bIGDx6M9PR0eHp6Fnnebdu2ISwsrFjr/f3337FgwYJCTz9x4kQMHToULi4umD9/PpYvX46OHTvi6tWr+OOPP4oVgz79+eef+PPPP7XDL168wIIFC3ItKIq73Tw9PZGeno7Bgwdr24q6HYlxkAgdACn/OnXqhIMHD2L9+vWQSP7/Jbdnzx40atQIr1+/FjS+koiIiEC/fv3g6emJs2fPwsXFRTtu3LhxePLkCY4fP17i9TDGkJGRAVNT0xIvSyi7d+9Gp06d4OnpiT179mDx4sXFXpZYLIZYLC7WvFKptNjrLYpXr17h+++/x8iRI7F161adcWvXrkVcXFyZxJEfmUxW6GmLu904joOJiUmx5iXGhY5QkFLXv39/xMfH49SpU9o2hUKBQ4cOYcCAAbnOk5qaimnTpsHd3R1yuRw1atTAqlWrkL1zXI7jMH78eBw7dgx169aFXC5HnTp1dH79zZ8/HzNmzAAAeHt7a0/DvH/+fffu3WjUqBFMTU1hZ2eHfv364enTpwXmtmLFCqSkpGD79u06xYRGtWrVdI5QBAUF4aOPPoKjoyPkcjlq166NTZs25ZjPy8sLn3zyCU6ePInGjRvD1NQUW7ZsyTOO//77D71794adnR3MzMzwv//9r1CFTN26ddG2bdsc7TzPw83NDb169dK27du3D40aNYKlpSWsrKzg6+uLdevWFbgOAIiOjsbFixfRr18/9OvXDxEREbhy5UqO6TIzMzFlyhQ4ODjA0tISXbt2xbNnz3JMl9c1FN9//z3q1KkDuVwOV1dXjBs3LsdRqezXAmjO8a9atQpbt25F1apVIZfL0aRJE9y4cUNnvu+++w7Iet1p/vISEREBxhhatmyZYxzHcXB0dNRpS0hIwOTJk7Wv+WrVqmH58uXgeb7IsQLAy5cvMXz4cFSuXBlyuRwuLi7o1q2bzjZ7/xqK8+fPo0mTJgCA4cOHa/PTXPvw/nZTKpWws7PD8OHDc+SWlJQEExMTTJ8+XSfm95eT23ZkjMHLywvdunXLscyMjAxYW1tj9OjReW5vIjw6QkFKnZeXF5o3b469e/eiY8eOAIATJ04gMTER/fr1w/r163WmZ4yha9euOHfuHD7//HM0aNAAJ0+exIwZM/D8+XN8++23OtNfunQJR44cwdixY2FpaYn169ejZ8+eiI6Ohr29PXr06IFHjx5h7969+Pbbb1GpUiUAgIODAwBgyZIlmDNnDvr06YMRI0YgLi4OGzZswIcffoi///4bNjY2eeb266+/okqVKmjRokWhtsWmTZtQp04ddO3aFRKJBL/++ivGjh0Lnucxbtw4nWnDwsLQv39/jB49GiNHjkSNGjVyXearV6/QokULpKWlYeLEibC3t8fOnTvRtWtXHDp0CJ9++mme8fTt2xfz58/Hy5cv4ezsrLNNX7x4gX79+gEATp06hf79+6Ndu3ZYvnw5AODhw4e4fPlyoU7p7N27F+bm5vjkk09gamqKqlWr4qeffsqx3UaMGIHdu3djwIABaNGiBc6ePYvOnTsXuHxkFY4LFiyAv78/xowZg7CwMGzatAk3btzA5cuXC/yFvWfPHiQnJ2P06NHgOA4rVqxAjx498N9//0EqlWL06NF48eIFTp06hR9//LHAeDSnYw4ePIjevXvDzMwsz2nT0tLQunVrPH/+HKNHj4aHhweuXLmCwMBAxMTEYO3atUWKFQB69uyJBw8eYMKECfDy8kJsbCxOnTqF6OjoXC+urFWrFhYuXIi5c+di1KhR+OCDDwAg19e2VCrFp59+iiNHjmDLli06RzqOHTuGzMxM7Wsnu7y2I8dxGDRoEFasWIE3b97Azs5OO+7XX39FUlISBg0alO82JwJjhJSSoKAgBoDduHGDbdy4kVlaWrK0tDTGGGO9e/dmbdu2ZYwx5unpyTp37qyd79ixYwwAW7x4sc7yevXqxTiOY0+ePNG2AWAymUyn7c6dOwwA27Bhg7Zt5cqVDACLiIjQWWZkZCQTi8VsyZIlOu337t1jEokkR/v7EhMTGQDWrVu3Qm8TTf7vCwgIYFWqVNFp8/T0ZADYH3/8kWN6T09PNnToUO3w5MmTGQB28eJFbVtycjLz9vZmXl5eTK1W5xlPWFhYjm3FGGNjx45lFhYW2ngnTZrErKysmEqlKnSu7/P19WUDBw7UDs+ePZtVqlSJKZVKbVtoaCgDwMaOHasz74ABAxgANm/ePG2b5rWl2Z+xsbFMJpOx9u3b6+S7ceNGBoDt2LFD2zZ06FDm6empHY6IiGAAmL29PXvz5o22/eeff2YA2K+//qptGzduHCvKx+aQIUMYAGZra8s+/fRTtmrVKvbw4cMc0y1atIiZm5uzR48e6bTPmjWLicViFh0dXaRY3759ywCwlStX5htf69atWevWrbXDN27cYABYUFBQjmmzb7eTJ0/m2D6MMdapUyed17Mm5veXmdd21LweN23apNPetWtX5uXlxXiezzcfIiw65UHKRJ8+fZCeno7ffvsNycnJ+O233/I83fH7779DLBZj4sSJOu3Tpk0DYwwnTpzQaff390fVqlW1w/Xq1YOVlRX++++/AuM6cuQIeJ5Hnz598Pr1a+2fs7MzqlevjnPnzuU5b1JSEgDA0tKywPVovH8NRGJiIl6/fo3WrVvjv//+Q2Jios603t7eCAgIKHCZv//+O5o2bYpWrVpp2ywsLDBq1ChERkbin3/+yXNeHx8fNGjQAPv379e2qdVqHDp0CF26dNHGa2Njg9TUVJ3TVoV19+5d3Lt3D/3799e29e/fH69fv8bJkyd18kDWhYzvmzx5coHrOH36NBQKBSZPngyR6P8/1kaOHAkrK6tCnf7p27cvbG1ttcOaX+iFeR3lJSgoCBs3boS3tzeOHj2K6dOno1atWmjXrh2eP3+une7gwYP44IMPYGtrq/M69Pf3h1qtxoULF4oUq6mpKWQyGc6fP4+3b98WO/78fPTRR6hUqZLOa+ft27c4deoU+vbtW6xl+vj4oFmzZjoX7b558wYnTpzAwIED8z3FRIRHBQUpEw4ODvD398eePXtw5MgRqNVqnfPz74uKioKrq2uOL+patWppx7/Pw8MjxzJsbW0L9UH6+PFjMMZQvXp1ODg46Pw9fPgQsbGxec5rZWUFAEhOTi5wPRqXL1+Gv78/zM3NYWNjAwcHB8yePRvIKjDe5+3tXahlRkVF5Xo6JK/tlV3fvn1x+fJl7Rfc+fPnERsbq/OlMHbsWPj4+KBjx46oXLkyPvvss0LfpbB7926Ym5ujSpUqePLkCZ48eQITExN4eXnpfHFERUVBJBLpFIcA8jzV8z5NjtmnlclkqFKlSoHbALm8jjRf2CX5QhaJRBg3bhxu3bqF169f4+eff0bHjh1x9uxZnVMCjx8/xh9//JHjNejv7w8AOV6HBcUql8uxfPlynDhxAk5OTvjwww+xYsUKvHz5sti5ZCeRSNCzZ0/8/PPPyMzMBLIKdKVSWeyCAgCGDBmCy5cva/fZwYMHoVQqde4SIYaJrqEgZWbAgAEYOXIkXr58iY4dO+Z7bUJR5HW1f/YLOHPD8zw4jsOJEydyXY6FhUWe81pZWcHV1RX3798vVJzh4eFo164datasiTVr1sDd3R0ymQy///47vv32W52L75DtaEZp6tu3LwIDA3Hw4EFMnjwZBw4cgLW1NTp06KCdxtHREaGhoTh58iROnDiBEydOICgoCEOGDMHOnTvzXDZjDHv37kVqaipq166dY3xsbCxSUlLy3c5lpSSvo8Kwt7dH165d0bVrV7Rp0wZ//fUXoqKi4OnpCZ7n8fHHH+PLL7/MdV4fH58ixzp58mR06dIFx44dw8mTJzFnzhwsXboUZ8+ehZ+fn15y6tevH7Zs2YITJ06ge/fuOHDgAGrWrIn69euXaJlTpkzBTz/9hNmzZ2P37t1o3LhxoQpLIiwqKEiZ+fTTTzF69GhcvXpV5zBpdp6enjh9+jSSk5N1jlL8+++/2vFFldeh0qpVq4IxBm9v7xwf2oXxySefYOvWrQgJCUHz5s3znfbXX39FZmYmfvnlF51fmPmdVikMT0/PXJ8PUNjt5e3tjaZNm2L//v0YP348jhw5gu7du+d4PohMJkOXLl3QpUsX8DyPsWPHYsuWLZgzZw6qVauW67I1zxpZuHCh9oiJxtu3bzFq1CgcO3YMgwYN0n6xhoeH63x5FObZB5ocw8LCUKVKFW27QqFARESE9pd+SenrkHvjxo3x119/ISYmBp6enqhatSpSUlL0FqdG1apVMW3aNEybNg2PHz9GgwYNsHr1auzevTvX6Yua34cffggXFxfs378frVq1wtmzZ/HVV18VOF9+67Gzs0Pnzp3x008/YeDAgbh8+XKOi1KJYaJTHqTMWFhYYNOmTZg/fz66dOmS53SdOnWCWq3Gxo0bddq//fZbcBynvVOkKMzNzYGsW/Pe16NHD4jFYixYsCDHL1HGGOLj4/Nd7pdffglzc3OMGDECr169yjE+PDxce2ul5lfl++tJTExEUFBQkfN5X6dOnXD9+nWEhIRo21JTU7F161Z4eXnlemQgu759++Lq1avYsWMHXr9+neOQdfbtIBKJUK9ePSDrVs+8aE53zJgxA7169dL5GzlyJKpXr6497aHZr9nv+inMl4m/vz9kMhnWr1+vs323b9+OxMTEQt8pUpC8Xke5efnyZa7XrygUCpw5cwYikUhbiPXp0wchISE615RoJCQkQKVSFSnOtLQ0ZGRk6LRVrVoVlpaW+e6vouSHrNdBr1698Ouvv+LHH3+ESqUq1OmOgtYzePBg/PPPP5gxYwbEYnGed4wQw0JHKEiZGjp0aIHTdOnSBW3btsVXX32FyMhI1K9fH3/++Sd+/vlnTJ48Occ59sJo1KgRAOCrr75Cv379IJVK0aVLF1StWhWLFy9GYGAgIiMj0b17d1haWiIiIgJHjx7FqFGjtPfT56Zq1arYs2cP+vbti1q1amHIkCGoW7cuFAoFrly5goMHD2r73Wjfvr32V/7o0aORkpKCbdu2wdHRETExMUXOSWPWrFnaW3InTpwIOzs77Ny5ExERETh8+LDORYp56dOnD6ZPn47p06fDzs4uxy/lESNG4M2bN/joo49QuXJlREVFYcOGDWjQoEGOIw8amZmZOHz4MD7++OM8H2zUtWtXrFu3DrGxsWjQoAH69++P77//HomJiWjRogXOnDmDJ0+eFBi/g4MDAgMDsWDBAnTo0AFdu3ZFWFgYvv/+ezRp0kRvtxtqXkcTJ05EQEBAvl92z549Q9OmTfHRRx+hXbt2cHZ2RmxsLPbu3Ys7d+5g8uTJ2luYZ8yYgV9++QWffPIJhg0bhkaNGiE1NRX37t3DoUOHEBkZqZ22MB49eoR27dqhT58+qF27NiQSCY4ePYpXr17l++VctWpV2NjYYPPmzbC0tIS5uTmaNWuW7/U8ffv2xYYNGzBv3jz4+vrm+Xp4X0HbsXPnzrC3t8fBgwfRsWPHHM/sIAZK6NtMSPn1/m2j+cl+2yjLuu1xypQpzNXVlUmlUla9enW2cuXKHLeNAWDjxo3LdZnv31rJsm7Nc3NzYyKRKMctpIcPH2atWrVi5ubmzNzcnNWsWZONGzeOhYWFFSrXR48esZEjRzIvLy8mk8mYpaUla9myJduwYQPLyMjQTvfLL7+wevXqMRMTE+bl5cWWL1/OduzYkSOe3LZJfrmFh4ezXr16MRsbG2ZiYsKaNm3Kfvvtt0LFrtGyZUsGgI0YMSLHuEOHDrH27dszR0dHJpPJmIeHBxs9ejSLiYnJc3mHDx9mANj27dvznOb8+fMMAFu3bh1jjLH09HQ2ceJEZm9vz8zNzVmXLl3Y06dPC7xtVGPjxo2sZs2aTCqVMicnJzZmzBj29u1bnWnyum00t1sss69XpVKxCRMmMAcHB8ZxXL63kCYlJbF169axgIAAVrlyZSaVSpmlpSVr3rw527ZtW47XcnJyMgsMDGTVqlVjMpmMVapUibVo0YKtWrWKKRSKIsX6+vVrNm7cOFazZk1mbm7OrK2tWbNmzdiBAwd05sl+2yjLugW1du3aTCKR6NzumX27afA8z9zd3XO91ZvlcdtoYbbj2LFjGQC2Z8+ePLcxMSwc09cVR4QQUka2b9+OESNG4OnTp6hcubLQ4ZBSMGXKFGzfvh0vX77M96FgxHDQNRSEEKMTExMDjuN0nqZIyo+MjAzs3r0bPXv2pGLCiNA1FIQQo/Hq1SscOnQImzdvRvPmzenLppyJjY3F6dOncejQIcTHx1NPvUaGCgpCiNF4+PAhZsyYgaZNm2Lbtm1Ch0P07J9//sHAgQPh6OiI9evXo0GDBkKHRIqArqEghBBCSInRNRSEEEIIKTEqKAghhBBSYuX+Ggqe5/HixQtYWlpST3WEEEJIETDGkJycDFdX1wIfklfuC4oXL17A3d1d6DAIIYQQo1WYZ76U+4JC07nU06dPtd1NlwTP84iLi4ODg0OhHmlszCjX8qei5AnKtdyiXMtWUlIS3N3ddTpqzEu5Lyg0pzmsrKz0VlBkZGTAysqqQryYKdfypaLkCcq13KJchVGYSwbK994ghBBCSJmggoIQQgghJUYFBSGEEEJKrNxfQ1EYjDGoVCqo1eoCp+V5HkqlEhkZGYKf0yptlKswxGIxJBIJ3eZMCDEqFb6gUCgUiImJQVpaWqGmZ4yB53kkJyeX+w98ylU4ZmZmcHFxgUwmEzoUQggplApdUPA8j4iICIjFYri6ukImkxX4ZaI5mlERfkFSrsLEoVAoEBcXh4iICFSvXl3wIyaEEFIYFbqgUCgU4Hke7u7uhe4G2VC+eMoC5SoMU1NTSKVSREVFQaFQwMTERNB4CCGkMOinD0C/AInBodckIcTY0KcWIYQQQkqMCgpCCCGElBgVFKTc4TgOx44dEzoMQgipUKigyINarYZSqcz1jzGW57ji/BXm+RfvGzZsGDiOwxdffJFj3Lhx48BxHIYNG6bHrQHMnz8fDRo00Nvyzp07h06dOsHe3h5mZmaoXbs2pk2bhufPn+ttHYQYm/w+dwr6U6lUev1cKu7nE6m4KvRdHvnheR7x8fE53kyMMTDGwHGcXu4GEIvFsLe3h1gsLtJ87u7u2LdvH7799luYmpoCADIyMrBnzx54eHiUOK7StGXLFowdOxZDhw7F4cOH4eXlhejoaOzatQurV6/GmjVrirVchUJBz20gRi2vz52CMMaQmJgIFLITp8Iq7ucTqZjoCEU+1Go1VCpVqf4Vt/pv2LAh3N3dceTIEW3bkSNH4OHhAT8/P51pMzMzMXHiRDg6OsLExAStWrXCjRs3tOPPnz8PjuNw5swZNG7cGGZmZmjRogXCwsIAAMHBwViwYAHu3LmjLaSCg4MBAAkJCRgxYgQcHBxgZWWFjz76CHfu3Mkz7mfPnmHixImYOHEiduzYgTZt2sDLywsffvghfvjhB8ydOxcAEB8fj/79+8PNzQ1mZmbw9fXF3r17dZbVpk0bjB8/HpMnT0alSpUQEBCQ6zrv3buHjz76CKamprC3t8eoUaOQkpJSrO1OSGkr7udOaXxe0dEJUhRUUBixzz77DEFBQdrhHTt2YPjw4Tmm+/LLL3H48GHs3LkTt2/fRrVq1RAQEIA3b97oTPfVV19h9erVuHnzJiQSCT7//HMAQN++fTFt2jTUqVMHMTExiImJQd++fQEAvXv3RmxsLE6cOIFbt26hYcOGaNeuXY5laxw8eBAKhQJffvllruNtbGyArKMtjRo1wvHjx3H//n2MGjUKgwcPxvXr13Wm37lzJ2QyGS5fvozNmzfnWF5qaioCAgJga2uLGzdu4ODBgzh9+jTGjx9fiC1MCCGksAQtKC5cuIAuXbrA1dU1zwvpHj58iK5du8La2hrm5uZo0qQJoqOjBYnX0AwaNAiXLl1CVFQUoqKicPnyZQwaNEhnmtTUVGzatAkrV65Ex44dUbt2bWzbtg2mpqbYvn27zrRLlixB69atUbt2bcyaNQtXrlxBRkYGTE1NYWFhAYlEAmdnZzg7O8PU1BSXLl3C9evXcfDgQTRu3BjVq1fHqlWrYGNjg0OHDuUa8+PHj2FlZQUXF5d8c3Nzc8P06dPRoEEDVKlSBRMmTECHDh1w4MABnemqV6+OFStWoEaNGqhRo0aO5ezZswcZGRnYtWsX6tati48++ggbN27Ejz/+iFevXhVhaxNCCMmPoNdQpKamon79+vjss8/Qo0ePHOPDw8PRqlUrfP7551iwYAGsrKzw4MEDenJgFgcHB3Tu3BnBwcFgjKFz586oVKmSzjTh4eFQKpVo2bKltk0qlaJp06Z4+PChzrT16tXT/l/zhR8bGwsLC4tc13/nzh2kpKTA3t5epz09PR3h4eG5zqO5/qQgarUa33zzDQ4cOIDnz59DoVAgMzMzxxNNGzVqlO9yHj58iPr168Pc3Fzb1rJlS/A8j7CwMDg5ORUYCyGEkIIJWlB07NgRHTt2zHP8V199hU6dOmHFihXatqpVq+a7zMzMTGRmZmqHk5KSgKyLnXie15mW53ntRZaMMZ1xebVnn6akCrOe/OYdPnw4JkyYAADYuHGjznLeX25hcpRIJDmm0ZxDfX85GsnJyXBxccG5c+dyxGZjY5NrTtWrV0diYiJevHiR71GKFStWYN26dfj222/h6+sLc3NzTJkyBQqFQme5ZmZmua4ne27Zt0tu2yS3aYWiiS23121JaF7z+lymoTLGXN//TCqKknyOFLRcfb8GS8oY92txGUKuRVm3wd7lwfM8jh8/ji+//BIBAQH4+++/4e3tjcDAQHTv3j3P+ZYuXYoFCxbkaI+Li0NGRoZOm1KpBM/z2guQssvrDarPN61mWbmtPy+aN7hKpYK/vz8UCgU4jkO7du2gUql0xnt6ekImk+HChQvo378/kJX3jRs3MGHCBJ0Lr97fDpp/Nd16SySSHNupfv36ePnyJQDAy8srR5y55dS9e3cEBgZi+fLlWLVqVY7xCQkJsLGxwaVLl9ClSxf069dPG0dYWBhq1aqlXa5m/+S2Hs0FajVq1MDOnTuRmJioPUpx4cIFiEQiVK1aVWdZmu0gdF8eyNp2miv+pVKp3pbL8zwSExPBGCv3j/c2xlxVKhUSExOLdZdHeno6UAp3eSDrx4ahMMb9WlyGkGtycnKhpzWcV0k2sbGxSElJwbJly7B48WIsX74cf/zxB3r06IFz586hdevWuc4XGBiIqVOnaoeTkpLg7u6uvQvhfRkZGUhOToZEIsnxhlEqlZBKpbm+OQt72L4wNOstyhtWJBJBJBJp4/7nn38AAHK5PMd4a2trfPHFFwgMDISDgwM8PDywcuVKpKWlYeTIkZBIJDofGtnjEYlEkEqlqFKlCiIjI3H//n1UrlwZlpaWCAgIQPPmzdG7d28sX74cPj4+ePHiBY4fP45PP/0UjRs3zhG7t7c31qxZgwkTJiA5ORlDhgyBl5cXnj17hl27dsHCwgKrV6+Gj48PDh8+jOvXr8PW1hZr1qxBbGws6tSpo41Nc8dJbttOLBZDIpFg8ODBWLhwIUaMGIF58+YhLi4OU6ZMweDBg+Hm5pZjPn1+eZeERCKBSCSCvb29Xk/x8TwPjuPg4OBQIT6MjS1XpVIJFPEHBt77YWJlZaXXgkIikcDBwcFg3hcw0v1aXIaQa1E+fwy2oNAcZunWrRumTJkCAGjQoAGuXLmCzZs351lQyOVy7Rfr+zRfstnbNF9K2d+Emvuvs3v/6IS+3riaOIpKM4+1tXW+45cvXw7GGIYMGYLk5GQ0btwYJ0+ehJ2dnc5072+H7P/26tULR48exUcffYSEhAQEBQVh2LBh+P333/HVV1/hs88+Q1xcHJydnfHhhx/C2dk5z5zGjRuHGjVqYNWqVejRowfS09Ph5eWFTz75BFOnTgXHcZgzZw4iIiLQoUMHmJmZYdSoUejevTsSExN1lpvX80A07ebm5jh58iQmTZqEpk2bwszMDD179sSaNWt05nu/SDSEIxSa+HN73epj2aWxXENkbLm+/5lUVHl9lpWEoW4/Q42rNAida1HWyzFDOGGctdGOHj2qPZ2hUChgbm6OefPm4euvv9ZON3PmTFy6dAmXL18u1HKTkpJgbW2NxMTEXI9QREREwNvbu9BVmCF1c13aKFfhFOe1WRg8zyM2NhaOjo7l/sPYGHNVKpWIjY0t1hGKpKSkUjlC4ejoaHBHKIxtvxaXIeSa33dodga7N2QyGZo0aaJ9uJLGo0eP4OnpKVhchBBCCMlJ0FMeKSkpePLkiXY4IiICoaGhsLOzg4eHB2bMmIG+ffviww8/RNu2bfHHH3/g119/xfnz54UMmxBCCCHZCFpQ3Lx5E23bttUOay6mHDp0KIKDg/Hpp59i8+bNWLp0KSZOnIgaNWrg8OHDaNWqlYBRE0IIISQ7QQuKNm3aFHgL5meffYbPPvuszGIihBBCSNEZ7DUUhBBCCDEeVFAQQgghpMSooCCEEEJIiVFBQQghhJASo4KCEEIIISVGBUUFMn/+fDRo0CDP4YJERkaC4ziEhoaWUoSG7/z58+A4DgkJCUKHQgghBoUKCiMWEhICsViMzp07F2v+6dOn48yZM4We3t3dHTExMahbt26h5ylK0ZKUlIQ5c+agTp06MDU1hb29PZo0aYIVK1bg7du3hV5naWrRogViYmLy7D+FEEIqKioojNj27dsxYcIEXLhwAS9evCjy/BYWFrl2gJYXsVgMZ2fnUunK+M2bN/jf//6HoKAgTJ8+HdeuXcPt27exZMkS/P3339izZ4/e11kcMpks347PCCGkoqKCwkilpKRg//79GDNmDDp37ozg4OAc0yxbtgxOTk6wtLTE559/joyMDJ3x2Y8e8DyPhQsXonLlypDL5fDz88PJkye147Of8tAc/j9z5gwaN24MMzMztGjRQtv/SnBwMBYsWIA7d+5oe0HMLU4AmD17NqKjo3H9+nUMHz4c9erVg6enJ9q3b4+9e/di7Nix2ml//PFHNG7cGJaWlnB2dsaAAQMQGxurHR8cHAwbGxud5R87dkynCLhz5w7atm0LS0tLWFlZoXHjxrh16xYAICoqCl26dIGtrS3Mzc1Rp04d/P777zo5a055xMfHo3///nBzc4OZmRl8fX2xd+9enXW3adMGEydOxJdffgk7Ozs4Oztj/vz5+e5fQggxNgbbfbnQ4oOC8SaPL7/3u7o2qV0b7pu+1xn/dMxYZPzzT4HrsBs2DPbDhxUrvgMHDqBmzZqoUaMGBg0ahMmTJyMwMFAb14EDBzB//nx89913aNWqFX788UesX78eVapUyXOZ69atw+rVq7Flyxb4+flh+/bt6NGjB+7fvw8fH5885/vqq6+wevVqODg44IsvvsBnn32Gy5cvo2/fvrh//z7++OMPnD59Gsijq3We57F//34MGjQIrq6uua7j/WJAqVRi0aJFqFGjBmJjYzF16lRtV+qFNXDgQPj5+WHTpk0Qi8X4+++/tUdexo0bB4VCgQsXLsDc3Bz//PMPLCwscl1ORkYGGjVqhJkzZ8LKygrHjx/H4MGDUbVqVTRt2lQ73c6dOzF16lRcu3YNISEhGDZsGFq2bImPP/640DETQogho4IiD3xKClSvXhU4ndrZOWfbmzeFmpdPSSl2fNu3b8egQYMAAB06dEBiYiL++usvtGnTBgCwdu1afP755/j8888BAIsXL8bp06dzHKV436pVqzBz5kz069cPALB8+XKcO3cOa9euxffff5/nfEuWLEHr1q0BALNmzULnzp2RkZEBU1NTWFhYQCKRwDmX7aQRFxeHhIQE1KhRQ6e9UaNG2qMdXbp00f7yf/9R7FWqVMH69evRpEkTpKSk5PnFn110dDRmzJiBmjVrAgCqVaum7TI6OjoaPXv2hK+vr3YdeXFzc8P06dO1wxMmTMDJkydx4MABnYKiXr16mDdvHgCgevXq2LhxI86cOUMFBSGk3KBTHnkQWVhA4uSU65/Y0fH//29nl2NesZ1dnvO+/ycq5JdfdmFhYbh+/Tr69+8PAJBIJOjbty+2b9+unebhw4do1qyZznzNmzfPc5lJSUl48eIFWrZsqdPeokUL/Pvvv/nGU69ePe3/XVxcAEDnFERxHT16FKGhoQgICEB6erq2/datW+jSpQs8PDxgaWmpLWaio6MLveypU6dixIgR8Pf3x7JlyxAeHq4dN3HiRCxevBgtW7bEvHnzcPfu3TyXo1arsWjRIvj6+sLOzg4WFhY4efJkjlje30bI2k762EaEEGIo6AhFHuyH5346gjEGlUoFiUSS54V52U+B6Nv27duhUql0Tg8wxiCXy7Fx48YyvwNBKpVq/6/ZJjzPF3p+BwcH2NjYaI9GaHh4eAAALC0ttdcspKamIiAgAAEBAfjpp5/g4OCA6OhoBAQEQKFQAABEIlGOTueUSqXO8Pz58zFgwAAcP34cJ06cwLx587B792706tULI0aMQEBAAI4fP44///wTS5cuxerVqzFhwoQcsa9cuRLr1q3D2rVr4evrC3Nzc0yePFkbS27bSLOdirKNCCHE0NERCiOjUqmwa9curF69GqGhodq/O3fuwNXVVXtaoFatWrh27ZrOvFevXs1zuVZWVnB1dcXly5d12q9cuYJatWoVO16ZTAa1Wp3vNCKRCH369MHu3bsLvFvl33//RXx8PJYtW4YPPvgANWvWzPFL38HBAcnJyUhNTdW25fbsDB8fH0yZMgV//vknevTogZ07d2rHubu744svvsCRI0cwbdo0bNu2Ldd4Ll++jG7dumHQoEGoX78+qlSpgkePHuWbAyGElEdUUBiZ3377DW/fvsXnn3+OunXr6vz17NlTe9pj0qRJ2LFjB4KCgvDo0SPMmzcPDx48yHfZM2bMwPLly7F//36EhYVh1qxZuHPnDiZNmlTseL28vBAREYHQ0FC8fv0amZmZuU73zTffwM3NDU2bNsWOHTtw9+5dhIeH4+jRo9rnbSDrqIVMJsOGDRvw33//4ZdffsGiRYt0ltWsWTOYmZlh9uzZCA8Px549e3TuLklPT8f48eNx/vx5REVF4fLly7hx44b2eorJkyfj5MmTiIiIwO3bt3Hu3Lk8i6rq1avj1KlTuHLlCh4+fIjRo0fjVSGunyGEkPKGCgojs337dvj7++d6WqNnz564efMm7t69i759+2LOnDn48ssv0ahRI0RFRWHMmDH5LnvixImYOnUqpk2bBl9fX5w8eRJHjhxB9erVix1vz5490aFDB7Rt2xYODg45bqnUsLe3x/Xr1zFkyBCsXLkSTZs2ha+vL+bPn4++fftqjxA4ODggODgYBw8eRO3atbFs2TKsWrVKZ1l2dnbYvXs3fv/9d+1tnO/fpikWixEfH48hQ4bAx8cHffr0QYcOHbQXTarVaowbNw61atVChw4d4OPjk+dFqV9//TUaNmyIgIAAtGnTBs7OzujevXuxtxchhBgrjmU/2VzOJCUlwdraGomJibCystIZl5GRgYiICHh7e8PExKRQyyvMNRTGIjAwEBcvXsSlS5dyHV+eci2IoeVanNdmYfA8j9jYWDg6OkIkKt+/J4wxV6VSidjYWO0dR4XFGENSUhKsrKz0+vqVSCRwdHTMcQ2QkIxxvxaXIeSa33doduV7b5BcMcYQHh6OM2fOoE6dOkKHQwghpByggqICSkxMRO3atSGTyTB79myhwyGEEFIO0G2jFZCNjU2eF0cSQgghxUFHKAghhBBSYlRQZF1TQIghodckIcTYVOiCQnPlclpamtChEKJD85o0pKvrCSEkPxX6GgqxWAwbGxvtkxbNzMwKvOXK0G4vLE2UqzBxpKWlITY2FjY2NtoHehFCiKETtKC4cOECVq5ciVu3biEmJgZHjx7N86FAX3zxBbZs2YJvv/0WkydP1lsMml4wC9tRE2MMPM9DJBJViC9ZylUYNjY2+fbQSgghhkbQgiI1NRX169fHZ599hh49euQ53dGjR3H16lWdzrD0heM4uLi4wNHRMUcHUrnheR7x8fGwt7evEA9VoVzLnlQqpSMThBCjI2hB0bFjR3Ts2DHfaZ4/f44JEybg5MmT6Ny5c6nFIhaLC/UhzvM8pFIpTExMBP/iKW2UKyGEkMIy6GsoeJ7H4MGDMWPGjEI/0TEzM1PnGQtJSUnaZemju2ie57WHx8s7yrX8qSh5wkhz1cRc1Lt8NPPo++4gzfYzpG1ojPu1uAwh16Ks26ALiuXLl0MikWDixImFnmfp0qVYsGBBjva4uDhkZGSUOCae55GYmAjGWLn/JUu5lj8VJU8Yaa4qlQqJiYlQq9VFmo8xhvT0dCDrNK6+aI7aSiSG81VhjPu1uAwh1+Tk5EJPazivkmxu3bqFdevW4fbt20V6gwQGBmLq1Kna4aSkJLi7u8PBwaHAjk0Kg+d5cBwHBweHCvFiplzLl4qSJ4w0V811XMXpHAxAqXQO5uDgYFC3Lxvjfi0uQ8i1KJ0TGmxBcfHiRcTGxsLDw0PbplarMW3aNKxduxaRkZG5zieXyyGXy3O0i0Qive0QjuP0ujxDRrmWPxUlTxhhrpq7jIpTFGjm02dBYajbz1DjKg1C51qU9RpsQTF48GD4+/vrtAUEBGDw4MEYPny4YHERQgghJCdBC4qUlBQ8efJEOxwREYHQ0FDY2dnBw8MD9vb2OtNLpVI4OzujRo0aAkRLCCGEkLwIWlDcvHkTbdu21Q5rrn0YOnQogoODBYyMEEIIIUUhaEHRpk2bIt3mlNd1E4QQQggRVvm/ooUQQgghpY4KCkIIIYSUGBUUhBBCCCkxKigIIYQQUmJUUBBCCCGkxKigIIQQQkiJUUFBCCGEkBKjgoIQQgghJUYFBSGEEEJKjAoKQgghhJQYFRSEEEIIKTEqKAghhBBSYlRQEEIIIaTEqKAghBBCSIlRQUEIIYSQEqOCghBCCCElRgUFIYQQQkqMCgpCCCGElJhE6AAIIUQIarUaPM8LHYYOxpjQIRBSbFRQEEIqJJ7nER8fD7VaLXQoAACZTAZra2uhwyCk2KigIIRUWGq1GiqVSugwAABisVjoEAgpEbqGghBCCCElRgUFIYQQQkqMCgpCCCGElBgVFIQQQggpMUELigsXLqBLly5wdXUFx3E4duyYdpxSqcTMmTPh6+sLc3NzuLq6YsiQIXjx4oWQIRNCCCEkF4IWFKmpqahfvz6+++67HOPS0tJw+/ZtzJkzB7dv38aRI0cQFhaGrl27ChIrIYQQQvIm6G2jHTt2RMeOHXMdZ21tjVOnTum0bdy4EU2bNkV0dDQ8PDzKKEpCCCGEFMSonkORmJgIjuNgY2OT5zSZmZnIzMzUDiclJQFZD7HRx1PxeJ4HY8zgnrBXGijX8qei5IlC5KoZbyhPp9TEWpyYNPPoOxdNTIb0eqHXcNnHUFhGU1BkZGRg5syZ6N+/P6ysrPKcbunSpViwYEGO9ri4OGRkZJQ4Dp7nkZiYCMYYRKLyfU0r5Vr+VJQ8UYhcVSoVEhMTDeZJmVKpFCqVCklJSUWOiTGG9PR0AADHcXqLSfOwLYnEcL4q6DVctpKTkws9reG8SvKhVCrRp08fMMawadOmfKcNDAzE1KlTtcNJSUlwd3eHg4NDvoVIYfE8D47j4ODgUCFezJRr+VJR8kQhclUqlUBWYWEI5HI5bG1twXFckWPSHJmwsrLSa0EhkUjg4OAAqVSqt2WWFL2Gy5aJiUmhpzX4gkJTTERFReHs2bMFFgVyuRxyuTxHu0gk0tsO4ThOr8szZJRr+VNR8kQBuYpEInAcp9cv4JLQxFrcmDTz6TMfQ32tGGpcpUHoXIuyXoMuKDTFxOPHj3Hu3DnY29sLHRIhhBBCciFoQZGSkoInT55ohyMiIhAaGgo7Ozu4uLigV69euH37Nn777Teo1Wq8fPkSAGBnZweZTCZg5IQQQgh5n6AFxc2bN9G2bVvtsObah6FDh2L+/Pn45ZdfAAANGjTQme/cuXNo06ZNGUdLCCGEkLwIWlC0adMm39ucDOV2LkIIIYTkr/xf0UIIIYSQUkcFBSGEEEJKjAoKQgghhJQYFRSEEEIIKTEqKAghhBBSYlRQEEIIIaTEqKAghBBCSIlRQUEIIYSQEqOCghBCCCElRgUFIYQQQkqMCgpCCCGElBgVFIQQQggpMSooCCGEEFJiVFAQQgghpMSooCCEEEJIiUmEDoAQQso7lpEB/vET8JGRYDExYC9egL15A1HNGpCNHaszbdqChVBHR4OzsgTn6ASRqws4NzeIqlcH5+oKjuMEy4OQ/FBBQQgpdWq1GjzPl+k6eZ6HSqWCUqmESJTzYCxjrNTWzdLTwd+5C/WtW1DfuwsWFQ3klr+paY4m/ulTsMhIvIvuHtTvj7SwgKhGDYj9/CBu0RwiN7dSy4GQoqKCghBS6nieR3x8PNRqdSGm1g/GGBITEwEgx696mUwGa2vrUlu38oftUP32W/4TcRygUuVsl0kBuRzIzMw5LiUF/K1b4G/dApQKiAYM0F/QhJQQFRSEkDKhVquhyu0LtJQwxrTrzF5QiMViva2Hf/wYnLc3OMn/f5yKGjUENAWFSATOywuiGjUgqlYNospu705d2NuDyyUOi++/h0qlAktPB4uJAR8TAxYVBT7sEdSPwoA3b7PW0Uh3xuRkqM6eheTjj8FZWOgtP0IKiwoKQggpIsbzUF+5AtWBg+DDwiCb8zUkrVppx4vr14ekUyeIGjeCuEEDcObmRV4HZ2oKrkoViKpUAVq2fLdexsCePoM69G+IqlXTmV507jyUu3dDGRQMib8/JL17QeTioodsCSkcKigIIaSQmFoN9fnzUO7bDxYdrW1X/fqbTkHBmZtDNmmi3tfPcRw4D3eIPNx142IMotOn3w1kZkJ1/DhUJ05A3LYNpP37Q+TunvsCCdEjKigIIaQAjDHwN25AsWMHWESkzjjO2xuSNq3BGBPsDgyO46D6cgZMzv8F9alTQHo6wPNQnzkL9bnzkHToAOmggeDs7QWJj1QMVFAQQkg++KdPofjue/B//63TLqpbF9J+/SBq3MgwbuWsXBmysWOAIYOh+vVXKI8eA5KSAJ6H6vffoTpzBtJ+/SDp1ROcTCZ0tKQcooKCEELywEc/RcbYsYBSqW0T+fhAOuJziOvXFzS2vHCWlpAOGADJp59CdfQolAcPAWlpQGYmlHv2QNz6Q3B0uykpBVRQEEJIHjj3yhD5+YG/fh2ck9O7QuKDDwzjiEQBOFPTd4VFp05Q/rQHqt9+g6RXT3p2BSk1gj56+8KFC+jSpQtcs57+duzYMZ3xjDHMnTsXLi4uMDU1hb+/Px4/fixYvISQ8o1le04Gx3GQjRsLSb9+MNm6BZIPPzSKYuJ9nI0NZOPGwuT77yDt109nHFOpoL53X7DYSPkiaEGRmpqK+vXr47vvvst1/IoVK7B+/Xps3rwZ165dg7m5OQICApCRkVHmsRJCyjf+yRNkfDEG6lu3dNpFzs6QDR8GzsREsNj0QeTtnSMH1b59yJw+HYr1G8DS0wWLjZQPgp7y6NixIzp27JjrOMYY1q5di6+//hrdunUDAOzatQtOTk44duwY+mWrtAkhpDgYz0N1+DCUwTsBlQqZq1bBdPNmcKX4JE1DwEc/hXLPXgCA6vhxqO/dg/zrryDy9BQ6NGKkDPYaioiICLx8+RL+/v7aNmtrazRr1gwhISF5FhSZmZnIfO+RtUlJSUDWo3/10ZcAz/PvbiEr434JhEC5lj9C5alZb2n2n5GdZn25rVOzDfikJGR+sxT8jRvacZydPfjUVIisrMos1vdjKs52yi/XPLm5QvrFF1D+8AOQmQkWHY2MCRMhnTQRko8+0onJkN4XFeW9CgPJtSjrNtiC4uXLlwAAJycnnXYnJyftuNwsXboUCxYsyNEeFxenl1MlPM8jMTHx3YNkculwqDyhXMsfofJUqVRITEws87480rMO42e/7kEqlSLz8WOkzZ0HLuvzhHEc+K5dwfftA4VE8u6WyzIklUqhUqmQlJRU5O2UX675av0h4FMdkjVrwEVFv7sTZMVKZPwdCn7oEIizOi+TSAznq6KivFdhILkmJycXelrDeZXoSWBgIKZOnaodTkpKgru7OxwcHGClh18cPM+D4zg4ODhUiBcz5Vq+CJWnMuu2y7LuywMArKyscnzJcpevIH3lSnCaHxlWVpDPmgVxQ78yiy87uVwOW1vbdw+pKuJ2yi/XAllZga1fD+V330H95ykAgPjUKUiiomC2aCEcHBwglUqLtsxSVFHeqzCQXE2KcO1QsQqK//77D1WqVCnOrIXm7OwMAHj16hVc3nse/atXr9CgQYM855PL5ZDL5TnaRSKR3nYIx3F6XZ4ho1zLHyHyFIlE7x4bXcZ3SGjWqVkv43kog4Oh2n/g/6epVg3yuXMgynY0tKxp9ktxt1P2XIs0r4kJ5NOmQVW3LhQbvwMUCrBHj5A2YQJU236AvIZPkZdZmirKexUGkGtR1lusCKtVq4a2bdti9+7dpXbHhbe3N5ydnXHmzBltW1JSEq5du4bmzZuXyjoJIeUbe/YMqiNHtcPS9u1hsma14MWEoZAEBMBk7bfgHBwAAJypGcQOlYQOixiJYhUUt2/fRr169TB16lQ4Oztj9OjRuH79epGXk5KSgtDQUISGhgJZF2KGhoYiOjoaHMdh8uTJWLx4MX755Rfcu3cPQ4YMgaurK7p3716csAkhFZzIwwOyL2cAYjEqzZoJky9ngMvliGZFJqpaFSbr10HUtCnMFi+C2NJS6JCIkShWQdGgQQOsW7cOL168wI4dOxATE4NWrVqhbt26WLNmDeLi4gq1nJs3b8LPzw9+fu/OW06dOhV+fn6YO3cuAODLL7/EhAkTMGrUKDRp0gQpKSn4448/inROhxBC3if58ENY7d4N6wEDjO4hVWWFs7ODyaKFELm66rTzaWlleqcOMS4lOikjkUjQo0cPHDx4EMuXL8eTJ08wffp0uLu7Y8iQIYiJicl3/jZt2ujc7qT5Cw4OBrLOHS1cuBAvX75ERkYGTp8+DR8fwzqXRwgxYJGRUGV7Ai8AiF2cBQnHmPHp6YgeMRIxX38NVoYX1xLjUaKC4ubNmxg7dixcXFywZs0aTJ8+HeHh4Th16hRevHihfSAVIYSUNf7hQ0gWLIRy8xYof/5F6HCMGmMMz6dOQ/rt20g8fATPJk8G/97zfghBcQuKNWvWwNfXFy1atMCLFy+wa9cuREVFYfHixfD29sYHH3yA4OBg3L59W/8RE0JIAdShocgMnA0uNfXd8PnzOfrpIIXHcRysu3UFsm4fTTl9Bk9HjoI6JUXo0IgBKVZBsWnTJgwYMABRUVE4duwYPvnkkxy3ljg6OmL79u36ipMQQgpFffUaMr+eA2TdgSZqUB/yb5aAE4uFDs2oWXXoAPfNm8CZmQEA0q5fx9MRI6EuwoOPSPlWrILi1KlTmDlzps7zIZB1WCw6OhoAIJPJMHToUP1ESQghhaC6fBmZCxcCWQ/S4hs1gmzhQnBZT3wkJWPRsiU8g4MgzurnJD00FNEjRlBRQYDiFhRVq1bF69evc7S/efMG3t7e+oiLEEKKRBUSAsWSb4CsUxviNm2gnjYVnEwmdGjlimm9evDYGQyxjQ0AIOPOXUR/PgLqMn5UOTE8xSoo8rptKCUlhW7pJISUOfXVa1AsXvL/xYS/P6QzpgMG1AdFeWJSs+a7osLWFgCQcfcuoj/7nIqKCq5I7zZNHxkcx2Hu3LkwyzqXBgBqtRrXrl3L97HYhBCibywzE4r164GsWxnFH7WFbOoUoAI8lllIJjVqwGNnMKKHDYf6zRuIbWzoIWEVXJEKir///hvIOkJx7949yN47lCiTyVC/fn1Mnz5d/1ESQkgeOLkc8sWLkDErEGK/BpBNnw5OLKYHMJUBEx8feO4MxustW+GyeBFEVFBUaEUqKM6dOwcAGD58ONatW6eX3jsJIaSkRFWqwGT9OnAODnQ3RxmTV68Ot1UrhQ6DGIBiHRMMCgqiYoIQIhj25k2OIxAiZ2cqJgyE8lUsYletoidqVjCFPkLRo0cPBAcHw8rKCj169Mh32iNHjugjNkIIyYF/9QqZU6dB1KQJZBPGUxFhYBTPniN6+HAonz6F6s1buCxZTH2mVBCFLiisra21LwrrrHuQCSGkLLGEBGTOng32+jXUJ05AaWMN2bBhQodF3qOIioTy5UsAQOKRI5A4OsBx8mShwyJloNAFRVBQUK7/J4SQssBSU5Hx1ddgz54DALjKbpB27y50WCQbi5Yt4bZyBZ5PmQowhvjNWyB1coJt//5Ch0ZKWbGuoUhPT0daWpp2OCoqCmvXrsWff/6pz9gIIQQAwBQKZM5fAPbkCQCAq1QJ8qVLwWU9XIkYFqsOHeA0e7Z2+OWixUg+fVrQmEjpK1ZB0a1bN+zatQsAkJCQgKZNm2L16tXo1q0bNm3apO8YCSEVGON5KFavAX/37rsGKyvIl34DkaOj0KGRfNgNHgT7kSPeDfA8nk+bjjTqMLJcK1ZBcfv2bXzwwQcAgEOHDsHZ2RlRUVHYtWsX1q9fr+8YCSEVmHLXLqjPn383IJdDvmgRRB4eQodFCsFhyhRYde0CZD2A7OmYscgMDxc6LFJKilVQpKWlwdLSEgDw559/okePHhCJRPjf//6HqKgofcdICKmgVH/8AdXefe8GOA6ywFkQ16whdFikkDiRCK6LF8O8ZUsAAJ+YiOiRI6HKpS8oYvyKVVBUq1YNx44dw9OnT3Hy5Em0b98eABAbG0vPpyCE6AVTKqE8eEg7LB3zBSTNmwsaEyk6TiaD27p1MKldGwBg0bq1tmMxUr4Uq6CYO3cupk+fDi8vLzRr1gzNs97kf/75J/z8/PQdIyGkAuKkUpisXgVRrZqQfPoppN26CR0SKSaxhTnct2yG86KFcJ47Fxx12lYuFWuv9urVC61atUJMTAzq16+vbW/Xrh0+/fRTfcZHCKnAOBsbyJcvp15DywGJgwNse/cWOgxSior9LnV2doazs7NOW9OmTfUREyGkgmKZmYBYrPMLlnqwLL8ywsKgCA+HVadOQodC9KBYBUVqaiqWLVuGM2fOIDY2FjzP64z/77//9BUfIaSCYIxBsXIVWHIy5F99Bc7KUuiQSClKPncOL6ZNB69UQlypEszpB6nRK1ZBMWLECPz1118YPHgwXFxc6DnthJASU/20B+qLFwEAGYGzYLJhAzhRsS7zIkYg9UoI+KwHJD6fMBFe+/dB5uUldFikBIpVUJw4cQLHjx9Hy6xbgQghpCRUFy9B+eOP7wY4DrLBQ6iYKOecZn4JRVQkUi9chDoxEU+/GAOvA/shpjsFjVax3rG2traws7PTfzSEkAqHDw+HYuVK7bD0s88g/l8zQWMipY+TSOC2Zg3k1asBABSRkXg+fTqYWi10aKSYilVQLFq0CHPnztXpz6M0qNVqzJkzB97e3jA1NUXVqlWxaNEiMMZKdb2EkLLB3r5F5rz5QGYmAEDcrh0kvXsJHRYpI2ILC1TetBliW1sAQOqFi4hbu07osEgxFeuUx+rVqxEeHg4nJyd4eXlBKpXqjL+tp+e1L1++HJs2bcLOnTtRp04d3Lx5E8OHD4e1tTUmTpyol3UQQoTBFApkLlgIFhcHABDVrAnZ5El0TVYFI6vsBre1axH92WeAWo34bdtgUrsWrDp2FDo0UkTFKii6l1GXwVeuXEG3bt3QuXNnAICXlxf27t2L69evl8n6CSGlgzEGxXffgX/4END0Hjp3DjiZTOjQiADMmzWF06xZeLVkCQDgxeyvIPP2hknNmkKHRoqgWAXFvHnz9B9JLlq0aIGtW7fi0aNH8PHxwZ07d3Dp0iWsWbMmz3kyMzORmXX4FACSkpIAADzP57i9tTh4ngdjTC/LMnSUa/kjVJ6a9WpOV6ouXID6j5PvRspkkM2bC9jZ6fV0pmZ9uS1Tsw3yGi+EksSUX676iKksXi/WA/oj/cEDJB07BqZQIP3+A8h8fHJMV1HeqzCQXIuy7mI/2CohIQGHDh1CeHg4ZsyYATs7O9y+fRtOTk5wc3Mr7mJ1zJo1C0lJSahZsybEYjHUajWWLFmCgQMH5jnP0qVLsWDBghztcXFxyMjIKHFMPM8jMTERjDGIyvlV6JRr+SNUniqVComJiVBrLrirXRviNq0hOv8XVKNHQenkBGQV//rCGEN6ejoA5DiNIpVKoVKpkJSU9P8xCawkMeWXa0mIxWIAgKSMnlQqGjMGkpgYmPTpjcxGjRAbG5tjmoryXoWB5JqcnFzoaTlWjJL27t278Pf3h7W1NSIjIxEWFoYqVarg66+/RnR0NHbt2lXUReZq3759mDFjBlauXIk6deogNDQUkydPxpo1azB06NBc58ntCIW7uzvevn2rl47LeJ5HXFwcHBwcKsSLmXItX4TKU6lUIi4uDiqVStvGGAP/4AHEdeuWyjoZY0hKSoKVlVWOL1m5XA5bW1u8fv1aJyYhlSSm/HItCYlEAgcHhxzXyQmporxXYSC5JiUlwdbWFomJiQV+hxar7Jw6dSqGDRuGFStWaLsxB4BOnTphwIABxVlkrmbMmIFZs2ahX79+AABfX19ERUVh6dKleRYUcrkc8lwe1SsSifS2QziO0+vyDBnlWv4IkadIJALHcTpfdhzHQeTrW6rr1awz+5esZhvkNk4oJY0pr1z1EZPQ7wnV69eQVKpkcHGVBaFzLcp6ixXhjRs3MHr06Bztbm5uePnyZXEWmau0tLQcyYjF4gpx7oyQ8iZz7z7wz54JHQYxIowxvN62DU8+bo/0e/eFDocUoFgFhVwu117s+L5Hjx7BwcFBH3EBALp06YIlS5bg+PHjiIyMxNGjR7FmzRrq0ZQQI5P088/I/OEHZEyYCNXVq0KHQ4xE4pEjiFu9Biw9Hc8nTYLq7VuhQyL5KFZB0bVrVyxcuBBKpRLIOiQTHR2NmTNnomfPnnoLbsOGDejVqxfGjh2LWrVqYfr06Rg9ejQWLVqkt3UQQkpX+v0HiFuY9Z5NSwMSEoQOiRgJ6y5dYNqgAQBA+eIFXnw5k56kacCKVVCsXr0aKSkpcHBwQHp6Olq3bo1q1arB0tISS7LuI9YHS0tLrF27FlFRUUhPT0d4eDgWL14MGd2rTohRUL19i2cTJ4ApFAAASadOkHToIHRYxEhwMhnc1n4LcVZXD6kXLyJ+02ahwyJ5KNZFmdbW1jh16hQuX76MO3fuICUlBQ0bNoS/v7/+IySEGCWmVuPFtOlQvYgBAIhr1YJ0zBdCh0WKQHORqOZotCDs7eG0YjlejBoN8DziN22CmXtloFs34WIiuSpyQcHzPIKDg3HkyBFERkaC4zh4e3vD2dkZjDGDuWKaECKs199vQuqVKwAAsb09TOfPA09HF40Kx3HgeR5v3rwR9nkd3t6QfzYcmT9sBxhD2jdLoWzcGHJ3d+FiIjkU6ZQHYwxdu3bFiBEj8Pz5c/j6+qJOnTqIiorCsGHD6GJJQggAIOXiRbz+/vt3AyIRnFeuhOi92/6IcVGr1VCpVIL+iXr1grh583cBJSfj+eQp4N975hARXpEKiuDgYFy4cAFnzpzB33//jb1792Lfvn24c+cOTp8+jbNnz+rtoVaEEOOkfPECL2Z8CWQ9M89hymSYNmksdFjEyHEcB9mM6eDcXAEAmQ8eIHbFygLnI2WnSAXF3r17MXv2bLRt2zbHuI8++gizZs3CTz/9pM/4CCFGJjXkKtSJiQAAi7ZtYf/550KHRMoJztwcpvPmAXI5ZN7esO3fT+iQyHuKVFDcvXsXHfK5Qrtjx464c+eOPuIihBgpm5494L51C0x8feG6bCm4CvA0Q1J2xFWqwHTJEnjs3wd5tWpCh0PeU6SLMt+8eQMnJ6c8xzs5OeEtPXiEkArP4oMPYN6qFV2kTUqFpEF9iC0shA6DZFOknw5qtTrfXufEYrHBdLRDCCk7LJf3PRUTpKzwCgXe7t0LRt0yCKpIRygYYxg2bFiunW8hq6dPQkjFwqelIXLgINh82h22gwdTIUHKlPL5czybPAUZ9+5BnZiESl/k7GeKlI0iFRR59fD5viFDhpQkHkKIEWGMIWbefGQ+fIhXDx9CFfcajtOmCh0WqUAyIyORcf9dx2Fx69fDtH49mGtuLyVlqkgFRVBQUOlFQggxOgn79yPp118BACJzc1j3oGfRkLJl0bIlKo0fh9cbNgI8j+fTZ8D7yGFI87nej5QOuvyaEFIs6ffu49WSb7TDLksWQ+7tLWhMpGKqNGYMzFu1AgCo4+PxfMpUMCEfF15BFasvD0LIO2q1GryBXQgmEokgFotLdR3qhAQ8nzRJ+6FtO2QwrKjTLyIQTiSC68oViOjRE6qYGKTfvo3Y1WvgNGum0KFVKFRQEFICPM8jPj5e2H4O3iMWi2Fvb1+qBQXjebyYOQvKFy8AAKb168Np+vRSWx8hhSGxtUXldWsROXAQoFTiTXAwTBv6wap9e6FDqzCooCCkhDT9HFQU8dt+QMpffwEAxLa2cFv7LTjq9IsYANN69eA0ayZeLVoMAIiZ/RVMfHwg8/ISOrQKga6hIIQUWurVa4hbt+7dAMfBdeVKSF1chA6LEC3bAQNg1akTAIBPSUH8DrqZoKzQEQpCSKGJra0grVwZyuhoVBo7FhatWgodEiE6OI6Dy6KFyHgUBovWreE4ZYrQIVUYVFAQQgrNpFYteB8+hLc//QT7kSOFDoeQXInMzeF98CBEpqZCh1KhUEFBCCkSsaUlKn3xhdBhEJIvKibKHl1DQQjJV+bjx3RPPzF66Q8eIGr4cKgTE4UOpdyigoIQkiflixeIGjQYUcOGQ/nqldDhEFIsyadPI6r/AKSFXMWLWYHUiVgpoYKCEJIrplDg2ZQpUCcmIv3WLcStXSd0SIQUi0mtWtpTICnnziF++3ahQyqXqKAghOTq1apVyLhzFwAgrVyZnjpIjJbUzQ2uq1YCWT3hxn27FqnXrgsdVrlDBQUh5YhIJALHcVAqlXn+qVSqfMcrlUq8PX4cb3f9+G6hUimcVq0Cb2ZW4Hx5/THGhN40pIKz+OADVBqTdTExz+P5tGlQxsYKHVa5YvB3eTx//hwzZ87EiRMnkJaWhmrVqiEoKAiNGzcWOjRCDA7HceB5Hm/evMn1ceCMMSRmXZTGZf1ay0797BlS58zVDpuMHYMkh0pIKuaHr0wmg7W1dbHmJUSfKo0bh/TQO0i9cgXq16/xYuo0eAQHgZMY/FehUTDoIxRv375Fy5YtIZVKceLECfzzzz9YvXo1bG1thQ6NEIOmeRx4bn/5jVOmpiJtwUIgLQ0AIG7TBlzHjnlOX5g/Q+nnhBBOLIbrqpWQZHVtnnbzJuLWrhU6rHLDoMuy5cuXw93dHUFB///oVG/qHpmQUqP4fhPYf/8BADh3d8gmT8rzSAYhxkhiZwe3td8iavAQQKVC/A/bYernB8t27YQOzegZdEHxyy+/ICAgAL1798Zff/0FNzc3jB07FiPzeUJfZmYmMjMztcNJSUlAVq+Q+uhmmud5MMYMrsvq0kC5Fn4+Q7lGQJNDXjFp2nMbpw4JgfqPP94NyOWQffUVYGJS4twKiqm05JerUDHlpyQx5ZerUDGVFk0cJflcMqlfH44zpiN26TJAIoHy9WuD/JwzhM/goqzboAuK//77D5s2bcLUqVMxe/Zs3LhxAxMnToRMJsPQoUNznWfp0qVYsGBBjva4uDhkZGSUOCae55GYmAjGGEQigz5jVGKUa8FUKhUSExMN5rC+VCqFSqVCUlJSntdQpKenA7ldQ1GjBkQdOkD8xx9QjRwBpZ0tkFWQl2ZMpSW/XIWKKT8liSnf/SpQTKVF8/4Ui8Ul+lxi7dtD/ugxZB99BEWd2og1wAs0DeEzODk5udDTcsxQys5cyGQyNG7cGFeuXNG2TZw4ETdu3EBISEiu8+R2hMLd3R1v376FlZVViWPieR5xcXFwcHCoEF+ylGv+lEol4uLiDKb7crlcDltbW7x+/TrXmBhjSEpKgpWVVZ5fPPyjRxD5+JRZTKUlv1yFiik/JYmpMPu1rGMqLWKxGADg4uJCn0tlICkpCba2tkhMTCzwO9Sgj1C4uLigdu3aOm21atXC4cOH85xHLpdDLpfnaBeJRHrbIRzH6XV5hoxyzZ/mNk1Duc5Ak0N+MWnG5TVeXKNGmcdUWvLKVciY8lLSmArar0LEVBo0cZTW55IyNhZSR0e9L7e4hP4MLtLnYalGUkItW7ZEWFiYTtujR4/g6ekpWEyElCeq8+fBR0YKHQYhgmNqNWLXrkV4QAdk/Puv0OEYJYMuKKZMmYKrV6/im2++wZMnT7Bnzx5s3boV48aNEzo0Qoye+tEjKFatRsbESVCdOiV0OIQI6u1PPyF+8xaw9HQ8mzQJ6iJcO0DeMeiCokmTJjh69Cj27t2LunXrYtGiRVi7di0GDhwodGiEGDWWnAzF4iWAUglkZoJ/Ei50SIQIyqZvX5jUqQMAUEZF40VgoMHc2WIsDLqgAIBPPvkE9+7dQ0ZGBh4+fJjvLaOEkELgeShWrADL6j1UVKsmpCM+FzoqQgQlksvhtm4dRFlPdU05fQZvgoKFDsuoGHxBQQjRL9Hhw+Bv3Hw3YG0N2eyvwEmlQodFiOBkld3gunyZdjh29Wqk3bwpaEzGhAoKQioQ9fXrEB3KuktKJII8cBZEjg5Ch0WIwbBs0wb2o0e/G1Cr8XzKVKhevxY6LKNABQUhFQQfEwPFipXgss4LS4cNg9jPT+iwCDE4DhMnwOx//wMAqOLi8HzadDADeQ6HIaOCgpAKgGVmInPRYiAlBQAgatECkj69hQ6LEIPEicVwW7USEod3R+/Srl3D602bhQ7L4FFBQUgFwN+/DxYRAQBgLi6QTZtqMA8qIsQQSSpVgtvabwGxGPKaNWHdravQIRk8KigIqQDEjRpBvmI5OBcXqKZPA2duLnRIhBg8s0aN4L5lC7z27YXMw0PocAyeQT96mxCiP2JfX8h/2AZFaqrQoRBiNCxatRQ6BKNBRygIKadYLr1DclkdKxFCiodPT0fC0WNCh2GQ6AgFIeUQU6uROWcuxHXrQNKvH7gK0LkbIaUtMyICzydOQubjxwAH2HTvLnRIBoU+ZQgphzJ37AB/6xaUO3dBsW6d0OEQUi6k37nzrpgA8HL+AmSEPRI6JINCBQUh5UzyiRNQ7Nv/bkAkgsTfX+iQCCkXbLp3h03vXgAAlpGB5xMnQp11KzahgoKQckX1+DHi5s3XDku/GA2xr6+gMRFSnjh9/TXktWsBABRRUXgx40swnhc6LINABQUh5QRLSEDq13PAMjIAAOL27SHpSvfOE6JPIrkcldetg8jKCgCQcu4c4jZsEDosg0AFBSHlAFOpkLlkCfisHkTFtWpCNmE8PbyKkFIgc3eH25o1QNbFzvGbNiPpjz+EDktwVFAQUg4ot2wFf/ceAEBcqRJM588HJ5MJHRYh5ZZFq5ZwnDFDO/wicDYyHj4UNCahUUFBiJFTnToF1S+/vBuQSuH87RqIKlUSOixCyj27YUNh3a0bAIClpyPh4CGhQxIUPYeCECMnql0HnKcnWFQUzCZPgkn9+kiOixM6LELKPY7j4LxwARSRkTBv2RKVxo8TOiRBUUFBiJETubnCZO23UF+8CHnnzkKHQ0iFIpLL4fnjLjrFSKc8CCkfODMzSAIChA6DkAopt2KCVygEiUVIVFAQYmQYz0N55Ij29lBCiGFJu3UL4e0DkHbzptChlCkqKAgxMspdu6DcshUZ06aDf/1a6HAIIe9Ju/03ooYNh+rlSzwbPwGKqCihQyozVFAQYkRUp09DtXcfAID99x9YRKTQIRFC3mNazxfmTZsCANQJCXg6+guoExOFDqtMUEFBiJFQP3gAxdr/7+hLOmoUxE0aCxoTIUQXJ5HAbe23kFWrCgBQREbi2cRJYBXgmgoqKAgxAnxMDDIXLASUSgCApHNnSLp3EzosQkguxJaWcN+8BWJ7ewBA2rVriFmwAIwxoUMrVVRQEGLgWGoqMufOA7IOm4r8/CAdO4Yeq02IAZNVdoP7dxu1d4AkHj6C+B9+EDqsUmVUBcWyZcvAcRwmT54sdCiElAmmViNzyTdg0dEAAK5yZci//gqchB4hQ4ihM23QAK7LlmqH41avQdIfJwWNqTQZTUFx48YNbNmyBfXq1RM6FELKBGMMyu83gb91612DpSXkCxeCs7AQOjRCSCFZdeoEh8mTtMMvAgOhKqdPsjWKgiIlJQUDBw7Etm3bYGtrK3Q4hJQNtRrs7Zt3/5dIIJ87ByI3V6GjIoQUkf3o0bDu3h2cTAbXJYshcXAQOqRSYRTHTceNG4fOnTvD398fixcvznfazMxMZGZmaoeTkpIAADzPg+f5EsfC8zwYY3pZlqGjXAs/X6lcbCUWQzp7NrB1G0TVq0Pk61vgejQ55BWTpr0sLw4rKKbSXG9+20GImPJTkphKa78a6nZC1nvPmDjNnwebwYNgUqtWoWM3hM/goqzb4AuKffv24fbt27hx40ahpl+6dCkWLFiQoz0uLg4ZeniyIM/zSExMBGMMIpFRHOApNsq1YCqVComJiVCr1aUX3MAB7/7NKo7zI5VKoVKpkJSUlGtMjDGkp6cDWR0blYWCYiot+eUqVEz5KUlMpbVfDXE7ad6fYrHY+D6X7O2RFBur08QYy3OfGcJncHJycqGnNeiC4unTp5g0aRJOnToFExOTQs0TGBiIqVOnaoeTkpLg7u4OBwcHWFlZlTgmnufBcRwcHByM78VcRJRrwZRZt3GqVCr9xBERAZiYQOTiUqz55XI5bG1twXFcrjFpft1ZWVmVWUFRUEylJb9chYopPyWJqbT2qyFuJ7FYDABwdHQ0+s+lhP0HkBpyBa6rV4PLyut9hvAZXNjvXhh6QXHr1i3ExsaiYcOG2ja1Wo0LFy5g48aNyMzM1L64NORyOeRyeY5liUQive0QjuP0ujxDRrnmTyQSgeM4vXyI87GxUHw9B0ythnzRQoh9fIq8DE0O+cWkGVdWBUVhYirNdee2XiFjyktJYyqN/Wqo2wl6/kwXwuvNWxC3di0AIPabb+A8d26u21joz+AifR6WaiQl1K5dO9y7dw+hoaHav8aNG2PgwIEIDQ3NUUwQYqxYcjIyv/oaLD4eSEiAcvsOgzlnTQjRP5O6dYGs278T9u5D/JYtQodUYgZ9hMLS0hJ169bVaTM3N4e9vX2OdkKMFcvIQOacuf//rAlXV8gDZxnML0JCiP5ZtGoJ1yWL8WLmLABA3Np1kDg6wabHp0KHVmwGfYSCkPKOKZXIXLgQ/MOH7xpsbCBfvBicjY3QoRFCSpl1t25wmPb/1/zFzJmD5LNnBY2pJAz6CEVuzp8/L3QIhOgFU6uhWLES/K3b7xrMzGDyzRJ61gQhFYj9iBFQvYrF2927AbUazydPgfvWLTD/3/+EDq3I6AgFIQJgjEG5cSPUFy68a5DLIV+0EKKqVYUOjRBShjiOg9PsQFh98gkAgCkUeDp2HNLv3BE6tCKjgoIQASiDgqH6/cS7AbEY8q+/gpiuCyKkQuJEIrgu/QYWbdsCAFhaGp5PnwGWdVu6saCCghABcOZmWf/hIJsxHeKmTYUOiRAiIE4qhdvab2HWrBnElSqh8sYN4KRSocMqEqO7hoKQ8kDaty84S0swtRqSrF8lhJCKTSSXo/J330H9Jh4yDw+je7w4FRSECETSqZPQIRBCDIzYwhxiC3OdNsbzUCUmQmLgnWPSKQ9CyoDqjz+gCgkROgxCiJFhajVefj0HUQMGQpmtHxBDQwUFIaVM9eefUKxdB8WixVBdvix0OIQQI5KxfQeSjh2DIiIC0cOGQxUXJ3RIeaKCgpBSpDpzBoo13wKMAWo1+If/Ch0SIcSIyLp2gdTNDQCg+O8/RA0bDtXr10KHlSsqKAgpJapz56BYtfpdMQFA0r0bpJ9/JnRYhBAjInZ2hntwEKSu7x54pwgPR9TQYQZZVFBBQUgpUJ08CcXyFUDWVdqSTz6B9IsvqH8OQkiRSd3c4LFrJySuLoCmqBhmeEUFFRSE6Jnyl1/+/zRH1t0c0nFjqZgghBSbrHJleO7cCYlLVlHxJBxRgwZDGRMjdGhaVFAQokfKgweh/O577bDk008hnTgBnIjeaoSQkpG5u8Nz13tFRWQkogYOguLpU6FDA6igIER/+Jcvodz1o3ZY0r8fpKNH0ZEJQojeyNzd4bX7R0g9PQAAIktLiK2shA4LoIKCEP0ROTtDPncuIJVCOmwYZMOGUTFBCNE7qZsbvHbvhuXHH8Nj+w8QW1sLHRJAT8okRL/ETRrDZNtWiLIOSRJCSGmQODig8ob1OdoZY4L9kKEjFIQUE5+ejqSjR8GyLr7UoGKCECIEdUoK0gR8Ii8VFIQUg+rtW0QPG47YufOg2H9A6HAIIRUcn5GBtJs3Yda8uWAxUEFBSBEpnz9H1ICBSL9zBwCQuWcPWEKC0GERQiowTiyGRevWgl63RQUFIUWQERaGyH79oYiIAACIK1WC+ZrV4GxshA6NEFKBcVKp4BeBU0FBSCElnz+PqP4DtJ3zyLy8UHn3jxBXqyZ0aIQQIji6y4MYDbVaDT7rUdb6xvM8VCoVlEolRNkeQsUYQ8KuHxG/+v/75ZDX84Xrxo0Q2dgABtz7HyGElBUqKIjR4Hke8fHxUKvVel82YwyJiYkAoHPYkCmVyFi3HsoTJ7Rtkg8/hGzml0jmOBjG3d+EECI8KiiIUVGr1VCpVHpfLmNMu2ydgiIlBaqsiy8BQDJwIKSDBkItEpVKYUMIIcaKrqEgJB+cpSXkCxcAdraQzZoJ2ZDB1C8HIYTkgo5QEJINy8wEJ5drh0Xu7jANCgJnYiJoXIQQYsgM/qfW0qVL0aRJE1haWsLR0RHdu3dHWFiY0GGR8kilguL775E5fTqYQqEziooJQgjJn8EXFH/99RfGjRuHq1ev4tSpU1AqlWjfvj1SU1OFDo2UI3xcHMTz5kP9y6/gHz2GctNmoUMihBCjYvCnPP744w+d4eDgYDg6OuLWrVv48MMPBYuLlB/qv/9G5tKlECUmvWuQSiGqTs+WIISQojD4giI7za19dnZ2uY7PzMxEZmamdjgp6d2XBM/zenmGAc/zYIyV2vMQDImh5aqJJ3tnXMXFVCqoftwN1YED2udLwNER8q+/gsjHp8D1aLaNPmMqqYJi0rSXZbxCbaf8cjXGfVfQvKWRi6FuJ2R9HpR3hvAZXJR1G1VBwfM8Jk+ejJYtW6Ju3bq5TrN06VIsWLAgR3tcXBwyMjL0EkNiYiIYYzkegFTeGFquKpUKiYmJ+rldMyYG4vXrIQr/T9ukrOcLNmkSlJaWQFYhmh+pVAqVSoWkpCSDuYW0oJgYY0hPTweyPW9DyJhKS365GuO+y09p7VdD3E6azyKxWGwQn0ulyRA+g5OTkws9rVEVFOPGjcP9+/dx6dKlPKcJDAzE1KlTtcNJSUlwd3eHg4MDrKysShwDz/PgOA4ODg4V4sVsSLkqlUogq7AoCdWfp6D8/ntAU2CKxZAMGQxF+/awsrEp9AeyXC6Hra0tOI4rlWdjFEdBMWl+3VlZWZVZQSHUdsovV2Pcd/kprf1qiNtJLBYDABwdHQ3ic6k0GcJnsEkRLkg3moJi/Pjx+O2333DhwgVUrlw5z+nkcjnk793ypyESifS2QziO0+vyDJkh5SoSicBxXMk/MONitcUEV9kN8lmzwFWrBi4pqUjL12wbvcSkJ4WJSTOurGIWcjvllaux7ruC5td3Poa6naDnz3RDJvRncFHWa/AFBWMMEyZMwNGjR3H+/Hl4e3sLHRIxcpL+/aG+dRuchwdkY74AZ2JiMOeHCSHEWBl8QTFu3Djs2bMHP//8MywtLfHy5UsAgLW1NUxNTYUOjxg49vYt1KGhkLRtq23jxGLIly3VeXgVIYSQkjH4gmLTpk0AgDZt2ui0BwUFYdiwYQJFRQwdYwzqs2eh2LQZSE0F5+oKcY0a2vFUTBBCiH4ZfEFBh6JJUfGvXkGx8Tvw169r25Q/bId45QpB4yKEkPLM4AsKQgqLKRRQHTwI5f4DwHvPIhG3bg3Z2DGCxkYIIeUdFRSkXFBdvQrl5i1gMTHaNs7ODtIJEyBp0VzQ2AghpCKggoIYNZaSgszlK3ROb0AkgqR7d0gHDQRnbi5keIQQUmFQQUGMm5kZkPU4dgAQ1a8P2dgxEHl5CRoWIYRUNFRQEKPCMjOBrCflAQAnEkE6biwUi5dAOmIExB9+YDAP4CGEkIqk/D9mjJQLTKlE4v79SBk4COpbt3XGiWvUgEnQDkhaf0jFBCGECISOUBCDxisUSDxyBPFbt0H54gUAQLFjB0z8GoB775GwnIReyoQQIiT6FCYGiU9PR8LBg4j/YTtUsbE640QuzkB6OkAXXBJCiMGggoIYFHVSEt7u3483wTuhjo/XGWfWqhW4/v3AqlUTLD5CCCG5o4KCGAx1YiKefNQOfGqqTruFfztUGv0FJDVrIDY21mC6USaEEPL/qKAgBkNsbQ2zpk2Rcu4cwHGw6tgB9qO/gEkNHwCAUqkUOkRCCCF5oIKClDlVfDwSj/2M1MuX4b51i84FlXbDh0Hq4gzbQYMhr0Jd1RNCiLGggoKUCaZWI/XyZSQcPITkc+eArNMWyafPwKpDgHY686ZNYd60qYCREkIIKQ4qKEipYYwhMywMScePI/HX36B6+TLHNGm3b+kUFIQQQowTFRSkVLzdtw9vdv0IxX//5RgnrlQJNp92h3WPHpB702kNQggpD6igICXGGAMAnadUKmNe6hYTYjEsPvgANr17weLDD8FJpUKESgghpJRQQUGKhSkUSL1xAylnzyH53Fl4bNsGedWq2vFWnTohfssWmDZuBOvOnWHZvj0k9vaCxkwIIaT0UEFBcqVWq6FSqaBSqaBUKsFxHBRPniA95CrSrl5F+s2bYOnp2ukTT52GrYeHdlhcxRteZ05D4ugIAGB6uO1TcySEEEKI4aGCguSK53m8efMGiX+cRHro31Df/hvszZvcJ5ZIkPz8OZTZHpENAMitrRhkMhmsra31sixCCCH6RwUFAQDwmZnIfPwEpnXraNvUajVw/TpUFy7kmJ6zs4OoYUOI/9cM4oYNwZmbl+oTLMXvdVlOCCHE8FBBUQHx6enIDAtDxsOHyPjnH2Q8+AcZjx8DajV8rl2F2NLy/6etWROiCxcAExOI6tWD2M8P4oZ+4Dw9qatwQgghWlRQVAB8Whre7tmDjEePkPnwITLD/wN4Ptdp00PvwOKDVtph1qQxZDVrQOzjQ3dmEEIIyRMVFEaOMQb127dQPnsGxdOnUERFQV61GqwC2mun4SQSxK5dp306ZQ4cB5m3N0wbNIDY1lZ3nLU1xO7udDSCEEJIvqigMCLpDx4g/e9QKJ8+heL5MyifPoPy6VPwaWk601l27KBbUMhkkHl4vHsuhFQKebVqMKldCya1asOkdm2Y1PCByNxcgIwIIYSUF1RQCIAxBj4lBeo3b6B++xaqt2+hfvMWqjfxUMXGQfXqFVTx8fD8cRc4kUg7X9Kvv+FNcHCBy1c8Cc/R5rJgPkTm5pBVqwaRTKb3nAghhFRsRlFQfPfdd1i5ciVevnyJ+vXrY8OGDWgqcAdSvEIBPjX1XWGQnAI+JRnq5GTwKangk5OhTnn3f6sOATCtV087X/q9e4jsPyDv0w/vUb99q/MwKImTk+4EUimkri6QVXaH1L0yZJUrQ1rZHfLq1XIsy6xJk5KmTAghhOTJ4AuK/fv3Y+rUqdi8eTOaNWuGtWvXIiAgAGFhYXDMemiSECI6dMy1s6vsZB7uOgWF2NKyUMUEAKhev9YpKMxbtoDLksWQVnaHzL0yJE5O4Oh2SkIIIQbA4AuKNWvWYOTIkRg+fDgAYPPmzTh+/Dh27NiBWbNmCRZXYa85UCcn6wyL7e0hr1ULElsbiG3tILa1hdjOFhJbW4ht7SBxdITUyRFiB4ccpyZMfHxg4uOj1zwIIYQQfTDogkKhUODWrVsIDAzUtolEIvj7+yMkJCTXeTIzM5GZmakdTkxMBAAkJCSAz+NWyaLgeR5JSUlgdeuCd3KEyMwcYksLiMwtILIwh8jcHCILS+3/4e6OhIQEnWXYBe3IfdkAFFl/SEt79ycQpVKJ1NRUpKWlQSKRCH6Xh0qlgkgkQmpq6rsHbukZY6zIuZZ2TMVRUEzFybO0Yyot+eVqjPsuP6W1Xw1xO4lEIqjVapiZmUH03jVm5ZHm+0YmkwmWa1JSElDIrg8MuqB4/fo11Go1nLJdO+Dk5IR///0313mWLl2KBQsW5Gj39PQstTgJIYSQ8iw5ObnA7g8MuqAojsDAQEydOlU7rOmTwt7eXi+Ve1JSEtzd3fH06VNYWVmVeHmGjHItfypKnqBcyy3KtWwxxpCcnAxXV9cCpzXogqJSpUoQi8V49eqVTvurV6/g7Oyc6zxyuRxyuVynzcbGRu+xWVlZlfsXswblWv5UlDxBuZZblGvZKWzHjAZ9Akomk6FRo0Y4c+aMto3neZw5cwbNmzcXNDZCCCGE/D+DPkIBAFOnTsXQoUPRuHFjNG3aFGvXrkVqaqr2rg9CCCGECM/gC4q+ffsiLi4Oc+fOxcuXL9GgQQP88ccfOS7ULCtyuRzz5s3LcVqlPKJcy5+Kkico13KLcjVcHCvMvSCEEEIIIfkw6GsoCCGEEGIcqKAghBBCSIlRQUEIIYSQEqOCghBCCCElVuEKiu+++w5eXl4wMTFBs2bNcP369ULNt2/fPnAch+7du+u0Dxs2DBzH6fx16NBBZ5o3b95g4MCBsLKygo2NDT7//HOkpKToNa/c6DvX7Hlq/lauXKmdxsvLK8f4ZcuW6T237IqSa3BwcI4YTUxMdKZhjGHu3LlwcXGBqakp/P398fjxY51pjGG/FpSrUqnEzJkz4evrC3Nzc7i6umLIkCF48eKFznLKy34tL+/XwuRqqO/Xon4uJSQkYNy4cXBxcYFcLoePjw9+//33Ii0zIyMD48aNg729PSwsLNCzZ88cD0wsDfrOdenSpWjSpAksLS3h6OiI7t27IywsTGcZbdq0ybFPv/jii1LLUQerQPbt28dkMhnbsWMHe/DgARs5ciSzsbFhr169yne+iIgI5ubmxj744APWrVs3nXFDhw5lHTp0YDExMdq/N2/e6EzToUMHVr9+fXb16lV28eJFVq1aNda/f/9SyVGjNHJ9P8eYmBi2Y8cOxnEcCw8P107j6enJFi5cqDNdSkpKqeXJipFrUFAQs7Ky0onx5cuXOtMsW7aMWVtbs2PHjrE7d+6wrl27Mm9vb5aenq6dxhj2a0G5JiQkMH9/f7Z//37277//spCQENa0aVPWqFEjneWUl/1aXt6vhcnVEN+vRc0zMzOTNW7cmHXq1IldunSJRUREsPPnz7PQ0NAiLfOLL75g7u7u7MyZM+zmzZvsf//7H2vRokWp5VlauQYEBLCgoCB2//59Fhoayjp16sQ8PDx09lnr1q3ZyJEjdfZpYmJiqeaqUaEKiqZNm7Jx48Zph9VqNXN1dWVLly7Ncx6VSsVatGjBfvjhBzZ06NBcC4rsbe/7559/GAB248YNbduJEycYx3Hs+fPnJc4pL6WRa3bdunVjH330kU6bp6cn+/bbb/WQQeEVNdegoCBmbW2d5/J4nmfOzs5s5cqV2raEhAQml8vZ3r17GTOi/VpQrrm5fv06A8CioqK0beVhv7Jy9H4tzn41hPdrUfPctGkTq1KlClMoFMVeZkJCApNKpezgwYPaaR4+fMgAsJCQED1lVvS4sitMrtnFxsYyAOyvv/7StrVu3ZpNmjSphNEXT4U55aHpCt3f31/bVlBX6ACwcOFCODo64vPPP89zmvPnz8PR0RE1atTAmDFjEB8frx0XEhICGxsbNG7cWNvm7+8PkUiEa9eu6SW37EozV41Xr17h+PHjuU67bNky2Nvbw8/PDytXroRKpSpBNvkrbq4pKSnw9PSEu7s7unXrhgcPHmjHRURE4OXLlzrLtLa2RrNmzbTLNKb9ml+uuUlMTATHcTn6wDH2/apRXt6vRdmvhvB+LU6ev/zyC5o3b45x48bByckJdevWxTfffKPtSr0wy7x16xaUSqXONDVr1oSHh0e+29fQcs1NYmIiAMDOzk6n/aeffkKlSpVQt25dBAYGIi0tTW+55cfgn5SpL8XpCv3SpUvYvn07QkND81xuhw4d0KNHD3h7eyM8PByzZ89Gx44dERISArFYjJcvX8LR0VFnHolEAjs7O7x8+VJP2ekqrVzft3PnTlhaWqJHjx467RMnTkTDhg1hZ2eHK1euIDAwEDExMVizZk0JMspbcXKtUaMGduzYgXr16iExMRGrVq1CixYt8ODBA1SuXFm7X3JbpmacsezXgnLNLiMjAzNnzkT//v11OiMqD/sV5ej9WtT9agjv1+Lk+d9//+Hs2bMYOHAgfv/9dzx58gRjx46FUqnEvHnzCrXMly9fQiaT5SiQ338/61tp5Jodz/OYPHkyWrZsibp162rbBwwYAE9PT7i6uuLu3buYOXMmwsLCcOTIkVLIVFeFKSiKKjk5GYMHD8a2bdtQqVKlPKfr16+f9v++vr6oV68eqlativPnz6Ndu3ZlFG3JFDbX9+3YsQMDBw7McSHY+13H16tXDzKZDKNHj8bSpUsN5vGxzZs31+lcrkWLFqhVqxa2bNmCRYsWCRqbvhUlV6VSiT59+oAxhk2bNumMKy/7tTy8X1GM17Cxvl95noejoyO2bt0KsViMRo0a4fnz51i5cmWuX7LGrKi5jhs3Dvfv38elS5d02keNGqX9v6+vL1xcXNCuXTuEh4ejatWqpZpDhSkoitoVenh4OCIjI9GlSxdtG8/zQNYvlrCwsFx3TpUqVVCpUiU8efIE7dq1g7OzM2JjY3WmUalUePPmTZ5dsJdUaed68eJFhIWFYf/+/QXG0qxZM6hUKkRGRqJGjRolzCyn4nRxn51UKoWfnx+ePHkCANr5Xr16BRcXF51lNmjQQDuNoe/X3GTPVUNTTERFReHs2bMFdpVsjPs1N8b4fs1Nfrkayvu1OHm6uLhAKpVCLBZr22rVqoWXL19CoVAUapnOzs5QKBRISEjQOUpRlO1bVKWRq0wm07aPHz8ev/32Gy5cuJDrEan3NWvWDADw5MmTUi8oKsw1FEXtCr1mzZq4d+8eQkNDtX9du3ZF27ZtERoaCnd391zX8+zZM8THx2u/iJo3b46EhATcunVLO83Zs2fB87x2Rxtbrtu3b0ejRo1Qv379AmMJDQ2FSCTKcRhZX/TRxb1arca9e/e0+8zb2xvOzs46y0xKSsK1a9e0yzSG/Zqb7LnivWLi8ePHOH36NOzt7QtcjjHu19wY4/s1N/nlaijv1+Lk2bJlSzx58kT7AwcAHj16BBcXF8hkskIts1GjRpBKpTrThIWFITo6utDb1xByRdbt7OPHj8fRo0dx9uxZeHt7FxiL5jR2fu8DvRHkUlCB7Nu3j8nlchYcHMz++ecfNmrUKGZjY6O93Wrw4MFs1qxZec6f/Qrx5ORkNn36dBYSEsIiIiLY6dOnWcOGDVn16tVZRkaGdroOHTowPz8/du3aNXbp0iVWvXr1MrkNTZ+5aiQmJjIzMzO2adOmHOOuXLnCvv32WxYaGsrCw8PZ7t27mYODAxsyZIies9NV1FwXLFjATp48ycLDw9mtW7dYv379mImJCXvw4IF2mmXLljEbGxv2888/s7t377Ju3brletuooe/XgnJVKBSsa9eurHLlyiw0NFTnVrPMzEzGytF+LU/v18K8hpkBvl+Lmmd0dDSztLRk48ePZ2FhYey3335jjo6ObPHixYVeJsu6bdTDw4OdPXuW3bx5kzVv3pw1b9681PIsrVzHjBnDrK2t2fnz53Xeq2lpaYwxxp48ecIWLlzIbt68ySIiItjPP//MqlSpwj788MNSzVWjQhUUjDG2YcMG5uHhwWQyGWvatCm7evWqdlzr1q3Z0KFD85w3+5dsWloaa9++PXNwcGBSqZR5enqykSNH5rgfPD4+nvXv359ZWFgwKysrNnz4cJacnFxKGf4/feaqsWXLFmZqasoSEhJyjLt16xZr1qwZs7a2ZiYmJqxWrVrsm2++0fmwLi1FyXXy5MnaaZ2cnFinTp3Y7du3dZbH8zybM2cOc3JyYnK5nLVr146FhYXpTGMM+7WgXCMiIhiAXP/OnTvHWDnar+Xp/VqY1zAz0PdrUT+Xrly5wpo1a8bkcjmrUqUKW7JkCVOpVIVeJmOMpaens7FjxzJbW1tmZmbGPv30UxYTE1OqeRYUV3Fyzeu9GhQUxFhWUfLhhx8yOzs7JpfLWbVq1diMGTPK7DkU1H05IYQQQkqswlxDQQghhJDSQwUFIYQQQkqMCgpCCCGElBgVFIQQQggpMSooCCGEEFJiVFAQQgghpMSooCCEEEJIiVFBQQghhJASo4KCEAHNnz9f2+FYSQQHB+fonpkYr7CwMDg7OyM5ORnIZf/q63WjDwqFAl5eXrh586bQoRCBUUFBjA7Hcfn+zZ8/X+gQC2369Ok6HQgVV9++ffHo0SO9xFQS58+fB8dxSEhIyHe6jIwMDBs2DL6+vpBIJOjevXuhlu/l5ZVjfy9btkw7PjIyMtfXxNWrV3WWc/DgQdSsWRMmJibw9fXF77//XsyMS0dgYCAmTJgAS0vLXMfr63WjDzKZDNOnT8fMmTOFDoUIrMJ0X07Kj5iYGO3/9+/fj7lz5yIsLEzbZmFhof0/YwxqtRoSiWG+1C0sLHTiLS5TU1OYmprqJaayoFarYWpqiokTJ+Lw4cNFmnfhwoUYOXKkdji3L93Tp0+jTp062uH3e1C9cuUK+vfvj6VLl+KTTz7Bnj170L17d9y+fRt169Ytdk76Eh0djd9++w0bNmzIcxp9vW5KStOt9sCBAzFt2jQ8ePBAZ7uTioWOUBCj4+zsrP2ztrYGx3Ha4X///ReWlpY4ceIEGjVqBLlcjkuXLiE8PBzdunWDk5MTLCws0KRJE5w+fVpnuV5eXvjmm2/w2WefwdLSEh4eHti6dat2vEKhwPjx4+Hi4gITExN4enpi6dKl2vEcx2HLli345JNPYGZmhlq1aiEkJARPnjxBmzZtYG5ujhYtWiA8PFw7T/ZD1+fPn0fTpk1hbm4OGxsbtGzZElFRUQCAO3fuoG3btrC0tISVlRUaNWqkPcyc2ymPTZs2oWrVqpDJZKhRowZ+/PFHnfEcx+GHH37Ap59+CjMzM1SvXh2//PJLvtv+xx9/ROPGjWFpaQlnZ2cMGDAAsbGxQNbRgbZt2wIAbG1twXEchg0blutyzM3NsWnTJowcORLOzs75rjM7zbo1f+bm5jmmsbe315lGKpVqx61btw4dOnTAjBkzUKtWLSxatAgNGzbExo0b81znsGHDchxFmTx5Mtq0aaMdbtOmDSZMmIDJkyfD1tYWTk5O2LZtG1JTUzF8+HBYWlqiWrVqOHHiRL75HThwAPXr14ebm1ue02R/3WjiW7VqFVxcXGBvb49x48ZBqVRqp8nMzMT06dPh5uYGc3NzNGvWDOfPn9eOj4+PR//+/eHm5gYzMzP4+vpi7969Outt06YNxo8fj8mTJ6NSpUoICAgAsvZ3y5YtsW/fvnxzI+UbFRSkXJo1axaWLVuGhw8fol69ekhJSUGnTp1w5swZ/P333+jQoQO6dOmC6OhonflWr16Nxo0b4++//8bYsWMxZswY7dGP9evX45dffsGBAwcQFhaGn376CV5eXjrzL1q0CEOGDEFoaChq1qyJAQMGYPTo0QgMDMTNmzfBGMP48eNzjVmlUqF79+5o3bo17t69i5CQEIwaNQocxwEABg4ciMqVK+PGjRu4desWZs2apfNF+b6jR49i0qRJmDZtGu7fv4/Ro0dj+PDhOHfunM50CxYsQJ8+fXD37l106tQJAwcOxJs3b/LcrkqlEosWLcKdO3dw7NgxREZGaosGd3d37dGGsLAwxMTEYN26dYXYW0WzbNky2Nvbw8/PDytXroRKpcoxTdeuXeHo6IhWrVrlKJJCQkLg7++v0xYQEICQkJASx7Zz505UqlQJ169fx4QJEzBmzBj07t0bLVq0wO3bt9G+fXsMHjwYaWlpeS7j4sWLaNy4cZHXfe7cOYSHh+PcuXPYuXMngoODERwcrB0/fvx4hISEYN++fbh79y569+6NDh064PHjx0DWaahGjRrh+PHjuH//PkaNGoXBgwfj+vXrOXKUyWS4fPkyNm/erG1v2rQpLl68WOS4STlSJn2aElJKgoKCmLW1tXb43LlzDAA7duxYgfPWqVOHbdiwQTvs6enJBg0apB3meZ45OjqyTZs2McYYmzBhAvvoo48Yz/O5Lg8A+/rrr7XDISEhDADbvn27tm3v3r3MxMREOzxv3jxWv359xrK6zQbAzp8/n+vyLS0tWXBwcKG2Q4sWLdjIkSN1punduzfr1KlTnvGmpKQwAOzEiRO5riM3N27cYAC03Xtrtv/bt28LvYyhQ4eybt26FWra1atXs3PnzrE7d+6wTZs2MRsbGzZlyhTt+Li4OLZ69Wp29epVdv36dTZz5kzGcRz7+eeftdNIpVK2Z88eneV+9913zNHRsUgxTpo0ibVu3Vo73Lp1a9aqVSvtsEqlYubm5mzw4MHatpiYGAaAhYSE5Lmu+vXrs4ULF+q0Zd+/779uNPF5enrqdHXdu3dv1rdvX8YYY1FRUUwsFrPnz5/rLLddu3YsMDAwz1g6d+7Mpk2bppOjn59frtOuW7eOeXl55bksUv4Z5ollQkoo+y+8lJQUzJ8/H8ePH0dMTAxUKhXS09NzHKGoV6+e9v+aUymaQ/rDhg3Dxx9/jBo1aqBDhw745JNP0L59+zznd3JyAgD4+vrqtGVkZCApKQlWVlY689rZ2WHYsGEICAjAxx9/DH9/f/Tp0wcuLi4AgKlTp2LEiBH48ccf4e/vj969e6Nq1aq55v/w4UOMGjVKp61ly5Y5jhi8H6+5uTmsrKy0+ebm1q1bmD9/Pu7cuYO3b9+C53kg67x/7dq185xPX6ZOnar9f7169SCTyTB69GgsXboUcrkclSpV0pmmSZMmePHiBVauXImuXbuWenzvb0+xWAx7e/sc+x9Avts4PT0dJiYmRV53nTp1IBaLtcMuLi64d+8eAODevXtQq9Xw8fHRmSczM1N7fYlarcY333yDAwcO4Pnz51AoFMjMzISZmZnOPI0aNcp1/aampvkeeSHlH53yIOVS9vPq06dPx9GjR/HNN9/g4sWLCA0Nha+vLxQKhc502U8hcByn/dJs2LAhIiIisGjRIqSnp6NPnz7o1atXnvNrTlXk1qZZZnZBQUEICQlBixYtsH//fvj4+GjvUJg/fz4ePHiAzp074+zZs6hduzaOHj1arO1TmHyzS01NRUBAAKysrPDTTz/hxo0b2vVn345lpVmzZlCpVIiMjMx3midPnmiHnZ2d8erVK51pXr16VeRrOdRqdY623LZnUfY/AFSqVAlv374tUix5rVuznpSUFIjFYty6dQuhoaHav4cPH2qLzJUrV2LdunWYOXMmzp07h9DQUAQEBOTYt7ldswIAb968gYODQ5HjJuUHFRSkQrh8+TKGDRuGTz/9FL6+vnB2ds73SygvVlZW6Nu3L7Zt24b9+/fj8OHD+V5zUBx+fn4IDAzElStXULduXezZs0c7zsfHB1OmTMGff/6JHj16ICgoKNdl1KpVC5cvX9Zpu3z5comOIvz777+Ij4/HsmXL8MEHH6BmzZo5fmnLZDIgjy/b0hAaGgqRSARHR8d8p9Ec5QGA5s2b57jl8tSpU2jevHm+68pehPz333/Fjjs/fn5++Oeff/S+TLVajdjYWFSrVk3nT1NIXb58Gd26dcOgQYNQv359VKlSpUi3It+/fx9+fn56jZsYFzrlQSqE6tWr48iRI+jSpQs4jsOcOXPy/ZWYmzVr1sDFxQV+fn4QiUQ4ePAgnJ2d9fZAqYiICGzduhVdu3aFq6srwsLC8PjxYwwZMgTp6emYMWMGevXqBW9vbzx79gw3btxAz549c13WjBkz0KdPH/j5+cHf3x+//vorjhw5kuPOlqLw8PCATCbDhg0b8MUXX+D+/ftYtGiRzjSenp7gOA6//fYbOnXqBFNT0zxvb/znn3+gUCjw5s0bJCcnIzQ0FAC0dy9cv34dQ4YMwZkzZ+Dm5oaQkBBcu3ZNe6dLSEgIpkyZgkGDBsHW1hZ474JBzRfbkSNHsGPHDvzwww/a9U6aNAmtW7fG6tWr0blzZ+zbtw83b97UuaMnN9euXcO2bdvQrl07nD17FidPnkTVqlUREREBb2/vYm/X7AICAjBixAio1WqdUxgl4ePjg4EDB2LIkCFYvXo1/Pz8EBcXhzNnzqBevXro3LkzqlevjkOHDuHKlSuwtbXFmjVr8OrVq0IXoRcvXszxeiAVCx2hIBXCmjVrYGtrixYtWqBLly4ICAhAw4YNi7QMS0tLrFixAo0bN0aTJk0QGRmJ33//HSKRft5GZmZm+Pfff9GzZ0/4+Phg1KhRGDduHEaPHg2xWIz4+HgMGTIEPj4+6NOnDzp27IgFCxbkuqzu3btj3bp1WLVqFerUqYMtW7YgKChI5zbHonJwcEBwcDAOHjyI2rVrY9myZVi1apXONG5ubliwYAFmzZoFJyenPO9oAYBOnTrBz88Pv/76K86fPw8/Pz+dX7hpaWkICwvT3vool8uxb98+tG7dGnXq1MGSJUswZcqUHIXAokWL0KhRIzRr1gw///wz9u/fj+HDh2vHt2jRAnv27MHWrVtRv359HDp0CMeOHSvwGRRt27bF4cOHUatWLWzbtg1BQUGIiYnBypUri7wt89OxY0dIJJISFX+5CQoKwpAhQzBt2jTUqFED3bt3x40bN+Dh4QEA+Prrr9GwYUMEBASgTZs2cHZ2LvQDx0JCQpCYmJjjFCCpWDj27mpvQggheRg2bBgSEhJw7NixMlnfd999h19++QUnT54sk/WVVN++fVG/fn3Mnj1b6FCIgOiUByGEGJjRo0cjISEBycnJeT5+21AoFAr4+vpiypQpQodCBEZHKAghpABlfYSCEGNEBQUhhBBCSowuyiSEEEJIiVFBQQghhJASo4KCEEIIISVGBQUhhBBCSowKCkIIIYSUGBUUhBBCCCkxKigIIYQQUmJUUBBCCCGkxP4PyA7A3BV2h2wAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "ax.hist(\n", + " eta_center,\n", + " bins=\"auto\",\n", + " color=\"lightgray\",\n", + " edgecolor=\"white\",\n", + " alpha=0.7,\n", + " density=True,\n", + " label=\"Monte Carlo\",\n", + ")\n", + "\n", + "x = np.linspace(eta_center.min() * 0.95, eta_center.max() * 1.05, 300)\n", + "pdf = norm.pdf(x, loc=adj_summary[\"mean_linear\"], scale=adj_summary[\"std_linear\"])\n", + "ax.plot(x, pdf, color=\"tab:red\", linewidth=2, linestyle=\"--\", label=\"Adjoint Gaussian\")\n", + "\n", + "ax.set_xlabel(f\"Transmission at {center_wavelength:.3f} µm (linear)\")\n", + "ax.set_ylabel(\"Density\")\n", + "ax.set_title(\"Monte Carlo vs Adjoint Sensitivity\")\n", + "ax.grid(True, alpha=0.3)\n", + "ax.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "025977d9", + "metadata": {}, + "source": [ + "## Analysis and Conclusion\n", + "\n", + "The ±20 nm sweep already hinted that the design is somewhat brittle: the peak efficiency drops by roughly a dB and the optimal wavelength shifts under bias. The Monte Carlo and adjoint statistics confirm that fabrication variability will erode performance across a wafer. To address this we need to optimize directly for robustness.\n", + "\n", + "## Next Step: Designing for Robustness\n", + "\n", + "In the next notebook we will incorporate the process variations into the objective function itself, searching for geometries that maintain high efficiency across the biased scenarios rather than just at the nominal point." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/2025-10-09-invdes-seminar/04_adjoint_robust.ipynb b/2025-10-09-invdes-seminar/04_adjoint_robust.ipynb new file mode 100644 index 00000000..efb96f4e --- /dev/null +++ b/2025-10-09-invdes-seminar/04_adjoint_robust.ipynb @@ -0,0 +1,441 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ec818b9b", + "metadata": {}, + "source": [ + "# Robust Adjoint Optimization for Manufacturability\n", + "\n", + "> In the previous notebook, we discovered that our apodized grating is somewhat brittle: realistic ±20 nm fabrication errors can reduce efficiency by almost a decibel. A design that only works on paper is not a practical solution.\n", + "\n", + "> In this final notebook we incorporate fabrication awareness directly into the adjoint optimization loop. Instead of optimizing a single, nominal simulation, we will maximize the performance across multiple fabrication corners so the resulting device maintains high efficiency even when etched dimensions shift on the wafer." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b47bfd9", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "from copy import deepcopy\n", + "from pathlib import Path\n", + "\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import tidy3d as td\n", + "from autograd import value_and_grad\n", + "from optim import adam_update, apply_updates, clip_params, init_adam\n", + "from setup import (\n", + " center_wavelength,\n", + " first_gap_sin,\n", + " get_mode_monitor_power,\n", + " make_simulation,\n", + " max_gap_si,\n", + " max_gap_sin,\n", + " max_width_si,\n", + " max_width_sin,\n", + " min_gap_si,\n", + " min_gap_sin,\n", + " min_width_si,\n", + " min_width_sin,\n", + ")\n", + "from tidy3d import web\n", + "\n", + "ETCH_BIAS = 0.02 # 20 nm fabrication bias expressed in microns.\n", + "\n", + "\n", + "def apply_bias(param_dict, etch_bias):\n", + " \"\"\"Return a new parameter dictionary with widths widened by bias.\"\"\"\n", + " return {\n", + " \"widths_si\": param_dict[\"widths_si\"] + etch_bias,\n", + " \"gaps_si\": param_dict[\"gaps_si\"] - etch_bias,\n", + " \"widths_sin\": param_dict[\"widths_sin\"] + etch_bias,\n", + " \"gaps_sin\": param_dict[\"gaps_sin\"] - etch_bias,\n", + " \"first_gap_si\": param_dict[\"first_gap_si\"],\n", + " \"first_gap_sin\": param_dict[\"first_gap_sin\"],\n", + " }" + ] + }, + { + "cell_type": "markdown", + "id": "5aab0e16", + "metadata": {}, + "source": [ + "## Defining a Robust Multi-Objective Function\n", + "\n", + "We evaluate the design under three fabrication scenarios: nominal, over-etched (−20 nm), and under-etched (+20 nm). We then maximize the mean transmission and simultaneously minimize the standard deviation in performance between these different scenarios, which should lead to a more robust design overall. The amount of weight we place on the standard deviation minimization determines the tradeoff between nominal performance and robustness." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f55644b3", + "metadata": {}, + "outputs": [], + "source": [ + "STD_PENALTY = 2.0 # Penalty for standard deviation in power\n", + "\n", + "\n", + "def robust_objective(params):\n", + " freq0 = td.C_0 / center_wavelength\n", + " scenarios = {\n", + " \"nominal\": params,\n", + " \"over\": apply_bias(params, -ETCH_BIAS),\n", + " \"under\": apply_bias(params, ETCH_BIAS),\n", + " }\n", + "\n", + " sims = {\n", + " name: make_simulation(\n", + " scenario[\"widths_si\"],\n", + " scenario[\"gaps_si\"],\n", + " scenario[\"widths_sin\"],\n", + " scenario[\"gaps_sin\"],\n", + " first_gap_si=scenario[\"first_gap_si\"],\n", + " first_gap_sin=scenario[\"first_gap_sin\"],\n", + " )\n", + " for name, scenario in scenarios.items()\n", + " }\n", + "\n", + " batch_data = web.run_async(sims, verbose=False, local_gradient=True)\n", + "\n", + " powers = []\n", + " for name in (\"nominal\", \"over\", \"under\"):\n", + " sim_data = batch_data[name]\n", + " power_da = get_mode_monitor_power(sim_data)\n", + " target_power = power_da.sel(f=freq0, method=\"nearest\")\n", + " powers.append(target_power.item())\n", + "\n", + " powers = np.array(powers)\n", + " mean_power = np.mean(powers)\n", + " variance = np.mean((powers - mean_power) ** 2)\n", + " std_power = np.sqrt(variance)\n", + " robust_metric = mean_power - STD_PENALTY * std_power\n", + "\n", + " return -robust_metric" + ] + }, + { + "cell_type": "markdown", + "id": "1f242f7e", + "metadata": {}, + "source": [ + "### Starting Point and Bounds\n", + "\n", + "We seed the optimizer with the fabrication-sensitive adjoint design and enforce the same foundry limits as before so the updates remain manufacturable." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "d0e4d00e", + "metadata": {}, + "outputs": [], + "source": [ + "data = json.loads(Path(\"./results/gc_adjoint_best.json\").read_text(encoding=\"utf-8\"))\n", + "\n", + "num_iters = 40\n", + "\n", + "params0 = {\n", + " \"widths_si\": np.array(data[\"widths_si\"], dtype=float),\n", + " \"gaps_si\": np.array(data[\"gaps_si\"], dtype=float),\n", + " \"widths_sin\": np.array(data[\"widths_sin\"], dtype=float),\n", + " \"gaps_sin\": np.array(data[\"gaps_sin\"], dtype=float),\n", + " \"first_gap_si\": float(data[\"first_gap_si\"]),\n", + " \"first_gap_sin\": float(data.get(\"first_gap_sin\", first_gap_sin)),\n", + "}\n", + "\n", + "bounds = {\n", + " \"widths_si\": (min_width_si, max_width_si),\n", + " \"gaps_si\": (min_gap_si, max_gap_si),\n", + " \"widths_sin\": (min_width_sin, max_width_sin),\n", + " \"gaps_sin\": (min_gap_sin, max_gap_sin),\n", + " \"first_gap_si\": (None, None),\n", + " \"first_gap_sin\": (min_gap_sin, None),\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "93e0619d", + "metadata": {}, + "source": [ + "## Running the Robust Optimization\n", + "\n", + "Starting from the adjoint-optimized design found earlier, we use Adam to minimize the robust objective." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd52c91f", + "metadata": {}, + "outputs": [], + "source": [ + "vg_fun = value_and_grad(robust_objective)\n", + "params = deepcopy(params0)\n", + "opt_state = init_adam(params, lr=1e-3)\n", + "\n", + "objective_history = []\n", + "\n", + "for n in range(num_iters):\n", + " value, grad = vg_fun(params)\n", + " objective_value = -value\n", + "\n", + " objective_history.append(objective_value)\n", + " print(f\"iter {n}: objective={objective_value:.4f}\")\n", + "\n", + " updates, opt_state = adam_update(grad, opt_state)\n", + " params = apply_updates(params, updates)\n", + " params = clip_params(params, bounds)" + ] + }, + { + "cell_type": "markdown", + "id": "a509ddc7", + "metadata": {}, + "source": [ + "### Tracking Progress\n", + "\n", + "Plotting the objective over iterations lets us confirm that the robust objective steadily improves (higher is better)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "3732b06c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "ax.plot(np.arange(len(objective_history)), objective_history, marker=\"o\")\n", + "ax.set_xlabel(\"Iteration\")\n", + "ax.set_ylabel(\"Objective\")\n", + "ax.set_title(\"Robust adjoint optimization history\")\n", + "ax.grid(True, alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "fb0cbd5c", + "metadata": {}, + "source": [ + "### Pre- and Post-Optimization Bias Sweeps\n", + "\n", + "To visualize the payoff, we re-run the ±20 nm fabrication corners for the original and robust designs. This mirrors the analysis step from the sensitivity notebook so we can compare apples to apples." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "90b134cd", + "metadata": {}, + "outputs": [], + "source": [ + "def to_numpy_params(param_dict):\n", + " \"\"\"Detach autograd arrays into plain numpy arrays for analysis/export.\"\"\"\n", + " return {\n", + " \"widths_si\": np.array(param_dict[\"widths_si\"], dtype=float),\n", + " \"gaps_si\": np.array(param_dict[\"gaps_si\"], dtype=float),\n", + " \"widths_sin\": np.array(param_dict[\"widths_sin\"], dtype=float),\n", + " \"gaps_sin\": np.array(param_dict[\"gaps_sin\"], dtype=float),\n", + " \"first_gap_si\": float(param_dict[\"first_gap_si\"]),\n", + " \"first_gap_sin\": float(param_dict[\"first_gap_sin\"]),\n", + " }\n", + "\n", + "\n", + "def run_bias_sweep(param_dict, task_prefix, bias=ETCH_BIAS):\n", + " \"\"\"Run nominal/over/under simulations and return spectra in linear scale.\"\"\"\n", + " scenarios = [\n", + " (\"Over-etched (-20 nm)\", apply_bias(param_dict, -bias)),\n", + " (\"Nominal\", param_dict),\n", + " (\"Under-etched (+20 nm)\", apply_bias(param_dict, bias)),\n", + " ]\n", + "\n", + " sims = {\n", + " f\"{task_prefix}_{idx}\": make_simulation(\n", + " scenario[\"widths_si\"],\n", + " scenario[\"gaps_si\"],\n", + " scenario[\"widths_sin\"],\n", + " scenario[\"gaps_sin\"],\n", + " first_gap_si=scenario[\"first_gap_si\"],\n", + " first_gap_sin=scenario[\"first_gap_sin\"],\n", + " )\n", + " for idx, (_, scenario) in enumerate(scenarios)\n", + " }\n", + "\n", + " batch_data = web.run_async(sims, verbose=False)\n", + "\n", + " wavelengths = None\n", + " spectra = {}\n", + " for idx, (label, _) in enumerate(scenarios):\n", + " sim_data = batch_data[f\"{task_prefix}_{idx}\"]\n", + " power_da = get_mode_monitor_power(sim_data)\n", + " freqs = power_da.coords[\"f\"].values\n", + " wl = td.C_0 / freqs\n", + " power = np.asarray(power_da.data).squeeze()\n", + " order = np.argsort(wl)\n", + " wl = wl[order]\n", + " power = power[order]\n", + " if wavelengths is None:\n", + " wavelengths = wl\n", + " spectra[label] = power\n", + " return wavelengths, spectra\n", + "\n", + "\n", + "params_initial = to_numpy_params(params0)\n", + "params_robust = to_numpy_params(params)\n", + "\n", + "w_before, spectra_before = run_bias_sweep(params_initial, \"gc_robust_bias_before\", bias=ETCH_BIAS)\n", + "w_after, spectra_after = run_bias_sweep(params_robust, \"gc_robust_bias_after\", bias=ETCH_BIAS)" + ] + }, + { + "cell_type": "markdown", + "id": "86af00bc", + "metadata": {}, + "source": [ + "## The Final Payoff: Visualizing Robustness\n", + "\n", + "The left panel shows how sensitive the previous design is to ±20 nm fabrication bias, while the right panel show the spectrum after robust optimization. We can see observe a slight shift in the spectra, but to make any quantitative statement, we'll not to run another sensitivity analysis, which we'll do in the next notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5d3bb559", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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vXv3Wp1T95l37drF448/jp+fHy4uLsyZM4fc3NzLaiUQdGaEG1cgUAjFxcXk5eUhSRI5OTl8+OGHlJWVcccdd1idd//99/PVV19x11138cgjj5CYmMhHH33EkSNH2LVrFzqdjv/973988cUX7N+/n3//+98AjBw5EoB7772Xr7/+mvnz5/PEE0+wb98+3njjDc6cOcMvv/xida1z585x6623cv/99/OnP/2J7t27U1FRwbhx40hPT+f++++nS5cu7N69m+eee47MzEwWL158xc/aWL/Z2dmMHDmSiooKHnnkEXx8fPj666+ZNWsWy5YtY86cOVZ9vP7666hUKp555hlycnJYvHgxkyZN4ujRozg5ObXod/+vf/2LRx55hPnz5/PXv/6Vqqoqjh8/zr59+7jtttuYO3cucXFxfP/997z//vv4+vpCrWHcFHUaDRkyhDfeeIPs7Gw++OADdu3axZEjR6xWe00mEzfccAPDhw/nrbfeYt26dbz88ssYjUZeffVV/Pz8+PTTT/nLX/7CnDlzmDt3LgB9+/a97OfasWMHK1eu5MEHHwTgjTfeYMaMGTz99NN88sknPPDAAxQWFvLWW29x9913s3nz5ib7euGFF7j33nut2r799lvWr1+Pv78/1BrXv/76KwsWLCAyMpLs7Gw+//xzxo0bx+nTpwkODqZnz568+uqrvPTSS9x3332MGTMGLvp+XookScyaNYstW7Zwzz330L9/f9avX89TTz1Feno677//vtX5O3fu5Oeff+aBBx7Azc2N//u//2PevHmkpKTg4+Nz2d+XQCAQCOzHkiVLmDt3Lnq9nltvvZVPP/2UAwcOWBYzFi9ezDfffMMvv/zCp59+iqurK3369GH48OFNPh9PnTrFqFGjCAkJ4dlnn8XFxYWffvqJG2+8keXLlzewLR544AH8/Px46aWXmhUx9dprr6HX63nyySeprq5Gr9fb9PnfUubNm8epU6d4+OGHiYiIICcnh40bN5KSkkJERASLFy/m4YcfxtXVlRdeeAGAgICAJvtr6TN427Zt/PjjjzzyyCM4ODjwySefcMMNN7B//3569+7dKnsK4OGHHyYwMJBFixaxd+9evvjiCzw9Pdm9ezddunThH//4B2vWrOHtt9+md+/e/PGPf2y0Hz8/P/73v/9ZtRkMBh577DGrHQZLly6loqKCv/zlL/j4+LB//34+/PBD0tLSWLp0KdTa4xkZGWzcuLFBn41x6tQpxowZg7u7O08//TQ6nY7PP/+c8ePHs23btgZ51R5++GG8vLx4+eWXSUpKYvHixTz00EP8+OOPV7yWQNApkQQCgV358ssvJaDBj4ODg/TVV19Znbtjxw4JkJYsWWLVvm7dugbtd955p+Ti4mJ13tGjRyVAuvfee63an3zySQmQNm/ebGkLDw+XAGndunVW57722muSi4uLFBcXZ9X+7LPPShqNRkpJSbns522q30cffVQCpB07dljaSktLpcjISCkiIkIymUySJEnSli1bJEAKCQmRSkpKLOf+9NNPEiB98MEHVte68847G4xh3Lhx0rhx4yyvZ8+eLcXGxl523G+//bYESImJiZc9T5IkqaamRvL395d69+4tVVZWWtpXrVolAdJLL71kabvzzjslQHr44YctbWazWZo+fbqk1+ul3NxcSZIkKTc3VwKkl19+ucH1Xn75ZenS23ndd+ji8X7++ecSIAUGBlr97p577rkGn+3OO++UwsPDm/yMu3btknQ6nXT33Xdb2qqqqiw61ZGYmCg5ODhIr776qqXtwIEDEiB9+eWXDfq99Lq//vqrBEh///vfrc6bP3++pFKppPPnz1t9Zr1eb9V27NgxCZA+/PDDJj+LQCAQCOzLwYMHJUDauHGjJNU+B0NDQ6W//vWvVufVPe/qno3SFZ6PEydOlPr06SNVVVVZ2sxmszRy5EgpJibG0lZni40ePVoyGo1XHG+dLRIVFSVVVFRY2tvj+V93rS1btliNITEx0epZWlhYKAHS22+/fdmxx8bGWtlAl6Olz2BAOnjwoKUtOTlZcnR0lObMmWNpu5w9dandVqfLlClTJLPZbGkfMWKEpFKppD//+c+WNqPRKIWGhjb4bE19N+p44IEHJI1GY2UDX6xpHW+88YakUqmk5ORkS9uDDz7YwP5q6ro33nijpNfrpQsXLljaMjIyJDc3N2ns2LENPvOkSZOsPvNjjz0maTQaqaioqMnPIhB0ZsRWPoFAIXz88cds3LiRjRs38u233zJhwgTuvfdefv75Z8s5S5cuxcPDg+uvv568vDzLz6BBg3B1dWXLli2XvcaaNWsAePzxx63an3jiCYAG2+YiIyOZMmWKVdvSpUsZM2YMXl5eVmOYNGkSJpPJKmS7KRrrd82aNQwdOpTRo0db2lxdXbnvvvtISkri9OnTVuf/8Y9/xM3NzfJ6/vz5BAUFWT5jS/D09CQtLY0DBw60+L2NcfDgQXJycnjggQescj9Nnz6dHj16NLo98aGHHrL8vy4cvqamhk2bNrV6HBMnTrTaFle3Gjdv3jyr311de0JCQrP6zcrKYv78+fTv359PPvnE0u7g4GBJWmoymcjPz8fV1ZXu3btz+PDhVn2GNWvWoNFoeOSRR6zan3jiCSRJalC5ctKkSURHR1te9+3bF3d392Z/NoFAIBB0PEuWLCEgIIAJEyZA7XPw5ptv5ocffsBkMrWqz4KCAjZv3sxNN91EaWmpxV7Jz89nypQpxMfHN9he96c//QmNRtPsa9x5551WUdr2fP7X5RXdunWrVXqHttDSZ/CIESMYNGiQ5XWXLl2YPXs269evb7WOAPfcc4/VNrlhw4YhSRL33HOPpU2j0TB48OAWPe+/+eYbPvnkE9566y3Ld4/a32Ud5eXl5OXlMXLkSCRJ4siRIy0ev8lkYsOGDdx4441ERUVZ2oOCgrjtttvYuXOnZRtoHffdd5/VZx4zZgwmk4nk5OQWX18g6AwIx5RAoBCGDh3KpEmTmDRpErfffjurV6+mV69eFgMFID4+nuLiYvz9/fHz87P6KSsrsyQFbYrk5GTUanWDKjeBgYF4eno2eNhFRkY26CM+Pp5169Y1uP6kSZPgosSkl6OxfpOTk+nevXuD9p49e1qOX0xMTIzVa5VKRdeuXa+Y96kxnnnmGVxdXRk6dCgxMTE8+OCD7Nq1q8X91FE31sY+T48ePRp8FrVabWWoAHTr1g1q8yG0li5duli99vDwACAsLKzR9uYYskajkZtuugmTycTPP/9slajcbDbz/vvvExMTg4ODA76+vvj5+XH8+HGKi4tb9RmSk5MJDg62cqRxme/FpZ8ZwMvLy2ZGukAgEAhsi8lk4ocffmDChAkkJiZy/vx5zp8/z7Bhw8jOzub3339vVb/nz59HkiRefPHFBjZLXa6qS22WxuyTy3Hp+fZ8/js4OPDmm2+ydu1aAgICGDt2LG+99RZZWVkt6udiWvoMvtQ2o/bzVFRUtCk/UkvsmeY+748ePcqf//xnbr311gYLtikpKSxcuBBvb29cXV3x8/Nj3LhxUJt6o6Xk5uZSUVHRpJ1rNpsb5Em99DN7eXlBM201gaAzInJMCQQKRa1WM2HCBD744APi4+OJjY3FbDbj7+/faKUamrFHv45LE2U3RWO5msxmM9dffz1PP/10o++pM6ha2m970NTnNJlMViuiPXv25Ny5c6xatYp169axfPlyPvnkE1566SVLCerOSFOrvk21X5owtDGeeuop9uzZw6ZNmxokhv3HP/7Biy++yN13381rr72Gt7c3arWaRx99tMMqFbXlswkEAoGg49m8eTOZmZn88MMP/PDDDw2OL1myhMmTJ7e437rnzpNPPtkgSruOSxfqWmqfdIQ9czlb5lIeffRRZs6cya+//sr69et58cUXeeONN9i8eTMDBgxo97G2Fy2xZ5rzvC8sLGTevHl069bNkou1DpPJxPXXX09BQQHPPPMMPXr0wMXFhfT0dBYuXCjsGYGgnRCOKYFAwRiNRgDKysoAiI6OZtOmTYwaNapVxlB4eDhms5n4+HjLahdAdnY2RUVFhIeHX7GP6OhoysrKLBFStiI8PJxz5841aD979qzl+MXEx8dbvZYkifPnz1slBPfy8qKoqKhBn8nJyQ1WKF1cXLj55pu5+eabqampYe7cubz++us899xzODo6NtuZd/FYz507x3XXXWd17Ny5cw0+i9lsJiEhwcqpFxcXB7UVamiBM7E9+eGHH1i8eDGLFy+2rBxezLJly5gwYQL/+c9/rNqLioosCU5p4WcJDw9n06ZNlJaWWq3YNvW9EAgEAkHnYsmSJfj7+1sqnF3Mzz//zC+//MJnn33WpN3T1DOl7jmv0+lsbrM0RXs8/+siZS61Z5ra0hUdHc0TTzzBE088QXx8PP379+fdd9/l22+/hXZ+Bl9qm9V9HmdnZ8viqb3tGbPZzO23305RURGbNm3C2dnZ6viJEyeIi4vj66+/tkqivnHjxgZ9Nfez+Pn54ezs3KSdq1arG0R/CQTXGmIrn0CgUAwGAxs2bECv11ucSHVbqF577bUG5xuNxkadMBczbdo0qK1sczHvvfce1OZAuBI33XQTe/bsYf369Q2OFRUVWZxpLWXatGns37+fPXv2WNrKy8v54osviIiIoFevXlbnf/PNN5SWllpeL1u2jMzMTKZOnWppi46OZu/evZatkACrVq1qEC6dn59v9Vqv19OrVy8kScJgMECt44pGDMPGGDx4MP7+/nz22WdUV1db2teuXcuZM2ca/T1/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TCYTEyZMoHjx4ri4uFC5cmWWLl0KdxM4L730EgA+Pj7odDq6dOlift/kyZMJDg7GycmJokWLMm7cuCzXPn/+PC+99BKurq5UqlSJXbt2ZXl++/btvPjii7i4uBAYGEivXr1ITk7O0efhQQcOHODcuXO89tpr//rax5k5cyYDBw6kRo0alCpVivHjx1OqVClWrVplfs306dPp3r0777//PuXKlWPu3Lm4urry3XffPfa62en7oKAgxo4dy7vvvou7uztBQUGsWrWK6OhoWrVqhbu7OxUrVmT//v1Zrt2iRQv279/PuXPn/vPHnR1S/NwKtp2NZtjvx0gzGPF2dWBau8qEFpEBmxBCCCHyvlUR1/l5t1o38/0XitO0fMHcbpIQQvyr2OQMXp+9PVdir/6sHv6elp9VumnTJgICAti0aRORkZF06NCBypUr0717d7ibwLh+/TqbNm3CwcGBXr16PTQTp127dri4uLBmzRq8vLz45ptvaNSoEWfOnMHXV91hNTIykqVLl7Js2TLs7B69ZHvChAn8/PPPzJ07l1KlSrFlyxa6dOlCwYIFefHFF1m6dClt27bl9OnTeHp64uLiAsCQIUOYN28eM2bMoF69ety4cYNTp05lufawYcOYOnUqpUqVYtiwYbz11ltERkZib2/PuXPnaNasGWPHjuW7774jOjqanj170rNnT77//vtsfx4etG3bNkqXLo2Hh8dT9FBWJpOJxMRE8+c1IyODAwcOMGTIEPNr9Ho9jRs3fij59qB/63uAGTNmMH78eEaMGMH06dN5//33qVu3Ll27dmXKlCkMGjSId999l+PHj5tnfhUtWpQCBQqwbds2SpYsabGP/UGSmNKQoigs3neFmRvOYlIUAn1dmdmhMoG+rrndNCGEEEKIp3b4ShwT16h/MDQo7UeP+iVyu0lCCPHc8vHxYc6cOdjZ2RESEsJrr73Gxo0b6d69O2fOnGHNmjXs3buXGjVqAPB///d/lC1b1vz+7du3s3fvXqKionBycgJg6tSpLF++nN9++40PP/wQ7iZQfvzxR/z8/B7ZjvT0dMaPH8+GDRuoU6cOAMWLF2fbtm18++23NGzY0JyM8ff3N9fKSkxM5IsvvmDOnDm89957AJQsWZJ69epluX7//v3NM5dGjx5N+fLliYyMJCQkhAkTJtC5c2dzXa5SpUoxa9YsGjRo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HjY2Nk3WvLC2toajoyPXwmgBXZwf06ZNQ+/evbFo0SIMHToUx44dw/r167F+/XpZjrEt0UU9Bg0ahIULF8Lb2xuBgYE4ceIEUlJSMHr0aFmOsS150nqMHDkSycnJSExMxPz581FRUYGZM2di9OjR0mvDlClTEBERgQ8//BADBw7E5s2bcfz48TZ1fjDnKAtzjrIw5ygLc46yMOcoi17kHJ18QFBPNNzWsvFXQkKCEEKIhIQEERERIe2/dOlS0bFjR2FhYSEcHBxEZGSk2LdvX5N2V65cKby9vYWZmZkIDQ0VR44cadXjaqt0UY/m2gMg0tPTW/342hpdnR8P4toLLaerevzzn/8UXbp0Eebm5qJz585i/fr1rXpcbZUu6lFVVSWmTJkivL29hYWFhejQoYOYM2eOuH37dqsfX1vzpPUQQogzZ86I6OhoYWlpKTw9PcX06dOldRcabNmyRfj5+QkzMzMRGBgodu/e3arH9ayYc5SFOUdZmHOUhTlHWZhzlEUfco5K/PyiRURERERERERE1Kq4xhQREREREREREcmCE1NERERERERERCQLTkwREREREREREZEsODFFRERERERERESy4MQUERERERERERHJghNTREREREREREQkC05MERERERERERGRLDgxRUREREREREREsuDEFBHpvQ8++ADdu3eXexgSlUqFHTt2PPH3FRcXw9XVFdXV1ToZV4OKigo4Ozvjhx9+0Gk/RERE9OyYc54Mcw6R8nBiioi0Yu3atbCxscG9e/ekbTU1NTA1NUVkZKTGvrm5uVCpVDh37pwMI2092g6K7733HiZNmgQbGxuttdmcdu3a4be//S3mzZun036IiIjaCuacpphziEhbODFFRFoRFRWFmpoaHD9+XNqWl5cHV1dXHD16FLdu3ZK25+TkwNvbGx07dpRptG3PxYsXsWvXLowaNapV+ktMTMSmTZvw448/tkp/RERESsaco1vMOUSGjRNTRKQV/v7+cHNzQ25urrQtNzcXb731Fnx9fXHkyBGN7VFRUQCAzz77DCEhIbCxsYGrqytGjhyJ8vJyAIBarYanpydSU1M1+jpx4gSMjIxw4cIFAMCNGzcwduxYODk5wdbWFq+88gqKiooeOd60tDQEBATAwsICnTt3xpo1a6Tnzp8/D5VKhX/84x+IioqClZUVgoKCcPjwYY02NmzYAC8vL1hZWSEuLg4pKSmwt7cHAGzcuBHz589HUVERVCoVVCoVNm7cKH1vRUUF4uLiYGVlhU6dOmHnzp2PHO+WLVsQFBQEDw8PaVtz71SuWLEC7du3lx6PGjUKsbGxWLRoEVxcXGBvb48FCxbg3r17mDlzJhwcHODp6Yn09HSNdgIDA+Hu7o7t27c/clxERESGgDmHOYeIdIcTU0SkNVFRUcjJyZEe5+TkIDIyEhEREdL2mzdv4ujRo1Jgu3v3LpKTk1FUVIQdO3bg/Pnz0rtlRkZGGDFiBDIyMjT62bRpE8LDw+Hj4wMAGDJkCMrLy5GVlYWCggIEBwfj1Vdffei7YJs2bcLcuXOxcOFCnDlzBosWLUJSUhI++eQTjf3mzJmDGTNmoLCwEH5+fhgxYoR0Cf/XX3+N8ePHY8qUKSgsLES/fv2wcOFC6XuHDRuGd999F4GBgbhy5QquXLmCYcOGSc/Pnz8fQ4cOxcmTJ/H6668jPj7+ke/a5eXlISQk5Amq8Yt9+/bh8uXLOHDgAFJSUjBv3jy88cYbeP7553H06FGMHz8e48aNa7LWQmhoKPLy8p6qTyIiIn3DnMOcQ0Q6IoiItGTDhg3C2tpa3L17V1RVVQkTExNRXl4uMjIyRN++fYUQQmRnZwsA4sKFC822kZ+fLwCI6upqIYQQJ06cECqVStq/vr5eeHh4iNTUVCGEEHl5ecLW1lbcunVLo52OHTuKdevWCSGEmDdvnggKCtJ4LiMjQ2P/5ORkERYWJoQQoqysTAAQaWlp0vOnTp0SAMSZM2eEEEIMGzZMDBw4UKON+Ph4YWdnJz1u3G8DAOL999+XHtfU1AgAIisr66E/26CgILFgwQKNbc21/5e//EX4+PhIjxMSEoSPj4+or6+Xtvn7+4s+ffpIj+/duyesra1FZmamRlvTpk0TkZGRDx0TERGRIWHOYc4hIt3gFVNEpDWRkZGora1Ffn4+8vLy4OfnBycnJ0REREjrL+Tm5qJDhw7w9vYGABQUFGDQoEHw9vaGjY0NIiIigPtrDQBA9+7dERAQIL2buH//fpSXl2PIkCEAgKKiItTU1MDR0RHPPfec9FVWVtbsoqO1tbU4d+4cxowZo7H/n//85yb7d+vWTfq3m5sbAEiX3xcXFyM0NFRj/8aPH+XBtq2trWFrayu13ZybN2/CwsKixe0/KDAwEEZGv/y6d3FxQdeuXaXHxsbGcHR0bNK/paUl6urqnqpPIiIifcOcw5xDRLphIvcAiEh/vPDCC/D09EROTg4qKyul8OXu7g4vLy8cOnQIOTk5eOWVV4D74SkmJgYxMTHYtGkTnJyccPHiRcTExODOnTtSu/Hx8cjIyMDs2bORkZGB/v37w9HREbh/R5zGaz40aFgH4UE1NTXA/XUTevbsqfGcsbGxxmNTU1Pp3yqVCri/HoQ2PNh2Q/uPartdu3aorKx8bLv19fUt6qsl/f/4449wcnJ6bJ9ERESGgDmn5ZhziOhJcGKKiLQqKioKubm5qKysxMyZM6Xtffv2RVZWFo4dO4Z33nkHAHD27Flcv34dS5YsgZeXFwBo3O2mwciRI/H++++joKAAn3/+OdauXSs9FxwcjKtXr8LExERjMcyHcXFxgbu7O0pLSxEfH//Ux+nv74/8/HyNbY0fm5mZNRugnkaPHj1w+vTpJtuvXbum8bi0tFQr/QHAd9991+QW2ERERIaMOecXzDlEpC38KB8RaVVUVBQOHjyIwsJC6Z1EAIiIiMC6detw584daUFQb29vmJmZYeXKlSgtLcXOnTuRnJzcpM327dujd+/eGDNmDOrr6/Hmm29Kz0VHRyMsLAyxsbH46quvcP78eRw6dAhz5sxpNvzh/oKcixcvxkcffYSSkhJ8++23SE9PR0pKSouPc9KkSdizZw9SUlLwn//8B+vWrUNWVpb0jmPDuMvKylBYWIiKigrcvn27xe03FhMTg8OHDzcJgFevXsWCBQtQWlqKbdu24bPPPkNlZSXOnj371H0BQF1dHQoKCvDaa689UztERET6hDmHOYeItI8TU0SkVVFRUbh58yZeeOEFuLi4SNsjIiJQXV0t3W4ZAJycnLBx40Zs3boVL774IpYsWYLly5c32258fDyKiooQFxcHS0tLabtKpcKePXvQt29fJCYmws/PD8OHD8eFCxc0+n/Q2LFjkZaWhvT0dHTt2hURERHYuHEjfH19W3yc4eHhWLt2LVJSUhAUFIQvv/wS06ZN01gf4de//jX69++PqKgoODk5ITMzs8XtNzZgwACYmJjg3//+t8b2Ll26oKSkBIGBgUhKSkJaWhrMzMwwY8aMp+4LAL744gt4e3ujT58+z9QOERGRPmHOYc4hIu1TiZ/vnEBERM/od7/7Hc6ePauzWw+vXr0aO3fuxL/+9S8AwAcffIAdO3agsLBQ63316tULkydPxsiRI7XeNhEREbU9zDlEpCtcY4qI6CktX74c/fr1g7W1NbKysvDJJ59gzZo1Outv3LhxuHHjBqqrq2FjY6OzfioqKjB48GCMGDFCZ30QERGRsjHnEFFr4RVTRERPaejQocjNzUV1dTU6dOiASZMmYfz48a3Wvy7fSSQiIiLDxpxDRK2FE1NERERERERERCQLLn5ORERERERERESy4MQUERERERERERHJghNTREREREREREQkC05MERERERERERGRLDgxRUREREREREREsuDEFBERERERERERyYITU0REREREREREJAtOTBERERERERERkSw4MUVERERERERERLL4f6TbP2QW5h/4AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "labels = [\"Over-etched (-20 nm)\", \"Nominal\", \"Under-etched (+20 nm)\"]\n", + "colors = {\n", + " \"Over-etched (-20 nm)\": \"tab:orange\",\n", + " \"Nominal\": \"tab:green\",\n", + " \"Under-etched (+20 nm)\": \"tab:blue\",\n", + "}\n", + "\n", + "fig, axes = plt.subplots(1, 2, figsize=(12, 4), sharey=True)\n", + "\n", + "for label in labels:\n", + " axes[0].plot(\n", + " w_before,\n", + " 10 * np.log10(spectra_before[label]),\n", + " label=label,\n", + " color=colors[label],\n", + " linewidth=2 if label == \"Nominal\" else 1.6,\n", + " alpha=0.9,\n", + " )\n", + "\n", + "axes[0].set_title(\"Before robust optimization\")\n", + "axes[0].set_xlabel(\"Wavelength (µm)\")\n", + "axes[0].set_ylabel(\"Transmission (dB)\")\n", + "axes[0].grid(True, alpha=0.3)\n", + "\n", + "for label in labels:\n", + " axes[1].plot(\n", + " w_after,\n", + " 10 * np.log10(spectra_after[label]),\n", + " label=label,\n", + " color=colors[label],\n", + " linewidth=2 if label == \"Nominal\" else 1.6,\n", + " alpha=0.9,\n", + " )\n", + "\n", + "axes[1].set_title(\"After robust optimization\")\n", + "axes[1].set_xlabel(\"Wavelength (µm)\")\n", + "axes[1].grid(True, alpha=0.3)\n", + "axes[1].legend(loc=\"best\")\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "a67bc8c6", + "metadata": {}, + "source": [ + "### Exporting the Robust Design\n", + "\n", + "Finally we save the fabrication-aware geometry so downstream notebooks - or a GDS handoff - can reuse it without re-running the optimization loop." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "64b37506", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saved robust design to /home/yannick/flexcompute/worktrees/seminar_notebooks/docs/notebooks/2025-10-09-invdes-seminar/results/gc_adjoint_robust_best.json\n" + ] + } + ], + "source": [ + "export_path = Path(\"./results/gc_adjoint_robust_best.json\")\n", + "export_payload = {\n", + " \"widths_si\": params_robust[\"widths_si\"].tolist(),\n", + " \"gaps_si\": params_robust[\"gaps_si\"].tolist(),\n", + " \"widths_sin\": params_robust[\"widths_sin\"].tolist(),\n", + " \"gaps_sin\": params_robust[\"gaps_sin\"].tolist(),\n", + " \"first_gap_si\": params_robust[\"first_gap_si\"],\n", + " \"first_gap_sin\": params_robust[\"first_gap_sin\"],\n", + " \"etch_bias_modeled\": ETCH_BIAS,\n", + "}\n", + "\n", + "export_path.parent.mkdir(parents=True, exist_ok=True)\n", + "export_path.write_text(json.dumps(export_payload, indent=2), encoding=\"utf-8\")\n", + "print(f\"Saved robust design to {export_path.resolve()}\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/2025-10-09-invdes-seminar/05_robust_comparison.ipynb b/2025-10-09-invdes-seminar/05_robust_comparison.ipynb new file mode 100644 index 00000000..4666ab8c --- /dev/null +++ b/2025-10-09-invdes-seminar/05_robust_comparison.ipynb @@ -0,0 +1,427 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c382ea91", + "metadata": {}, + "source": [ + "# Monte Carlo View: Nominal vs Robust Grating\n", + "\n", + "> The robust adjoint design trades a sliver of peak efficiency for tighter fabrication yield. Building on the fabrication-aware optimizer from the previous notebook, we now quantify how much that robustness actually helps under process variation.\n", + "\n", + "> This notebook compares the nominal adjoint design against the robustness-optimized variant using a matched Monte Carlo experiment, highlighting the yield benefits of carrying fabrication awareness into the optimization loop." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62860f03", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "import json\n", + "from pathlib import Path\n", + "\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import tidy3d as td\n", + "from setup import (\n", + " center_wavelength,\n", + " default_spacer_thickness,\n", + " get_mode_monitor_power,\n", + " make_simulation,\n", + ")\n", + "from tidy3d import web" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c5669f17", + "metadata": {}, + "outputs": [], + "source": [ + "design_paths = {\n", + " \"nominal\": Path(\"./results\") / \"gc_adjoint_best.json\",\n", + " \"robust\": Path(\"./results\") / \"gc_adjoint_robust_best.json\",\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "3965c290", + "metadata": {}, + "outputs": [], + "source": [ + "def load_nominal_parameters(path):\n", + " \"\"\"Load a design JSON (Bayes or adjoint) into numpy-friendly fields.\"\"\"\n", + " data = json.loads(Path(path).read_text(encoding=\"utf-8\"))\n", + " return {\n", + " \"widths_si\": np.array(data[\"widths_si\"], dtype=float),\n", + " \"gaps_si\": np.array(data[\"gaps_si\"], dtype=float),\n", + " \"widths_sin\": np.array(data[\"widths_sin\"], dtype=float),\n", + " \"gaps_sin\": np.array(data[\"gaps_sin\"], dtype=float),\n", + " \"first_gap_si\": float(data[\"first_gap_si\"]),\n", + " \"first_gap_sin\": float(data[\"first_gap_sin\"]),\n", + " \"spacer_thickness\": default_spacer_thickness,\n", + " }\n", + "\n", + "\n", + "def make_variation_builder(nominal):\n", + " \"\"\"Return a closure that maps process deltas to a tidy3d Simulation.\"\"\"\n", + " base_widths_si = np.array(nominal[\"widths_si\"])\n", + " base_gaps_si = np.array(nominal[\"gaps_si\"])\n", + "\n", + " def builder(*, overlay_delta=0.0, spacer_delta=0.0, etch_bias=0.0):\n", + " # Etch bias widens features when positive and narrows them when\n", + " # negative, so widths grow with the bias while gaps shrink, mirroring\n", + " # the fabrication effect of over/under etching.\n", + " pert_widths_si = base_widths_si + etch_bias\n", + " pert_gaps_si = base_gaps_si - etch_bias\n", + "\n", + " return make_simulation(\n", + " pert_widths_si,\n", + " pert_gaps_si,\n", + " nominal[\"widths_sin\"],\n", + " nominal[\"gaps_sin\"],\n", + " first_gap_si=nominal[\"first_gap_si\"] + overlay_delta,\n", + " first_gap_sin=nominal[\"first_gap_sin\"],\n", + " spacer_thickness=nominal[\"spacer_thickness\"] + spacer_delta,\n", + " )\n", + "\n", + " return builder" + ] + }, + { + "cell_type": "markdown", + "id": "113c27f0", + "metadata": {}, + "source": [ + "## Shared Monte Carlo Draws\n", + "We reuse the exact same random perturbations for both designs so any differences in the statistics stem from the geometry rather than sampling noise." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "d773fdf8", + "metadata": {}, + "outputs": [], + "source": [ + "sigma_overlay = 0.025 # microns\n", + "sigma_spacer = 0.02\n", + "sigma_widths_si = 0.01\n", + "\n", + "seed = 42\n", + "num_mc_samples = 100\n", + "\n", + "sigma_vector = np.array([sigma_overlay, sigma_spacer, sigma_widths_si], dtype=float)\n", + "rng = np.random.default_rng(seed)\n", + "perturbations = rng.standard_normal(size=(num_mc_samples, sigma_vector.size)) * sigma_vector" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "a20de9b6", + "metadata": {}, + "outputs": [], + "source": [ + "def run_monte_carlo(nominal_params, *, label=\"design\"):\n", + " \"\"\"Evaluate a design under shared Monte Carlo perturbations.\"\"\"\n", + " builder = make_variation_builder(nominal_params)\n", + "\n", + " sims = {\n", + " f\"{label}_nominal\": builder(),\n", + " }\n", + " for idx, (overlay_delta, spacer_delta, etch_bias) in enumerate(perturbations):\n", + " sims[f\"{label}_mc_{idx:03d}\"] = builder(\n", + " overlay_delta=overlay_delta,\n", + " spacer_delta=spacer_delta,\n", + " etch_bias=etch_bias,\n", + " )\n", + "\n", + " batch = web.run_async(sims, verbose=False)\n", + " freq0 = td.C_0 / center_wavelength\n", + "\n", + " nominal_value = None\n", + " sample_values = []\n", + "\n", + " for key in sims:\n", + " sim_data = batch[key]\n", + " power_da = get_mode_monitor_power(sim_data)\n", + " center_power = power_da.sel(f=freq0, method=\"nearest\").item()\n", + " if key.endswith(\"nominal\"):\n", + " nominal_value = float(center_power)\n", + " else:\n", + " sample_values.append(float(center_power))\n", + "\n", + " return {\n", + " \"nominal\": nominal_value,\n", + " \"samples\": np.array(sample_values, dtype=float),\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "a816af68", + "metadata": {}, + "outputs": [], + "source": [ + "design_results = {}\n", + "for label, path in design_paths.items():\n", + " params = load_nominal_parameters(path)\n", + " design_results[label] = run_monte_carlo(params, label=label)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "7d575288", + "metadata": {}, + "outputs": [], + "source": [ + "def linear_to_loss_db(values):\n", + " \"\"\"Convert linear transmission to loss in dB (positive = loss).\"\"\"\n", + " linear = np.clip(np.array(values, dtype=float), 1e-12, None)\n", + " return -10.0 * np.log10(linear)\n", + "\n", + "\n", + "def summarize(center_samples):\n", + " \"\"\"Compute summary statistics in linear and dB scales.\"\"\"\n", + " linear = np.array(center_samples, dtype=float)\n", + " stats = {\n", + " \"mean_linear\": np.mean(linear),\n", + " \"std_linear\": np.std(linear, ddof=0),\n", + " \"p10_linear\": np.percentile(linear, 10),\n", + " \"p90_linear\": np.percentile(linear, 90),\n", + " }\n", + "\n", + " loss_db = linear_to_loss_db(linear)\n", + " stats.update(\n", + " {\n", + " \"mean_db\": np.mean(loss_db),\n", + " \"p10_db\": np.percentile(loss_db, 10),\n", + " \"p90_db\": np.percentile(loss_db, 90),\n", + " }\n", + " )\n", + " return stats" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "254e0dfb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mean_linearstd_linearp10_linearp90_linearmean_dbp10_dbp90_db
nominal0.5547740.0273610.5170670.5877822.5642352.3078422.864534
robust0.5611300.0282890.5227490.5982932.5149482.2308602.817066
\n", + "
" + ], + "text/plain": [ + " mean_linear std_linear p10_linear p90_linear mean_db p10_db \\\n", + "nominal 0.554774 0.027361 0.517067 0.587782 2.564235 2.307842 \n", + "robust 0.561130 0.028289 0.522749 0.598293 2.514948 2.230860 \n", + "\n", + " p90_db \n", + "nominal 2.864534 \n", + "robust 2.817066 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "summary = {label: summarize(result[\"samples\"]) for label, result in design_results.items()}\n", + "summary_df = pd.DataFrame(summary).T\n", + "summary_df" + ] + }, + { + "cell_type": "markdown", + "id": "2d4819ee", + "metadata": {}, + "source": [ + "## Distribution of Center-Wavelength Loss\n", + "Both designs now face identical process draws. The plot below overlays the center wavelength loss distributions in dB. Dashed vertical lines mark the nominal (unperturbed) efficiency for each design." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "828f2601", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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bt26hZo1a5qdl0qlQlRUFHbt2qWUeXh4YMiQIRg/fjx+//13nDhxAtHR0VCpCu7KMzIycP36dVy/fh3Hjh3Dq6++ChcXF3Ts2FGpEx8fjytXriAqKspubUSPJiYT9EirXLkyDh8+jLZt2+KNN95AnTp10KFDB2zduhULFiwA7n1Jr1+/Hq1atcLgwYNRrVo19OvXDxcvXkRgYKDF8xo3bhzUajVq1aoFf39/XLp0CSEhIdi9ezeMRiM6duyIunXrYvTo0fDx8TH7BfEgrVu3htFoVJIJlUqFVq1aKb+I8wwfPhy9evXCc889hyZNmuDOnTsmRynyVKlSBY0bN8bx48eVqzjy1KtXDzt27MCZM2fQsmVLPPHEE5g0aRJCQkLMxmavdvzkk08QGRmJp59+GlFRUWjevDlq1qxp0rdg2rRpiI+PR0RERLFOERTmySefxA8//IAVK1agTp06mDRpEqZNm4bo6Gjg3umaNWvWoF27dqhZsyYWLlyI7777DrVr14aXlxd27tyJrl27olq1avi///s/zJo1C126dCl0fkOHDsWKFStMTvPMnDkTLVu2RLdu3RAVFYUWLVqY7VOzePFiBAcHIzg4GG3btsXt27exfv16k/4V3333HTp27Fis+1gQ5ScJe54wJCIqZenp6Xjssccwa9YsDBkyxNHh2JUQAk2aNMGYMWPQv39/u047JycHVatWxfLlywt0KiWyFo9MEFGZcuTIEXz33Xc4f/48Dh8+rBwxeeaZZxwdmt1JkoRFixaVyB0qL126hLfffpuJBNkFj0wQUZly5MgRDB06FKdPn4ZOp0ODBg3wySefoG7duo4OjeiRxWSCiIiIbMLTHERERGQTJhNERERkEyYTREREZBMmE0RERGQTJhNERERkEyYTREREZBMmE0RERGQTJhNERERkk/8HLdWyuvlWeaUAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "bins = \"auto\"\n", + "colors = {\n", + " \"nominal\": \"tab:blue\",\n", + " \"robust\": \"tab:green\",\n", + "}\n", + "\n", + "for label, result in design_results.items():\n", + " losses_db = linear_to_loss_db(result[\"samples\"])\n", + " ax.hist(\n", + " losses_db,\n", + " bins=bins,\n", + " alpha=0.6,\n", + " label=f\"{label.capitalize()} design\",\n", + " color=colors.get(label, None),\n", + " edgecolor=\"white\",\n", + " )\n", + " nominal_loss = linear_to_loss_db([result[\"nominal\"]])[0]\n", + " ax.axvline(\n", + " nominal_loss,\n", + " color=colors.get(label, None),\n", + " linestyle=\"--\",\n", + " linewidth=2,\n", + " )\n", + "\n", + "ax.set_xlabel(\"Center wavelength loss (dB)\")\n", + "ax.set_ylabel(\"Sample count\")\n", + "ax.set_title(\"Monte Carlo comparison at shared perturbations\")\n", + "ax.legend()\n", + "ax.grid(alpha=0.25)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "ff18ff1a", + "metadata": {}, + "source": [ + "## What the numbers say\n", + "\n", + "Both designs were tested under identical Monte Carlo perturbations (N = 100, σₒᵥₑᵣₗₐᵧ = 25 nm, σₛₚₐcₑᵣ = 20 nm, σ_wᵢdₜₕ = 10 nm) and evaluated at the center wavelength.\n", + "\n", + "**Results:**\n", + "\n", + "* **Average loss:** Robust 2.51 dB vs nominal 2.56 dB (Δ = −0.05 dB). In linear scale, that’s 0.561 vs 0.555, or about **+1.1 % higher mean transmission.**\n", + "* **Variability:** Standard deviation (linear) increases slightly (0.027 -> 0.028, **+3 %**), suggesting a comparable level of fluctuation between samples.\n", + "* **Spread (10th–90th percentile):** 0.0707 -> 0.0755 (**+7 %**) - a slightly broader distribution.\n", + "* **Tails:**\n", + " 90th-percentile loss improves (2.86 -> 2.82 dB, **better worst-case**).\n", + " 10th-percentile loss worsens (2.31 -> 2.23 dB, **slightly lower best-case**).\n", + "\n", + "**In short:**\n", + "The robust design maintains essentially the same overall spread but shifts the entire distribution slightly toward lower loss. While variability remains comparable, the robust version delivers **a modest boost in average transmission and improved worst-case performance**, at the cost of a marginally weaker best-case - a balanced, realistic outcome consistent with fabrication-aware optimization." + ] + }, + { + "cell_type": "markdown", + "id": "45517bad", + "metadata": {}, + "source": [ + "At first glance, the numbers may not seem dramatic, but the difference is real and meaningful. \n", + "Even a few hundredths of a decibel can translate to higher wafer-level yield when scaled to thousands of devices. \n", + "It’s also worth remembering that the specific magnitude depends on many details of the experiment:\n", + "\n", + "- How and when robustness was introduced into the optimization (for example, from the start or as a final fine-tuning). \n", + "- The starting point, optimizer settings, and number of iterations used. \n", + "- The perturbation model and its assumed standard deviations or correlations. \n", + "- The type of device. Grating couplers are quite resonant and inherently sensitive to fabrication noise, so they tend to show smaller relative gains.\n", + "\n", + "This notebook is meant as a conceptual demonstration rather than an exhaustive benchmark. \n", + "There are many other ways to define and train for robustness, and exploring them is part of what makes photonic inverse design both challenging and exciting." + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "encoding": "# coding: utf-8", + "executable": "/usr/bin/env python", + "main_language": "python", + "notebook_metadata_filter": "-all" + }, + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/2025-10-09-invdes-seminar/06_measurement_calibration.ipynb b/2025-10-09-invdes-seminar/06_measurement_calibration.ipynb new file mode 100644 index 00000000..8f4e22bc --- /dev/null +++ b/2025-10-09-invdes-seminar/06_measurement_calibration.ipynb @@ -0,0 +1,474 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9bce848f", + "metadata": {}, + "source": [ + " Measurement Calibration: Bridging Simulation and Fabrication\n", + "\n", + "> Our robust adjoint design is ready for fabrication, but once real devices come back from the foundry, their spectral responses rarely match the nominal simulation exactly. In this notebook we demonstrate a way to calibrate the simulation model to match measured data using adjoint optimization, recovering the as-built geometry so subsequent optimization or analysis stays grounded in reality.\n", + "\n", + "Just as we used gradient-based optimization with adjoint derivatives to design the device, we can apply the same approach to calibrate fabrication parameters. Instead of optimizing geometric features to achieve a target performance, we now optimize fabrication corners (like width bias, etch depth, or sidewall angle) to match measured spectral data. Because we're using adjoint sensitivities, this approach scales efficiently to many parameters - real-world calibration often involves multiple fabrication variables simultaneously, and adjoint lets us handle that complexity with the same computational efficiency we saw during design." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0563acbd", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "from copy import deepcopy\n", + "from pathlib import Path\n", + "\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import numpy as npl\n", + "import tidy3d as td\n", + "from autograd import value_and_grad\n", + "from optim import adam_update, apply_updates, clip_params, init_adam\n", + "from setup import get_mode_monitor_power, make_simulation, widths_gaps_to_centers\n", + "from tidy3d import web" + ] + }, + { + "cell_type": "markdown", + "id": "411c06f4", + "metadata": {}, + "source": [ + "## Calibration Workflow Overview\n", + "\n", + "We assume access to three ingredients:\n", + "1. The robust nominal design.\n", + "2. A measured spectrum from fabricated hardware (here we synthesize one by applying a known bias and measurement noise).\n", + "3. A differentiable simulation model we can tune so the simulated spectrum matches the measured data.\n", + "\n", + "The goal is to infer the effective SiN tooth widths that best reproduce the measurement, keeping the digital twin aligned with the hardware. We'll use gradient-based optimization driven by adjoint sensitivities - the same computational engine that powered our design optimization - to efficiently tune the fabrication parameters." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "93eda25c", + "metadata": {}, + "outputs": [], + "source": [ + "def centers_widths_to_spacing(centers, widths, *, last_gap):\n", + " \"\"\"Return (first_gap, gaps) that preserve the supplied centers.\"\"\"\n", + " centers = np.array(centers)\n", + " widths = np.array(widths)\n", + " if widths.size == 0:\n", + " return 0.0, np.zeros_like(widths)\n", + " left_edges = centers - widths / 2\n", + " right_edges = centers + widths / 2\n", + " first_gap = left_edges[0]\n", + " if widths.size == 1:\n", + " gaps = np.array([last_gap], dtype=widths.dtype)\n", + " else:\n", + " interior = left_edges[1:] - right_edges[:-1]\n", + " gaps = np.concatenate((interior, np.array([last_gap], dtype=widths.dtype)))\n", + " return first_gap, gaps\n", + "\n", + "\n", + "def extract_spectrum(sim_data):\n", + " \"\"\"Return (freqs, power) from the mode monitor of `sim_data`.\"\"\"\n", + " power_da = get_mode_monitor_power(sim_data)\n", + " freqs = power_da.coords[\"f\"].values\n", + " power = np.array(power_da.data).squeeze()\n", + " return freqs, power\n", + "\n", + "\n", + "def to_wavelength_db(freqs, power):\n", + " \"\"\"Convert a spectrum to (wavelength, power_db) sorted by wavelength.\"\"\"\n", + " wavelengths = td.C_0 / freqs\n", + " order = np.argsort(wavelengths)\n", + " wl = wavelengths[order]\n", + " power_lin = np.array(power)[order]\n", + " power_db = 10 * np.log10(np.clip(power_lin, 1e-12, None))\n", + " return wl, power_db" + ] + }, + { + "cell_type": "markdown", + "id": "560fa555", + "metadata": {}, + "source": [ + "## Generating Reference and Synthetic Measurement Data\n", + "\n", + "The baseline spectrum corresponds to the calibrated simulation before any fabrication shifts. To emulate a measured device we create a second spectrum with a uniform +20 nm SiN width bias and add multiplicative noise, representing typical measurement variability." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "99b48095", + "metadata": {}, + "outputs": [], + "source": [ + "rng = npl.random.default_rng(1234)\n", + "\n", + "robust_path = Path(\"./results\") / \"gc_adjoint_robust_best.json\"\n", + "\n", + "robust_data = json.loads(robust_path.read_text(encoding=\"utf-8\"))\n", + "widths_si_nominal = np.array(robust_data[\"widths_si\"], dtype=float)\n", + "gaps_si_nominal = np.array(robust_data[\"gaps_si\"], dtype=float)\n", + "widths_sin_nominal = np.array(robust_data[\"widths_sin\"], dtype=float)\n", + "gaps_sin_nominal = np.array(robust_data[\"gaps_sin\"], dtype=float)\n", + "first_gap_si_nominal = float(robust_data[\"first_gap_si\"])\n", + "first_gap_sin_nominal = float(robust_data[\"first_gap_sin\"])\n", + "\n", + "sin_centers, _ = widths_gaps_to_centers(\n", + " widths_sin_nominal, gaps_sin_nominal, first_gap=first_gap_sin_nominal\n", + ")\n", + "sin_last_gap_template = gaps_sin_nominal[-1]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "10ffbfde", + "metadata": {}, + "outputs": [], + "source": [ + "# Baseline spectrum from the robust design provides the \"uncalibrated\" reference.\n", + "baseline_sim = make_simulation(\n", + " widths_si_nominal,\n", + " gaps_si_nominal,\n", + " widths_sin_nominal,\n", + " gaps_sin_nominal,\n", + " first_gap_si=first_gap_si_nominal,\n", + " first_gap_sin=first_gap_sin_nominal,\n", + ")\n", + "baseline_data = web.run(baseline_sim, task_name=\"gc_measurement_baseline\", verbose=False)\n", + "base_freqs, base_power = extract_spectrum(baseline_data)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "fde907a9", + "metadata": {}, + "outputs": [], + "source": [ + "# Synthetic measurement: apply a uniform width bias to the SiN layer.\n", + "global_bias = 0.02\n", + "biased_widths_sin = widths_sin_nominal + global_bias\n", + "biased_first_gap_sin, biased_gaps_sin = centers_widths_to_spacing(\n", + " sin_centers, biased_widths_sin, last_gap=sin_last_gap_template\n", + ")\n", + "\n", + "measurement_sim = make_simulation(\n", + " widths_si_nominal,\n", + " gaps_si_nominal,\n", + " biased_widths_sin,\n", + " biased_gaps_sin,\n", + " first_gap_si=first_gap_si_nominal,\n", + " first_gap_sin=biased_first_gap_sin,\n", + ")\n", + "measurement_data = web.run(measurement_sim, task_name=\"gc_measurement_truth\", verbose=False)\n", + "meas_freqs, meas_power = extract_spectrum(measurement_data)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4578da12", + "metadata": {}, + "outputs": [], + "source": [ + "tooth_indices = npl.arange(1, biased_widths_sin.size + 1)\n", + "\n", + "noise_sigma = 0.01\n", + "noise = rng.normal(scale=noise_sigma, size=meas_power.shape)\n", + "noisy_power = np.clip(meas_power * (1.0 + noise), 1e-12, None)\n", + "\n", + "target_power = np.array(noisy_power, dtype=float)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "7f44a851", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "wl_base, base_db = to_wavelength_db(base_freqs, base_power)\n", + "wl_meas, meas_db = to_wavelength_db(meas_freqs, noisy_power)\n", + "\n", + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "ax.plot(wl_base, base_db, label=\"Simulated (nominal)\", linewidth=2)\n", + "ax.plot(\n", + " wl_meas,\n", + " meas_db,\n", + " label=\"Measured (synthetic)\",\n", + " linewidth=2,\n", + " linestyle=\"--\",\n", + ")\n", + "ax.set_xlabel(\"Wavelength (um)\")\n", + "ax.set_ylabel(\"Transmission (dB)\")\n", + "ax.set_title(\"Simulated vs Measured Spectrum\")\n", + "ax.grid(True, alpha=0.3)\n", + "ax.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "d3b8fde5", + "metadata": {}, + "source": [ + "## Calibration Objective\n", + "\n", + "We adjust the SiN tooth widths so the simulated spectrum matches the measured one. The loss is the mean-squared error between spectra sampled at the monitor frequencies, optimized with Adam while respecting fabrication bounds.\n", + "\n", + "In this example we optimize a single global width bias, which is a one-dimensional problem that could also be solved with simpler techniques like bisection or line search. However, we're showcasing adjoint optimization here because real calibration scenarios often involve multiple correlated fabrication parameters (width bias, etch depth, sidewall angle, material index shifts, etc.) and adjoint derivatives make it practical to optimize all of them simultaneously. This demonstration establishes the workflow that scales naturally to those multi-parameter calibration problems." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d91af149", + "metadata": {}, + "outputs": [], + "source": [ + "def objective(params):\n", + " bias = params[\"bias\"]\n", + " widths_sin = widths_sin_nominal + bias\n", + " first_gap_sin, gaps_sin = centers_widths_to_spacing(\n", + " sin_centers, widths_sin, last_gap=sin_last_gap_template\n", + " )\n", + " sim = make_simulation(\n", + " widths_si_nominal,\n", + " gaps_si_nominal,\n", + " widths_sin,\n", + " gaps_sin,\n", + " first_gap_si=first_gap_si_nominal,\n", + " first_gap_sin=first_gap_sin,\n", + " )\n", + " sim_data = web.run(sim, task_name=\"gc_measurement_calibration_opt\", verbose=False)\n", + " power_da = get_mode_monitor_power(sim_data)\n", + " power = np.array(power_da.data).squeeze()\n", + " diff = power - target_power\n", + " return np.mean(diff**2)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "a2b4a5fd", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iter 0: mse=1.168650e-04, bias=0.000000\n", + "iter 1: mse=9.655110e-05, bias=0.002000\n", + "iter 2: mse=8.147495e-05, bias=0.003991\n", + "iter 3: mse=6.712432e-05, bias=0.005965\n", + "iter 4: mse=5.820263e-05, bias=0.007910\n", + "iter 5: mse=4.864759e-05, bias=0.009820\n", + "iter 6: mse=4.191141e-05, bias=0.011675\n", + "iter 7: mse=3.766940e-05, bias=0.013464\n", + "iter 8: mse=3.487550e-05, bias=0.015177\n", + "iter 9: mse=3.235886e-05, bias=0.016812\n", + "iter 10: mse=3.058458e-05, bias=0.018360\n", + "iter 11: mse=2.997697e-05, bias=0.019815\n" + ] + } + ], + "source": [ + "params0 = {\"bias\": 0.0}\n", + "bounds = {\"bias\": (-0.05, 0.05)}\n", + "\n", + "vg_fun = value_and_grad(objective)\n", + "params = deepcopy(params0)\n", + "opt_state = init_adam(params, lr=2e-3)\n", + "\n", + "mse_history = []\n", + "bias_history = []\n", + "best_value = float(\"inf\")\n", + "best_params = deepcopy(params)\n", + "num_iters = 12\n", + "for n in range(num_iters):\n", + " value, grad = vg_fun(params)\n", + " value_float = float(value)\n", + " mse_history.append(value_float)\n", + " bias_history.append(float(params[\"bias\"]))\n", + " print(f\"iter {n}: mse={value_float:.6e}, bias={float(params['bias']):.6f}\")\n", + "\n", + " if value_float < best_value:\n", + " best_value = value_float\n", + " best_params = deepcopy(params)\n", + "\n", + " updates, opt_state = adam_update(grad, opt_state)\n", + " params = apply_updates(params, updates)\n", + " params = clip_params(params, bounds)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "702147d6", + "metadata": {}, + "outputs": [], + "source": [ + "optimized_bias = best_params[\"bias\"]\n", + "calibrated_widths_sin = widths_sin_nominal + optimized_bias\n", + "calibrated_first_gap_sin, calibrated_gaps_sin = centers_widths_to_spacing(\n", + " sin_centers, calibrated_widths_sin, last_gap=sin_last_gap_template\n", + ")\n", + "\n", + "calibrated_sim = make_simulation(\n", + " widths_si_nominal,\n", + " gaps_si_nominal,\n", + " calibrated_widths_sin,\n", + " calibrated_gaps_sin,\n", + " first_gap_si=first_gap_si_nominal,\n", + " first_gap_sin=calibrated_first_gap_sin,\n", + ")\n", + "calibrated_data = web.run(\n", + " calibrated_sim, task_name=\"gc_measurement_calibration_final\", verbose=False\n", + ")\n", + "calib_freqs, calib_power = extract_spectrum(calibrated_data)\n", + "wl_calib, calib_db = to_wavelength_db(calib_freqs, calib_power)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "70ab2c7b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "ax.plot(npl.arange(len(bias_history)), bias_history, marker=\"o\", label=\"Optimized\", linewidth=2)\n", + "ax.axhline(0.0, color=\"tab:blue\", linestyle=\"--\", linewidth=2, label=\"Simulated (nominal)\")\n", + "ax.axhline(\n", + " global_bias, color=\"tab:orange\", linestyle=\"--\", linewidth=2, label=\"Fabricated (target)\"\n", + ")\n", + "ax.set_xlabel(\"Iteration\")\n", + "ax.set_ylabel(\"Global width deviation (µm)\")\n", + "ax.set_title(\"Measurement Calibration\")\n", + "ax.grid(True, alpha=0.3)\n", + "ax.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "526a3744", + "metadata": {}, + "source": [ + "After optimization, the width deviation matches the \"fabricated\" one very well. Note that the match is not perfect, although the remaining discrepancy is due to the convergence properties of the optimizer - running more iterations would further reduce the error." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "16fcbb46", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(6, 4))\n", + "ax.plot(\n", + " wl_base,\n", + " base_db,\n", + " label=\"Before optimization\",\n", + " linewidth=2,\n", + ")\n", + "ax.plot(\n", + " wl_calib,\n", + " calib_db,\n", + " label=\"After optimization\",\n", + " linewidth=2,\n", + ")\n", + "ax.plot(\n", + " wl_meas,\n", + " meas_db,\n", + " label=\"Measured (synthetic)\",\n", + " linewidth=1.5,\n", + " linestyle=\"--\",\n", + " alpha=0.7,\n", + ")\n", + "ax.set_xlabel(\"Wavelength (um)\")\n", + "ax.set_ylabel(\"Transmission (dB)\")\n", + "ax.set_title(\"Spectrum Before vs After Calibration\")\n", + "ax.grid(True, alpha=0.3)\n", + "ax.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "030bb489", + "metadata": {}, + "source": [ + "## Takeaways\n", + "\n", + "By calibrating the simulation to match measurement we keep the model and fabricated hardware in sync. Combined with robust optimization this closes the loop between design, fabrication, and test, enabling faster debug and higher-yield deployment of inverse-designed photonics.\n", + "\n", + "Key advantages of the gradient-based approach:\n", + "- **Scalability**: Adjoint derivatives allow efficient optimization of many fabrication parameters simultaneously (width bias, etch depth, sidewall angle, material variations, etc.) without a combinatorial explosion in computational cost.\n", + "- **Versatility**: The same optimization framework used for device design applies seamlessly to calibration, demonstrating the broad applicability of adjoint methods across the photonics workflow.\n", + "- **Precision**: Gradient information enables faster convergence to accurate parameter estimates compared to gradient-free methods, especially important when calibration involves expensive simulations." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/2025-10-09-invdes-seminar/README.rst b/2025-10-09-invdes-seminar/README.rst new file mode 100644 index 00000000..9ca83f5e --- /dev/null +++ b/2025-10-09-invdes-seminar/README.rst @@ -0,0 +1,43 @@ +Inverse Design Seminar Demos +============================ + +These notebooks track the inverse-designed dual-layer grating coupler workflow presented during the October 9, 2025 seminar. Start with the simulation setup, follow the optimization and robustness studies, and finish with a calibration example that ties measurements back into the digital twin. + +Seminar recording: `YouTube link `_ + +Repository Layout +----------------- +- ``00_setup_guide.ipynb`` - builds the baseline Tidy3D simulation for a dual-layer grating coupler and visualizes the initial, uniform geometry. +- ``01_bayes.ipynb`` - performs a five-parameter Bayesian optimization to locate a high-performing uniform grating without gradient information. +- ``02_adjoint.ipynb`` - expands to per-tooth parameters and applies adjoint gradients with Adam to apodize the grating and boost peak efficiency. +- ``03_sensitivity.ipynb`` - quantifies fabrication variability through plus or minus 20 nm bias sweeps, Monte Carlo sampling, and adjoint-based sensitivity analysis. +- ``04_adjoint_robust.ipynb`` - optimizes the adjoint design against nominal, over, and under etch corners by penalizing performance variance. +- ``05_robust_comparison.ipynb`` - reruns the Monte Carlo experiment with the robust and nominal designs side by side to measure yield improvements. +- ``06_measurement_calibration.ipynb`` - demonstrates how adjoint gradients can back-fit SiN widths so simulated spectra line up with measured (synthetic) data. + +Supporting assets +----------------- +- ``setup.py`` - shared simulation utilities, geometry constraints, and helper routines used across the series. +- ``optim.py`` - lightweight, autograd-friendly Adam implementation plus parameter clipping helpers. +- ``results/`` - JSON snapshots of intermediate designs (Bayesian best guess, adjoint refinements, robust solution) consumed by later notebooks. + +Getting Started +--------------- +#. Install dependencies (Python 3.10 or newer recommended): + + .. code-block:: bash + + pip install tidy3d bayes_opt autograd pandas matplotlib scipy + + You also need an active Tidy3D account and API access since every notebook submits jobs with ``tidy3d.web.run``. + +#. Launch Jupyter and open the notebooks in numerical order; each one assumes the prior results exist in ``results/``. + +Suggested Workflow +------------------ +- Use ``00_setup_guide.ipynb`` to verify your environment and understand the baseline geometry. +- Iterate through optimization (``01`` to ``04``) to see how global and local methods complement each other. +- Leverage the sensitivity and comparison notebooks (``03`` and ``05``) when you need wafer-level statistics. +- Apply ``06_measurement_calibration.ipynb`` after you gather measured spectra to keep your model synced with hardware. + +Enjoy the seminar content, and reach out if you adapt these workflows to your own devices. diff --git a/2025-10-09-invdes-seminar/optim.py b/2025-10-09-invdes-seminar/optim.py new file mode 100644 index 00000000..a73a2761 --- /dev/null +++ b/2025-10-09-invdes-seminar/optim.py @@ -0,0 +1,132 @@ +"""Utility routines for functional-style optimization in the tutorial notebooks. + +The helpers here avoid mutating inputs so they play nicely with autograd. +""" + +import autograd.numpy as np +from autograd.misc import flatten + + +def clip_params(params, bounds): + """Clip a parameter dictionary according to per-key bounds. + + Parameters + ---------- + params : dict[str, np.ndarray] + Dictionary mapping parameter names to array values. + bounds : dict[str, tuple[float | None, float | None]] + Lower and upper limits for each parameter. Missing keys default to no + clipping. ``None`` disables a bound on that side. + + Returns + ------- + dict[str, np.ndarray] + New dictionary with values clipped to the requested interval. + """ + clipped = {} + for key, value in params.items(): + lo, hi = bounds.get(key, (None, None)) + lo_val = -np.inf if lo is None else lo + hi_val = np.inf if hi is None else hi + clipped[key] = np.clip(value, lo_val, hi_val) + return clipped + + +def _flatten(tree): + """Return a flat representation of a pytree and its inverse transform.""" + flat, unflatten = flatten(tree) + return np.array(flat, dtype=float), unflatten + + +def init_adam(params, lr=1e-2, beta1=0.9, beta2=0.999, eps=1e-8): + """Initialize Adam optimizer state for a parameter pytree. + + Parameters + ---------- + params : dict[str, np.ndarray] + Current parameter values used to size the optimizer state. + lr : float = 1e-2 + Learning rate applied to each step. + beta1 : float = 0.9 + Exponential decay applied to the first moment estimate. + beta2 : float = 0.999 + Exponential decay applied to the second moment estimate. + eps : float = 1e-8 + Numerical stabilizer added inside the square-root denominator. + + Returns + ------- + dict[str, object] + Dictionary holding the Adam accumulator vectors and hyperparameters. + """ + flat_params, unflatten = _flatten(params) + state = { + "t": 0, + "m": np.zeros_like(flat_params), + "v": np.zeros_like(flat_params), + "unflatten": unflatten, + "lr": lr, + "beta1": beta1, + "beta2": beta2, + "eps": eps, + } + return state + + +def adam_update(grads, state): + """Compute Adam parameter updates from gradients and state. + + Parameters + ---------- + grads : dict[str, np.ndarray] + Gradient pytree with the same structure as the parameters. + state : dict[str, object] + Optimizer state returned by :func:`init_adam`. + + Returns + ------- + updates : dict[str, np.ndarray] + Parameter deltas that should be subtracted from the current values. + new_state : dict[str, object] + Updated optimiser state after incorporating the gradients. + """ + g_flat, _ = _flatten(grads) + t = state["t"] + 1 + + beta1 = state["beta1"] + beta2 = state["beta2"] + m = (1 - beta1) * g_flat + beta1 * state["m"] + v = (1 - beta2) * (g_flat * g_flat) + beta2 * state["v"] + + m_hat = m / (1 - beta1**t) + v_hat = v / (1 - beta2**t) + updates_flat = state["lr"] * (m_hat / (np.sqrt(v_hat) + state["eps"])) + + new_state = { + **state, + "t": t, + "m": m, + "v": v, + } + updates = state["unflatten"](updates_flat) + return updates, new_state + + +def apply_updates(params, updates): + """Apply additive updates to a parameter pytree. + + Parameters + ---------- + params : dict[str, np.ndarray] + Original parameter dictionary. + updates : dict[str, np.ndarray] + Update dictionary produced by :func:`adam_update`. + + Returns + ------- + dict[str, np.ndarray] + New dictionary with ``updates`` subtracted element-wise. + """ + p_flat, unflatten = _flatten(params) + u_flat, _ = _flatten(updates) + return unflatten(p_flat - u_flat) diff --git a/2025-10-09-invdes-seminar/results/gc_adjoint_best.json b/2025-10-09-invdes-seminar/results/gc_adjoint_best.json new file mode 100644 index 00000000..4e742d30 --- /dev/null +++ b/2025-10-09-invdes-seminar/results/gc_adjoint_best.json @@ -0,0 +1,73 @@ +{ + "widths_si": [ + 0.48262618509355615, + 0.5207667397076212, + 0.45559630741287455, + 0.46361599591364383, + 0.44415937806339206, + 0.4725359297284237, + 0.4897650205171269, + 0.43401055421044743, + 0.5470685569556949, + 0.36090417995022805, + 0.35112952011499815, + 0.25182851621035, + 0.2287991538613288, + 0.21772272282716135, + 0.5871457399636976 + ], + "gaps_si": [ + 0.6608377498745214, + 0.7153002966535659, + 0.6755416250853287, + 0.762711911245917, + 0.6957603543580327, + 0.6485980725930465, + 0.7270242877193821, + 0.6569877864900205, + 0.7434394276954258, + 0.8910689853995577, + 0.92010444487145, + 0.887662287039533, + 0.8439724990649012, + 0.7880932609023489, + 0.7992416233438039 + ], + "widths_sin": [ + 0.7891411537966333, + 0.6441362131696193, + 0.5221408734233975, + 0.31370712049190075, + 0.6036396259080945, + 0.5709134822507435, + 0.6102929883304251, + 0.5666814968867978, + 0.5911545201167835, + 0.5511240455381605, + 0.6759490391650566, + 0.424347404772533, + 0.4917036091769178, + 0.5990651442832533, + 0.7041841301345496 + ], + "gaps_sin": [ + 0.4541255482246594, + 0.4802605152344745, + 0.3, + 0.4914339475589058, + 0.5480930702315364, + 0.6026168524939672, + 0.6561924161853298, + 0.5934806415337143, + 0.478494886109227, + 0.44772190354423175, + 0.7331937769153588, + 0.6299485623886972, + 0.48849470041329063, + 0.35636407607194925, + 0.5135103145142313 + ], + "first_gap_si": -0.6720330444742626, + "first_gap_sin": 0.5035568088634116, + "target_power": 0.5676497430872463 +} \ No newline at end of file diff --git a/2025-10-09-invdes-seminar/results/gc_adjoint_robust_best.json b/2025-10-09-invdes-seminar/results/gc_adjoint_robust_best.json new file mode 100644 index 00000000..087d077c --- /dev/null +++ b/2025-10-09-invdes-seminar/results/gc_adjoint_robust_best.json @@ -0,0 +1,73 @@ +{ + "widths_si": [ + 0.4920388608057116, + 0.5269663382801457, + 0.47051077631906724, + 0.45640313960745277, + 0.4463409120598345, + 0.479710427467526, + 0.4926663437517315, + 0.44457287894940967, + 0.545014746020923, + 0.36598776983110565, + 0.3329813653191155, + 0.2468853437833761, + 0.23766189386793363, + 0.23602095263192163, + 0.5993116787228173 + ], + "gaps_si": [ + 0.6594384762369605, + 0.7075580062177993, + 0.6811015769993951, + 0.7457468608769762, + 0.6946555894542846, + 0.6444157147446795, + 0.7121732105630795, + 0.6468550006640721, + 0.7334476826411184, + 0.8848483116592654, + 0.926354310270442, + 0.9035257883720766, + 0.8629975364993915, + 0.8031133570655837, + 0.7992416233438039 + ], + "widths_sin": [ + 0.8194008890879501, + 0.654976203326419, + 0.5154062669153403, + 0.28937104202011993, + 0.5797843891332557, + 0.5547076037062613, + 0.6077917250899648, + 0.5628056343171124, + 0.5933617318869786, + 0.548751792878745, + 0.6887370577523546, + 0.41013832947358364, + 0.4913432960091517, + 0.6137520507037625, + 0.7155681547704924 + ], + "gaps_sin": [ + 0.45753036557675575, + 0.5098708096717812, + 0.3, + 0.49309132198664574, + 0.5499656317615206, + 0.6082880193683878, + 0.6647065648783161, + 0.6049556315727266, + 0.48280853554230346, + 0.45039397074013265, + 0.7420847046346506, + 0.6328210425726839, + 0.5020955912266114, + 0.3587164271526588, + 0.5135103145142313 + ], + "first_gap_si": -0.6811767256145679, + "first_gap_sin": 0.4802966569812285, + "etch_bias_modeled": 0.02 +} \ No newline at end of file diff --git a/2025-10-09-invdes-seminar/results/gc_bayes_opt_best.json b/2025-10-09-invdes-seminar/results/gc_bayes_opt_best.json new file mode 100644 index 00000000..1929f4fd --- /dev/null +++ b/2025-10-09-invdes-seminar/results/gc_bayes_opt_best.json @@ -0,0 +1,9 @@ +{ + "width_si": 0.3983180007432449, + "gap_si": 0.7992416233438039, + "width_sin": 0.5781958117277934, + "gap_sin": 0.5135103145142313, + "first_gap_si": -0.6933388041768698, + "target_power": 0.3425821844561507, + "coupling_loss_db": 4.652352257066546 +} \ No newline at end of file diff --git a/2025-10-09-invdes-seminar/setup.py b/2025-10-09-invdes-seminar/setup.py new file mode 100644 index 00000000..91f844ca --- /dev/null +++ b/2025-10-09-invdes-seminar/setup.py @@ -0,0 +1,410 @@ +"""Utilities for constructing and analyzing dual-layer grating coupler simulations. + +This script acts as a centralized configuration file, defining the physical +constants, geometric constraints, and core simulation-building functions used +throughout the seminar notebooks. + +Notes +----- +* All lengths are specified in micrometers to match the fabrication-scale + discussion in the accompanying tutorial notebooks. +* ``autograd.numpy`` is used instead of standard NumPy so that the same + functions seamlessly support gradient-based optimization workflows. +* ``getval`` extracts plain floats from Autograd tracers whenever we pass + values into Tidy3D constructors that expect concrete numbers. +""" + +from __future__ import annotations + +from typing import Sequence + +import autograd.numpy as np +import tidy3d as td +from autograd.tracer import getval + +inf = 1000 +buffer_left = 3.0 +buffer_right = 3.0 +buffer_bot = 2.0 +buffer_top = 0.5 + +substrate_index = 3.47 +box_index = 1.44 +si_index = 3.47 +sin_index = 2.0 + +substrate = td.Medium(permittivity=substrate_index**2) +box = td.Medium(permittivity=box_index**2) +si = td.Medium(permittivity=si_index**2) +sin = td.Medium(permittivity=sin_index**2) + +# Number of grating elements balances efficiency gains with simulation cost and +# a manageable optimization search space for a standard C-band coupler. +num_elements = 15 + +# Representative design-rule constraints to mirror ones typically found in silicon photonics processes. +# Maximums are not strictly necessary but are included to keep things within reasonable bounds. +min_width_si = 0.1 +min_gap_si = 0.2 +min_width_sin = 0.2 +min_gap_sin = 0.3 +max_width_si = 1.0 +max_gap_si = 1.0 +max_width_sin = 1.0 +max_gap_sin = 1.0 + +first_gap_si = -0.7 # First gap in silicon is effectively the layer offset. +first_gap_sin = 1.5 * min_gap_sin +default_spacer_thickness = 0.3 # Vertical separation between the two functional layers. + + +def _make_teeth_structure( + centers: np.ndarray, + widths: np.ndarray, + *, + center_z: float, + thickness: float, + medium: td.Medium, + name: str, +) -> tuple[td.Structure, np.ndarray]: + """Construct a ``td.Structure`` representing repeating grating teeth.""" + teeth = [ + td.Box(center=(center, 0, center_z), size=(width, inf, thickness)) + for center, width in zip(centers, widths) + ] + structure = td.Structure( + geometry=td.GeometryGroup(geometries=teeth), + medium=medium, + name=name, + ) + extent = centers + widths / 2 + return structure, extent + + +center_wavelength = 1.55 +min_steps_per_wvl = 20 +run_time = 1e-12 + + +def widths_gaps_to_centers( + widths: Sequence[float], + gaps: Sequence[float], + *, + first_gap: float, +) -> tuple[np.ndarray, np.ndarray]: + """Convert widths and gaps into center locations for rectangular grating teeth. + + Parameters + ---------- + widths : Sequence[float] + Ordered list of grating tooth widths in micrometers. + gaps : Sequence[float] + Ordered list of gaps between adjacent teeth in micrometers. The + sequence can have the same length as ``widths``; any extra entry is + automatically ignored. + first_gap : float + Offset between the start of the simulation coordinate system and the + leading edge of the first tooth, in micrometers. + + Returns + ------- + centers : np.ndarray + Array of tooth center positions in micrometers, aligned with the + simulation ``x`` axis. + widths : np.ndarray + Copy of the widths as a NumPy array (matching the Autograd backend). + """ + widths = np.array(widths) + gaps = np.array(gaps) + n = int(widths.size) + + gaps_interior = gaps[: n - 1] if n > 1 else gaps[:0] + if n == 0: + return widths[:0], widths + + combined = widths[:-1] + gaps_interior + cumulative = np.cumsum(combined) + prefix_offset = np.zeros(1, dtype=widths.dtype) + prefix = np.concatenate((prefix_offset, cumulative)) if cumulative.size else prefix_offset + centers = first_gap + prefix + widths / 2 + return centers, widths + + +def make_grating_structures( + widths_si: Sequence[float], + gaps_si: Sequence[float], + widths_sin: Sequence[float], + gaps_sin: Sequence[float], + *, + first_gap_si: float, + first_gap_sin: float, + box_thickness: float, + si_thickness: float, + spacer_thickness: float, + sin_thickness: float, +) -> tuple[list[td.Structure], dict[str, float]]: + """Return tidy3d structures for the dual-layer grating. + + Parameters + ---------- + widths_si : Sequence[float] + Silicon tooth widths in micrometers. + gaps_si : Sequence[float] + Silicon gaps in micrometers measured along ``x``. + widths_sin : Sequence[float] + Silicon nitride tooth widths in micrometers. + gaps_sin : Sequence[float] + Silicon nitride gaps in micrometers. + first_gap_si : float + Offset from the waveguide start to the first silicon tooth, in + micrometers. + first_gap_sin : float + Offset from the silicon nitride waveguide to its first tooth, in + micrometers. + box_thickness : float + Buried oxide thickness in micrometers. + si_thickness : float + Silicon device layer thickness in micrometers. + spacer_thickness : float + Spacer between silicon and silicon nitride layers in micrometers. + sin_thickness : float + Silicon nitride layer thickness in micrometers. + + Returns + ------- + structures : list[td.Structure] + Collection of Tidy3D structures representing the full coupler stack. + geometry_info : dict[str, float] + Dictionary with geometry references used to size the simulation domain + and place sources/monitors. The keys are ``"c_sin"`` (center of the + silicon nitride waveguide) and ``"x_gc"`` (end of the patterned region). + """ + c_si, w_si = widths_gaps_to_centers(widths_si, gaps_si, first_gap=first_gap_si) + c_sin, w_sin = widths_gaps_to_centers(widths_sin, gaps_sin, first_gap=first_gap_sin) + + structures: list[td.Structure] = [] + substrate_geom = td.Box.from_bounds((-inf, -inf, -inf), (inf, inf, 0)) + structures.append( + td.Structure( + geometry=substrate_geom, + medium=substrate, + name="substrate", + ) + ) + + si_center_z = substrate_geom.bounds[1][2] + box_thickness + si_thickness / 2 + si_teeth, si_extents = _make_teeth_structure( + c_si, + w_si, + center_z=si_center_z, + thickness=si_thickness, + medium=si, + name="si_teeth", + ) + structures.append(si_teeth) + + sin_waveguide_geom = td.Box.from_bounds( + (-inf, -inf, si_center_z + si_thickness / 2 + spacer_thickness), + (0, inf, si_center_z + si_thickness / 2 + spacer_thickness + sin_thickness), + ) + structures.append( + td.Structure( + geometry=sin_waveguide_geom, + medium=sin, + name="sin_waveguide", + ) + ) + + sin_teeth, sin_extents = _make_teeth_structure( + c_sin, + w_sin, + center_z=sin_waveguide_geom.center[2], + thickness=sin_thickness, + medium=sin, + name="sin_teeth", + ) + structures.append(sin_teeth) + + return structures, { + "c_sin": sin_waveguide_geom.center, + "x_gc": np.maximum(sin_extents.max(), si_extents.max()), + } + + +def make_simulation( + widths_si: Sequence[float], + gaps_si: Sequence[float], + widths_sin: Sequence[float], + gaps_sin: Sequence[float], + *, + first_gap_si: float = first_gap_si, + first_gap_sin: float = first_gap_sin, + box_thickness: float = 2.0, + si_thickness: float = 0.09, + spacer_thickness: float = default_spacer_thickness, + sin_thickness: float = 0.4, + center_wavelength: float = center_wavelength, + bandwidth: float = 0.1, + freq_points: int = 101, + beam_offset_x: float = 5.0, + beam_height: float = 2.0, + beam_mfd: float = 9.2, + beam_angle_deg: float = 10, + include_field_monitor: bool = False, +) -> td.Simulation: + """Assemble a tidy3d simulation for the dual-layer grating coupler. + + Parameters + ---------- + widths_si, gaps_si, widths_sin, gaps_sin : Sequence[float] + Geometry parameters in micrometers defining the silicon and silicon + nitride tooth widths and gaps. + first_gap_si : float, optional + Offset between the waveguide start and first silicon tooth in + micrometers. + first_gap_sin : float, optional + Offset between the silicon nitride guide and its first tooth. + box_thickness : float, optional + Buried oxide thickness in micrometers. + si_thickness : float, optional + Silicon layer thickness in micrometers. + spacer_thickness : float, optional + Vertical spacing between silicon and silicon nitride layers in + micrometers. + sin_thickness : float, optional + Silicon nitride layer thickness in micrometers. + center_wavelength : float, optional + Central wavelength in micrometers. + bandwidth : float, optional + Spectral span around the central wavelength in micrometers. + freq_points : int, optional + Number of frequency samples across the bandwidth. + beam_offset_x : float, optional + Horizontal displacement of the incident Gaussian beam center, in + micrometers. + beam_height : float, optional + Distance between the silicon nitride surface and the beam waist center, + in micrometers. + beam_mfd : float, optional + Mode field diameter of the Gaussian beam in micrometers. + beam_angle_deg : float, optional + Incident angle of the Gaussian beam in degrees. + include_field_monitor : bool, optional + If ``True``, include a 2D field monitor slicing through ``x``-``z``. + + Returns + ------- + td.Simulation + Fully defined Tidy3D simulation ready to run. + """ + structures, geometry_info = make_grating_structures( + widths_si, + gaps_si, + widths_sin, + gaps_sin, + first_gap_si=first_gap_si, + first_gap_sin=first_gap_sin, + box_thickness=box_thickness, + si_thickness=si_thickness, + spacer_thickness=spacer_thickness, + sin_thickness=sin_thickness, + ) + + freq0 = td.C_0 / center_wavelength + freqs = td.C_0 / np.linspace( + center_wavelength - bandwidth / 2, + center_wavelength + bandwidth / 2, + freq_points, + ) + + source_z = geometry_info["c_sin"][2] + sin_thickness / 2 + beam_height + source = td.GaussianBeam( + center=(beam_offset_x, 0, source_z), + size=(inf, inf, 0), + source_time=td.GaussianPulse(freq0=freq0, fwidth=freq0 / 10), + pol_angle=np.pi / 2, + angle_theta=np.deg2rad(beam_angle_deg), + direction="-", + waist_radius=beam_mfd / 2, + name="input_beam", + ) + + monitors = [ + td.ModeMonitor( + center=(-buffer_left + 0.5, 0, getval(geometry_info["c_sin"][2])), + size=(0, inf, 3), + freqs=freqs, + mode_spec=td.ModeSpec(num_modes=1), + name="mode_monitor", + ) + ] + + if include_field_monitor: + monitors.append( + td.FieldMonitor( + center=(0, 0, 0), + size=(inf, 0, inf), + freqs=freq0, + fields=("Ey",), + name="field_monitor", + ) + ) + + x_min = getval(-buffer_left) + x_max = getval(geometry_info["x_gc"] + buffer_right) + z_min = getval(-buffer_bot) + z_max = getval(source_z + buffer_top) + + simulation = td.Simulation( + center=((x_min + x_max) / 2, 0, (z_min + z_max) / 2), + size=(x_max - x_min, 0, z_max - z_min), + structures=structures, + sources=(source,), + monitors=monitors, + medium=box, + boundary_spec=td.BoundarySpec( + x=td.Boundary.pml(), + y=td.Boundary.periodic(), + z=td.Boundary.pml(), + ), + grid_spec=td.GridSpec.auto(min_steps_per_wvl=min_steps_per_wvl), + run_time=run_time, + ) + return simulation + + +def get_mode_monitor_power( + sim_data: td.SimulationData, + *, + mode_index: int = 0, + direction: str = "-", + monitor_name: str = "mode_monitor", + power_floor: float = 1e-12, +) -> td.DataArray: + """Return a clipped power spectrum from a mode monitor. + + Parameters + ---------- + sim_data : td.SimulationData + Simulation result returned by ``td.Simulation.run()``. + mode_index : int, optional + Index of the guided mode to extract. + direction : str, optional + Propagation direction label (``"+"`` or ``"-"``) used by Tidy3D. + monitor_name : str, optional + Name of the mode monitor inside the simulation. + power_floor : float, optional + Minimum power value (in Watts) used to avoid taking the logarithm of + zero downstream. Set to ``None`` to disable clipping. + + Returns + ------- + td.DataArray + Absolute squared amplitudes corresponding to the requested mode. + """ + monitor = sim_data[monitor_name] + amps = monitor.amps.sel(mode_index=mode_index, direction=direction) + power = np.abs(amps) ** 2 + if power_floor is not None: + power = power.clip(min=power_floor) + return power diff --git a/custom_dictionary.json b/custom_dictionary.json index 7a25ff9a..b0b178b9 100644 --- a/custom_dictionary.json +++ b/custom_dictionary.json @@ -1 +1 @@ -{"'s": 1, "-acbf-": 1, "-channel": 1, "-core": 1, "-degree": 1, "-dimensional": 1, "-ff": 1, "-fold": 1, "-ify": 1, "-leds": 1, "-offset": 1, "-order": 1, "-pole": 1, "-t": 1, "a-coordinate": 1, "abouzahra": 1, "above-defined": 1, "adamoptimizer": 1, "add-drop": 1, "adj": 1, "adjoint-based": 1, "admittancenetwork": 1, "advancedfastfitterparam": 1, "agoutane": 1, "air-bridged": 1, "air-filled": 1, "aligned-corrugation": 1, "alkeskjold": 1, "all-dielectric": 1, "all-optical": 1, "amar": 1, "andreas": 1, "anisotropicmedium": 1, "antennacharacteristics": 1, "antennametricsdata": 1, "anti-mask": 1, "anti-reflection": 1, "anti-reflective": 1, "anti-resonant": 1, "anti-symmetric": 1, "antireflection": 1, "apodization": 1, "apodized": 1, "archiv": 1, "area-integrated": 1, "arghya": 1, "args": 1, "arrow-shaped": 1, "artech": 1, "asi": 1, "audhkhasi": 1, "augustin-jean": 1, "autograd": 1, "autograd's": 1, "autograd-wrapped": 1, "autogradsimulation": 1, "autogrid": 1, "avramescu": 1, "backpropagate": 1, "backscattering": 1, "backward-propagating": 1, "balanis": 1, "bandgap": 1, "bandpass": 1, "bandstructure": 1, "bandstructure-normalized": 1, "batchdata": 1, "bayesian-optimization": 1, "bcs": 1, "beam-steerable": 1, "beamprofile": 1, "behaviour": 1, "behdad": 1, "best-performing": 1, "bezier": 1, "bi-layer": 1, "bi-level": 1, "bilayer": 1, "binarization": 1, "binarizations": 1, "binarize": 1, "binarized": 1, "binarizing": 1, "bio-medical": 1, "biomolecule": 1, "biomolecules": 1, "biosensor": 1, "biosensors": 1, "bistability": 1, "blue-shifted": 1, "blueshift": 1, "blueviolet": 1, "bo": 1, "booske": 1, "bottom-left": 1, "bottom-right": 1, "boundaryspec": 1, "brillouin": 1, "brute-force": 1, "bs": 1, "built-in": 1, "builtin": 1, "builtins": 1, "butterworth": 1, "bwr": 1, "c-band": 1, "cadetblue": 1, "cavity-bordering": 1, "cavity-induced": 1, "center-to-center": 1, "centres": 1, "charge-induced": 1, "charge-to-optical": 1, "chargetolerancespec": 1, "chebyshev": 1, "chenchen": 1, "cheung": 1, "chip-level": 1, "chip-to-chip": 1, "chiroptical": 1, "chrostowski": 1, "circuit-level": 1, "claddings": 1, "classifyoctant": 1, "classmethod": 1, "client-side": 1, "clipoperation": 1, "close-up": 1, "clothoid": 1, "cmos-compatible": 1, "cmrrs": 1, "co-located": 1, "co-optimization": 1, "co-planar": 1, "co-polarization": 1, "coaxiallumpedport": 1, "coeffs": 1, "colocate": 1, "colocated": 1, "colocating": 1, "colocation": 1, "colorbar": 1, "colormap": 1, "colours": 1, "comboboxselected": 1, "compensated-single-cell": 1, "complex-conjugate": 1, "complex-valued": 1, "complexpolyslab": 1, "componentmodeler": 1, "computer-aided": 1, "config": 1, "conformally": 1, "continuoussource": 1, "coolwarm": 1, "coords": 1, "cost-effective": 1, "counter-clockwise": 1, "counter-example": 1, "coupler's": 1, "couplerverify": 1, "courant": 1, "cpu-based": 1, "cross-polarization": 1, "cross-polarized": 1, "cross-section": 1, "cross-sectional": 1, "cross-sections": 1, "cross-talk": 1, "crystal-like": 1, "csi": 1, "csv": 1, "currentintegralaxisaligned": 1, "currentsource": 1, "custom-defined": 1, "customcurrentsource": 1, "customfieldsource": 1, "customizable": 1, "custommedium": 1, "custompoleresidue": 1, "customsource": 1, "customsourcetime": 1, "cutting-edge": 1, "darkblue": 1, "darkorange": 1, "darkred": 1, "data-driven": 1, "dataarray": 1, "dataarrays": 1, "dataframe": 1, "dataset": 1, "dataset's": 1, "datasets": 1, "datastructure": 1, "datatypes": 1, "dbr-based": 1, "de-embed": 1, "de-embedded": 1, "de-embedding": 1, "de-multiplexer": 1, "deep-subwavelength": 1, "def": 1, "deg": 1, "delocalized": 1, "demultiplexer": 1, "demultiplexing": 1, "density-based": 1, "deotare": 1, "der": 1, "derivative-traced": 1, "designregion": 1, "designspace": 1, "desktop-based": 1, "devsim": 1, "diamond-air": 1, "dict": 1, "dielectric-silicon": 1, "diffractionmonitor": 1, "diffractionmonitors": 1, "directivities": 1, "directivity": 1, "directivitymonitor": 1, "directly-measured": 1, "discretization": 1, "discretize": 1, "discretized": 1, "dispersion-free": 1, "dispersionless": 1, "distanceunstructuredgrid": 1, "div": 1, "dl": 1, "docstring": 1, "double-check": 1, "downsample": 1, "downsampled": 1, "downsampling": 1, "dpi": 1, "drc": 1, "drift-diffusion": 1, "dropdown": 1, "dtypes": 1, "duty-cycle": 1, "e-field": 1, "e-fields": 1, "e-plane": 1, "early-stop": 1, "easily-usable": 1, "ed-qbic": 1, "edge-coupled": 1, "eigenmode": 1, "eigenmodes": 1, "eigenvectors": 1, "electro-optic": 1, "electro-optical": 1, "electroabsorption": 1, "electromagnetics": 1, "electrorefraction": 1, "elektronik": 1, "elementwise": 1, "emecoefficientmonitor": 1, "emeexplicitgrid": 1, "emefieldmonitor": 1, "emelengthsweep": 1, "ememodesolvermonitor": 1, "emesimulationdata": 1, "emeuniformgrid": 1, "eps": 1, "epsmon": 1, "erosiondilation": 1, "etc": 1, "ev": 1, "even-symmetric": 1, "ew": 1, "exp": 1, "exploration-exploitation": 1, "ey": 1, "ez-dominant": 1, "ez-polarized": 1, "fabricability": 1, "fabricable": 1, "fabrication-aware": 1, "fabrication-constrained": 1, "fabrication-induced": 1, "fabrication-predicted": 1, "fabry-perot": 1, "false-color": 1, "fano": 1, "far-field": 1, "farfield": 1, "farfieldlocalprojection": 1, "farfieldmon": 1, "farfieldmonitor": 1, "farfieldserverdownsample": 1, "fastdispersionfitter": 1, "fbg-based": 1, "fbg-reflected": 1, "fdtd": 1, "fdtd-creating": 1, "fem-based": 1, "femtoseconds": 1, "fiber-to-chip": 1, "fibres": 1, "fielddata": 1, "fielddataset": 1, "fieldmon": 1, "fieldmonitor": 1, "fieldprofilemon": 1, "fieldprojectionangledata": 1, "fieldprojectionanglemonitor": 1, "fieldprojectioncartesiandata": 1, "fieldprojector": 1, "fieldtimemon": 1, "fieldtimemonitor": 1, "fieldtimemonitors": 1, "figure-of-merit": 1, "fill-factor": 1, "fill-factors": 1, "filled-in": 1, "filterproject": 1, "fine-featured": 1, "fine-tune": 1, "fine-tuned": 1, "fine-tuning": 1, "finite-difference": 1, "finite-size": 1, "finite-sized": 1, "flexcompute": 1, "flexcompute's": 1, "flexcredit": 1, "flexcredits": 1, "florian": 1, "fluidspec": 1, "flux-time": 1, "fluxmon": 1, "fluxmonitor": 1, "fluxmonitors": 1, "foms": 1, "forward-propagating": 1, "four-fold": 1, "four-wave": 1, "fourier-transformed": 1, "fps": 1, "free-carrier": 1, "free-form": 1, "free-space": 1, "freq": 1, "freqs": 1, "frequency-dependence": 1, "frequency-domain": 1, "fsss": 1, "ftol": 1, "full-wave": 1, "fullyanisotropicmedium": 1, "functionalities": 1, "fvec": 1, "fwd": 1, "fxnxn": 1, "gaas": 1, "gainsboro": 1, "gaussian-like": 1, "gaussianbeam": 1, "gaussianpulse": 1, "gaussians": 1, "gcopt": 1, "gdspy": 1, "general-purpose": 1, "generation-recombination": 1, "geometrygroup": 1, "ghz": 1, "gif": 1, "glass-al": 1, "gouraud": 1, "gouy": 1, "gpus": 1, "gradient-ascent": 1, "gradient-based": 1, "gradient-descent": 1, "gradient-index": 1, "graphene's": 1, "graphene-based": 1, "gratingefficiency": 1, "grayscale": 1, "grcwa's": 1, "gridspec": 1, "gui": 1, "guis": 1, "h-plane": 1, "hagness": 1, "half-circle": 1, "half-space": 1, "half-sphere": 1, "hamiltonians": 1, "hammerstad": 1, "hammerstad-jensen": 1, "hankel": 1, "hardcode": 1, "harmonic-inversion": 1, "hbn": 1, "hdf": 1, "heatchargemonitordata": 1, "heatchargesimulation": 1, "heatchargesimulationdata": 1, "hermite-gaussian": 1, "hermitian": 1, "hetzl": 1, "hexagon-shaped": 1, "high-density": 1, "high-frequency": 1, "high-gain": 1, "high-index": 1, "high-performance": 1, "high-power": 1, "high-q": 1, "high-quality": 1, "high-speed": 1, "higher-level": 1, "higher-order": 1, "highest-index": 1, "highest-tm-fraction": 1, "hlim": 1, "hochberg": 1, "hollow-core": 1, "horiba": 1, "hx": 1, "hy": 1, "hyper-geometric": 1, "hyperparameter": 1, "hyperparameters": 1, "ie": 1, "ij": 1, "im": 1, "imag": 1, "impedancecalculator": 1, "impedances": 1, "in-built": 1, "in-coupling": 1, "in-place": 1, "in-plane": 1, "inas": 1, "indexperturbation": 1, "infinite-extent": 1, "information-carrying": 1, "ingan": 1, "insulator-metal-insulator": 1, "int": 1, "inter-chip": 1, "inter-particle": 1, "intermedium": 1, "interp": 1, "interposers": 1, "interscience": 1, "invdes": 1, "inverse-designed": 1, "inversedesign": 1, "inversedesignmulti": 1, "inversedesignresult": 1, "ipympl": 1, "isel": 1, "isocontour": 1, "isothermalsteadychargedcanalysis": 1, "isotropically": 1, "ivanova": 1, "jakobsen": 1, "jax": 1, "jax-compatible": 1, "jax-traced": 1, "jaxbox": 1, "jaxcustommedium": 1, "jaxmedium": 1, "jaxpolyslab": 1, "jaxsimulation": 1, "jaxsimulationdata": 1, "jaxstructure": 1, "jaxstructures": 1, "jaxstructurestaticgeometry": 1, "jaxstructurestaticmedium": 1, "jens": 1, "jesper": 1, "jian-ming": 1, "jin": 1, "jkn": 1, "jnp": 1, "joannopoulos": 1, "json": 1, "jupyter": 1, "k-space": 1, "kalz": 1, "kirchhoff's": 1, "kirschning": 1, "klayout": 1, "ko": 1, "koster": 1, "kwarg": 1, "kwargs": 1, "l-band": 1, "l-cavity": 1, "laguerre-gaussian": 1, "large-area": 1, "large-scale": 1, "layerrefinementspec": 1, "lcapy": 1, "lcb": 1, "learning-based": 1, "leds": 1, "left-hand": 1, "left-handed": 1, "left-most": 1, "lensed": 1, "level-set": 1, "lex": 1, "lian": 1, "light-focusing": 1, "light-line": 1, "light-matter": 1, "lightcoral": 1, "lightning-fast": 1, "lightsteelblue": 1, "limegreen": 1, "linear-biasing": 1, "linearlumpedelement": 1, "linestyle": 1, "linewidth": 1, "lithography-induced": 1, "ll": 1, "ln's": 1, "loadtxt": 1, "lobemeasurer": 1, "logspacing": 1, "long-lived": 1, "long-term": 1, "longest-lifetime": 1, "look-up": 1, "loss-resistant": 1, "lossless": 1, "lossy": 1, "low-contrast": 1, "low-cost": 1, "low-index": 1, "low-index-contrast": 1, "low-level": 1, "low-loss": 1, "low-pass": 1, "low-profile": 1, "lower-level": 1, "lower-most": 1, "lumpedport": 1, "lunebug": 1, "luyen": 1, "lyrdb": 1, "mach-zehnder": 1, "magneto-optic": 1, "manufacturability": 1, "manufacturable": 1, "mashanovich": 1, "matekovits": 1, "matplotlib": 1, "mattia": 1, "maximising": 1, "maxiter": 1, "maxwell's": 1, "mccutcheon": 1, "medium-index": 1, "mediummediuminterface": 1, "melde": 1, "mesher": 1, "meshoverrideregion": 1, "meshoverridestructure": 1, "meshoverridestructures": 1, "meta-atoms": 1, "metadata": 1, "metagrating": 1, "metagratings": 1, "metal-insulator-metal": 1, "metalens": 1, "metalens-assisted": 1, "metalenses": 1, "metamaterial": 1, "metamaterial-based": 1, "metamaterials": 1, "metaparameters": 1, "metasurface": 1, "metasurfaces": 1, "methodbayopt": 1, "methodgenalg": 1, "methodgrid": 1, "methodmontecarlo": 1, "methodparticleswarm": 1, "michaels": 1, "michieletto": 1, "micro-leds": 1, "micro-meters": 1, "micro-sized": 1, "microcavities": 1, "microcavity": 1, "microfabricated": 1, "microled": 1, "microlens": 1, "micron-sized": 1, "microporous": 1, "microring": 1, "microstrip": 1, "microstrip-cpw": 1, "microstrips": 1, "microstructured": 1, "mid-infrared": 1, "mid-ir": 1, "mie": 1, "millimeter-wave": 1, "minimalistic": 1, "minimum-switch": 1, "misc": 1, "mm": 1, "mmis": 1, "mode-mixing": 1, "modefieldmonitor": 1, "modemon": 1, "modemonitor": 1, "modemonitors": 1, "modesolver": 1, "modesolvermonitor": 1, "modesolvers": 1, "modesource": 1, "modespec": 1, "modulo": 1, "monitordata": 1, "mono-exponentially": 1, "monostatic": 1, "mos": 1, "multi-chip": 1, "multi-design": 1, "multi-dimensional": 1, "multi-freq": 1, "multi-frequency": 1, "multi-functional": 1, "multi-layer": 1, "multi-mode": 1, "multi-objective": 1, "multi-octave": 1, "multi-physical": 1, "multi-physics": 1, "multi-port": 1, "multi-simulation": 1, "multimaterial": 1, "multimode": 1, "multiphysics": 1, "multiphysicsmedium": 1, "multipole": 1, "multipoleexpansion": 1, "mw": 1, "n-dimensional": 1, "n-k": 1, "namespace": 1, "nano-strips": 1, "nanoantenna": 1, "nanoantennas": 1, "nanocavity": 1, "nanodisk": 1, "nanodisks": 1, "nanofabrication": 1, "nanolasing": 1, "nanoparticle": 1, "nanoparticles": 1, "nanophotonic": 1, "nanophotonics": 1, "nanopillars": 1, "nanoresonator": 1, "nanoresonators": 1, "nanorod": 1, "nanorods": 1, "nanoscale": 1, "nanosphere": 1, "nanostrip": 1, "nanostrips": 1, "nanostructure": 1, "nanostructure's": 1, "nanostructured": 1, "nanostructures": 1, "nanowires": 1, "narrow-band": 1, "narrowband": 1, "natively": 1, "ndarray": 1, "near-complete": 1, "near-field": 1, "near-fields": 1, "near-infrared": 1, "near-optimal": 1, "near-to-far": 1, "near-to-far-field": 1, "nearfield": 1, "nedeljkovic": 1, "neumann": 1, "next-generation": 1, "next-order": 1, "ngan": 1, "nh": 1, "nik": 1, "niobate": 1, "nitrogen-vacancy": 1, "nm": 1, "non-adiabatic": 1, "non-conformal": 1, "non-conservative": 1, "non-destructive": 1, "non-differentiable": 1, "non-dispersive": 1, "non-downsampled": 1, "non-etched": 1, "non-experts": 1, "non-exponentially": 1, "non-faid-based": 1, "non-hermitian": 1, "non-linear": 1, "non-negative": 1, "non-optimized": 1, "non-periodic": 1, "non-physical": 1, "non-radiative": 1, "non-taper": 1, "non-touching": 1, "non-translational": 1, "non-uniform": 1, "non-union": 1, "non-unionized": 1, "non-unity": 1, "non-zero": 1, "nondispersive": 1, "nonlinearities": 1, "nonlinearly": 1, "nonzero-size": 1, "normal-incidence": 1, "norwin": 1, "ns": 1, "num": 1, "numpy": 1, "nxn": 1, "o-band": 1, "o-th": 1, "octante": 1, "odd-symmetric": 1, "off-normal": 1, "off-resonance": 1, "offsetfactor": 1, "ol": 1, "ole": 1, "on-chip": 1, "one-dimensional": 1, "one-half": 1, "one-sided": 1, "one-third": 1, "open-circuited": 1, "open-source": 1, "opls": 1, "optax": 1, "optica": 1, "optimizable": 1, "ostermann": 1, "out-coupling": 1, "out-of-plane": 1, "overfitting": 1, "p-polarized": 1, "palik": 1, "parag": 1, "parallel-strip": 1, "parameterany": 1, "parameterfloat": 1, "parameterint": 1, "parameterization": 1, "parameterize": 1, "parameterized": 1, "parameterizes": 1, "paraview": 1, "parity-time": 1, "partially-etched": 1, "passband": 1, "pdk's": 1, "pec-like": 1, "periodicities": 1, "permittivities": 1, "perturbationmedium": 1, "pgan": 1, "phase-matching": 1, "phc": 1, "phi-": 1, "phonons": 1, "photodetector": 1, "photodetectors": 1, "photon-detector": 1, "photonforge": 1, "photonics": 1, "photothermal": 1, "photovoltaics": 1, "phys": 1, "pin-junction": 1, "pixel-by-pixel": 1, "pixelated": 1, "pixellated": 1, "piyg": 1, "pkl": 1, "plane-wave": 1, "planewave": 1, "plasmon": 1, "plasmonic": 1, "plasmonics": 1, "plug-and-play": 1, "pmc-like": 1, "pmls": 1, "pn": 1, "png": 1, "point-wise": 1, "pointdipole": 1, "polaritons": 1, "polarization-rotating": 1, "polarizers": 1, "pole-residue": 1, "poleresidue": 1, "polyslab": 1, "polyslabs": 1, "popsize": 1, "positive-x": 1, "post-correction": 1, "post-process": 1, "post-processes": 1, "post-processing": 1, "postprocess": 1, "postprocessing": 1, "power-current": 1, "power-voltage": 1, "powercoords": 1, "poynting": 1, "pozar": 1, "pp": 1, "pre": 1, "pre-define": 1, "pre-defined": 1, "pre-determined": 1, "pre-optimized": 1, "pre-print": 1, "pre-processing": 1, "prepregs": 1, "preprocessing": 1, "previously-set": 1, "previously-specified": 1, "printed-circuit": 1, "programmatically": 1, "pseudo-colors": 1, "pseudo-vector": 1, "psrs": 1, "purpose-specific": 1, "py": 1, "pydantic": 1, "pygad": 1, "pyswarms": 1, "python-based": 1, "pytorch": 1, "q-factor": 1, "q-factors": 1, "q-te": 1, "q-tm": 1, "qbic": 1, "qu": 1, "quadrupoles": 1, "quasi-bound": 1, "quasi-digital": 1, "quasi-guided": 1, "quasi-periodic": 1, "quasi-static": 1, "quasi-te": 1, "quasi-tem": 1, "quasi-tm": 1, "quasi-uniform": 1, "qubit": 1, "qubits": 1, "quickstart": 1, "rad": 1, "radio-frequency": 1, "radiuspenalty": 1, "ragani": 1, "ramp-up": 1, "ramping": 1, "rcond": 1, "rdbu": 1, "re-compute": 1, "re-entering": 1, "re-index": 1, "re-interpolate": 1, "re-project": 1, "re-projected": 1, "re-projection": 1, "re-run": 1, "re-set": 1, "re-simulate": 1, "re-simulation": 1, "readonly": 1, "real-time": 1, "real-valued": 1, "rectangulardielectric": 1, "refactored": 1, "reflectarray": 1, "reflectarrays": 1, "reflectiveless": 1, "refractiveindex": 1, "rel": 1, "reproj": 1, "resampled": 1, "resimulate": 1, "resonancefinder": 1, "reverse-biased": 1, "right-hand": 1, "right-handed": 1, "ring-shaped": 1, "rmax": 1, "rmin": 1, "ro": 1, "robustpath": 1, "romil": 1, "rotationally": 1, "rotator-splitter": 1, "round-trip": 1, "roundoff": 1, "royalblue": 1, "rt-duroid": 1, "runset": 1, "runtime": 1, "runtimes": 1, "rxy-": 1, "ryy-": 1, "rz": 1, "s-band": 1, "s-bend": 1, "s-bends": 1, "s-matrix": 1, "s-parameter": 1, "s-parameters": 1, "s-polarized": 1, "s-shape": 1, "sandybrown": 1, "savefig": 1, "scale-invariant": 1, "scattered-field": 1, "scatterplot": 1, "scikit-rf": 1, "scipy": 1, "sel": 1, "self-imaging": 1, "self-intersecting": 1, "self-intersection": 1, "self-intersections": 1, "semi-analytical": 1, "semi-circles": 1, "semi-infinite": 1, "semi-lens": 1, "semiconductor-oxide": 1, "semiconductormedium": 1, "separately-defined": 1, "sequentially-rotated": 1, "server-side": 1, "serverless": 1, "set-up": 1, "seven-element": 1, "several-fold": 1, "shanhui": 1, "shape-optimized": 1, "shut-off": 1, "si-gan-si": 1, "si-resonator-delta-": 1, "side-by-side": 1, "siganc": 1, "silicon-on-insulator": 1, "simulationdata": 1, "simulationoutputs": 1, "simulationparameters": 1, "sine-like": 1, "single-cell": 1, "single-feed": 1, "single-layer": 1, "single-mode": 1, "single-photon": 1, "single-pole": 1, "sio": 1, "skyblue": 1, "small-area": 1, "smartphones": 1, "smatrix": 1, "soi-sbse": 1, "solid-state": 1, "solver-based": 1, "soref": 1, "sourcetimes": 1, "space-time": 1, "spatialdataarray": 1, "spatialfiltering": 1, "spatially-varying": 1, "spatio-temporal": 1, "speed-up": 1, "sphere-cone": 1, "spherercs": 1, "sphp": 1, "sphps": 1, "splitter-rotator": 1, "spot-size": 1, "sqrt": 1, "srgb": 1, "sss": 1, "stack-up": 1, "stackings": 1, "staircase-like": 1, "stand-alone": 1, "star-shaped": 1, "state-of-the-art": 1, "steady-state": 1, "steadyfreecarrierdata": 1, "steelblue": 1, "step-by-step": 1, "stopband": 1, "str": 1, "strip-to-rib": 1, "strip-to-slot": 1, "stripline": 1, "structs": 1, "structure-setup": 1, "structureboundary": 1, "sub-functions": 1, "sub-optimal": 1, "sub-pixel": 1, "sub-polyslabs": 1, "sub-wavelength": 1, "subpixel": 1, "subpixel-smoothing": 1, "subwavelength": 1, "superstrate": 1, "sw-": 1, "swg": 1, "swgs": 1, "sx": 1, "symmetry-breaking": 1, "sz": 1, "taflove": 1, "tahir": 1, "taoufik": 1, "td": 1, "te-like": 1, "te-polarized": 1, "telecom": 1, "terminalcomponentmodeler": 1, "testgc": 1, "thermal-": 1, "thermal-ring": 1, "thermo-optic": 1, "thickness-free": 1, "thin-film": 1, "third-order": 1, "threadpool": 1, "three-dimensional": 1, "thresholding": 1, "thz": 1, "tightly-packed": 1, "time-average": 1, "time-averaged": 1, "time-dependent": 1, "time-domain": 1, "time-efficient": 1, "time-harmonic": 1, "timemonitor": 1, "tkinter": 1, "tm-like": 1, "tm-polarized": 1, "tmm": 1, "top-level": 1, "topologydesignregion": 1, "total-field": 1, "touhami": 1, "transformative": 1, "translationally": 1, "trianglemesh": 1, "triangulargriddata": 1, "trimesh": 1, "tristimulus": 1, "tuple": 1, "tuples": 1, "two-dimensional": 1, "two-layer": 1, "two-photon": 1, "txt": 1, "ucb": 1, "ullah": 1, "ultra-compact": 1, "ultra-slim": 1, "ultra-thin": 1, "ultracompact": 1, "ultrasharp": 1, "un-corrected": 1, "un-etched": 1, "un-normalized": 1, "uncladded": 1, "uncomment": 1, "uncomputed": 1, "und": 1, "unetched": 1, "uni-directional": 1, "uniformcurrentsource": 1, "unitarity": 1, "unnormalized": 1, "unphysical": 1, "untapered": 1, "up-conversion": 1, "url": 1, "use-case": 1, "user-defined": 1, "user-friendly": 1, "user-input": 1, "user-specified": 1, "user-supplied": 1, "util": 1, "v-antenna": 1, "vector-jacobian": 1, "vectorial": 1, "versa": 1, "vias": 1, "viridis": 1, "visualise": 1, "visualizationspec": 1, "viz": 1, "vlim": 1, "vmax": 1, "vol": 1, "voltage-current": 1, "von": 1, "vortexmetasurface": 1, "voxel": 1, "vtk": 1, "vtkunstructuredgrid": 1, "vtu": 1, "waag": 1, "waals": 1, "wafer-scale": 1, "walkthrough": 1, "water-tight": 1, "water-tightness": 1, "waveguide's": 1, "waveguide-cavity": 1, "waveguide-only": 1, "waveguide-to-ring": 1, "waveguiding": 1, "wavelength-dependent": 1, "wavelength-division": 1, "wavenumber": 1, "waveport": 1, "wavevector": 1, "wavevectors": 1, "web-based": 1, "webapi": 1, "well-approximated": 1, "well-binarized": 1, "well-defined": 1, "well-established": 1, "well-known": 1, "well-matched": 1, "well-suited": 1, "wg": 1, "wga": 1, "whispering-gallery": 1, "wideband": 1, "widely-used": 1, "wireframe": 1, "workflow": 1, "wrap-around": 1, "wvgin": 1, "wvgout": 1, "x-": 1, "x-aligned": 1, "x-axis": 1, "x-coordinate": 1, "x-coordinates": 1, "x-direction": 1, "x-distance": 1, "x-minus": 1, "x-oriented": 1, "x-plus": 1, "x-polarized": 1, "x-position": 1, "x-y": 1, "x-z": 1, "xarray": 1, "xarray's": 1, "xmax": 1, "xmin": 1, "xp": 1, "xr": 1, "xx": 1, "xy": 1, "xy-plane": 1, "xyfieldmon": 1, "xyz": 1, "xz": 1, "y-": 1, "y-axis": 1, "y-branch": 1, "y-coordinate": 1, "y-direction": 1, "y-junction": 1, "y-junctions": 1, "y-minus": 1, "y-oriented": 1, "y-plus": 1, "y-polarized": 1, "y-z": 1, "yablonovitch": 1, "yagi-uda": 1, "yaml": 1, "yanik": 1, "yee": 1, "yee-grid": 1, "ymax": 1, "yurui": 1, "yy": 1, "yz": 1, "z-aligned": 1, "z-axis": 1, "z-boundaries": 1, "z-bounds": 1, "z-component": 1, "z-coordinate": 1, "z-direction": 1, "z-directions": 1, "z-normal": 1, "z-planes": 1, "z-positions": 1, "z-size": 1, "zemax": 1, "zero-contour": 1, "zero-level": 1, "zero-mode": 1, "zero-phase": 1, "zero-phonon": 1, "zero-size": 1, "zero-th": 1, "zhang": 1, "zoom-in": 1, "zoomed-in": 1, "zz": 1} \ No newline at end of file +{"'s": 1, "-acbf-": 1, "-channel": 1, "-core": 1, "-degree": 1, "-dimensional": 1, "-element": 1, "-ff": 1, "-fold": 1, "-ify": 1, "-leds": 1, "-offset": 1, "-order": 1, "-parameter": 1, "-percentile": 1, "-pole": 1, "-t": 1, "a-coordinate": 1, "abouzahra": 1, "above-defined": 1, "adamoptimizer": 1, "add-drop": 1, "adj": 1, "adjoint-based": 1, "adjoint-driven": 1, "adjoint-optimized": 1, "admittancenetwork": 1, "advancedfastfitterparam": 1, "agoutane": 1, "air-bridged": 1, "air-filled": 1, "aligned-corrugation": 1, "alkeskjold": 1, "all-dielectric": 1, "all-optical": 1, "amar": 1, "andreas": 1, "anisotropicmedium": 1, "antennacharacteristics": 1, "antennametricsdata": 1, "anti-mask": 1, "anti-reflection": 1, "anti-reflective": 1, "anti-resonant": 1, "anti-symmetric": 1, "antireflection": 1, "apodization": 1, "apodize": 1, "apodized": 1, "archiv": 1, "area-integrated": 1, "arghya": 1, "args": 1, "arrow-shaped": 1, "artech": 1, "as-built": 1, "asi": 1, "audhkhasi": 1, "augustin-jean": 1, "autograd": 1, "autograd's": 1, "autograd-wrapped": 1, "autogradsimulation": 1, "autogrid": 1, "avramescu": 1, "backpropagate": 1, "backscattering": 1, "backward-propagating": 1, "balanis": 1, "bandgap": 1, "bandpass": 1, "bandstructure": 1, "bandstructure-normalized": 1, "batchdata": 1, "bayesian-optimization": 1, "bcs": 1, "beam-steerable": 1, "beamprofile": 1, "behaviour": 1, "behdad": 1, "best-case": 1, "best-performing": 1, "bezier": 1, "bi-layer": 1, "bi-level": 1, "bilayer": 1, "binarization": 1, "binarizations": 1, "binarize": 1, "binarized": 1, "binarizing": 1, "bio-medical": 1, "biomolecule": 1, "biomolecules": 1, "biosensor": 1, "biosensors": 1, "bistability": 1, "black-box": 1, "blue-shifted": 1, "blueshift": 1, "blueviolet": 1, "bo": 1, "booske": 1, "bottom-left": 1, "bottom-right": 1, "boundaryspec": 1, "brillouin": 1, "brute-force": 1, "bs": 1, "built-in": 1, "builtin": 1, "builtins": 1, "butterworth": 1, "bwr": 1, "c-band": 1, "cadetblue": 1, "cavity-bordering": 1, "cavity-induced": 1, "center-to-center": 1, "center-wavelength": 1, "centres": 1, "charge-induced": 1, "charge-to-optical": 1, "chargetolerancespec": 1, "chebyshev": 1, "chenchen": 1, "cheung": 1, "chip-level": 1, "chip-to-chip": 1, "chiroptical": 1, "chrostowski": 1, "circuit-level": 1, "claddings": 1, "classifyoctant": 1, "classmethod": 1, "client-side": 1, "clipoperation": 1, "close-up": 1, "clothoid": 1, "cmos-compatible": 1, "cmrrs": 1, "co-located": 1, "co-optimization": 1, "co-planar": 1, "co-polarization": 1, "coaxiallumpedport": 1, "coeffs": 1, "colocate": 1, "colocated": 1, "colocating": 1, "colocation": 1, "colorbar": 1, "colormap": 1, "colours": 1, "comboboxselected": 1, "compensated-single-cell": 1, "complex-conjugate": 1, "complex-valued": 1, "complexpolyslab": 1, "componentmodeler": 1, "computer-aided": 1, "config": 1, "conformally": 1, "continuoussource": 1, "coolwarm": 1, "coords": 1, "cost-effective": 1, "counter-clockwise": 1, "counter-example": 1, "coupler's": 1, "couplerverify": 1, "courant": 1, "cpu-based": 1, "cross-polarization": 1, "cross-polarized": 1, "cross-section": 1, "cross-sectional": 1, "cross-sections": 1, "cross-talk": 1, "crystal-like": 1, "csi": 1, "csv": 1, "currentintegralaxisaligned": 1, "currentsource": 1, "custom-defined": 1, "customcurrentsource": 1, "customfieldsource": 1, "customizable": 1, "custommedium": 1, "custompoleresidue": 1, "customsource": 1, "customsourcetime": 1, "cutting-edge": 1, "darkblue": 1, "darkorange": 1, "darkred": 1, "data-driven": 1, "dataarray": 1, "dataarrays": 1, "dataframe": 1, "dataset": 1, "dataset's": 1, "datasets": 1, "datastructure": 1, "datatypes": 1, "dbr-based": 1, "de-embed": 1, "de-embedded": 1, "de-embedding": 1, "de-multiplexer": 1, "deep-subwavelength": 1, "def": 1, "deg": 1, "delocalized": 1, "demultiplexer": 1, "demultiplexing": 1, "density-based": 1, "deotare": 1, "der": 1, "derivative-traced": 1, "designregion": 1, "designspace": 1, "desktop-based": 1, "devsim": 1, "diamond-air": 1, "dict": 1, "dielectric-silicon": 1, "diffractionmonitor": 1, "diffractionmonitors": 1, "directivities": 1, "directivity": 1, "directivitymonitor": 1, "directly-measured": 1, "discretization": 1, "discretize": 1, "discretized": 1, "dispersion-free": 1, "dispersionless": 1, "distanceunstructuredgrid": 1, "div": 1, "dl": 1, "docstring": 1, "double-check": 1, "downsample": 1, "downsampled": 1, "downsampling": 1, "dpi": 1, "drc": 1, "drift-diffusion": 1, "dropdown": 1, "dtypes": 1, "dual-layer": 1, "duty-cycle": 1, "e-field": 1, "e-fields": 1, "e-plane": 1, "early-stop": 1, "easily-usable": 1, "ed-qbic": 1, "edge-coupled": 1, "eigenmode": 1, "eigenmodes": 1, "eigenvectors": 1, "electro-optic": 1, "electro-optical": 1, "electroabsorption": 1, "electromagnetics": 1, "electrorefraction": 1, "elektronik": 1, "elementwise": 1, "emecoefficientmonitor": 1, "emeexplicitgrid": 1, "emefieldmonitor": 1, "emelengthsweep": 1, "ememodesolvermonitor": 1, "emesimulationdata": 1, "emeuniformgrid": 1, "eps": 1, "epsmon": 1, "erosiondilation": 1, "etc": 1, "ev": 1, "even-symmetric": 1, "ew": 1, "exp": 1, "exploration-exploitation": 1, "ey": 1, "ez-dominant": 1, "ez-polarized": 1, "fabricability": 1, "fabricable": 1, "fabrication-aware": 1, "fabrication-constrained": 1, "fabrication-induced": 1, "fabrication-predicted": 1, "fabrication-sensitive": 1, "fabry-perot": 1, "false-color": 1, "fano": 1, "far-field": 1, "farfield": 1, "farfieldlocalprojection": 1, "farfieldmon": 1, "farfieldmonitor": 1, "farfieldserverdownsample": 1, "fastdispersionfitter": 1, "fbg-based": 1, "fbg-reflected": 1, "fdtd": 1, "fdtd-creating": 1, "fem-based": 1, "femtoseconds": 1, "fiber-to-chip": 1, "fibres": 1, "fielddata": 1, "fielddataset": 1, "fieldmon": 1, "fieldmonitor": 1, "fieldprofilemon": 1, "fieldprojectionangledata": 1, "fieldprojectionanglemonitor": 1, "fieldprojectioncartesiandata": 1, "fieldprojector": 1, "fieldtimemon": 1, "fieldtimemonitor": 1, "fieldtimemonitors": 1, "figure-of-merit": 1, "fill-factor": 1, "fill-factors": 1, "filled-in": 1, "filterproject": 1, "fine-featured": 1, "fine-tune": 1, "fine-tuned": 1, "fine-tuning": 1, "finite-difference": 1, "finite-size": 1, "finite-sized": 1, "five-dimensional": 1, "flexcompute": 1, "flexcompute's": 1, "flexcredit": 1, "flexcredits": 1, "florian": 1, "fluidspec": 1, "flux-time": 1, "fluxmon": 1, "fluxmonitor": 1, "fluxmonitors": 1, "follow-up": 1, "foms": 1, "forward-propagating": 1, "foundry-provided": 1, "four-fold": 1, "four-wave": 1, "fourier-transformed": 1, "fps": 1, "free-carrier": 1, "free-form": 1, "free-space": 1, "freq": 1, "freqs": 1, "frequency-dependence": 1, "frequency-domain": 1, "fsss": 1, "ftol": 1, "full-wave": 1, "fullyanisotropicmedium": 1, "functionalities": 1, "fvec": 1, "fwd": 1, "fxnxn": 1, "gaas": 1, "gainsboro": 1, "gaussian-like": 1, "gaussianbeam": 1, "gaussianpulse": 1, "gaussians": 1, "gcopt": 1, "gdspy": 1, "general-purpose": 1, "generation-recombination": 1, "geometrygroup": 1, "ghz": 1, "gif": 1, "glass-al": 1, "gouraud": 1, "gouy": 1, "gpus": 1, "gradient-ascent": 1, "gradient-based": 1, "gradient-descent": 1, "gradient-free": 1, "gradient-index": 1, "gradient-scaled": 1, "graphene's": 1, "graphene-based": 1, "gratingefficiency": 1, "grayscale": 1, "grcwa's": 1, "gridspec": 1, "gui": 1, "guis": 1, "h-plane": 1, "hagness": 1, "half-circle": 1, "half-space": 1, "half-sphere": 1, "hamiltonians": 1, "hammerstad": 1, "hammerstad-jensen": 1, "hankel": 1, "hardcode": 1, "harmonic-inversion": 1, "hbn": 1, "hdf": 1, "heatchargemonitordata": 1, "heatchargesimulation": 1, "heatchargesimulationdata": 1, "hermite-gaussian": 1, "hermitian": 1, "hetzl": 1, "hexagon-shaped": 1, "high-density": 1, "high-dimensional": 1, "high-efficiency": 1, "high-frequency": 1, "high-gain": 1, "high-index": 1, "high-performance": 1, "high-power": 1, "high-q": 1, "high-quality": 1, "high-speed": 1, "higher-dimensional": 1, "higher-level": 1, "higher-order": 1, "higher-performance": 1, "higher-yield": 1, "highest-index": 1, "highest-tm-fraction": 1, "hlim": 1, "hochberg": 1, "hollow-core": 1, "horiba": 1, "hx": 1, "hy": 1, "hyper-geometric": 1, "hyperparameter": 1, "hyperparameters": 1, "ie": 1, "ij": 1, "im": 1, "imag": 1, "impedancecalculator": 1, "impedances": 1, "in-built": 1, "in-coupling": 1, "in-place": 1, "in-plane": 1, "inas": 1, "indexperturbation": 1, "infinite-extent": 1, "information-carrying": 1, "ingan": 1, "insulator-metal-insulator": 1, "int": 1, "inter-chip": 1, "inter-layer": 1, "inter-particle": 1, "intermedium": 1, "interp": 1, "interposers": 1, "interscience": 1, "invdes": 1, "inverse-designed": 1, "inversedesign": 1, "inversedesignmulti": 1, "inversedesignresult": 1, "ipympl": 1, "isel": 1, "isocontour": 1, "isothermalsteadychargedcanalysis": 1, "isotropically": 1, "ivanova": 1, "jakobsen": 1, "jax": 1, "jax-compatible": 1, "jax-traced": 1, "jaxbox": 1, "jaxcustommedium": 1, "jaxmedium": 1, "jaxpolyslab": 1, "jaxsimulation": 1, "jaxsimulationdata": 1, "jaxstructure": 1, "jaxstructures": 1, "jaxstructurestaticgeometry": 1, "jaxstructurestaticmedium": 1, "jens": 1, "jesper": 1, "jian-ming": 1, "jin": 1, "jkn": 1, "jnp": 1, "joannopoulos": 1, "json": 1, "json-serializable": 1, "jupyter": 1, "k-space": 1, "kalz": 1, "kirchhoff's": 1, "kirschning": 1, "klayout": 1, "ko": 1, "koster": 1, "kwarg": 1, "kwargs": 1, "l-band": 1, "l-cavity": 1, "laguerre-gaussian": 1, "large-area": 1, "large-scale": 1, "layerrefinementspec": 1, "lcapy": 1, "lcb": 1, "learning-based": 1, "leds": 1, "left-hand": 1, "left-handed": 1, "left-most": 1, "lensed": 1, "level-set": 1, "lex": 1, "lian": 1, "light-focusing": 1, "light-line": 1, "light-matter": 1, "lightcoral": 1, "lightgray": 1, "lightning-fast": 1, "lightsteelblue": 1, "limegreen": 1, "linear-biasing": 1, "linearlumpedelement": 1, "linestyle": 1, "linewidth": 1, "lithography-induced": 1, "ll": 1, "ln's": 1, "loadtxt": 1, "lobemeasurer": 1, "logspacing": 1, "long-lived": 1, "long-term": 1, "longest-lifetime": 1, "look-up": 1, "loss-resistant": 1, "lossless": 1, "lossy": 1, "low-contrast": 1, "low-cost": 1, "low-dimensional": 1, "low-index": 1, "low-index-contrast": 1, "low-level": 1, "low-loss": 1, "low-pass": 1, "low-profile": 1, "lower-level": 1, "lower-most": 1, "lumpedport": 1, "lunebug": 1, "luyen": 1, "lyrdb": 1, "mach-zehnder": 1, "magneto-optic": 1, "manufacturability": 1, "manufacturable": 1, "mashanovich": 1, "matekovits": 1, "matplotlib": 1, "mattia": 1, "maximising": 1, "maxiter": 1, "maxwell's": 1, "mccutcheon": 1, "mean-squared": 1, "medium-index": 1, "mediummediuminterface": 1, "melde": 1, "mesher": 1, "meshoverrideregion": 1, "meshoverridestructure": 1, "meshoverridestructures": 1, "meta-atoms": 1, "metadata": 1, "metagrating": 1, "metagratings": 1, "metal-insulator-metal": 1, "metalens": 1, "metalens-assisted": 1, "metalenses": 1, "metamaterial": 1, "metamaterial-based": 1, "metamaterials": 1, "metaparameters": 1, "metasurface": 1, "metasurfaces": 1, "methodbayopt": 1, "methodgenalg": 1, "methodgrid": 1, "methodmontecarlo": 1, "methodparticleswarm": 1, "michaels": 1, "michieletto": 1, "micro-leds": 1, "micro-meters": 1, "micro-sized": 1, "microcavities": 1, "microcavity": 1, "microfabricated": 1, "microled": 1, "microlens": 1, "micron-sized": 1, "microporous": 1, "microring": 1, "microstrip": 1, "microstrip-cpw": 1, "microstrips": 1, "microstructured": 1, "mid-infrared": 1, "mid-ir": 1, "mie": 1, "millimeter-wave": 1, "minimalistic": 1, "minimum-switch": 1, "misc": 1, "mm": 1, "mmis": 1, "mode-match": 1, "mode-mixing": 1, "modefieldmonitor": 1, "modemon": 1, "modemonitor": 1, "modemonitors": 1, "modesolver": 1, "modesolvermonitor": 1, "modesolvers": 1, "modesource": 1, "modespec": 1, "modulo": 1, "monitordata": 1, "mono-exponentially": 1, "monostatic": 1, "mos": 1, "multi-chip": 1, "multi-design": 1, "multi-dimensional": 1, "multi-freq": 1, "multi-frequency": 1, "multi-functional": 1, "multi-layer": 1, "multi-mode": 1, "multi-objective": 1, "multi-octave": 1, "multi-parameter": 1, "multi-physical": 1, "multi-physics": 1, "multi-port": 1, "multi-simulation": 1, "multimaterial": 1, "multimode": 1, "multiphysics": 1, "multiphysicsmedium": 1, "multipole": 1, "multipoleexpansion": 1, "mw": 1, "n-dimensional": 1, "n-k": 1, "namespace": 1, "nano-strips": 1, "nanoantenna": 1, "nanoantennas": 1, "nanocavity": 1, "nanodisk": 1, "nanodisks": 1, "nanofabrication": 1, "nanolasing": 1, "nanoparticle": 1, "nanoparticles": 1, "nanophotonic": 1, "nanophotonics": 1, "nanopillars": 1, "nanoresonator": 1, "nanoresonators": 1, "nanorod": 1, "nanorods": 1, "nanoscale": 1, "nanosphere": 1, "nanostrip": 1, "nanostrips": 1, "nanostructure": 1, "nanostructure's": 1, "nanostructured": 1, "nanostructures": 1, "nanowires": 1, "narrow-band": 1, "narrowband": 1, "natively": 1, "ndarray": 1, "near-complete": 1, "near-field": 1, "near-fields": 1, "near-infrared": 1, "near-optimal": 1, "near-to-far": 1, "near-to-far-field": 1, "nearfield": 1, "nedeljkovic": 1, "neumann": 1, "next-generation": 1, "next-order": 1, "ngan": 1, "nh": 1, "nik": 1, "niobate": 1, "nitrogen-vacancy": 1, "nm": 1, "non-adiabatic": 1, "non-conformal": 1, "non-conservative": 1, "non-destructive": 1, "non-differentiable": 1, "non-dispersive": 1, "non-downsampled": 1, "non-etched": 1, "non-experts": 1, "non-exponentially": 1, "non-faid-based": 1, "non-hermitian": 1, "non-linear": 1, "non-negative": 1, "non-optimized": 1, "non-periodic": 1, "non-physical": 1, "non-radiative": 1, "non-taper": 1, "non-touching": 1, "non-translational": 1, "non-uniform": 1, "non-union": 1, "non-unionized": 1, "non-unity": 1, "non-zero": 1, "nondispersive": 1, "nonlinearities": 1, "nonlinearly": 1, "nonzero-size": 1, "normal-incidence": 1, "norwin": 1, "ns": 1, "num": 1, "numpy": 1, "numpy-friendly": 1, "nxn": 1, "o-band": 1, "o-th": 1, "octante": 1, "odd-symmetric": 1, "off-normal": 1, "off-resonance": 1, "offsetfactor": 1, "ol": 1, "ole": 1, "on-chip": 1, "one-dimensional": 1, "one-half": 1, "one-sided": 1, "one-third": 1, "open-circuited": 1, "open-source": 1, "opls": 1, "optax": 1, "optica": 1, "optimizable": 1, "optimizer's": 1, "ostermann": 1, "out-coupling": 1, "out-of-plane": 1, "over-etched": 1, "over-etching": 1, "overfitting": 1, "p-polarized": 1, "palik": 1, "parag": 1, "parallel-strip": 1, "parameterany": 1, "parameterfloat": 1, "parameterint": 1, "parameterization": 1, "parameterize": 1, "parameterized": 1, "parameterizes": 1, "paraview": 1, "parity-time": 1, "partially-etched": 1, "passband": 1, "pbounds": 1, "pdk's": 1, "pec-like": 1, "per-tooth": 1, "periodicities": 1, "permittivities": 1, "perturbationmedium": 1, "pgan": 1, "phase-matching": 1, "phc": 1, "phi-": 1, "phonons": 1, "photodetector": 1, "photodetectors": 1, "photon-detector": 1, "photonforge": 1, "photonics": 1, "photothermal": 1, "photovoltaics": 1, "phys": 1, "pin-junction": 1, "pixel-by-pixel": 1, "pixelated": 1, "pixellated": 1, "piyg": 1, "pkl": 1, "plane-wave": 1, "planewave": 1, "plasmon": 1, "plasmonic": 1, "plasmonics": 1, "plug-and-play": 1, "pmc-like": 1, "pmls": 1, "pn": 1, "png": 1, "point-wise": 1, "pointdipole": 1, "polaritons": 1, "polarization-rotating": 1, "polarizers": 1, "pole-residue": 1, "poleresidue": 1, "polyslab": 1, "polyslabs": 1, "popsize": 1, "positive-x": 1, "post-correction": 1, "post-optimization": 1, "post-process": 1, "post-processes": 1, "post-processing": 1, "postprocess": 1, "postprocessing": 1, "power-current": 1, "power-voltage": 1, "powercoords": 1, "poynting": 1, "pozar": 1, "pp": 1, "pre": 1, "pre-define": 1, "pre-defined": 1, "pre-determined": 1, "pre-optimized": 1, "pre-print": 1, "pre-processing": 1, "prepregs": 1, "preprocessing": 1, "previously-set": 1, "previously-specified": 1, "printed-circuit": 1, "programmatically": 1, "pseudo-colors": 1, "pseudo-vector": 1, "psrs": 1, "purpose-specific": 1, "py": 1, "pydantic": 1, "pygad": 1, "pyswarms": 1, "python-based": 1, "pytorch": 1, "q-factor": 1, "q-factors": 1, "q-te": 1, "q-tm": 1, "qbic": 1, "qu": 1, "quadrupoles": 1, "quasi-bound": 1, "quasi-digital": 1, "quasi-guided": 1, "quasi-periodic": 1, "quasi-static": 1, "quasi-te": 1, "quasi-tem": 1, "quasi-tm": 1, "quasi-uniform": 1, "qubit": 1, "qubits": 1, "quickstart": 1, "rad": 1, "radio-frequency": 1, "radiuspenalty": 1, "ragani": 1, "ramp-up": 1, "ramping": 1, "rcond": 1, "rdbu": 1, "re-compute": 1, "re-entering": 1, "re-index": 1, "re-interpolate": 1, "re-project": 1, "re-projected": 1, "re-projection": 1, "re-run": 1, "re-running": 1, "re-set": 1, "re-simulate": 1, "re-simulation": 1, "readonly": 1, "real-time": 1, "real-valued": 1, "real-world": 1, "rectangulardielectric": 1, "refactored": 1, "reflectarray": 1, "reflectarrays": 1, "reflectiveless": 1, "refractiveindex": 1, "rel": 1, "reproj": 1, "resampled": 1, "resimulate": 1, "resonancefinder": 1, "reverse-biased": 1, "right-hand": 1, "right-handed": 1, "ring-shaped": 1, "rmax": 1, "rmin": 1, "ro": 1, "robustness-optimized": 1, "robustpath": 1, "romil": 1, "rotationally": 1, "rotator-splitter": 1, "round-trip": 1, "roundoff": 1, "royalblue": 1, "rt-duroid": 1, "runset": 1, "runtime": 1, "runtimes": 1, "rxy-": 1, "ryy-": 1, "rz": 1, "s-band": 1, "s-bend": 1, "s-bends": 1, "s-matrix": 1, "s-parameter": 1, "s-parameters": 1, "s-polarized": 1, "s-shape": 1, "sandybrown": 1, "savefig": 1, "scale-invariant": 1, "scattered-field": 1, "scatterplot": 1, "scikit-rf": 1, "scipy": 1, "sel": 1, "self-imaging": 1, "self-intersecting": 1, "self-intersection": 1, "self-intersections": 1, "semi-analytical": 1, "semi-circles": 1, "semi-infinite": 1, "semi-lens": 1, "semiconductor-oxide": 1, "semiconductormedium": 1, "separately-defined": 1, "sequentially-rotated": 1, "server-side": 1, "serverless": 1, "set-up": 1, "seven-element": 1, "several-fold": 1, "shanhui": 1, "shape-optimized": 1, "shut-off": 1, "si-gan-si": 1, "si-resonator-delta-": 1, "side-by-side": 1, "siganc": 1, "silicon-on-insulator": 1, "silicon-width": 1, "simulationdata": 1, "simulationoutputs": 1, "simulationparameters": 1, "sine-like": 1, "single-cell": 1, "single-feed": 1, "single-layer": 1, "single-mode": 1, "single-number": 1, "single-photon": 1, "single-pole": 1, "sio": 1, "skyblue": 1, "small-area": 1, "smartphones": 1, "smatrix": 1, "soi-sbse": 1, "solid-state": 1, "solver-based": 1, "soref": 1, "sourcetimes": 1, "space-time": 1, "spatialdataarray": 1, "spatialfiltering": 1, "spatially-varying": 1, "spatio-temporal": 1, "speed-up": 1, "sphere-cone": 1, "spherercs": 1, "sphp": 1, "sphps": 1, "splitter-rotator": 1, "spot-size": 1, "sqrt": 1, "srgb": 1, "sss": 1, "stack-up": 1, "stackings": 1, "staircase-like": 1, "stand-alone": 1, "star-shaped": 1, "state-of-the-art": 1, "steady-state": 1, "steadyfreecarrierdata": 1, "steelblue": 1, "step-by-step": 1, "stopband": 1, "str": 1, "strip-to-rib": 1, "strip-to-slot": 1, "stripline": 1, "structs": 1, "structure-setup": 1, "structureboundary": 1, "sub-functions": 1, "sub-optimal": 1, "sub-pixel": 1, "sub-polyslabs": 1, "sub-wavelength": 1, "subpixel": 1, "subpixel-smoothing": 1, "subwavelength": 1, "superstrate": 1, "sw-": 1, "swg": 1, "swgs": 1, "sx": 1, "symmetry-breaking": 1, "sz": 1, "taflove": 1, "tahir": 1, "taoufik": 1, "td": 1, "te-like": 1, "te-polarized": 1, "telecom": 1, "terminalcomponentmodeler": 1, "testgc": 1, "thermal-": 1, "thermal-ring": 1, "thermo-optic": 1, "thickness-free": 1, "thin-film": 1, "third-order": 1, "threadpool": 1, "three-dimensional": 1, "thresholding": 1, "thz": 1, "tightly-packed": 1, "time-average": 1, "time-averaged": 1, "time-dependent": 1, "time-domain": 1, "time-efficient": 1, "time-harmonic": 1, "timemonitor": 1, "tkinter": 1, "tm-like": 1, "tm-polarized": 1, "tmm": 1, "top-level": 1, "topologydesignregion": 1, "total-field": 1, "touhami": 1, "transformative": 1, "translationally": 1, "trianglemesh": 1, "triangulargriddata": 1, "trimesh": 1, "tristimulus": 1, "tuple": 1, "tuples": 1, "two-dimensional": 1, "two-layer": 1, "two-photon": 1, "txt": 1, "ucb": 1, "ullah": 1, "ultra-compact": 1, "ultra-slim": 1, "ultra-thin": 1, "ultracompact": 1, "ultrasharp": 1, "un-corrected": 1, "un-etched": 1, "un-normalized": 1, "uncladded": 1, "uncomment": 1, "uncomputed": 1, "und": 1, "under-etched": 1, "unetched": 1, "uni-directional": 1, "uniformcurrentsource": 1, "unitarity": 1, "unnormalized": 1, "unphysical": 1, "untapered": 1, "up-conversion": 1, "url": 1, "use-case": 1, "user-defined": 1, "user-friendly": 1, "user-input": 1, "user-specified": 1, "user-supplied": 1, "utf-": 1, "util": 1, "v-antenna": 1, "vector-jacobian": 1, "vectorial": 1, "versa": 1, "vias": 1, "viridis": 1, "visualise": 1, "visualizationspec": 1, "viz": 1, "vlim": 1, "vmax": 1, "vol": 1, "voltage-current": 1, "von": 1, "vortexmetasurface": 1, "voxel": 1, "vtk": 1, "vtkunstructuredgrid": 1, "vtu": 1, "waag": 1, "waals": 1, "wafer-level": 1, "wafer-scale": 1, "walkthrough": 1, "water-tight": 1, "water-tightness": 1, "waveguide's": 1, "waveguide-cavity": 1, "waveguide-only": 1, "waveguide-to-ring": 1, "waveguiding": 1, "wavelength-dependent": 1, "wavelength-division": 1, "wavenumber": 1, "waveport": 1, "wavevector": 1, "wavevectors": 1, "web-based": 1, "webapi": 1, "well-approximated": 1, "well-binarized": 1, "well-controlled": 1, "well-defined": 1, "well-established": 1, "well-known": 1, "well-matched": 1, "well-suited": 1, "wg": 1, "wga": 1, "whispering-gallery": 1, "wideband": 1, "widely-used": 1, "wireframe": 1, "workflow": 1, "worst-case": 1, "wrap-around": 1, "wvgin": 1, "wvgout": 1, "x-": 1, "x-aligned": 1, "x-axis": 1, "x-coordinate": 1, "x-coordinates": 1, "x-direction": 1, "x-distance": 1, "x-minus": 1, "x-oriented": 1, "x-plus": 1, "x-polarized": 1, "x-position": 1, "x-y": 1, "x-z": 1, "xarray": 1, "xarray's": 1, "xmax": 1, "xmin": 1, "xp": 1, "xr": 1, "xx": 1, "xy": 1, "xy-plane": 1, "xyfieldmon": 1, "xyz": 1, "xz": 1, "y-": 1, "y-axis": 1, "y-branch": 1, "y-coordinate": 1, "y-direction": 1, "y-junction": 1, "y-junctions": 1, "y-minus": 1, "y-oriented": 1, "y-plus": 1, "y-polarized": 1, "y-z": 1, "yablonovitch": 1, "yagi-uda": 1, "yaml": 1, "yanik": 1, "yee": 1, "yee-grid": 1, "ymax": 1, "yurui": 1, "yy": 1, "yz": 1, "z-aligned": 1, "z-axis": 1, "z-boundaries": 1, "z-bounds": 1, "z-component": 1, "z-coordinate": 1, "z-direction": 1, "z-directions": 1, "z-normal": 1, "z-planes": 1, "z-positions": 1, "z-size": 1, "zemax": 1, "zero-contour": 1, "zero-level": 1, "zero-mode": 1, "zero-phase": 1, "zero-phonon": 1, "zero-size": 1, "zero-th": 1, "zhang": 1, "zoom-in": 1, "zoomed-in": 1, "zz": 1} \ No newline at end of file diff --git a/docs/fabrication_aware_invdes.rst b/docs/fabrication_aware_invdes.rst new file mode 100644 index 00000000..f5c094b4 --- /dev/null +++ b/docs/fabrication_aware_invdes.rst @@ -0,0 +1,42 @@ +********************************** +Fabrication-aware inverse design +********************************** + +The October 9, 2025 seminar walks through a complete dual-layer grating coupler workflow: start from a uniform baseline, pull a strong seed design with Bayesian optimization, switch to adjoint gradients for per-tooth control, study fabrication sensitivities, and close the loop with measurement-driven calibration. Everything runs inside Tidy3D, so you can rerun the exact same jobs or adapt the utilities to your own device stack. + +Seminar recording: `YouTube link `_ + +Notebook lineup +================ +* ``00_setup_guide.ipynb`` - builds the nominal SiN stack, launches the reference simulation, and visualizes the initial geometry so the later notebooks can reuse the cached job ID. +* ``01_bayes.ipynb`` - uses a five-parameter Bayesian search to quickly find a good uniform grating. This provides a practical baseline before investing in gradients. +* ``02_adjoint.ipynb`` - expands to per-tooth parameters and applies Adam with adjoint sensitivities to apodize the grating and boost efficiency. +* ``03_sensitivity.ipynb`` - sweeps :math:`\pm 20` nm etch bias, runs Monte Carlo samples, and logs adjoint-derived sensitivity units (:math:`\Delta` objective / :math:`\Delta` parameter) so readers understand what the gradients mean physically. +* ``04_adjoint_robust.ipynb`` - penalizes variance across nominal/over/under corners, illustrating a fabrication-aware adjoint loop that matches what we demoed live. +* ``05_robust_comparison.ipynb`` - reruns the Monte Carlo campaign for both nominal and robust devices to quantify yield improvements. +* ``06_measurement_calibration.ipynb`` - demonstrates gradient-based calibration of tooth widths against (synthetic) spectra, showing that we can also optimize over fabrication corners using the same adjoint machinery. + +How to run the series +===================== +1. Install ``tidy3d`` and configure your API key; every notebook submits jobs with ``tidy3d.web.run``. +2. Execute the notebooks in order; each step writes results into ``results/`` and later notebooks assume those JSON files exist. + +Supporting assets +================= +* ``setup.py`` - shared simulation builders, fabrication constraints, and helper functions. +* ``optim.py`` - a lightweight, autograd-friendly Adam implementation with parameter clipping. +* ``results/`` - JSON checkpoints (Bayes best point, adjoint refinements, robust design) consumed by subsequent notebooks. + +Walkthrough notebooks +===================== + +.. toctree:: + :maxdepth: 1 + + notebooks/2025-10-09-invdes-seminar/00_setup_guide + notebooks/2025-10-09-invdes-seminar/01_bayes + notebooks/2025-10-09-invdes-seminar/02_adjoint + notebooks/2025-10-09-invdes-seminar/03_sensitivity + notebooks/2025-10-09-invdes-seminar/04_adjoint_robust + notebooks/2025-10-09-invdes-seminar/05_robust_comparison + notebooks/2025-10-09-invdes-seminar/06_measurement_calibration diff --git a/docs/index.rst b/docs/index.rst index 4642f59a..e9f43f59 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -7,4 +7,4 @@ Example Library |:books:| basics/index features/index case_studies/index - + fabrication_aware_invdes