Repository: alexklibisz/elastiknn (language: python)

Issue:
Migrate to Scala 3
### Background

As the title suggests, migrate from Scala 2.13 to Scala 3. As per #392 , I do not plan to publish libraries, and so I do not plan to cross-build for Scala 2.x and 3.x.

### Deliverables

- [ ] Entire codebase in latest Scala 3.

### Related Issues

- #360 


Discussion / hints:

Fix patch:
diff --git a/.scalafmt.conf b/.scalafmt.conf
index fd3ae596c..1d35e5f42 100644
--- a/.scalafmt.conf
+++ b/.scalafmt.conf
@@ -1,3 +1,3 @@
 version = "3.8.0"
 maxColumn = 140
-runner.dialect = scala213
+runner.dialect = scala3
diff --git a/build.sbt b/build.sbt
index 2f2329c3e..dae747a8e 100644
--- a/build.sbt
+++ b/build.sbt
@@ -1,7 +1,9 @@
 import ElasticsearchPluginPlugin.autoImport.*
 import org.typelevel.scalacoptions.*
 
-Global / scalaVersion := "2.13.13"
+Global / scalaVersion := "3.3.3"
+
+Global / scalacOptions += "-explain"
 
 lazy val CirceVersion = "0.14.3"
 lazy val ElasticsearchVersion = "8.12.2"
@@ -16,18 +18,6 @@ lazy val TestSettings = Seq(
   libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.18" % Test
 )
 
-lazy val TpolecatSettings = Seq(
-  // Disabling a couple of warnings for test files.
-  // Ideally we would scope this to Test / scalacOptions,
-  // but then compilation fails within IntelliJ.
-  // https://github.com/typelevel/sbt-tpolecat/issues/134
-  scalacOptions ++= Seq(
-    "-Wconf:any:wv",
-    "-Wconf:cat=other-pure-statement:src=test/.*.scala:silent",
-    "-Wconf:cat=w-flag-numeric-widen:src=test/.*.scala:silent"
-  )
-)
-
 lazy val `elastiknn-root` = project
   .in(file("."))
   .settings(
@@ -52,7 +42,6 @@ lazy val `elastiknn-api4s` = project
       "org.elasticsearch" % "elasticsearch-x-content" % ElasticsearchVersion,
       "io.circe" %% "circe-parser" % CirceVersion % Test
     ),
-    TpolecatSettings,
     TestSettings
   )
 
@@ -65,7 +54,6 @@ lazy val `elastiknn-client-elastic4s` = project
     libraryDependencies ++= Seq(
       "com.sksamuel.elastic4s" %% "elastic4s-client-esjava" % Elastic4sVersion
     ),
-    TpolecatSettings,
     TestSettings
   )
 
@@ -79,7 +67,6 @@ lazy val `elastiknn-lucene` = project
       "org.apache.lucene" % "lucene-core" % LuceneVersion,
       "org.apache.lucene" % "lucene-analysis-common" % LuceneVersion % Test
     ),
-    TpolecatSettings,
     TestSettings
   )
 
@@ -97,7 +84,6 @@ lazy val `elastiknn-models` = project
       "--add-exports",
       "java.base/jdk.internal.vm.annotation=ALL-UNNAMED"
     ),
-    TpolecatSettings,
     TestSettings
   )
 
@@ -107,7 +93,6 @@ lazy val `elastiknn-jmh-benchmarks` = project
   .enablePlugins(JmhPlugin)
   .settings(
     Jmh / javaOptions ++= Seq("--add-modules", "jdk.incubator.vector"),
-    TpolecatSettings,
     libraryDependencies ++= Seq(
       "org.eclipse.collections" % "eclipse-collections" % "11.1.0",
       "org.eclipse.collections" % "eclipse-collections-api" % "11.1.0"
@@ -137,11 +122,8 @@ lazy val `elastiknn-plugin` = project
       "com.google.guava" % "failureaccess" % "1.0.2",
       "org.scalanlp" %% "breeze" % "2.1.0" % Test,
       "io.circe" %% "circe-parser" % CirceVersion % Test,
-      "io.circe" %% "circe-generic-extras" % CirceVersion % Test,
-      "ch.qos.logback" % "logback-classic" % "1.5.3" % Test,
-      "com.klibisz.futil" %% "futil" % "0.1.2" % Test
+      "ch.qos.logback" % "logback-classic" % "1.5.3" % Test
     ),
-    TpolecatSettings,
     TestSettings
   )
 
@@ -149,6 +131,6 @@ lazy val `elastiknn-plugin-integration-tests` = project
   .in(file("elastiknn-plugin-integration-tests"))
   .dependsOn(`elastiknn-plugin` % "test->test")
   .settings(
-    TpolecatSettings,
+    libraryDependencies += "io.circe" %% "circe-generic" % CirceVersion % Test,
     TestSettings
   )
diff --git a/docs/pages/performance/fashion-mnist/plot.b64 b/docs/pages/performance/fashion-mnist/plot.b64
index cdd7db0b9..1a38a8eb8 100644
--- a/docs/pages/performance/fashion-mnist/plot.b64
+++ b/docs/pages/performance/fashion-mnist/plot.b64
@@ -1,1 +1,1 @@
-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oV27dlndl8lk0uHDh/X7779b2vNriUxe9W2urO2S/X6zevVqjRgxQuXKlZO/v78GDx5s8z6Qmx07duihhx5SnTp15OXlpUqVKumRRx6xmSmW/X534MABPfTQQwoMDFRAQIAefvhhJSYmWvVNSUnRM888owoVKsjPz099+vTRiRMnrhnLypUr1apVK0nSww8/bHlNZ8yYYekze/ZshYSEyNvbW+XLl9cDDzxwzaXE1xqb2dauXavWrVvLy8tLderU0bfffmtzLXvHVW6u9j2QW82eHTt2qFOnTvL29la1atX05ptvavr06XmOs6vFb+9rkFNuP+PseT++mu+//14333yzvLy8FBISotWrV9v0OXnypB555BFVrFhRnp6eatiwoaZNm2Y5f7Vx0rlzZ/3+++86evSopT3nz017f1Zk1xj6/vvvLT8LFi9ebPd9AkBpwUcCQAmW/QtnmTJlLG27du3SrbfeqqpVq+qll16Sj4+PfvrpJ/Xr109z585V//79JWUVNu3QoYP27NmjRx55RC1atND58+e1YMECnThxQuXLl1dsbKy+/vpr3XvvvRo+fLji4uI0depUde/eXX/++We+TfP/9ddf5eXllefspNq1a6t9+/ZaunSpkpOTHf50b+bMmRoyZIi6d++ud955R4mJiZo8ebLat2+vrVu3Wv0ymp6eru7du6t9+/Z6//33ZTab87zuiBEjNGPGDD388MMaNWqUDh8+rE8//VRbt27VunXr5O7urrNnzyo8PFwVKlTQSy+9pMDAQB05ciTXhE1u9u/fr7vvvluPPfaYhgwZounTp+uuu+7S4sWLFRYWJklKTExUp06ddPLkSY0YMUI1atTQ+vXrNXr0aEVHR9vUT5g+fbqSk5P16KOPytPTU2XLls31uXft2qU77rhDTZo00bhx4+Tp6akDBw5o3bp1lj6ZmZnq06eP1q5dq0cffVS33HKLdu7cqY8++kj79u3TL7/8Yuk7duxYvfHGG2rXrp3GjRsnDw8P/fHHH1q+fLnCw8MlZf2BM3bsWHXr1k2PP/649u7dq8mTJ2vTpk2W1zTbpUuX1KNHD915550aNGiQ5syZoxdffFGNGzfW7bffLklKSkpS165ddezYMY0aNUpVqlTRzJkztXz5crte/+x6US1atLCrf15Onz6trVu3WhKWjoyLkJAQffTRR9q1a1ee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jC1bthj33nuvUaNGDcPT09MICgoy7rjjDqvnzUv2ttJLliwxmjRpYnh6ehoNGjQwZs+ebdM3Li7OGD16tFGvXj3Dw8PDKF++vNGuXTvj/ffft2wJnb31+nvvvXfN5zYMw1i2bJnRt29fo0qVKoaHh4dRpUoV495777XZ+jg1NdV45513jIYNGxqenp5GmTJljJCQEGPs2LFGTEyMVd9p06YZzZs3t/Tr1KmTERkZadXn008/NRo0aGC4u7sbFStWNB5//HHj0qVLVn3y2oo7t6/T0aNHjT59+hhms9koX7688Z///MdYvHix3dsgf/jhh4avr6/NNtnZWyPn9i/7e+HTTz81AgICjLS0NKvH2jsu9uzZc9XvgSt99dVXRp06dQxXV1er+7vaFuULFiwwmjRpYnh5eRm1atUy3nnnHWPatGk230cZGRnG2LFjjcqVKxve3t5G586djb/++stm22rDsG88Zvd75plnjCpVqhju7u5G/fr1jffee89qe3fDKPyt1zMyMowXX3zRKF++vGE2m43u3bsbBw4cyHPr9VWrVhmPPvqoUaZMGcPX19e4//77jQsXLlzzeU6cOGH079/fCAwMNAICAoy77rrLOHXqlM37afZYu3Lb7dze75KSkoxRo0YZ5cqVM3x8fIzevXsbx48ft2vrdcMwjPnz5xvBwcGW9+Cc22v/+OOPlu/fsmXLGvfff79x4sSJa17TMBwfm506dTI6depk1WbvuMrN1cZKbmN469atRocOHQxPT0+jWrVqxsSJE41PPvnEkGScPn36mtfNLf68XoPcXLn1ur3vx7mRZIwcOdL47rvvjPr161t+nuf2/GfOnDFGjhxpVK9e3XB3dzcqVapkdO3a1ZgyZYpVv7zGSXx8vHHfffcZgYGBhiSr92N7f1ZkxwsAuDqTYRTzqn0ASq1ly5apZ8+eat++vRYtWmTZBr60qFWrlho1aqTffvvN2aGUajExMapTp47effddDR061KHH9uzZU76+vvrpp5+u67mffvpprV69WlFRUdS5KIJmzJihhx9+WJs2bWJWQinw9NNP68svv1R8fPwNF0QGAOBGUbMHQLHVtWtXffPNN1qxYoUefvjhYr/jDIqngIAAvfDCC3rvvfcc3p2qc+fO11zikpcLFy7o66+/1ptvvkmiByhkSUlJVscXLlzQzJkz1b59exI9AIAigZk9AFBMMbMHKNqY2VNyNWvWTJ07d9Ytt9yiM2fOaOrUqTp16pSWLVumjh07Ojs8AAAo0AwAAAA4omfPnpozZ46mTJkik8mkFi1aaOrUqSR6AABFBjN7AAAAAAAAShBq9gAAAAAAAJQgJHsAAAAAAABKEGr2SMrMzNSpU6fk5+fHjiYAAAAAgAJnGIbi4uJUpUoVubgwDwP5i2SPpFOnTql69erODgMAAAAAUMocP35c1apVc3YYKGFI9kjy8/OTJB0+fFhly5Z1cjRAwUhLS9Mvv/yifv36yd3d3dnhAAWCcY7SgHGO0oBxjtLg4sWLql27tuXvUSA/keyRLEu3/Pz85O/v7+RogIKRlpYms9ksf39/fmlCicU4R2nAOEdpwDhHaZCWliZJlBJBgWBhIAAAAAAAQAlCsgcAAAAAAKAEIdkDAAAAAABQgpDsAQAAAAAAKEFI9gAAAAAAAJQgJHsAAAAAAABKEJI9AAAAAAAAJQjJHgAAAAAAgBKEZA8AAAAAAEAJQrIHAAAAAACgBCHZAwAAAAAAUIKQ7AEAAAAAAChBSPYAAAAAAACUICR7AAAAAAAAShCSPQAAAAAAACUIyR4AAAAAAIAShGQPAAAAAABACUKyBwAAAAAAoAQh2QMAAAAAAFCCkOwBAAAAAAAoQUj2AAAAAAAAlCAkewAAAAAAAEoQkj0AAAAAAAAliJuzAwAAlC4ZcXE6+9xzVm1B778vVz8/J0UEAAAAlCzM7AEAAAAAAChBmNkDACgUGXFxkqTMf/6bU842ZvgAAAAAN4ZkDwCgUFy5dCun82PHWv6/8pdfFkY4AAAAQInFMi4AQJFiGIazQwAAAACKNZI9AIAi5cLbbyspKkpGRoazQwEAAACKJZZxAQCKlLQjR3R5yhS5li8vn27d5N2unVw8PZ0dFgAAAFBskOwBABSKoPffl5RVjDlnjZ68ZJw/r9gfflDcggXy6dRJ5ttuk2tAQEGHCQAAABR7LOMCABQKVz8/ufr5ySWX3bZ8+/aVa7lyuT7OSExU/KJFOvvyy7o8c6bSoqMLOlQAAACgWGNmDwDA6cwdOsi3e3clb92qhIgIpR09atspPV1Ja9cqae1aeTZuLJ/wcHnUry+TyVT4AQMAAABFGMkeAEChcvXzy3N7de+WLeUVEqLU/fuVEBGhlJ07c+2XsnOnUnbulHutWvIJC5NX8+YyuboWZNgAAABAsUGyBwBQpJhMJnnedJM8b7pJadHRSoiMVNIff0jp6TZ9044c0eWvvsoq5ty1q9xbt3ZCxAAAAEDRQrIHAFBkuVeurMDBg+XXt68SV6xQwqpVMhITbfplnD+v2B9/lOnXX1W7fHllxsZKedQAAgAAAEo6CjQDAIo814AA+fXrp6C335b/3XdftZhzzWPHdHHMGF3+9luKOQMAAKBUYmYPAKDYcPH0lE+XLjJ36qTkbduyijkfOWLbMT1dSevWKWndOoo5AwAAoNQh2QMAKHZMrq7yDgmRV4sWWcWcIyOVsmNHrn0p5gwAAIDShmQPAKDYurKYc1xEhJI2bJCLYdj0tRRzLldOPt26ybtdO7l4eTkhagAAAKBgkewBAJQI7pUry++++7TCMNTV31/Ja9bkXsz5wgXF/vij4n79VeZOneRz221yDQhwQsQAAABAwSDZAwAoUVI9PeXTu7f8e/VS0vr1Sli6VBnnz9v0MxITlbBokRIiI+Xdpo18unWTe5UqTogYAAAAyF8kewAAJZKLp6d8brstq5jz1q0UcwYAAECpQbIHAFCimVxcLMWc0w4cUHxExLWLOdesmVXMuUULijkDAACg2CHZAwAoFUwmkzzq11fZ+vWVfvq04iMjlbRxo5SebtM37ehRXf76a4o5AwAAoFhycXYAAAAUNrdKlRT44IMKmjhRvj17yuTjk2u/7GLOZ0ePVuy8ecqIiSnkSAEAAADHMbMHAFBqufr7y69vX/n06HHtYs6LFyth6VKKOQMAAKDII9kDACj1rruYc1iYPG66iWLOAAAAKFJI9gAA8A+bYs6RkUrZvj3XvpZizjVqyCc8nGLOAAAAKDKcWrNn8uTJatKkifz9/eXv76/Q0FAtWrRIknTkyBGZTKZc/82ePdtyjdzO//DDD866JQBACWAp5vzEE6owdqzMHTpIbrl/PpJ27Jguf/21zr32mhKWLVNmcnIhRwsAAABYc+rMnmrVquntt99W/fr1ZRiGvvnmG/Xt21dbt25VgwYNFB0dbdV/ypQpeu+993T77bdbtU+fPl09evSwHAcGBhZG+ACAUsCtUiUFPPCAfPv0UeLKlUpYuVJGQoJNv4wLFxT700+K++03mTt2lE+XLnINCHBCxAAAACjtnJrs6d27t9XxW2+9pcmTJ2vjxo1q2LChKlWqZHV+3rx5GjRokHx9fa3aAwMDbfoCAJCfXP395denj3y6d7e/mHPr1vIJC6OYMwAAAApVkanZk5GRodmzZyshIUGhoaE256OiorRt2zZ99tlnNudGjhypYcOGqU6dOnrsscf08MMPX7VYZkpKilJSUizHsbGxkqS0tDSlpaXlw90ARU/22GaMoyQrlHHu4iKP9u3l3q6dUrdvV9KyZUrPq5jz+vVKWr9e7g0byrtrV7nXr08xZ9ww3s9RGjDOURowvlGQTIZhGM4MYOfOnQoNDVVycrJ8fX01a9Ys9ezZ06bfE088oZUrV2r37t1W7ePHj1eXLl1kNpsVERGh119/Xe+++65GjRqV53O+8cYbGjt2rE37119/LbPZfOM3BQAoPQxDATExqn78uMpduKCrpXLifH11vHp1natQQYaLU8vmAQAAJ0tMTNSwYcMUExMjf39/Z4eDEsbpyZ7U1FQdO3ZMMTExmjNnjr7++mutWrVKwcHBlj5JSUmqXLmyXnvtNf33v/+96vXGjBmj6dOn6/jx43n2yW1mT/Xq1RUdHa1y5crd+E0BRVBaWprmz5+vvn37yt3d3dnhAAXC2eM8/cwZJS9fruQ//pDS0/Ps51K2rLxvu02eoaFy8fIqxAhREjh7nAOFgXGO0uDChQuqXLkyyR4UCKcv4/Lw8FC9evUkSSEhIdq0aZM+/vhjffnll5Y+c+bMUWJiogYPHnzN67Vp00bjx49XSkqKPD09c+3j6emZ6zl3d3d+mKDEY5yjNHDWOHevVk3egwcro1+/qxZzzrx4UQlz5ypx0aKsYs633SZXNheAg3g/R2nAOEdJxthGQXJ6sudKmZmZVrNuJGnq1Knq06ePKlSocM3Hb9u2TWXKlMkz0QMAQEGzKua8YUNWMedz52z6WYo5R0bKu00bijkDAAAgXzg12TN69GjdfvvtqlGjhuLi4jRr1iytXLlSS5YssfQ5cOCAVq9erYULF9o8/tdff9WZM2fUtm1beXl5KTIyUhMmTNBzzz1XmLcBAECuXDw95dO5s8wdOyp52zYlREQo7fBh244ZGZZizp6NGsknLEweN99MMWcAAABcF6cme86ePavBgwcrOjpaAQEBatKkiZYsWaKwsDBLn2nTpqlatWoKDw+3eby7u7s+++wzPfPMMzIMQ/Xq1dOHH36o4cOHF+ZtAABwVSYXF3m3aCGv5s2VdvCg4iMilLJjh5RL2byUv/5Syl9/ya1GDfmGhckrJEQmV1cnRA0AAIDiyqnJnqlTp16zz4QJEzRhwoRcz/Xo0UM9evTI77AAACgQJpNJHvXqqWy9eko/fVoJy5Ypcf36XIs5px87pstTp8p13jz5dO0q7/btKeYMAAAAu7DvKwAATuBWqZIC7r9fQRMnyrdXL5l8fHLtl3HxomJnz9bZl15S7M8/K+Py5cINFAAAAMVOkSvQDABAaZJdzNm3Rw8lrl+fdzHnpCQlLFmihKVL5d26dVYx56pVnRAxAAAAijqSPQAAFAEmDw/7izlv2KCkDRvk2bChfMLDKeYMAAAAKyR7AAAoQrKLOXu3aKHUAwcUHxmplO3bcy/mvGuXUnbtklv16vIND6eYMwAAACSR7AEAoMiyFHM+c0YJS5cqccMGKS3Npl/68eOWYs7mrl1lppgzAABAqUaBZgAAiji3ihWzijlPmCDfO+64ajHnuJzFnC9dKuRIAQAAUBQwswcAgGLC1d9ffr17y7d7dyVu2JBVzPnsWZt+FHMGAAAo3Uj2AABQzJg8POTTqZPMHTo4Vsw5LEweDRpQzBkAAKCEI9kDAEAxZVXM+eBBxUdEUMwZAAAAJHsAACgJPOrWVdnHH7e7mLPLzz/Lp2tXmTt0oJgzAABACUOBZgAAShBLMeeJE+V7xx1y8fXNtV/mpUuKmzMnq5jz3LkUcwYAAChBmNkDAEAJ5OrnZ38x54gIJSxbRjFnAACAEoJkDwAAJVjOYs4p27crPjJSaQcP2nbMWcw5OFg+4eEUcwYAACimSPYAAFAKmFxc5NW8ubyaN792Mefdu5Wye3dWMeewMHm1bEkxZwAAgGKEZA8AAKWMVTHnZcuUuH593sWcp02Ty7x5WcWc27eXi7e3EyIGAACAIyjQDABAKeVWsaIC7ruPYs4AAAAlDDN7AAAo5ewu5pycnFXMeenSf4s5V6vmhIgBAABwNSR7AACApCuKOe/YofiIiNyLOWdmKmnjRiVt3EgxZwAAgCKIZA8AALBicnGRV7Nm8mrWTKkHDyohMlLJ27ZdvZhztWryCQuTd6tWFHMGAABwMpI9AAAgTx5168qjbl2lnz2rhKVL8y7mfOKEYqZPV9wvv1DMGQAAwMko0AwAAK7JLSjo32LOvXvLxc8v134UcwYAAHA+ZvYAAAC7ufr5ye+OO+QbHq7EjRuVEBlpXzHnbt3kXr26EyIGAAAofUj2AAAAh5k8POTTsaPM7dvbXczZIzhYvmFh8rjlFoo5AwAAFCCSPQAA4LrZFHNeulTJW7fmWsw5dfduXaSYMwAAQIEj2QMAAPLFdRVz7tJF5g4dKOYMAACQjyjQDAAA8lV2MeeKb7997WLOc+dmFXOeM0cZFy8WcqQAAAAlEzN7AABAgXDx9bUUc07auFHxS5cq48wZm35GcrISIiOVsGyZvFu1kk9YGMWcAQAAbgDJHgAAUKBMHh4yd+wo7+xizpGRSjtwwLZjZqaS/vhDSX/8IY9bbpFveDjFnAEAAK4DyR4AAFAorIo5HzqkhMjIvIs579mji3v2/FvMuWVLmdz4tQUAAMAe/NYEAAAKnUedOvIYMULp585lFXNet+7qxZznzZNP164UcwYAALADBZoBAIDTuFWooIB7780q5tynT97FnC9fppgzAACAnZjZAwAAnM7F11d+vXrJNyyMYs4AAAA3iGQPAAAoMqyKOe/cqYSICKVSzBkAAMAhJHsAAECRY3JxkVfTpvJq2lSphw8rISLi2sWcq1bNKubcqhXFnAEAQKnGb0IAAKBI86hd275izidPKmbGDMX98ot8unSRuWNHijkDAIBSiQLNAACgWHComPPPP1PMGQAAlFrM7AEAAMWKpZhzeHhWMefIyGsWc/Zq2VK+4eEUcwYAAKUCyR4AAFAsmdzdZe7QQd633nrNYs7Jf/6p5D//zCrmHBYmj+BgijkDAIASi2QPAAAo1myKOUdGKnnLFoo5AwCAUovfbgAAQInhUbu2PB591FLMOWn9ehmpqTb9KOYMAABKMgo0AwCAEie7mHPQxIn2F3OePZtizgAAoERgZg8AACixrIo5//GH4iMi8i7mvHSpEpYvzyrmHBYm9xo1nBAxAADAjSPZAwAASjyTu7vM7dvLu127rGLOkZFK3b/ftmPOYs4NGsg3PJxizgAAoNgh2QMAAEoNh4o5//23Lv79t9yqVJFPeDjFnAEAQLHBbywAAKBUsirmvGyZktaty72Y86lT1sWcO3SQi9nshIgBAADsQ7IHAACUam4VKijgnnvkd8cdSli9WokrVigzNtamX3Yx5/jff5e5fXv5dOsm17JlnRAxAADA1ZHsAQAA0D/FnHv2lG9YWFYx58hIZZw+bdPPSElRwrJlSlixgmLOAACgSCLZAwAAkINVMee//soq5rxvn23HK4o5+4SFybNhQ4o5AwAApyPZAwAAkAuTi4u8mjSRV5MmdhVzTqWYMwAAKCL4LQQAAOAaLMWcz59XwtKl9hVzvu02mTt2pJgzAAAodCR7AAAA7ORWvnxWMefevZW4apUSrlbMed48xS9cKHP79jJ37Sq3cuWcEDEAACiNSPYAAAA4yMXHR749e8rHkWLOISHyDQ+nmDMAAChwJHsAAACuk1Ux5127lBARkXcx502blLxpkzxuvlk+4eEUcwYAAAWGZA8AAMANMrm4yKtxY3k1bqzUI0eyijlHReVezHnvXqXu3ZtVzDksLKuYs7u7E6IGAAAllYuzAwAAAChJPGrVUpnhw1XhzTdl7tJFJg+PXPulnzqlmG++0dlXXlH84sXKTEws5EgBAEBJxcweAACAAuBWvrwC7r5bfnfccfVizjExFHMGAAD5imQPAABAAbIq5vznn0qIjFR6dLRNP4o5AwCA/EKyBwAAoBCY3N1lvvVWeYeGUswZAAAUKJI9AAAAhei6izl36ybv1q2dEDEAAChuSPYAAAA4iUetWvIYPlzp/fsrYdkyJa1bJyMlxaZf+qlTivn2W8XNny+vTp3klpbmhGgBAEBxQbIHAADAyayKOa9erYTly/Ms5py4YIFCXVwU7+4uv7AwuZUv74SIAQBAUUayBwAAoIhw8fGR7+23y6dbt6sWc3bNzFTyypVKXr06q5hzWJjca9Z0QsQAAKAoItkDAABQxFx3MeewsKxizi4uhR80AAAoMkj2AAAAFFE2xZyXLs0q5pyZadPXUsy5cmX5hIXJu3VrmdzdnRA1AABwNj72AQAAKAY8atVSmWHDVOb113WialXJwyPXfunR0Yr59ludffllxS9apMyEhEKOFAAAOBvJHgAAgGLEtVw5HahfX2XffFN+/fvLxd8/136ZsbGK++UXnR09WjE//qj08+cLOVIAAOAsLOMCAAAohlzMZvn26CGfrl2vWszZSElR4vLlSlyxQl4hIfIJC5NHrVqFHzAAACg0JHsAAACKMZtizpGRSt2717ajYSh582Ylb94sj5tukk94OMWcAQAooUj2AAAAlAA5izmnHT2q+MjIvIs579un1H37KOYMAEAJxUc5AAAAJYx7zZoqM2yYKowfL5+uXWXy9My1n1Ux54ULKeYMAEAJwcweAACAEsqtfHn5Dxok3169lLhmjRKWL1dmTIxNv8zYWMXNn6/4xYvlfeut8unaVW7lyzshYgAAkB9I9gAAAJRwLj4+/xZz3rQpq5jzqVM2/SjmDABAyUCyBwAAoJQwubvL3K7dv8WcIyIo5gwAQAlEsgcAAKCUMZlM8mrUSF6NGjlWzLlbN3m3aUMxZwAAijg+ngEAACjFLMWc33zz2sWcZ86kmDMAAMUAM3sAAAAgt3LlHCvmvGhRVjHnbt0o5gwAQBHj1Jk9kydPVpMmTeTv7y9/f3+FhoZq0aJFlvOdO3eWyWSy+vfYY49ZXePYsWPq1auXzGazgoKC9Pzzzys9Pb2wbwUAAKBEyC7mHDRhggKGDJFblSq59jNSU5W4YoXOvfqqLk2ZotQjRwo3UAAAkCenzuypVq2a3n77bdWvX1+GYeibb75R3759tXXrVjVs2FCSNHz4cI0bN87yGLPZbPn/jIwM9erVS5UqVdL69esVHR2twYMHy93dXRMmTCj0+wEAACgpTG5u1sWcIyOV+vffth0NQ8lRUUqOipJH/fpZxZwbNaKYMwAATuTUZE/v3r2tjt966y1NnjxZGzdutCR7zGazKlWqlOvjIyIitHv3bi1dulQVK1ZUs2bNNH78eL344ot644035OHhUeD3AAAAUJJZFXM+diyrmPPmzbkXc96/X6n798u1UiX5hoVRzBkAACcpMjV7MjIyNHv2bCUkJCg0NNTS/v333+u7775TpUqV1Lt3b7322muW2T0bNmxQ48aNVbFiRUv/7t276/HHH9euXbvUvHnzXJ8rJSVFKSkpluPY2FhJUlpamtLS0gri9gCnyx7bjHGUZIxzlAZOHeeVK8t38GB533GHklasUMr69TJy/E6VLeP0acXMnKnYX36Rd6dO8urQQS4+PoUfL4ot3s9RGjC+UZCcnuzZuXOnQkNDlZycLF9fX82bN0/BwcGSpPvuu081a9ZUlSpVtGPHDr344ovau3evfv75Z0nS6dOnrRI9kizHp0+fzvM5J06cqLFjx9q0//7771bLxICSaP78+c4OAShwjHOUBkVhnLu1bKnK0dGqduKEPFNTbc4bcXFK/O03xS1cqOjKlXWiWjUle3s7IVIUV0VhnAMFJTEx0dkhoAQzGYZhODOA1NRUHTt2TDExMZozZ46+/vprrVq1ypLwyWn58uXq2rWrDhw4oLp16+rRRx/V0aNHtWTJEkufxMRE+fj4aOHChbr99ttzfc7cZvZUr15d0dHRKleuXP7fJFAEpKWlaf78+erbt6/cmVKPEopxjtKgKI5zIz1dKZs3K2nZMmVER+fd0WSSR7Nm8u7WTe41axZegCh2iuI4B/LbhQsXVLlyZcXExMjf39/Z4aCEcfrMHg8PD9WrV0+SFBISok2bNunjjz/Wl19+adO3TZs2kmRJ9lSqVEl//vmnVZ8zZ85IUp51fiTJ09NTnp6eNu3u7u78MEGJxzhHacA4R2lQpMa5u7s8OnSQb/v21yzmnLp1q1K3bs0q5hwWJs/GjSnmjDwVqXEO5DPGNgqS05M9V8rMzLSadZPTtm3bJEmVK1eWJIWGhuqtt97S2bNnFRQUJEmKjIyUv79/rjODAAAAUHAo5gwAQNHg1GTP6NGjdfvtt6tGjRqKi4vTrFmztHLlSi1ZskQHDx7UrFmz1LNnT5UrV047duzQM888o44dO6pJkyaSpPDwcAUHB+vBBx/Uu+++q9OnT+vVV1/VyJEjc525AwAAgMLhXqOGygwdqoz+/ZWwbJkS16y5ajHnuF9+kfm22+TTqZNcfH2dEDEAACWHU5M9Z8+e1eDBgxUdHa2AgAA1adJES5YsUVhYmI4fP66lS5dq0qRJSkhIUPXq1TVgwAC9+uqrlse7urrqt99+0+OPP67Q0FD5+PhoyJAhGjdunBPvCgAAANlcy5aV/113ybdXLyWuWaOE5cuVefmyTb/MuDjFL1ighMWL5d2unXy6dZNbhQqFHzAAACWAU5M9U6dOzfNc9erVtWrVqmteo2bNmlq4cGF+hgUAAIB85mI2y7d7d/l07aqkTZuUEBmp9JMnbfoZqalKXLlSiatWyatFC/mEhcmjdm0nRAwAQPFV5Gr2AAAAoOQyubnJHBoq77Ztlbp7t+IjI5W6Z49tR8NQclSUkqOi5FGvnnzCwynmDACAnUj2AAAAoNCZTCZ5Nmwoz4YNlXb8uOIjIvIu5nzggFIPHJBrxYpZxZzbtqWYMwAAV8FHIwAAAHAq9+rVVWboUAW99ZZ8wsJk8vLKtV/GmTOK+e47nR09WnG//67M+PhCjhQAgOKBmT0AAAAoElzLlpX/wIFZxZxXr75mMef4RYtkvvVWijkDAHAFkj0AAAAoUly8ve0q5qy0tH+LOTdvLp/wcIo5AwAgkj0AAAAooqyKOe/Zo/iIiLyLOW/ZouQtWyjmDACASPYAAACgiDOZTPIMDpZncLDSjh9XQmSkkjZtunYx527d5B0aSjFnAECpw8cdAAAAKDbcq1dX4COP2FfM+fvvKeYMACiVmNkDAACAYseqmPOaNUpYtoxizgAA/INkDwAAAIotF29v+YaHy6dLFyVt3pxVzPnECduOVxZzDguTR506hR8wAACFgGQPAAAAij2Tm5vMbdvKu00bu4s5u9erJ9+wMHk2aUIxZwBAiUKyBwAAACWGTTHnpUuV9OefuRZzTjtwQJdyFnNu21YmDw8nRA0AQP7iIwwAAACUSO7Vqyvw4YftL+b88suK++03ijkDAIo9ZvYAAACgRHOomPOvvyp+8WKZ27XLKuYcFFT4AQMAcINI9gAAAKBUcKiY86pVSly9mmLOAIBiiWQPAAAAShWbYs6RkUrdvdu2Y85iznXryjc8nGLOAIBigWQPAAAASiWHijkfPKhLkyfLtWJF+XTrJjPFnAEARRgfSwAAAKDUsxRznjBBPuHhVy3mHEsxZwBAEcfMHgAAAOAfrmXKyH/AAPn27KnEtWuzijlfumTTj2LOAICijGQPAAAAcAUXb2/5hoVlFXPetMm+Ys7NmmUVc65bt/ADBgAgB5I9AAAAQB5Mrq7/FnP++28lREQoJa9izlu3KnnrVoo5AwCcjmQPAAAAcA0mk0met9wiz1tuUdqJE0qIjLx2MeegIPmEhVHMGQBQ6PioAQAAAHCAe7Vq9hVzPns2q5jz6NGK+/VXZcTFFXKkAIDSipk9AAAAwHWwu5hzfLzif/tN8UuWZBVz7tpVbhUrOiFiAEBpQbIHAAAAuAE5izknb96s+MhIpR8/btsxRzFnz6ZN5RseTjFnAECBINkDAAAA5AOTq6u827SRV+vW1yzmnLJtm1K2bcsq5hwWJs+mTSnmDADINyR7AAAAgHzkcDHngwezijl36yZzaCjFnAEAN4yPDwAAAIAC4lAx51mzKOYMAMgXzOwBAAAACth1FXMODZVPt24UcwYAOIxkDwAAAFBIrIo5R0UpPiIi72LOq1crcc0aijkDABxGsgcAAAAoZCZXV3m3bi2vVq2yijlHRipl1y7bjjmLOdepI9/wcIo5AwCuiWQPAAAA4CRWxZxPnvy3mHNGhk3ftEOHdOmLLyjmDAC4Jj4SAAAAAIoA96pVFfjQQwp66y2KOQMAbggzewAAAIAixKqY87p1Sli6lGLOAACHkOwBAAAAiiAXb2/5dusmn9tuc6yYc1iYPOrVK/yAAQBFBskeAAAAoAizKua8d68SIiLsKubsExYmr2bNKOYMAKUQyR4AAACgGDCZTPJs0ECeDRrYVcz58pdfUswZAEop0vwAAABAMWNVzLl7d5m8vXPtl13M+cxLLyluwQJlxMYWcqQAAGdgZg8AAABQTLmWKSP/O++Ub8+eSlq7VgnLlinj4kWbfkZCguJ//13xEREUcwaAUoBkDwAAAFDMuXh5ZS3XcqSYc5Mm8g0Pl3vdujKZTIUfNACgwJDsAQAAAEoIm2LOkZFK+esv246GoZTt25Wyfbvca9eWT3i4pZhzRlyczj73nFX3oPffl6ufXyHdBQDgRpHsAQAAAEoYm2LOS5cq6Y8/ci/mfPhwVjHnChXk062bvBo3dkLEAID8RLIHAAAAKMHcq1ZV4JAh8uvbVwkrVihx1SoZSUk2/TLOnVPs//6n2F9+sTmXGRdn+X9m+ABA0UeyBwAAACgFXAMD5d+/v3xvv/2qxZyVSyLo/Nixlv+v/OWXBRkmACAfkOwBAAAAShGrYs5btmQVcz52zNlhAQDyEckeAAAAoBQyubrKu1UrebVsqdR9+3Txww+dHRIAIJ+4ODsAAAAAAM5jMpnkefPNzg4DAJCPmNkDAAAAQEHvvy8pqxhzzho9kuRStqzKjx4tmUzOCA0A4CCSPQAAAACuustW5sWLSo+OZgYQABQTLOMCAAAAcE2Ja9Y4OwQAgJ1I9gAAAACwcPXzU+Uvv5T/XXdZtSdv3arM+HgnRQUAcATJHgAAAAA2vNu2ldxyVH1IT1fihg3OCwgAYDeSPQAAAABsuPj6yqtFC6u2xDVrZBiGkyICANiLZA8AAACAXJk7dLA6zjhzRqn79zspGgCAvUj2AAAAAMiVR/36cq1Y0aotae1aJ0UDALAXyR4AAAAAuTKZTDaze5KiopSZkOCkiAAA9iDZAwAAACBP5tBQm0LNSRs3Oi8gAMA1kewBAAAAkCcXX195NWtm1UahZgAo2kj2AAAAALiqK5dypUdHK+3gQSdFAwC4FpI9AAAAAK7K46ab5BoUZNWWSKFmACiySPYAAAAAuCqTi4vM7dtbtSVt3kyhZgAookj2AAAAALgm79BQydX134a0NCX9+afzAgIA5IlkDwAAAIBrcvX3l1fTplZtFGoGgKKJZA8AAAAAu9gUaj55UmlHjjgnGABAnkj2AAAAALCLR4MGci1f3qotcc0aJ0UDAMgLyR4AAAAAdsmtUHPypk3KTEpyUkQAgNyQ7AEAAABgN+927SSXf/+MMFJTKdQMAEUMyR4AAAAAdnMNCJBnkyZWbRRqBoCihWQPAAAAAIfYFGo+flxpR486KRoAwJVI9gAAAABwiGdwsFzLlbNqo1AzABQdJHsAAAAAOMTk4iLvW2+1akvetEmZyclOiggAkBPJHgAAAAAOM7drJ5lMlmMjJUXJmzY5MSIAQDaSPQAAAAAc5lqmTK6FmgEAzkeyBwAAAMB1ubJQc9rRo0o7dsxJ0QAAspHsAQAAAHBdPBs2lEuZMlZtzO4BAOcj2QMAAADguphcXGS+olBz0p9/KjMlxUkRAQAkkj0AAAAAboD51lutCzUnJyt582YnRgQAcGqyZ/LkyWrSpIn8/f3l7++v0NBQLVq0SJJ08eJFPfXUU7r55pvl7e2tGjVqaNSoUYqJibG6hslksvn3ww8/OON2AAAAgFLHtWxZeTZqZNXGUi4AcC43Zz55tWrV9Pbbb6t+/foyDEPffPON+vbtq61bt8owDJ06dUrvv/++goODdfToUT322GM6deqU5syZY3Wd6dOnq0ePHpbjwMDAQr4TAAAAoPQyt2+vlJ07Lcdphw8r7cQJuVer5sSoAKD0cmqyp3fv3lbHb731liZPnqyNGzdq6NChmjt3ruVc3bp19dZbb+mBBx5Qenq63Nz+DT0wMFCVKlUqtLgBAAAA/MuzcWO5BAQoM8cs/MQ1axRw771OjAoASi+nJntyysjI0OzZs5WQkKDQ0NBc+8TExMjf398q0SNJI0eO1LBhw1SnTh099thjevjhh2XKsW74SikpKUrJUTQuNjZWkpSWlqa0tLR8uBug6Mke24xxlGSMc5QGjHMUVZ6hoUpavNhynPTHH/Lu00cmDw+Hr8U4R2nA+EZBcnqyZ+fOnQoNDVVycrJ8fX01b948BQcH2/Q7f/68xo8fr0cffdSqfdy4cerSpYvMZrMiIiL0xBNPKD4+XqNGjcrzOSdOnKixY8fatP/+++8ym803flNAETZ//nxnhwAUOMY5SgPGOYoar6QktZGU/ZGrkZSktVOm6MwNzMBnnKMkS0xMdHYIKMFMhmEYzgwgNTVVx44dU0xMjObMmaOvv/5aq1atskr4xMbGKiwsTGXLltWCBQvk7u6e5/XGjBmj6dOn6/jx43n2yW1mT/Xq1RUdHa1y5crlz40BRUxaWprmz5+vvn37XvV7CCjOGOcoDRjnKMpiPv9cabt3W47d6tRR4LPPOnwdxjlKgwsXLqhy5cqWFSxAfnL6zB4PDw/Vq1dPkhQSEqJNmzbp448/1pdffilJiouLU48ePeTn56d58+Zd882+TZs2Gj9+vFJSUuTp6ZlrH09Pz1zPubu788MEJR7jHKUB4xylAeMcRZFPhw66nCPZk37okHTunNyrVLmu6zHOUZIxtlGQnLr1em4yMzMts25iY2MVHh4uDw8PLViwQF5eXtd8/LZt21SmTJk8Ez0AAAAACoZX06ZyuWKGAtuwA0Dhc+rMntGjR+v2229XjRo1FBcXp1mzZmnlypVasmSJJdGTmJio7777TrGxsZZCyhUqVJCrq6t+/fVXnTlzRm3btpWXl5ciIyM1YcIEPffcc868LQAAAKBUMrm6yrtdOyXkLNS8caP8+/e/rkLNAIDr49Rkz9mzZzV48GBFR0crICBATZo00ZIlSxQWFqaVK1fqjz/+kCTLMq9shw8fVq1ateTu7q7PPvtMzzzzjAzDUL169fThhx9q+PDhzrgdAAAAoNQzt29vlewxEhOVtGWLzG3bOjEqAChdnJrsmTp1ap7nOnfurGvVju7Ro4d69OiR32EBAAAAuE5uFSrI45ZblLpnj6Utac0akj0AUIiKXM0eAAAAAMWbuUMHq+PUAweUfvq0k6IBgNKHZA8AAACAfOXVtKlc/Pys2ijUDACFh2QPAAAAgHxlcnOTd2ioVVvihg0y0tKcFBEAlC4kewAAAADkO3P79lbHRkKCkrdudVI0AFC6kOwBAAAAkO/cKlaUx803W7Ulrl3rpGgAoHQh2QMAAACgQNgUat67V+lnzjgpGgAoPUj2AAAAACgQXs2ayeTjY9XG7B4AKHgkewAAAAAUCJO7u8xXFGpO2rBBRnq6kyICgNKBZA8AAACAAnPlUq7MuDglb9/upGgAoHQg2QMAAACgwLhVqiSP+vWt2hLXrHFSNABQOpDsAQAAAFCgbAo179mj9HPnnBQNAJR8JHsAAAAAFCivFi1kMput2ijUDAAFh2QPAAAAgAJlcneXd9u2Vm1J69fLyMhwUkQAULKR7AEAAABQ4GwKNcfGUqgZAAoIyR4AAAAABc69ShW5161r1ZZEoWYAKBAkewAAAAAUiitn96Ts2aP08+edFA0AlFwkewAAAAAUCu+QEJm8vf9tMAwlUagZAPIdyR4AAAAAhcLk4SHvNm2s2hIp1AwA+Y5kDwAAAIBCY+7Y0eo4MyZGKTt3OikaACiZSPYAAAAAKDTuVavKvXZtq7ZECjUDQL4i2QMAAACgUNkUat61SxkXLzopGgAoeUj2AAAAAChUXi1byuTl9W+DYShx3TrnBQQAJQzJHgAAAACFysXT07ZQ87p1FGoGgHxCsgcAAABAobtyKVfmpUtK2bXLSdEAQMlCsgcAAABAoXOvXl3uNWtatVGoGQDyh9v1POjYsWM6evSoEhMTVaFCBTVs2FCenp75HRsAAACAEszcoYNijh61HKfs3KmMS5ckX18nRgUAxZ/dM3uOHDmiF198UTVr1lTt2rXVqVMn3X777WrZsqUCAgIUFham2bNnKzMzsyDjBQAAAFBCeLVqJVPOD40NQ4nr1zsvIAAoIexK9owaNUpNmzbV4cOH9eabb2r37t2KiYlRamqqTp8+rYULF6p9+/YaM2aMmjRpok2bNhV03AAAAACKORcvL3m3bm3VlrR2rQw+QAaAG2LXMi4fHx8dOnRI5cqVszkXFBSkLl26qEuXLnr99de1ePFiHT9+XK1atcr3YAEAAACULOYOHaxq9WRcvKi0PXucGBEAFH92JXsmTpxo9wV79Ohx3cEAAAAAKF3ca9aUW/XqSj9+3NKWvH69VKaME6MCgOLN4d24kpKSlJiYaDk+evSoJk2apCVLluRrYAAAAABKhyu3YU/duVMeKSlOigYAij+Hkz19+/bVt99+K0m6fPmy2rRpow8++ED9+vXT5MmT8z1AAAAAACWbd+vWMnl4/NuQmalKp087LyAAKOYcTvZs2bJFHf7JvM+ZM0cVK1bU0aNH9e233+qTTz7J9wABAAAAlGwu3t7yuqLmZ+XoaAo1A8B1cjjZk5iYKD8/P0lSRESE7rzzTrm4uKht27Y6evRovgcIAAAAoOS7cimXd3Ky0vbudVI0AFC8OZzsqVevnn755RcdP35cS5YsUXh4uCTp7Nmz8vf3z/cAAQAAAJR87rVqya1aNau25PXrnRQNABRvDid7xowZo+eee061atVSmzZtFBoaKilrlk/z5s3zPUAAAAAAJZ/JZJK5fXurttTt25URG+ukiACg+HI42TNw4EAdO3ZMmzdv1uLFiy3tXbt21UcffZSvwQEAAAAoPbzbtJHc3f9tyMxUErN7AMBhdid7atSooSeffFIREREqX768mjdvLheXfx/eunVrNWjQoECCBAAAAFDyuZjN8m7Z0qotcd06CjUDgIPsTvbMnDlTnp6eGjlypMqXL6+7775b33//vS5fvlyA4QEAAAAoTa4s1Jxx9qxS9+1zUjQAUDzZnezp1KmTPvjgA+3fv1/r1q1Ts2bN9H//93+qVKmSunTpokmTJunQoUMFGSsAAACAEs69Th25Vq5s1Za4Zo2TogGA4snhmj2S1LBhQ40ePVobN27UkSNHdO+992rZsmVq1KiRGjVqpN9//z2/4wQAAABQCphMJnndeqtVW/LWrcqIi3NSRABQ/FxXsienSpUqafjw4fr11191/vx5jR8/Xp6envkRGwAAAIBSyLNVK2WaTP82ZGQoacMG5wUEAMXMDSd7sqWnp+v8+fPq37+/unXrll+XBQAAAFDKuPj46GxQkFVb4tq1MgzDSREBQPGSb8meXbt2qXbt2vl1OQAAAAClWPQVdXsyzpxR6v79TooGAIqXfEv2AAAAAEB+iQkIkGvFilZtFGoGAPu42duxRYsWVz2flJR0w8EAAAAAgCTpn0LNCT//bGlK3rJFmXffLRdfXycGBgBFn93Jnt27d+uee+7Jc6lWdHS09u3bl2+BAQAAACjdPFu3VsKCBVJ6elZDerqSNm6UDzVCAeCq7E72NGrUSG3atNHjjz+e6/lt27bpq6++yrfAAAAAAJRuLr6+8mreXMmbNlnaEteulblrV5ly7tYFALBid82eW2+9VXv37s3zvJ+fnzp27JgvQQEAAACAJJk7dLA6To+OVtrBg06KBgCKB7tn9nz88cdXPV+3bl2tWLHihgMCAAAAgGweN90k16AgZZw9a2lLXLNGHvXqOTEqACja2I0LAAAAQJFlMplkbt/eqi0pKkqZCQlOiggAij67kj3Hjh1z6KInT568rmAAAAAA4EreoaGSq+u/DWlpSvrjD+cFBABFnF3JnlatWmnEiBHalKMw2pViYmL01Vdf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JKl69eo6f/58/kYHAAAAAEVI0PvvS8oqxpyzRo8keTZvroD773dGWABgxeFkT8uWLfXmm2+qW7duWrVqlSZPnixJOnz4sCpWrJjvAQIAAABAUeHq55fnuZS//5aL2SyTq2shRgQAthxexjVp0iRt2bJFTz75pF555RXVq1dPkjRnzhy1a9cu3wMEAAAAgGIhKUkpe/Y4OwoAcHxmT5MmTax248r23nvvyZUMNgAAAIBSwNXPT5W//FLn335baYcPW9qTo6Lk1aiREyMDgOuY2SNJly9f1tdff63Ro0fr4sWLkqTdu3fr7Nmz+RocAAAAABRlXi1bWh0nb9smIz3dSdEAQBaHkz07duxQ/fr19c477+j999/X5cuXJUk///yzRo8end/xAQAAAECR5d2ihdWxkZiolL//dlI0AJDF4WTPs88+q4cfflj79++Xl5eXpb1nz55avXp1vgYHAAAAAEWZa9mycq9Tx6otOSrKSdEAQBaHkz2bNm3SiBEjbNqrVq2q06dP50tQAAAAAFBceIWEWB2zlAuAszmc7PH09FRsbKxN+759+1ShQoV8CQoAAAAAiguWcgEoahxO9vTp00fjxo1TWlqaJMlkMunYsWN68cUXNWDAgHwPEAAAAACKslyXcm3e7KRoAOA6kj0ffPCB4uPjFRQUpKSkJHXq1En16tWTn5+f3nrrrYKIEQAAAACKNJulXNu3s5QLgNO4OfqAgIAARUZGau3atdqxY4fi4+PVokULdevWrSDiAwAAAIAiz7tFC8XNnm05NhITlbJnj7waN3ZiVABKK4eTPdnat2+v9u3b52csAAAAAFAsZS/lSjt0yNKWHBVFsgeAU9iV7Pnkk0/06KOPysvLS5988slV+44aNSpfAgMAAACA4sQ7JMQ62fPPUi6T23V/xg4A18Wud52PPvpI999/v7y8vPTRRx/l2c9kMpHsAQAAAFAqeYWEKJalXACKALuSPYcPH871/wEAAAAAWVzLlJF73bpKO3jQ0sZSLgDO4NBuXGlpaapbt6727NlTUPEAAAAAQLHl3aKF1XHytm3sygWg0DmU7HF3d1dycnJBxQIAAAAAxdqVW7AbSUlK4cNyAIXMoWSPJI0cOVLvvPOO0slOAwAAAICV7KVcOSVHRTkpGgCllcPJnk2bNunnn39WjRo11L17d915551W/xwxceJEtWrV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88eOHZvLLrssixYtypFHHrnV12ltbU1ra2vH8erVq5MkbW1taWtr2+nXBT3Ba72tx6lk+pxqoM+pBvp8x9QdcsjvR7na23+/0NaW9QsXpmGL+/nQM+hvulKPCXva29vz6U9/OieccEIOPfTQjvUPf/jD2XfffbPnnnvmV7/6Va666qosXbo0P/nJT5IkLS0tZUFPko7jlpaWTr/W1KlT88UvfnGr9VmzZnWESFCpZsyYUXQJ0OX0OdVAn1MN9Pn2O2zQoAz+3//tOH72rruy6LnnCqyIN7J+/fqiS6CC9ZiwZ8KECXn66aczb968svVLL720479HjhyZ4cOH533ve1+WLVuW/ffff4e+1mc/+9lcfvnlHcerV6/OiBEjMm7cuOy22247dgHQw7W1tWXGjBk599xzU19fX3Q50CX0OdVAn1MN9PmO27DXXln7z//ccbzHqlU575xzUtPQUGBVdObll18uugQqWI8IeyZOnJiZM2fmoYceyt577/2m5x577LFJkmeeeSb7779/hg0blscff7zsnJUrVybJG97np6GhIQ2dfLOrr6/3w4SKp8+pBvqcaqDPqQb6fPvVjRqVtf/yL2WjXJuXLEm/Y44ptjC2orfpSoU+jatUKmXixIm54447Mnfu3Oy3337b/JyFCxcmSYYPH54kGT16dJ566qm8+OKLHefMmTMnAwcOzMEHH9wldQMAAPREtf37p+E97ylb2zB/fkHVAEUpNOyZMGFCfvCDH+S2225Lc3NzWlpa0tLSkldffTVJsmzZskyZMiXz58/P888/nzvvvDMXXnhhTjrppBx22GFJkjFjxuTggw/OBRdckF/+8pe55557cu2112bChAmd7t4BAACoZI1b3JB5w9NPp33DhoKqAYpQaNhz0003ZdWqVTnllFMyfPjwjo8f/vCHSZK+ffvmvvvuy5gxY3LQQQflM5/5TM4777zcddddHe9RV1eXmTNnpq6uLqNHj87555+fCy+8MF/60peKuiwAAIDCNB5xxO+fyvWatra0PvVUYfUA3a/Qe/aUSqU3fX3EiBF58MEHt/k+++67b+6+++6dVRYAAECv9dooV+uiRR1rrz7xhPv2QBUpdGcPAAAAO9+Wo1ytixYZ5YIqIuwBAACoMJ2Ocv3qV4XVA3QvYQ8AAECF6eypXK96KhdUDWEPAABABdpqlMtTuaBq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uAAAAAAqiJ09AAAAABVE2AMAAABQQYQ9AAAAABVE2AMAAABQQaoi7Jk2bVre8Y53pLGxMccee2wef/zxNz3/Rz/6UQ466KA0NjZm5MiRufvuu7upUthx29Pn3/3ud3PiiSdm1113za677prTTz99m/8uoCfY3u/nr7n99ttTU1OT8ePHd22BsBNsb5+/8sormTBhQoYPH56Ghoa8613v8v8u9Hjb2+d///d/n3e/+93p169fRowYkUmTJmXDhg3dVC1sv4ceeijnnHNO9txzz9TU1OSnP/3pNj/ngQceyFFHHZWGhoYccMABmT59epfXSeWq+LDnhz/8YS6//PJMnjw5CxYsyOGHH56xY8fmxRdf7PT8Rx55JB/60Idy8cUX58knn8z48eMzfvz4PP30091cObx129vnDzzwQD70oQ/l3//93/Poo49mxIgRGTNmTF544YVurhzeuu3t89c8//zzueKKK3LiiSd2U6Ww47a3zzdu3Jgzzjgjzz//fH784x9n6dKl+e53v5u99tqrmyuHt257+/y2227L1VdfncmTJ2fJkiW5+eab88Mf/jDXXHNNN1cOb926dety+OGHZ9q0aW/p/Oeeey7jxo3LqaeemoULF+bTn/50Lrnkktxzzz1dXCmVquIfvX7sscfmmGOOyTe+8Y0kSXt7e0aMGJFPfvKTufrqq7c6/wMf+EDWrVuXmTNndqwdd9xxOeKII/Ktb32r2+qG7bG9fb6lzZs3Z9ddd803vvGNXHjhhV1dLuyQHenzzZs356STTsrHPvax/OxnP8srr7zylv6yBkXZ3j7/1re+lb/7u7/Lr3/969TX13d3ubBDtrfPJ06cmCVLluT+++/vWPvMZz6Tn//855k3b1631Q07qqamJnfccceb7jC+6qqrMmvWrLJNBh/84AfzyiuvZPbs2d1QJZWmonf2bNy4MfPnz8/pp5/esVZbW5vTTz89jz76aKef8+ijj5adnyRjx459w/OhaDvS51tav3592traMnjw4K4qE96WHe3zL33pSxkyZEguvvji7igT3pYd6fM777wzo0ePzoQJEzJ06NAceuihuf7667N58+buKhu2y470+fHHH5/58+d3jHo9++yzufvuu3PWWWd1S83QHfweys7Wp+gCutJLL72UzZs3Z+jQoWXrQ4cOza9//etOP6elpaXT81taWrqsTng7dqTPt3TVVVdlzz333OoHDPQUO9Ln8+bNy80335yFCxd2Q4Xw9u1Inz/77LOZO3duPvKRj+Tuu+/OM888k7/6q79KW1tbJk+e3B1lw3bZkT7/8Ic/nJdeeinvfe97UyqVsmnTpnziE58wxkVFeaPfQ1evXp1XX301/fr1K6gyequK3tkDbNtXvvKV3H777bnjjjvS2NhYdDmwU6xZsyYXXHBBvvvd72b33XcvuhzoMu3t7RkyZEi+853vZNSoUfnABz6Qz33uc0bPqSgPPPBArr/++nzzm9/MggUL8pOf/CSzZs3KlClTii4NoMeq6J09u+++e+rq6rJy5cqy9ZUrV2bYsGGdfs6wYcO263wo2o70+WtuvPHGfOUrX8l9992Xww47rCvLhLdle/t82bJlef7553POOed0rLW3tydJ+vTpk6VLl2b//ffv2qJhO+3I9/Phw4envr4+dXV1HWvvec970tLSko0bN6Zv375dWjNsrx3p889//vO54IILcskllyRJRo4cmXXr1uXSSy/N5z73udTW+vs1vd8b/R46cOBAu3rYIRX9nbFv374ZNWpU2c3c2tvbc//992f06NGdfs7o0aPLzk+SOXPmvOH5ULQd6fMkueGGGzJlypTMnj07Rx99dHeUCjtse/v8oIMOylNPPZWFCxd2fLz//e/veMLFiBEjurN8eEt25Pv5CSeckGeeeaYjzEyS3/zmNxk+fLighx5pR/p8/fr1WwU6rwWcFf6sGaqI30PZ6UoV7vbbby81NDSUpk+fXlq8eHHp0ksvLe2yyy6llpaWUqlUKl1wwQWlq6++uuP8hx9+uNSnT5/SjTfeWFqyZElp8uTJpfr6+tJTTz1V1CXANm1vn3/lK18p9e3bt/TjH/+4tGLFio6PNWvWFHUJsE3b2+dbuuiii0rnnntuN1ULO2Z7+3z58uWl5ubm0sSJE0tLly4tzZw5szRkyJDS3/zN3xR1CbBN29vnkydPLjU3N5f+5V/+pfTss8+W7r333tL+++9f+vM///OiLgG2ac2aNaUnn3yy9OSTT5aSlL761a+WnnzyydJ//ud/lkqlUunqq68uXXDBBR3nP/vss6WmpqbSlVdeWVqyZElp2rRppbq6utLs2bOLugR6uYoe40p+/yj1//7v/84XvvCFtLS05Igjjsjs2bM7bn61fPnysr8UHH/88bntttty7bXX5pprrsmBBx6Yn/70pzn00EOLugTYpu3t85tuuikbN27Mn/7pn5a9z+TJk3Pdddd1Z+nwlm1vn0NvtL19PmLEiNxzzz2ZNGlSDjvssOy1117567/+61x11VVFXQJs0/b2+bXXXpuamppce+21eeGFF7LHHnvknHPOyZe//OWiLgG26Yknnsipp57acXz55ZcnSS666KJMnz49K1asyPLlyzte32+//TJr1qxMmjQpX//617P33nvne9/7XsaOHdvttVMZakolex8BAAAAKoU/gQIAAABUEGEPAAAAQAUR9gAAAABUEGEPAAAAQAUR9gAAAABUEGEPAAAAQAUR9gAAAABUEGEPAAAAQAUR9gAA3a6mpiY//elPkyTPP/98ampqsnDhwkJrAgCoFMIeAKgyH/3oR1NTU5OamprU19dnv/32y//7f/8vGzZsKLo0AAB2gj5FFwAAdL8zzzwzt9xyS9ra2jJ//vxcdNFFqampyd/+7d8WXRoAAG+TnT0AUIUaGhoybNiwjBgxIuPHj8/pp5+eOXPmJEna29szderU7LfffunXr18OP/zw/PjHPy77/EWLFuXss8/OwIED09zcnBNPPDHLli1LkvziF7/IGWeckd133z2DBg3KySefnAULFnT7NQIAVCthDwBUuaeffjqPPPJI+vbtmySZOnVq/umf/inf+ta3smjRokyaNCnnn39+HnzwwSTJCy+8kJNOOikNDQ2ZO3du5s+fn4997GPZtGlTkmTNmjW56KKLMm/evDz22GM58MADc9ZZZ2XNmjWFXSMAQDUxxgUAVWjmzJkZMGBANm3alNbW1tTW1uYb3/hGWltbc/311+e+++7L6NGjkyTvfOc7M2/evHz729/OySefnGnTpmXQoEG5/fbbU19fnyR517ve1fHep512WtnX+s53vpNddtklDz74YM4+++zuu0gAgCol7AGAKnTqqafmpptuyrp16/K1r30tffr0yXnnnZdFixZl/fr1OeOMM8rO37hxY4488sgkycKFC3PiiSd2BD1bWrlyZa699to88MADefHFF7N58+asX78+y5cv7/LrAgBA2AMAVal///454IADkiT/+I//mMMPPzw333xzDj300CTJrFmzstdee5V9TkNDQ5KkX79+b/reF110UV5++eV8/etfz7777puGhoaMHj06Gzdu7IIrAQBgS8IeAKhytbW1ueaaa3L55ZfnN7/5TRoaGrJ8+fKcfPLJnZ5/2GGH5dZbb01bW1unu3sefvjhfPOb38xZZ52VJPntb3+bl156qUuvAQCA17lBMwCQP/uzP0tdXV2+/e1v54orrsikSZNy6623ZtmyZVmwYEH+4R/+IbfeemuSZOLEiVm9enU++MEP5oknnsh//Md/5Pvf/36WLl2aJDnwwAPz/e9/P0uWLMnPf/7zfOQjH9nmbiAAAHYeO3sAgPTp0ycTJ07MDTfckOeeey577LFHpk6dmmeffTa77LJLjjrqqFxzzTVJkt122y1z587NlVdemZNPPjl1dXU54ogjcsIJJyRJbr755lx66aU56qijMmLEiFx//fW54oorirw8AICqUlMqlUpFFwEAAADAzmGMCwAAAKCCCHsAAAAAKoiwBwAAAKCCCHsAAAAAKoiwBwAAAKCCCHsAAAAAKoiwBwAAAKCCCHsAAAAAKoiwBwAAAKCCCHsAAAAAKoiwBwAAAKCC/H8RolVIIffBRwAAAABJRU5ErkJggg==
\ No newline at end of file
+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RGzdu9HteJpNJO3fu1IwZM3zjRXWITH7725y7t0vu+82CBQt09913q0qVKoqMjNRNN90U8D6Ql3Xr1umWW25R48aNFRYWppo1a+q2224LWCmW+363fft23XLLLYqOjlZUVJRuvfVWud1uv9rMzEw98sgjqlatmiIiIjRixAjt27fvglmSkpLUtWtXSdKtt97qe00nTpzoq5kyZYo6d+4su92uqlWr6oYbbrjgocQXmpu5Fi1apG7duiksLEyNGzfWl19+GXBfBZ1XeTnf90Bee/asW7dOsbGxstvtqlu3rl566SV9/vnn+c6z8+Uv6Gtwtrw+4wryfnw+X3/9tZo3b66wsDB17txZCxYsCKjZv3+/brvtNtWoUUM2m02tW7fWZ5995rv+fPMkLi5OM2bM0O7du33jZ39uFvSzInePoa+//tr3WfDrr78W+HkCQEXBnwSAciz3B85KlSr5xjZu3KhevXqpTp06evLJJ+V0OvXdd99p5MiR+v777zVq1ChJZzY27dOnjzZv3qzbbrtNnTp10rFjxzR9+nTt27dPVatW1enTp/XJJ5/o2muv1Z133qnU1FR9+umnGjx4sJYvX15ky/x//vlnhYWF5bs6qVGjRurdu7cSEhKUkZFR6L/uTZo0STfffLMGDx6sV199VW63WxMmTFDv3r21evVqvx9Gs7OzNXjwYPXu3VtvvPGGHA5Hvvd79913a+LEibr11lv10EMPaefOnXr33Xe1evVqLV68WFarVUeOHNGgQYNUrVo1Pfnkk4qOjtauXbvybNjkZdu2bfrLX/6ie+65RzfffLM+//xzXX311fr11181cOBASZLb7VZsbKz279+vu+++W/Xr19eSJUv01FNP6eDBgwH7J3z++efKyMjQXXfdJZvNpsqVK+f52Bs3btQVV1yhdu3a6YUXXpDNZtP27du1ePFiX43X69WIESO0aNEi3XXXXWrZsqXWr1+vt956S1u3btVPP/3kqx03bpyef/559ezZUy+88IJCQ0P122+/af78+Ro0aJCkM7/gjBs3TgMGDNC9996rLVu2aMKECVqxYoXvNc118uRJDRkyRFdddZXGjh2rqVOn6oknnlDbtm11+eWXS5LS09PVv39/7dmzRw899JBq166tSZMmaf78+QV6/XP3i+rUqVOB6vNz6NAhrV692tewLMy86Ny5s9566y1t3Lgx3xVEffv21UMPPaR///vfevrpp9WyZUtJ8v1XOnOoyrXXXqu7775bd955p5o3by7pzOForVu31ogRIxQSEqKff/5Z9913n7xer+6//37f7Z999lm99NJLGjp0qIYOHapVq1Zp0KBBysrK8stS0PloGIZGjBihxMRE3X777erQoYNmz56txx57TPv379dbb72latWqadKkSXr55ZeVlpam8ePH+57XpEmT9Mgjj6hu3br629/+JkmqVq3axXx5LtkDDzyg6OhoPf/88745u3v3bl9TKj9z587Vn3/+qVtvvVU1a9bUxo0b9dFHH2njxo1atmxZwG3Hjh2rRo0aafz48Vq1apU++eQTVa9eXa+++qqv5o477tBXX32l6667Tj179tT8+fMLdOhgy5Yt9cILL+jZZ5/VXXfd5ftjQs+ePSXJ917XtWtXjR8/XocPH9Y777yjxYsXa/Xq1XmuvJIKNje3b9+uMWPG6Pbbb9fNN9+szz77TLfccos6d+7sWwlX2Pe5vOT3PXCu/fv3+5oyTz31lJxOpz755JN8VwBdKH9BXoMLKcj78fkkJyfr22+/1UMPPSSbzab3339fQ4YM0fLly33vK4cPH1aPHj18zZZq1app1qxZuv3223X69Gk9/PDD550nderUUUpKivbt2+c75DI8PFxS4T4rpDOHaH733Xd64IEHVLVq1VJ5+B8ABJ0BoMz7/PPPDUlGQkKCcfToUWPv3r3G1KlTjWrVqhk2m83Yu3evr7Z///5G27ZtjYyMDN+Y1+s1evbsaTRr1sw39uyzzxqSjB9++CHg8bxer2EYhpGdnW1kZmb6XXfy5EmjRo0axm233eY3Lsl47rnnAjLv3Lnzgs8vOjraaN++/XlrHnroIUOSsW7dOsMwDOO5554z8nqLO/dxU1NTjejoaOPOO+/0qzt06JARFRXlN37zzTcbkownn3wy4H5vvvlmo0GDBr7LCxcuNCQZX3/9tV/dr7/+6jf+448/GpKMFStWnPf55aVBgwaGJOP777/3jaWkpBi1atUyOnbs6Bt78cUXDafTaWzdutXv9k8++aRhsViMPXv2GIZhGDt37jQkGZGRkcaRI0cu+PhvvfWWIck4evRovjWTJk0yzGazsXDhQr/xDz74wJBkLF682DAMw9i2bZthNpuNUaNGGTk5OX61ufPtyJEjRmhoqDFo0CC/mnfffdeQZHz22We+sdjYWEOS8eWXX/rGMjMzjZo1axqjR4/2jb399tuGJOO7777zjblcLqNp06aGJCMxMfG8r8EzzzxjSDJSU1PPW9e6dWsjNjY23+s//fRTw263G2632zCMws2LJUuWGJKMb7/99rx1U6ZMyfc55c6lX3/9NeC63ExnGzx4sNG4cWPf5dyvzbBhw3xfL8MwjKefftqQZNx8882+sYLOx59++smQZLz00kt+dWPGjDFMJpOxfft231hsbKzRunXrPJ/XsGHDAsYv1bnvZ2c/3tnPNff9pnPnzkZWVpZv/LXXXjMkGdOmTTvv4+T12v+///f/DEnGggULfGO573fnvu+OGjXKqFKliu/ymjVrDEnGfffd51d33XXX5fuczrZixQpDkvH555/7jWdlZRnVq1c32rRpY6Snp/vGf/nlF0OS8eyzz573fgsyN89+vkeOHDFsNpvxt7/9zTdW0HmVn/N9D5z7dX3wwQcNk8lkrF692jd2/Phxo3LlygGfawXNf77XIC/nfsYV5P04P5IMScbvv//uG9u9e7cRFhZmjBo1yjd2++23G7Vq1TKOHTvmd/trrrnGiIqK8s3X/OaJYRjGsGHD/D4rcxX0syI3r9lsNjZu3Fjo5woAFQmHcQHlyIABA1StWjXVq1dPY8aMkdPp1PTp01W3bl1J0okTJzR//nyNHTtWqampOnbsmI4dO6bjx49r8ODB2rZtm2/J/ffff6/27dv7VvqcLfevyRaLxbeXi9fr1YkTJ5Sdna0uXbpo1apVRfa8UlNTFRERcd6a3OtTU1MLdd9z587VqVOndO211/pej2PHjslisah79+55HpJWkI2gp0yZoqioKA0cONDvfjt37qzw8HDf/eb+tfuXX36Rx+MpVHZJql27tt/XKPcQkdWrV+vQoUO+LH369FGlSpX8sgwYMEA5OTkBS/VHjx5doBUQudmnTZuW72ESU6ZMUcuWLdWiRQu/x87dXyb3dfjpp5/k9Xr17LPPBhz6lDvfEhISlJWVpYcfftiv5s4771RkZKRmzJjhd7vw8HDdcMMNvsuhoaHq1q2b/vzzT9/YzJkzVatWLY0ZM8Y35nA4dNddd13w+UtnTn8eEhLi++v0xZo5c6bi4+N9e+QUZl7krtzLPbzyYjVq1EiDBw8OGD97356UlBQdO3ZMsbGx+vPPP5WSkiLpf1+bBx980G+1SV6bsBZ0Ps6cOVMWi0UPPfSQ3+3/9re/yTAMzZo165Keb0m66667/Fad3XvvvQoJCdHMmTPPe7uzX/uMjAwdO3bMty9ZXu+x99xzj9/lPn366Pjx4zp9+rQk+R7v3Nf0UjfL/f3333XkyBHdd999fisrhw0bphYtWgR8bxZWq1atfCtEpDMrtJo3b+73vVzY97m85Pc9cK5ff/1VMTExfqtXK1eu7Dus92LyX6qCvB+fT0xMjDp37uy7XL9+fV155ZWaPXu2cnJyZBiGvv/+ew0fPlyGYfi9xoMHD1ZKSsolfe4X9LMiV2xsLPtxAcAFcBgXUI689957uuyyy5SSkqLPPvtMCxYs8FtWvn37dhmGoX/84x/5nq75yJEjqlOnjnbs2KHRo0df8DG/+OIL/etf/9Iff/zh90tpo0aNCpU9JSVF6enpvsuhoaG+w4ciIiIu2MTJvb569eqFetxt27ZJUr6b20ZGRvpdDgkJ8TXPLnS/KSkp+eY5cuSIpDM/sI4ePVrjxo3TW2+9pbi4OI0cOVLXXXddgTYFbdq0acChHJdddpmkM4fx1axZU9u2bdO6devybeDkZslV0K/dX/7yF33yySe644479OSTT6p///666qqrNGbMGF8zZtu2bdq8efMFH3vHjh0ym83n/eF99+7dkhRwaEVoaKgaN27suz5X3bp1A16bSpUqad26dX73mddrmN/hG8XB4/Fo7ty5vkOQpMLNC+O/+9ec73Cggsjv67548WI999xzWrp0acD+LykpKYqKivK99s2aNfO7vlq1an6HkUoq8HzcvXu3ateuHdDozT205dyv96U4ceKE3+FmdrtdUVFRRXb/574u4eHhqlWr1gX3EDpx4oTGjRunb775JuD7NLfRdrb69ev7Xc597U+ePKnIyEjt3r1bZrM5YO+zS53v+X1vSlKLFi20aNGiS7r/c5+XdOa5nb3vUWHf5/JS0Pe+3bt3KyYmJmC8adOmedYXJP+lKsj78fmcO0elM58lbrdbR48eldls1qlTp/TRRx/po48+yvM+CvIa56egnxW5CvszBgBURDR7gHKkW7duvrNxjRw5Ur1799Z1112nLVu2KDw83PfXvkcffTTfv17m98NqXr766ivdcsstGjlypB577DFVr15dFotF48ePD9gU+kL+7//+z7fRsnTml93czSlbtWqlVatWKTMzM98GyLp16xQaGqo6depIyv8X35ycHL/Lua/JpEmTVLNmzYD6c892YrPZCvSDs9frVfXq1fX111/neX3uD7Qmk0lTp07VsmXL9PPPP2v27Nm67bbb9K9//UvLli275BUjuVkGDhyoxx9/PM/rc5tDuQp6Bia73a4FCxYoMTFRM2bM0K+//qpvv/1W/fr105w5c2SxWOT1etW2bVu9+eabed5HvXr1CvdkCsFiseQ5bpxnI+PCqlKlirKzswu0+iw/ixYt0unTpzV06FDfWGHmRe4vjFWrVr2k55LX133Hjh3q37+/WrRooTfffFP16tVTaGioZs6cqbfeeuuiVhAUdj6WhKuuukrJycm+yzfffLPfxsMFde77y6UaO3aslixZoscee0wdOnTwvY8PGTIkz9e+JOZ8MBTkeRXFvCqus8+VxNelIO/HlyJ3vt1www26+eab86xp167dJd1/YT4rysqZAgEgmGj2AOVUbtMlPj5e7777rp588kk1btxYkmS1WvM8e9DZmjRpog0bNpy3ZurUqWrcuLF++OEHv+bKc889V+i8jz/+uN8hN2evBhg+fLiWLFmiKVOm+NXk2rVrlxYuXKgrr7zS9wNg7u1PnTrltzHouasBcv/CXb169Qu+JoXRpEkTJSQkqFevXgX6obRHjx7q0aOHXn75ZU2ePFnXX3+9vvnmG91xxx3nvV3uaq2zX/+tW7dKkm/DyiZNmigtLa1In18us9ms/v37q3///nrzzTf1yiuv6O9//7sSExM1YMAANWnSRGvXrlX//v3Pu/KkSZMm8nq92rRpU74bezdo0EDSmU1Uc+eydOascDt37ryo59egQQNt2LAh4DXcsmVLgW7fokULSWfOynWxv+jMmDFDrVq1ynOD0YLMi507d0q68GauF7Py5+eff1ZmZqamT5/utzrh3EMqcr8227Zt8/vaHD16NGD1QkHnY4MGDZSQkBDQSPvjjz/8HrMo/Otf//LLWbt27fPWV6pUKeAMcFlZWTp48GCe9du2bVN8fLzvclpamg4ePOjX4DvXyZMnNW/ePI0bN07PPvus331drAYNGsjr9WrHjh1+q3AKOt/zm0Nnf2+eu0pyy5YtF/xaXeqqNKl43+fO1aBBA23fvj1gPK+xgiqK1+BC78fnk9e82rp1qxwOh++PExEREcrJybngfZ3vueR3XUE/KwAABceePUA5FhcXp27duuntt99WRkaGqlevrri4OH344Yd5/lJy9OhR3/+PHj1aa9eu1Y8//hhQl/vXyNy/FJ7918nffvtNS5cuLXTWVq1aacCAAb5/Z+8dcPfdd6tmzZp67LHHAvY4yMjI8J3e9ey/6OY2cc7ep8HlcvmtHpKkwYMHKzIyUq+88kqee6Oc/ZoUxtixY5WTk6MXX3wx4Lrs7GzfL4onT54M+OtubrOjIKf/PnDggN/X6PTp0/ryyy/VoUMH30qlsWPHaunSpZo9e3bA7U+dOqXs7OyCPi0/J06cCBg7N/vYsWO1f/9+ffzxxwG16enpcrlcks6sRDObzXrhhRcCVizkvj4DBgxQaGio/v3vf/u9Zp9++qlSUlIKdEahcw0dOlQHDhzQ1KlTfWNutzvfwxTOlXsox++//17ox841c+bMgOyFmRcrV65UVFSU76xE+XE6nZIU0KQ4n7y+x1NSUvT555/71Q0YMEBWq1X/+c9//GrzOgNSQefj0KFDlZOTo3fffdev5q233pLJZPKdUa0odO7c2e/950J7gTRp0iRgD5iPPvoo35U9H330kd/7y4QJE5SdnX3e55DXay/l/ZoWVO7j/fvf/76o+8xvDnXp0kXVq1fXBx984Dc/Z82apc2bN1/we/Ni5ua5iut9Li+DBw/W0qVLtWbNGt/YiRMn8l3JWRCX+hoU5P34fJYuXeq3587evXs1bdo0DRo0SBaLRRaLRaNHj9b333+f5x+Czv6sPN9zcTqdeR6CWNDPCgBAwbGyByjnHnvsMV199dWaOHGi7rnnHr333nvq3bu32rZtqzvvvFONGzfW4cOHtXTpUu3bt09r16713W7q1Km6+uqrddttt6lz5846ceKEpk+frg8++EDt27fXFVdcoR9++EGjRo3SsGHDtHPnTn3wwQdq1aqV0tLSiuw5VKpUSVOnTtXQoUPVqVMn3XHHHWrVqpUOHTqkiRMn6s8//9S7776r7t27+24zaNAg1a9fX7fffrsee+wxWSwWffbZZ6pWrZr27Nnjq4uMjNSECRN04403qlOnTrrmmmt8NTNmzFCvXr0CftksiNjYWN19990aP3681qxZo0GDBslqtWrbtm2aMmWK3nnnHY0ZM0ZffPGF3n//fY0aNUpNmjRRamqqPv74Y0VGRp73r/65LrvsMt1+++1asWKFatSooc8++0yHDx/2+2X8scce0/Tp03XFFVf4Tvfrcrm0fv16TZ06Vbt27bqoQ4BeeOEFLViwQMOGDVODBg105MgRvf/++6pbt6569+4tSbrxxhv13Xff6Z577lFiYqJ69eqlnJwc/fHHH/ruu+80e/ZsdenSRU2bNtXf//53vfjii+rTp4+uuuoq2Ww2rVixQrVr19b48eNVrVo1PfXUUxo3bpyGDBmiESNGaMuWLXr//ffVtWvXPFd9Xcidd96pd999VzfddJNWrlypWrVqadKkSXI4HAW6fePGjdWmTRslJCTotttu87tuwYIFvobA0aNH5XK59NJLL0k6c7rpvn37aufOndq8ebMmTJjgd9vCzIu5c+dq+PDhF/xreIcOHWSxWPTqq68qJSVFNptN/fr1O+8+V4MGDVJoaKiGDx+uu+++W2lpafr4449VvXp1v4ZxtWrV9Oijj2r8+PG64oorNHToUK1evVqzZs0KmFsFnY/Dhw9XfHy8/v73v2vXrl1q37695syZo2nTpunhhx8O2HemJN1xxx265557NHr0aA0cOFBr167V7Nmz8/0+ysrKUv/+/TV27FjfnO3du7dGjBiR72NERkaqb9++eu211+TxeFSnTh3NmTPHt5LrYnTo0EHXXnut3n//faWkpKhnz56aN29egVekNGnSRNHR0frggw8UEREhp9Op7t27q1GjRnr11Vd16623KjY2Vtdee63v1OsNGzbUI488csFchZ2b5yqu97m8PP744/rqq680cOBAPfjgg75Tr9evX18nTpy4qJUpl/oaFOT9+HzatGmjwYMH+516XZLGjRvnq/nnP/+pxMREde/eXXfeeadatWqlEydOaNWqVUpISPA1nM43Tzp37qxvv/1Wf/3rX9W1a1eFh4dr+PDhBf6sAAAUQsme/AtAccg9vW9ep2nOyckxmjRpYjRp0sTIzs42DMMwduzYYdx0001GzZo1DavVatSpU8e44oorjKlTp/rd9vjx48YDDzxg1KlTxwgNDTXq1q1r3Hzzzb7Trnq9XuOVV14xGjRoYNhsNqNjx47GL7/8EnAacsO4tFOv59q1a5dx1113GfXr1zdCQkJ8p4tNSEjIs37lypVG9+7djdDQUKN+/frGm2++me/jJiYmGoMHDzaioqKMsLAwo0mTJsYtt9zidyram2++2XA6nXk+Vl7P2TAM46OPPjI6d+5s2O12IyIiwmjbtq3x+OOPGwcOHDAMwzBWrVplXHvttUb9+vUNm81mVK9e3bjiiiv8Hjc/uaeVnj17ttGuXTvDZrMZLVq0MKZMmRJQm5qaajz11FNG06ZNjdDQUKNq1apGz549jTfeeMN3SujcU6+//vrrF3xswzCMefPmGVdeeaVRu3ZtIzQ01Khdu7Zx7bXXBpz6OCsry3j11VeN1q1bGzabzahUqZLRuXNnY9y4cUZKSopf7WeffWZ07NjRVxcbG2vMnTvXr+bdd981WrRoYVitVqNGjRrGvffea5w8edKvJr9Tcef1ddq9e7cxYsQIw+FwGFWrVjX+7//+z/j1118LfBrkN9980wgPDw84TXbuqZHz+pf7vfDuu+8aUVFRhsfj8bttQefF5s2bz/s9cK6PP/7YaNy4sWGxWPye3/lOUT59+nSjXbt2RlhYmNGwYUPj1VdfNT777LOA76OcnBxj3LhxRq1atQy73W7ExcUZGzZsCDhttWEUbD7m1j3yyCNG7dq1DavVajRr1sx4/fXX/U7vbhglf+r1nJwc44knnjCqVq1qOBwOY/Dgwcb27dvzPfV6cnKycddddxmVKlUywsPDjeuvv944fvz4BR9n3759xqhRo4zo6GgjKirKuPrqq40DBw4EvJ/mzrVzT7ud1/tdenq68dBDDxlVqlQxnE6nMXz4cGPv3r0FOvW6YRjGtGnTjFatWvneg88+vfa3337r+/6tXLmycf311xv79u274H0aRuHnZmxsrBEbG+s3VtB5lZfzzZW85vDq1auNPn36GDabzahbt64xfvx449///rchyTh06NAF7zev/Pm9Bnk599TrBX0/zosk4/777ze++uoro1mzZr7P87we//Dhw8b9999v1KtXz7BarUbNmjWN/v37Gx999JFfXX7zJC0tzbjuuuuM6OhoQ5Lf+3FBPyty8wIAzs9kGGV81z4AFda8efM0dOhQ9e7dW7NmzfKdBr6iaNiwodq0aaNffvkl2FEqtJSUFDVu3Fivvfaabr/99kLddujQoQoPD9d33313UY/98MMPa8GCBVq5ciX7XJRCEydO1K233qoVK1awKqECePjhh/Xhhx8qLS3tkjdEBgDgUrFnD4Ayq3///vriiy+UmJioW2+9tcyfcQZlU1RUlB5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55s9X1LXXBjcYAARRgZs9mzZt0jXXXJPvoVoHDx7U1q1biywYAAAAAFyIOSxMjj595JozxzeWvmSJIkaMkNnpDGIyAAieAjd72rRpo+7du+vee+/N8/o1a9bo448/LrJgAAAAAFAQzvh4uRISJK9XkmRkZcm9YIHCL788yMkAIDgKvGdPr169tGXLlnyvj4iIUN++fYskFAAAAAAUlKVyZYV16eI35kpMlJGdHaREABBcBV7Z884775z3+iZNmigxMfGSAwEAAABAYYUPGKCM5ct9l70pKUpfsUKOmJggpgKA4OBsXAAAAADKPGuDBgq97DK/MVdCggzDCFIiAAieAjV79uzZU6g73b9//0WFAQAAAICL5RwwwO9y9r59yvrjjyClAYDgKVCzp2vXrrr77ru1YsWKfGtSUlL08ccfq02bNvr++++LLCAAAAAAFIStbVtZqlf3G3MlJAQpDQAET4H27Nm0aZNefvllDRw4UGFhYercubNq166tsLAwnTx5Ups2bdLGjRvVqVMnvfbaaxo6dGhx5wYAAAAAPyazWc4BA3R68mTfWOaGDfIcPChrrVpBTAYAJatAK3uqVKmiN998UwcPHtS7776rZs2a6dixY9q2bZsk6frrr9fKlSu1dOlSGj0AAAAAgsYREyOT0+k3xuoeABVNgc/GJUl2u11jxozRmDFjiisPAAAAAFw0U2ionH37Km3WLN9Y+rJlirjySlkiI4OYDABKDmfjAgAAAFCuOOLjpZCz/q6dnS13cnLwAgFACaPZAwAAAKBcsURFyd61q9+YOzlZhscTpEQAULJo9gAAAAAod849Dbs3NVXpv/0WpDQAULJo9gAAAAAod6x16yq0ZUu/MVdCggzDCFIiACg5NHsAAAAAlEvnru7JPnhQmRs3BikNAJScAp2Na/r06QW+wxEjRlx0GAAAAAAoKrbWrRVSq5ayDx70jbkSEhTWpk0QUwFA8StQs2fkyJF+l00mk9/yR5PJ5Pv/nJycokkGAAAAAJfAZDLJOWCAUiZN8o1lbd4sz969starF8RkAFC8CnQYl9fr9f2bM2eOOnTooFmzZunUqVM6deqUZs6cqU6dOunXX38t7rwAAAAAUGD27t1ljojwG3PNmxekNABQMgq0sudsDz/8sD744AP17t3bNzZ48GA5HA7ddddd2rx5c5EGBAAAAICLZbJa5YiLU9rPP/vG0pcvV8TIkbJERwcvGAAUo0Jv0Lxjxw5F5/GmGBUVpV27dhVBJAAAAAAoOo7YWMlq/d9ATo5cSUlBywMAxa3QzZ6uXbvqr3/9qw4fPuwbO3z4sB577DF169atSMMBAAAAwKWyRETI0aOH35h7wQJ5MzODlAgAilehmz2fffaZDh48qPr166tp06Zq2rSp6tevr/379+vTTz8tjowAAAAAcEnOPQ274XIpfenSIKUBgOJV6D17mjZtqnXr1mnu3Ln6448/JEktW7bUgAED/M7KBQAAAAClRUjNmrK1bavM9et9Y6558+To21cmc6H/Bg4ApVqhmz3SmVMYDho0SIMGDSrqPAAAAABQLJwDBvg1e3KOHFHmunUK69AheKEAoBhcVLNn3rx5mjdvno4cOSKv1+t33WeffVYkwQAAAACgKIU2b66QevWUvXevb8yVkECzB0C5U+j1iuPGjdOgQYM0b948HTt2TCdPnvT7BwAAAAClkclkCti7J2vbNmVxVmEA5UyhV/Z88MEHmjhxom688cbiyAMAAAAAxcbepYtSf/xR3lOnfGOuhASF3nFH8EIBQBEr9MqerKws9ezZsziyAAAAAECxMoWEyBkf7zeWsXKlck6cCFIiACh6hW723HHHHZo8eXJxZAEAAACAYufo00em0ND/DXi9cs2fH7xAAFDECn0YV0ZGhj766CMlJCSoXbt2slqtfte/+eabRRYOAAAAAIqa2emUvWdPuZOSfGPuhQsVfsUVMoeFBS8YABSRQjd71q1bpw7/3a1+w4YNfteZTKYiCQUAAAAAxcnZv7/cycmSYUiSjIwMpS9aFLCBMwCURYVu9iQmJhZHDgAAAAAoMSHVq8vWvr0y16zxjbnmz5cjPl4miyV4wQCgCBR6z56z7du3T/v27SuqLAAAAABQYsIHDvS7nHP8uDLOav4AQFlV6GaP1+vVCy+8oKioKDVo0EANGjRQdHS0XnzxRXm93uLICAAAAABFztqkiawNG/qNuebODU4YAChChW72/P3vf9e7776rf/7zn1q9erVWr16tV155Rf/5z3/0j3/8ozgyAgAAAECRM5lMAXv0eHbuVNaOHUFKBABFo9B79nzxxRf65JNPNGLECN9Yu3btVKdOHd133316+eWXizQgAAAAABSXsE6dZKlcWTknTvjGXAkJCm3SJIipAODSFHplz4kTJ9SiRYuA8RYtWujEWW+QAAAAAFDamSwWOfr18xvLWL1a2UePBikRAFy6Qjd72rdvr3fffTdg/N1331X79u2LJBQAAAAAlBRH794yhYX9b8Aw5Jo/P3iBAOASFfowrtdee03Dhg1TQkKCYmJiJElLly7V3r17NXPmzCIPCAAAAADFyWy3y9G7t1wJCb6x9MWLFTF8uMwORxCTAcDFKfTKntjYWG3ZskWjRo3SqVOndOrUKV111VXasmWL+vTpUxwZAQAAAKBYOfr1k8z/+/XIyMyUe+HCICYCgItX6JU9klSnTh02YgYAAABQboRUqaKwTp2U8fvvvjHX/PlyDhggk8USxGQAUHiFXtnz+eefa8qUKQHjU6ZM0RdffFEkoQAAAACgpJ17GnbvqVN+zR8AKCsK3ewZP368qlatGjBevXp1vfLKK4W6rwkTJqhdu3aKjIxUZGSkYmJiNGvWLN/1GRkZuv/++1WlShWFh4dr9OjROnz4sN997NmzR8OGDZPD4VD16tX12GOPKTs7u7BPCwAAAEAFF9qokaxNm/qNpSUkyDCMICUCgItT6GbPnj171KhRo4DxBg0aaM+ePYW6r7p16+qf//ynVq5cqd9//139+vXTlVdeqY0bN0qSHnnkEf3888+aMmWKkpOTdeDAAV111VW+2+fk5GjYsGHKysrSkiVL9MUXX2jixIl69tlnC/u0AAAAAEDh56zuyd6zR1lbtwYpDQBcnEI3e6pXr65169YFjK9du1ZVqlQp1H0NHz5cQ4cOVbNmzXTZZZfp5ZdfVnh4uJYtW6aUlBR9+umnevPNN9WvXz917txZn3/+uZYsWaJly5ZJkubMmaNNmzbpq6++UocOHXT55ZfrxRdf1HvvvaesrKzCPjUAAAAAFZytfXtZqlXzGzv7LF0AUBYUeoPma6+9Vg899JAiIiLUt29fSVJycrL+7//+T9dcc81FB8nJydGUKVPkcrkUExOjlStXyuPxaMBZnfUWLVqofv36Wrp0qXr06KGlS5eqbdu2qlGjhq9m8ODBuvfee7Vx40Z17Ngxz8fKzMxUZmam7/Lp06clSR6PRx6P56KfA1Ca5c5t5jjKM+Y5KgLmOSqCYM/zsLg4uc7apzRz3Tpl7Nsny1m/dwCXivdxFKdCN3tefPFF7dq1S/3791dIyJmbe71e3XTTTYXes0eS1q9fr5iYGGVkZCg8PFw//vijWrVqpTVr1ig0NFTR0dF+9TVq1NChQ4ckSYcOHfJr9ORen3tdfsaPH69x48YFjM+YMUMOh6PQzwEoS6ZNmxbsCECxY56jImCeoyII1jy3ZGerR0iIrGftBbrh00+17bLLgpIH5ZPb7Q52BJRjhW72hIaG6ttvv9WLL76otWvXym63q23btmrQoMFFBWjevLnWrFmjlJQUTZ06VTfffLOSk5Mv6r4K6qmnntJf//pX3+XTp0+rXr16GjZsWKEPRQPKCo/Ho2nTpunKK6+U1WoNdhygWDDPUREwz1ERlIZ57rLblT53ru9ynaNH1fahh2QODw9KHpQ/x48fD3YElGOFbvbkatiwoQzDUJMmTXwrfC5GaGiomv53x/vOnTtrxYoVeuedd/SXv/xFWVlZOnXqlN/qnsOHD6tmzZqSpJo1a2r58uV+95d7tq7cmrzYbDbZbLaAcavVyg9NKPeY56gImOeoCJjnqAiCOc8j+vdX+rx5ktd7ZsDjUdaSJYoYNiwoeVD+8B6O4lToDZrdbrduv/12ORwOtW7d2ncGrgcffFD//Oc/LzmQ1+tVZmamOnfuLKvVqnnz5vmu27Jli/bs2aOYmBhJUkxMjNavX68jR474aubOnavIyEi1atXqkrMAAAAAqJgslSrJ3q2b35g7KUkG+6wAKAMKvSTnqaee0tq1a5WUlKQhQ4b4xgcMGKDnn39eTz75ZKHu6/LLL1f9+vWVmpqqyZMnKykpSbNnz1ZUVJRuv/12/fWvf1XlypUVGRmpBx98UDExMerRo4ckadCgQWrVqpVuvPFGvfbaazp06JCeeeYZ3X///Xmu3AEAAACAgnIOGKD0/54JWJK8p08rfflyOXr1CmIqVBQ5OTls4gw/VqtVFoulQLWFbvb89NNP+vbbb9WjRw+ZTCbfeOvWrbVjx45C3deRI0d000036eDBg4qKilK7du00e/ZsDRw4UJL01ltvyWw2a/To0crMzNTgwYP1/vvv+25vsVj0yy+/6N5771VMTIycTqduvvlmvfDCC4V9WgAAAADgx1qvnkKbN1fWli2+MVdCguw9e/r9LgQUtbS0NO3bt0+GYQQ7CkoRk8mkunXrKrwAe4cVutlz9OhRVa9ePWDc5XIV+g3v008/Pe/1YWFheu+99/Tee+/lW9OgQQPNnDmzUI8LAAAAAAXhHDjQr9mTfeCAsjZvlo1tI1BMcnJytG/fPjkcDlWrVo3GIiRJhmHo6NGj2rdvn5o1a3bBFT6FbvZ06dJFM2bM0IMPPihJvon3ySef+PbSAQAAAIDywNa6tSw1ayrn0CHfmGvuXJo9KDYej0eGYahatWqy2+3BjoNSpFq1atq1a5c8Hk/RN3teeeUVXX755dq0aZOys7P1zjvvaNOmTVqyZEmxnzIdAAAAAEqSyWxWeP/+Svn6a99Y5qZN8uzfL2udOkFMhvKOFT04V2HmRKHPxtW7d2+tWbNG2dnZatu2rebMmaPq1atr6dKl6ty5c2HvDgAAAABKNXuPHjKfs0eG66yzBgNAaVPoZo8kNWnSRB9//LGWL1+uTZs26auvvlLbtm2LOhsAAAAABJ0pNFSO2Fi/sfTfflPO6dNBSgTkLSc1VQfvvtvvX05qaonn2LVrl0wmk06dOlXk9/3KK6/o2muv9V02mUxas2ZNkT9OXp5//nmNHDmyQLUFfQ2K67UqdLNn1apVWr9+ve/ytGnTNHLkSD399NPKysoq0nAAAAAAUBo44uKkkLN2wcjOljspKVhxgAph4sSJ6tChg9/Y008/rf/3//5fcAKd5ciRI7r++utVt25dRUZGqmPHjpo+fXqwY/kUutlz9913a+vWrZKkP//8U3/5y1/kcDg0ZcoUPf7440UeEAAAAACCzRIZKXv37n5jrqQkGfzBG8XI8HqVk5p6wX+egwflOXhQ2WdtJJ4r+9Ah3/UFua+c1FQZXm8Qnm3ZkpaWpo4dO2rZsmU6deqUXnjhBV177bXatGlTsKNJuogNmrdu3errrE2ZMkWxsbGaPHmyFi9erGuuuUZvv/12EUcEAAAAgOBzDhig9MWLfZcNl0vuZcvk7Ns3iKlQnnldLh159NFLuo8Tb7xR6NtUf+MNWSIiLliXlpamJ598UtOnT1dGRoaGDBmi//znPwF1c+bM0dNPP61t27bJ4XBo1KhR+te//uU729ibb76pt99+WydPnlSVKlX0zDPPqHPnzrrnnnvk8XgU/t89szZt2qTPPvtMa9as0U8//RTwOFu3btXll1+uRx55RA888IDi4uIUExOjVatWacmSJWrWrJm++OIL3zY0DRs21H333acffvhBGzduVKdOnfTVV1+pXr16F3zujRs31qNnfW2GDx+u5s2ba9myZWqVx9n65s6dq7/97W/auXOnHA6HrrrqKk2YMMF3/c8//6xx48bp2LFjGjlypD7++GNZrdYL5shPoVf2GIYh73+7fAkJCRo6dKgkqV69ejp27NhFBwEAAACA0sxau7ZsrVv7jbkSElgFgQrrtttu04kTJ7Ru3Trt3LlTHo9HDzzwQECd3W7Xxx9/rBMnTmjx4sVKTEzUm2++KelMg+aZZ57RnDlzlJqaqt9++03dunVTx44d9cEHH6ht27ZKS0tTWlqa6tevn2+W5cuXq1+/fho/frxfhkmTJum1117TyZMn1aVLFz344IN+t/vqq6/0//7f/9PRo0fldDr1j3/846JeiyNHjmjz5s1q165dntfffPPNeuyxx5Samqo///xTN954o9/1s2bN0urVq7Vp0ybNmzdPX591BsCLUehmT5cuXfTSSy9p0qRJSk5O1rBhwyRJO3fuVI0aNS4pDAAAAACUZs4BA/wu5xw+rEP33hu0jXCBYDl69Ki+//57vffee4qOjpbT6dQLL7ygb7/9Vjk5OX61ffr0UceOHWWxWNS4cWPdfffdSvrvnlcWi0WGYWjjxo1KT09XjRo18m2Y5OfXX3/VyJEj9eWXX2rs2LF+191www1q3769QkJCdPPNN2vlypV+1993331q1KiRwsLCdP311wdcXxBZWVm65pprNHbsWHXp0iXPGqvVqu3bt/uaSj179vS7/tlnn1VERIRq166tIUOGXFSOsxW62fP2229r1apVeuCBB/T3v/9dTZs2lSRNnTo1ICwAAAAAlCehLVsqpE6dYMcAgm7Xrl3yer1q1KiRoqOjFR0dra5du8psNuvQOXsHrVixQgMGDFCNGjUUGRmpp59+2ndkUJMmTfTFF1/o3XffVY0aNTRo0KBCn13r7bffVnx8vPr16xdwXc2aNX3/73Q6lZaWdt7rU//btH3llVcUHh6u8PBwXX755fk+dlZWlsaMGSOHw6GPP/4437off/xRGzZsUPPmzdWxY0d99913BcpxsQq9Z0+7du38zsaV6/XXX5fFYrmkMAAAAABQmnnT0mTv3Vup334beN1Zv5wVZL8T4ELMTqeqF2DPHe9/GxjetLSAPXoqP/qozP/d8yb3vwV53AupV6+ezGazDhw4IIfD4Xfdrl27/C5fe+21uvXWWzVt2jQ5nU69/fbbmjhxou/6sWP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urr766qbMBgAAAACO583MlBJO+tUsEJB/40b7AgGIeRGXPT//+c+1YsUKDRgwQD6fT9///vdDW7ieeeaZ5sgIAAAAAI6V0Lq1kvr2tczYygXgTET8NK7u3btr3bp1mj9/voqKinT8+HHddtttuummmyw3bAYAAAAANIw3K0vVxcWhY19RkczaWhkul42pAMSqiMseSUpMTNTNN9/c1FkAAAAAIC55s7JU9vrroWOzslLVW7fKc955NqYCEKsiLntee+21r339lltuaXQYAAAAAIhHrg4d5D77bAX27AnNfAUFlD0AGiXisufHP/6x5TgQCKiyslJJSUlKSUmh7AEAAACARvBmZVnLnnXr1ObGG2UkRHyrVQBxLuI/NY4cOWL5On78uIqLizVy5Ej99a9/jei9Zs2apaFDhyo1NVVpaWmaMGGCik/ap7p7924ZhlHv19/+9rfQefW9Pn/+/Eg/GgAAAADYxhP2CPbg0aOW8gcAGqpJKuK+ffvq6aefrnPVz+ksX75cOTk5Wr16tfLy8hQIBDRmzBhVVFRIkjIyMrR//37L1/Tp09W6dWt985vftLzXnDlzLOdNmDChKT4aAAAAALQId3q6XF26WGa+ggKb0gCIZY26QXO9b5SYqH379kX0PUuWLLEcz507V2lpaVqzZo1Gjx4tl8ulrl27Ws5ZsGCBvvOd76h169aWebt27eqceyp+v19+vz90XFZWJunfW9ICgUBEnwGIFV+tbdY4nIx1jnjAOkc8iOd1njRokKry8kLHvoICea+5RoZh2JgKzSEe1zdajmGaphnJN7z99tuWY9M0tX//fj333HPKyMjQ3//+90aH2b59u/r27av169dr4MCBdV5fs2aNLrzwQq1YsUIXX3xxaG4Yhrp16ya/369zzjlHd911l37wgx+c8g/EJ554QtOnT68z/8Mf/qCUlJRG5wcAAACAM5FaVqYha9daZp8MHarKVq1sSoTmUllZqdtvv13Hjh1TmzZt7I4Dh4m47EkIuzmYYRjq3LmzrrjiCv385z9Xenp6o4IEg0Fdd911Onr0qPLz8+s955577tGyZcu0adMmy3zGjBm64oorlJKSoqVLlyo3N1ezZ8/WfffdV+/71Hdlz1dbxjp27Nio/EC0CwQCWrhwoa6//nq53W674wDNgnWOeMA6RzyI53VuBoM68vjjCh49Gpq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WLVumXr16WV4fMmSI3G633n//fd1www2SpOLiYpWUlGjEiBGSpBEjRuipp57SwYMHlZaWJknKy8tTmzZtNGDAgAbnkKTy8nL+BwfHCgQCqqysVFlZGescjsU6RzxgnSMesM4RD8rLyyWd+H0UaEqGaePKuueeezRv3jwtXLhQ/fr1C83btm2r5ORkSdLdd9+td999V3PnzlWbNm107733SpJWrlwp6d+PXs/KylK3bt00e/ZslZaWauLEibr99ts1c+bMBuXYuXOnevfu3cSfDgAAAACAr7djxw6dc845dseAw9ha9hiGUe98zpw5uvXWWyVJPp9PP/nJT/TXv/5Vfr9fY8eO1QsvvGDZorVnzx7dfffdWrZsmVq1aqVJkybp6aefVmJiwy5cOnr0qNq3b6+SkhK1bdv2jD8XEI2+ujfV559/rjZt2tgdB2gWrHPEA9Y54gHrHPHg2LFj6tGjh44cOVLnoUTAmbK17IkWZWVlatu2rY4dO8ZfJnAs1jniAesc8YB1jnjAOkc8YJ2jOSXYHQAAAAAAAABNh7IHAAAAAADAQSh79O9Hsefm5tb7OHbAKVjniAesc8QD1jniAesc8YB1jubEPXsAAAAAAAAchCt7AAAAAAAAHISyBwAAAAAAwEEoewAAAAAAAByEsgcAAAAAAMBB4qLsef7559WzZ095vV4NGzZMn3zyydee/7e//U39+/eX1+tVZmam3n333RZKCjReJOv897//vUaNGqX27durffv2uvLKK0/7vwsgGkT65/lX5s+fL8MwNGHChOYNCDSBSNf50aNHlZOTo/T0dHk8Hp177rn8fxdEvUjX+a9+9Sv169dPycnJysjI0JQpU+Tz+VooLRC5Dz/8UNdee626desmwzD01ltvnfZ7li1bpgsuuEAej0d9+vTR3Llzmz0nnMvxZc/rr7+uBx54QLm5uVq7dq0GDx6ssWPH6uDBg/Wev3LlSn3ve9/TbbfdpoKCAk2YMEETJkzQhg0bWjg50HCRrvNly5bpe9/7nv75z39q1apVysjI0JgxY7R3794WTg40XKTr/Cu7d+/W1KlTNWrUqBZKCjRepOu8urpaV111lXbv3q033nhDxcXF+v3vf6+zzjqrhZMDDRfpOp83b54eeugh5ebmavPmzXrllVf0+uuv65FHHmnh5EDDVVRUaPDgwXr++ecbdP6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
\ No newline at end of file
diff --git a/docs/pages/performance/fashion-mnist/plot.png b/docs/pages/performance/fashion-mnist/plot.png
index 3a1c933ed..42c858c11 100644
Binary files a/docs/pages/performance/fashion-mnist/plot.png and b/docs/pages/performance/fashion-mnist/plot.png differ
diff --git a/docs/pages/performance/fashion-mnist/results.md b/docs/pages/performance/fashion-mnist/results.md
index 3f98405b1..4839d2e7c 100644
--- a/docs/pages/performance/fashion-mnist/results.md
+++ b/docs/pages/performance/fashion-mnist/results.md
@@ -1,10 +1,10 @@
 |Model|Parameters|Recall|Queries per Second|
 |---|---|---|---|
-|eknn-l2lsh|L=100 k=4 w=1024 candidates=500 probes=0|0.378|381.926|
-|eknn-l2lsh|L=100 k=4 w=1024 candidates=1000 probes=0|0.447|315.984|
-|eknn-l2lsh|L=100 k=4 w=1024 candidates=500 probes=3|0.635|298.115|
-|eknn-l2lsh|L=100 k=4 w=1024 candidates=1000 probes=3|0.716|258.478|
-|eknn-l2lsh|L=100 k=4 w=2048 candidates=500 probes=0|0.767|335.131|
-|eknn-l2lsh|L=100 k=4 w=2048 candidates=1000 probes=0|0.846|282.080|
-|eknn-l2lsh|L=100 k=4 w=2048 candidates=500 probes=3|0.921|222.554|
-|eknn-l2lsh|L=100 k=4 w=2048 candidates=1000 probes=3|0.960|202.313|
+|eknn-l2lsh|L=100 k=4 w=1024 candidates=500 probes=0|0.378|382.992|
+|eknn-l2lsh|L=100 k=4 w=1024 candidates=1000 probes=0|0.446|322.386|
+|eknn-l2lsh|L=100 k=4 w=1024 candidates=500 probes=3|0.634|301.434|
+|eknn-l2lsh|L=100 k=4 w=1024 candidates=1000 probes=3|0.716|266.643|
+|eknn-l2lsh|L=100 k=4 w=2048 candidates=500 probes=0|0.767|340.303|
+|eknn-l2lsh|L=100 k=4 w=2048 candidates=1000 probes=0|0.847|294.373|
+|eknn-l2lsh|L=100 k=4 w=2048 candidates=500 probes=3|0.922|233.123|
+|eknn-l2lsh|L=100 k=4 w=2048 candidates=1000 probes=3|0.960|207.765|
diff --git a/elastiknn-api4s/src/main/scala/com/klibisz/elastiknn/api/XContentCodec.scala b/elastiknn-api4s/src/main/scala/com/klibisz/elastiknn/api/XContentCodec.scala
index 64e5fe2dd..3b2626f7c 100644
--- a/elastiknn-api4s/src/main/scala/com/klibisz/elastiknn/api/XContentCodec.scala
+++ b/elastiknn-api4s/src/main/scala/com/klibisz/elastiknn/api/XContentCodec.scala
@@ -366,6 +366,13 @@ object XContentCodec {
       override def compare(x: Token, y: Token): Int = x.name().compareTo(y.name())
     }
 
+    @inline
+    private def nextToken(p: XContentParser): Unit = {
+      p.nextToken()
+      // Need to return unit.
+      ()
+    }
+
     private def unexpectedValue(text: String, expected: SortedSet[String]): String =
       s"Expected token to be one of [${expected.mkString(",")}] but found [$text]"
 
@@ -475,7 +482,7 @@ object XContentCodec {
                 case n @ Names.VALUES =>
                   assertToken(n, p.nextToken(), START_ARRAY)
                   values = Some(parseFloatArray(p))
-                case _ => p.nextToken()
+                case _ => nextToken(p)
               }
             }
           case START_ARRAY =>
@@ -577,10 +584,10 @@ object XContentCodec {
                   assertToken(n, p.nextToken(), VALUE_BOOLEAN)
                   repeating = Some(p.booleanValue())
                 case Names.SIMILARITY => similarity = Some(Decoder.similarity.decodeUnsafe(p))
-                case _                => p.nextToken()
+                case _                => nextToken(p)
               }
             }
-          case _ => p.nextToken()
+          case _ => nextToken(p)
         }
       }
       (typ, model, dims, similarity, l, k, w, repeating) match {
@@ -630,7 +637,7 @@ object XContentCodec {
               probes = Some(p.intValue())
             case Names.SIMILARITY => similarity = Some(decodeUnsafe[Similarity](p))
             case Names.VEC        => vec = Some(decodeUnsafe[Vec](p))
-            case _                => p.nextToken()
+            case _                => nextToken(p)
           }
         }
         (candidates, field, model, probes, similarity, vec) match {
diff --git a/elastiknn-client-elastic4s/src/main/scala/com/klibisz/elastiknn/client/ElastiknnClient.scala b/elastiknn-client-elastic4s/src/main/scala/com/klibisz/elastiknn/client/ElastiknnClient.scala
index ce6447344..0a4960e84 100644
--- a/elastiknn-client-elastic4s/src/main/scala/com/klibisz/elastiknn/client/ElastiknnClient.scala
+++ b/elastiknn-client-elastic4s/src/main/scala/com/klibisz/elastiknn/client/ElastiknnClient.scala
@@ -1,5 +1,6 @@
 package com.klibisz.elastiknn.client
 
+import com.fasterxml.jackson.module.scala.JavaTypeable
 import com.klibisz.elastiknn.api._
 import com.sksamuel.elastic4s.ElasticDsl._
 import com.sksamuel.elastic4s._
@@ -22,11 +23,11 @@ trait ElastiknnClient[F[_]] extends AutoCloseable {
 
   /** Abstract method for executing a request.
     */
-  def execute[T, U](request: T)(implicit handler: Handler[T, U], manifest: Manifest[U]): F[Response[U]]
+  def execute[T, U](request: T)(implicit handler: Handler[T, U], javaTypeable: JavaTypeable[U]): F[Response[U]]
 
   /** Execute the given request.
     */
-  final def apply[T, U](request: T)(implicit handler: Handler[T, U], manifest: Manifest[U]): F[Response[U]] = execute(request)
+  final def apply[T, U](request: T)(implicit handler: Handler[T, U], javaTypeable: JavaTypeable[U]): F[Response[U]] = execute(request)
 
   /** See ElastiknnRequests.putMapping().
     */
@@ -82,7 +83,7 @@ trait ElastiknnClient[F[_]] extends AutoCloseable {
       override def build(t: SearchRequest): ElasticRequest = SearchHandler.build(t)
       override def responseHandler: ResponseHandler[SearchResponse] = (response: HttpResponse) => {
         val handled: Either[ElasticError, SearchResponse] = SearchHandler.responseHandler.handle(response)
-        handled.map { sr: SearchResponse =>
+        handled.map { (sr: SearchResponse) =>
           val hitsWithIds = sr.hits.hits.map(h =>
             h.copy(id = h.fields.get(storedIdField) match {
               case Some(List(id: String)) => id
@@ -93,7 +94,7 @@ trait ElastiknnClient[F[_]] extends AutoCloseable {
         }
       }
     }
-    execute(ElastiknnRequests.nearestNeighbors(index, query, k, storedIdField))(handler, implicitly[Manifest[SearchResponse]])
+    execute(ElastiknnRequests.nearestNeighbors(index, query, k, storedIdField))(handler, implicitly[JavaTypeable[SearchResponse]])
   }
 
 }
@@ -118,7 +119,7 @@ object ElastiknnClient {
       implicit val executor: Executor[Future] = Executor.FutureExecutor(ec)
       implicit val functor: Functor[Future] = Functor.FutureFunctor(ec)
       val elasticClient: ElasticClient = ElasticClient(jc)
-      override def execute[T, U](req: T)(implicit handler: Handler[T, U], manifest: Manifest[U]): Future[Response[U]] = {
+      override def execute[T, U](req: T)(implicit handler: Handler[T, U], javaTypeable: JavaTypeable[U]): Future[Response[U]] = {
         val future: Future[Response[U]] = elasticClient.execute(req)
         if (strictFailure) future.flatMap { res =>
           checkResponse(req, res) match {
diff --git a/elastiknn-jmh-benchmarks/src/main/scala/com/klibisz/elastiknn/jmhbenchmarks/FloatVectorOpsBenchmark.scala b/elastiknn-jmh-benchmarks/src/main/scala/com/klibisz/elastiknn/jmhbenchmarks/FloatVectorOpsBenchmark.scala
index 6ce27c7cc..f5fbfb8d4 100644
--- a/elastiknn-jmh-benchmarks/src/main/scala/com/klibisz/elastiknn/jmhbenchmarks/FloatVectorOpsBenchmark.scala
+++ b/elastiknn-jmh-benchmarks/src/main/scala/com/klibisz/elastiknn/jmhbenchmarks/FloatVectorOpsBenchmark.scala
@@ -10,8 +10,8 @@ import scala.util.Random
 @State(Scope.Benchmark)
 class FloatVectorOpsBenchmarkState {
   implicit private val rng: Random = new Random(0)
-  val v1 = Vec.DenseFloat.random(999).values
-  val v2 = Vec.DenseFloat.random(999).values
+  val v1: Array[Float] = Vec.DenseFloat.random(999).values
+  val v2: Array[Float] = Vec.DenseFloat.random(999).values
   val panama = new PanamaFloatVectorOps
   val default = new DefaultFloatVectorOps
 }
diff --git a/elastiknn-jmh-benchmarks/src/main/scala/com/klibisz/elastiknn/jmhbenchmarks/HitCounterBenchmarks.scala b/elastiknn-jmh-benchmarks/src/main/scala/com/klibisz/elastiknn/jmhbenchmarks/HitCounterBenchmarks.scala
index 4bd2d3367..60e5b6eb2 100644
--- a/elastiknn-jmh-benchmarks/src/main/scala/com/klibisz/elastiknn/jmhbenchmarks/HitCounterBenchmarks.scala
+++ b/elastiknn-jmh-benchmarks/src/main/scala/com/klibisz/elastiknn/jmhbenchmarks/HitCounterBenchmarks.scala
@@ -12,7 +12,7 @@ class HitCounterBenchmarksFixtures {
   val numDocs = 60000
   val numHits = 2000
   val initialMapSize = 1000
-  val docs = (1 to numHits).map(_ => rng.nextInt(numDocs)).toArray
+  val docs: Array[Int] = (1 to numHits).map(_ => rng.nextInt(numDocs)).toArray
 }
 
 class HitCounterBenchmarks {
diff --git a/elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/ElastiknnPlugin.scala b/elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/ElastiknnPlugin.scala
index f3e0474ee..7b4feab21 100644
--- a/elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/ElastiknnPlugin.scala
+++ b/elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/ElastiknnPlugin.scala
@@ -2,19 +2,19 @@ package com.klibisz.elastiknn
 
 import com.klibisz.elastiknn.mapper.VectorMapper.{DenseFloatVectorMapper, SparseBoolVectorMapper}
 import com.klibisz.elastiknn.models.ModelCache
-import com.klibisz.elastiknn.query._
+import com.klibisz.elastiknn.query.*
 import com.klibisz.elastiknn.vectors.{DefaultFloatVectorOps, FloatVectorOps, PanamaFloatVectorOps}
 import org.elasticsearch.common.settings.{Setting, Settings}
 import org.elasticsearch.index.IndexSettings
 import org.elasticsearch.index.engine.EngineFactory
 import org.elasticsearch.index.mapper.Mapper
 import org.elasticsearch.plugins.SearchPlugin.{QuerySpec, ScoreFunctionSpec}
-import org.elasticsearch.plugins._
+import org.elasticsearch.plugins.*
 
 import java.util
 import java.util.{Collections, Optional}
 
-class ElastiknnPlugin(settings: Settings) extends Plugin with SearchPlugin with MapperPlugin with EnginePlugin {
+final class ElastiknnPlugin(settings: Settings) extends Plugin with SearchPlugin with MapperPlugin with EnginePlugin {
 
   import ElastiknnPlugin.Settings
 
@@ -23,8 +23,8 @@ class ElastiknnPlugin(settings: Settings) extends Plugin with SearchPlugin with
     else new DefaultFloatVectorOps
   private val modelCache = new ModelCache(floatVectorOps)
   private val elastiknnQueryBuilder: ElastiknnQueryBuilder = new ElastiknnQueryBuilder(floatVectorOps, modelCache)
-  private val sparseBoolVectorMapper = new SparseBoolVectorMapper(modelCache)
   private val denseFloatVectorMapper = new DenseFloatVectorMapper(modelCache)
+  private val sparseBoolVectorMapper = new SparseBoolVectorMapper(modelCache)
 
   override def getQueries: util.List[SearchPlugin.QuerySpec[_]] = {
     Collections.singletonList(
@@ -38,8 +38,8 @@ class ElastiknnPlugin(settings: Settings) extends Plugin with SearchPlugin with
 
   override def getMappers: util.Map[String, Mapper.TypeParser] = {
     new util.HashMap[String, Mapper.TypeParser] {
-      put(sparseBoolVectorMapper.CONTENT_TYPE, sparseBoolVectorMapper.TypeParser)
-      put(denseFloatVectorMapper.CONTENT_TYPE, denseFloatVectorMapper.TypeParser)
+      put(sparseBoolVectorMapper.CONTENT_TYPE, new sparseBoolVectorMapper.TypeParser)
+      put(denseFloatVectorMapper.CONTENT_TYPE, new denseFloatVectorMapper.TypeParser)
     }
   }
 
diff --git a/elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/Playground.scala b/elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/Playground.scala
deleted file mode 100644
index 7806713cf..000000000
--- a/elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/Playground.scala
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.klibisz.elastiknn
-
-import java.nio.{ByteBuffer, ByteOrder}
-
-object Playground extends App {
-
-  val arr = (0 until 10).toArray
-  val bb: ByteBuffer = ByteBuffer.allocate(arr.length * 4).order(ByteOrder.nativeOrder())
-  bb.asIntBuffer().put(arr)
-  println(bb.array().length)
-
-}
diff --git a/elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/mapper/VectorMapper.scala b/elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/mapper/VectorMapper.scala
index 5f65c8eac..29d0b35fc 100644
--- a/elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/mapper/VectorMapper.scala
+++ b/elastiknn-plugin/src/main/scala/com/klibisz/elastiknn/mapper/VectorMapper.scala
@@ -67,10 +67,10 @@ object VectorMapper {
     new IllegalArgumentException(s"Mapping [$m] is not compatible with vector [$v]")
 
   // TODO: 7.9.x. Unsure if the constructor params passed to the superclass are correct.
-  class FieldType(typeName: String, fieldName: String, val mapping: Mapping)
+  class FieldType(contentTypeName: String, fieldName: String, val mapping: Mapping)
       extends MappedFieldType(fieldName, true, true, true, TextSearchInfo.NONE, Collections.emptyMap()) {
-    override def typeName(): String = typeName
-    override def clone(): FieldType = new FieldType(typeName, fieldName, mapping)
+    override def typeName(): String = contentTypeName
+    override def clone(): FieldType = new FieldType(contentTypeName, fieldName, mapping)
     override def termQuery(value: Any, context: SearchExecutionContext): Query = {
       value match {
         case b: BytesRef => new TermQuery(new Term(name(), b))
@@ -95,7 +95,11 @@ abstract class VectorMapper[V <: Vec: XContentCodec.Decoder] { self =>
 
   final val luceneFieldType: LuceneFieldType = HashFieldType.HASH_FIELD_TYPE
 
-  object TypeParser extends Mapper.TypeParser {
+  // Semantically, this class could be an object. But using an object inside a class invokes parts of the Scala
+  // runtime which depend on sun.misc.Unsafe, and Elasticsearch requires that a plugin declare additional security
+  // permissions in plugin-security.policy in order to invoke sun.misc.Unsafe. I don't want to do that, so we make
+  // this a class. See https://github.com/scala/scala3/issues/9013 for details on LazyVals and sun.misc.unsafe.
+  final class TypeParser extends Mapper.TypeParser {
     override def parse(name: String, node: java.util.Map[String, Object], parserContext: MappingParserContext): Mapper.Builder = {
       val mapping = XContentCodec.decodeUnsafeFromMap[Mapping](node)
       val builder: Builder = new Builder(name, mapping)
diff --git a/project/ElasticsearchPluginPlugin.scala b/project/ElasticsearchPluginPlugin.scala
index 861f4b970..fc0d6bd27 100644
--- a/project/ElasticsearchPluginPlugin.scala
+++ b/project/ElasticsearchPluginPlugin.scala
@@ -102,7 +102,14 @@ object ElasticsearchPluginPlugin extends AutoPlugin {
 
     val files = List(pluginDescriptorFile, pluginJar) ++ pluginMetadataFiles ++ dependencyJars
     val zipFile = elasticsearchPluginBundleFile.value
-    IO.zip(files.map(f => f -> f.getName), zipFile, None)
+    IO.zip(
+      files.map(f => {
+        log.info(s"Adding [${f.getName}] to plugin file.")
+        f -> f.getName
+      }),
+      zipFile,
+      None
+    )
     log.info(s"Generated plugin file ${zipFile.getPath} containing ${files.length + 1} files.")
     zipFile
   }


Test patch:
diff --git a/elastiknn-lucene/src/test/scala/com/klibisz/elastiknn/search/ArrayHitCounterSpec.scala b/elastiknn-lucene/src/test/scala/com/klibisz/elastiknn/search/ArrayHitCounterSpec.scala
index 333a4b888..2cf32ff6d 100644
--- a/elastiknn-lucene/src/test/scala/com/klibisz/elastiknn/search/ArrayHitCounterSpec.scala
+++ b/elastiknn-lucene/src/test/scala/com/klibisz/elastiknn/search/ArrayHitCounterSpec.scala
@@ -7,9 +7,9 @@ import scala.util.Random
 
 final class ArrayHitCounterSpec extends AnyFreeSpec with Matchers {
 
-  final class Reference(capacity: Int) extends HitCounter {
+  final class Reference(referenceCapacity: Int) extends HitCounter {
     private val counts = scala.collection.mutable.Map[Int, Short](
-      (0 until capacity).map(_ -> 0.toShort): _*
+      (0 until referenceCapacity).map(_ -> 0.toShort): _*
     )
 
     override def increment(key: Int): Unit = counts.update(key, (counts(key) + 1).toShort)
@@ -22,7 +22,7 @@ final class ArrayHitCounterSpec extends AnyFreeSpec with Matchers {
 
     override def numHits(): Int = counts.values.count(_ > 0)
 
-    override def capacity(): Int = capacity
+    override def capacity(): Int = this.referenceCapacity
 
     override def minKey(): Int = counts.filter(_._2 > 0).keys.min
 
diff --git a/elastiknn-lucene/src/test/scala/org/apache/lucene/search/MatchHashesAndScoreQuerySuite.scala b/elastiknn-lucene/src/test/scala/org/apache/lucene/search/MatchHashesAndScoreQuerySuite.scala
index 917c130a2..9a402e767 100644
--- a/elastiknn-lucene/src/test/scala/org/apache/lucene/search/MatchHashesAndScoreQuerySuite.scala
+++ b/elastiknn-lucene/src/test/scala/org/apache/lucene/search/MatchHashesAndScoreQuerySuite.scala
@@ -14,7 +14,7 @@ import scala.collection.mutable.ArrayBuffer
 class MatchHashesAndScoreQuerySuite extends AnyFunSuite with Matchers with LuceneSupport {
 
   test("empty harness") {
-    indexAndSearch() { (_: IndexWriter) => Assertions.succeed } { (_: IndexReader, _: IndexSearcher) => Assertions.succeed }
+    indexAndSearch() { _ => Assertions.succeed } { (_: IndexReader, _: IndexSearcher) => Assertions.succeed }
   }
 
   test("minimal id example") {
diff --git a/elastiknn-models/src/test/scala/com/klibisz/elastiknn/models/PermutationLshModelSuite.scala b/elastiknn-models/src/test/scala/com/klibisz/elastiknn/models/PermutationLshModelSuite.scala
index ddc024cf2..f1ff16cae 100644
--- a/elastiknn-models/src/test/scala/com/klibisz/elastiknn/models/PermutationLshModelSuite.scala
+++ b/elastiknn-models/src/test/scala/com/klibisz/elastiknn/models/PermutationLshModelSuite.scala
@@ -1,7 +1,7 @@
 package com.klibisz.elastiknn.models
 
 import com.klibisz.elastiknn.api.{Mapping, Vec}
-import com.klibisz.elastiknn.storage.UnsafeSerialization._
+import com.klibisz.elastiknn.storage.ByteBufferSerialization._
 import org.scalatest.matchers.should.Matchers
 import org.scalatest.funsuite.AnyFunSuite
 
diff --git a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithMissingVectorsSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithMissingVectorsSuite.scala
index 690a28349..6aa3ecc74 100644
--- a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithMissingVectorsSuite.scala
+++ b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithMissingVectorsSuite.scala
@@ -3,7 +3,6 @@ package com.klibisz.elastiknn
 import com.klibisz.elastiknn.api._
 import com.klibisz.elastiknn.client.ElastiknnRequests
 import com.sksamuel.elastic4s.ElasticDsl._
-import futil.Futil
 import org.scalatest.funsuite.AsyncFunSuite
 import org.scalatest.matchers.should.Matchers
 import org.scalatest.{Inspectors, _}
@@ -38,7 +37,7 @@ class DocsWithMissingVectorsSuite extends AsyncFunSuite with Matchers with Inspe
       _ <- deleteIfExists(index)
       _ <- eknn.createIndex(index)
       _ <- eknn.execute(putMapping(index).rawSource(mappingJsonString))
-      _ <- Futil.traverseSerial((0 until numDocs).grouped(500)) { ids =>
+      _ <- FutureUtils.traverseSerially((0 until numDocs).grouped(500)) { ids =>
         val reqs = ids.map { i =>
           if (i % 2 == 0) ElastiknnRequests.index(index, vecField, if (i == 0) v0 else Vec.DenseFloat.random(dims), idField, s"v$i")
           else indexInto(index).id(s"v$i").fields(Map(idField -> s"v$i"))
diff --git a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithNestedVectorsSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithNestedVectorsSuite.scala
index 0ec54d177..e03deb014 100644
--- a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithNestedVectorsSuite.scala
+++ b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithNestedVectorsSuite.scala
@@ -16,9 +16,9 @@ class DocsWithNestedVectorsSuite extends AsyncFunSuite with Matchers with Inspec
   // https://github.com/alexklibisz/elastiknn/issues/60
   implicit val rng: Random = new Random(0)
   val index = "issue-60"
-  val vec = Vec.DenseFloat.random(10)
-  val mapping = Mapping.DenseFloat(vec.values.length)
-  val nestedFields = Seq(
+  val vec: Vec.DenseFloat = Vec.DenseFloat.random(10)
+  val mapping: Mapping.DenseFloat = Mapping.DenseFloat(vec.values.length)
+  val nestedFields: Seq[String] = Seq(
     "vec",
     "foo.vec",
     "foo.bar.vec",
diff --git a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ExistsQuerySuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ExistsQuerySuite.scala
index 0b09ed649..e66d96721 100644
--- a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ExistsQuerySuite.scala
+++ b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ExistsQuerySuite.scala
@@ -11,9 +11,9 @@ class ExistsQuerySuite extends AsyncFunSuite with Matchers with ElasticAsyncClie
 
   implicit val rng: Random = new Random(0)
   val (index, field, id) = ("issue-174", "vec", "id")
-  val corpus = Vec.DenseFloat.randoms(128, 99)
-  val ids = corpus.indices.map(i => s"v$i")
-  val mappings = Seq(
+  val corpus: Vector[Vec.DenseFloat] = Vec.DenseFloat.randoms(128, 99)
+  val ids: IndexedSeq[String] = corpus.indices.map(i => s"v$i")
+  val mappings: Seq[Mapping] = Seq(
     Mapping.DenseFloat(corpus.head.dims),
     Mapping.L2Lsh(corpus.head.dims, 50, 1, 2)
   )
diff --git a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/FunctionScoreQuerySuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/FunctionScoreQuerySuite.scala
index 10cf2a3f0..9a02daea0 100644
--- a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/FunctionScoreQuerySuite.scala
+++ b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/FunctionScoreQuerySuite.scala
@@ -4,7 +4,6 @@ import com.klibisz.elastiknn.api._
 import com.klibisz.elastiknn.models.ExactModel
 import com.klibisz.elastiknn.vectors.{FloatVectorOps, PanamaFloatVectorOps}
 import com.sksamuel.elastic4s.ElasticDsl._
-import futil.Futil
 import org.scalatest._
 import org.scalatest.freespec.AsyncFreeSpec
 import org.scalatest.matchers.should.Matchers
@@ -104,7 +103,7 @@ class FunctionScoreQuerySuite extends AsyncFreeSpec with Matchers with Inspector
         _ <- deleteIfExists(index)
         _ <- eknn.createIndex(index)
         _ <- eknn.execute(putMapping(index).rawSource(rawMapping))
-        _ <- Futil.traverseSerial(corpus.grouped(100)) { batch =>
+        _ <- FutureUtils.traverseSerially(corpus.grouped(100)) { batch =>
           val reqs = batch.map { case (id, vec, color) =>
             val docSource = s"""{ "vec": ${XContentCodec.encodeUnsafeToString(vec)}, "color": "$color" }"""
             indexInto(index).id(id).source(docSource)
@@ -211,7 +210,7 @@ class FunctionScoreQuerySuite extends AsyncFreeSpec with Matchers with Inspector
         _ <- deleteIfExists(index)
         _ <- eknn.createIndex(index)
         _ <- eknn.execute(putMapping(index).rawSource(rawMapping))
-        _ <- Futil.traverseSerial(corpus.grouped(100)) { batch =>
+        _ <- FutureUtils.traverseSerially(corpus.grouped(100)) { batch =>
           val reqs = batch.map { case (id, vec, color) =>
             val docSource = s"""{ "id": "$id", "vec": ${XContentCodec.encodeUnsafeToString(vec)}, "color": "$color" }"""
             indexInto(index).id(id).source(docSource)
diff --git a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/FutureUtils.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/FutureUtils.scala
new file mode 100644
index 000000000..978d4655c
--- /dev/null
+++ b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/FutureUtils.scala
@@ -0,0 +1,15 @@
+package com.klibisz.elastiknn
+
+import scala.concurrent.{ExecutionContext, Future}
+
+object FutureUtils {
+
+  def traverseSerially[A, B](in: IterableOnce[A])(f: A => Future[B])(implicit ec: ExecutionContext): Future[Seq[B]] =
+    in.iterator.foldLeft(Future.successful(Vector.empty[B])) { case (accFuture, next) =>
+      for {
+        acc <- accFuture
+        result <- f(next)
+      } yield acc :+ result
+    }
+
+}
diff --git a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/MixedIndexSearchDeleteSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/MixedIndexSearchDeleteSuite.scala
index 54e5fa50c..8bbc7469c 100644
--- a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/MixedIndexSearchDeleteSuite.scala
+++ b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/MixedIndexSearchDeleteSuite.scala
@@ -1,9 +1,7 @@
 package com.klibisz.elastiknn
 
 import com.klibisz.elastiknn.api._
-import com.klibisz.elastiknn._
 import com.sksamuel.elastic4s.ElasticDsl._
-import futil.Futil
 import org.scalatest._
 import org.scalatest.funsuite.AsyncFunSuite
 import org.scalatest.matchers.should.Matchers
@@ -37,7 +35,7 @@ class MixedIndexSearchDeleteSuite extends AsyncFunSuite with Matchers with Inspe
 
         // Delete the top five vectors.
         deletedIdxs = s1.result.hits.hits.take(5).map(_.id.drop(1).toInt).toSeq
-        _ <- Futil.traverseParN(8)(deletedIdxs.map(ids.apply).map(deleteById(index, _)))(eknn.execute(_))
+        _ <- FutureUtils.traverseSerially(deletedIdxs.map(ids.apply).map(deleteById(index, _)))(eknn.execute(_))
         _ <- eknn.execute(refreshIndex(index))
         c2 <- eknn.execute(count(index))
         _ = c2.result.count shouldBe (corpus.length - deletedIdxs.length)
diff --git a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/QueryRescorerSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/QueryRescorerSuite.scala
index 8f2d3f925..4d1dfb016 100644
--- a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/QueryRescorerSuite.scala
+++ b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/QueryRescorerSuite.scala
@@ -2,10 +2,10 @@ package com.klibisz.elastiknn
 
 import com.klibisz.elastiknn.api._
 import com.sksamuel.elastic4s.ElasticDsl._
-import futil.Futil
 import org.scalatest._
 import org.scalatest.funsuite.AsyncFunSuite
 import org.scalatest.matchers.should.Matchers
+import FutureUtils._
 
 import scala.util.Random
 import scala.util.hashing.MurmurHash3
@@ -27,7 +27,7 @@ class QueryRescorerSuite extends AsyncFunSuite with Matchers with Inspectors wit
   val candidates = numBlue
 
   // Test with multiple mappings/queries.
-  val queryVec = Vec.DenseFloat.random(dims)
+  val queryVec: Vec.DenseFloat = Vec.DenseFloat.random(dims)
   val mappingsAndQueries: Seq[(Mapping, Seq[NearestNeighborsQuery])] = Seq(
     Mapping.L2Lsh(dims, 40, 1, 2) -> Seq(
       NearestNeighborsQuery.Exact("vec", Similarity.L2, queryVec),
@@ -80,7 +80,7 @@ class QueryRescorerSuite extends AsyncFunSuite with Matchers with Inspectors wit
       _ <- deleteIfExists(index)
       _ <- eknn.createIndex(index)
       _ <- eknn.execute(putMapping(index).rawSource(rawMapping))
-      _ <- Futil.traverseSerial(corpus.grouped(100)) { batch =>
+      _ <- traverseSerially(corpus.grouped(100)) { batch =>
         val reqs = batch.map { case (id, vec, color) =>
           val docSource = s"""{ "vec": ${XContentCodec.encodeUnsafeToString(vec)}, "color": "$color" }"""
           indexInto(index).id(id).source(docSource)
diff --git a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/RecallSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/RecallSuite.scala
index a5c29311c..123905234 100644
--- a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/RecallSuite.scala
+++ b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/RecallSuite.scala
@@ -4,10 +4,10 @@ import com.klibisz.elastiknn.api._
 import com.sksamuel.elastic4s.ElasticDsl._
 import com.sksamuel.elastic4s.Response
 import com.sksamuel.elastic4s.requests.searches.SearchResponse
-import futil.Futil
 import org.scalatest.concurrent.AsyncCancelAfterFailure
 import org.scalatest.funsuite.AsyncFunSuite
 import org.scalatest.matchers.should.Matchers
+import FutureUtils._
 
 import java.util.UUID
 import scala.concurrent.Future
@@ -28,7 +28,6 @@ class RecallSuite extends AsyncFunSuite with Matchers with ElasticAsyncClient wi
   // Each query has an expected recall that will be checked.
   private case class Test(mapping: Mapping, queriesAndExpectedRecall: Seq[(NearestNeighborsQuery, Double)], recallTolerance: Double = 1e-2)
 
-  private val numCores = Runtime.getRuntime.availableProcessors()
   private val vecField: String = "vec"
   private val storedIdField: String = "id"
   private val dims: Int = 1024
@@ -161,11 +160,11 @@ class RecallSuite extends AsyncFunSuite with Matchers with ElasticAsyncClient wi
             _ <- eknn.putMapping(corpusIndex, vecField, storedIdField, mapping)
             _ <- eknn.createIndex(queriesIndex)
             _ <- eknn.putMapping(queriesIndex, vecField, storedIdField, mapping)
-            _ <- Futil.traverseSerial(testData.corpus.zipWithIndex.grouped(100)) { batch =>
+            _ <- traverseSerially(testData.corpus.zipWithIndex.grouped(100)) { batch =>
               val (vecs, ids) = (batch.map(_._1), batch.map(x => s"v${x._2}"))
               eknn.index(corpusIndex, vecField, vecs, storedIdField, ids)
             }
-            _ <- Futil.traverseSerial(testData.queries.zipWithIndex.grouped(100)) { batch =>
+            _ <- traverseSerially(testData.queries.zipWithIndex.grouped(100)) { batch =>
               val (vecs, ids) = (batch.map(_._1.vector), batch.map(x => s"v${x._2}"))
               eknn.index(queriesIndex, vecField, vecs, storedIdField, ids)
             }
@@ -208,16 +207,16 @@ class RecallSuite extends AsyncFunSuite with Matchers with ElasticAsyncClient wi
     test(testName) {
       for {
         _ <- index(corpusIndex, queriesIndex, mapping, testData)
-        explicitResponses1 <- Futil.traverseParN(numCores)(testData.queries) { q =>
+        explicitResponses1 <- traverseSerially(testData.queries) { q =>
           eknn.nearestNeighbors(corpusIndex, query.withVec(q.vector), k, storedIdField)
         }
-        explicitResponses2 <- Futil.traverseParN(numCores)(testData.queries) { q =>
+        explicitResponses2 <- traverseSerially(testData.queries) { q =>
           eknn.nearestNeighbors(corpusIndex, query.withVec(q.vector), k, storedIdField)
         }
-        explicitResponses3 <- Futil.traverseParN(numCores)(testData.queries) { q =>
+        explicitResponses3 <- traverseSerially(testData.queries) { q =>
           eknn.nearestNeighbors(corpusIndex, query.withVec(q.vector), k, storedIdField)
         }
-        indexedResponses <- Futil.traverseParN(numCores)(testData.queries.zipWithIndex) { case (_, i) =>
+        indexedResponses <- traverseSerially(testData.queries.zipWithIndex) { case (_, i) =>
           val vec = Vec.Indexed(queriesIndex, s"v$i", vecField)
           eknn.nearestNeighbors(corpusIndex, query.withVec(vec), k, storedIdField)
         }
diff --git a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/SparseUnsortedIndicesSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/SparseUnsortedIndicesSuite.scala
index 7d07109e6..63f61f132 100644
--- a/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/SparseUnsortedIndicesSuite.scala
+++ b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/SparseUnsortedIndicesSuite.scala
@@ -17,16 +17,16 @@ class SparseUnsortedIndicesSuite extends AsyncFunSuite with Matchers with Inspec
   val indexPrefix = "test-sbv-unsorted"
 
   val dims = 20000
-  val corpus = Vec.SparseBool.randoms(dims, 100)
+  val corpus: Vector[Vec.SparseBool] = Vec.SparseBool.randoms(dims, 100)
 
-  val queryVec = {
+  val queryVec: Vec.SparseBool = {
     val sorted = corpus.head
     val shuffled = rng.shuffle(sorted.trueIndices.toVector).toArray
     sorted.copy(shuffled)
   }
 
   // Test with multiple mappings/queries.
-  val mappingsAndQueries = Seq(
+  val mappingsAndQueries: Seq[(Mapping, Seq[NearestNeighborsQuery])] = Seq(
     Mapping.SparseBool(dims) -> Seq(
       NearestNeighborsQuery.Exact("vec", Similarity.Jaccard, queryVec),
       NearestNeighborsQuery.Exact("vec", Similarity.Hamming, queryVec)
diff --git a/elastiknn-plugin/src/test/scala/com/klibisz/elastiknn/models/PermutationLshModelSuite.scala b/elastiknn-plugin/src/test/scala/com/klibisz/elastiknn/models/PermutationLshModelSuite.scala
index c10fe6d2c..e44f66288 100644
--- a/elastiknn-plugin/src/test/scala/com/klibisz/elastiknn/models/PermutationLshModelSuite.scala
+++ b/elastiknn-plugin/src/test/scala/com/klibisz/elastiknn/models/PermutationLshModelSuite.scala
@@ -15,10 +15,6 @@ import scala.util.Random
 
 class PermutationLshModelSuite extends AnyFunSuite with Matchers with LuceneSupport {
 
-  // For some unknown reason the exact score values started to slightly differ around March 2024.
-  def round(f: Float): Float =
-    BigDecimal(f).setScale(6, BigDecimal.RoundingMode.HALF_UP).floatValue
-
   test("lucene example where counting matters") {
 
     // This example demonstrates a tricky condition: 0 appears once in the query vector and three times in corpus vector
@@ -55,6 +51,10 @@ class PermutationLshModelSuite extends AnyFunSuite with Matchers with LuceneSupp
     val lsh = new PermutationLshModel(128, true)
     val cosine = new ExactSimilarityFunction.Cosine(new PanamaFloatVectorOps)
 
+    // For some unknown reason the exact score values started to slightly differ around March 2024.
+    def round(f: Float): Float =
+      BigDecimal(f).setScale(6, BigDecimal.RoundingMode.HALF_UP).floatValue
+
     // Several repetitions[several queries[several results per query[each result is a (docId, score)]]].
     val repeatedResults: Seq[Vector[Vector[(Int, Float)]]] = (0 until 3).map { _ =>
       val (_, queryResults) = indexAndSearch() { w =>
@@ -71,7 +71,7 @@ class PermutationLshModelSuite extends AnyFunSuite with Matchers with LuceneSupp
       }
       queryResults
     }
-    val distinct = repeatedResults.distinct
+    val distinct: Seq[Vector[Vector[(Int, Float)]]] = repeatedResults.distinct
     distinct.length shouldBe 1
   }
 }