From 3046bf7254848bf76544a69959f6bd74b90c10bc Mon Sep 17 00:00:00 2001 From: Michael Deistler Date: Fri, 3 Nov 2023 16:10:15 +0100 Subject: [PATCH] Make recording a mechanism --- neurax/integrate.py | 28 +---- neurax/modules/base.py | 57 +++++++--- neurax/recording.py | 8 -- tutorials/01_small_network.ipynb | 179 ++++++++++++++++++++++++++----- 4 files changed, 196 insertions(+), 76 deletions(-) delete mode 100644 neurax/recording.py diff --git a/neurax/integrate.py b/neurax/integrate.py index ed859de9..01548f08 100644 --- a/neurax/integrate.py +++ b/neurax/integrate.py @@ -13,7 +13,6 @@ def integrate( module: Module, stimuli: Union[List[Stimulus], Stimuli], - recordings: List[Recording], params: List[Dict[str, jnp.ndarray]] = [], t_max: Optional[float] = None, delta_t: float = 0.025, @@ -25,9 +24,7 @@ def integrate( Solves ODE and simulates neuron model. Args: - t_max: Duration of the simulation in milliseconds. If `None`, the duration is - inferred from the duration of the stimulus. If it is larger than the - duration of the stimulus, the stimulus is padded with zeros at the end. + t_max: Duration of the simulation in milliseconds. delta_t: Time step of the solver in milliseconds. solver: Which ODE solver to use. Either of ["fwd_euler", "bwd_euler", "cranck"]. tridiag_solver: Algorithm to solve tridiagonal systems. The different options @@ -47,7 +44,7 @@ def integrate( assert module.initialized, "Module is not initialized, run `.initialize()`." i_current, i_inds = prepare_stim(module, stimuli) - rec_inds = prepare_recs(module, recordings) + rec_inds = module.recordings.comp_index.to_numpy() # Shorten or pad stimulus depending on `t_max`. if t_max is not None: @@ -107,27 +104,6 @@ def _body_fun(state, i_stim): return jnp.concatenate([init_recording, recordings[:nsteps_to_return]], axis=0).T -def prepare_recs(module, recordings: List[Recording]): - """Prepare recordings.""" - nseg = module.nseg - cumsum_nbranches = module.cumsum_nbranches - - for rec in recordings: - assert rec.cell_ind < len( - module.nbranches_per_cell - ), "recording.cell_ind is larger than the number of cells." - assert ( - rec.branch_ind < module.nbranches_per_cell[rec.cell_ind] - ), "recording.branch_ind is larger than the number of branches in the cell." - assert rec.loc <= 1.0 and rec.loc >= 0.0, "recording.loc must be in [0, 1]." - - rec_comp_inds = [index_of_loc(r.branch_ind, r.loc, nseg) for r in recordings] - rec_comp_inds = jnp.asarray(rec_comp_inds) - rec_branch_inds = jnp.asarray([r.cell_ind for r in recordings]) - rec_branch_inds = nseg * cumsum_nbranches[rec_branch_inds] - return rec_branch_inds + rec_comp_inds - - def prepare_stim(module, stimuli: Union[List[Stimulus], Stimuli]): """Prepare stimuli.""" nseg = module.nseg diff --git a/neurax/modules/base.py b/neurax/modules/base.py index 3d575a60..593bf0cc 100644 --- a/neurax/modules/base.py +++ b/neurax/modules/base.py @@ -25,9 +25,9 @@ def __init__(self): self.conns: List[Synapse] = None self.group_views = {} - self.nodes: pd.DataFrame = None - self.syn_edges: pd.DataFrame = None - self.branch_edges: pd.DataFrame = None + self.nodes: Optional[pd.DataFrame] = None + self.syn_edges: Optional[pd.DataFrame] = None + self.branch_edges: Optional[pd.DataFrame] = None self.cumsum_nbranches: jnp.ndarray = None @@ -53,6 +53,9 @@ def __init__(self): self.trainable_params: List[Dict[str, jnp.ndarray]] = [] self.allow_make_trainable: bool = True + # For recordings. + self.recordings: pd.DataFrame = pd.DataFrame().from_dict({}) + def __repr__(self): return f"{type(self).__name__} with {len(self.channel_nodes)} different channels. Use `.show()` for details." @@ -395,6 +398,16 @@ def initialize(self): self.init_syns() return self + def record(self): + """Insert a recording into the given section.""" + self._record(self.nodes) + + def _record(self, view): + assert ( + len(view) == 1 + ), "Can only record from compartments, not branches, cells, or networks." + self.recordings = pd.concat([self.recordings, view]) + def insert(self, channel): """Insert a channel.""" self._insert(channel, self.nodes) @@ -551,15 +564,30 @@ def show( states: bool = True, ): if channel_name is None: - myview = self.view.drop("original_comp_index", axis=1) - myview = myview.drop("original_branch_index", axis=1) - myview = myview.drop("original_cell_index", axis=1) + myview = self.view.drop("global_comp_index", axis=1) + myview = myview.drop("global_branch_index", axis=1) + myview = myview.drop("global_cell_index", axis=1) return self.pointer._show_base(myview, indices, params, states) else: return self.pointer._show_channel( self.view, channel_name, indices, params, states ) + def set_global_index_and_index(nodes): + """Use the global compartment, branch, and cell index as the index.""" + nodes = nodes.drop("controlled_by_param", axis=1) + nodes = nodes.drop("comp_index", axis=1) + nodes = nodes.drop("branch_index", axis=1) + nodes = nodes.drop("cell_index", axis=1) + nodes = nodes.rename( + columns={ + "global_comp_index": "comp_index", + "global_branch_index": "branch_index", + "global_cell_index": "cell_index", + } + ) + return nodes + def insert(self, channel): """Insert a channel.""" assert not inspect.isclass( @@ -568,19 +596,14 @@ def insert(self, channel): Channel is a class, but it was not initialized. Use `.insert(Channel())` instead of `.insert(Channel)`. """ - nodes = self.view.drop("controlled_by_param", axis=1) - nodes = nodes.drop("comp_index", axis=1) - nodes = nodes.drop("branch_index", axis=1) - nodes = nodes.drop("cell_index", axis=1) - nodes = nodes.rename( - columns={ - "original_comp_index": "comp_index", - "original_branch_index": "branch_index", - "original_cell_index": "cell_index", - } - ) + nodes = self.set_global_index_and_index(self.view) self.pointer._insert(channel, nodes) + def record(self): + """Insert a channel.""" + nodes = self.set_global_index_and_index(self.view) + self.pointer._record(nodes) + def set_params(self, key: str, val: float): """Set parameters of the pointer.""" self.pointer._set_params(key, val, self.view) diff --git a/neurax/recording.py b/neurax/recording.py deleted file mode 100644 index 2f2653b1..00000000 --- a/neurax/recording.py +++ /dev/null @@ -1,8 +0,0 @@ -import numpy as np - - -class Recording: - def __init__(self, cell_ind, branch_ind, loc): - self.cell_ind = cell_ind - self.branch_ind = branch_ind - self.loc = loc diff --git a/tutorials/01_small_network.ipynb b/tutorials/01_small_network.ipynb index da17ae06..807a7e15 100644 --- a/tutorials/01_small_network.ipynb +++ b/tutorials/01_small_network.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "765b75ec", "metadata": {}, "outputs": [], @@ -94,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "id": "9819bbf4", "metadata": {}, "outputs": [], @@ -103,6 +103,16 @@ "branch = nx.Branch([comp for _ in range(nseg_per_branch)])" ] }, + { + "cell_type": "code", + "execution_count": 11, + "id": "e89ededa-18ed-4184-860d-93c59e653201", + "metadata": {}, + "outputs": [], + "source": [ + "branch.comp(0.0).record()" + ] + }, { "cell_type": "markdown", "id": "b147203e", @@ -125,7 +135,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 13, "id": "70c241e7", "metadata": {}, "outputs": [], @@ -137,7 +147,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 14, "id": "564e96a7", "metadata": {}, "outputs": [], @@ -155,18 +165,20 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 15, "id": "22f304f0", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWcAAAEICAYAAACDGjUCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAihElEQVR4nO3de5xU9X3/8deHq6AYQVZELrIqiCwEcAleimQJEND6Y5VgfhgaiUketKm01jY+FG2soV5S/WlNahpvJdHWR1FBIyUaJYbF4MPIpYIskEUUDBAuyyUgEq77+f0xZ2FZZndnds/MOTPzfj4e89iZM2f2fDgsbz77ne98j7k7IiISL62iLkBERE6lcBYRiSGFs4hIDCmcRURiSOEsIhJDBRPO48ePd0A33XTL3E1CVDDhvHPnzqhLEBFJWcGEs4hILlE4i4jEUCzC2cxmmdkOM6uss+1eM9tiZiuC2zV1npthZuvNrMrMxkVTtYhI5rSJuoDAz4DHgefqbf9Xd/9/dTeY2QBgMlACnAf8ysz6ufuxbBQqIpmxfPnyc9q0afMMMJCYNI4ZVANUHj169NulpaU7ku0Qi3B297fNrE+Ku5cDs939ELDBzNYDw4F3M1WfiGRemzZtnjn33HMvKSoq2tOqVau8nv1RU1Nj1dXVA7Zt2/YMMCHZPnH/32m6mX0QDHt0Drb1ADbV2WdzsO0UZjbNzJaZ2bLq6upM1yoiLTOwqKhoX74HM0CrVq28qKhoL4nfEpLvk8V60vUT4EJgCLAVeCTdb+DuT7n7MHcfVlRUFHJ5IhKyVoUQzLWCP2uDGRzbcHb37e5+zN1rgKdJDF0AbAF61dm1Z7BNJO8dOXKEd999lwcffJDFixdHXY5kUGzD2cy613l4PVA7k2MeMNnM2ptZMdAXWJLt+kSyoW4Yjxs3js6dO3PllVdy1113UVFREXV5eWfo0KH909l//vz5nUaNGnVRsudmzJhxbu/evQf26dNn4Ny5c89Mt5ZYvCFoZv8NlAFdzWwz8E9AmZkNIfGx0I3AXwK4+2ozexFYAxwFbtFMDckXR44cYdmyZVRUVFBRUcE777zDZ599BsDAgQO5+eabKSsrY+TIkWioLnzvv//+78L4PsuXLz/t5Zdf7lJVVbX6k08+aTt27Nh+5eXllW3apB65sQhnd78xyeb/aGT/+4H7M1eRSHYojOOlY8eOQw8cOPD+/PnzO82cOfO8Ll26HKmqquowaNCgAz//+c83tGrVijlz5px5++239+rQoUPN8OHD9yf7PnPmzDlr4sSJuzt06OD9+/c/fP755x+qqKg4fcyYMZ+lWksswlmkUCiMU3P7nJW91m3/tGOY37Nft04HHp40eFPTeyasXbu2w4oVKz7u06fPkdLS0v4LFiw446qrrvps+vTpfRYsWFBVUlJy6Nprr70g2Wu3bNnS7vLLLz8e3Oedd97hTZs2tQMUziJxoDDOXYMGDfrswgsvPAJQUlJy4KOPPmrXqVOnYz179jw0aNCgQwBTpkzZ9cwzz2TkL07hLBIihXE40ulwM6V9+/bHp/W1bt2ao0ePWqqv7dGjR22nDMAf/vCHdr169TqczvEVziItoDAuLEOGDDm4ZcuWdqtXr25fUlJyaPbs2V2S7feVr3zlj1OmTLngnnvu2f7JJ5+03bhx42llZWUpD2mAwlkkLQrjwtaxY0f/t3/7t0+uvfbaizp06FBz2WWX7d+/f3/r+vsNGzbs4HXXXbe7X79+Ja1bt+bRRx/9JJ2ZGgDmXhgfyBk2bJgvW7Ys6jIkxzQVxmVlZQrjE1L+tT+ZlStXbhw8eHBBXRVj5cqVXQcPHtwn2XPqnEXqqB/Gixcv5sCBA4A6Y8kuhbMUtKbC+Jvf/KbCWCKhcJaCojCWXKFwlrz3wxkzWPPxx2zYs4d33nlHYSw5QeEsee3wihXc9S//wgF3zIxevXpx1VVXMWXKFMaMGUPbtm2jLlEkKYWz5K3DK1ZQfeMU/uuSAVTf/A1WbthARUUFzz//PM8//zynn346I0aMOD7jorS0VGEtsaFwlrxUG8ytzjqL/zPnRdr0OHGxnB07drBo0aLj484zZswAUFgLQ4cO7Z/OynTz58/v9Mgjj3RbuHDh+rrbt23b1rq8vPzCVatWnT5p0qRdzz333O/TrUXhLHmnbjAX1QtmgHPOOYcbbriBG264AVBYywlhLRnasWNHnzlz5h9WrlzZobKyskNzvofCWfJKU8GcjMJaaoW1ZOiZZ55ZM27cuP1VVVXtm1uLwlnyRnOCORmFdfRmvvO9Xuv3rA91ydCLOl904J4/++esLBkaBoWz5IWwgjkZhXVh0pKhIi2UyWBORmGdeel0uJnSkiVDw6BwlpyW7WBORmFdOFJdMjQMCmfJWXEI5mQU1vkr1SVDAXr06DFo//79rY8cOWJvvPHGWa+99tq60tLSg6keS0uGSk6KazCnon5Yr1mzBsiLsNaSoWnSkqGSV3I5mEGdtaRG4Sw5JdeDORmFtSSjcJackY/BnEyqYX3nnXfy4IMPRlmqZJDCWXJCoQRzMg2Fdf/+/SOuTDKpVdQFAJjZLDPbYWaVdbZ1MbMFZvZh8LVzsN3M7Edmtt7MPjCzS6OrXLKhkIM5mdqwHjRoUNSlSAbFIpyBnwHj6227E3jL3fsCbwWPAa4G+ga3acBPslSjREDBLIUqFuHs7m8Du+ttLgeeDe4/C1xXZ/tznvBb4Cwz656VQiWrFMySbUOHDk1rrGj+/PmdRo0adVGy5957770OQ4YM6X/RRReV9OvXb8CBAwfSmmoY5zHnbu6+Nbi/DegW3O8B1P1o5+Zg21bqMbNpJLprevfunblKJXQKZolCWEuGHjlyhK9//evFzz777IYrrrjiT9u2bWvdrl27tD5UEovOuSme+KRM2p+Wcfen3H2Yuw/T9eFyh4JZotKxY8ehkOiIhw8ffvH48eMvKC4uLpkwYUJxTU0NAHPmzDmzuLi4ZMCAAZfMmTPnrGTf5+WXX/7cJZdc8qcrrrjiTwDnnnvusTZt0uuF49w5bzez7u6+NRi22BFs3wL0qrNfz2Cb5AEFswDs/vt/6HWkqirUJUPbXnzxgS6PPpKVJUOrqqramxkjRozou3v37jYTJ07cfd99921Pp944d87zgKnB/anAq3W23xTM2rgc2Ftn+ENymIJZ4qR2ydDWrVsfXzJ0xYoVp9UuGdqqVSumTJmyK9lrjx49akuXLj3jpZde2vDee+9VzZ8/v/Orr77aKZ3jx6JzNrP/BsqArma2Gfgn4AfAi2b2LeAT4KvB7q8B1wDrgQPAzVkvWEKnYJa60ulwM6UlS4b27Nnz8GWXXfZp9+7djwKMHTt277JlyzqWl5d/mur3iEXn7O43unt3d2/r7j3d/T/cfZe7j3b3vu4+xt13B/u6u9/i7he6+yB312pGOU7BLLmi7pKhAA0tGXr99dfv+93vftfh008/bXXkyBHeeeedTiUlJSmvSAcx6ZylcCmYJZekumRoUVHRsenTp28fOnToJWbG6NGj906ePHlvOsfSkqESGQVz3tGSoWlqbMnQWAxrSOFRMIs0TuEsWadgFmmawlmySsEsjaipqanJ6kVUoxT8WWsael7hLFmjYJYmVFZXV3+uEAK6pqbGqqurPwdUNrSPZmtIViiYpSlHjx799rZt257Ztm3bQPK/cawBKo8ePfrthnZQOEvGKZglFaWlpTuACVHXERf5/r+TREzBLNI8CmfJGAWzSPMpnCUjFMwiLaNwltApmEVaTuEsoVIwi4RD4Syh2fWbxQpmkZAonCUUC378Y7Z99f+yDxTMIiFQOEsonp43j3cPH+LPf7+RhWvWRF2OSM5TOEuLLVy4kJfefJMNf/WXdLroIiZMmMCCBQuiLkskp2k9Z2mRY8eOUVpayh//+EfWrl3LZ599xujRo1m3bh3z5s1j7NixUZco2ZP3a2JkkzpnaZFZs2axcuVKHn74YTp06EDXrl1566236NevnzpokRZQ5yzNtnfvXvr27cvFF1/M22+/jdmJxmnnzp3qoAuPOucQqXOWZnvggQfYuXMnjz322EnBDKiDFmkhhbM0y0cffcRjjz3GN77xDUpLS5Puo4AWaT6FszTL7bffTtu2bbn//vsb3U8BLdI8CmdJ28KFC3nllVe466676N69e5P7K6BF0qc3BCUt9afOdejQIeXX6k3CvKc3BEMU+87ZzDaa2SozW2Fmy4JtXcxsgZl9GHztHHWdhaL+1Ll0qIMWSV3sO2cz2wgMc/eddbY9BOx29x+Y2Z1AZ3e/o7Hvo8655RqbOpcOddB5S51ziGLfOTegHHg2uP8scF10pRSOxqbOpUMdtEjTciGcHXjTzJab2bRgWzd33xrc3wZ0S/ZCM5tmZsvMbFl1dXU2as1btVPnpk6d2uDUuXQooEUalwvDGj3cfYuZnQMsAP4GmOfuZ9XZZ4+7NzrurGGNlpk4cSJvvvkmH374YUozNFKlIY68omGNEMW+c3b3LcHXHcArwHBgu5l1Bwi+7oiuwvyX7tS5dKiDFkku1uFsZqebWafa+8CXgUpgHjA12G0q8Go0Fea/Y8eOcdttt3H++edz2223ZeQYCmiRU8U6nEmMJS82s5XAEuAX7v5L4AfAWDP7EBgTPJYMqJ0699BDD6U9dS4dCmiRk8V+zDksGnNOX1hT59KhMeicpjHnEMW9c5YIhTV1Lh3qoEUSFM6SVNhT59KhgBZROEsDUl11LlMU0FLoFM5yirpT584777zI6lBASyHTG4JykpasOpcpepMwZ+gNwRCpc5aTZGvqXDrUQZ+wY8cOXnrpJW655RZef/31qMuRDFLnLMdFMXUuHYXYQe/YsYNFixZRUVFBRUUFa9asAeCMM87gvvvu49Zbb424wpPE6wcmx7WJugCJj9qpc6+//nrsghlOdNCjR49mwoQJeRnQjYXxiBEjuOmmmygrK+PSSy+lbdu2EVcrmaTOWYDE1LkBAwbwta99jZ/+9KdRl9OofOqgmwrjsrKyXArj+P2PnsMUzgKcWHVu3bp1kc7QSFWuBnSehXF9CucQaVhDjk+du//++3MimCF3hjg0TCHNpc65wMVx6lw64tZB53ln3BR1ziFS51zgaqfOvfDCCzkXzBB9B63OWDJFnXMBi/vUuXRkq4Mu8M64Kbn7AxRD6pwLWNynzqUjUx20OmOJijrnApVLU+fS0dIOWp1xi+T2//Axo3AuULk2dS4d6QS0wjhUCucQaVijANVOnbvvvvvyLpih8SEODVNIrlDnXGByfepcOmo76NWrVzNkyBD2799PVVUVoM44Q9Q5h0idc4HJ9alz6ajtoLt168by5csBOOecc7jqqquYNGkSo0ePpqioKOIqRZJT51xA8mnqXDpWrFjBli1bWLVqFRUVFSxevJjPPvsMgJKSkuPd8xe/+EWFdcsUxg9UliicC8gdd9zBww8/zNKlS7N+XcA4OXLkCMuXLz8+7qywDo3COUQK5wKRr1PnwpCLYb17924AunTpEnElJ1E4h6jJcDazYcDdwPkkxqgNcHf/fObLC0+hh3M+T50LWxzDevfu3fzmN785XtPKlSt54IEHuPPOO7Ny/BQpnEOUSjhXAbcDq4Ca2u3u/klmSwtXIYfzwoUL+dKXvsR9993H3XffHXU5OSeKsE4Wxu5Ohw4duPLKKykrK6O8vJxBgwaFcryQKJxDlEo4L3b3EVmqJ2VmNh74IdAaeMbdf9DY/oUazoU0dS5bMhHWqYRxWVkZX/jCF2jfvn0m/3gtoXAOUSrhPBq4EXgLOFS73d1fzmxpjdbUGlgHjAU2A0uBG919TUOvKdRwfvrpp5k2bRovvPACX/3qV6MuJy81J6zzJIzrUziHKJVw/i+gP7CaE8Ma7u7fzHBtjdV0BXCvu48LHs8Iinqwodc0Fs7f/5/VrNm6LxOlRurAnzbwxve+yTk9+rJpzQcFM3Uuao2F9dlnn42ZsXPnToBcD+P69AMWolQ+hPIFd78445Wkpwewqc7jzcBl9Xcys2nANIDevXtnp7IYObBzN3aaUzzlAgVzFrVt25Z+/fqxfft2tm/fzrZt21i5ciUAe/bsOenvori4mP79+9O/f38uvvjiXA5mCVkqnfNPgYcbGzLINjObBIx3928Hj78OXObu0xt6TaEOazy5/N95uvInPDluFqXnfiHqcvJWOsMUrVq1it1skJCoAwhRKuG8FrgI+JjEmHPkU+nCHtbIZwePHmTSzydwZvvP8Z9/PpvWrVpHXVJeCHPMOI5T95pJ4RyiVML5/GTbo5xKZ2ZtSLwhOBrYQuINwa+5++qGXlOo4Qzw5oZfctfbt/OPV36f6/pOjLqcnJTNN/BSDeuysjK6du0axh8vLArnEKUSzquAD+rcVgFT3f3+zJfXaF3XAI+RmEo3q6l6Cjmc3Z1vvX4Tmz/9PS9f/wvOaHdG1CXFXpxmUzQU1t/73veYOXNmRo+dJoVziFIJ5y7A54NbKVAOrHb3P8t8eeEp5HAGWL2zkqm/uJGpA7/J35TeFnU5sROnMG5KbVh369aN4uLiSGupR+EcorTX1jCzvsA/uvvUzJSUGYUezgD/tPhu3tzwOi9d9yo9O/WKupxI5VIY5xCFc4hS6Zz7ufu6etved/ehGa0sZApnqD6wg+tfuZYre4zgobJHoy4naw4cOMC+fft47733FMaZpXAOUSrznJ80swtJvPH2AXAaUGlmHd39QEark1AVdTyHbwz8Fk+seJzl25YWxNS6Q4cO0blzZw4fPgxAu3btuOKKK5g5c6bCWGKtyXB291EAZtYbGAwMCb6uMLMad++f0QolVH9RMpWffziXR5Y+lPdT6w4dOsTEiRM5fPgwXbt2Zd++fRw+fJi3336bvXv3smvXLnbt2sXIkSPp3Llz1OWKnKRVqju6++/d/X/c/Z/dfZK79wOGZbA2yYDT2pzG35b+Pet2/47/+ejVqMvJmNpgfu2113jyySeprq5m7969LFq0iHvvvZfOnTvzxBNPcN1113H22WczdOhQbrvtNl599VX27NkTdfkiWmy/ENVOrdvy6SbmXj8/76bW1Q/madOmJd3v4MGDLFmy5Pg49LvvvsvBgwcxMwYPHnx8HFqddco05hwihXOBytepdakGczIK6xZTOIdI4VzA8m1qXUuCORmFddoUziFSOBewfJpaF3YwJ6OwbpLCOUQK5wL3zMoneWLF4zm9al02gjkZhfUpFM4hUjgXuFxftS6qYE5GYa1wDpPCWXJ21bo4BXMyBRjWCucQKZwlJ6fWxT2YkymAsFY4h0jhLMCJqXXfGPgtppf+XdTlNCoXgzmZPAxrhXOIFM5yXC5MrcuXYE4mD8Ja4RwihbMcF/epdfkczMk0Fdbf/e53mTJlStRl1qVwDlHKa2tI/qtdte7Xnyxg+balUZdzkkILZoDTTjuNkSNHcs899/DrX/+aPXv2nLQ2SE1NTdQlSgapc5aTxHFqXSEGc45S5xwidc5ykritWqdglkKlcJZTjO0zjs8XDeEn//sj9h/eH1kdCmYpZApnOYWZ8Q/D72DXwV38bNUzkdSgYJZCp3CWpEq6DuTPL5zA82ueY/Onm7J6bAWziMJZGjH90ltp3aoNP1r+r1k7poJZJEHhLA3K9tQ6BbPICQpnadRflEzl3NO78+jShzlWcyxjx1Ewi5wstuFsZvea2RYzWxHcrqnz3AwzW29mVWY2Lso6813t1Lqq3WszNrVOwSxyqtiGc+Bf3X1IcHsNwMwGAJOBEmA88O9mFv0nJfJYJqfWKZhFkot7OCdTDsx290PuvgFYDwyPuKa8lqmpdQpmkYbFPZynm9kHZjbLzGqX4eoB1J3btTnYdgozm2Zmy8xsWXV1daZrzWt1p9Zt+XRzi7+fglmkcZGGs5n9yswqk9zKgZ8AFwJDgK3AI+l+f3d/yt2HufuwoqKicIsvQLVT6364vGUr1imYRZrWJsqDu/uYVPYzs6eB+cHDLUDdxYZ7Btskw2qn1j2x4nGWb1varAvCKphFUhPbYQ0z617n4fVAZXB/HjDZzNqbWTHQF1iS7foKVUum1imYRVIX23AGHjKzVWb2ATAKuA3A3VcDLwJrgF8Ct7h75ibgykmaO7VOwSySHq3nLGlL94KwCuaCofWcQxTnzlliKp2pdQpmkeZROEuzpDK1TsEs0nwKZ2m2xqbWKZhFWkbhLM3W0Kp1CmaRllM4S4vUn1qnYBYJh8JZWqTu1LpX1s5VMIuEJNJPCEp+GNtnHM8t/yk3jZ7Kn7YfVDCLhECds7SYmdH7wwv40/aDdO/dncmTJ0ddkkjOUzhLKB6Y8SA/eOwHVP+hmquvvpp9+/ZFXZJITlM4S2juuPUOZs+ezZIlSxTQIi2kcJZQfeUrX1FAi4RA4SyhU0CLtJzCWTJCAS3SMgpnyRgFtEjzKZwloxTQIs2jcJaMU0CLpE/hLFmhgBZJj8JZskYBLZI6hbNklQJaJDUKZ8k6BbRI0xTOEgkFtEjjFM4SGQW0SMMUzhIpBbRIcgpniZwCWuRUCmeJBQW0yMkiDWczu8HMVptZjZkNq/fcDDNbb2ZVZjauzvbxwbb1ZnZn9quWTFFAi5wQdedcCUwE3q670cwGAJOBEmA88O9m1trMWgM/Bq4GBgA3BvtKnlBAiyREGs7uvtbdq5I8VQ7MdvdD7r4BWA8MD27r3f1jdz8MzA72lTyigBaJvnNuSA9gU53Hm4NtDW1PysymmdkyM1tWXV2dkUIlMxTQUugyHs5m9iszq0xyy3jH6+5Pufswdx9WVFSU6cNJyBTQUsjaZPoA7j6mGS/bAvSq87hnsI1Gtkseqg3oyZMnc/XVV/P6669z5plnRl2WSMbFdVhjHjDZzNqbWTHQF1gCLAX6mlmxmbUj8abhvAjrlCxQB32ympoaKisr2bRpU9M7S86Keird9Wa2GbgC+IWZvQHg7quBF4E1wC+BW9z9mLsfBaYDbwBrgReDfSXPFXJA14bx448/zqRJk+jWrRuDBg1i1qxZUZcmGWTuHnUNWTFs2DBftmxZ1GVIC82dO5fJkyczfPjwvB3iqKmpYc2aNVRUVFBRUcGiRYvYuXMnAL1792bUqFGUlZUxZswYevbsGXG1J7GoC8gnCmfJOfkW0KmGcVlZGX369Im22MYpnEOkcJaclMsBnUdhXJ/COUQKZ8lZuRLQeRzG9SmcQ6RwlpwWx4AuoDCuT+EcIoWz5LyoA7qAw7g+hXOIFM6SF7IZ0ArjBimcQ6RwlryRqYBWGKdM4RwihbPklTACWmHcbArnECmcJe+kG9AK49AonEOkcJa81FhAK4wzRuEcIoWz5K3agB46dCg//OEPWb58ucI4sxTOIVI4S16bO3cukyZNOv64c+fOjBw5kvLyckaNGqUwDpfCOUQKZ8l7X/7yl9m0aRN79+5l69atABQVFfHFL37xeMc8YMAAzJQtLaQTGCKFsxQMd2fjxo3Hx5oXLlx4fE1khXUodMJCpHCWgqWwDp1OUIgUziIBhXWL6YSESOEs0gCFddoK/gSESeEskiKFdZMK7g+cSQpnkWZSWJ8i7/+A2aRwFgmJwlrhHCaFs0iGFGBY5/wfIE4UziJZUgBhnXMFx5nCWSQieRjWsS8wlyicRWIiD8I6dgXlMoWzSEw1Fdbf//73+c53vhNxlSdROIeoTZQHN7MbgHuBS4Dh7r4s2N4HWAtUBbv+1t3/KniuFPgZ0AF4DbjVC+V/GCkoZkZxcTHFxcXcfPPNp4T1eeedF3WJkkGRds5mdglQAzwJfLdeOM9394FJXrME+FvgPRLh/CN3f72pY6lzFsk4dc4hahXlwd19rbtXNb1ngpl1B850998G3fJzwHWZqk9EJCqRhnMTis3sfTNbZGZXBdt6AJvr7LM52JaUmU0zs2Vmtqy6ujqTtYqIhCrjY85m9ivg3CRP3e3urzbwsq1Ab3ffFYwx/9zMStI9trs/BTwFiWGNdF8vIhKVjIezu49pxmsOAYeC+8vN7COgH7AF6Fln157BNhGRvBLLYQ0zKzKz1sH9C4C+wMfuvhXYZ2aXW2KS501AQ923iEjOijSczex6M9sMXAH8wszeCJ4aCXxgZiuAOcBfufvu4Lm/Bp4B1gMfAU3O1BARyTX6EIqIhEVT6UIUy2ENEZFCVzCds5lVA580sktXYGeWymmM6jiZ6jhZnOvY6e7joygmHxVMODfFzJa5+zDVoTpUR+7Ukc80rCEiEkMKZxGRGFI4n/BU1AUEVMfJVMfJVEeB0JiziEgMqXMWEYkhhbOISAwpnAEzG29mVWa23szuzPKxN5rZKjNbYWa1FxvoYmYLzOzD4GvnDBx3lpntMLPKOtuSHtcSfhScnw/M7NIM13GvmW0JzskKM7umznMzgjqqzGxcSDX0MrOFZrbGzFab2a3B9qyej0bqyPb5OM3MlpjZyqCO7wfbi83sveB4L5hZu2B7++Dx+uD5PmHUUfDcvaBvQGsSa3RcALQDVgIDsnj8jUDXetseAu4M7t8J/EsGjjsSuBSobOq4wDUk1jAx4HLgvQzXcS+JK+PU33dA8PfTHigO/t5ah1BDd+DS4H4nYF1wrKyej0bqyPb5MOCM4H5bElcduhx4EZgcbH8C+E5w/6+BJ4L7k4EXwv55LcSbOmcYDqx394/d/TAwGyiPuKZy4Nng/rNk4Gov7v42sLve5oaOWw485wm/Bc4KrkqTqToaUg7MdvdD7r6BxOJXw0OoYau7/29w/1MS16/sQZbPRyN1NCRT58PdfX/wsG1wc+BLJBYig1PPR+15mgOMDlaNlBZQOCd++DfVedzo1VUywIE3zWy5mU0LtnXzxPKoANuAblmqpaHjRnGOpgdDBrPqDOtkvI7gV/KhJLrFyM5HvTogy+fDzFoHq0LuABaQ6Mr/6O5HkxzreB3B83uBs8Ooo5ApnKM3wt0vBa4GbjGzkXWf9MTvilmf7xjVcQM/AS4EhpC4Ks4j2TiomZ0BzAX+zt331X0um+cjSR1ZPx/ufszdh5C4oMVwoH+mjyknUzgnrqTSq87jrF5dxd23BF93AK+Q+IewvfbX5ODrjiyV09Bxs3qO3H17EA41wNOc+FU9Y3WYWVsSgfi8u78cbM76+UhWRxTno5a7/xFYSGLN9bPMrPbqSXWPdbyO4PnPAbvCrKMQKZxhKdA3eCe6HYk3NOZl48BmdrqZdaq9D3wZqAyOPzXYbSrZu9pLQ8edB9wUzFK4HNhb59f90NUbv72exDmprWNyMDugmMQVcpaEcDwD/gNY6+6P1nkqq+ejoToiOB9FZnZWcL8DMJbE+PdCYFKwW/3zUXueJgG/Dn7TkJaI+h3JONxIvPu+jsS42t1ZPO4FJN5tXwmsrj02ifG6t4APgV8BXTJw7P8m8SvyERLjh99q6Lgk3r3/cXB+VgHDMlzHfwbH+YDEP/zudfa/O6ijCrg6pBpGkBiy+ABYEdyuyfb5aKSObJ+PzwPvB8erBO6p8/O6hMQbjy8B7YPtpwWP1wfPX5Ctf0P5fNPHt0VEYkjDGiIiMaRwFhGJIYWziEgMKZxFRGJI4SwiEkMKZxGRGFI4i4jEkMJZImVmFWbWP7h/tplVmlkfM/udmf3MzNaZ2fNmNsbM3gnWVm7xymsicadwlqhdROLTmZD4ZNqqOtsfIbHgTn/gayQ+Qfdd4K4s1yiSdQpniYyZnQ9s8cSCPpAI5w+C+xvcfVXw3GrgLU98nHUV0CfrxYpkmcJZojSYE2EMUFrn8aE622vqPK4B2iCS5xTOEqUhJBbNwcz6kriixqrGXiBSKBTOEqXBQCszWwncA6zhxNKTIgVNq9JJZMzsQxIXNP006lpE4kads0QiuMiAK5hFklPnLCISQ+qcRURiSOEsIhJDCmcRkRhSOIuIxJDCWUQkhhTOIiIxpHAWEYmh/w9FuJFY3NKaxAAAAABJRU5ErkJggg==\n", "text/plain": [ - "
" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], @@ -186,7 +198,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 16, "id": "e277f94b", "metadata": {}, "outputs": [], @@ -196,7 +208,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 17, "id": "f2129ef3", "metadata": {}, "outputs": [], @@ -217,7 +229,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 25, "id": "1dffee93", "metadata": {}, "outputs": [], @@ -235,7 +247,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 28, "id": "1c989a32", "metadata": {}, "outputs": [], @@ -253,12 +265,14 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 29, "id": "d6d4d560", "metadata": {}, "outputs": [], "source": [ - "recs = [nx.Recording(cell_ind, 0, 0.0) for cell_ind in range(num_cells)]\n", + "for cell_ind in range(num_cells):\n", + " network.cell(cell_ind).branch(0).comp(0.0).record()\n", + "\n", "stims = [\n", " nx.Stimulus(stim_ind, 0, 0.0, current=nx.step_current(i_delay, i_dur, i_amp, time_vec)) for stim_ind in range(5)\n", "]" @@ -274,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 37, "id": "26e7b8dc", "metadata": {}, "outputs": [ @@ -282,14 +296,57 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 3.65 s, sys: 18.4 ms, total: 3.67 s\n", - "Wall time: 3.67 s\n" + "CPU times: user 6.87 s, sys: 59.6 ms, total: 6.93 s\n", + "Wall time: 6.99 s\n" ] } ], "source": [ "%%time\n", - "s = nx.integrate(network, stimuli=stims, recordings=recs, delta_t=dt)" + "s = nx.integrate(network, stimuli=stims, delta_t=dt)" + ] + }, + { + "cell_type": "markdown", + "id": "39b96beb-4c0c-40ae-8418-c8d6eb76bcee", + "metadata": {}, + "source": [ + "### jit compilation\n", + "\n", + "We can jit-compile the simulation in order to make it faster. The code below will be slow when run for the first time, but fast upon the second run." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "ea1a1171-0416-417c-b4d1-358c6dafe486", + "metadata": {}, + "outputs": [], + "source": [ + "def run_sim():\n", + " return nx.integrate(network, stimuli=stims, recordings=recs, delta_t=dt)\n", + "\n", + "jitted_run_sim = jit(run_sim)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "18b7ac3e-b359-4078-8743-c6167d65c4fb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 769 ms, sys: 4.02 ms, total: 773 ms\n", + "Wall time: 775 ms\n" + ] + } + ], + "source": [ + "%%time\n", + "s = jitted_run_sim()" ] }, { @@ -302,18 +359,90 @@ }, { "cell_type": "code", - "execution_count": 20, - "id": "1dc130ce", + "execution_count": 38, + "id": "42fd990f-ee7d-45da-bf6a-717fb573c134", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(16, 2002)" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "5e68c54c-2bd4-4ede-b364-2b366b7f80f1", "metadata": {}, "outputs": [ { "data": { - "image/png": "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RUWhR48eOHz4MNLS0vDaa69V+15NJhO6d++OZcuW4dprrxXHKyoqcODAAWzYsAE///wzdu7cWStx26lTJ4wdOxYtWrRAeno6tm/f7tDUsSYo2XfYsGGYMWMGxowZw0KGYRjP4mrExZoTDZFj40m89dZbIn/j66+/VhRFUV566SUFgHLbbbcpiqIozz33nAJAmTlzpnjdpEmTxOtWrFihlJSUKIqiKBUVFUp6errywQcfKAAUvV7vNFfE399fMZlMqmOUuxMUFFRjnkl15wEoOp1OCQgIUKZMmaJkZmY6vO/k5GRl9erVyp133lnj8+T13X777cr8+fOV2bNnK926datzjoxOp1NatWqlTJ06VVm3bp1SXl7e8H/JDMMwjUBtv591isKjaGXy8/MRGBiIvLw8BAQENPZymiVURRMWFoaMjAzs2LEDw4YNQ1hYGKxWKzZs2IAbbrgB7dq1E83g9u7di379+ol7eHl5oUWLFmISuLNneHt7O3TWbdGiBcLDw5GSkuL0dbVFr9cjMjISDz74IBYsWODQ6j81NRVbt25FQkICNm7c6DADzBkWiwUDBw5ETEwMSktL8ddff+HkyZN1WpdOpxN5SXfddRcmT57s1i0EGIZhiNp+P7Ow0cDC5srx9fUVgkNRFNhsNiFStm/fju7duyMkJETk4kRHR0NRFAwcOBC7d+8WE8AJnU6H6OhopKenO53IbTAYEBAQgJycnMtes8lkQrdu3fD6669jzJgxqnOKoiA5ORl//vknNm3ahI0bNzpMMneGwWBAp06dEBcXh4qKChw9elT086kLERERGDBgAO644w5MmTIFJpOpzvdgGIZp7rCwuUxY2Fw57733Hv72t78BqGzAt3fvXtx33334+OOPcdttt2HNmjUYNmwYduzYgSVLloheLdu2bcO1114LRVFw9913o2/fvrBardi5cyd27txZrwMfg4KCYDAYcPHiRcTHx6v62Vy6dAn79u3Djh07sGHDBuzbt69WlUs0pqBly5YoKirCqVOn6jSrCahyZAYMGIDbb7+dhQzDMMz/Dwuby4SFTf3g5eUlEno///xzdOnSBX369IGiKPjiiy9QVFSEBx54ANHR0Th+/DjsdjsOHjyIZcuWYd26dfW+nsjISEyYMAEfffQRunTpgiNHjuD111/HggULoNPpsHTpUuzYsQMHDhxASkpK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", "text/plain": [ - "
" + "(2001,)" ] }, + "execution_count": 39, "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "time_vec.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "51bd6fb1-4da7-496b-9f5d-69a53ea6d666", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAADQCAYAAADLTCxtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAABGw0lEQVR4nO29eZicVZn//bmruquq931L0lkJIWEnYYlRNkGjEkBl2ARcRhwc/L3KO76+o4OjKDgKM+M4OuIwgKOAgDMYNoGIwKjAsIMkZKPJQpbeqveluqq76vz+qDqnn+quTjp0dXeSvj/XVVdXnWc7T6fzfOs+9ybGGBRFURQlm/imewKKoijK4YeKi6IoipJ1VFwURVGUrKPioiiKomQdFRdFURQl66i4KIqiKFknZ7onkA0qKyvN/Pnzp3saiqIoM45XX301bIypGjl+WIjL/PnzeeWVV6Z7GoqiKDMOEdmZaVyXxRRFUZSso+KiKIqiZB0VF0VRFCXrqLgoiqIoWUfFZYpZtWoVZWVlU37djo4OtEipoihThYrLFPP888/T2dnJ9ddfP2nXeOCBB3jppZcYGhoikUjw1FNPUV5ezuc+97lJu6aiKIoXORy+za5YscIcCqHIL7zwAitXrgSgpqaGpqam93yuW2+9lWXLlnHGGWekjbe2tlJdXU1VVRUnnXQSHR0dLFu2jP/8z//E5/MRj8cndA+KoiheRORVY8yKkeOHRZ7LocLdd9/t3re3t7+ncwwODrJmzRrWrVtHcXExXV1dadsbGhqApMisW7cOgKGhIQASiQSJRAKfTw1WRVEmF33KTCFvvPGGe28f+AfK+vXrnWh0d3fz3HPP8e///u9ue2Nj46hj9u7d697v2bPnPV1XURTlQFBxmUJ27drl3mdajuzp6eGqq65i/fr1Y55jx44daZ8/9alPcc0117B582Ygs7j09fW594fC8qGiKIc+Ki5TSGdn56ixWCzGhz/8YW6//XYeeeQR7rrrrn06+0eKy86dycoLVjTa2tpGHRONRt17FRdFUaYCFZcpZHBwEIDc3FwA3n33Xd58801+97vfcfXVVzuLZfv27WOeI5NAAWzYsAGA3t5e8vLyKCwsdNcaGhoiLy8PGPbJKIqiTCYqLlOI9bMUFxcDcP/997N161a33S6bbd++nVgsRjgcHnWO3t5e996KFCSFym4vLCyktLQUgCOPPJJEIkFJSQmgPhdFUaYGFZcpxIYBV1dXA/DHP/7RLWvBsOO9t7eXq666ivnz54+KKuvt7SUUCgGQn5/vxu15rLgUFRUBsHjxYgBKSkoQEVpaWibj1hRFUdJQcZlCrBN/yZIlAGzdujUtlLi5udm9v//+++nr6+PZZ59NO0dvby85OTn4/X78fj8AVVVVTlz6+vooKChwwnPEEUcAEAwGCQaDdHR0TNLdKYqiDKPiMoVYcTnnnHOAZC5Kd3e3297e3s7Ipmfe8GVIiovP5yMQCLixZcuWsXfvXoaGhpzlEgwGAaivrwdARCgqKqKnpyfbt6UoijIKFZdp4JJLLgGSVkZXVxfz5s1DROjt7eXoo49O23ekc7+3txcRIRQKOR/O4sWLMcYQDoeduFjxsRaMMYaysjKi0ajWGFMUZdJRcZkGKisrgaSDv7u7m/LyciorK4nFYs7SsGQSF0iKRiwWA3DWTnNzM/39/eTl5ZGTkyy+YIXEGENNTQ2QOVxZURQlm6i4TCPGGLq6uigpKaGmpoZ4PE5RUREiAoDP5xslLj09PRhjKCwsdPkrVqyam5uJxWJuSQyGI9Ti8Thz5swB9h3qrCiKkg2mTVxEpF5EnhGRjSLyloh8OTVeLiJPisjbqZ9TX59+ErHCAcPiUlxcTHV1NfF43EWCQbIW2N69e0kkEm6st7fXiYu1SmwOS1NTE7FYLM0fYy2doaEhZxV5w58VRVEmg+m0XIaAvzHGLANOA64VkWXA3wJPGWMWA0+lPh82eMUFkvXBSkpKXHhybm5umk9kaGgoLcLLiosNNfae01ougUDAhT3bystDQ0Nu+Wxklr+iKEq2mTZxMcY0GmNeS73vATYBs4ELgF+kdvsFcOG0THCSsEJgf3Z3d1NUVER5eTmACy/24i3NPzAwQCKRcImYkAwMCIVCo8RFRFx489DQEAsXLgSGEy4VRVEmi4PC5yIi84ETgReBGmOMrb7YBNRM17wmA1vu3jrcI5EI+fn5TlxsiRgvViCMMUSjURKJRJrl0tbWRm1tbZrPZXBwkEAg4LL8o9EoixYtAjIXt1QURckm0y4uIlIIPAB8xRjT7d1mkutDGeNmReQLIvKKiLzS2to6BTOdGDZZ0lom1uk+MDBAMBh05Vr6+/tHHWstl3g8jjGGeDzuyrlAMl/GNh+zlosVGRsZFo1GXbSYN1lTURRlMphWcRGRXJLCco8x5jep4WYRqUttrwMy1isxxtxmjFlhjFlRVVU1NROeADZCy1outrCkMYZQKOTExVs7rKCgABgWFxt6HI/H3bKYiDhx8S6LxWIxQqGQ89cMDAxQWFiIiLznRmWKoijjZTqjxQS4A9hkjPlnz6aHgU+n3n8aeGiq5zYZWCe6XQ6zDnxIWjFWbLwZ9JWVlfh8vlHikkgkCIVCBIPBfYpLXl6es5gGBgaIx+MEAoG0qgCKoiiTwXRaLquAK4GzReSN1OujwPeBc0XkbeCc1OdDHluN2FYy9pZ5CYVCTly8lktJSQm5ubmjxAWGa4WJCOFwmJqaGudf8YqLV0ja2trIz89Pu4aiKMpkkDNdFzbGPAvIGJs/OJVzmQqsE92Ky4knnsjDDz8MJIXC5qp4u0bm5eUhIhnFJRAIEAgE6Ovro7W1laqqKpcPY8WlvLw87ZiWlhaKiorUclEUZdKZdof+TME60W2S5OrVq922UCjkQpNH9muJx+PYgAVvR8lAIOCEyoqLd1ssFnPWkKW1tZXy8nLi8Xia6CiKomQbFZcpwjrWrbgsX77cbQsGgwwMDADD4iIiiAiDg4NOmEYui+Xk5LjwZG/eixUXb7gypIvQoRBhpyjKoYuKyxRh2xPbKsXeLpLBYNBZJVZcrNUCSSEwxoxaFvP7/W4pzEah2W2xWCxNcCC5LFZbWwuQ1qRMURQl26i4TBE2CmzkUhUkrRlrudg8l1Ao5MRkaGiIrq6uUZaLV1C8WHHx5sJAUqRs8cqGhoYJ3pGiKMrYqLhMEdZRP9KagHTLxe6Xn59PJBJx+7S0tIyyXLx1yryZ/Tk5OaMSLUtKSmhtbWXevHmA1hdTFGVyUXGZIqxlUlY2ushzJsulsLAwzbnf2to6yqHvpaOjwyViWoumuLjYCVB5eTktLS2u7bHWF1MUZTJRcZkirHhUVFS4Mfvg91ou1s9SVFTk/DQw2nIJBoNppfhbW1tHiUswGHQiVFlZSWtrqyte6S2GqSiKkm1UXKYIKwy2vhcMi0AikXDiYykuLnbZ9ZB5WcyKS05ODq2trW4ZzIqWzYUBqKqqoqWlxVUGaGnJWFVHURQlK6i4TBHWJ1JXV+fGbMTYm2++mbbkBcPLZ/ZnJnGxXSbz8/PHFBdvuZnW1lYKCgq0vpiiKJOOissUYYVg7ty5bsyKyxtvvMHAwEBaLxcrKiUlJc4yGbksNjg4SE5ODsFgkHA4nFbMEtLFpaamhvb2doaGhggGg2lWkaIoSrZRcZkirC/F9lSB4ZyXrVu3Eo1GXRl+GPbNFBYWkpubS0tLyyiHfjQaJS8vD7/fT2trqwtz9paBsUtvNr8lHA5TUFCQVmZGURQl26i4TBFWXLzLYjaDvrGx0fV1sVRWVgK4mmOZlsVisZgTKK+42NphXnGxYtXa2kpRUdGoZThFUZRsouIyRVhrwpuZbx/47e3tzgqx2DIttmVxpmixaDRKYWEhiUSC1tZWd7xXXOwSmS0709LSQnl5OYlEQgVGUZRJQ8Vlikg21UzHRm51d3c7y8X6SCorK119sVgsNkpcfD6fa3ccjUbp7u52kWG2jplXXKw/RyPGFEWZClRcpghvTorFlmKJxWJEo9G06sj5+flUVFQ4UQqHw6PClSHpk7GJl3Zfr+Vix+zPlpYWtzS3bdu2rN2foiiKFxWXacRaKYODg6N8LqFQiKqqKhfCbIzJGOFVUlLi9rE/bfKlV1z6+/vx+/20tLRQX18PwNtvvz05N6YoyoxHxWWKyLQsZn0e1v8RCoXcflZcvNZKZ2fnqGKV3vphdl8rQl5xaWtrc4mUCxYsALS+mKIok4eKyzRixcUY4ywXu3xmxcVbX6yrqystqx/Sa5XZ5TCvuNj9rK+lpaWFI488EoBdu3ZN5u0pijKDUXGZRrxWic1z8fZnqaqqSqsv1t3djd/vJxAIuCWw8vLytO2QLi5DQ0OIiBMXb2Vk23pZURQl2xy04iIiq0Vki4g0iMjfTvd8JgNvKPDAwEBamHJfXx9VVVUu8guSPWGsuNhjbTiziNDd3Y2IpIlLPB534mKXxbQbpaIok824xUVECkTEv/89J07qOv8GfARYBlwmIsum4tpTyUjLxTr4IdmRsqqqCmOMq3bc19eHz+cjGAy6sGRvsmVvby8+ny8tWiwej+Pz+dKWxWwXS60vpijKZDGmuIiIT0QuF5HfikgLsBloFJGNInKLiBwxifM6BWgwxmwzxsSA+4ALJvF600I0GnWhx5FIJK22WE9Pj7MwysrKCAQC9Pb2IiJplktZWRm5ubmEQiH6+vrw+/2jxMVGiVVXV9PT00MkEiEUCrnumIqiKNlmX5bLM8Ai4OtArTGm3hhTDbwfeAH4gYhcMUnzmg14vc27U2MOEfmCiLwiIq8cKss73s6RkLRcrIPeLnlZurq6nLgUFRWRk5NDJBLB5/O50i+QzNSvrq4mNzeXvr4+cnNzXQdL69D3igsMl4qx+TGKoijZZl/ico4x5rvGmDeNMS4D0BjTbox5wBjzSeD+yZ9iZowxtxljVhhjVtiH8KFGNBp1gtLf358WZtze3u7ExZZ1iUQiiEhaczErLiJCJBJJ89tYccnJyaGvr89VTW5paaGkpIRYLJYxRFpRFGWi7EtcHhSRT4lI4Vg7GGMGx9o2QfYA9Z7Pc1JjhzQjLRdvJeTBwcE0cQmHw2n1xYaGhtwyWibLJR6PE4lE0hIxrbjYsjBWeFpaWqisrMQY45bQFEVRssm+xOU24Dxgm4j8WkQ+LiKBfeyfTV4GFovIgtQ1LwUenqJrTxqZlsWsVWKjuiytra3OWe/z+VyJGCDN5xIIBKiurnbbveKSm5uLMcaJi7cEjO2IuXfv3sm4VUVRZjhjiosx5iFjzGXAfOAB4CrgXRH5uYicO5mTMsYMAV8C1gGbgF8bY96azGtOBSOz66PRaFqGvcXv9xMOh8nNzaW0tNSJgm04lslysf4Ta534/X5EhEQi4QTHHt/a2srs2UkXVkNDQ7ZvU1EUZf+hyMaYfmPM/caYjwMfAk4AnpjsiRljHjPGHGmMWWSMuWmyrzeZ2LwTr8MekpZLJn+Rbf4FpNUXA5wlMtJysft4xcVbSgaSSZahUIiWlhbXEfOdd97J2n0qiqJY9isuIlIjIv9HRJ4DHiRpTZw02RM7nNi+fTuQ2XLxtj22YpCbm5smLt58GGuJjLRcLCKCz+fD5/M5wfE2FLO5LgsXLgRg586dWb1XRVEUgJyxNojI1cBlwBKSy2L/nzHm+ama2OGELRDpTZKEpLjYsvswLC6BQCBNXDZu3Oj2sQ76kZaLF1sA0wpQKBSisLAwLZHyiCOSaUq7d+/O4p0qiqIkGVNcgJXAPwBPeUORlQNnz55koJtXXBKJBLFYjIKCgrQxSIpBU1MT8Xh8VH2xkeIy0nJJJBKEQiEikYgTFytAVlyampqcqDU3N0/OTSuKMqMZU1yMMZ+z70XkOJKO/RzP9t9M6swOI2yBSG8OindZy2LFJT8/H2OMy3Vpb29HRDDGOHEZKRyWoaEhAoEA/f39o6yblpYW5syZw5tvvumqKYfD4Um8c0VRZir7slwAEJE7geOAtwBrwRhAxWWctLW1AelCYv0o3jEbjlxYmEwtam1tpaqqing8TkVFBW1tbRmXxWxQgM/nY2hoiNzcXOLx+CjrZseOHZx00km0tLQgIuTm5qZZRYqiKNliv+ICnGaMOeyKRk4ltrKxzWmBYXHxjtkik15xsVZJWVlZmrjEYjFycnLw+Xzk5eVRVFREf38/sViMUChEPB6nr68PSIpLSUkJL730ksuJ6e7uJj8/P61fjKIoSrYYT1Xk/z0cKxJPJVZcbNQWZBaXwcHBjJYL4MZstFg0GnXJkYDbz5aUSSQSzmIKhUKul4tNzGxpaaGoqMjVIVMURckm4xGXX5IUmC0i8qaIrBeRNyd7YocT1jqwAgG4h3ooFHIhyjbJ0dYA84qLFSZvnovNXwGorq7GGEM0GnXns9n33hIxVsxaW1spKytjaGjIXVdRFCVbjGdZ7A7gSmA9wz4X5QCw4lJUVOTGrOUSCoWcpWH3s1n73vpiNtLMiktvb2+av8aKi9cSaWpqApLWkV1es4mctr4YJH1CthyMoihKNhiPuLQaYw75ul7TiS3N4i314l0Ws22LGxsbMcZQUFBASUlJmuXirTsWCAQYGBjIaLnYiDIYFhdvuLLd1tLSQl1dHZBMpFRxURQlm4xnWex1EfmViFwmIp+wr0mf2WGEjdry9rv3LovZ5bKuri6Xp1JVVUVrayvBYJCioiLi8bg7VkRGFan0hiPbzHwbZuy1XOy25uZm6uuThae3bNmS3RtWFGXGMx7LJQ+IkqwrZtFQ5APAiotXALzLYmVlZTQ3NxOJRDDGEAwGnbhA0llv81ogKRAjxcUucdntMCwu+fn57tptbW2UlZXR1NTESSclq/i8/fbbWb9nRVFmNvsVF2PMZ6diIocz9mFvl6EgfVmsrq6OzZs3u/2s5WLLxlRVVaV1jYxGo6OWxbxWUSwWw+/3uxyWgoICKisr8fv9NDU1UVdXR1NTE0uXLgWGy9MoiqJkizGXxUTkehEp38f2s0XkvMmZ1uGFjcby1hHzLostWrQIwC19eZfFICkuNmcFksI00nIpLS11722ui1dc/H6/K/1SW1tLY2OjK16p9cUURck2+7Jc1gOPiMgA8BrQCoSAxSTL7v8e+N5kT/BwwIqLfZhD+rLYyMKTdlksHA5jjKGqqoqenp60Y6PRaFr0mVdcBgcHKSwsdMfY+mV1dXU0NjZSV1fH888/74IFtL6YoijZZn/NwlYB15As/eIHuoG7gVOMMdcZY1qnZpqHNtYiySQueXl5af4USPpIbB+Xrq6uUcUr+/v7Ry2LWXGxLZELCgpGhUBbcbGWi8/nIzc3l/b29qzfs6IoM5vx+FzeBtTjOwFs+K+3cKV3WczbrwWGl7FgOJHS2zCsr69v1LKYTY4MBAL09fVRWFjoltVsNFptbS2vvvoqdXV1DAwM0NXVRUFBQZpVpCiKkg3GE4qsTBArLl68y2IjS7BYywXSEyktvb29o8TFWj+2A2VRUZG7hhWXuro6WlpaXE5LU1MTJSUlWgJGUZSsMy3iIiK3iMjmVDmZtSJS6tn2dRFpSJWb+fB0zC/b2CZgXgYGBvD7/eTm5o56uBcUFDhB8SZSWnp6ekYti9lwZ0txcbFbjvMui9k8Gki2AqiqqiKRSKQFDCiKokyU6bJcngSOMcYcB2wFvg6QKpB5KXA0sBr4qYj4xzzLIUImcYlEIu4hn2lZbF/i0t3dPcpyseJirSRvNQBbl6y2thYYzva3kWMw3NBMURQlG+xXXETkSBF5SkQ2pD4fJyLXT+SixpjfGWNstcQXABujewFwnzEmaozZDjQAp0zkWgcrXssjEom4YpOQFAObFJlJXDo6Osa0XOxPb5FMK0I2z8ZaNI2NjcydOxeArVu3Zu/mFEWZ8YzHcvkPkpbFIIAx5k2S1kW2+BzweOr9bGCXZ9vu1NgoROQLIvKKiLxiHdeHEiPFxTrwIWm55Ofnk5+fn1FcOjs7x7RcrO/FKzwjxaWnp4dgMEhTU5OLYNu8eXO2b1FRlBnMeMQl3xjz0oix/dZoF5Hfi8iGDK8LPPv8Xepc9xzYtMEYc5sxZoUxZsXIh++hQCQScRFeAwMDaUJh81Jqampobm6moKAgTSxsmfxM4mKxVZRhWFzsEpjN0m9sbGTJkiUAvPPOO9m8PUVRZjjjqS0WFpFFJOuJISIXAY37O8gYc86+tovIZ4DzgA+aYafEHqDes9uc1Nghj7eqMYy2XAoLC11eivWRzJo1i8bG5K/aG/1l2ZdD3+vnsSHQoVCI0tLStFwXKy6apa8oSjYZj+VyLfDvwFEisgf4CvDFiVxURFYDXwPON8b0ezY9DFwqIkERWUCyGsBIq+mwoL+/31kukUgkrfCkHa+rq3MNv7zZ+JZ9WS79/f1uqc0rbLaumP05e3Zy1dGKmKIoSjbYr7gYY7alrJAq4ChjzPuNMTsmeN2fAEXAkyLyhoj8LHWtt4BfAxuBJ4BrjTHxsU9z6OB12EMyV8UKxsDAQJoD3u47a9YsJy52qczLvsSlr68vzY9jsRaL/Zmfn4/P53MVlBVFUbLBfpfFROT/HfEZoAt41Rjzxnu5qDHmiH1suwm46b2c92DEZtaPFJe+vj4qKiqApOUyctkMklZGd3c3fX19bqnMy76WxXp6esY85wsvvMDq1atpb28nGo2Sl5dHV1fXgd+coijKGIxnWWwFyfpis1OvvyKZg/IfIvK1SZzbYcG7774LpDvYIWm5WGvE9nEZyaxZs4DkkpVXSCyZLJfi4mIgmQszlrhYywWSRSuLioo0iVJRlKwyHnGZA5xkjPkbY8zfAMuBauB04DOTOLfDgvXr1wPpdcUgKS6FhYWu7/3+xCUQCLhxawVlEhdbwNJb6NJ77traWiKRiBOhpqYmysvLGRwcTOt2qSiKMhHGIy7VJDtRWgaBGmNMZMS4kgHb5dErDoArLjkwMEA8Hk+rPzayudjevXudoHiX16zjH4bFxWbmd3R0uG1eobHntJZUY2OjqzXW0tLyXm9TURQljfGIyz3AiyLyLRH5FvAc8CsRKSDpeFf2gc189zrsjTFuWcyGH9ueLwAPP/wwMGy57N271y1x5eTkOCHyOvmj0SiBQMBZJLYXDCStE4sVF3uOxsZGFzGmuS6KomSL8USLfZekn6Uz9brGGPMdY0yfMeZTkzu9Q5/t27cDOOc9JKPDjDFpDb1isZgTkEceeQRILnEFg0EaGxudGIzM5LfYjH0rYgMDA+4Yr7hYX0s0GkVEaGpqYsGCBQBs2rQpi3euKMpMZjxJlBhjXhaRnSQ7USIic40x707qzA4TbP6ItQ4AZ614xcU+7I0xvPnmm0AyMs+GI1vx8S6Lef04/f395Ofnpy2V7ctysWVlGhsbWbVqFQANDQ3Zu3FFUWY04ylceb6IvA1sB/6Q+vn4vo9SLNbfsXjxYjdmxcW7LNbfP5xLanNbYDi6q7+/H5/PlxYB5m3yZcXFG1WWyXLxWkM212XZsmUA7Ny5c8L3qyiKAuPzuXwXOA3YaoxZAJxDspKxMg6seJx88smjxryWS39/vxOD7u5ut6+1XPr6+vD5fGmRX979rLh4I8gSiYRb+rKIiBOVuro6mpubmTdvHpAuaoqiKBNhPOIyaIxpA3wi4jPGPEMy90UZB7ZK8emnn+7GrDVTWlrqxMUKDqQnRFpxseVc4vG4Ww5rb293+1lxGZlPk5OTkyYugBOVmpoampqanD/oUKwurSjKwcl4xKVTRAqBPwL3iMiPAM24Gyc2Csz6OiCzuHijxbxhyTZL34pPLBZzjnxv6HBfXx8FBQWjSr4EAoFR4mJFpba2lqamJkSEQCCQFr6sKIoyEcYjLhcA/cB1JOt9vUOymrEyDjIlJnrFxWuxZMKGI/f39yMiJBIJJy7eYpPWconH44iIc+zn5eWNEhcrKrW1tcRiMTo7OykoKEjz4SiKokyE8YjL3xtjEsaYIWPML4wx/wr8/5M9scOFTJn3VlzKysr2W9PLWjzeLH679OVtTWzFpb+/n5ycHLd0lp+fT3Nzc9o5a2trCYfDrglZU1MTJSUlo0r6K4qivFfGIy7nZhj7SLYnMpOw4lJSUkJ7e3ta+LAVDhs9Zi2XRCIxygrKJC59fX0EAgEnRMXFxbS2tqYdW1tbizHGRZY1NzdTWVlJIpHQGmOKomSFMcVFRL4oIuuBJSLypue1HXhz6qZ4+NHR0UFhYSE5OTm0t7enJUNaobnvvvuAYXGB4bIw1idji2LCsLj09vaSl5fnfDglJSUkEok0Z71NpLRhzU1NTa4EjPZ1URQlG+zLcvkVsIZkA681ntdyY8wVUzC3w4aR5fY7OztdgcmOjo608GG7VPX448lUotLS0lFFL20EWmNjo7NQbFn+np4eCgoK3D7l5eVAeq6LFRJrzTQ1NVFfn2wAumXLlgneraIoyr7FxQ90k+xE2eN5ISLlkz+1Qx9rBYwsWhkOh91Dv729Hb/fj9/vJz8/3yU0btyYLNsmImldKgOBgAtVjkajdHV1YYxJs1yKioqccNhClplKwPT29rpoMlsCxtZCUxRFmQj7EpdXgVdSr1dHvF6Z/Kkd+tx///1AevViwOWYQFJcRIRgMEhdXR1nnXUWkC4GZWVlae+9eTB79uwhGo1ijCEvL4/e3l5nFcFwe+RMlos318VWENi2bduE71tRFGVMcTHGLDDGLEy9Fox4LZzKSR6qPPfcc8DwUpfFKy4dHR3E43H8fj81NTVcddVVQHpSpbeickVFRVqRy71797oQ4uLiYnp7e51VBMPC5hWX/Px8iouL03JdjjrqKAB27dqVnZtXFGVGM55oMVtf7B9Tr6zluIjI34iIEZHK1GcRkX8VkYZU8MBJ2brWdLB582YAFi4c1mJjjBMX62i3lkdNTY1bArPOeyCtxXFlZSXxeNyN7dmzx4Uzl5SU0Nvbm7aMlpubS1FRUcZEyubmZmpra2lubnaFNUfupyiK8l4YT+HK7wNfJtm7ZSPwZRH53kQvLCL1wIcAb3XljwCLU68vALdO9DrTic2gP/XUU91YT08PAwMD1NTUuBDhnp4ehoaGnC8E0vNjvMUorXDYpbI9e/a4GmN5eXkMDg5SXV3t9o/H48468eJNpGxqaqKoqAgR0RIwiqJkhfFYLh8FzjXG3GmMuRNYTXYy9H8IfA3wZhleAPzSJHkBKBWRuoxHHwLYh/6VV17pxmxCY01NjXP4DwwMOMHJhLeki60DVlFRgd/vZ+/eve46NqrMe56BgYH9iktLSwuJRIJQKJTWtVJRFOW9Mq5lMaDU875kohcVkQuAPcaYP4/YNBvwLvrvTo1lOscXROQVEXnlYP22bR3vixYtcmNecRlZhXj+/PnA6NBlb90x66wvKyvDGJNmuVgRKi4udkLT1dW1X3FJJBKEw2EKCws1iVJRlKwwHnH5B+B1EflPEfkFyWixm/Z3kIj8XkQ2ZHhdAHwD+PuJTNwYc5sxZoUxZsVIh/nBQqbSLzarftasWaMSFq1vxoYu27bDtiyLiDhfS2lpKYlEgl27djlxscmVpaWlTmja2tqcX8VLbW0tXV1daXkwpaWlxGKxjPNWFEU5EPaVof9vIrLKGHMvyX4uvwEeAFYaY+7f34mNMecYY44Z+QK2AQuAP4vIDmAO8JqI1AJ7gHrPaeakxg5ZvM29YLjt8YIFC0ZZLlZciouLAbjnnnuA4aZg3pBmm7+ye/duJy42t6WsrMxd1wYPdHZ2ptUOs0tnVsiampqoqqrCGKNLY4qiTJh9WS5bgX9MCcB1wC5jzMPGmAmFExlj1htjqo0x840x80kufZ2UOu/DwFWpqLHTgC5jzCFZj8RGcI3sr7Jt2zaqqqooLCxk9+7dBINBiouLXZ4LDJd8+eMf/wjgSuEHAgGXeW8tmNbWVicGdptdMgNcRJh9b7Fj3lbI9rrakVJRlImyrzyXHxljVgJnAG3AnSKyWUS+JSJHTtJ8HiNp2TQA/wH89SRdZ9L53veSAXXeBEhIWi7WQmloaMDn85GXl8f8+fOdr+X4448HkkJkQ5f9fj85OTmjSvQbY9i7dy+BQMD5S0pLS9PExVopmbL0rT/HKy6aSKkoykTZr8/FGLPTGPMDY8yJwGXAhcCmbE0gZcGEU++NMeZaY8wiY8yxxphDthLAI488AsAJJ5yQNr5t2zYnLm+//TYDAwPEYjGOPfZYt8+aNWuAZJmYzs5O18vF5/PR2NiI3+8nEom4/Xfv3k1lZWVaKX/rfxkcHHRWTqYs/c7OTvLy8giHwy7XxVsQU1EU5b0wnjyXHBFZIyL3AI8DW4BPTPrMDnHs0tJXvvIVN9bf38+OHTs48sgjiUQi7Nq1C2MMHR0dHHfccW6/888/H0g68nfs2OHGE4kE27dvJz8/30V3QdI6qaiooKOjA5/Pl1ZbDNKrH1tsvkw4HKaiooK2tjbmzZsHaJa+oigTZ18O/XNF5E6SPpGrgd8Ci4wxlxpjHpqqCR6qWMviIx8Zbn2zYcMGEokExx9/vIsEs3jFxYYRDw0NOXEZGhpiYGCA7du3U1paSlNTk/PRhMNhKisr6ejooLS0lHg8ntYq2bv0ZQmFQhQUFNDW1kZlZSXhcNiFQmuWvqIoE2VflsvXgeeBpcaY840xvzLGaBLEOMkUzvvGG28AyaUy+97mrSxfvjzjOWx0GSTrjbW3t1NdXU1TUxNz584FkktblZWVtLa2up9erPiMFA1rsdifc+bMAYYrCyiKorxX9uXQP9sYc7sxpmMqJ3Q4YOuCjUyGfOWVVygpKWH+/Pm89NJLQLJq8YIFC9yD3WKXsjZu3OjCji3z5s2jubmZOXPmICKunph13o9c1rIRY2OJi7VcbPZ/W1vbBH8DiqLMdMaboa8cALfddhswXO7e8swzz/CBD3wAEeGpp54CklbHGWecMeocVpj+/Oc/p3WjBDj22GMZHBykvLwcYwwDAwNOXGpra9OW3Px+f1oNMS9eUWlrayMUCuHz+TTPRVGUCaPiMgn88pe/BGDJkiVubNeuXTQ0NHD22WcTiUTYvHkzgUCAnp4ezjzzzFHnsMUq169fT0FBgcuXKSwsdOXxve2RZ8+e7doVWz9NXl4eeXl5aX1bvHgtl/b2duLxuJuToijKRFBxmQRsq+DPfOYzbmzt2rUArF69mnXr1pFIJKivr8fn8/Gxj31s1DlsWZZoNEoikXCRXPX19c6R721/bLPwa2pq2L17N5AMSbadJm0JGK8vyOtzsZn5eXl59Pf3Z/G3oSjKTETFZRKw3/w///nPu7H777+fY489lqVLl7pls2g0yumnn57Wf8ViI7cgGb119NFHAzBnzhyXAOmtlmyFpq6uzpWVqaqqwufzueWySCSSZpXYCDOb6GnDm72dLhVFUd4LKi6TgA0Dtg/8t956i+eff57LL7+ceDzOM888QyAQYPfu3Vx++eUZz7Fy5Uog6XvZu3evWyYrLy93/Vq8uSy2vtiCBQucQ3/27NkkEglnuUB6mLF14Nv6Ym1tbZSUlBCPx9MqMSuKohwoKi6ThLdg5T//8z+Tl5fH1VdfzW9+8xvXu6WoqIjLLrss4/HnnZdsmWOXsRoaGsjNzSWRSFBaWkpubi59fX3uOjZkef78+TQ1NZGbm0tNTQ2Dg4O0tLQ4QcokLtYCCofDbjnO1jNTFEV5L6i4ZJkHH3wQGC4suXXrVu666y4+97nPUVFRwTe/+U0A9u7dy5VXXumy7EeyYcMGICkupaWlvPbaa8yePZvm5mZEhOrqalpbW511tHXrVnw+H/X19XR2dlJUVERlZSWRSIR4PO728+bA2OU4K2BtbW0ZRUhRFOVAUXHJMj/5yU+ApAVhjOHLX/4yeXl5fPOb3+Sxxx5jy5YtTni++tWvZjzH0NAQt9xyi/ucl5dHRUUFJ5xwQlqzMa+DfsuWLcyfP9/VHausrKSystItb9mlunA47M5rLRe7vBYOh13NMW/ypqIoyoGi4pJlNm1K1vQ899xz+dnPfsYTTzzBd7/7XRKJBJ/+9KeBpCP/iiuuYMGCBRnP8cMf/jDt4d7Y2Mj3vvc96uvrnUVhO1nahM3t27dz7LHH0tjYiDGGOXPmpAUKeAXEYsWlr6+PQCCQVrzSW9NMURTlQFFxyTLt7e0ArFixguuuu47Vq1dzxRVXsHr1atfjJR6P8/Wvfz3j8a+++ip///d/z7nnnuvGPvnJT3L11VdTU1NDV1cXAwMDVFdXu66WkCzZcuyxx/Lss88CcPTRR6eJS3d3N0VFRRmXxdrb211Ycn19sleb99yKoigHiopLlrFhvF/60peYP38+t9xyC2effTZvvfUW8XgcEeHzn/98WoKlZePGjXzsYx+joqKCl19+2Y3fdtttiEha06+amhonZJD0m5x22mk888wzAJx99tlp4uIt82IpKChwFosVFy1eqShKNlBxyTLWB1JQUMDNN9/Mhz/8YTZs2EA8Hsfn81FbW8tNN9006riHHnqI0047jd7eXpqamujs7HRZ+Q888AAw3IPFiks8HueII45w53j/+9/Pa6+9BjAqfyYcDlNVVZUmLiKSlkjZ3t6uxSsVRckKKi5Zwhjjyr5AsuHXhRdeyN69e50z/eijj+app55yEVmQbB72yU9+kgsvvJC+vj76+vrw+XzceuutrqnYunXrANIsF9uR8tRTTwWS5WJKSkrYvHkz+fn5lJeXO3EJBoPOchlZMdmKS3l5udsHtHiloigTQ8UlC3R1dXHFFVc4hz3Az372M2fF1NfX8x//8R+8/PLLLF26FGMMzz33HGeccQaLFi3iN7/5jTtuzZo1hMNhrrnmGldDbOPGjcCw5bJr1y7uu+8+IL2+WFNTEz09Pe640tJSfD4foVDIld33Wi4wuux+QUEBIqLFKxVFmRA503VhEfk/wLVAHPitMeZrqfGvA3+ZGv9/jDHrpmuO4+GFF17g8ssvZ8eOHZSXl6f5QebPn88NN9zA5ZdfTk5ODo2NjXz729/m7rvvTqvfVVRUxBlnnMHxxx9PS0sLV1xxBT09Pa5GWENDAxdffLFbJrv++utdkqO1lgYGBvjBD34AwCWXXAIks/vLy8sREcLhMMuWLcsoLps3b3biAsnKAlq8UlGUiTAt4iIiZwEXAMcbY6IiUp0aXwZcChwNzAJ+LyJHGmPiY59teojH43z/+9/nm9/8JsFgEGOMExYR4Z577uHiiy8mEonw/e9/nx//+Mej/BgigjGGnp4eHn30UR599NGM1xocHOS//uu/3Gdv9vysWbNobGwkEolw55134vP5+Ou//mu3vaKigs7OTrfk1d/fT39/v8u18S6LDQ4O0tfXRzAYpK9P+8IpivLemS7L5YvA940xUQBjjH3qXgDclxrfLiINwCnA/07PNDOza9cuLrnkEv73f5PTGhgYAJJZ+f39/RxxxBH09/ezePHifSYj2mUzv99PQUEBZWVllJaWUlJSgs/no7+/3zUVG4lNoly5ciV/+MMf2L17N93d3axZsyYt67+yspLOzk63LAZJ577tYukVF8AtjanPRVGUiTBd4nIk8AERuQkY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EjS9lotdDhscHCQQCNDb28vg4KATG2C/lZFzcnIoLS1NExfrZ7HhzhMhkUjw0EMPcfvtt/P888+nlZWprKzk5JNP5uMf/zgVFRWsXbuWZ599lm984xtp38hLS0s57rjjWLVqFeeffz6rVq0atxWyYcMGfvSjH/HCCy/Q2NhIb28vsVhMH1zvkfcqFMrBS7YCWEai4pJi3bp1GYVl+/bt0+rU/tCHPgTg1tittdLc3MyJJ54IJCsY19TUsGvXLvbu3cu8efPc8dZyCQaDLtfFNjTz7mOjxNrb252AjSwVM166urq49dZbueuuu9iyZYsTilAoxKmnnsqll17KypUruffee3nssce45pprXECBiFBXV8cpp5zCRRddxCc+8Yn9ivrjjz/Ov/7rv7J+/Xra2trcktFEsQ5Puzx1IOe0jvf8/HwXaFBfX8/cuXOZO3cus2fPdu/LysomLRJpcHCQrq4umpqaaGxspK2tzfmG2tvb6ejocP6haDTK0NAQ8XicaDSatoQ3NDTkluq8vw/7b5tIJNKi7yDdyslk8fh8Pre/1wIa+RNwAQvebd6X97wjx63PLNO5vT61kefyBkmMPFem4/Z3vX35Ssb69/cGRXj3sYEYmc411t/pyP0tq1atyjg+UVRcSD4MV69enTZ2ySWXjEpInA6sFWL/E+fm5lJeXu4c+pAUmoULF7Jr1y62bduWJi72wRUKhTJaLpBevHLnzp0uFNlbJ21/vPvuu/z85z/n7rvvpqGhwY3X1dVx7rnn8rnPfY6NGzdy11138Y1vfCPNIT1r1izOOOMMrrrqKs4555wxrZIHHniAH//4x6xfv56urq6s+BtsHgskBdzr8xnLeSsirvX0ggULOProozn++ONZvnw5xxxzjDvfwUBubq5reX3MMcdM93SUGYSKC4wKw+vt7U2rNjzdjPzWU1tbS1NTk7NiWlpaOO644/jDH/7Ali1bOOuss9y+fr+fsrIyFyV24okn0tbWRiKRcN+wKioqaGlp4YgjjqCtrc3lYdjOmZkwxvD6669z3333ce+997oimwBz5szhsssu49Of/jRr167l7rvv5q677nL3UFhYyBlnnMHll1/Opz71qVG/6/7+fm644Qb+67/+i927d+83ysp+A96XZREMBikvL8fv99Pf3++Ec2BgwJXvGUkgEKC6upqjjjqKk046idNP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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(1, 1, figsize=(6.3, 3))\n", + "for i in range(num_cells):\n", + " _ = ax.plot(time_vec, s[i][:-1], c=\"k\")\n", + "ax.set_xlabel(\"Time (ms)\")\n", + "ax.set_ylabel(\"Voltage (mV)\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "1dc130ce", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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l19+2Y3fdtttiEha06+amhonZJD0m5x22mk888wzAJx99tlp4uIt82IpKChwFosVFy1eqShKNlBxyTLWB1JQUMDNN9/Mhz/8YTZs2EA8Hsfn81FbW8tNN9006riHHnqI0047jd7eXpqamujs7HRZ+Q888AAw3IPFiks8HueII45w53j/+9/Pa6+9BjAqfyYcDlNVVZUmLiKSlkjZ3t6uxSsVRckKKi5Zwhjjyr5AsuHXhRdeyN69e50z/eijj+app55yEVmQbB72yU9+kgsvvJC+vj76+vrw+XzceuutrqnYunXrANIsF9uR8tRTTwWS5WJKSkrYvHkz+fn5lJeXO3EJBoPOchlZMdmKS3l5udsHtHiloigTQ8UlC3R1dXHFFVc4hz3Az372M2fF1NfX8x//8R+8/PLLLF26FGMMzz33HGeccQaLFi3iN7/5jTtuzZo1hMNhrrnmGldDbOPGjcCw5bJr1y7uu+8+IL2+WFNTEz09Pe640tJSfD4foVDIld33Wi4wuux+QUEBIqLFKxVFmRA503VhEfk/wLVAHPitMeZrqfGvA3+ZGv9/jDHrpmuO4+GFF17g8ssvZ8eOHZSXl6f5QebPn88NN9zA5ZdfTk5ODo2NjXz729/m7rvvTqvfVVRUxBlnnMHxxx9PS0sLV1xxBT09Pa5GWENDAxdffLFbJrv++utdkqO1lgYGBvjBD34AwCWXXAIks/vLy8sREcLhMMuWLcsoLps3b3biAsnKAlq8UlGUiTAt4iIiZwEXAMcbY6IiUp0aXwZcChwNzAJ+LyJHGmPiY59teojH43z/+9/nm9/8JsFgEGOMExYR4Z577uHiiy8mEonw/e9/nx//+Mej/BgigjGGnp4eHn30UR599NGM1xocHOS//uu/3Gdv9vysWbNobGwkEolw55134vP5+Ou//mu3vaKigs7OTrfk1d/fT39/v8u18S6LDQ4O0tfXRzAYpK9P+8IpivLemS7L5YvA940xUQBjjH3qXgDclxrfLiINwCnA/07PNDOza9cuLrnkEv73f5PTGhgYAJJZ+f39/RxxxBH09/ezePHifSYj2mUzv99PQUEBZWVllJaWUlJSgs/no7+/3zUVG4lNoly5ciV/+MMf2L17N93d3axZsyYt67+yspLOzk63LAZJ577tYukVF8AtjanPRVGUiTBd4nIk8AERuQkY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EjS9lotdDhscHCQQCNDb28vg4KATG2C/lZFzcnIoLS1NExfrZ7HhzhMhkUjw0EMPcfvtt/P888+nlZWprKzk5JNP5uMf/zgVFRWsXbuWZ599lm984xtp38hLS0s57rjjWLVqFeeffz6rVq0atxWyYcMGfvSjH/HCCy/Q2NhIb28vsVhMH1zvkfcqFMrBS7YCWEai4pJi3bp1GYVl+/bt0+rU/tCHPgTg1tittdLc3MyJJ54IJCsY19TUsGvXLvbu3cu8efPc8dZyCQaDLtfFNjTz7mOjxNrb252AjSwVM166urq49dZbueuuu9iyZYsTilAoxKmnnsqll17KypUruffee3nssce45pprXECBiFBXV8cpp5zCRRddxCc+8Yn9ivrjjz/Ov/7rv7J+/Xra2trcktFEsQ5Puzx1IOe0jvf8/HwXaFBfX8/cuXOZO3cus2fPdu/LysomLRJpcHCQrq4umpqaaGxspK2tzfmG2tvb6ejocP6haDTK0NAQ8XicaDSatoQ3NDTkluq8vw/7b5tIJNKi7yDdyslk8fh8Pre/1wIa+RNwAQvebd6X97wjx63PLNO5vT61kefyBkmMPFem4/Z3vX35Ssb69/cGRXj3sYEYmc411t/pyP0tq1atyjg+UVRcSD4MV69enTZ2ySWXjEpInA6sFWL/E+fm5lJeXu4c+pAUmoULF7Jr1y62bduWJi72wRUKhTJaLpBevHLnzp0uFNlbJ21/vPvuu/z85z/n7rvvpqGhwY3X1dVx7rnn8rnPfY6NGzdy11138Y1vfCPNIT1r1izOOOMMrrrqKs4555wxrZIHHniAH//4x6xfv56urq6s+BtsHgskBdzr8xnLeSsirvX0ggULOProozn++ONZvnw5xxxzjDvfwUBubq5reX3MMcdM93SUGYSKC4wKw+vt7U2rNjzdjPzWU1tbS1NTk7NiWlpaOO644/jDH/7Ali1bOOuss9y+fr+fsrIyFyV24okn0tbWRiKRcN+wKioqaGlp4YgjjqCtrc3lYdjOmZkwxvD6669z3333ce+997oimwBz5szhsssu49Of/jRr167l7rvv5q677nL3UFhYyBlnnMHll1/Opz71qVG/6/7+fm644Qb+67/+i927d+83ysp+A96XZREMBikvL8fv99Pf3++Ec2BgwJXvGUkgEKC6upqjjjqKk046idNP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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], @@ -337,9 +466,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "jax", "language": "python", - "name": "python3" + "name": "jax" }, "language_info": { "codemirror_mode": { @@ -351,7 +480,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.11" + "version": "3.8.12" } }, "nbformat": 4,