{ "cells": [ { "cell_type": "markdown", "id": "80d71311", "metadata": {}, "source": [ "# The ANI-1x dataset in one line: forces, active learning, and the `ani-1x` preset\n", "\n", "The **ANI-1x dataset** (Smith *et al.*, *J. Chem. Phys.* **148**, 241733, 2018;\n", "released in *Sci. Data* **7**, 134, 2020) is the training set behind the\n", "**ANI-1x** potential. It differs from the ANI-1 dataset in the two ways that\n", "matter here:\n", "\n", "- **Active learning, not brute force.** Instead of densely sampling every\n", " molecule (ANI-1's ~20 M conformations from Normal-Mode Sampling), ANI-1x\n", " iteratively adds only the conformations where an ensemble of models\n", " *disagrees*: ~5 M conformations that are fewer but more diverse and more\n", " transferable.\n", "- **Forces.** ANI-1x ships wB97X **energies *and* forces** (plus higher-level\n", " CCSD(T)/CBS energies), where ANI-1 is energy-only.\n", "\n", "Same one-line hub as every other dataset:\n", "\n", "```python\n", "from xnn.common.data import load_dataset\n", "splits = load_dataset(\"ani1x\", split=\"train\") # ani1x-release.h5 -> xnn dicts\n", "```\n", "\n", "The first call downloads the one 5.6 GB HDF5 file from figshare (cached and\n", "MD5-verified under `datasets/ani1x/`); afterwards it is instant and offline.\n", "Here we load a **small subset**, train the `xnn` **`ani-1x` preset** on\n", "energies *and* forces, and look at both parities. This is the companion to\n", "`ani1_dataset.ipynb`, which does the energy-only ANI-1 version; read them side\n", "by side to see the difference between the two models.\n", "\n", "Run with the **`xnn`** kernel." ] }, { "cell_type": "markdown", "id": "b9944fb5", "metadata": {}, "source": [ "## 0. Load a subset of ANI-1x: note the forces" ] }, { "cell_type": "code", "execution_count": 1, "id": "fbe800f7", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T04:41:48.030031Z", "iopub.status.busy": "2026-07-20T04:41:48.029899Z", "iopub.status.idle": "2026-07-20T04:42:07.139777Z", "shell.execute_reply": "2026-07-20T04:42:07.138764Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "5902f53072874af9a246449e5c204f0d", "version_major": 2, "version_minor": 0 }, "text/plain": [ "ani1x:wb97x_dz.energy: 0%| | 0/200 [00:00 eV, forces ->\n", "# eV/A. Per-conformation NaN entries (un-computed properties) are dropped for us.\n", "data = load_dataset(\"ani1x\", max_molecules=200, max_conformations=40,\n", " level=\"wb97x_dz\", units=\"eV\")[\"all\"]\n", "print(f\"loaded {len(data):,} conformations\")\n", "sizes = [len(s['atomic_numbers']) for s in data]\n", "elems = sorted(set(int(z) for s in data for z in s['atomic_numbers']))\n", "print(f\"elements {elems} atoms/mol {min(sizes)}-{max(sizes)}\")\n", "print(f\"keys per structure: {sorted(data[0])}\") # note 'forces' -- absent in ANI-1\n", "print(f\"force array shape (atoms, 3): {data[0]['forces'].shape}\")" ] }, { "cell_type": "markdown", "id": "278ee783", "metadata": {}, "source": [ "## 1. Self atomic energies as model references + train/test split\n", "\n", "Fit per-element self atomic energies by least squares (the ANI `EnergyShifter`\n", "idea). Rather than subtracting them from the data by hand, we hand them to the\n", "model as `atomic_energies`: per-element reference energies the network learns\n", "the residual on top of (they are constant per atom, so they leave the forces\n", "untouched). Then a random 90/10 train/test split." ] }, { "cell_type": "code", "execution_count": 2, "id": "5cb2326d", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T04:42:07.142781Z", "iopub.status.busy": "2026-07-20T04:42:07.142436Z", "iopub.status.idle": "2026-07-20T04:42:07.239252Z", "shell.execute_reply": "2026-07-20T04:42:07.238606Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "self energies (eV): {1: -16.35, 6: -1036.15, 7: -1489.82, 8: -2046.74}\n", "train 4524 test 503\n" ] } ], "source": [ "SPECIES = [1, 6, 7, 8]\n", "counts = np.array([[np.sum(s[\"atomic_numbers\"] == z) for z in SPECIES] for s in data], float)\n", "E = np.array([s[\"energy\"] for s in data])\n", "sae, *_ = np.linalg.lstsq(counts, E, rcond=None)\n", "print(\"self energies (eV):\", {z: round(float(e), 2) for z, e in zip(SPECIES, sae)})\n", "\n", "rng = np.random.default_rng(0)\n", "idx = rng.permutation(len(data)); cut = int(0.9 * len(data))\n", "train_structs = [data[i] for i in idx[:cut]]\n", "test_structs = [data[i] for i in idx[cut:]]\n", "print(f\"train {len(train_structs)} test {len(test_structs)}\")" ] }, { "cell_type": "markdown", "id": "4db09356", "metadata": {}, "source": [ "## 2. Train the `ani-1x` preset on energies *and* forces\n", "\n", "The one-line difference from the ANI-1 demo: ANI-1x has forces, so\n", "`force_weight > 0`. We select the model with the **`preset: ani-1x`** config key\n", "(the 384-length AEV, per-element network widths, and `CELU` of `ANI.ani1x()`)\n", "and pass the fitted self energies through the `atomic_energies` key." ] }, { "cell_type": "code", "execution_count": 3, "id": "1c8afe63", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T04:42:07.240883Z", "iopub.status.busy": "2026-07-20T04:42:07.240680Z", "iopub.status.idle": "2026-07-20T05:23:46.279333Z", "shell.execute_reply": "2026-07-20T05:23:46.278330Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ANI-1x parameters: 326,660 device cuda\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "test loss 4.6513e-01\n", "trained 120 epochs in 2497.8s\n" ] } ], "source": [ "from torch.utils.data import Subset\n", "from xnn.common.data import AtomicDataset\n", "from xnn.common.config import Config, ModelConfig, DataConfig, OptimConfig\n", "from xnn.common.train import Trainer\n", "\n", "CUTOFF = 5.2 # ANI-1x radial cutoff (>= angular 3.5)\n", "EPOCHS, BS, LR = 120, 64, 1e-3\n", "train_ds = AtomicDataset(train_structs, CUTOFF)\n", "test_ds = AtomicDataset(test_structs, CUTOFF)\n", "n_val = max(1, len(train_ds) // 10)\n", "val_idx = list(range(n_val)); tr_idx = list(range(n_val, len(train_ds)))\n", "\n", "cfg = Config(\n", " model=ModelConfig(name=\"ani\", cutoff=CUTOFF,\n", " extra={\"preset\": \"ani-1x\", \"species\": SPECIES,\n", " \"atomic_energies\": sae.tolist()}),\n", " data=DataConfig(cutoff=CUTOFF, batch_size=BS),\n", " optim=OptimConfig(lr=LR, epochs=EPOCHS, energy_weight=1.0,\n", " force_weight=10.0, scheduler=\"plateau\"),\n", " output_dir=\"runs/ani1x_subset\",\n", ")\n", "trainer = Trainer(cfg, Subset(train_ds, tr_idx), Subset(train_ds, val_idx), test_ds)\n", "print(f\"ANI-1x parameters: {sum(p.numel() for p in trainer.module.parameters()):,} device {trainer.device}\")\n", "\n", "hist = {\"train\": [], \"val\": []}\n", "trainer._log = lambda ep, tr, va: (hist[\"train\"].append(tr.get(\"loss\")),\n", " hist[\"val\"].append(va.get(\"loss\")))\n", "t0 = time.time(); trainer.fit()\n", "print(f\"trained {EPOCHS} epochs in {time.time()-t0:.1f}s\")" ] }, { "cell_type": "markdown", "id": "079121fc", "metadata": {}, "source": [ "## 3. Energy *and* force correlation vs DFT\n", "\n", "Because ANI-1x carries forces, we can check both. Note there is **no**\n", "`torch.no_grad()` here: forces are `-dE/dx`, so the energy must keep its graph;\n", "we detach the tensors after the model call instead." ] }, { "cell_type": "code", "execution_count": 4, "id": "1ad659fd", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:23:46.281837Z", "iopub.status.busy": "2026-07-20T05:23:46.281721Z", "iopub.status.idle": "2026-07-20T05:23:49.190143Z", "shell.execute_reply": "2026-07-20T05:23:49.189183Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "energy RMSE: 950.7 meV = 21.924 kcal/mol\n", "force RMSE: 214.3 meV/A\n" ] }, { "data": { "image/png": "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Hoqi8PHHHwOQn59f4vuLG6sPhf89FlSYLG771f9OU1JSiqwAptFo8Pf3t7uhCyEEXLluuLi44OXlVWhftWrVCl03/nsNt1gspKamlpiQWSwWkpOT2bhxo+0eWnAf1el0WCwWUlJSAPjmm28YOHAgr776KrVq1SI8PJxnn322THPKrrZs2TImTJhAz549WbFiBU5OZfvJmpiYyMyZM5k8eTKtWrW6oZjKer2/nu8ToHfv3oSHh9uqSp49e5Y///yTkSNHotPp7M5lMpnYsGEDgwcPttuelJTEmjVr2L59u92c6pCQEMxmM1988cUNfRei/ElSJhyu4Mf8rl27MJvNWCwWrFYrVqsV5coQW7sf3aWZnHu9x3R2di50DD8/PxITEwttL2obwP33309AQACffvopiYmJrFy5krvuuougoKBrxlucY8eO0bt3b9zd3dmyZQvh4eFlPlZJgoODWbJkCYmJiZhMJk6cOEHv3r05f/48Xbt2LVNcycnJbN++3dYrpVKpuOeeewAYOXJkqdeHee+99xgyZAj33HMPK1asKLQ/ICCA2NjYEo/x9ddfExAQwIcffkhkZCRarRYoXcGUjIwM/vzzz2JL4Rf377E0/059fX3tJuYXKLhBl3cCLoSo+nx9fcnLyyMjI6PQvoSEhELXjf/e39RqNT4+PsTExBR7DrVajbe3N/fee6/tHlpwHy24h3700UcAhISEsHTpUlJSUjhw4ADjx49n4cKF1xy9UJIVK1bwyCOP0K1bN3755Rf0en2Zj5WZmYnJZOLdd9+1S07ee+89AGrVqlVoBEZxynq9v57vs+B4Y8aM4dixY+zatYuFCxeiKAqPPvpooWNv3bqVzMzMQqN4li5dire3t905Cl47duxg69atnD17tlSfW1QMScqEw/Xt2xeNRlOua2eUxzF79OhBbGwsBw4csNte3OKdOp2OMWPGsHLlSt58801MJtMNDV08ffo0d9xxBy4uLmzZsoWIiIgyH6ssPv30U/R6faGFKEsbV3x8fKEbQcFil19//TWKopQqydRqtXz//feMGDGCBx54gIULF9rtv+uuu8jKyuKXX3655nGuZjKZSvXvY/369VitVgYMGHDNtterV69epKWlFaoIunr1asxmM7169Sr3cwohqraC68LVFWgB9u/fz8WLF0t13bjrrrvYtm1biYnZwIED2bx5c6l77NVqNc2bN2fatGk88sgj7Nq1C5PJVKr3Xm3NmjUMHz6czp07s3btWlxdXa/7GFerXbt2oXuRoihMmTIFuPJw7lpD2MvD9X6fY8aMQa1W8/nnn7N06VLat29P48aNC7VbvXo1jRs3JjIy0m77woUL6dOnT5EJY9u2ba97fTdx80lSJhyuZs2azJo1i3nz5jFz5kwuXLiAwWDg5MmTfPzxxyUuSnwzjzl+/Hhq1arFyJEj2bNnD5mZmfz888+FkrSrPf7441gsFv73v/8REhJSaPx5aV26dIk77rgDjUbD1q1bC11sb4S/v3+hC/vIkSPZtGkT2dnZxMfHM2fOHN58800WLFhg9wTxZsZVErVazaJFi5g0aRLjxo2zWwJh9OjRdOnShTFjxvDtt9+SkpJCTEwMX3zxBW+//TZwZR5gdHQ0s2fPJisri1OnTnHffffZytuXZPXq1XTu3Bk/P79y/1zjx4+nXr16PPLII/z5559kZWWxceNGJkyYQOvWrXnooYfK/ZxCiKrt7rvvpkuXLkyZMoVffvmFrKwsduzYwYMPPkh4eDjPPPPMNY8xa9YsvL296devn20u8enTp5k+fbrtwePs2bNxc3OjX79+tt6YxMRENm/ezLBhw9i5cyc5OTl0796dlStXEh0djdFoZN++fWzcuJGOHTsWehh2Lb///jv3338/HTt2ZN26dTeckFUmpfk+rxYaGkq/fv1YunQp8fHxhR6QFlizZk2hkRx//fUXp06dKjTXrYCTkxN9+vRhyZIlmM3m8vmA4oZJUiYqhRdeeIHVq1ezfft2WrZsia+vL/feey9nz55l5syZDjmmp6cnW7dupV69evTs2ZOaNWuybt062w/9/47rBggPD7f1qDz88MMlFskoyddff83ly5eJjo6mdu3adkMuVCqVbZ2ZAo888ohtX0xMjN26NgXrqZVk4sSJzJs3j+rVq9OwYUP++usvNm/eXCgpuN64ytvcuXOZNWsWzz//PNOnTweuDM357bffmDBhAjNnziQkJISOHTuyf/9+2/pwDzzwAB988AGLFi0iMDCQ++67j5EjRxZ7wyqQn5/Pr7/+WuzQxRtVMJ+vT58+PPDAA/j6+jJu3DiGDRvGpk2brvsHjRDi1qdWq/n1118ZM2YMTz/9NL6+vtxzzz106tSJf/75Bx8fn2seo0aNGuzZs4d27drx0EMP4e/vz913342Hhwe9e/cGriQF+/bto2PHjowdO5aAgACaNWvG22+/zdChQ2nTpg1ubm68/vrrfPfdd3To0AFvb2+GDRvGoEGDWLNmzXV/tvfeew+j0ci2bdtwd3cvdI/573C7gvtQrVq1bO8vaLthw4brPv/NVJrv87/GjRuHoih4eHgwbNiwQvv37dtHdHR0oXvUF198gUqlok+fPsXG069fP+Lj4685ykRUHJWiKIqjgxCiKjl16hT169dnwYIFRT65GjFiBMuXL+fMmTO2RZVF1fTbb79x5513cu7cuQofPiqEEEKU5NVXX2XRokVER0df12LYonKSnjIhrtNPP/0EQLdu3QrtMxgMrFmzhh49ekhCdgsoGKsvCZkQQojKZvXq1QwaNEgSsltE2RdrEOI28PLLL9OiRQu6du2KoiisXr2at956i+HDh1O3bl27tvn5+bY5S9OmTXNQxKI8ffLJJ44OQQghhCjSoUOHHB2CKEcyfFGIEpw+fZpXX32V7du3k5iYSFhYGMOHD2f69Ol2ZYYXLlzIuHHjCAoK4rnnnuO5555zYNRCCCGEEKIqkaRMCCGEEEIIIRxI5pQJIYQQQgghhANJUiaEEEIIIYQQDiSFPhzMarUSGxuLh4eHVM8RQohrUBSFrKwsQkJCcHKS54oVTe5ZQghxfUp735KkzMFiY2OpUaOGo8MQQogq5fLly1SvXt3RYdx25J4lhBBlc637liRlDubh4QFc+R/K09PTwdEIIUTllpmZSY0aNWzXTlGx5J4lhBDXp7T3rSqZlOXk5BAXF0doaCh6vb7YNmlpaQQHB6NWqx3epjgFwz88PT3lBieEEKUkQ+ccQ+5ZQghRNte6b1WpAfmnT5/mqaeeIjw8nDp16rBr165CbSwWCxMmTMDX15emTZtSrVo1vvvuO4e1EUIIIYQQQoiSVKmkbMOGDdSrV4+tW7cW2+add97hhx9+4ODBg6SmpjJr1ixGjBjB0aNHHdJGCCGEEEIIIUpSpZKyiRMn8vTTT+Pl5VVsm88++4xHH32UBg0aADB+/HgiIiJYsGCBQ9oIIYQQQgghREmqVFJ2LQkJCVy+fJkOHTrYbe/UqRN79+6t8DZCCCGEEEIIcS0OLfSRmJhIZmZmiW1q1qyJs7NzqY6XnJwMgJ+fn912f39/tm/fXuFtimI0GjEajba/r/X5hRBCCCGEELc2hyZl7733Hj/99FOJbTZv3kxYWFipjlewIFt+fr7ddpPJZKuKWJFtijJ79mxee+21Un0eIYQQQgghxK3PoUnZnDlzmDNnTrkdr2BBtvj4eLvt8fHxtn0V2aYoU6dOZfLkyba/C9YuEEIIIYQQQtyebqk5ZR4eHrRq1YqNGzfatplMJv744w+6d+9e4W2KotPpbOu7yDovQgghhBBCiCq1eHRWVhYJCQm23qmYmBjOnj2Lr68vvr6+AMyYMYMhQ4bQvHlzOnTowLx589BqtTz++OO241RkGyGEEEIIIYQoSZXqKfv999/p27cvjzzyCJGRkcyYMYO+ffuybNkyW5uBAweyYsUKVq9ezejRowH4888/7QpyVGQbIYQQ9uIzsllzIIb4jGxHhyKEEEJUCipFURRHB3E7y8zMxMvLi4yMDBnKKIS45T373QFWHYwFQAWMaB/GG4OblPr9cs10LPn+hRDi+pT2ulmlesqEEEJUXaMW/sOqg7Hkp8YAoADLdkZJj5kQQohKS1EUTp8+fdPPI0mZEEKIm+7Rpf/w59k0so9uInbhExgu7AeuJGa7z2c4NjghhBCiCIqiMHnyZJo3b05MTMxNPVeVKvQhhBCi6hm+YAfbz6eRdeg3Ujf8D/emvXEJb27b3zbCy3HBCSGEEEWwWq08/fTTfPrpp3zyySeEhobe1PNJUiaEEOKm2XUuhe3nU7HmZZO+bQnuLfrj2/sxVKorAzUGNw+hmpe7g6MUQggh7B04cIAvvviCL774gkcfffSmn0+SMiGEEDeF2WLlw82nUKwWnFzcCX7kA9QeAahUKgC61vbhgwdaODhKIYQQ4l8WiwUnJydatWrFmTNnqFmzZoWcV+aUCSGEuClyjBbObfqGxB9fQ7GY0XgG2hKyOxr48NWjHR0coRBCCPEvs9nMyJEjmTp1KkCFJWQgSZkQQoib5MO5b7P7+0/wCasPTmrb9k4Rvix8WBIyIYQQlUd+fj4PPPAAK1asoE2bNhV+fhm+KIQQolwpisKMGTN44403mDL1VYK6PcjZpAyyDBae6VmPdpF+jg5RCCGEsDEajQwbNoxff/2Vn376iUGDBlV4DJKUCSGEKFd//PEHb7zxBnPmzOGFF17AbLGSY7TgplOjUcsADSGEEJXLe++9x4YNG1i1ahX9+vVzSAySlAkhhChXd9xxB3/99RedO3cGQKN2wstVkjEhhBCV05QpU+jdu7dDhi0WkLukEEKIG1awnsvy5ctRqVS2hEwIIYSojLKzs7nnnnvYu3cvOp3OoQkZSFImhBDiBlmtVh577DE++eQT8vLyHB2OEEIIUaLMzEz69u3Lpk2bMBqNjg4HkOGLQgghboDFYmHMmDEsW7aMpUuXMnLkSEeHJIQQQhQrPT2dvn37cvLkSX7//XfatWvn6JAAScqEEELcgFdeeYXly5ezfPlyHnjgAUeHI4QQQpTo/vvv58yZM2zatIlWrVo5OhwbScqEEEKU2cSJE+nUqRMDBgxwdChCCCHENb311ls4OzvTrFkzR4diR+aUCSGEuC5Go5FnnnmG+Ph4qlWrJgmZEEKISi0+Pp5nnnkGo9FI69atK11CBpKUCSGEuA4Gg4F77rmH+fPnc/z4cUeHI4QQQpQoJiaGbt268eOPPxIXF+focIolwxeFEEKUSm5uLnfffTfbt29n7dq19OzZ09EhCSGEEMWKioqiZ8+emEwmtm3bRnh4uKNDKpYkZUIIIa5JURQGDRrEzp07+fXXX+nWrZujQxJCCCGKlZKSYrtX/fnnn5U6IQMZviiEEKIUVCoVY8eOZePGjZKQCSGEqPR8fX154oknqkRCBpKUCSGEKEFaWhqffvopiqLw4IMP0qlTJ0eHJIQQQhTr5MmTrFy5EpVKxQsvvECNGjUcHVKpyPBFIYQQRUpJSaFPnz5cvHiRwYMHExIS4uiQhBBCiGIdPXqUXr16ERISwqBBg9Boqk6qIz1lQgghCklMTKRnz55cvnyZLVu2SEImhBCiUjt06BA9evQgODiY3377rUolZCA9ZUIIIa6SZzJz4nw0w4cMIC0tla1bt9KwYUNHhyWuw5kzZ0hISKBjx444Odk/ez106BBZWVl224KCgqhTp05FhiiEEOXqwIED9OrVi8jISDZu3Iivr6+jQ7pukpQJIYQgz2Rm47EElv5zkeSMbHI8a/LhR4slIatC1qxZw9y5czl69ChpaWlkZWXh7u5u12bs2LEkJydTvXp127b+/fszbdq0ig5XCCHKTVBQEP369eOTTz7B29vb0eGUiSRlQghxm9t+Jpm31h3l6JkLWA3Z1KrfiGoDJ/P9aTODuppx0cqtoio4duwYb7zxBmlpadxzzz3Ftnv88cd56aWXKjAyIYS4OXbu3ElERAQhISEsX77c0eHcEJlTJoQQt7F/ziUw+stdHDx5jpjlU0nc8D/i0w14uTqTmmMiKcvk6BBFKU2dOrVUyxVkZGSwZ88eYmNjKyAqIYS4ObZs2UKvXr2YMWOGo0MpF5KUCSHEbWr6z4d56Iu95CTHkPDNS6icnAgYPA2TFZKzjPi6aQnw0Do6TFHOPvroI8aNG0f9+vVp1aoVR48eLbat0WgkMzPT7iWEEI7222+/0b9/fzp16sR7773n6HDKhSRlQghxG4rPyGb5rsvkp1wm4dupqJxdCHrwbTSeAQAEeup4/s76MnTxFjNx4kSSk5M5ePAgMTExBAcHM3jwYAwGQ5HtZ8+ejZeXl+1VVdb7EULcutatW8fAgQPp2bMna9aswdXV1dEhlQtJyoQQ4ja09UQKAFZjLhqvIKo9NBuNhx8Aeo2KZWPb0D7Sz5Ehiptg1KhR6PV6ADw8PJg7dy7nzp1j7969RbafOnUqGRkZttfly5crMlwhhCgkJSWFAQMGsHLlSlxcXBwdTrmpUkmZ1Wpl7dq13HXXXdSuXZtdu3YVanPx4kUmTZpEu3bt6NSpEy+++CKpqal2bV599VVq165t9+rfv3+hY61evZpevXrRuHFjHnzwQc6ePVumNkIIUdlkJV5CseSjC6lH0PB3ULv52PZN7dcAf49b48mjKFlQUBAAMTExRe7X6XR4enravYQQwhEKhlqPGjWKn376CZ1O5+CIyleVSspefPFFPvvsM+6++27OnTtXaLiFxWLhzjvvJDw8nP/973/MmjWLrVu30qtXL4xGo61dYmIiderUYcOGDbbX/Pnz7Y61du1a7rvvPgYOHMiiRYtQFIUuXbrYJXilaSOEEJXN3r17eeGRwWRu/wYAlUpl2ze4eTCjOtVyVGjiJjIYDCiKYrftt99+A6Bx48aOCEkIIUrlm2++oVmzZvz888+A/X3rVlGlJgvMmjULrVZLdHR0kfvVajXHjh2zW8H7q6++on79+uzatYuuXbvatru5uVG7du1izzVz5kxGjBjBs88+aztOcHAwn332GdOnTy91GyGEqAzMFis5RguH9+/mrgH9adiwIQ+9PI1P/4nFYFbQAE/1iOTZO+s7OlRRRufPnyc2NpYTJ04AsGPHDvR6PY0aNcLHx4eTJ0/y5JNPMnr0aMLDwzlw4ABvvfUWo0ePlqRMCFFpLVmyhDFjxvDwww8zaNAgR4dz01SppEyrvXYVsKsTMsD2VPC/GfXff/9N06ZN8fLyokuXLkydOhUPDw8AsrKy2L9/P88995zdue+44w62bt3K9OnTS9VGCCEqg6PRaSz6+yLRJ/ez5p2JNGvWnN9+24CHhwcju9XnVHwO9aq54e1264zNvx2tXr2an376CYBOnTrx2muvAfDOO+/QsWNHWrRowYIFC5g/fz4//fQTISEhLF26lMGDBzswaiGEKN6CBQt47LHHGD9+PJ999hlOTlVqkN91qVJJWVm88sorhIeH07ZtW9s2X19fXnzxRbp160ZMTAwvv/wya9euZe/evbaeOEVRqFatmt2xqlWrxuHDhwFK1aYoRqPRbiillBcWQtxM//vjNB9sOoNFgYxtG3APrcfdL/0PvasbAN5uLrSLlGTsVjBp0iQmTZpUYpsmTZrw8ccfV1BEQghRdlarlR9//JGnnnqKjz766JYcsng1hyZlL774ou2pXnE2b95MWFhYmY4/c+ZM1q9fz+bNm+0mA77xxhuo1WoAWrZsSYsWLahVqxbfffcdo0aNwmq1AuDs7Gx3PK1Wi8ViAShVm6LMnj3b9vRSCCFupo9+O8m8zeew5GagdvXCs+vDOFnNJBkgx2jBy/XWfeIohBCi6kpOTsbf359ffvkFrVZ7yydk4OCkbMqUKYwbN67ENsHBwWU69ttvv827777L2rVradeund2+goSsQPXq1QkPD+fYsWMA+Pv7A1dKbl6t4B9IadsUZerUqUyePNn2d2Zmpqz7IoQod/d/+je7ozLIPbeH5DXvEDh0Ji7VG6GonTFbFNx06msfRAghhKhgb7/9Nu+99x5HjhwpNCLtVubQpCwwMJDAwMByP+6cOXN4/fXXWbt2LT169Lhme6PRSHx8PN7e3sCVEsE1atRgx44ddhMKt2/fTt++fUvdpig6ne6WK+EphKhc/joTfyUhO72DpNVz0Ee2Rhdc17a/T8MgNGrpJRNCCFF5KIrCG2+8wYwZM5gxY4ZtyY7bxS13V547d64tIevZs2eh/SaTieeff97Ww5Wbm8uTTz6JxWJh2LBhtnaPP/44Cxcu5OTJk8CViYbnz5+369krTRshhKhIZouVjzedJ+fk3yStfhvXuh0IuPslVOorQ621QM/65f8wTAghhCgrRVF45ZVXmDFjBrNmzWLmzJm3xZDFq1WpQh8rV67khRdesM3ZGj58OHq9nokTJzJx4kTS0tJ4/vnncXd3Z/z48XbvnT17NkOHDsXZ2Znq1avTtGlTrFYraWlpNGvWjE2bNhEREWFr/+KLLxIdHU2zZs1wc3NDrVazbNkymjRpcl1thBCiIuUYLbhqFNL/+hq3+l3wGzAJldO/QxVnDm6Mu/7alWyFEEKIinLp0iU+/PBD3n33XbvK5rcTlfLflSQrsaysLBISEgpt9/X1xdfXF6vVyvnz54t8b2BgIJ6ennbbEhIS8PLywsWl+MpjOTk5pKamEhwcXKjc/vW0KU5mZiZeXl5kZGQUik8IIa6XIc/I/7ZeYMGGfeRrPewSsud61+GpXnVLeHflJ9dMx5LvXwhRnhRFwWKxoNFoiIuLK3MticqstNfNKtVT5uHhYVtLrChOTk4lLgj9X6UZq+rm5oabm9sNtxFCiJvtiy++4NNPP2XZz7+SldeU7WeTSM8xUi/Yk5cHNKZRqJejQxRCCCGAK5XMJ0yYQGpqKt99990tmZBdjyqVlAkhhCjaJ598wlNPPcVTTz1Fw5pBzKgRSIYhHwAvvbMU9hBCCFFpWCwWxo8fz5dffsmiRYtuu/ljRZGkTAghqrh58+YxZcoUJk+ezNy5c1GpVGjUKvzcpdKrEEKIysVsNjN69Gi++eYbvvrqK0aMGOHokCoFeXQqhBBV2JEjR5gyZQpTp061JWRCCCFEZbV8+XK+/fZbvvnmG0nIriI9ZUIIUYU1adKEPXv20KpVK0nIhBBCVHojR46kcePGtGrVytGhVCrSUyaEEFWMoihMnz6dt956C4DWrVtLQiaEEKLSMhqN3HfffaxduxYnJydJyIogSZkQQlQBeSYzp+Iy2XchmWcmTeatt95Cp5M5Y0IIISo3g8HA3Xffzbp166576ajbiXwzQghRyW0/k8xLKw9xOdVA6qYFZO37hUdfeJ0pU6Y4OjQhhBCiWDk5OQwaNIgdO3awdu1aevXq5eiQKi1JyoQQohI7E5/JM9/uIznXTOa+X8ja9wt+dz7FEc8OZBtMuOu1jg5RCCGEKNITTzzB7t272bBhA127dnV0OJWaJGVCCFFJmS1Wnv72AMm5ZgDcm/ZB4x2Ea+12ZBrziUo10DBUkjIhhBCV0+uvv86TTz5J+/btHR1KpSdzyoQQopIat3QnJ+IySP1jPvnJl3HSuuBaux0Anjpnwnz1Do5QCCGEsJeWlsajjz5Keno64eHhkpCVkiRlQghRyeSZzNzzyZ9sPpFE8i9zydq/jvyUy7b9bs5OTO3fQIYuCiGEqFSSk5Pp2bMnq1atIjo62tHhVCkyfFEIISqRnedSeGHFPi6l5JK05h0MZ/cQMPglXOt2tLVZ92wnwv08HRilEEIIYS8xMZE77riDhIQEtmzZQuPGjR0dUpUiSZkQQlQSeSYzr/9ylKj0fJLXvY/h3B4C7pmGa+22tjaj24dLQiaEEKJSMRqN9OjRg7S0NLZu3UqDBg0cHVKVI0mZEEJUEnEZeVxOMwDg0bwf7o17oY/4d4HNPg38mDG4kaPCE0IIIYqk0+l47rnn6Ny5M3Xq1HF0OFWSzCkTQggHM1uspGQbSc3MIGX7D2C14BLWxC4h6xjhw4KHZbK0EEKIyuPSpUvMnz8fgNGjR0tCdgOkp0wIIRwoKiWXz7ad5Z/j0Rz+cipZ0WcIq90WfGpgVUCvhln3NGFI6zBHhyqEEELYnD9/nh49eqDRaBg+fDju7u6ODqlKk6RMCCEcJNtgYvrPB/n7WDRxK2aQnxxFvUdmU69JYwI8dPi7axndKYI6QR6ODlUIIYSwOX36ND179sTNzY1NmzZJQlYOJCkTQggH2HkuhQnL9pCUnkXCdy9jToslaNgsrAF1CfXW82LfBgR7u6BRyyhzIYQQlceZM2fo1q0bPj4+bNq0ieDgYEeHdEuQu70QQlSw6LQsxi3dTYrBgkrrgq5GI4IefAttcB3yLVa8XJ0lIRNCCFEpVatWjf79+7N161ZJyMqR9JQJIUQFeufX43y67QKWnHTyk6NwqdkU356P2va76TQ80rGWJGRCCCEqlQMHDuDq6kq9evVYtGiRo8O55chdXwghKsjhy+l8uu0C5uxUEr6dSsqvH6JY8u3azBnSROaQCSGEqDQMJgvrNv1Jz549efHFFx0dzi1LkjIhhKgAZouV2b8ew5yZTMI3L2E15hJ4/+uo1M62NqPah9GvaYgDoxRCCCH+lZptYvaXq7hvUH+Ca9bm8y8WOzokhzCYLMSmGzCYLDftHDJ8UQghKkCGIZ+TZ86T8M2LKIpC0PA5OHtXs+1/qHV1Xh/cxIERCiGEEP8ymCy899XPvDN5NCG1GzLurS+wOusdHVaFM5gsbD6RQFxmHsGeLvRsEIReqy7380hSJoQQFcRVq0btGYD/gMlovAJt25/oWosX+zd0YGRCCCGEvbRcE9kGIxFN2tJ+3OsEeHvj46p1dFgVLi3XRFxmHv7uOuIy80jLNaHXln9yKkmZEELcRGaLlSPHTxEcFEDPNk3I0c4l3WC27R/bPkwSMlGuzGYzeXl5Ja4bpCgKFosFjUZ+BgghCjtw4AB16jeizx13UL9lR9xdNPRvEnJTeogqOx9XLcGeLraespuVmMqcMiGEuAkupmQyZ/1xxry/ks5dunDX8EcZ0CSEh9rVpF/jQPo3CmL1kx14RYYsinJy4sQJJk6cSEBAAB4eHmRnZxdqk5uby5gxY3Bzc0Ov19O1a1dOnTrlgGiFEI5W3DypX375hfbt27Nk0QJ6Ngji7hah3NeqBr7u2hLfd6vSa9X0bBBE/ybBN23oIkhPmRBClLvhC/9h+9k0TIkXSPj+ZTRuPoT0HsdfZ5OY2LM2RrOCm04tZe9FuXr33Xdp1qwZ8+bNY8yYMUW2mTBhAn///TeHDx/G39+fxx57jH79+nH8+HFcXFwqOGIhhKMUN0/q2x9+ZNTwBxlw10DGjx+PVqu2DdUzmCzEZRg4FJVOSq7pps6vqmz0V30PN4skZUIIUY5GfrGd7efSMcafJfH7V9B4BRI47A2iDWoSMvIwmhW8XJ2vfSAhrtPixVeqoq1atarI/SkpKXz99dcsXbqU2rVrA/Dhhx8SGhrK6tWrGTZsWEWFKoRwsKLmSf24YhWPPDySVt37Mfyl94jOMBHspUavVduSuJMJWcSkGWgf4XdT51fdjuQxrRBClJOpKw7w17l0AExxp9H4hBD0wCzUek+yTBZctWrcdLf+E0VROe3ZsweLxULXrl1t26pVq0a9evXYuXOnAyMTQtyo6x1SWDBPKjnbaJsntX7DBtreMZDJb/6PHRcz+PlADJtPJGAwWWxJXJiPKyhwOS33ps6vuh1VuZ6yjIwMvv76a06ePMkzzzxDnTp17PZ///33/PXXX3bbQkJCmDZtmt22uLg4li1bRkJCAk2aNOGhhx7C2dn5prQRQtz6vv7nIt/ui8WSnYba3QePFv1xb9oHlfrKZdbLRcPI9jVlyKJwmMTERAACAgLstgcEBNj2/ZfRaMRoNNr+zszMvHkBCiHKpCwl2wvmSaXlmjBmpqLXqvliwRdsPpHAmeRcUCDMx9XWG3Z1sYvOdf1pXsObYC/9bTF0saJUqV8HCxYsoEGDBuzYsYNPPvmEmJiYQm22bNnC9u3bqV+/vu1Vq1YtuzanT5+mSZMmbNmyBQ8PD2bNmkWfPn2wWCzl3kYIcevLNpiYs+EkeZePEvPFeHJO/g1gS8j0avjwgVbUqebpyDCFAMBqtRb6W6VSFdl29uzZeHl52V41atSoiBCFENehqKGIRflvb5peq2bNd0tp3KAuJ06cwF2vpXfjEO5pEUrnuv5k5OXbesOuLnbRr3EwEQHukpCVsyrVU9ahQwfOnDlDWloa33zzTbHtIiMjeeqpp4rd/+KLL9K4cWPWrVuHSqVi7NixREZGsnz5ckaNGlWubYQQt7bkrFxW7Y8l6fQ+kn56A11oA/SRrW37Gwfr+fGJrrhoq9TlVtyCQkJCgCs9ZuHh4bbtiYmJtG/fvsj3TJ06lcmTJ9v+zszMlMRMiEqmNCXbU7NNrDsSS3aemTBfV3o2COKLzz/hmWee4ZlnnqF+/frAlUQtIsCdYC+9rYesIPmqiGIXt7Mq1VPWpEkT3Nzcrtnu7NmzvPDCC8yaNYs///zTbl9+fj6//vorDz30kO3JYPXq1enevTurV68u1zZCiFvb1BUHaD1rC9M/+Yakn15HV6MxAfe+gpPzlSp23jqVJGSi0mjTpg1arZZNmzbZtkVFRXH69Gk6d+5c5Ht0Oh2enp52LyFE5XKtku0Gk4X1h2PZdjqJhMw8olJzeevtOTzzzDM899xzvP/++4V6y/VaNSHeMjyxIlWppKw0VCoVQUFBeHt7ExsbS9++fXniiSds+6OiojAajYWGNEZERHDmzJlybVMUo9FIZmam3UsIUfXc8e7vfLsvFkVRyNi5Apfw5gQOeRknZx0AHlonPh7RRhIyUWFMJhPZ2dnk5eUBkJOTQ3Z2tm1IvZeXF0888QSvvvoqf//9N2fOnGHs2LE0btyYAQMGODJ0IcQNKimJSss1kWUyE+qtJzrdgMqUw8LPP2b69Om88847toTsdlt/rLJx6K+FZcuWXbPi08yZM/H39y/1MadNm2Y3tOL++++ne/fuDBkyhN69e2MwGADw8PCwe5+npye5ubkA5damKLNnz+a1114r9ecRQlQ+/eZt4WyKCcVsQqXREnjvK6g0WlRqZ5qEeNAw1JNHO0dSJ8jj2gcTopxMnTqV+fPnA+Dm5kZkZCQAP/74I3379gWurGWm1+sZMWIEubm5dOvWjSVLlqDRyMMDIW5VPq5awnxcMeVb8NZB7xbhdP5rF5E1QuwSsustFiLKl0OvwsHBwbYxrMW53kqG/x3r3q1bN2rUqMHff/9N7969cXd3ByA9Pd2uXVpamm1YRnm1KYqMzxeiajuVkM6JxFxyjm8j7c+vqDb8HTQefrb9HzzUnJo+7lJlUVS49957j/fee6/ENs7OzsyePZvZs2dXUFRCCEfTa9W0j/Dj87lvcuzALjLeWESQjzuXshNsyVdRxUJk/ljFcmhS1qtXL3r16nXTz2MymTCbzQCEhYXh7u7OiRMnbE8OAU6cOEHDhg3LtU1RdDodOp2uXD+fEKLirNoXS/bRTaSs/xC3ht1Qu3nb9j3YKoRIf5lzI4QQonIwmCyk5hh5deoLrF32GQ88PZ3ozHxqBqrtkq/SFAsRN9ct9SjXbDbbTWAG+Oqrr0hISODOO+8EwMnJiaFDh7JkyRLbEMSDBw/yzz//MGzYsHJtI4S49aQe2EjKug9wa9wLv/7PonK6MryjhpeG2UNbODg6IYQQt7uCuWGp2Sb+OBbHyLGPs3j+Jzz64ht0vecRavq6kpdvsUu+rlUsRNx8KkVRFEcHUVq7du3i66+/JicnhyVLljB48GBCQ0Pp378//fv3x2KxMHDgQJKTk2nUqBFRUVHs2LGDV199lZdeesl2nMTERLp37w5A8+bN2bBhA/fccw+LFi0q9zbXkpmZiZeXFxkZGVLVSohKLjY2lsjISFwa9cSz1+OoVFeeazmr4Mhrd0pRjwog10zHku9fiMrt6rlhOo0Te7Zv5eMXxjDiuTeZ+fxEXJzVuGjUpBuurGUmC0DffKW9blappOzkyZP88ccfhba3bduWtm3b2v4+fPgwBw4cwMfHhzZt2hAcHFzoPUajkY0bN5KQkECTJk2KXKOlvNqURG5wQlQNiqKgUqk4evQoWS7VeH3NQaIzTVT31DLj7ha0j/S79kHEDZNrpmPJ9y+E4xhMlkJrh/3X+aRsVuy9jLerBmO+gq+rlnNnTtC6eTNbD5gU9ahYt2RSdiuSG5wQlVeeyUxSlollX3zM+XNnWLBgga1SVcG+AA+t9JBVoMp+zUxLS2Pjxo3s3LmT+Ph4XFxciIyMpGfPnnTs2LHQWkBVTWX//oW4VZUmkTKYLKw+GMP3uy6wa8mbNGnVjsVzpqNSYZfIxaYbWH8kDn93HcnZRvo3CSbEW4p63CylvW5e9y+J3NxcNmzYwJ9//kl0dDRwpeJh165dufPOO3F1dS171EIIUUks23mBD/84Q8K2b7n8xxIemTDFbr+LVkMNP0nGxBWxsbG89tprfP3112i1Wpo2bYq/vz+ZmZns37+fmTNnEhkZyQsvvMCYMWNwcrqlpnQLIW6ykqojFvSg5eVbOBWbxq7FM4k//BcN2vckIzcfbzf7SuZS1KNyKvUviszMTN566y3mz5+PxWKhRYsWBAUFAbB//34WLlyIs7Mzjz32GFOnTpUnaEKIKslssdLz3U1cSjOS8fc3ZPzzLT6dh5PZ8B6M+RbpFROFnD17lg4dOnDvvfeyZcsW2rRpUyjpyszM5Oeff2b+/PmsW7eOn3/+2UHRCiGqooJEKio1F3cXDS6aK8MQ4zIMHIpKJyXXhAsWvpr1LPFH/qbRyBnUad+bHeeTUcCud62gqMe1hkKKilXqXxcNGjSga9eu/PTTT3Tr1g212v5/QIvFwtatW1m4cCENGjQgJiam3IMVQoibKSoll3Ff/kNUuoncU9vJ+OdbvLs/gme7+4hNzyUpyyS9Y6IQb29v9u/fX+Kak56enjz88MM8/PDDHDhwoAKjE0LcCvRaNR0i/UnLiSXLaGbbqUQUFVxIziEmzUD7CD8+e3c2UYf+YdDk99DXbkO9IA9MZivB3vpCvWtXkjMZsliZlPrXxW+//UajRo2K3a9Wq23rjh07dqxcghNCiIpitlh5fe1RTiUbAXCt24GA+2bgGtnmyn6rQoCHDPEQhfn7+19X+xYtZOkEIcT1yzNbyDKZcXFWcyoxC2e1E2E+rsSkGriclsuYJ56hW6870ddohL+Hjr6NgzkYlSbDFKuIUg9qLykhu5G2QghRGfx2LI4/jieQtnkReVFHUDmpbQkZwDN31JGhi6LMsrOzWbx4MRMmTHB0KEKIKshgshCfYeBsQhZ/nk4i12gm1FtPQmo6+5e9SVt/Cx0bheMV0YR8qxUfNy2+blpZe6wKua6Zxn369OGHH37AZDLdrHiEEKLC5ZnMfLL5DCkbPyFzzyrM6XF2+8N9dYxoX8tB0YmqbNeuXYwbN47g4GCee+453N3dHR2SEKKKMZgsbDgSx4I/z3MyPgs3FzU6jRMRXiqWzniMfdt+Iy0pkQXbzrH+SBxnErKITs0lLsMg88aqkOt67Ovs7MxDDz2Et7c3I0eO5NFHH5VeMSFElRefbmDfsrfJPvw7fv2fxb1JL9u+Ic0DmfdAmxLeLYS95ORkli1bxsKFCzlx4gQhISH8/PPPdO/eHY1GeluFENcnLdfEqcQs8i0KGicVZ+KzyUrLYNELw0m4fJ6xsxZyzimYuMx0qnm6EJuRR3NF4eDldFJzTLIWWRVxXT1l69at49KlS0yaNIlffvmFxo0b06FDBxYuXEh2dvbNilEIIW6qd1+fRuKBP6g55Hn8WtwBgLMaPhrWXBIyUSpWq5Xff/+dYcOGERoayuLFi3nsscfYuHEjQUFB3HHHHZKQCSHKxEWjJtdoJjErD7NVwctFwx8fTibm0nlaPT6PHM9anIrLxMdVg9mq0DTUi251A0nNMdmV0BeV23UvlBIaGsr06dM5c+YMmzdvpnbt2kycOJHg4GDGjh3Ljh07bkacQghx00x48gne+ngxrXoOJNhLT5MQTxaNas2gFqGODk1UEfv376dPnz4YjUa2bt3K4cOHefrpp/H29nZ0aEKIKspgshCbbiDdYCLYS0+vekG46zTkWxUCOg/jrqmfY/GrxeW0HJKyTdT0d6d+NU/a1vIj3M+NYE8XkrONUuSjiijzYzuVSkWPHj3o0aMHH3/8McuWLeOVV15h8eLFKIpSnjEKIUS5yTaYOBGfSb7RxJqln/DKy9No2LAhDRs2JM9kJinLRICHVop6iOvi7+9P3bp1+e233/Dy8sJisdC5c2dHhyWEqGAFCznf6Dwug8nC5hMJxGXmoQLiMnI5fj6aPRt/onqPB3CJbIOTrx7vPAsBni5o1SryzVaa1fAmOdtIntkia5FVMTf8qyMqKoolS5bw5Zdfkp6eTo8ePcojLiGEKHcr913mlVVHyDYYSfx5FsZLh/Gu24aXRg8GwEWrkXXIRJmEh4dz6tQp/vzzTxYuXEifPn0IDw+ne/fujg5NCFFBrk6kbnQeV1quibjMPNROKpbtvEh6cgLHFz6P1WTAp0VvAgKr4QQEebmg1TjRKcIfN73GrmdM1iKrWq57+CKA0Wjk+++/p0+fPtSqVYv58+fz0EMPcfbsWTZv3lzeMQohxA07fDmdKSsOk5VrIPHH1zFGHSXgvhmsjHUj2yBj7UX56Nq1K1999RVxcXE8/fTT7N69m8OHDzNw4EAWLVpEYmKio0MUQtwkBYnUjc7jMpgspOeacFJduXclx8dx/IvnMJuMNB73Hh4+gVgVBYsVutQNoE6QB53q+tOvcbCUv6/CrispO3DgAE8//TQhISGMGDECV1dXVq1aRVRUFLNmzSIiIuJmxSmEEGX295kk7vt0O1aLmcQfX8MYe5LAoTPQhzcnPcdEVKrB0SGKW4yXlxdPPPEEe/fuZffu3dSsWZPnn3+eAQMGODo0IcRN4uOqveF5XKnZJr7dfYnPt51j76U0NHnpnFk8BbPZTM2Rc/CuVoNWYV4MaVGdUB89qTkm6gd5EOylR69VE+Ktl4SsirqucTotW7akbt26vPDCCzz88MNUq1btZsUlhBDlIs9kZvavJzApoFJr0Ee0xrvLSFyqNwTARetEmK8M7xA3Jj8/H7VajZNT4WedzZs35+OPP2bu3Lns3LnTAdEJISqCXqsu8zwug8nChaQcfj5wmR3nU7BYrFgV0GucCG/ZDW2zu6gWWh2LAqFeruic1XSvG0izMG9bQiaqtutKyrZt20bXrl1vVixCCFHujsemczEmkdzTB3Ct1xGvdvfa7X++TwPc9VKVStyYQ4cO0a9fP/r168ddd93FnXfeiZeXl10bFxcXmWMmxC2uLPO4DCYLvx6NY+2hWA5GpZFvtZIWGwV5WXiHN0DbeTQqIDUnn0APHT7uOjpG+oGiujkfQjjEdQ1fvDohs1qtHDp0iJ9//tm2zWg0ll9kQghxA7INJh77ag93v/8HZ7+aSsrGj7Hm2a+nOKJtDUZ2DHdMgOKW0rJlS1avXk316tV58803CQgIoGfPnsybN4/Tp087OjwhRCUWl2HgcHQ62Xn55FusZMVeIO7bl0jevIgsk4Ix3wxYcVKp8Pdw4XBMOn+eTmLhX+f5ePNZNhyJw2CyOPpjiBtUpkIfcXFxdOjQgZYtWzJkyBDb9iFDhrBx48ZyC04IIcri638u0uqN31m/9wwJ303DnJFI0ANv4uTibmsztmMYbw5p6sAoxa3EycmJjh078tZbb3H48GHOnj3Lfffdxx9//EGzZs2oW7cukydPZvPmzeTn5zs6XCFEJWAwWTgem8Fvx+KJSTMQk5GHIf48l5dPRe3mQ9C9r6BSqVAAkwXUTleG3JvyrUSnGbCgYFEUzqfkyOLQt4AyJWWTJk2ibt26ZGRk2G1/6aWXeOutt8olMCGEKItXVh7hlTXHyM1KI+HbqVhy0gh6cDbawCuFiMZ0CGPv9B68MqiJgyMVt7KwsDCefPJJ1q9fT0pKCnPnziU7O5tRo0bh7+/PlClTHB2iEKICGEwWzidlcz4p2643y2CysOFIHB9tOsOqg7HEZRjIjjlF1PKp6H2CqPPIHFw9fajmocXPXUd1H1f83V3wd9PRvX4gTUK9UKNCrVIR4ecmi0PfAsq0IM+mTZs4duwY7u7udtubNWvG7t27yyUwIYS4Xs//cIAV+2Ov/OGkRu0ZQMDgaTj7VQdABYzvXgt/D1fHBSluO66urgwaNIhBgwYBsH//fo4ePergqIQQN1tB4vXX2WRQoHNdf7rXDSTPbCEv38KpxCzy8q1kGUxk5pmxWJ1wD2tEh9GvUDcsGK3aic51/Fh3JB6N2gm1Cu5qGkyzGj4AtKnlCyCFPm4RZUrKcnNz0WqvZOQq1b+TDJOSknBxcSmfyIQQ4jo8/tVuNhxPwpx5ZR0ojWcgQUNfs2vzYJvqVPNyL+rtQtyQo0eP8v777zN27Fg6duxYYtuWLVvSsmXLCopMCOEIBpOFk/GZnE7MwqIoAJxJyCIt10R6bj6B7jrSskycS8om7vwJXPxDMXvVoM6I11HrtOTlW6gV4IbZAt3rBRKTbiDCz41mNXxsCVhEgNzPbiVlGr7YuXNnvvzyS+DfpMxkMjFt2jSpLCWEqHDRaVlsOJ5Efno88d9MJeXX/xVqM3twI966t5kDohO3A09PT/bu3UunTp1o1KgR8+bNIykpydFhCSEcwGCysPlEAjvPpZBrNIOioEaFl96ZfRfTOB6bya9H44hKzyXl9H4uLn2B2K3fYbZCUpaJ+CwjF1Ny0WvUpOSaaFvLlwfbhtG3SbD0iN3CytRT9u6779K9e3c2btyIoiiMHj2aLVu2kJmZyT///FPeMQohRIk+33qe/LRYEr6djkqtwa/fRLv9j3QI58H24Y4JTtwWwsLCOHToEHv37mXRokW8/vrrTJ06lUGDBjF27Fj69OlT5BpmQoiqw2CylGoNsrRcE3GZeQR7XymN37NBIADJ2UZOJWSQnGnCWaMi//JhTn79Ci6hDfDsOAzgSlEPsxVQuJSaS6swHxmeeJso0x2iadOmHDp0iGbNmtGjRw8uXrzIvffey8GDB6lfv355xyiEEMU6k5DFik27SPjmJVTOOoIeehuNZ4Bt//C2ocy8u5EDIxS3k9atW/PZZ58RFxfHwoULSUpKon///tSqVYuZM2dy6dIlR4cohCiDgt6v9Ufi2HwiocQS9D6uWoI9XUjONhLk5UJ8upGV+2P4fOt5LiQZyDBaiDmygyNfTsc1rAkB976KTuuCRg16Z3BSgYuzEy7OalmK7DZSpp4ygBo1ajBnzpzyjEUIIa6L2WLlqx0XyUmMwcnVm6D7X0Pt5mPbXy9Az6whzR0XoLht6fV6Ro4cyciRIzl37hzz589n1qxZrF27lr179zo6PCHEdSro/fJ31xGXmUdargm9Vl9k75leq6ZDpD+XUnPIM5n5ZncUUSm5pOQYUf7/eIa4s+hrtSJg0Is4a51xAiID3dFp1Ph76sgzWanuoyc1x2Q7l7i1lTopmzp1Ki+++CLe3t4ltktLS+Odd95h9uzZNxqbEEIUKdtgIirVQHZqHDlGM8FNO6OPbE2+8m/n/5TukTzdV3ruhWOdPHmSxYsX89VXXwHQrl07B0ckhCiLgt6vuMw8gj1d8HHV2nrPCrb1bBAEXFkM+lBUOpfTc/nnbDInYjPINllRAfmZiWg8A/Hq+ABqxYrVSY1VAWdnJ1rW8KZWgAfZJjPJWUYSMvOoE+Qh5e5vE6VOytLT0wkPD2fo0KEMHDiQVq1aERh4ZYxsfHw8e/bsYc2aNfz88888+OCDNy1gIcTt7dudl3jnt5OkR53i8jcv03rwo4R3vY+LQFZePq46Ne/c24w7GlZzdKjiNpWdnc3333/PokWL2LFjB7Vr1+aZZ57hkUceITg42NHhCSHKQK9V07NBkF2vWGy6wa73LC7DwInYTE4mZBGTZsDfQ8vF5BzyLVYsCuQc30ryug8IeuBNXGo0RlGpUQEoUNvfnQBPPd3rX/ltvftCKjHpBlRKiWGJW0ipk7LPPvuMCRMmMG/ePEaMGEFWVpbdfk9PT4YOHcr27dtp3LhxuQcqhBCfbTrDnN9PY4w9RcIPr+LsW53ssE40r+FFmK8rrlo1ozqEUyfIw9GhitvQ33//zaJFi1ixYgVWq5UhQ4bw1ltv0a1bN7vlY4QQVZNeq7YbRvjf3jOAc8nZYFXINORzKSWbHGM+uWbIPrKJlF8/xK1Rd3ShDdA6gatOTYC7C0nZRsL8XYkMcCfYS09arolso5nIAHeSs40yfPE2cV1zyho3bszixYv54osvOHz4MJcvX0alUlG9enWaNm2KWi2VYYQQN8fZpAze+/00edHHSFwxE21gLQLvm0kOLvRuEES9al646dRo1FLhTlS8ffv20aVLF1q0aMGcOXMYPnz4NYf7O8KgQYM4fPiw3bb77ruPuXPnOigiIaqugt6zuAwDefkWEjLy2Hsxleg0A3kmM5l5JrJNkHVoI6kbPsa9aW98+z6FSuWEm06Nu4uG5GwjgZ46Hmpbk3rVPEnLNeGiURcaKilufWUq9KFWq2nRogUtWrQo73iEEKKQuRtP8tnWc1iA7IMb0FarQ+C9r+D0/08OvfRavFydHRukuK3VqFGDffv2VfpFoWNjYxk2bBhPPPGEbZu7uyxAK8T1uLq4h8FkYevJRHZfTCU6JZe0XBNaZxXJ2SZMVlAs+WTt+wX3Fv3x7f0YKtWVB4catRNBni4Eeznh6+aMl6szO84l2xKxDpH+5Jkt1yy/L24dZa6+6EinT5/m9OnTdOjQAT8/P7t9GzZswGw2F3pPWFgYTZs2BeDIkSOFyhJ7enrStWvXQu87cuQICQkJNGzYkJCQkCLjKU0bIUTZJGfl8vm28+Qb83DSuuDXbyKK1YKT85WhIjW8ddT0c3VwlOJ2FxgYaJtnDWAymThx4gTZ2dl06tTJgZEV5uPjQ3h4uKPDEKJKurq4h5+rljSDiQ3H4jmfmElGnoV8679traYr961qw+eg0rrahjE7O0H9IE88XJ1RoyLfaiUp0766Y57ZQoi3DFm8nVSppOyvv/7itdde49SpU0RHR7Nlyxa6d+9u12bRokUYDAbb3waDgc2bN/Pqq6/akrJPPvmE1atX06pVK1u7mjVr2iVl2dnZ3H333Rw6dIg6depw8OBBpk+fzssvv3xdbYQQN+bQ5Syyzuwmef2HBD84C41/TVTqK71iwR7OvDO0BS7aKnUpE7e4AwcOMHToUM6dO0erVq3Yu3cvBoOB5s2bs3XrVocX+5g/fz5ffvkloaGhDBw4kKeffhqNRv4bEuJqxS0UfXVp/HNJ2ZgtVjx0zmQYLORfVZQjY+ePZB/5neBR7+Okc7M7tq+bljGdw0nMMrH1VCI6jRPxGQZ83bQkZxtlyOJtqkpdhWNjY3nxxRepX78+YWFhRbZZsWKF3d9Lly5ly5YtPPzww3bbO3XqxI8//ljsuV555RUuXLjAqVOn8PPz4/fff6dPnz507drVlryVpo0Q4sbEHt5G4spZ6CNbo/G+0hPtpIKvR7emVbifJGSi0nnooYcYNWoUPXr0YNKkScCVdcvGjx/P+++/zzvvvOOw2OrXr0///v1p2rQphw4d4vnnn2fXrl189913RbY3Go0YjUbb35mZmRUVqhAOU1Sp+4LEzEVzpWLi0eh0vPXOoDiRYTDZvT99+7dk/L0cr44PovpPgQ69swqj2cqO86kMbhFKdLqBGj6uZObl0zMiEBdntQxZvE2V6dfMuXPniIyMLO9YrmnYsGEAREdHl/o9ixYtolevXkRERNhtz8rKYvPmzXh5edGwYUP0+n//o1EUha+//prJkyfbhkf27t2bli1b8tVXX9G1a9dStRFC3JgVK1YwZuRwmnbsRXbHJ7Gq1KidVDzeLYJOdYMcHZ4QhURFRZGVlcWrr77Kvn377Pa1aNGCGTNmOCiyK7766iucnK7MaWncuDG+vr7079+fV155hUaNGhVqP3v2bF577bWKDlMIh7q6NywqLZeT8ZnUr+YJwMr90aw9HEO6wYQTKgz5FtJz88lXrvx+zPhrGRk7vse7y0i8Og4rdGyzWaGGjw6tRo2Ls5r6QR625C/YSy/J2G2sTElZnTp16Nq1K2PGjOG+++7D1bVyzuc4ffo0f/31F99//32hff/88w8zZ84kNjaW9PR0Pv30U+6//34AYmJiSElJoVmzZnbvad68OYcOHSp1m6LIU0chShadlsXfp1NpEaLlqaee4v7772fp0qWkG0wcupxFsxoe+HtUzmuOENnZ2baHfP8tg5+SkoJOp3NEWDYFCVmBjh07AnD8+PEik7KpU6cyefJk29+ZmZnUqFHj5gYphIMVlLqPSsslOcvIznMpxKYZ8HVzZuk/F4nPNNjNHSuQn3yJjJ0r8O4+Gq9299rt89U74eSkxlnjRNtavjSo5kGwl95WAl96x0SZkrJdu3axePFiJk6cyNNPP80DDzzAmDFjaNeu3XUd59ChQ1y+fLnENj179ixz0rd48WL8/f0ZPHiw3fZ77rmHd955B0/PK089Zs2axciRI2nSpAkNGjQgPT0dAF9fX7v3+fn52faVpk1R5KmjEMV74us9/HosEUVRUKlU9Jv2BYueGoBarcbfQ0OvhpKMicqtbt26ZGRksHPnTrsELCMjg7fffpu7777bgdEVduHCBaDwvayATqdzeCIphCM0CPHEz13Lgah0gr31RKXmcirBTEaeEet/EjJFuTKZTBsQTsijn+HsG2q330UNJiuorFZctRq61vWnS51/h0TKGmQCypiUtWnThjZt2jBv3jxWrlzJ4sWL6dChAw0aNGDMmDGMHDnSrgpVcbZs2cIff/xRYptWrVqVKSkzm80sXbqUhx9+GK3WfrLknXfeaff3tGnTeO+991i3bh0NGjSwtc/NzbVrl5uba9tXmjZFkaeOQhTttdWH+fVYIlkHN5B7ZgeBQ15ma5wzcZm5VPeRxaBF1aDRaHj//ffp06cPnTp1IjY2lkceeYT169fj4+PDxIkTHRbbwYMH2bp1K48++iju7u5ER0czYcIEateuTZcuXRwWlxAVobjCHUW1K5hP5uumpZqnC3HpBuIyDESnGsg3K1iuaq8oVlJ//xwnrR6f7qMLJWQ6NQR66MjNt6JSgcliBZykV0wUckOrrOr1eoYPH87GjRv54IMPOHv2LM899xzVq1dn9OjRJCUllfj+Z599lrVr15b4KmuVqnXr1hEfH8+jjz56zbYqlQpvb2/i4+OBK+Xz1Wp1oblrly9fplatWqVuUxSdToenp6fdS4jb3VPL9/Lljstk7V9L6saPcfauBk5XbljbTqY4ODohrs/w4cP57bffCAwMpEaNGly4cIHHHnuMnTt3OnRB6Tp16pCQkEDNmjUJDAykTp06BAcH88cff5T4MFGIqs5gsvDr0Ti+3R3Fr0fjMJgsxbaNyzBwMiELLxdnUnNMNAvzpn2kH646DTkmC/nmf0ssKlYLqRs+JvvAr2h8Qos8no+rlurebgR46NA4OaF2UnEhMbvEGMTt6YaSspMnT/LCCy9QvXp1ZsyYwbhx4zhw4ABr167lwoULDh2msWjRIrp06UL9+vXttlut1kLDCwvWLStY9NPFxYVu3bqxcuVKW5v09HQ2bdpE3759S91GCHFtU77fz9ojCWTuWUXq75/j0fpufO543LbAZquaXg6OUIjr1759e5YuXcquXbvYtm0bb7zxBj4+Pg6Nyc3NjdmzZ5OcnMyxY8fIycnhxx9/pGbNmg6NS4ibLS7DwN+nk4lKzeXv08nEZVy1dJLJQmy6AYPJgsFk4VBUOjFpBv46k0SmIZ/d51PIyDGRnJnL3oupFKyEq1gtpKz/gOwjf+A3YBIezfoUOq9OfWWR6AAvHb0bBlHdR0/nSD+sqivFRIS4WpmGLy5cuJDFixezc+dOunTpwrvvvsvQoUNxcXGxtenYsWO5PxGMjo7m4MGDpKRceXK+Y8cOsrOzqVu3LnXr1rW1i4uL49dff2Xx4sWFjmGxWGjfvj33338/jRo1Iioqinnz5tGtWzeGDh1qazd79my6du3KE088QYcOHfj8888JDw9n7Nix19VGCFG8+IxsfjoQR97lo6RtXohn+/vw7vqwrUBCpJ8LtYMkKROV29mzZ9m2bRuPPPIIanXJQ5Kio6NZsWKFrVS+I6hUKgICAhx2fiEcQgUo//9//99/S983CPEkJddEyzAffjsex0/7Uskw5GPOt5Kn2B8ua98v5Bzfhv9dU3Br2K3Q6dSAh05NizBvIgPcuaNhEIHuLmSZzIT5uBa5Dllph1iKW1OZespefvllOnfuzMmTJ9m2bRsjR460S8gA3N3dmTt3brkEWeDUqVN8/vnnrFixggEDBrB9+3Y+//xz9u7da9fuwIEDDBgwgPvuu6/QMZydndm5cyfu7u6sWrWKCxcuMG/ePDZt2oSzs7OtXdu2bdm9ezcqlYrVq1fTp08f/v77b7vS+aVpI4Qo3u7zGQDoqjci8P437BKyxiHufDmmAxr1DXXoC3HTeXt7s3z5ciIjI5k5cybbt28nKysLuPIg8PLly3z//fcMHTqUxo0b24oCCCEqRrCXni61/QnzdaVLbX+Cva78Tru69H1cZt6Vtp4uJGTlkZdvIT3XRK6pcEIG4NFiAEEPzCoyIQNwVoOTkxp3Zw2RAe7U8nfn3tY1uLt5qN26ZwUKEsT1R+LYfCJBhjfehlRKGe4O+fn5dgmMKLvMzEy8vLzIyMiQ+WXitpFtMHEpJZfP3n+L788ouDXsbre/TwN/Ph3RRhIyUUhlvmauW7eODz74gC1btmCxWNBqteTn56MoCn5+fowaNYpnn32WsLAwR4daZpX5+xeiJEX1QhUkQlGpubi7aBjQJASAIzFprD0Uy8r9sfZFPcz5pGz4CI/Wd6OrVrvQOZwBqwrUqiudcjX8XJlxVyPa1vK7Zs9XbLqB9Ufi8HfXkZxtpH+TYEK8r+8hv/S0VU6lvW6WafhiTk5Osft0Op30FAkhirX6QAxvrT/OuXULSNnxIy3ue5o0rtzAAO5tEcx7w1o6MkQhymTAgAEMGDCAzMxM9u3bR0JCAjqdjoiICJo0aVJojTAhRMXRa9XotXrbHLKCxKVDpD8JGdFEpeawfPdFUOBYTAaHLqfbJWTWfCNJP7+F8fKRQg8SC6icQOvkhLOTgqvOmcHNQ0uVkMG/a6MVDKUsanhjSf47FLOo3jhRuZUpKbvWZOVq1aoxevRoXn/9dTSaMp1CCHGLMVusnE/K4rVfjnJh7Wek71lNQO/H0LYYxO/j2nA8Opu2EV5U83J3dKhC3BBPT0969Ojh6DCEEP9RUIXxQnIOtfzd6F43kNMJmey7nEZMWh4x6TmonVRYLApJOfm291nz80j66Q2MMScJuPdV9OHNizy+xQouWifCfPTUCXQjyN2lyHZF0WvV9GwQVOaerv8OxUzLNcn6Z1VMmTKmDz74gNmzZ/Piiy/SsmVLVCoVe/fuZc6cOUyePBlvb29ef/11XF1defnll8s7ZiFEFROVksukH/aw71I2Gf98T/qe1VQf8DR+bQaQnWfGZIJBLYouJyyEEEKUh4IqjPlWKyfjMknMzCMjN5+LyTkkZOaRacjHasVWYbFA8i9zMcaeInDoTFzCmhR5bCdArYZgTx0Gs4VMo5VdF1NpE+FLRMCVh43XGl5Y0JtXFjfa0yYcr0xJ2bJly/jxxx/p3LmzbVvXrl1p3bo1zz33HLt376Z27do8+eSTkpQJcZszW6z0e38LOf9/l3Nr2huNTzDqBl3JNVnwddMS5itP84QQQtx8RouFy6m55JrM5BjNNK7uhdFsIS/fgsla9Hu8OtyPZ9t7caneoNA+J6Cmr476wV6YLArGfCuXUnNJzTbipvs38brZwwtvtKdNOF6ZkrLjx4/TpEnhJwXNmjXj+PHjALRr146YmJgbi04IUeU9/90+sk0W0v9ejmergWjcfdE06AqAh4uGqf0a4K6XJ3pCCCFuLm+9FheNExmGfNROcDYpm5NxGZjMFkz59m0tedlk7lyBd+cR6ILrFnk8DdC8pjevDWqMj5uW9FwTvxyKJdTbhZiMPJrX8C620uPNGF54Iz1twvHKNOs4JCSEhQsXFtq+YMECQkKuVK45depUkYmbEOL28cKK/aw8GEvy2vfI3Pkjxrgztn0aJ1g3sSN3y7BFIYQQFSDPbKGmnxv1q3mQaTBjyreQZrCQnQ9XL+VsMWSS+N10sg/9hjkjochjqQAvNw1eOmf0WjUh3npq+bvTOMSLUF9X2tfy485GwbYeq4LhhcnZRhleKIpUpp6ygsWif/jhB1q3bo2iKOzdu5cDBw6wYsUKAL7++mtee+21cg1WCFF1xGdk8/3uKJLXvEvu2d0EDH4J19ptbfsndIuQoh7ilmUymThx4gTZ2dl06tTJ0eEIIbiSGEUGuJOSY8Rb70xiRi7/XRfKkpNOwvcvY8lJI+jBt3D2q17ksdx1Tvi7u4AK8vKv1GksqOaYmmsiO8/Mwag0fN20/9+DJcMLRcnK1FM2ePBgTpw4QceOHTl37hwXLlygU6dOnDhxgsGDBwNXioH06dOnPGMVQlQhu86lk7TmHXLP7Sbgnqm41u1o2xfi6cykOwuPzRfiVnDgwAEaNmxI8+bNeeaZZwAwGAzUq1ePuLg4B0cnxO2joPy9wWSxFdloHuaDl975SjGO/wxZtBpzSfh2GpbcdIIenI02sFaRx3VWgYtGTZ7ZTIYhnyPRGbbFntMNJhKzjPhdNUyxQEGPmiRkoihl6imbO3cuzz33HO+//355xyOEqMLyTGb2XEph/4V0OtTxxa1uRzya9UUf0crW5v6Wwbxzv6xDJm5dDz30EKNGjaJHjx5MmjQJAL1ez/jx43n//fd55513HByhELc+28LQabk4KaA4gaKAIc/CD/suE59lKvQelVaPa8OuuNXrXGwPGYCLTo3RouCpciLAQ0d0uuH/ky8tBy+nE5NqICbNQJfa/jJMUZRamZKy6dOn8+yzz8oaZEIIm53nUhi7ZDdZObnknvwTtya9iWh/J4lZJtvwkPtbBfPOUEnIxK0rKiqKrKwsXn31Vfbt22e3r0WLFsyYMcNBkQlxe0nLNRGVlkt0ai57L6UBEObryq5ziWT+Jx8zZyRiSryAa512eHd84NoHVxSCPHWo1U4oQC1/N3xctaTlmkjNMdEh0o+otFyahXlLr5gotTJlVU2bNmXXrl0yTl4IAUC2wcTT3+4nKzubxJ9exxR/FpeazUhQBfHDY22JTzfJwtDitpCdnY1ef6X6mUqlstuXkpKCTqdzRFhC3HZ8XLV4aDVcSs1F56QiNc/E7ycSC7XLT48n4dupqDRa9BEtUamdSzxuiJeOMG9X6od4EObjRvtIf2oFuP1/8vXvWmH1gzxslReFKI0yJWUPPPAAw4YN46WXXqJhw4ZotfZds1evXyaEuLVFpeTywo/7SUhJI/GHGZiSowi8/w00XkEA7LmQzoSedRwcpRAVo27dumRkZLBz5067BCwjI4O3336bu+++24HRCXFrudZizC1r+pKUk8fK/bFEpxkL7c9PjSHh22monHUEDZtVYkLmpQMrasJ8XBncsjpta/kS7HVlfljB3DUfV60U8xBlVqak7LnnngPg6aefLnK/ovy3lo0Q4laUZzIzbuluTkQlkPDDK5hTYwka9ga6kHq2Nnc2CXRghEJULI1Gw/vvv0+fPn3o1KkTsbGxPPLII6xfvx4fHx8mTpzo6BCFuCWUtBizbT5Zai5JWSbSDUUkZCmXSfhuOiqtK0EPvoXG3bdQG2cVaNTg5OSEolLRsJoHjat707aWLxEB7sXGEeItPWTi+pUpKTMYDOUdhxCiiolKyWXOryc5lZiDSqNF4x2Mb58J6KrVtrVpV9OL2gFeDoxSiIo3fPhwIiMj+eyzz6hRowYXLlzgscceY/LkyXh7ezs6PCFuCQWLMXu5OHMyIYsGIZ62ROlCUg5/n00iKcvIgUupZOVZC71fpXVFG1wXvzsnoHbzKbRfo4Ka/m7oNE60q+XLmaRs6gd50LyGN956ra1nrCAOzyLiEOJ6lCkpc3FxKe84hBBViNli5b3fTrJuzwlMWWloA2sRMOgFuzbjO4YzbVAjB0UohGO1b9+e9u3bOzoMIW5ZPq5a3HUaNp1IQOvsxKGodIK99BhMFpbvvMBvJ+JJzTYXWofMlHgBtZsPGg8/Aoe8XOzxvd00eOqdCfdzI8DDhcbVvW0J2Y5zybaesQ6R/vi5avnrbDIocPByum1YoxDXo0zrlAHExMTw4Ycf2tZgAdi8eTP5+fklvEsIcStIyTayef8pYpdPJfmXuSiK/VPIufc2lYRM3LZSU1M5cuSI3Taj0cjOnTsdFJEQtx6DyUJchoGMvHw8dBris66sCbb3Ugp/n0sms4iEzBh3moRvXiJt65fXPL4TKgwmM9l5+bQI86Zf42AiAtzJM1uIy8zD///XIcszW2gW5k2oj54OkX6k5pjs1iYTorTKlJTt3r2bhg0bsnz5cj766CPb9lWrVrFw4cJyC04IUTmduxjF6cXPYzXlEnjPNFSqfy8lD7QO5b42NRwYnRCONXz4cGJjY+226XQ65syZw5o1axwUlRC3DoPJwvrDsRyOzgAUTsRnYbYonE7IZN7GU1xKzeO/XQTGmBMkfPcyzn418L1jfInH99CpsFrBWe2EXqsm0NPF1vPl43qlwmJytpFgT5crf3vpqR/kQUZevm2bENdLpZShKke3bt249957mThxIiqVylbY48iRIwwbNozjx4+Xe6C3qszMTLy8vMjIyMDT09PR4QhRrOSsXPZcTMMpO4XHhw8mIT2X4IfeQu1VDbNFwVXrxKKH29Iu0s/RoYpbWGW/ZsbGxtK2bVuio6ML7Vu7di2LFy9m5cqVDoisfFT2719UHdeqnFiS2HQDqw/GcCk5l7/OJqF2Ah8XHZkmIxeS8wq1z7t8lMQfX0MbGEHgfTNw0rkWeVw1Vwp76J2dCPNzp1VNb5qG+tC3STCALd6r//+ri4tI1UVRlNJeN8s0p2z//v2sW7cOsF+HJSIigrNnz5blkEKISmzuxpN8tvUcFgWMsafIzHNi5vwV7ExUkZRtwtfVmef71peETNz2MjMzsVgsRe4zm82kpKRUcERCVD4lVU4s2F9SguPjqiXMx5WYtFx0GiesisKx+AzMhet5AGDOSEAXXI+AIS/jpC25LoJKpULv7ExEgBt3NgqmWY0rRUCuVWFRr1Wj10rVRVF2ZUrKdDodaWlpuLvbV5c5evQoAQEB5RKYEKJySM7K5fNt5zGmJ6J290EXUg//ke/zd5yVr8a2IyvPSoCHFhdtmS4nQtxS6tSpg8ViYcmSJTzyyCO27Xl5ecybN4+OHTs6LjghKomCioUF87LSck22hObqhM3XTUvzGt5264HFZVypAN48zIfMPDMbj8aTlFN0PYP8tFicfUJwb9wLt0Y97Iba/5eHVoXOWQ2oUIAco4XYjDya1Sg5XiHKS5l+RQ0aNIjp06ezaNEiW0/ZyZMnGT9+PPfcc0+5BiiEcJxsg4k1B+MxJEaR8N003Bp2x6fnWFQqJ+IzjWTlWanhV/QwECFuR2q1mnnz5vHwww/z1Vdf0axZM7Kzs9mwYQPOzs62dT6FuJ0VzMsq6Hm6eg7W1aXu/z6dzIXkHOoHedAh0p+tpxPZeiqRjFwTefkWzidnk5RjLvIcuWd3k7TqLfz7T8KtYbcSEzKtCjxcnAnwcMFdp0GjVtE4xJMzCVm2pLC4eIUoL2VKyubOnUvfvn3x8/PDarVSq1YtLl26RJs2bZg1a1Z5xyiEcIDVB2KY/esJEi6eJv7baajdfPBsd69tfzVPHQEecmMS4r9GjBhBzZo1mT9/Ptu3b0ev1/PII48wadIkfH0LL1ArxO1Gr1XTs0FQkUMUCxK2kwlZoIIaPq7EZeZxOiGTPRdSORWfRUy6gWxj0cOEAXJP/0PS6nfQ126Da73ie6dVgNYJ2kX6kW9RGNqqOuH+7vy0N4rfTybi6qwm3M+NQc1Di41XiPJSpqTM19eXnTt3snHjRvbu3YvVaqVly5b0798ftVr+oQpR1WUbTMz+9QSx504Q++3LaDz8CRz2BmrXKwtBB3lomTagsQxZFOI/4uLi+PXXXxkzZgxdunRxdDhCVFrFzcEqSNgahHhyKCqdlFwTfq5ajsVksvdiKpfTcjGai69Rl3PiL5J/eRfXep3wv2sKKnXx9ylPnQqd1pnM3HyahnnTvV4QeWYLnnotIV56dGonotMNpOWaCPHWy5BFcVOV+ReVk5MT/fr1o1+/fuUZjxCiEohKNZCdZ8Z45h/0fsHUHP4mFo0rz95Rh46RAdQJcpeETIgiJCcn89FHHzFmzBhHhyJElaXXqokIcMdbr+VSag6KFX45HEu6wYTFohRaf6yAoihkH/4Nt4bd8Ov/LCqn4jsKdE6gqJzwdnHGXe9MHX+P/08U1dQN8iAhywgK1PJ3k+GKokKU+VfV5cuX2bNnD6mpqYX2PfroozcUlBDCMbINJqJSDWgs2bi7aDB2HkFglwcw4oyvq5bh7WrirpebkxDFqV27NnFxcSQnJ+Pv7+/ocISokgwmCydiM9l2KhG1RoVW7URMmoFMg5n8YjIyqzEHJ50bAUOmo1I7l5iQqVXg7a5F66QmxEePl6uWxByjrUesb5NgmoV5A9iKjAhxs5UpKVu2bBljx45Fr9fj7e1daL8kZUJUPQVzyOJPHSB6xRs8NO1DTrvXIDtPja+Lhqn9GkhCJsQ1mM1mBg4cSI8ePZg4cSI1a9bEyenfAgOenp60bdvWgREKUbkZTBZWH4xh+a5LxGfkUd3HBZ1GTXKWAaOl6Iws6+CvpP+1nOCHP0Djee2HIXqNCl9XLQ2CvTBbrKhVKiL8/u0RK+ipE6IilSkpe/XVV5k3bx4TJkwo73iEEA6QbTDxxrrjxB7bTfyPb6ALrccRkx+/TmlParaFMF+9JGRClMKpU6dYtGgRAOPHjy+0v1WrVuzdu7eiwxKi0itYmyw918T2s0nEpOWSm2fmYLYJJ6C4sh6Z+34h7Y/5eLQaiNqj5LUyVYCHixN1Aj2p6evKiPZheP9/IiY9YsLRypSUJScnM3r06PKORQjhAMlZuazaH0vs0R3E/zQL15pNCBw8jWyzhsTMfJr+/8KZQohra926NYpSfBECIURhBWuTnUvK5lxSNkdjM0jN/bfUfbEJ2e6VpG1ZjGebe/DuMca2TFNRXNTg46bD302LCjBbFS6m5NIv2Kvck7FrLX4tRFHKlJQ1a9aMI0eO0K5du/KORwhRgd5ce4zFf1/EYrWQ/MdCXGo2I/i+aVhUzmicVPhJyXshhBA3WVyGgaMxGUSn5XLgcjoWq/Wa7zFnpZC+/Vs8O9yPd5eRJSZkXWv7Eeiho0/jIHRqZ3ZeSCbC353UHFO5LwR99eLXwZ4u9GwQJImZKJUyJWVDhgzhwQcf5JVXXqF27dqF/kPo3LlzuQQnhLh5Pvz9FAv/vohitaByUhM47E3Urp4oKmec1So61fEnyEPK/wpRFjk5Ofzyyy+cO3cODw8PWrVqRadOnRwdFgCbNm3iu+++Iycnh+7duzN27FhZzkY4jMFk4eDldM4mZXM8LhOrYiU911Rse0VRQLGi8fAjZMwnqD0DSkzIGgW50bqWL5H+7nSpEwRAtjH/pi0EXbD4tb+7jrjMvHJP+sStq/jlzUswefJkLly4wJgxY+jatStdunSxe90smzZtol+/fnh7e+Pn58fdd9/NqVOnCrV79913CQ0NxdnZmRYtWrBt2zaHthGisknPyePDTWfJOfEn8V8/h9WYg8bDD5XamcahHozqUJNX72qERl2mS4QQt7Vt27ZRp04dxowZw/Lly5k7dy5dunThrrvuwmAwODS2pUuX0q9fP0JDQ+ncuTNvvvkmI0eOdGhM4vZlMFk4GZ9JdGoukQHuqIDULBMGc9HtFUUh/c+lJP8yF0VR0HgFlpiQAbi5ONM23NfWY1WwDlr/JsE3pRerYPHr5GzjTUn6xK2rTL+4DAZDia+bwWKxMHv2bJ599lkuXbrEsWPH0Gg09O7dm6ysLFu7BQsW8Nprr7Fo0SKSk5Pp378//fv35+LFiw5pI0RltONcCpnHtpD8y1yc/aqjcnax7XtvWHNe7NuAMD9XB0YoRNVktVoZOXIkw4YNIzExkePHjxMVFcWRI0c4e/Ysc+fOdVhsZrOZ559/nunTpzNz5kyefPJJvv32W7799lt2797tsLjE7cdgsnA+KZs1B2NYdziWvZdS2XcpjdRcI8ZiRi4qikLalkVk7vwRXXDdayZjAJ46JzRqFZ56ZwBi0w0YTBb0WvX/LwZd/j3ENzvpE7culVKFZyRfvnyZsLAwfvvtN3r37g1AvXr16Nu3Lx9++CFw5T/isLAwhg8fzttvv13hba4lMzMTLy8vMjIy8PT0LKdvRoiSPf7Ku8x/80XcmtyBX9+nbOu5dKvty9JHOzg4OiGKV9mvmSdPnqRHjx7ExcUV2rdq1So++OADtm7dWvGBATt37qRDhw4cOXKExo0b27aHhoYyfvx4ZsyYcc1jVPbvX1QuRRW8KJhzdTQ2g32X0vDQaYhJN6DVqDgWk1VkUQ9FUUj7Yz5Z+9fic8djeLYaWOJ5/fROhHi5oqCiZoAbXesEoFU7kZJrknleosKV9rpZ5rFJMTExfPjhhzzzzDO2bZs3byY/P7+sh7xuCQkJALa10lJTUzl9+jTdunWztVGpVHTv3p1//vmnwtsIUZmYLVYycvM5fuIkX7z1Eu7N++LX72m7BTbnDG3iwAiFqPpUKhWKohRZgdFqtdqtWVbRLly4AECNGjXstlevXt2277+MRiOZmZl2LyFKoyD5Wn8kjs0nEjCYrqRbBXOufFy15OZbsKCQY7JwKTm72CqLuSf+JGv/WnzvfOqaCVmQu4ZmYX4M7xBOi5o+dIzwJzrdwPmUHLt5XkJUNmW6O+zevZuGDRuyfPlyPvroI9v2VatWsXDhwlIfx2q1YjabS3wVJz8/n0mTJtG6dWtatWoFQHx8PAABAQF2bQMDA20JXEW2KYrc4IQjRKXk8v4fp3lr/XHWRcEPazbyzKtvo1L9ewkY2T6Mal6yWKYQN6JOnTq4uLjw7LPP2g2tP3ToEC+++KJtVIcjGI1GAFxd7Ycmu7u7k5eXV+R7Zs+ejZeXl+3134RO3H4MJottGGBJiip4Af/OubIoCq1qeBPg5oJeoyIvv/iBW64NuhA0fA4ezfuWeE6tGlx1zmTk5pOUbSTHaGFfVBqh3noi/Nxknpeo1MqUlD3//PO88cYbhcagjxs3jv/973+lPs64ceNwcXEp8XXu3LlC77NarYwZM4Zz587x/fffX/PJo9VqvebY44pqIzc4UdHMFivf741i5ZLP2bv6S84n5nBeU52Zgxqzc2o3PhrWnJ1Tu/HGYOklE+JGOTk58c033/Dzzz/j7+9PZGQk1apVo3nz5jRr1oxJkyY5LDYvLy8A0tLS7LanpKTg41P0eoRTp04lIyPD9rp8+fJNj1NUXsX1fhWluIIXBXOu7mxUjR4NArmYlMXppNxCc8kUq4Xk9R+Qe24PKpUTLtUbXTM+F2cVQZ4u+LpryTVZ6BDpR6iPnra1fOnbJFjmeYlKrUwl8ffv38+6desA7BKQiIgIzp49W+rjLFq0iEWLFl3XuRVF4dFHH+WPP/5gy5YtRERE2PYFBwcDkJiYaPeepKQkqlWrVuFtijJ16lQmT55s+zszM1MSM3FT5Rgt/LLkY3Z+9wl3PPg4gZ46krOuPEGs5uXOoBbSOyZEeerYsSOnTp1i48aNnD171lYSv3Xr1g6Nq1mzZsCVXruCHrvc3FzOnDnDY489VuR7dDodOp2uwmIUldv1lHsvSL7Sck24aNSk5ZowmNTkmS0oCqzYG8WaA7HEZBoLvVexmEn+ZS65Z3agjyjdfzcuGvDUaXF11tClTgDuLhpSc0zUD/Ig2Ev//5UXpTS9qLzK1FOm0+kKPWkDOHr0aKHhfOWpICFbv349mzdvpn79+nb7fXx8aNCgAVu2bLF7z5YtW+jYsWOFtymKTqfD09PT7iXEzZBnMhOVnMPbb77GX999Qushj9Fx2AQSMo34e+hw08mTQiHKw8GDB+nRowcAUVFRzJ49G71ez+DBg3nuued47LHHHJ6QwZUHpx07dmTevHlYLFd6OD755BPgyvqjQlzL9ZR7j0kzsOlEPJeScth2KpHVB2L4ZMsZvt19iek/HWLRnxeKScjySVr9NrlndhJw90u41S957Vt/VzXeLmr83V3wd9cR6qOncx1/+jWWnjFRtZSpp2zQoEFMnz6dRYsW2XrKTp48yfjx47nnnnvKNcACiqLw+OOPs3btWv744w/q1Kljm3OmVqttcTz//PNMmDCB3r1706FDB+bMmUNmZiZPPPGE7VgV2UYIR9hyIoF3Np7i3N+rOfPTPEY89RJN73qY5CwjkYFuDGsdJmuQCVFOnJ2dbXOJExMT+emnn5g6daqDoyrakiVL6Nu3L3Xr1sXf35/jx4/z5ZdfEhQU5OjQRBVwde/X1RUV/+tcYjZTVx7mUkoOOmc19YI8iAhwY/+lNJw1Kk7EpGMqZgpZ6h/zMZzfS8CQ6bhGtikxHifA190FvbMatZMTJquVWn5u0jMmqqQyJWVz586lb9+++Pn5YbVaqVWrFpcuXaJNmzbMmjWrvGMErlQ7LBjq2KJFC7t9CxYsYMyYMQCMHj2arKwsJk2aREJCAk2aNOG3336zGyJYkW2EqGgr9kYxdeVRzFYFVc0O1BjyIrkN7uKJrhFYFBVuOrUkZEKUo8jISBITExkxYgQajYaYmBheeumlIttWr16dp556qoIj/FedOnU4efIku3btIjc3lzZt2hQ7n0yIolwr2TGYLHy/J4oziVlonFTkGs2cTsjk8OVUMvPMWFFhLL6OG57t7sO1Xmf04c2vGYuPm4aWNbwJD3QnIycfL1dn2kf6l+FTCeF4ZV6nzGq1snHjRvbu3YvVaqVly5b0798ftVq6iK+HrPkiylO2wUS3dzdzdsMS3Bt2R+tfAycVVPfRs2xse2rIgtCiiqus18w9e/bw8ccfc+rUKY4fP07btm2LbFevXj3bkMGqqLJ+/6LyiE038O2uS/x2PJ7Y9DzcdBqsFgupOWaKy8WspjzS/1yKd+fhOLlce56zTgXueg1hvm4MaVWdAU1CSDeYOHg5ndQcE75uWprX8Lb1mAnhSKW9bpappwyuVJjq168f/fr1K+shhBDl7GJyDudXfUjmgY1ofUPQ+tfAooCrVkOAh5QAFuJmadOmDUuXLuXgwYNMmjSJP/74w9EhCeEQPq5a6le78sMzx2TG20XL4u0Xik/IjLkk/vgapsTzuDXsji6kXonH1wHBvnpq+LjSubY/A5qE4OuuJc9sITXHhJeLM3+fTuZCcg71gzxkTpmoMsqclAkhKheLxcLb054l/eBGAu96BrdGvbACGicVL9xZDxet/OcuxM3WvHlzuwJQQtwuDCaLrdJigxBPGoR44q3XsuDPc+TkFZ2SWY05JPzwKvnJlwm6//VrJ2ROUM1Lj95ZjbPaCW/9v/PaCoqQnEzIAhXU8HG9ZoVIISoT+ZUmxC3iiSee4NtvljHpzY/4h/pk5ZnRa514sW99ejSQSfxCCCFuDoPJwoYjcZxKzCLXaMbfXYfZopCUaWDD8Tjyi3iPYjGT8P3LmFNjCXpgFrrgOiWeQ6+Bal4uWK0K+VYFjdqJ6AyDLekqKELSIMSTQ1HppOSaZKFoUaVIUiZEFWW2WMkxWmyFOx566CF69+7N0KFDyTaYiEo1EOarx10vNyQhhBA3T1yGgb/OJpNtNBOTlkuAh46d51LIsxRftkCl1uDe9E50wXXQBkWWeHydGtx0anKMVsxWK54qFc5qFRF+bnZJl16rJiLAnWAv/TUrRApR2ZQpKYuJiSE0NLTIffv376dly5Y3FJQQomRRKbl8vzeK+NQszmxbyYevT6N79+62/e56LQ1DJRkTQghxcxhMFuIyDADkmayggFqlwqwoHI5OLzYhs+SkYTi3B/emffBo3rfU5zOZoW41V9x1GoK99NzdPIRmNXyKTLqkHL6oispUF7tp06asXLnSbpvVamXOnDl06NChXAITQhTNbLHy/d4oTkensua9KaxfPI8PfvgNs8Xq6NCEuO2lpqaSlZVV7P4dO3ZUYDRC3BwGk4Vfj8bxwe+neWfDSfZdTKV5TW9AwVevLXYOmTkrhfhvppL+1zKsednXPI+KKz9U3V00uOrU6NROuDiraV7Du9iETIiqqkxJ2bRp03jwwQcZO3YsOTk5REVF0bNnT+bOncsPP/xQ3jEKIa6SkmPkTHQKm/73HBeP7OaBaf/DpVptcowWR4cmxG3v/PnzNG/evFDylZGRwYgRI3jmmWccFJkQ5Sct18SZhCxiMwxcTstl+/lkavrqqR3kQYi3DmMRzwjNmUkkfPsSSn4eQQ/OvmbpexXgrVdT3VtHuJ873Wr70yHSj1r+bmhlrU1xCyrT8MUpU6bQs2dPHnroIZo2bUpqaipt2rTh8OHDBAcHl3eMQoj/t/NcCrN/OcSmDydjiDlJ/ykf4B7ZCn8PHW46eWIohKM1adKEu+66i65duzJ9+nReeeUV/vnnH0aOHImXlxfffPONo0MU4ob5uGrx0juTnWfGVavBmG9l1/kUsgz5/Hk6sVB7c2YSCd+8hKIoBD30Ns7e1Yo8rhOACnRqFV4uzjzSOZzeDYPJzMtHp1bzz/lkqvu6kZxtlKqK4pZT5kIftWvXpkWLFnz//feoVCpGjRolCZkQN1Geycy7G08Sl2XGOzQC/24jiHWNoJOfK8Nah6GRJ4dCOJxOp+PDDz+kX79+PPLII3z//fecPXuWp556irfffhudTufoEIUolavnjP13EWaDyYJKgSAPF9JzTRy6nMY/55IxFjOPzEnnhja0Pj7dHkbjGVjsOXUaABUajROBXi50rRtIZKC77ZwXkrOJy8yTqorillSmpGzXrl0MHz4cvV7PwYMH+fvvvxk/fjzr16/n008/xdvbu5zDFEKcjU7k/NG9BNVtTq2Rz5OeayIv38KwNjUI83N1dHhCiKvUqVOH6tWrc+jQIby9vbn77rslIROV3tVrjW07lchfZ5NBgc51/enXOBi9Vo3BZGHVwWi2nkki32zhUloO6Yaih8/np0SDSoWzbygBA58v8dx1AvR0qxvE2cRsLIpCn4bVqOapJzbdYKui2LNBkFRVFLesMj1a79KlC/3792fPnj00adKEJ554gv3793Py5EmaNWtW3jEKcdtLTU3l4aEDOfnNm6SkZ5NhMJGem4+/u45gLxdHhyeEuMqSJUto3rw5YWFhXL58mXHjxtG7d29eeOEFTCaTo8MTokgGk4XNJxJYfySO9YdjOZ2QhUVRsKBwITmHuAwDsekGLiTlsO9SGsk5Ro7HZ2EoZj6zKTmK+G9fIvX3z695bg0wsn0tptxZn1cHNeK1uxszoGkIO84ls/5IHJtPJGAwWdBr1YR46yUhE7ekMvWUrV69mn79+tltq1+/Pjt37uTll18ul8CEEFckJSXRu3dvYmJiWLDsR1ZFaUjNMVHdR8/zd9bHRSvLDQpRWRw4cICnnnqK999/n3HjxgHw1ltv0bdvX0aOHMnJkydZs2aNg6MUorC0XBNRabm4OKtJNZjwdnPmQkoOWo0T1b31HIpKJz4zj9RcI+eTsskymDGarBSVkpkSL5Dw/cuo3XzwH/jcNc8d7O1CpzoBtnXGAGLTDcRl5uHvriMuM0/mkIlbXpl+zf03ISug1Wp55513biggIcS/EhIS6NWrF8nJyWzZsoXGjRsz1GQmKctEgIdWEjIhKpnAwED2799P3bp17bZ37dqVw4cPs2DBAgdFJkTJXDRq4tMNnEvOIcxXT4MgL8L93Qh019GkuhfbTiVxKTmbHRdSSM02YbIUnZAZ48+S+P0raLwCCRz2Bmq9Z7HndNU4UcPPlS51/FGpsBuq6OOqJdjTpcxzyAqGYspQR1FVlPsvulWrVjF48ODyPqwQt6WcnBxcXV3ZunUr9evXB8BFq6GGnyRjQlRGoaGhxe7z8vLi+edLnlcjhKOkG0ykG/Jx1WpIyjLhqTdQv5onydlGXJzVODnBroupZOTmY8i3Yi66pgfWvGycA2oSOOTlEsvee2hV9G0cjJerM3UCPdhzPpXoDAMRfm70bRJ8Q3PICoZiFiR0PRsESWImKr1y/2V3zz33oCjF/JcqhCiV6OhoPDw8iIiIYNeuXahUKkeHJIS4QWlpaezZs4c+ffo4OhQhiqRWOaHXqlAUhUB3HcnZRoI9XdBp1CSk55GeYyI9r5iiHsmX0fiGoA9vjkvNZiXet0I8dFT3cyXEW4+VKwnhsdhMVCoVMWkGmoV5ExHgjl6rLtOQxbRckwx9FFXOdSVl6enpNykMIUSBixcv0rNnT9q2bct3330nCZkQt4hz584xbdo0ScpEpRTspadzXX8uJOdQy9+N7nUDyTNbcNGoWb7rEuuPxRWbkOVFHSbxx9fx7vwQnm2HFHvfctM64eumI8zXleo+etRqFbV83TgVn4kp34pOq4ZyeK5/o0MfhXCE60rKfHx8blYcQgjg7Nmz9OzZU+ZnClHFmM1mkpOTS2yTkpJSQdEIcf30WjX9GgfbDRc0mCzsvpDMmoMxJGWaisyXDBcPkvTTG+hCG+Deon+xx/d1ceLetjUZ3CwUk8WKp4szO84mE5dhoE6QBzX93IhJN1DL341grxvr1ZLy+aIquq6kLCgoiDfeeKPERaIHDhx4w0EJcTs6deoUPXv2xMPDg02bNpU4N0UIUbkcPHiQNm3aXLNdq1atKiAaIcrm6uGCBpOFDUfi2HA0nospOUUW9TCc20viz7NwqdmUwHumo9IU3SPlplXxfL+GDG5RHYC4DAMHL6eTZTTj7qKhe91A9Fp1uSZRZR36KISjXFdSNnbsWBISEmxlfoUQ5Wfbtm34+Pjwxx9/UK1aNUeHI4S4DtWqVcPLy4sffvgBJ6eilwA9ffo0ixcvruDIhCibC8nZrD8ax4n4dPKtRbfJPf0P+lotCbj7JVQa5yLb6Jygeag37SL8ANh8IoGTCVnEpBroEOlHRl4+eWYLvu5aSaLEbe26krLx48czbdq0Ets888wzNxSQELeblJQU/Pz8GD9+PKNGjcLFRRaDFqKqqV69Oh07diQ/P58BAwYU2cbb21uSMlGpFFc2PibNwHe7LnE4OpXELHOh91kMmaj/r737jmvq+v8H/sqAkLD3BhEUEBC3dSu4B+5tqxWtWq1Va+to62i1Wq1aqx9HVWzdW9x7gtq6cOFWEGRvAiSEJOf3h1/uz5iAYJGAvp+Ph4+HOfd9b965Cbl533vuOWIzWHUaDzA1eALdBZkhACtTQ7hYimEhNuQG4HC1lCAhS4a4rAL42JuWes8XDW1PPha6T+eVwN3dHVu3bi015vfff/8v+RDyUbl58ya8vb2xY8cOAKCCjJBqbOrUqbhz506Jyx0dHTFixIjKS4iQUsgUKhy7l4TtV+Nw7F4SZAoVZAoV7ifkYt7he9gX9RIpUqXWfWT59y8gYU0oFKkx4PEFOgsyHoAGrhao7WgCb3szyFUM2TIFNwBHrrwIrbxs0Lu+c6nD1RcPbX/0bhLOPkiBTKF7oBFCPgQVMiR+eno6bGxsKmJThHzw8mQKxGXKkPL0Lnr37A4fHx907txZ32kRQv6joKAgBAUFlbjc2dkZEyZMqMSMCClZUo4MkY/ToQJDQqYMPg6miEnLx+kHSTj7MBWFOuqfvHtnkHF0OYz92sLAxq3EbduZGMDTzhiZUgWMjAQQ8F5dAyjvABw0tD35mFRIUWZra0tzkxFSBruvxePXEw+Q/uQO4nfOhrevP06ePAkzMzN9p0YIeQ+KioqQlZUFOzs7fadCiDYeXg1BzwNyZUV4mJyLq8+zdBZk0tsnkXl8BUzqdoBV5wng8XR3tjIz4sPeVIz0vEIIBXyoVAxNvKy4ERXLMwAHDW1PPiYVPnk0IUS3sw+SMWP/XRSp1Ei9sBmG9p4wDvkBfAPqskjIh+r27dsYO3Ysrl+/ru9UCAHw/+/RshAboomHFR4m58LHwQymRgY4dT8FCbmFWuuoFTLkRG6BSf2usOowpsSCTCQAjIQCGBsJYWpkgCY1rJEilaOJh9U73Q9GQ9uTjwkVZYRUArlCicUnH6OoqAh8gRB2vWeCLxAiXyVAXKYMdZzp7B8hhJD3q/geraRcOayMDcFjgJDHw7NUKQ7fScTDlDytdZhKCb6hGA7Df4fA2LLEiaH5AGzNRHAyE2PIJ64oUgGZ+Qr42Jv+p3nHaGh78rGokKIsNDS0IjZDyAcrTarAy9uXkBS+EnaD5sPAzBYMgMRICDcrOtgQQgh5/16/R+tZWh5khUo8TJbiUbIUWTKFVnzOv3sge3oV9gPnQ2hiVeJ2RXyAz+dByOPBztQIRSqgbW07yJUqusJFSBlVSFG2fv36itgMIR+sf8+fwP3Ns2Hi2QiGxhZQAxDyeZjWyRcmYrpKRsiHys7ODgMHDtR3GoQA+P/3aMVlFsBSYoDs/ELceZmN/EKV1uTQ2Ze2IydyK8ybDwIEun8uSgSAyFAAYyMD2Bgbwt/JHIGulsjMV0CuVMHJgk46ElJW5SrKfvvttzLFTZ069Z2SIeRDtHfvXgweNAht2neFedcpyJSpIBEJ8W3H2gjypUmiCfmQubm54dtvv9V3GoQAeNUVsJmnDbLyE/EypwBXYzKR+8aoHowx5ERsQc6VnTBvORQWLQbr3JaNRIBxbWrB084EeQolfB3N8TAplwblIOQdlasoW7hwYZniqCgj5JW0tDQMHz4c/fv3x6ZNm6BUv+rKaGtqCCNDuqWTkA9FUlISNmzY8NY4JycnjBw5shIyIuSV1ydfBoAXmflIyZPjfmIuYtLzteILX0Yj58pOWLQdAfOm/bSWWxnxYGsugZ+TBUyMDPA0PR+OZkZwshDDyUJMg3IQ8o7K9aswPT39feVByAfJ1tYWFy9eRGBgIAQCAYQAXK2pGCPkQ5OWloY1a9a8NS4wMJCKMlKhXi+63iyEigf2iMssgMiAD4mhEKm5clx5mo7HyblQqLW3Z+TqD4fPlkLkWFtrmSEf8He1RtOalkjKLkRsZj68Hcy4OcScLMQ0KAch76ha/TqUSqUICwvD5cuXIRQK0bJlS4SGhsLQ0LBcMcuXL8ehQ4c0tu3h4YF169ZptF2/fh2rV69GSkoKAgICMHXqVFhbW5c7hnx81q9fj+vXr2PVqlVo0KCBvtMhhLxndevWxcuXL/WdBvnIvD6aoqOZEYJ87TUKs6wCBeIyC5CSK8fTtDyYGAoR4GKOVGkh8hX/f35ZxtTIOr0WBjbuMK3fVWdBxgPgZCGGkZCPCw/TYWsmgoD3ahJqN0sJdVck5D8qV1HWqFGjMsW9j/lY1Go1AgIC0Lt3b/Tt2xcFBQWYN28e9u7dixMnTkAgEJQpBgAePHgAhUKBWbNmcds3MTHReL7Lly+jXbt2GDduHDp27IhVq1ahRYsWuHHjBoyNjcscQz4+//vf/zBhwgSMGzdO36kQQoiG1atXIyEhQaOtQYMG6NOnj54yIqUp7SoY8H9FV1YBjAwEiMsqQFaBQuNKlaXEECZGQtyIk8HdSgJpoRKxaXnIL1RyA3swpkbm8ZXIu3MKVp0n6MzDwcwA7lbG8HU0g5OlGBcfpyPQxQIqNcMnNa3h42BG3RUJ+Y/KVZS1b9++xGVZWVnYtGkT5HL5f05KFx6Ph6ioKFhaWnJtAQEBaNSoEa5fv46mTZuWKaaYnZ1dqa9n5syZ6NatG37//XcAQNeuXeHk5IT169fj66+/LnMM+bgsW7YMU6ZMwaRJk7B06dIS53MhhHxYoqOjyzTKor+/P3bs2FEJGem2YcMGWFtbo1WrVlybgYGB3vIhJXvbVTDg1UTN6dJCPE/Ph52pCIxpF3LdApxQpFQjIUcGM5EBHqXkIKtACQBgahUyji1HfvR5WHebBBP/YK08BAAY48PZwgi+jubIzFfA294UKsbgZiWhgoyQCvKfB/qQy+VYsWIF1q5dC1dXV8ybN6/Cknsdj8fTKLYAcN0E8/PzyxxT7ObNmwgJCYG5uTlatWqF0NBQ7kqaTCZDREQENm7cyMWbmpoiODgYJ0+exNdff12mGPJxOXz4MKZMmYJp06ZhwYIFVJAR8hGxtLREv37agyIUe/jwIXbt2gUjI6NKzEq3du3aYfr06fpOo0p72xWqyvD6nGLF92y9eb+WXKmCufjVcPSp0kKcuJsECxNDZOYrNAo5iUiImLR8RCflIC1XgeJbyXIu70B+9HnYdP8GxnXa6MxDKAAMhDxIC9WoZW8C3v/NRcbjgQb0IKQCvfM9ZWq1Gps2bcKsWbOgUCgwf/58fPHFFxAKK+82tcWLF8PGxkbjClhZYkQiEXr06IE2bdogISEBP//8M3bt2oWTJ0+Cz+cjPj4earUaLi4uGttycXHBuXPnAKBMMboUFhaisLCQe5ybm1uu10yqrs6dO2Pnzp3o378/FWSEfGScnJwwZ84crfakpCTMmTMHe/bsQXBwMH799dfKT+4NV69exc8//wxnZ2e0b98ebm5u+k6pSinLFarKUDynWGlDzFtKDGFpbIg7CTlws5IgLb8QWfIieNqacIUcACRky5AjU2gUZABg2jAEIicfiGs21NiukAfwGCAR8SErUsNQwIeAz8OtuGyoAb3uF0I+VO9UQR09ehTTp09HbGwsvvnmG0ydOvWd7qFavHgxTpw4UWrMpk2b4OTkpNW+YcMGrF27FgcOHCjxuUuK+eWXXzQet2/fHv7+/ti3bx/69esHheLVl5hYrHlGSiKRcMvKEqPLggULMHfu3NJeMqlGGGOYN28e2rRpg9atW2PAgAH6TokQUgXk5uZi0aJFWLZsGby9vXH06FF07NhR32mBz+dDLpcjPz8fu3fvxoQJE/Dnn39i2LBhOuM/xhOJZblCVRnEhgIE+dqXesWuuHsijwFShRIOpkZgPCApWwYTIyEYA3IKimAo4CE5Rw41AKYsQubZdTBv2g9CczutggwA+DxALBJALBTA0IDBQmwIkQEfiTky1LY30+t+IeRDVa6i7OrVq5g2bRouXbqEMWPG4MyZM7C1tX3nJ+/WrRvq169fasyb3REBYMuWLRg3bhw2bdqEbt266VyvtJg3izhfX1/UqFEDN2/eRL9+/bjnzMzM1IjLyMjglpUlRpcZM2ZgypQp3OPc3Fy4urqWGE+qLsYYpk+fzv3wat26tb5TIoTomUKhwJo1a/Dzzz/D1NQUf/75J4YMGfLerp6vWLECKSkpJS4Xi8X4/vvvucdbtmxB7dr/f2S9n3/+GWPHjkXHjh1hZ2entf7HeCKxLFeoKkNZulDKFCrIlSp0resEuVIFS4khZAoVjt5JRGa+Av879wRp0kLkFSqQK1OAKRVI2/8LZC9uQ1K7OYTm2u85ADiai2EuEcLd2hgpOXL4OpojRSpHQpYMmflFaOVlQ6MtElLBylWUNW3aFEZGRpgwYQJq1qyJnTt36oybMEH36D1vqlOnDurUqVOeFLBt2zaEhoYiLCwMQ4YMeeeY16nVamRmZnJ9/Z2dnWFra4ubN29qFHQ3b95E48aNyxyji0gkgkgkKtNrJVUXYwyTJ0/G8uXL8fvvv9M9hIR85Bhj2LFjB3744Qfk5ubihx9+wLhx4zSmY3kfRCJRqfepvXm8eb0gA4DRo0dj1qxZuH79Orp27aq1/sd4IrEsV6jet7J0oSwpJqtAAblKDSNDPv55ngGpTAF5kRI5+XKk7Z2HwoQHsOs3G+Ia9bhtGfEBHg8QCnhQKBmUjCG/UImELDmkhQpEJ+WADx46+zsiS6ZAoJsFdV0kpIKVqygrHjRj06ZNpcaVtSgrrx07duDzzz9HWFgYhg4d+k4xRUVF+PPPPzF27FgIBAIwxjBnzhxIpVL07t2bixs+fDg2bNiAMWPGwM7ODkePHsWtW7ewcuXKcsWQD9OPP/6I5cuXY/Xq1Rg7dqy+0yGE6NnNmzcxZMgQ2NraYty4cSgqKsIff/yhFefg4FBiV8F38cUXX/yn9dXqV3cYyWQyncs/1hOJYkOBXrvmlaULpa4YwBDyIhWsjA1x80UmkrMKUKB6ddIgbd98FCY+hF3/OTByC+C2wwfQxtcWiZkypOUXwpTHg6etMeIyC1CoVKFICVgbiyAU8JAlU8DH3hSO5tRtkZCKVq6iLD09/X3l8VY5OTn49NNPYW5ujo0bN2qMevjNN9+gS5cuZYoRCAR4+vQpnJ2d4eHhgZcvX4Ixhp07dyIg4P9/Sc2dOxfR0dGoVasWPD098eDBAyxatAgtWrQoVwz5MA0ZMgS1a9fGZ599pu9UCCFVgIGBAZydnQEAYWFhJcYFBgZWaFFWHomJiVAqlRoDe6xatQoikYiOW1VMWQf5cDQzQlxmAXf/2LF7SYhJz4etiQgGfEDxf5OR8Xg8mDbsDvMWg2HkotlDydpEiAeJUvB5PHjZmoIHHopUDPZmRkiVFsLBTASFSo2mNW3Q1tsOjuZiukpGyHvAY4yxt4eVnUwm0xr8oiIUFRXhwoULOpfVqVMHTk5OZYopJpVKcf/+fVhaWsLDw6PEeVoeP36MlJQU+Pr6wsbG5p1jSpKbmwtzc3Pk5OTAzMysXOuSypMnUyAmLQ/hm9dgyqSvaXJwQvSEvjPfXWxsLEJCQuDl5YUaNWogKioKN27cwMqVK8t8gon2f+WQKVRIynl19bK0IigzT4GjdxIhVSjBA3AjNgvgA8nZchSp1Lj/Ihl5d07CtHFvnfc18gEYi/iQGAqgYoCxoRD1XC3g62iGvEIV0qRy2JmKYG9qhK51nWBlQveREVJeZf3erLCi7ObNm1i/fj22bduG7OzsitjkR4EOcFXfgagEzD98F492LkTugwjMWbkFs8cN1ndahHyUqvt3plQqhampqd6eX6FQ4OTJk3jy5AmcnJzQrl07nQN8lKS67//qoKz3kyXlyBCfmY9/nmXCxVKC849T8TQtD/mFSiiKlCiSSfH075lQ5qTC8fPlEJppvs+mIj7crIyRV1gEkVCAHFkR6rlaws/JDN0DnWBkIICRUMANIEJXxwh5N2X93vxPk4plZ2dj69atWL9+Pe7du4fWrVvj559//i+bJKRKyZMpMP/QHdzfNg/5T/6FQ6/pOJZli29kCpiI6YwhIeTtlEoljhw5gg0bNiA1NRX//POP3nIxNDRE9+7d9fb85O3edj+ZTKHCsXtJOP8wFS8y81FYpIa9mQiG/3effI5MAVV+NuK2/gBVXibsB8/XKMj4AIR8wNbUCDWsjWEuFsJQwEduoQo1rCXwtDWhLoqE6EG5izLGGC5cuID169dj79698PLywr1795CVlQULC4v3kCIh+hOTloeHW+ai4PlN+AydDZFnE+TJlYjLlKGOMxVlhJCSPXnyBGFhYfjrr79QWFiIrl27Yty4cfpOi1Rxb7ufLKtAgZj0fOTKlXiRkQ+VSo28wiI0cLeEUslgrJYhestMqGW5cBi8AAa27ty6PAAGfMBAwIerlQShrTxQw9oEcqWKrooRomflKsoWLFiADRs2ICkpCf3798eZM2fQvHlz8Hg8KsjIB8nD1gQWHv4wbdAVIs8mKFC8GtXKzYpGniKEaJPJZNizZw82bNiAyMhIBAYGwsbGBlFRURAK/1PnFPKReNuQ/JYSQ3jYGOPq8wzkyVVQM6CgqBDXYrIgL1IiX2UAsas/TBqGQGjtwq1nwAOsTQzBAHjYGIPP44HH49F9YoRUEeU6QsycORNNmzbFhQsXuFGmCPmQPErJxuFbyQiubYaX0TfRvXt3rFg4FwuOPUCeXAkrY0PM6OJLXRcJIRoyMzPx448/Ytu2bZBIJBg5ciT+/vtvpKWlYezYsVSQkXIpbUh+saEAXfwdkScvwoOkXBQoVFAx4OXLeCilGTBy9oVT9y+hUgIGQh4KFAwGAkBiKEBdZwsYiQSQypWoaWMMdysatIqQqqJcR4m5c+di48aN8PX1xeDBg/HFF1+gYcOG7ys3QipV75URiHqZC7VChu9Hz4Uq7TkS42LRs74zgn1sEZcpg5uVmAoyQoiW58+fY9WqVRg8eDDWr18PiUQCAEhLS9NzZuRDUzzIh0LFYCoWIl+hgiI7GSk7vgdfJIHjiOUoUPBhwAO87U2RJVNCLBSglr0JatqZoL2vPQqVarhbGdNVMkKqEH55gmfNmoXnz59j7969yM7ORvPmzdGgQQMAoBEXSbW28/qLVwVZYQFSd82CIuUZrPvOQab61VQJJmJD1HE2p4KMEKJTrVq18O233+Ls2bNwd3fH1KlT8ejRI32nRT4wxSMz7r4ejwuPU2EhNoREnoqUbdPB4/Nh13cWeDz+q8E8BHw4mIkxooUH+jZwgbejGTxtTOBhY4L6bpZUkBFSxZS7PwWPx0OHDh3QoUMHZGRkYPPmzSgqKoKdnR3atGmDXr16Yfz48e8jV0LeC7lCiSUnHkMtz0PKrllQZibAfuA8iJy8sfvfl/ghxELfKRJCqjhzc3MsWrQI8+fPx6FDh7Bhwwb4+fmhdu3aAID8/Hya35CUi0yh0rqvLClHhpvxWYjPLMDTFCkyE2LwfNMM8EUS2A+cD4GpNQDAQACYi4UIrmOPLgGv5mgt6R41QkjVUK4rZW+ytrbGpEmTcPfuXURERKBGjRqYMWNGReVGSKVIkyqgVKnBmBo8AyPYDZoPkZM3AMDZkgb0IISUnYGBAfr06YMjR47gxYsXGDJkCORyOWxsbNCjRw/s3r1b3ymSaqD4itjRu0k4fjcJz9PykJAlw6l7yYh4lIpzD1ORlqtAnrwIQitneHy2EBJLa4gEgIVEACtjEZrWtEJbb/v/uz9NACcLGuaekKqswiaPLkZnA8uHJuLUv/iEJISGXcLjfDEYY+DxeNyy69+3g42pRI/ZEUJeVx2/MxljOHPmDDZs2ID4+HhERkbqO6V3Vh33f1Wn64pYYrYMR+8mwczIAP88z4CdmQhZ+Qo8SZXicVIuspLiIDS3Bc/ACHzGYCDgwcVKAqWawdVKjIbuVhjQyI1OLBJSBVTK5NG6UEFGqpPk5GR07tgeBhIz2Pf6CSlSBbdsQjtPKsgIIf8Zj8dD+/bt0b59e8jlcn2nQ/Ts9SIMAM4+SEFcZgFMjIToFuAEKxNDbq6yhylSgAHWEkPcT8yFVFaErLjHSN71I4z9g2EVPBrg8cDj82BiKESAizlMjQzQs54zFWSEVDM0Ri/5aCUkJCAoKAh5eXk4u28f3D088Sg5B4nZCjT2MKeCjBBS4YyMjPSdAtGj4m6JxRND+zqZIS6zACm5ctyIk4HHgL6NXLm5yjxsjXHmQQoep+SiSKVGzP1bSNrxAwxsXGHTagjEBnwYiwQQGwgQ6GoORwsJ3KwkcDSngoyQ6oaKMvJRiouLQ1BQEIqKinDx4kV4enoCAALdrBHopufkCCGEfJCyChRIypXDxkSEpFw5fJ3MYGIkxI04GZwtxJAqlMgqUHBzlN2Nz8Hp+ylIyJYh/UkU4nbOhaGdBxz6zYHYxATOlmJk5hfBXGIALwcztPSygaM53TtGSHVERRn5aMgVSqRJFbA1NcTdu3chEAhw+vRp1KhRQ9+pEUII+QgUd0ssvlJmITZEQ3dLFCnVKFSp4WYp4bo1ZhUocPVFBuIzC5CvUCInNhqGDrVeDXtvaARrYxEauFkiOVuONj52UCjVMDIQUEFGSDVFRRn5KPzzLAMLjkQjLjEJro4OmNn9E9y9exeGhjRPCyGEkMpR3C0xq0ABI6EAV56lIylXDitjQ9RztdC4ysUY8Dw1H5kZaYDEEmbNBsD6kz5gfANYSAxQz80CAxq6ITYzH5n5CjiaGXEFHSGk+vlPQ+ITUh3IFUp8veMmrt+5j7v/+xIR4X/j6x03oaaPPyGEkEpWPDy9XKniujKm5MqRIyuCTKFCYrYMmXkKRMVl4uWdS4hbPQrKF7cgMeDDwcoENqYitPa2QYFCBR4f6OLviK4BjgjytaerZIRUY3SljHzwHqdIEf/8MVJ2/ACBxBwm/kFIkSrwOEWKuq6W+k6PEELIR6i4K2NcVgHSpYWIeJyGw7JEmEsMkJ5XiH/PnsCNsB9g4tUY1rUCYW0mRoCzGQR8HnLlKrhbSeBuZfx/85DRwB6EVHdUlJEP3sUr15CyfSYEpjawH/gzBBJzAK/mgaGijBBCiD4Ud2V8mJyLf55lQGwowJ2EHPgYmOLU4XD8u3EuajRoB78hM8H4AhgZCJBVoESLmtYIdLNAbXszWJlQd0VCPhTUf4t88CIPbIKBuT3sB83nCjIBD2hUw0K/iRFCCPmoiQ0F8HEwg5uVBLmyIpgbGeBxcjYeHN8ElwbB6DpxPno2cIerpQRZBUXggb0aEMTamAoyQj4wdKWMfLAKCwshEonwd9gGLDpyB39fT4VSDQj5wNg2NDE0IYQQ/RMbCtDM0wZZ+Qpk5uYjXyHEz3/uQp7KAO18HWBnZoSCIiWMRUJk5CtgaWxIA3oQ8gGioox8kCIiIjB48GAcPXoUdevWxY99GmNchwLcjpci0NWUCjJCCCGVTqZQIatAAUuJIcSGAu5xdoECB3ZtwuXwTej5YxgUAnvUdTJF4P91sfe0MYGBgI96hkJ0DXDiBvR4c3uEkOqLijLywTl37hy6d++Opk2bcpNCA4CNqQTBdagYI4QQUvlkChXOPkjh5ihr5mmDK8/SEZdZgIPbw3B83QLU6zwIrf3c0cTTWmN4/OJh9F8vvt7cHo2+SEj1RkUZ+aCcPHkSPXv2ROvWrbF//35IJFSEEUII0b+sAgU3BH5SrhwvMvORlCvHxX0bcXzdAgT3H4kWQyehrpsFatqaaKyra4TFN7eXVaCgURgJqcZooA/ywZDJZBgxYgSCg4Nx4MABKsgIIYRUGcVD4KfnFcJaYgiRQAB5ajx2rfoVLfuOQp1eX0IqU+FhshQyhapc26OJowmp/uhKGfkgMMYgFotx7tw5eHh4wNCQDk6EEEKqjuIh8B8k5uL84xTEZebD1cMTh89egpunD47fT4abpQSZ+YoyXfUq3h7dU0bIh4GulJFqb9euXejZsycKCwvh7e1NBRkhhJAqKTNfgbBLz/DHovlYv3QeXmYWIDCwLmramcDH3hQ58qJyXfUSGwrgZCGmgoyQDwAVZaRa27p1KwYPHgxzc3MIBHRQIoQQUnXIFCokZssgU6ggU6iw70Y8Dq1bjBdntkAuNAWfx+OucgX52qNrgCMN2EHIR4q6L5Jqa+PGjQgNDcWIESOwbt06KsoIIYRUGW+OjujjaIo9/5uHuAu7UKvXBHTqPwK9G7hwBZiuwTwIIR8PKspItRKbkYuz99NhLX+BkSNHYsyYMVi1ahX4fLroSwghpOp4fXTEuKwCnAnfiovhm9Hnqzlo13MIugQ4gsd7VbzRlTFCCBVlpNoI3XgVZx6lAXg1sEeHiYux+vdvwOPx9JwZIYSQsviYJjsuHh0xLqsASTkyyN1bIuS7P9CtWzd0CnDErbgsmmOMEMKpdkXZw4cPceXKFQiFQjRr1gxeXl4ay0+fPo1bt25ptNnY2GDEiBEabQUFBThy5AhSUlIQEBCANm3aaD1XRcWQ/+74nQSceZSG3GvhEBhbwrhOGzwW++JFphQ1rM30nR4hhJC3+BgnO65lJ0HY4h/g3LQbDGxrokb9lsiSFyFVKqc5xgghGqpNny/GGHr06IG+ffsiIiICR44cQUBAAObPn68Rt2fPHqxbtw7Jycncv4yMDI2YpKQkBAYGYv78+bhx4wb69++PYcOGvZcY8t8tOnYfY7fdQs6VXcg6ux6K9Dhu2dn76XrMjBBCSFnpmuz4QyVTqHDyzksMHToU4Ts2QZ6ZCKZmEPB4qGltDHcrY5pjjBCiodpcKWOMYcyYMejevTvXtnv3bgwYMAD9+/dH7dq1ufaAgAD89ttvJW5r2rRpMDU1xZUrVyASiXDv3j0EBgaiX79+6NWrV4XGkP8mXVqAtRefIztyO3IubYN5iyEwbzGYWx5Ux0aP2RFCCCmr4u58xVfKPuRCJCU7D3OnfIE7V86h68RfUbNJe9iaitCspjU8bExojjFCiJZqc6WMz+drFGQAuK6CT58+1WhPTEzEqlWrsHXrVjx79kxjmUqlwr59+zB8+HCIRCIAgL+/P1q2bIldu3ZVaAz5727HS5F97RByLm2DRevPYNFyCHcPWbC3LXVdJISQ1zDGEBERgT179kClUumMUSgUuHDhAo4eParVk+R9+tCGfX99uPs3zZw8Hnf/OY/hP/6BWk2DUdPGBIwBFq8VYDTHGCHkddXmSpku+/btg1AoRP369TXas7KycOvWLSQkJGDkyJGYM2cOZsyYAQCIj49Hfn4+vL29Ndbx8fHB1atXKzRGl8LCQhQWFnKPc3Nzy/mqPy6BrqYwrdMKMBDBNLAT175mSD10ruusx8wIIaRq2bhxI3799VcUFhYiNjYWUqkUJiYmGjGPHj1Cp06dIBKJYG1tjTt37mD9+vUYNGhQpeT4oQz7/rb74yZP+hp9+g+CS8AneJFegNxyTgpNCPn46LUoO378OO7du1dqzKhRo2BhYaHVfvv2bXz77beYOXMmHB0dufZx48Zh9erV3NWUnTt3YvDgwWjXrh0++eQTSKVSANDapoWFBbesomJ0WbBgAebOnVvqayavzvYuXLgQI0eOxIRujbDmghVUagYBH/iilQcVZIQQ8oaioiIcOHAADx48QO/evXXGfP755/Dz88OhQ4fA5/OxdOlShIaGom3btnBwcKjkjKsvXffHqYvUWLx4MWbOnAn/wAZINUzBvcRcWBkbIqimHRzN6aoYIaRkeu2+mJOTozEgh65/urpfPHjwAB07dsTAgQMxZ84cjWWBgYEaQ6QPHDgQ9vb2OHPmDABAIpEA0L5ClZOTA2Nj4wqN0WXGjBnIycnh/sXHx5cY+7FSq9UYO3YsZs6cifPnz2NqJx/8M6Mt1n/WCP/MaIfvutTRd4qEEFLlfPHFF1q9N1737NkzXLlyBZMnT+bmdhw3bhx4PB727dtXWWl+EIrvjyseqEOoKkSXLl2wZMkSPHz4UKNoy8xXwMhAQAUZIaRUer1SNnDgQAwcOLBc6zx69AhBQUHo1q0b/vzzzzLNUSUUCrniyd3dHSKRSOtes2fPnqFWrVoVGqOLSCTi7kEj2lQqFUaNGoW///4bYWFh3OfDxlSC4DoSPWdHCCHV1507dwAAdevW5drEYjG8vLy4ZW+iLve6vT5QB79Ihl49uiI6OhonT55E3bp1IVOoPppBTQghFaNa3VP2+PFjtGvXDl26dMH69eu5M33FVCoVnjx5Ah8fH67t9OnTePnyJVq3bg3gVYHWrVs3bN26FWPGjAGfz0dsbCwuXLiAjRs3VmgMKb/Q0FBs3rwZmzZtoukFCCEftVOnTiEnJ6fE5YaGhggJCSnz9oq3ZWlpqdFubW2N7OxsnetQl/uSiQ0FYEqGth0748mTJzh9+jQaN27MLaPRFQkh5VFtijKZTIagoCCoVCr4+Phg6dKl3LJOnTohICAAjDEMGTIEXl5e8PPzQ1xcHLZt24YxY8agW7duXPyiRYvQvHlzdOzYEU2aNMGOHTvQrl07jRudKyqGvJ1SpUZ+oQrGIgHat2+Prl27YsCAAfpOixBC9OrYsWOIi4srcbmxsXG5irLiXhoFBQUwNzfn2vPy8uDq6qpznRkzZmDKlCnc49zc3BJjP0ZisRhdunTB2rVrtQYd+1AGNSGEVI5qU5QxxrhiJzU1VWOZTCYD8Orq1fXr13H48GFERUUhMDAQ48ePR4MGDTTiPT09ce/ePWzfvh0pKSn45Zdf0L9/fwgEggqPIaWLyyjA1itPcenUYbTu0huDuvSBmzV1UySEkNdPPlaEmjVrAgDi4uIQEBDAtcfHx2ucuHwddbnXLTU1FdevX0fXrl3pSiIhpEJUm6JMIpGUOiF0MT6fj5CQkLeePbS1tcXEiRMrJYboplSpseXyE6z9cQISov+FqbMPeDweJrevDaGg2kyhRwgh1ULDhg1hZ2eHPXv2cEVZREQEkpKS0KVLFz1nV30kJSUhODgYeXl5ePToEcRiuhpGCPnvqk1RRj486dl5WPfjOCQ+uIlRP62BvXdtpEsLkV+ogrmEijJCCCmPW7du4enTp7h27RoAIDw8HEZGRmjZsiUcHBwgFArx22+/ITQ0FCqVCvb29vj1118xbNgw7l4oUrqXL18iKCgIBQUFOHv2LBVkhJAKQ0UZ0Yv8/HwM6d8bCQ9vocuU32FfpwlScgvhaWcMYxF1/ySEkPK6ceMGjh07BgDo27cvwsPDAQAeHh7cHGSffvopXF1dsWPHDsTFxWHu3LkYMWKEnjKuXl68eIF27dpBpVLh4sWLXHdQQgipCFSUEb0QCASwtLTAtj0HEGPginTpq4JsYCM36rpICCHvIDQ0FKGhoW+Na9u2Ldq2bfv+E/rACIVC1KpVC3/++Sfc3d3LtI5MoaIRGAkhZUJFGalUOTk5ePnyJfz8/LB3714AmqMvUkFGCCGkKnny5AksLCzg7OyMEydOlHk9mUKFsw9SuLnKgnztqTAjhJSIfgGTSpOZmYn27dujd+/eUCqVXLtQwIe5xIAKMkIIIVXK/fv30bp1a3z11VflXjerQIGkXDlsTERIypUjq0DxHjIkhHwo6FcwqRTp6ekIDg5GTEwMdu7cCaGQLtISQgipuu7cuYO2bdvCxsYW42fMxz/P0pGZV/bCylJiCEczI6TnFcLRzAiWEsP3mC0hpLqjX8bkvUtJSUFwcDDS0tJw7tw5jflxCCGEkKrm5s2b6NChA1zd3DFh0UasuJKCvMIE+DqYYkpHHzhbvn3URbGhAEG+9nRPGSGkTOhKGXnv4uPjUVRUhPPnz1NBRgghpEqSKVRIzJZBplAhOjoatWrVwrb9h5EgE0JaqESBQoUbcVnYf/MlZApVmbYpNhTAyUJMBRkh5K3oShl5b5KTk2FlZYVGjRohOjqauiwSQgipkooH5Yh+8hx+tWqi38AhGDx4MIrUPPikKhEVl4WsIgVq2ZlAzRiyChQQG9IcZYSQikNXysh7ERsbi+bNm2Pq1KkAQAUZIYSQKiurQIELFy9i9medsHfXNmQVKCAUCiE2FCCknjNm9fDDwEauaFzDCp62JnR/GCGkwtEvZVLhnj17hqCgIAiFQq4oI4QQQqqqW/9E4I/vPkdNvwbo1qOXRtElNhSggbslfB3N6P4wQsh7Q1fKSIXJzpdj16l/0Lp1axgZGeHixYtwc3PTd1qEEEJIiU6cOIG+vXuides2OHToELo28NBZdNH9YYSQ94mulJH/LE+mwPIzT7Hln1iknNuMAoUQ3/y6Cc7OzvpOjRBCCClRQaESi35biqDg9ti3dw9EIlGFbl+mUNHVNUJImVBRRv6TA1EJmH80GsmZUvANjGDRcihMm/TGhptZGNlBDgtjI32nSAghhGjJyJbinxdS9Pl2CZytTKDmVexPouLBQ5Jy5XA0M0KQrz0VZoSQElH3RfLO8mQKLDj2AEnPHiJx7WjIYm9BzePB0MgYhUUqPErO13eKhBBCiJadO3fCv4437j1+BmdbS6TL1MgqKPvE0GWRVaBAUq4cNiYiJOXKK3z7hJAPCxVl5J3FZcqQ+iwaidu/h8DMFiIHLwBAEQNEBgJ4OxjrOUNCCCFE0+bNmzFkyBAEBQXD17MG0vMK4WhmVOEjKlpKDOFoZvTetk8I+bBQ90XyzhIf38KLrTNhaOsOl0E/oUjwas4WsZCHKR1qU9dFQgghVUpYWBhGjRqFkSNHYu3atVCo8N7u+RIbChDka0/3lBFCyoSKMvJO1Go1vpk0Eb5+ARB3/x4yZgBLER8DG7kjtKU7FWSEEEKqlLS0NHz99dcYO3YsVq5cCT6fD7EA73USaLGhgCaZJoSUCRVlpNwYY+Dz+Th8+DCsrKzA+AaIy5TBzUoMEzF1zyCEEFK1MMZga2uLGzduoFatWuDxePpOiRBCNNA9ZaRcjh07hhYtWiA7Oxuurq4wNjaGidgQdZzNqSAjhBBS5SxevBiDBw+GSqVC7dq1qSAjhFRJVJSRt0qXFuDM/RRs2bkbvXr1gq2tLcRi6o5BCCGkaps/fz6+++471KpVC3w+/eQhhFRd1H2RlGrh0ftYFxGD3IeXkH5wEQKaB2P37t0wNKSrYoQQQqomxhjmzJmDn376CT/99BN+/PFHfadECCGlotNGpEQn7yZhzcUYFGanIP3gIki8WyC/xQTkFir1nRohhBBSokOHDuGnn37CwoULqSAjhFQLdKWM6CRXKPHriUcAAKG5Pez6z4WRWwBU4ON2vBTBdSR6zpAQQgjRrXv37jh58iQ6dOig71QIIaRM6EoZ0SlNqkD8P4eR888eAIC4Rj3w+AIIeECgq6mesyOEEEI0qdVqTJ48GUeOHAGfz6eCjBBSrVBRRnTavy0MT/YuAS8vHYwxrn10Kw/YmNJVMkIIIVWHWq3GmDFjsHz5ciQlJek7HUIIKTfqvki0LF++HJMmTcKAEWNQ1GgY0vMKYSAQYFonb3QMcNR3eoQQQghHpVIhNDQUmzdvxsaNGzF8+HB9p0QIIeVGRRnRsGPHDkyaNAnfffcdFi5ciMIiFdKkCtiaGsLIkD4uhBBCqpZp06Zhy5Yt2LJlCwYPHqzvdAgh5J3Qr2yioXv37li3bh1CQ0PB4/FgZCiEqzV9TAghhFRNX375JVq1aoWePXvqOxVCCHln1fLXdlpaGoRCISwtLbWWPX78GGq1WqvdwsICDg4OAICUlBRkZWVpLBeJRPDw8NBaTyqVIiMjA87OzjAwMNCZT1liqjLGGBYvXoyQkBD4+Phg1KhR+k6JEEIIKVFhYSFmz56N6dOno2bNmqhZs6a+UyKEkP+kWg30sXbtWtSqVQt+fn7w8PCAn58fLl68qBEzePBg9OrVi/vXo0cP+Pr6YunSpVzM7Nmz0aRJE424r7/+WmM7SqUSY8aMgY2NDZo0aQJ7e3ts3bq13DFVmVKlRna+AtOmTce0adNw5swZfadECCGElEoul6NPnz74/fffcefOHX2nQwghFaLaXClTqVSIiorC8ePH4enpCaVSialTpyIkJARPnz6FjY0NAODGjRsa6+3fvx99+vTBsGHDNNo7duyIPXv2lPh8CxcuxP79+3H37l3Url0bYWFhGD58OAICAlC3bt0yx1RVcRkF2HHtBXatnI8bR7Zi1rxfMX78eH2nRQghhJSooKAAvXr1QmRkJA4fPozWrVvrOyVCCKkQ1eZKmUAgwJo1a+Dp6QkAEAqFmDZtGnJycnD9+vUS19uwYQOaNGmiVSQxxhAXF4ecnByd661duxajRo1C7dq1AQAjR46El5cX1q1bV66YqkipUmPn9Ths++MX3DiyFS0/mwaTRiFQqrS7fRJCCCFVgUqlQvfu3XH58mUcPXoU7du313dKhBBSYapNUabL/fv3AQAuLi46lycmJuL48eMYPXq01rJ9+/bhk08+gb29PerWrYtLly5xy5KTk/Hy5Ut88sknGus0a9aMuxJXlpiqKr9QhXRpIeo2a4sBk+chqM8wpEsLkV+o0ndqhBBCiE4CgQD9+/fH8ePH0bZtW32nQwghFUqv3ReTkpJKvFJVzNPTU+fgGVKpFF999RW6dOkCf39/nev+9ddfEIvFGDRokEZ7ixYt8M0336BWrVqQy+WYOHEiunXrhnv37sHFxQUZGRkAwHWJLGZjY8MVb2WJ0aWwsBCFhYXc49zc3BJj3weVSoVtmzbAyq0VcmvUg0ddEVJyC+FpZwxjkaBScyGEEFLx0tLSkJGRAW9vb/B4PI1lL168gEwm02gzNzeHo2PVnYMyOzsbhw8fxrBhwzBu3Dh9p0MIIe+FXouyP/74A/v37y815uTJk3Bzc9Nok8lk6NmzJ/h8PjZv3qxzPcYYwsLCMHjwYJiYmGgs+/TTT7n/GxkZYeXKldi+fTv27duHiRMnQiB4VZwoFAqN9QoLCyEUvtplZYnRZcGCBZg7d25pL/m9USqV+Oyzz7Br1y7sOnQSfDsnpEtfFWQDG7lBKKjWF04JIeSjduHCBSxfvhwnT55Efn4+pFKp1vGvb9++iIuLg5WVFdfWu3dvLFiwoLLTLZOMjAx07NgRsbGx6NSpE2xtbfWdEiGEvBd6LcoWLFhQ7gOBXC5HSEgIUlJScO7cOVhbW+uMO3/+PJ49e4bt27e/dZuGhoZwcHBAXFwcAMDZ2Rk8Hg9JSUkaccnJyVxXybLE6DJjxgxMmTKFe5ybmwtXV9e35vhfFRUVYfDgwThw4AB27tyJPl2CoFSpkV+ogrFIQAUZIYRUc0ePHsXQoUMxZMgQ9O/fv8S4KVOmYPr06ZWY2btJS0tD+/btkZiYiLNnz1JBRgj5oFWrX+LFBVlCQgLOnj0LOzu7EmM3bNiAwMBANG7cWKOdMQalUqnRFh8fj9jYWG7ADlNTUzRs2BDHjx/nYhQKBU6fPs31Yy9LjC4ikQhmZmYa/96ndGkBjt+KR8/efXDw4EHs3bsXffv2BQAIBXyYSwyoICOEkA/Ar7/+ir59+5baWwN4dZIuJiYGcrm8kjIrv5SUFLRt2xYpKSk4f/48AgMD9Z0SIYS8V9VqSPzevXvj9u3b2LVrF7KysrgJoB0dHWFubs7FZmdnY9++fVi8eLHWdoqKivDJJ59g0qRJ8PPzQ1xcHGbNmgVPT08MHTqUi5s7dy5CQkJQt25dNGvWDEuXLoWRkRHGjh1brhh9+u3EQ6y58BxKlQpZiWp8+uMKhISE6DstQgghejRnzhysXbsWqampaNeuHdasWQMPDw99p6VBIpHAx8cH8+fPh4+Pj77TIYSQ967aFGVSqRQxMTGwtLTEmDFjNJbNmzcP/fr14x6fOXMGNWvW1CiyihkaGmL79u1YsmQJVqxYAUtLSwwYMABTpkyBsbExF9e1a1eEh4fjjz/+wKZNmxAQEIDIyEiNfvhlidGXp2k5+N+paMhTYmHk7APLjl/igoyHdGkBbEwl+k6PEELIW8TExGgMDPUmgUCAWrVqlWubn332GY4fPw4bGxukpqZiwIABCAkJwY0bN2BoaKgVX9mDU8XHx0Mul6NWrVrYu3fve30uQgipSniMMabvJD5mubm5MDc3R05OToV1ZdwQ8RwLD95E/K6fUJT2Aq7jNoBnIAYArP+sEYLr2FfI8xBCSGV7H9+ZVVVISAgeP35c4nIzMzNcvXpVqz08PBy9e/fWOdDHm+7evctNC9O8eXOt5XPmzNE5ONX72P8xMTEICgqCq6srLly4oDVyJCGEVEdlPW5VmytlpGyy8+VYfDgK8dtnQ5EWA7v+cwEDMRgAIZ+HQFdTfadICCGkDA4ePPjen6N4dOO4uDidRVllDU719OlTBAUFQSQSYevWrVSQEUI+OlSUfWCuP05E7JbvUZTxEs6D5kHg6A0AEPCAsW1qUtdFQgj5SBUVFWnN+3nx4kUA4Aa6epNIJIJIJHqveT18+BDBwcEwNTXF2bNn4eTk9F6fjxBCqiIqyj4wNgaFgFIB+0HzIXb2gkIFiATAkUkt4WVr/vYNEEIIqZZSUlKQlZWFhIQEAMDjx48hkUjg6uoKY2NjREVFYfbs2Rg9ejRq1KiBqKgozJw5E7169UKDBg30lndCQgKcnJxw+PBh2NtT93pCyMeJ7inTs4q6PyItLQ2GhoYwNzfHugtP8fuZpygsUkFkIMCUDrUR2qpmBWZNCCH68THdU1Ze8+bNw5YtW7Ta16xZw03VcuHCBaxevRpPnjyBk5MTevbsic8//xwCgaBMz1GR+z8mJgZubm4QCARQq9Xg82l6FkLIh6es35tUlOlZRRzgkpOTERwcDG9vb+zbtw/Aq3vLHiXnw9vBGBbGRhWZMiGE6A0VZfpVUfv/xo0b6NChA6ZOnYqZM2dWYIaEEFK1lPV7k05LVWPp0gLsPHcLLVu1RnZ2NhYsWMAtszA2QlNPayrICCGEVCn//vsvgoODUbt2bXz55Zf6TocQQqoEuqesmvrtxEOsOPgPErfNBNRKfPP7Znh7e+s7LUIIIaREkZGR6Nq1KwIDA3HkyBG62kkIIf+HrpRVQ+nSAqy58Bx5z28CTA37IQux54kK6dICfadGCCGElGjr1q1o2LAhjh07RgUZIYS8hq6UVUO346VQqRnMAjvB0r8NVAIjqNQMt+OlCK5DQ94TQgipmlauXAmFQgGxWKzvVAghpEqhK2XVUKCrKQR8HhgAlcAIDICAJoYmhBBSxQkEAirICCFEByrKqiEbUwnGtqkJIZ8HABDyeTQxNCGEEEIIIdUUdV+spqZ28sGI5m64HS9FoKspFWSEEEIIIYRUU1SUVWM2phK6h4wQQgghhJBqjrovEkIIIYQQQogeUVFGCCGEEEIIIXpERRkhhBBCCCGE6BEVZYQQQgghhBCiR1SUEUIIIYQQQogeUVFGCCGEEEIIIXpERRkhhBBCCCGE6BEVZYQQQgghhBCiRzR5tJ4xxgAAubm5es6EEEKqvuLvyuLvTlK56JhFCCHlU9bjFhVleiaVSgEArq6ues6EEEKqD6lUCnNzc32n8dGhYxYhhLybtx23eIxON+qVWq1GYmIiTE1NwePxKuU5c3Nz4erqivj4eJiZmVXKc76r6pIr5VnxqkuulGfFKy1XxhikUimcnJzA51MP/MpWGces6vRZBapfvkD1y5nyfb+qW75A9cq5rMctulKmZ3w+Hy4uLnp5bjMzsyr/QS5WXXKlPCtedcmV8qx4JeVKV8j0pzKPWdXpswpUv3yB6pcz5ft+Vbd8geqTc1mOW3SakRBCCCGEEEL0iIoyQgghhBBCCNEjKso+QiKRCLNnz4ZIJNJ3Km9VXXKlPCtedcmV8qx41SlXUvGq2/tf3fIFql/OlO/7Vd3yBapnzm9DA30QQgghhBBCiB7RlTJCCCGEEEII0SMqygghhBBCCCFEj6goI4QQQgghhBA9onnKqrmioiI8evQIEokE7u7uEAgE3DK1Wo3Lly/rXM/NzQ1ubm4AgAcPHiAjI0NjuYWFBfz9/bXWe/78ObKysuDj4wNjY2Od2y4pJj4+HllZWfD09NRaNyMjAw8ePNDaVtOmTWFgYKDRlpWVhWfPnsHR0RHOzs46c/gvMVKpFE+fPoWTkxPs7e11rvu2mEuXLuHN2zVr1qwJJycnjTalUono6GgIhULUqVNH52SsJcWoVCo8evQIhoaGqFGjBoRC3X/OL168QFpaGry9vWFqaqqXmMLCQty4cQMODg6oWbOmxjpPnjxBSkqK1raEQiE++eQTAEBOTg7u3r2rFdOwYUOIxWKNttzcXDx+/Bh2dnbcZ/xNpcXcvXsXBQUFaNq0qdZ6//77L4qKijTaXv9bKqZWqxEdHQ3GGPz8/DT+LisqJiUlBU+ePIG/vz8sLCx0rvvkyRPweDx4eHho/R3FxMQgISFBo00sFqNhw4Za23r58iWSk5Ph5eWl87lKiykqKsL169dhY2ODWrVq6Vw3Ly8PDx8+hI2NDWrUqKH3GKJ/aWlpePToEerUqQMrKyuNZS9evEB8fLxGm0gkQuPGjSszRQ0KhQI3btyAra0tvLy8dMZIpVI8evSoyn32EhMT8fz5c402Ho+HFi1a6CkjTXK5HPfv34epqWmJ3yFVRVRUFPLz8zXaHB0d4enpqaeMtDHGEBUVBT6fj3r16umMKSoqQnR0NEQiEXx8fN7bRPFl9fz5cyQmJqJJkyYwNDTUWHbv3j1kZ2drtFlbW8PX17cSM6wgjFRLcrmcTZ8+nVlbWzM/Pz/m5OTEvLy82MWLF7mYgoIC1qJFC41/gYGBDABbvnw5F9ezZ0/m6OioETdp0iSN58vOzmbt2rVjpqamrHbt2szU1JRt3bq1TDHh4eHMz8+Pubi4sICAAGZsbMzmzp2rse7u3buZQCDQyjcjI0MjbuHChczIyIj5+voyIyMjNmTIEKZQKCok5uHDh6xv377MwsKC1atXj5mamrLOnTuztLQ0br1nz569NYYxxgQCAfPz89N4Lbt27dKI+ffff5mLiwtzdXVl9vb2rHbt2uzBgwdvjYmOjmZz5sxhdnZ2zNfXl7m5uTE3Nzd2/PhxjXXz8/NZ9+7dmUQiYT4+PkwikbC1a9dWakxGRgb79ttvmZOTE5NIJGz8+PHsTfPnz9d6301NTVmtWrW4mFOnTjEAWnEvXrzQ2Nb//vc/JhaLuRx69uzJCgoKyhQTFhbG6tWrxywtLZm1tbVWnowxZm1tzby9vTVy2LBhg0bMnTt3mKenJ3N0dGTOzs7M3d2d3bx5s8JioqKi2IABA5idnR0DwI4dO6aV58KFC5mjoyPz8fFhHh4ezNHRke3bt08j5uuvv2aWlpYar2XgwIEaMYWFhWzgwIFMLBZzfyuLFy8uU0xOTg6bOXMmc3FxYSYmJmz48OE69+nGjRuZsbEx8/b2ZsbGxqxTp05MKpXqLYbo1927d9ngwYOZvb09A8D279+vFTNt2jRmbm6u8dnt3bt35SfLXh33ZsyYwZydnZmxsTELDQ3VGbdu3TomkUi4z16XLl1YXl5eJWer27Jly5hEItHYn23atNF3Wowxxg4cOMAsLS2Zl5cXs7CwYJ988glLSUnRd1ol8vPzYx4eHhr78s3vTH1aunQpq127NrOwsGCBgYE6Yy5cuMAcHByYu7s7s7GxYf7+/uz58+eVm+j/OXHiBGvfvj2zsrJiAFh8fLxWTHBwMHNxcdHY5zNmzNBDtv8dFWXVVFpaGluwYAHLzc1ljDGmUqnYuHHjmLW1tdaP0NctXbqUGRoastTUVK6tZ8+eOn8sv27EiBGsTp06LDs7mzHG2OrVq5mBgQF7+vTpW2N++OEHdv/+fS7u7NmzTCgUsr1793Jtu3fvZubm5qXmcPr0acbn89np06cZY4zFxMQwGxsbNn/+/AqJ+fzzz9mePXuYWq1mjDGWkZHBAgICWP/+/bl1T548+dYYxl4VZbp+LBeTy+XMxcWFffHFF4yxV+9fSEgIq1u37ltj/P392ezZs1lWVhZjjDG1Ws2mT5/OTExMWHp6Orf+pEmTWI0aNbgD2Pbt2xmPx2NRUVGVFrNr1y62cOFClpqaypo2bfrWzxljr37kiMVijfesuCgrzbVr1xiPx+OKj6SkJObi4sK+/fbbMsVMnz6d3bhxgy1btqzUomz79u0l5qBSqZiPjw8bOHAg9xkZNmwYq1mzJisqKqqQmL///ptt376dJSQklFiUff/99xp/4wsWLGAikUijiP36669Zt27dSt2nc+bMYQ4ODiwuLo4xxtjRo0cZj8djFy5ceGvM1q1b2bx581hSUhILDg7WWZRFR0czgUDANm3axBhjLD09nXl6erJx48bpJYbo344dO9iWLVtYenp6qUVZcHBw5Senw4MHD9j8+fNZcnIya9Omjc6i7M6dO4zP57Nt27YxxhhLTU1lNWrUYF999VVlp6vTsmXLmJ+fn77T0JKYmMgkEglbtGgRY+zVyb8GDRrorQAvCz8/P7Zs2TJ9p6GTUqlkkyZNYg8fPmTffPONzqJMKpUyW1tbNmXKFMYYY0VFRax9+/asWbNmlZztK0uWLGEnTpxgZ8+eLbUomzZtmh6yq3hUlH1Abt26xQCwGzdulBjj5+fHBgwYoNHWs2dPNmLECHbt2jUWGxvL/QgsVlBQwIyMjNiaNWu4NpVKxezt7dns2bPLHPM6f39/NnnyZO7x7t27mZmZGYuOjmZ3795lMplMa50hQ4awli1barRNmjSJeXp6VnhMsXnz5jFHR0et9rfFCAQCFhYWxq5du6ZRKBU7ePCg1hfMP//8wwCwa9eulTmmWGxsLAPAzpw5wxh7te8tLS3ZwoULNeJq1arFvv7660qPYYyVuShbvXo1EwqFLCEhgWsrLsoePnzIbt++rfPEw5dffsn8/f012ubMmcNsbGy4z3RZYt5WlC1fvpxdu3ZNo+gpdvHiRQaA3bt3j2t79OgRA8BOnTpVoTFpaWklFmVvys7OZgA0ToR8/fXXrEOHDuzGjRvsyZMnTKlUaq3n5ubGpk+frtHWqFEjjQKrLDElFWXfffcdq1Gjhkbbb7/9xkxMTLir25UZQ6oOqVRaalHWqlUrdvPmTfb48WOdn119KKkomzJlCvPy8tJoW7hwITM3N68SuS9btoz5+Piw27dvs/v371eZv4elS5cyMzMzVlhYyLVt2bKFCQQCncfVqsDPz4/NmjWLXb16lSUmJuo7nRKVVJRt27ZNa/+ePn2aAdDqyVOZzp07V2pR9uWXX7Jr166xuLg4rd+w1QkN9PEBuXbtGgQCQYl91f/9919ER0dj9OjRWsu2bduGUaNGoUGDBvDx8cGlS5e4ZQ8ePIBcLte414TP56Nhw4aIiooqc0yxjIwMxMTEaPW7z83NRc+ePdGzZ09YWVnhl19+0VgeFRWldb9LkyZN8OzZM0il0gqNKXbt2rUS7w94W8zUqVMRGhoKZ2dnhISEIDU1VeO12Nvbw8XFhWtr1KgReDwet7/KEvN6DgC4fuuxsbHIysrSep2NGzfm1q3MmPLYsGEDunXrpnX/HQB06dIF/fr1g6WlJWbOnKlx315J72t6ejpevnxZ5pi3mTVrFkaNGgV3d3d06NBB496WqKgoiEQi+Pn5cW21a9eGmZmZxvtaETHlUfz5ePNzevbsWQwfPhwtW7aEq6srDhw4wC3LzMxEXFyczv1VnENZYkpT0vuRl5eHp0+fVnoMqT4uX76MTz/9FK1bt4azszP27Nmj75RKVNJnLycnR+teLn159OgRBg0ahE6dOsHW1hbr1q3Td0qIiopCQECAxj1ETZo0gUqlwp07d/SYWemWLFmC0aNHo3bt2mjatCkePnyo75TKLCoqCjVq1IC1tTXX1qRJE25ZVRUWFoZRo0ahbt26CAgI4I551Q0N9FGFREdHIysrq9SY5s2bg8/XrqVjY2MxY8YMjB8/Xuum6GIbNmyAh4cHgoODNdoHDx6Mv//+G+bm5igsLMS4cePQq1cv3L9/H7a2tsjMzAQA7o+0+AZslUqF+Ph4REZG4vr16wBe3Ywpl8vh5eUFBwcHWFtbIyYmhnsuxhhGjx4NW1tbfPrpp1y7u7s7bt68ifr16wMADh8+jF69esHV1ZWLy8zM1PiieD2nzMxMmJqaasVERkYiKSkJAHDixAk4ODggOTkZeXl5iIyMhLm5OQICArS2AwA7duzAwYMHcfz48RLfj5JiVq9ejdDQUPD5fLx8+RKdOnXC559/jiNHjuh8LY8ePUJaWhpMTExw8+ZNREZG4u7duxCLxYiMjAQA7gZXCwsL7j0BgOTkZEyaNAmfffYZ3N3due2/vn9e31/FB7N3icnKykJ0dDQKCwu59774gBMXF4fIyEjUqFEDLi4uGtspqzt37uD69euYM2eORru9vT0uXbqE5s2bAwDOnz+Pzp07w9HREV999ZXOfXrlyhWuYDpz5gy8vLzw8uVLuLm5ITIyEiYmJqhXr57Ge+/q6lpqfr/++itGjBgBgUCA1NRUdO/eHYMHD+beI12f0eL9V7wv34x59uwZkpKSYGxsjNu3byMyMhK3bt2CiYkJt90GDRpAIpFobKessrKyMG7cOISEhKBu3bpce1BQEKZPnw4HBweo1WrMnj0bAwcORFRUFHx9fbXe++LBVvLz85GUlITIyEiukE1MTERkZCQ36ElZ88zMzISHh4fWvipeVtkxpOLpGlDmTfXq1YOJiUmZt9mqVSt89dVXcHZ2BmMMv/zyC4YMGYLatWtrfMbfRUmDCr1O1+A+pcnMzNQadOB9fvZevnyJ2NjYUmP8/PxgaWkJAKhbty4eP37MnbRZt24dxowZA09PTwQFBVV4fmX1tmN+VfTtt99i0KBBEIlEyMnJQf/+/dGnTx/cunVLa4CKqkjXPjc1NYWBgUGV3ecjR45EeHg4TExMIJPJMHLkSO43rLm5ub7TKxcqyqqQjRs34p9//ik15tSpU1qjzSUlJaFjx45o3LgxFi9erHO9/Px87NixA9OnT9caRWfgwIHc/0UiEZYvX46//voLp0+fxuDBg7lR2+RyOYBXZ0t++uknPHz4EEqlEtOnT0dOTg6AVz9axWIxvv32W/Ts2RMymUzji2j8+PG4ePEizp8/rzE635ujZnXv3h3du3fHjh07uKLMwMCAy6GYTCYDAO45Xo9RqVSYPn0690WyaNEiGBoaIj8/HydOnMDDhw9Rv359rFixQms7J0+exIgRI7BkyRJ07NhR5z4tLeb1q5EuLi748ccfMXjwYOTm5sLMzEzrtWzfvh2nT5/mcrt79y5iY2ORnp6O6dOnAwD2798PW1tbyOVyLs/MzEx06tQJNWvWxOrVq7ntvfmevb6/Xt9X5Y158OABpk+fjqdPnyIvLw/Tp0/nRppavnw5TE1NMW7cOAwdOlTrvS+LDRs2wMXFBZ07d9ZoDwgI0Hjctm1bDBo0CDt27OCKsjf36ezZs7mCfMWKFRCLxcjIyMCFCxfw8uVL1KpVCxs3btR670sTGhrK/d/Ozg4//fQTunTpgvj4eLi6uur8jALa+/T1mP379yM8PBzp6em4ePEiYmNjER8fj5ycHO6937x5Mzw8PMq9T/Py8tCtWzeYm5tj06ZNGstCQkK4//P5fMydOxdr165FeHg4fH19td7758+fY/r06YiNjUVubi6mT5+OwsJCAMDatWthaWmJ4cOHY/To0WXOs7x/0+87hlS8Q4cOYdeuXaXGbNiwAd7e3mXeZrdu3bj/83g8zJw5E2vWrMHevXv/c1H25MkT7u+uJCNHjsTIkSPLvM3K/uxduHBB43igy6JFi7iTXG8WXqNHj8batWuxc+dOvRZlBgYGKCgo0Gir6n+zw4cP5/5vbm6ORYsWoX79+rh9+7ZeRwctK12fVaVSCaVSWWX3+ZAhQ7j/i8Vi/P7773BwcMDFixfRo0cPPWZWflSUVSG//fZbuddJTk5GUFAQatasif3795f4R7N7927IZDJ8/vnnb92mqakpJBIJd3az+OpLQkICfH190bFjR3Ts2BHNmzeHt7c3Nm7ciNjYWHh4eODXX39F+/btuW0lJCRwB9uvvvoKu3btwpkzZ3QOt/8me3t7/Pvvv9xjd3d3rTOuCQkJEIlEsLOz04oRCASIjIzEqlWrMGXKFFy5cgUCgQAtW7aEl5cX/vrrL53bOXXqFHr16oV58+Zh8uTJOnMrS8ybrwV4dUXBzMwM7u7uSElJgUqlgkAgwJw5czBx4kRYW1tj8eLF6Nu3L1auXInp06fjwoUL3FDomZmZkMlkcHNzQ1ZWFtq3bw9TU1McPXoUEolEY18Vv64391fxGd53iWnevDkiIyPRtWtXiEQi7N+/H9nZ2bC0tMSPP/6Ifv366dxOWRQWFmLLli2YMGGCzuHh32Rvb4/z589rvObXX8vJkyexbds2DBs2DBcuXICJiQm6d+8OoVCI8PBwjTx5PN5br5KVlEPxNlxdXeHu7o6srCwUFBRw70dhYSEyMjI09unrMVOnTsVXX30FU1NTzJ49G6GhodiyZQs+++wznDx5ssTtvE1eXh66dOkCuVyO06dPv/WMIZ/Ph62tLbcPnZycYGBgwD2uX78+IiMjMWTIECQlJeHcuXMoKiqCsbExJk+ejFGjRnHbKut7X9LfNACN/VVZMaTiTZw4ERMnTnyvz8Hj8WBnZ/fWK3Jl0ahRI+4KdUWp7M/e0KFDMXTo0P+0DXt7+wrZn/+Fu7s7Tp8+rdFW3f5mXz9GVIeizN3dHXv27AFjjDuBn5iYCMZYtdnn1tbWEAgEev/8vgu6p6waS0lJQVBQENzc3BAeHg6RSFRi7Pr169GtWzc4OjpqtCsUCq15ly5duoT8/HyucKpRowa8vLxw8OBBLiYpKQlXr15Fhw4dyhQzceJEbNu2DadPn0ZgYKBWfm/O61FUVIQLFy5oFG8dOnTAiRMnoFAouLYDBw4gKCiI+xH/X2POnz+Pnj17Ys6cOZg6darOfXnmzJlSY958LcCrAsHY2Ji73699+/bIz8/HmTNnNHIwMDBAmzZt3hoTGBiI9u3bQyKR4Pjx41pdfywsLNCoUSON9yMnJwfnz5/n3rPKjCmL4gJP1xnoN/epWq3WKu47dOiAs2fPasQeOHAAn3zyCbd/yhJTkpLeVwMDA+7EQ1BQEPh8Pg4fPszFHD16FEqlkus2XFExb8u1a9euyM/Px+nTp3V2aX7z9cTGxnLzngHgPouvv69yuRwnTpzg3teyxJSmQ4cOiIyM1Oi2feDAAQQEBHA/ZiozhlQPb352X758iQcPHpTpZJ8+dOjQARcvXuR6lACvPnv169fX2d25sr25P3NycnD16lW9788OHTogOjoaz54949oOHDgABwcHrd4TVUFBQYHW/KQnT54EAI37g6uyDh06ID09HVeuXOHaDhw4AIlEUmXmrXtdYWEhVCqVRtuZM2egUqn0/vl9J/ocZYS8u5ycHG4+jFOnTrGIiAjuX2Zmpkbsw4cPGQB2+PBhre0kJiayunXrshUrVrATJ06wFStWMHt7e9apUyeNEWz27NnDhEIhmz9/Ptu3bx9r0qQJa9CgATeEd2kx06ZNYwKBgK1YsUIjz4cPH3Lr9u3bl02bNo0dOHCA7d69m7Vr145ZWVlpjPaTkZHBXFxcWI8ePdjBgwfZ119/zUQiEbt69WqFxGzYsIFJJBLWt29fjTwjIiK4da9cufLWmL/++ov17NmTbdq0iR07dox98803zMDAgP3+++8a+/7zzz9nLi4ubMuWLWz9+vXMwsKCzZw5860x3333HWvcuDFzcnJix44d08jh9REBT548yYRCIfvxxx9ZeHg4a9OmDfP29tYYufB9x+Tl5XG51alTh/Xp04dFRERozcnFGGPt27dnnTt31mpn7NV0C5MmTWL79+9n+/btY926dWMmJibs+vXrXExeXh6rVasWCw4OZuHh4WzGjBlMKBSys2fPlikmOjqaRUREsIkTJzJzc3Mu7/z8fMYYY+Hh4axjx45s48aN7Pjx4+z7779nIpFIa869yZMnMxsbG7Zx40a2adMmZm9vz7788ssKi0lLS2MRERHs8OHDDAD77bffWEREBIuNjWWMvRr2uG3btsza2podOHBA4/Px+mhgPj4+bPHixezYsWNsw4YNzMvLi9WrV497vYy9+rwbGhqyb775hh04cIB16dKFubm5cdMxvC2m+HkbNWrEunTpwiIiIjRGDpXL5czf35+1bNmS7d+/n82ZM4cJBAJ26NAhvcQQ/cvIyGARERHs5MmTDAD75ZdfWEREhMY8SQEBAWzhwoXs2LFjbOPGjczb25v5+flxU8RUtuLPeb169Vj37t1ZRESExneTTCZjderUYa1bt2bh4eFs1qxZb502pTK1bt2azZ07lx05coRt3bqVNWjQgLm5ubGkpCS95qVWq1mbNm1YYGAg27NnD1uyZAkzMDDQmhuyqrh8+TJr0aIFW7duHTtx4gSbP38+MzExqVLTbkRFRbGIiAg2aNAg5uXlxX12Xx8FtH///qxmzZps+/btbM2aNczExIT98ssvesn3xYsXLCIigv3xxx8MANu3b5/Gb52nT5+yBg0asFWrVrETJ05woydX5WkTSsNj7I2ynlQLMTExGgNlvO71vuIA8Ndff2HXrl04dOiQzm5hz58/x//+9z/cu3cPdnZ26NChA4YNG6Y1oMiJEyewfv16ZGVloXHjxpg2bRosLCzeGjN58mQ8efJE63nbt2/PDehQWFiItWvX4ty5c2CMoW7dupg4cSJsbGw01nn58iUWLlyIBw8ewMnJCRMnTtTqEvCuMY8fPy6xH35xd5atW7e+NQYATp8+ja1btyIpKQkeHh4YMWIEmjZtqhGvVCqxcuVKHD9+HEKhEL169UJoaKjGPX+6YkJCQtCnTx+dOcyaNUvj/rbiewvS0tJQr149TJ8+Hba2thrrvM8YExMTnVdMatasqXGPU05ODnr06IGZM2dq3U8GvLpy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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from torch.utils.data import DataLoader\n", "from xnn.common.data import collate\n", "\n", "model = trainer.model.eval(); device = trainer.device\n", "EV2KCAL = 23.060541945329334\n", "E_pred, E_ref, F_pred, F_ref = [], [], [], []\n", "for batch in DataLoader(test_ds, batch_size=64, collate_fn=collate):\n", " batch = batch.to(device)\n", " out = model(batch) # forces need autograd -- no no_grad()\n", " E_pred.append(out[\"energy\"].detach().cpu().numpy())\n", " F_pred.append(out[\"forces\"].detach().cpu().numpy())\n", " E_ref.append(batch.energy.cpu().numpy())\n", " F_ref.append(batch.forces.cpu().numpy())\n", "E_pred, E_ref = np.concatenate(E_pred), np.concatenate(E_ref)\n", "F_pred, F_ref = np.concatenate(F_pred), np.concatenate(F_ref)\n", "e_rmse = np.sqrt(np.mean((E_pred - E_ref) ** 2))\n", "f_rmse = np.sqrt(np.mean((F_pred - F_ref) ** 2))\n", "print(f\"energy RMSE: {e_rmse*1e3:.1f} meV = {e_rmse*EV2KCAL:.3f} kcal/mol\")\n", "print(f\"force RMSE: {f_rmse*1e3:.1f} meV/A\")\n", "\n", "fig, (a1, a2) = plt.subplots(1, 2, figsize=(8.8, 4.2))\n", "a1.scatter(E_ref, E_pred, s=8, alpha=0.5)\n", "lim = [min(E_ref.min(), E_pred.min()), max(E_ref.max(), E_pred.max())]\n", "a1.plot(lim, lim, \"k--\", lw=1)\n", "a1.set_xlabel(\"DFT energy (eV)\"); a1.set_ylabel(\"ANI-1x energy (eV)\")\n", "a1.set_title(f\"energy {e_rmse*EV2KCAL:.3f} kcal/mol\")\n", "fl = [min(F_ref.min(), F_pred.min()), max(F_ref.max(), F_pred.max())]\n", "a2.scatter(F_ref.ravel(), F_pred.ravel(), s=3, alpha=0.3)\n", "a2.plot(fl, fl, \"k--\", lw=1)\n", "a2.set_xlabel(\"DFT force (eV/A)\"); a2.set_ylabel(\"ANI-1x force (eV/A)\")\n", "a2.set_title(f\"forces {f_rmse*1e3:.0f} meV/A\")\n", "fig.tight_layout(); fig.savefig(\"ani1x_correlation.png\", dpi=110); plt.show()" ] }, { "cell_type": "markdown", "id": "ac1f6c0f", "metadata": {}, "source": [ "## Summary\n", "\n", "`load_dataset(\"ani1x\", ...)` brings the ~5 M-conformation, active-learning\n", "ANI-1x training set (**energies and forces**) into the same one-line hub as\n", "every other `xnn` dataset. Paired with the **`ani-1x` preset**\n", "(`ANI.ani1x()`), this reproduces the ANI-1x model's training setup end-to-end:\n", "the leaner 384-length AEV, per-element networks, and a force-aware loss.\n", "\n", "Side by side with `ani1_dataset.ipynb`:\n", "\n", "| | ANI-1 (`ani1`) | ANI-1x (`ani1x`) |\n", "|---|---|---|\n", "| sampling | dense Normal-Mode (~20 M) | active learning (~5 M) |\n", "| labels | energies | energies **+ forces** |\n", "| AEV / preset | 768-length, `ANI.ani1()` | 384-length, `ANI.ani1x()` |\n", "| loss here | energy only | energy + force |\n", "\n", "The dataset and the preset are the two halves of one model: `ani-1` +\n", "`load_dataset(\"ani1\")` reproduces ANI-1, and `ani-1x` + `load_dataset(\"ani1x\")`\n", "reproduces ANI-1x. For the **pretrained** ANI-1x weights transplanted from\n", "torchani (rather than trained here), see\n", "`examples/fidelity_checks/ani_verification.ipynb`." ] } ], "metadata": { "kernelspec": { "display_name": "xnn (.venv)", "language": "python", "name": "xnn" }, "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.12" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "23d7b13666274d87838d2d3aeda76298": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "4c27295001e5407b81057a3f37b915d6": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_ece718aa5b4f404999d4c2d947c31176", "placeholder": "​", "style": "IPY_MODEL_23d7b13666274d87838d2d3aeda76298", "tabbable": null, "tooltip": null, "value": " 129/200 [00:00<00:00, 646.66 mol/s]" } }, "53e3ff73f88d4857be13228c455518e2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_cf062d7371aa4346a9f486b7af4b9507", "placeholder": "​", "style": "IPY_MODEL_a10074c6594f4e29b4b87a9b65ae9718", "tabbable": null, "tooltip": null, "value": "ani1x:wb97x_dz.energy:  64%" } }, "5902f53072874af9a246449e5c204f0d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_53e3ff73f88d4857be13228c455518e2", "IPY_MODEL_5d925fce58154153b7da806e19a3bb0a", "IPY_MODEL_4c27295001e5407b81057a3f37b915d6" ], "layout": "IPY_MODEL_a7d8b92cd085482aabe5105de2930e75", "tabbable": null, "tooltip": null } }, "5d925fce58154153b7da806e19a3bb0a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_e078c7c278b54fdbb4510458d135e0ec", "max": 200.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_7cacd6b40cc7452c81c6e3f094675fc7", "tabbable": null, "tooltip": null, "value": 200.0 } }, "7cacd6b40cc7452c81c6e3f094675fc7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "a10074c6594f4e29b4b87a9b65ae9718": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "a7d8b92cd085482aabe5105de2930e75": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": "hidden", "width": null } }, "cf062d7371aa4346a9f486b7af4b9507": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "e078c7c278b54fdbb4510458d135e0ec": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "ece718aa5b4f404999d4c2d947c31176": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }