{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "35a714635ce02cf3",
   "metadata": {},
   "source": [
    "# Unit-aware computations with ``brainunit``\n",
    "\n",
    "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/main/docs/basics/brainunit_unit_aware_computations.ipynb)\n",
    "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/main/docs/basics/brainunit_unit_aware_computations.ipynb)\n",
    "\n",
    "Welcome! This tutorial introduces ``brainunit``, the physical units and unit-aware mathematical system in the BrainX ecosystem."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "intro-motivation",
   "metadata": {},
   "source": [
    "## Why Physical Units?\n",
    "\n",
    "**Brain models involve many physical quantities:**\n",
    "- Time (milliseconds, seconds)\n",
    "- Voltage (millivolts)\n",
    "- Current (nanoamperes, microamperes)\n",
    "- Conductance (nanosiemens, microsiemens)\n",
    "- Capacitance (picofarads)\n",
    "- Resistance (megaohms)\n",
    "\n",
    "**Problems without unit tracking:**\n",
    "- Mixing incompatible units (adding voltage and current)\n",
    "- Forgetting to convert units (using seconds instead of milliseconds)\n",
    "- Hard-to-debug errors from dimensionally incorrect equations\n",
    "\n",
    "**Benefits of ``brainunit``:**\n",
    "- Automatic dimension checking prevents errors\n",
    "- Clear, self-documenting code\n",
    "- Seamless unit conversions\n",
    "- JAX-compatible for GPU/TPU acceleration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "imports",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Imports\n",
    "import brainunit as u\n",
    "import jax.numpy as jnp\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "basic-units",
   "metadata": {},
   "source": [
    "## Creating Quantities with Units\n",
    "\n",
    "A **quantity** combines a numerical value with a physical unit.\n",
    "In ``brainunit``, multiply values by unit constants:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "create-quantities",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "t1 = 10. * msecond\n",
      "t2 = 0.01 * second\n",
      "t3 = 1.5 * usecond\n"
     ]
    }
   ],
   "source": [
    "# Time quantities\n",
    "t1 = 10.0 * u.ms  # 10 milliseconds\n",
    "t2 = 0.01 * u.second  # 0.01 seconds\n",
    "t3 = 1.5 * u.us  # 1.5 microseconds\n",
    "\n",
    "print(\"t1 =\", t1)\n",
    "print(\"t2 =\", t2)\n",
    "print(\"t3 =\", t3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "1552ce60",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Neuron voltages:\n",
      "V_rest = -70. * mvolt\n",
      "V_thresh = -50. * mvolt\n",
      "V_spike = 40. * mvolt\n"
     ]
    }
   ],
   "source": [
    "# Voltage quantities\n",
    "V_rest = -70.0 * u.mV\n",
    "V_thresh = -50.0 * u.mV\n",
    "V_spike = 40.0 * u.mV\n",
    "\n",
    "print(\"\\nNeuron voltages:\")\n",
    "print(\"V_rest =\", V_rest)\n",
    "print(\"V_thresh =\", V_thresh)\n",
    "print(\"V_spike =\", V_spike)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "09ea913f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Circuit parameters:\n",
      "I_app = 200. * pamp\n",
      "g_leak = 10. * nsiemens\n",
      "C_m = 100. * pfarad\n"
     ]
    }
   ],
   "source": [
    "# Current and conductance\n",
    "I_app = 200.0 * u.pA  # applied current in picoamperes\n",
    "g_leak = 10.0 * u.nS  # leak conductance in nanosiemens\n",
    "C_m = 100.0 * u.pF    # membrane capacitance in picofarads\n",
    "\n",
    "print(\"\\nCircuit parameters:\")\n",
    "print(\"I_app =\", I_app)\n",
    "print(\"g_leak =\", g_leak)\n",
    "print(\"C_m =\", C_m)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "common-units",
   "metadata": {},
   "source": [
    "### Common Units in Neuroscience\n",
    "\n",
    "**Time:** `u.second`, `u.ms` (millisecond), `u.us` (microsecond)\n",
    "\n",
    "**Voltage:** `u.volt`, `u.mV` (millivolt)\n",
    "\n",
    "**Current:** `u.amp`, `u.mA` (milliampere), `u.uA` (microampere), `u.nA` (nanoampere), `u.pA` (picoampere)\n",
    "\n",
    "**Conductance:** `u.siemens`, `u.mS` (millisiemens), `u.uS` (microsiemens), `u.nS` (nanosiemens)\n",
    "\n",
    "**Capacitance:** `u.farad`, `u.uF` (microfarad), `u.nF` (nanofarad), `u.pF` (picofarad)\n",
    "\n",
    "**Resistance:** `u.ohm`, `u.kohm` (kiloohm), `u.Mohm` (megaohm)\n",
    "\n",
    "**Frequency:** `u.Hz` (hertz), `u.kHz` (kilohertz)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "unit-arithmetic",
   "metadata": {},
   "source": [
    "## Unit Arithmetic\n",
    "\n",
    "``brainunit`` automatically checks dimensional consistency and propagates units through calculations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "arithmetic-examples",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "delta_V = 20. * mvolt\n"
     ]
    }
   ],
   "source": [
    "# Addition and subtraction: units must match\n",
    "V1 = -70.0 * u.mV\n",
    "V2 = -50.0 * u.mV\n",
    "delta_V = V2 - V1\n",
    "print(\"delta_V =\", delta_V)  # 20.0 mV\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "7618a698",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "V = I * R = 20000. * uvolt\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# Multiplication and division: units combine\n",
    "I = 100.0 * u.pA\n",
    "R = 200.0 * u.Mohm\n",
    "V = I * R\n",
    "print(\"\\nV = I * R =\", V)  # Voltage in appropriate units\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "48e64702",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "g = I / V = -1.4285715 * nsiemens\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# Division produces new units\n",
    "g = I / V1  # conductance = current / voltage\n",
    "print(\"g = I / V =\", g)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "7951be37",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "tau_m = R_m * C_m = 10000. * usecond\n"
     ]
    }
   ],
   "source": [
    "# Time constant: tau = R * C\n",
    "R_m = 100.0 * u.Mohm\n",
    "C_m = 100.0 * u.pF\n",
    "tau_m = R_m * C_m\n",
    "print(\"\\ntau_m = R_m * C_m =\", tau_m)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dimension-checking",
   "metadata": {},
   "source": [
    "### Automatic Dimension Checking\n",
    "\n",
    "``brainunit`` prevents dimensionally incorrect operations:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "dimension-errors",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Valid: V_total = -50. * mvolt\n"
     ]
    }
   ],
   "source": [
    "# This will work: same dimensions\n",
    "V_total = (-70.0 * u.mV) + (20.0 * u.mV)\n",
    "print(\"Valid: V_total =\", V_total)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "b53fa90c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Error caught: UnitMismatchError\n",
      "Message: Cannot calculate \n",
      "100.0 * mvolt + 50.0 * msecond, because units do not match: mV != ms ...\n"
     ]
    }
   ],
   "source": [
    "# This will raise an error: incompatible dimensions\n",
    "try:\n",
    "    bad_sum = (100.0 * u.mV) + (50.0 * u.ms)  # voltage + time!\n",
    "except Exception as e:\n",
    "    print(\"\\nError caught:\", type(e).__name__)\n",
    "    print(\"Message:\", str(e)[:100], \"...\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "eaca32a8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Error caught: UnitMismatchError\n",
      "Message: Cannot calculate \n",
      "10.0 * mvolt + 5.0 * mamp, because units do not match: mV != mA ...\n"
     ]
    }
   ],
   "source": [
    "# This will also raise an error: incompatible units\n",
    "try:\n",
    "    bad_sum2 = (10.0 * u.mV) + (5.0 * u.mA)  # voltage + current!\n",
    "except Exception as e:\n",
    "    print(\"\\nError caught:\", type(e).__name__)\n",
    "    print(\"Message:\", str(e)[:100], \"...\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "unit-conversions",
   "metadata": {},
   "source": [
    "## Unit Conversions\n",
    "\n",
    "Convert quantities between compatible units using ``.to()`` method:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "conversions",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Time conversions:\n",
      "  100.0 * msecond = 0.1 * second = 100000.00000000001 * usecond\n"
     ]
    }
   ],
   "source": [
    "# Time conversions\n",
    "t_ms = 100.0 * u.ms\n",
    "t_s = t_ms.to(u.second)\n",
    "t_us = t_ms.to(u.us)\n",
    "\n",
    "print(\"Time conversions:\")\n",
    "print(f\"  {t_ms} = {t_s} = {t_us}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "84f85b69",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Voltage conversions:\n",
      "  -70.0 * mvolt = -0.07 * volt\n"
     ]
    }
   ],
   "source": [
    "# Voltage conversions\n",
    "V_mv = -70.0 * u.mV\n",
    "V_v = V_mv.to(u.volt)\n",
    "\n",
    "print(\"\\nVoltage conversions:\")\n",
    "print(f\"  {V_mv} = {V_v}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "5065d516",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Current conversions:\n",
      "  200.0 * pamp = 0.2 * namp = 0.00019999999999999998 * uamp\n"
     ]
    }
   ],
   "source": [
    "# Current conversions\n",
    "I_pa = 200.0 * u.pA\n",
    "I_na = I_pa.to(u.nA)\n",
    "I_ua = I_pa.to(u.uA)\n",
    "\n",
    "print(\"\\nCurrent conversions:\")\n",
    "print(f\"  {I_pa} = {I_na} = {I_ua}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "48f2e46d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Automatic conversion:\n",
      "  10.0 * msecond + 0.01 * second = 20.0 * msecond\n"
     ]
    }
   ],
   "source": [
    "# Automatic conversion in compatible operations\n",
    "t1 = 10.0 * u.ms\n",
    "t2 = 0.01 * u.second\n",
    "t_sum = t1 + t2  # automatically handles different units\n",
    "print(\"\\nAutomatic conversion:\")\n",
    "print(f\"  {t1} + {t2} = {t_sum}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "arrays-units",
   "metadata": {},
   "source": [
    "## Working with Arrays\n",
    "\n",
    "``brainunit`` seamlessly works with NumPy and JAX arrays:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "array-examples",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Voltages array: ArrayImpl([-70., -60., -50., -40., -30.], dtype=float32) * mvolt\n",
      "Shape: (5,)\n",
      "Unit: mV\n"
     ]
    }
   ],
   "source": [
    "# Create array quantities\n",
    "voltages = np.array([-70.0, -60.0, -50.0, -40.0, -30.0]) * u.mV\n",
    "print(\"Voltages array:\", voltages)\n",
    "print(\"Shape:\", voltages.shape)\n",
    "print(\"Unit:\", voltages.unit)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "66228583",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Statistics:\n",
      "  Mean: -50. * mvolt\n",
      "  Std: 14.142136 * mvolt\n"
     ]
    }
   ],
   "source": [
    "# Array operations preserve units\n",
    "V_mean = u.math.mean(voltages)\n",
    "V_std = u.math.std(voltages)\n",
    "print(\"\\nStatistics:\")\n",
    "print(\"  Mean:\", V_mean)\n",
    "print(\"  Std:\", V_std)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "5ea2be57",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Shifted voltages: ArrayImpl([-60., -50., -40., -30., -20.], dtype=float32) * mvolt\n"
     ]
    }
   ],
   "source": [
    "# Element-wise operations\n",
    "V_shifted = voltages + 10.0 * u.mV\n",
    "print(\"\\nShifted voltages:\", V_shifted)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "110c9ac7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Time array:\n",
      "  Length: 1000\n",
      "  First 5 points: ArrayImpl([0. , 0.1, 0.2, 0.30000001, 0.40000001], dtype=float32) * msecond\n",
      "  Last point: 99.9 * msecond\n"
     ]
    }
   ],
   "source": [
    "# Time arrays for simulation\n",
    "dt = 0.1 * u.ms\n",
    "t_end = 100.0 * u.ms\n",
    "n_steps = int(t_end / dt)\n",
    "time = np.arange(n_steps) * dt\n",
    "print(\"\\nTime array:\")\n",
    "print(\"  Length:\", len(time))\n",
    "print(\"  First 5 points:\", time[:5])\n",
    "print(\"  Last point:\", time[-1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "math-functions",
   "metadata": {},
   "source": [
    "## Mathematical Functions\n",
    "\n",
    "Use ``u.math`` for unit-aware mathematical operations:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "math-examples",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArIAAAEiCAYAAAAF9zFeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUcxJREFUeJzt3Qd4U9X7B/Bv96aDLiibskfZyBJBBNkgKqICoqioDMEJCogDBBcOFEVR+StD+CkOBEQ2UvYeZRUos4PSvZv8n/eUlLRNoS1tktt+P89zSXJzk3uSk9A35773PTZ6vV4PIiIiIiKNsbV0A4iIiIiISoKBLBERERFpEgNZIiIiItIkBrJEREREpEkMZImIiIhIkxjIEhEREZEmMZAlIiIiIk1iIEtEREREmsRAloiIiIg0iYEsEWnGPffco5aSsLGxwVtvvVWix27atEk9Xi4rmh9++EG99nPnzhV52z179pilbUREDGSJzMzwx76wZceOHajIjh07pgLOogROZBlffvml+hyXtr///rvEPzas0bJly/D444+jXr166rt9qx9h6enpeO2111C1alW4uLigffv2WLdunVnbS6RF9pZuAFFF9fbbb6N27doF1gcHB6OiB7IzZsxQf/Rr1aqV575//vnHYu2qqIYPH45HHnkETk5OeQJZX19fPPHEE6UeyM6bN6/cBLNfffUV9u7di7Zt2+LatWu33FbeyxUrVuDFF19Uga/8UOjTpw82btyIzp07m63NRFrDQJbIQnr37o02bdpYuhma4ujoaOkmVDh2dnZqoeL7v//7PwQFBcHW1hZNmzYtdLtdu3Zh6dKl+OCDD/Dyyy+rdSNGjFCPefXVV7F9+3YztppIW5haQGSlpk+frv4Arl+/Ps/6Z555RgV0Bw8ezJO/KYcxp0yZgsDAQLi5uWHAgAG4cOFCgeddvnw5WrdurQ5fyqiaHPq8dOlSgdEhd3d3tX7QoEHqup+fn/ojm52dnWdbnU6HuXPnokmTJnB2dkZAQACeffZZXL9+Pc92Mrrar18/bNu2De3atVPb1qlTB4sWLcrdRkahHnroIXW9W7duuekWhtzU/DmyGRkZmDZtmno9np6e6nV36dJFjWKV1MWLF9Vrlufy9/fHxIkT1WFfU3bu3In7779f7dvV1RVdu3bFf//9V2A7eR+feuopddhYRjZlJP65555T7RexsbHqvW3WrJl6rytVqqR+6Bj6WCQlJak2TZgwwWSbJdicNWtWoa+rVatWeOCBB/Ksk/3J+3vo0KHcdfI5knXHjx83mSMr/Xj06FFs3rw5t3/yHzKX92vSpEnqMyNtHjx4MKKjo3Er8pmT0VhhnGpj8OGHH6Jjx46oXLmy+uxKn8sIpjFpozzGVNrDneRIl1T16tXVd/h25HVI/8l320C+H/KZCQ0NNfk9NibvvwS90o/yGZTPohzZMbw/0leSqiDvW4MGDfDvv//meXxiYqIaCZa+lc+nfO7vu+8+7Nu3r8SvnchcOCJLZCHx8fGIiYkp8MdW/lCLN998E3/++af6Y3b48GF4eHhg7dq1WLBgAd555x2EhITkeex7772nHi95dlFRUSq47NGjBw4cOKD+gAn5Az9q1Ch1qFOCnsjISHz66acq+Nq/fz+8vLxyn08C1l69eqk/gBJEyB+/jz76CHXr1lVBmIEErYbnHT9+PM6ePYsvvvhCPZ88r4ODQ+62p0+fxoMPPqhe08iRI7Fw4UIVwEhQIoHw3XffrZ7js88+U0F5o0aN1OMMl/klJCTg22+/xbBhw/D000+rP8jfffedareMcrVo0aJYfZKamop7770XERERqh0SeMqo2oYNGwpsK+sk2JS2G350fP/99+jevTu2bt2qgnVx+fJldT0uLk4FKg0bNlSBrQQZKSkp6kdJeHg4Vq5cqYJ4CXKlX77++msVlEiqhbRDAlwJCCXQ/Pjjj/OMki5ZsgR6vR6PPfZYoa9NAnzZzkCCZwlIpd3S3ubNm6v1cl0C0MLec/lcjRs3TrXnjTfeUOvkx4sxud/b21u9LxJcymPGjh2r2l4Y+RzJeyV5ofKe5yefU/lxJq9RfgDICKa8X3/99Rf69u2L0pL/O1kY+T4ap1vcCfmu1K9fX/2AMWb4DMl3WILiW5EfjvJDUdJA5H2RtAa5/vPPP6sgdcyYMXj00UfVqK98ByU4ltcg5D75PEofNW7cWKVByA9O+TEjP4CIrJqeiMzq+++/18tXz9Ti5OSUZ9vDhw/rHR0d9aNHj9Zfv35dHxQUpG/Tpo0+MzMzd5uNGzeqx8p9CQkJuet/+eUXtf7TTz9VtzMyMvT+/v76pk2b6lNTU3O3++uvv9R206ZNy103cuRIte7tt9/O056WLVvqW7dunXt769ataruff/45z3Zr1qwpsL5mzZpq3ZYtW3LXRUVFqdf80ksv5a5bvny52k5eV35du3ZVi0FWVpY+PT09zzbyPgUEBOiffPLJPOvlOadPn66/lblz56rt5L0zSE5O1gcHB+dpk06n09erV0/fq1cvdd0gJSVFX7t2bf19992Xu27EiBF6W1tb/e7duwvsz/DYtLQ0fXZ2dp77zp49q94b4z5Yu3atasfq1avzbNu8efM874sphvf12LFj6vYff/yhnn/AgAH6oUOH5nmuwYMHF/i8SnsMmjRpYnJ/hm179OiR532ZOHGi3s7OTh8XF3fLNr7wwgvq8abIe2tMPs/yWe7evXvuOmmjPF7akV9R+t+wXVEWU/u4lcLeM8N9xq/D4OjRo2pf8+fPv+Vzy/PKdosXL85dFxYWptbJZ2/Hjh0FPkPG7ff09FTvPZEWcUSWyELkMKqMwhjLn4sohwvlxKfJkyerw4YyWiQnPNnbF/zqSk6dYYRFyKhLlSpV1Ak0MrooJZFkpFYOr8phSwMZzZJRwlWrVql9GZORmvyjesajZZKmIIfV5TCk8UiWjFLKiJ0c4pdRIAMZ7ZHnMJCRPznUKSOSd5q/KSkOMuopl5J7XJLDovJeyXsm752BHKaVkVTJVTSQEbJTp06pUfP8J/HIiK68R9IOISOt/fv3N5kPbTh0bjyyJyPh8jrk/ZP3xvh1yAi7jM7KKJukNIgjR46oz4aM1N+K4X3fsmWLGm2VkVcZmZe+M6QkyH7l+e70JC55v4zTAmTfn3zyCc6fP5878ltchqMKhtFHeZ/yjzKXhqJWCpAjCKVFjgSYGt01fE/l/tuRz4uMwBrIZ0eOsEiOrhxVMTBcN/7OyXaSJiMj4vL5ItISBrJEFiKHDYtystcrr7yiDqPKofKZM2eqYNAUOdPZmAQSkidnyG2UIMLwBy4/CWTlUGL+P6ISaBqTw8XGua8SzEmKhOTUmSKBs7EaNWoU2Cb/cxbXjz/+qFIewsLCkJmZmbveVEWI25H3SN4z4yDM1Hsmr1tIekRh5H2RQ+CS/nCrE32EBL1y6FyqAUhqhnEesiHVREgagBxal8PGkpYgQbYEtdJXhtziwsjhf/mMSAArh/HlUvKQJZ1DUgEksJFDydIW4x8bJZG/n6WPxZ30s6QQvPvuu+pHhHHOcv6+ulPyY8HcJEg3lYedlpaWe//tVKtWrcB7IT8y86ckyLr8fTFnzhz1WZZt5UeoVEuQH8aSw05k7RjIElk5CTAMgZPkyppLUc5Ul6BHglgJpkzJHwgX9pw5R3SL76efflKjh3JylgT80hbDSU9nzpxBWTGMtkq+YWF5uDJCJnmoRSE/UKZOnYonn3xS5T/7+PiooFVyGw37MpAAQ/YrI72SG7x48WKVG2kIUG5FyjjJyYMywidloeREOQmyZUROAlsJZKXdLVu2xJ0o7X6Wtkl+rATdEuzLqLnkXktOsrz+2wW1+U9QvJWrV68WaTt5v4sSYBaFvJ78J1yKK1euqMuijJIW9p4XpS8efvhh9ePlt99+U0d85PM1e/Zs/PrrryoPnMiaMZAlsmISxEigJieBSFAjAY8c9s5/9rkwBLvGf6jk5CrDodyaNWuqyxMnTqgTkozJOsP9xSEnfslJYJ06dSq1P+rFGWGTE1Rk1Ej+4Bo/Tk4yKgl5D+TQurx3xs8n70/+1y2kX241gieBvGwjz3m71yGjo3KimjE51C+VJYxJ4CmBpvx4kFE4OTHt888/L9Lrk2BFgj8Z4ZfgTqoASMAsAa4hkJV1t/sRU9qjoLd73v/9739q1FlOdjQ+BC+vxdTIr7xvxgxHI4oaVBaF7Lu06ujKjyFJw5HRe+MTvuRwv+H+siav+/nnn1eLHEmRk7zkBFIGsmTtWH6LyIrJ2elSQ/Kbb75RI3USZEjFAFNnVksZKzlr3zg4khEdwx8iSWOQEcv58+fnOYy5evVqFcCU5MxvGcmRgEjall9WVlaBgKIopFyTKMpjDQGX8eiS/PGXkkUlIYdUJU/QuKyTHMKX99+YHH6VYFaqOUhZrPwMpaYkSJTRYqk+YWraVkO75XXkH62U/GNTo3SGSQpk5EyqAUjqQVGDDUPKgIy2yQ8cwyiurJeRWmljUdIKpI9K0rdFeV6R/7nl/ZEg13hkVVJmZFTamASBEvhLHrAxGcUtTo5sURapjFFa5MepvDbjz5l8RyVYlpzW21UsuBOyX0mDMSb/T8gocGFl54isCUdkiSxEAkjJ68xPglUZZZTgUg43y6iPnCwkpMyVjM7IqMkvv/yS53FyOFpG1qQMlpRvkiBH8j2lLJWQQ7ESwMj9UtZJDksbym9J/Uipl1pc8jySbymH8iV3sWfPnmo/MjosgZg8t/GJU0Uhr08CF2mr/IGVETgZQTaVhyuH1GU0VspSSSAu+aUSqEsesakA83bkvZLSYXL4Xg69yyiVnLgluajGJECVsl8SQMpJP/Keykk1EnjKyJoEVBK8ChlFl6BT3is5CUpOtJIfGPL+SF6yHNaX1yEzvcnzSP9LComMuBaWoygn0MnJZ3IoWH7YGJc4uxX5PEidYRlhlrxYAzlkL2XbRFECWQnkJU9XclblOaVv8o/yl4Q8r5CTEyVQlM+BnMAkfSs/6uQEN3ntMmIoJ0vKvo1r4IrRo0fj/fffV5fy402C2pMnT1okR1b2bQiq5cdNcnKyes8M77ksQoJVyXGWkzrltcnrktxvCdbzj9KXNvnxKyP78j2Vkn6SWiJHWXbv3q1yz4msnqXLJhBVNLcqv2UoiyNlpdq2bauvVq1agZJFUk5Ltlu2bFme8ltLlizRT548WZXYcnFx0fft21d//vz5AvuXx0kZLSm95OPjo3/sscf0Fy9ezLONlN9yc3Mr8FgpX2Tqv41vvvlGleWS/Xp4eOibNWumf/XVV/WXL1/OU35L2nS7klpiwYIF+jp16qiSTcZlr/JvKyWeZs6cqZ5bXo+8LiknJu2XdSUpvyTvmZSkcnV11fv6+uonTJiQW04sf0mw/fv36x944AF95cqV1f5lnw8//LB+/fr1BZ5TynD5+fmp7eS1SbkjQ+kwKb8lJciqVKmi3sNOnTrpQ0NDTb43Bn369FFt2r59u744HnrooTyfH0MpK3m9UurNuDRbYeW3rl69qvpS+lruM7TRsG3+UmOGz6ipkmrG5HM/btw49T7Z2Njk+ax99913quSZvH8NGzZU+zL1eZQyXU899ZQqKSXtk/6QMm9F7f/SZGifqSV/W+R9f/nll/WBgYHqNcr3Xz53RSHvv5Twyq+w75zs31BuSz6Dr7zyij4kJES9X/K9l+tffvlliV83kTnZyD+WDqaJqORk1ivJr5QRvuKOfpJ2ySi0jNxKHjQRUUXFHFkiIo2R1ASp+yu5skREFRlzZImINEJygGXaX8nPlbxYyU8mIqrIOCJLRKQRmzdvVqOwEtDKyUBy4hYRUUXGHFkiIiIi0iSOyBIRERGRJjGQJSIiIiJNsq+IU37KzD0eHh5lNs0iEREREZWMZL3KZB0yw5xMQHMrFS6QlSC2LKf7IyIiIqI7d+HCBTXz3K1UuEBWRmINb45MI2mOEWCZmtDPz++2vyrIOrEPtY39p33sQ21j/2mfzsx9mJCQoAYdDTHbrVS4QNaQTiBBrLkC2bS0NLUvfoG1iX2obew/7WMfahv7T/t0FurDoqSA8hNFRERERJrEQJaIiIiINMmigeyWLVvQv39/dVaaDB+vXLnyto/ZtGkTWrVqBScnJwQHB+OHH34wS1uJiIiIyLpYNJBNTk5GSEgI5s2bV6TtZVrGvn37olu3bjhw4ABefPFFjB49GmvXri3zthIRERGRdbHoyV69e/dWS1HNnz8ftWvXxkcffaRuN2rUCNu2bcMnn3yCXr16lWFLiYiIiMjaaCpHNjQ0FD169MizTgJYWW+tIhPSMGdDBJLTsyzdFCIiIqJyRVPlt65evYqAgIA86+S21BtLTU2Fi4tLgcekp6erxUC2NZSSkKWsZ6Z48sc9OH4lEd4ep/BG30Zluj8qG/I5kb4s688LlQ32n/axD7WN/ad9OjP3YXH2o6lAtiRmzZqFGTNmFFgvhX2lJlpZe6qtH17+IxE/bD+He2q5oJ6fa5nvk0r/CxUfH6++xKyBqD3sP+1jH2ob+0/7dGbuQ5metlwGsoGBgYiMjMyzTm5LgV5To7Fi8uTJmDRpUoHZImR2CnNMiDDI1xerjsVi4+k4fLzlCpY/exdsbW9f4Jes6wssVTU4K402sf+0j32obew/7dOZuQ+dnZ3LZyDboUMH/P3333nWrVu3Tq0vjJTpkiU/6QhzfaEm3lMduyISsf9CHH7ZewmPtq9hlv1S6ZEvsDk/M1S62H/axz7UNvaf9tmYsQ+Lsw+LfqKSkpJUGS1ZDOW15HpERETuaOqIESNytx8zZgzCw8Px6quvIiwsDF9++SV++eUXTJw4EdbM390Rk+6rr66/v/o4YpJu5uwSERERUclYNJDds2cPWrZsqRYhKQByfdq0aer2lStXcoNaIaW3Vq1apUZhpf6slOH69ttvNVF6a/hdNdCkaiUkpGVh5qrjlm4OERERkeZZNLXgnnvuUYnDhTE1a5c8Zv/+/dAaeztbvDe4GQZ/+R9+3X8JD7apho51fS3dLCIiIiLNYrKKGbWo7oXHbuTHvrnyCNKzsi3dJCIiIiLNYiBrZq/0aghfd0eERydjwZZwSzeHiIiISLMYyJqZp4sDpvZrrK5/vuE0zsYkW7pJRERERJrEQNYCBoRURZd6vkjP0uH1/x2CTld4njARERERmcZA1kK12GYObgYXBzvsPBuLJbtvVmYgIiIioqJhIGsh1X1c8UqvBur6rL/DcCU+1dJNIiIiItIUBrIWNLJjLbSs4YWk9Cy88duRW5YiIyIiIqK8GMhakJ2tDeYMaQ5HO1tsCIvCHwcvW7pJRERERJrBQNbC6gV4YFz3YHV9xp/HcI3T1xIREREVCQNZK/Bs17poGOiB2OQMvP3XMUs3h4iIiEgTGMhaAUd7W8x5sDlsbYDfD1zG+uORlm4SERERkdVjIGslmlfzwtNd6qjrU347jLiUDEs3iYiIiMiqMZC1IhPvq486fm6ITEjHW38ctXRziIiIiKwaA1kr4uxgh48eClEpBisPXMbqw1cs3SQiIiIiq8VA1sq0rOGN5+8Jzk0xiE5kFQMiIiIiUxjIWqHx99ZDoyqVcD0lE5N/PcyJEoiIiIhMYCBrpVUMPn44BA52Nvj3eCT+t++SpZtEREREZHUYyFopGZF9sUd9dX3GH0dxKS7V0k0iIiIisioMZK3Ys3fXQcsaXkhMz8JrKw5Bp2OKAREREZEBA1krZm9nq6oYODvYYtvpGCwKPWfpJhERERFZDQayVq6Onzsm926krs9cHYawqwmWbhIRERGRVWAgqwEjOtREtwZ+yMjSYcKSA0jLzLZ0k4iIiIgsjoGsBtjY2OCDh0Lg6+6EE5GJmPX3cUs3iYiIiMjiGMhqhASxHz7UXF3/MfQ81h+PtHSTiIiIiCyKgayG3NPAH091rq2uv7LiEKIS0izdJCIiIiKLYSCrMa/e30DVmI1NzsBLyw+yJBcRERFVWAxkNcbJ3g6fPdJCleTaeioGC/87a+kmEREREVXMQHbevHmoVasWnJ2d0b59e+zateuW28+dOxcNGjSAi4sLqlevjokTJyItrWIdYq8X4IGp/Rqr67PXhOHQxThLN4mIiIioYgWyy5Ytw6RJkzB9+nTs27cPISEh6NWrF6Kiokxuv3jxYrz++utq++PHj+O7775TzzFlyhRUNI+2q4FeTQKQma3HC4v3IT4109JNIiIiIqo4gezHH3+Mp59+GqNGjULjxo0xf/58uLq6YuHChSa33759Ozp16oRHH31UjeL27NkTw4YNu+0obnktyTXnwRBU93HBhdhUvLriIPR65ssSERFRxWFvqR1nZGRg7969mDx5cu46W1tb9OjRA6GhoSYf07FjR/z0008qcG3Xrh3Cw8Px999/Y/jw4YXuJz09XS0GCQk5M2PpdDq1lDXZhwSYZbEvDyc7fP5ISzz8dSjWHo3Ed9vC8WSnnKoGpI0+pLLH/tM+9qG2sf+0T2fmPizOfiwWyMbExCA7OxsBAQF51svtsLAwk4+RkVh5XOfOndUbmpWVhTFjxtwytWDWrFmYMWNGgfXR0dFmya2VzoiPj1ftlUC9tAU6AuO6VMNHmy5g1uow1HIHmlZxK/X9VGRl3YdUtth/2sc+1Db2n/bpzNyHiYmJ1h/IlsSmTZswc+ZMfPnll+rEsNOnT2PChAl45513MHXqVJOPkRFfycM1HpGVk8T8/PxQqVIls3S+pAHI/sqq85+/zw/HYzLx95GrmLb2HP4a2wlero5lsq+KyBx9SGWH/ad97ENtY/9pn87MfSgFAKw+kPX19YWdnR0iI/POUCW3AwMDTT5GglVJIxg9erS63axZMyQnJ+OZZ57BG2+8YfLNdXJyUkt+sq25vlDS+WW9v/cfbI5jVxJw7loKXllxGAtGtIGtrU2Z7a+iMUcfUtlh/2kf+1Db2H/aZ2PGPizOPiz2iXJ0dETr1q2xfv36PBG/3O7QoYPJx6SkpBR4cRIMi4p+olMlZwfMe6wVHO1tsT4sCgu2hlu6SURERERlyqI/jeSQ/4IFC/Djjz+qclrPPfecGmGVKgZixIgReU4G69+/P7766issXboUZ8+exbp169Qoraw3BLQVWZOqnpjeP6e+7Jy1J7D9dIylm0RERERUZiyaIzt06FB10tW0adNw9epVtGjRAmvWrMk9ASwiIiLPCOybb76phrbl8tKlSypXQ4LY9957z4Kvwvrqy+49fx2/7ruEsUv2489xnRHk5WLpZhERERGVOht9BTsmLyd7eXp6qrPvzHWyl0zw4O/vb7bcoLTMbDw4fzuOXEpAsyBPLB/TAc4OHLHWUh9S6WH/aR/7UNvYf9qnM3MfFidW4yeqHJKgdf7jreHj5ojDl+Lx5sojFT6HmIiIiMofBrLlVDVvV3wxrCWkcMGKvRfx047zlm4SERERUaliIFuOdQz2xeTejdT1GX8ew+5zsZZuEhEREVGpYSBbzo3uUhv9Q6oiS6fH8z/vQ2RC2c9mRkRERGR1gazkWUolAXNM7UqlQ6o8zB7SDA0DPRCdmI5nFu1RJ4MRERERVbhANjg4GBcuXCi7FlGpc3W0xzfD28Db1QEHL8bj5eUHefIXERERVaxAVkou1KtXD9euXSu7FlGZqFHZVVUycLCzwV+HruCz9act3SQiIiIi8+bIvv/++3jllVdw5MiRO9szmV37OpXx7qCm6von/57EqkNXLN0kIiIiIvPN7CXTxqakpCAkJASOjo5wcck7a1RsLM+Mt2ZD29bAqcgkfLvtLF5afgDVfVzQvJqXpZtFREREVPaB7Ny5c4u/F7Iqk/s0wpnoJGw8EY2nF+3B7y90RqCns6WbRURERFS2gezIkSOL+xCyMna2NvhsWEsM+Wo7TkYmqWB22bN3qZPCiIiIiLSiRJFLdnY2Vq5ciePHj6vbTZo0wYABA2BnZ1fa7aMy4uHsgG9HtMWgL/9T09iOX7JfnQxmb8fSwkRERKQNxY5aTp8+jUaNGqlc2V9//VUtjz/+uApmz5w5UzatpDKrZLBgRGs42dvi3+NReOvPoyzLRUREROU3kB0/fjzq1q2rasnu27dPLTJJQu3atdV9pC2ta/pg7tAWsLEBftoRga+3hFu6SURERERlE8hu3rwZc+bMgY+PT+66ypUrq7Jcch9pT+9mVfBm38bq+vurw/D7gUuWbhIRERFR6QeyTk5OSExMLLA+KSlJleMibXqqc2082am2uv7K8kPYEc5JL4iIiKicBbL9+vXDM888g507d6p8Sll27NiBMWPGqBO+SLve7NsIvZsGIiNbh2cW7cGpyII/WIiIiIg0G8h+9tlnKke2Q4cOcHZ2VkunTp0QHBzMGrMaZ2trg0+GtkDrmt5ISMvCyIW7cDku1dLNIiIiIiqd8lteXl74/fffVfUCQ/ktqWIggSxpn7ODHRaMaIMH529HeHQyhn+3E8vHdISPG9NGiIiISOMjsm+//baaolYC1/79+6tFrqempqr7SPskaP2/p9qjiqczzkQn44nvdyEpPcvSzSIiIiK6s0B2xowZ6sSu/CS4lfuofAjyclHBrLerAw5djFc5s+lZ2ZZuFhEREVHJA1k5uctGio7mc/DgwTwluUj7gv3d8eOT7eDmaIftZ65hwpIDyMrWWbpZRERERMULZL29vVWgKkFs/fr11XXD4unpifvuuw8PP/xwUZ+ONKJ5NS+VM+toZ4s1R6/ijd+OcPYvIiIi0tbJXlKRQAKYJ598UqUQSPBqIPVja9WqpSoZUPnTMdgXnw1ried/3otley7Aw9keb/RtZHJknoiIiMjqAtmRI0eqS5mKVspt2dsXu+ABadj9TQPx/pDmeHXFIXy77SycHGzxcs8GDGaJiIhIOzmyycnJWL9+fYH1a9euxerVq0urXWSFHm5THW8PbKKuz9t4Bp+tP23pJhEREVEFVuxA9vXXX0d2dsGz1yXtQO4rrnnz5qm0BJlYoX379ti1a9ctt4+Li8MLL7yAKlWqqOlyJV/377//LvZ+qWRGdKilZgATn/x7El9tOmPpJhEREVEFVez8gFOnTqFx48YF1jds2FBNklAcy5Ytw6RJkzB//nwVxEoebq9evXDixAn4+/sX2D4jI0OdVCb3rVixAkFBQTh//ryapIHMZ3SXOkjP0uGDtScwe00YHO1t8VTn2pZuFhEREVUwxQ5k5SSv8PBwNYpqTIJYNze3Yj3Xxx9/jKeffhqjRo1StyWgXbVqFRYuXGhydFfWx8bGYvv27XBwcFDr8reDzOOFbsHIyNLh0/Wn8M5fx1QwO/yumpZuFhEREVUgxQ5kBw4ciBdffBG//fYb6tatmxvEvvTSSxgwYECRn0dGV/fu3YvJkyfnrrO1tUWPHj0QGhpq8jF//PGHqowgqQUyTa6fnx8effRRvPbaa7CzszP5mPT0dLUYJCQkqEudTqeWsib7kLQLc+zL3MZ3r6smSZi/ORxTVx6BXqfD4+UwmC3PfVgRsP+0j32obew/7dOZuQ+Ls59iB7Jz5szB/fffr1IJqlWrptZdvHgRXbp0wYcffljk54mJiVG5tgEBAXnWy+2wsDCTj5GR4A0bNuCxxx5TebESQD///PPIzMzE9OnTTT5m1qxZJmcci46ORlpaGszRGfHx8eoDIIF6eTOyhRfiE/2xZF8Upv1xDHEJiXi4RcG0EC0r731Y3rH/tI99qG3sP+3TmbkPExMTyza1QA7tr1u3Ts3m5eLigubNm+Puu++GOd5IyY/95ptv1Ahs69atcenSJXzwwQeFBrIy4it5uMYjstWrV1ejuZUqVTJLm6VEleyvvH6B3x3iDw/3E/hmy1l8vOkCnF3dMLoc5cxWhD4sz9h/2sc+1Db2n/bpzNyHUgCgqEpUDFZeTM+ePdVSUr6+vioYjYyMzLNebgcGBpp8jFQqkNxY4zSCRo0a4erVqypVQSZmyE8qG8iSn3SEub5Q8n6Zc3+WMLl3IzjZ2+HzDacx8+8wZOn0eP6eYJQXFaEPyzP2n/axD7WN/ad9Nmbsw+Lso0SBrNSS3bx5MyIiIlQAaWz8+PFFeg4JOmVEVWrSDho0KDfil9tjx441+RiZiGHx4sVqO8OLPHnypApwTQWxZN4P+Es9G8De1laV5Zqz5gQys/SY0KOepZtGRERE5VSxA9n9+/ejT58+SElJUQGtj4+Pynd1dXVVh/2LGsgKOeQvM4a1adMG7dq1U+W35DkNVQxGjBihSmxJnqt47rnn8MUXX2DChAkYN26cKgU2c+bMYu2TypYErvZ2Nqo0lwS0mdk6vNSzPmcAIyIiIssHshMnTkT//v1VqSzJl92xY4c63P/444+rALM4hg4dqk66mjZtmkoPaNGiBdasWZN7ApiM+BoPL0tuq8wgJm2QvFwJcmWfUrWArKs0l4OdjUox+GLjaSSlZ2Fav8awtWUwS0RERKXHRi+noBWDTD6wc+dONGjQQF2XUlmSpyrrZHS1sIoD1kJO9pIAXM6+M9fJXlFRUWq0uqLlBv1f6DlM/f2ouj64ZRDmPNgcDnbaew8qch+WB+w/7WMfahv7T/t0Zu7D4sRqxW6NjL4aXoS8IBk1FbLDCxculLTNVA4N71ALc4e2gJ2tDX7bfwnP/bQXaZkFpzcmIiIiKoliB7ItW7bE7t271fWuXbuqtICff/5ZTZLQtGnTEjWCyq9BLYPwzfDWcLK3xb/HozBy4S4kpmVaullERERUEQNZOblKqgSI9957D97e3uokLMl1lfquRPnd2ygAi55sBw8ne+w8G4thC3bgWtLN2daIiIiIyiyQlalhZfYsIRUGunXrlptaICdnSS6DTDcbEhJSokZQ+de+TmUseeYuVHZzxJFLCRjy1Xacv5Zs6WYRERFReQ9kBw8ejLi4OHVdJiOQhF+i4moa5IlfxnRAkJcLzl1LwQNfbsfBCzmfKyIiIqIyCWRlSjIpsyWkyAFrglJJ1fVzx2/Pd0STqpVwLTkDj3yzAxvC8s7uRkRERFRqgeyYMWMwcOBANRorQaxMISvXTS1Et+NfyRnLnu2Au+v7ITUzG6N/3IMlu3KqXxARERGV6oQIb731Fh555BGcPn0aAwYMwPfff69qyBKVlLuTPb4b2QZTfj2M5XsvYvKvh3ElLhUT7+MsYERERFTKM3s1bNhQLdOnT8dDDz2kpqQluhMyOYJMklDFywWfrT+FzzacxvnYFMwe0hzODhzdJyIiolIuvyWBLINYKi0y+jrpvvp4/4FmsLe1we8HLqvyXNGJLM9FREREt8a54sgqPNKuhqo16+nigP0RcRg07z8cv5Jg6WYRERGRFWMgS1ajY7CvqmhQ29cNl+JS8eBX27H+OCsaEBERkWkMZMmq1LlRnqtDncpIzsjG6EV7sGBLuCr7RkRERHRHgWx4eHhxH0JULF6ujlj0VDsMa1cdEr++9/dxTFx2AKkZ2ZZuGhEREWk5kA0ODlZT1P70009IS0srm1ZRhScVDWYOboZp/RrDztYGKw9cxoPzt+Pi9RRLN42IiIi0Gsju27cPzZs3x6RJk9TECM8++yx27dpVNq0jVPSKBk92ro3/e6odfNwccfRyAvp/vg3bT8dYumlERESkxUC2RYsW+PTTT3H58mUsXLgQV65cQefOndG0aVN8/PHHiI6OLpuWUoXVsa4v/hzXGU2DKuF6SiaGL9yFb7cyb5aIiKiiK/HJXvb29njggQewfPlyzJ49W8369fLLL6N69eoYMWKECnCJSkuQlwtWjOmIB1oGIVunx7urjmP80gNISs+ydNOIiIhIa4Hsnj178Pzzz6NKlSpqJFaC2DNnzmDdunVqtHbgwIGl21Kq8GS2r48eDsH0/jl5s38evIwBX2zDiauJlm4aERERaSGQlaC1WbNm6NixowpYFy1ahPPnz+Pdd99F7dq10aVLF/zwww8ql5aoLPJmR3WqjWXP3IXASs4Ij07GwHnbsGLvRUs3jYiIiKw9kP3qq6/w6KOPquB15cqV6NevH2xt8z6Nv78/vvvuu9JsJ1EebWr5YNX4zuhSzxdpmTq8vPwgXltxCGmZLNFFRERUUdgX9wGnTp267TaOjo4YOXJkSdtEVCSV3Z3ww6h2mLfxND759ySW7bmAgxfj8MWjrRDs727p5hEREZG1BbIGKSkpiIiIQEZGRp71UpqLyFwkV3b8vfXQuqY3Jizdj7CriapE11sDGuPhNtVVKgIRERGVT8UOZKW81hNPPIE1a9aYvD87m4d2yfw6Bfvi7/FdMOmXg9h2Ogav/e8wtpyMwcwHmsHTxcHSzSMiIiJryJF98cUXER8fj507d8LFxUUFtD/++CPq1auHP/74oyzaSFQk/pWcsejJdni9d0PY29pg1eEr6PPpVuw5F2vpphEREZE1BLIbNmxQlQvatGmjTvKqWbMmHn/8ccyZMwezZs0qizYSFZmtrQ3GdK2L/z3XETUru+JSXCoe/joUn6w7icxsnaWbR0RERJYMZJOTk1VVAuHt7Z07k5eU5Cppya158+ahVq1acHZ2Rvv27Ys85e3SpUtVDuSgQYNKtF8qv0Kqe2HV+C54oFUQdHrg0/Wn8OBX23E6KsnSTSMiIiJLBbINGjTAiRMn1PWQkBB8/fXXuHTpEubPn68mRyiuZcuWYdKkSZg+fboKhOU5e/XqhaioqFs+7ty5c2oSBqlbS2SKu5M9Pn64BT59pAUqOdvj4MV49P1sK77/7yx0Et0SERFRxQpkJ0yYkDv9rASfq1evRo0aNfDZZ59h5syZxW6ApCk8/fTTGDVqFBo3bqwCYldXVyxcuLDQx8gJZY899hhmzJiBOnXqFHufVLEMbBGEfyZ2VTVn07N0mPHnMTz27U6VdkBEREQVKJCVfFipWiBat26tJkbYvXs3Lly4gKFDhxbruaR01969e9GjR4+bDbK1VbdDQ0MLfdzbb7+t0hueeuqp4jafKqhAz5wTwd4Z1BQuDnYIDb+G+z/Zgl92X4Bez9FZIiKiClVH1kBGT1u1alWix8bExKjR1YCAgDzr5XZYWJjJx2zbtk3NGnbgwIEi7SM9PV0tBgkJCepSp9OppazJPiRQMse+6PYea1cdHev44OXlh7D/Qhxe/d8h/HHwEmYObopq3q4mH8M+1Db2n/axD7WN/ad9OjP3YXH2U+xAdsiQIWjXrh1ee+21POulaoGMzC5fvhxlJTExEcOHD8eCBQvg6+tbpMdIJQVJQchPTlJLS0uDOTpDypXJByD/VL5kGW4APh9cB0v2ReLb0MvYdvoaes3diuc7BWFIiB9s802iwD7UNvaf9rEPtY39p306M/ehxHtFZaMv5nFVPz8/VYJLqhQYO3z4sEoJiIyMLFZqgYzorlixIk/lAZneNi4uDr///nue7WUUtmXLlrCzsysQtcsbKyeh1a1b97YjstWrV8f169dRqVIllDVpnwTN8r7xC2x9wmOS8fr/DmPP+evqdpua3nh/SDPU8ZVwNwf7UNvYf9rHPtQ29p/26czchxKrSWUsCZ5vF6sVe0Q2KSkJjo6OBdY7ODjkHrYvKnkeybNdv359biArb5bcHjt2bIHtGzZsqAJmY2+++aaK3D/99FMVoObn5OSklvykI8z1hZISYebcHxVdsL8Hfnm2A37aeR7vrw5TAW3fz7ZhXPdgPHN3XTja5/QZ+1Db2H/axz7UNvaf9tmYsQ+Ls49it0ZGYqVklqmarlJ1oLik9JakCsjsYMePH8dzzz2natVKFQMxYsQITJ48WV2XOrNNmzbNs3h5ecHDw0NdNxVgExVlEoURHWrhn4l351Y2+PCfk+jz2VbsDL9m6eYRERFRaY3ITp06FQ888ADOnDmD7t27q3UygrpkyZIS5cdKpQMZrp42bRquXr2KFi1aqGlvDSeARURE8BccmYWc7CWVDX4/cBnvrjqmJk8Y+s0OPNg6CE+38UXONCBERERkLYqdIytWrVqlasZKzqqLiwuaN2+uasp27doV1k7SHzw9PYuUd1EaJFVCJneQcmEMyLUjPiUT768Jw5JdEeq2p7Md3ujbGA+2rq5GcEk7+B3UPvahtrH/tE9n5j4sTqxWokBWyxjIUnHsOReLKb8dxsnInKltW9XwwtsDm6JpkKelm0ZFxO+g9rEPtY39p306Kw5kS9QaqSjw7bffYsqUKYiNjVXrZHpZmaqWqDxpU8sHf47thBc6B8HV0Q77IuLQ/4ttmPzrYcQmZ1i6eURERBVasQPZQ4cOoX79+pg9ezY++OADFdSKX3/9NfekLKLyxMHOFsPbBOLfiXdjYIuqkGMYknLQ7cNNWBR6DlnZLPJNRESkiUBWqgzIFLWnTp1SVQQM+vTpgy1btpR2+4isaprbTx9pqcp1NapSCfGpmZj2+1H0+3wbtpyMtnTziIiIKpxiB7Iye9ezzz5bYH1QUJCqOkBU3rWrnZNu8M7AJvB0cUDY1USMWLgLT3y/C6ciiz4bCREREZk5kJXJBUxNfHDy5Ek14wNRRWAv6QYdamHzK/fgqc614WBng00nonH/p1vxxm+HEZN0czY5IiIispJAdsCAAXj77beRmZmZO9OD1Hp97bXXMGTIkLJoI5HV8nJ1xNR+jfHPxK7o1SQA2To9ft4ZgXs+2ITP159CSkaWpZtIRERUbhU7kP3oo4/UNLVSgiE1NVXVjg0ODlaza7333ntl00oiK1fb1w1fD2+DZc/chWZBnkhKz8JH607i7jmb8H+h55CRxRPCiIiILD6zl9T1WrduHbZt26YqGEhQ26pVK/To0aPUG0ekNe3rVMbvL3TCn4cu46N/TiIiNgVTfz+KBVvP4qWe9dG/eVVOqEBERGSpQNagc+fOaiGivCRQHdgiCL2bVsGy3RH4dP1pFdBOWHoA8zeHY9J99dGjkb9KyyEiIiIzpRbIzA4LFy5Ev3790LRpUzRr1kzlzC5atAgVbIIwottytM85IWzLq/fg5Z714eFkj+NXEvD0oj0Y8MV/2BgWxe8NERGROQJZ+YMrQevo0aPVDF4SxDZp0gTnz59XdWUHDx58J+0gKrdcHe0xtns9bHm1G56/p66aIezwpXiM+mE3Bn+5XdWgZUBLRERUhqkFP/zwg5rwYP369ejWrVue+zZs2IBBgwapkdkRI0aUoBlE5Z+3myNevb+hKtf1zZZw/Bh6DgcuxKkatK1qeGFs92B0a8CUAyIiolIfkV2yZAmmTJlSIIgV3bt3x+uvv46ff/65yDsmqqgquzthcp9GaoRWglone1vsi4jDkz/sUbOE/X34CnQ6jtASERGVWiArFQruv//+Qu/v3bs3Dh48WNSnI6rw/D2cVQ3ara92wzN311EpB0cvJ+D5n/eh59wt+HXfRWRms2wXERHRHQeysbGxCAgIKPR+ue/69etFfToiusG/kjOm9GmE/17rjvHdg+HhbI/TUUmY9MtBNbHCwm1nkZzOiRWIiIhKHMhmZ2fD3r7wlFo7OztkZfGPLdGd5NBO6tkA/73eHa/0agBfd0dcikvF238dQ8f3N+DDtScQncipb4mIiIp9specVS3VCZycnEzen57OP7BEpaGSswNe6Bas8mf/t+8ivt16FmdjkvHFxtP4Zms4hrQKwpOdaqNegIelm0pERKSNQHbkyJG33YYVC4hKj7ODHR5rXxOPtK2Bdcci8fWWM9gfEYcluy6opUs9XxXQdq3vx9nCiIioQipyIPv999+XbUuIyCQ7Wxvc3zQQvZoEYM/56/hu61n8c+wqtp6KUUsdXzc80akWhrSqBjenEk/WR0REpDn8q0ekEVJftm0tH7VciE3BotBzWLrrAsJjkjHt96OYs+aESjsY3qEmgv2ZdkBEROVfsaaoJSLrUN3HFW/0bYzQKfdixoAmqO3rhqT0LPwYeh49Pt6CYd/sUPVoWb6LiIjKM47IEmmYu5M9RnasheF31cR/Z2Lwf6Hn8e/xSISGX1OLv4cTHm5THUPbVlfBLxERUXnCQJaoHJCTvbrU81PL5bhULN4ZgaW7IxCVmK6qHczbdBqdg33ViWP3NQ6Aoz0PxhARkfYxkCUqZ6p6ueDlXg0w/t566qQwyaPddjrnxDBZKrs5YkjraniwdTXUZwkvIiLSMAayROWUjLr2a15VLRHXUrBsTwSW77moRmm/2RKulpBqniqg7R9SFV6ujpZuMhERUbEwkCWqAGpUdsUrvRpiYo/62BAWheV7L2JjWBQOXoxXyzt/HVcpBw+0CsLd9f3gYMfUAyIisn5W8ddq3rx5qFWrFpydndG+fXvs2rWr0G0XLFiALl26wNvbWy09evS45fZEdJO9nS16NgnEghFtsGPKvZjarzEaVamEjGwdVh2+gqd+3IN27/2LN1cext7zsWpGPyIiImtl8UB22bJlmDRpEqZPn459+/YhJCQEvXr1QlRUlMntN23ahGHDhmHjxo0IDQ1F9erV0bNnT1y6dMnsbSfSMl93JzUN7uoJXbBqfGc1S5isu56SiZ92RGDIV6G4+4ON+HDtCZyMTLR0c4mIiAqw0Vt4yEVGYNu2bYsvvvhC3dbpdCo4HTduHF5//fXbPj47O1uNzMrjizJFbkJCAjw9PREfH49KlSqhrMnrkaDc398ftrYW/91AJVCR+jArW4ftZ65h5f5LWHv0KpIzsnPvqx/gjr7NqqJfSBXU9XOHVlSk/iuv2Ifaxv7TPp2Z+7A4sZpFc2QzMjKwd+9eTJ48OXedvEGSLiCjrUWRkpKCzMxM+Pj4mLw/PT1dLcZvjqFTZClrsg/5rWCOfVHZqEh9aGsDdA6urJZ3BjZRNWn/OHgFW05F42RkEk5GnsQn/55Ew0AP9G1eBb2bBKCOlQe1Fan/yiv2obax/7RPZ+Y+LM5+LBrIxsTEqBHVgICAPOvldlhYWJGe47XXXkPVqlVV8GvKrFmzMGPGjALro6OjkZaWBnN0hvyikA8Af4lqU0Xuw/ZV7NG+SnUk3lMFm8/EYf2p69gVkYCwq4lq+eifk6jt44xu9bxxT10v1PNzUVPpWpOK3H/lBftQ29h/2qczcx8mJiZWjKoF77//PpYuXaryZuVEMVNktFdycI1HZCV1wc/Pz2ypBfKHXfbHL7A2sQ8BfwB1a1TFk92A6ykZ+OdoJFYfuarSEM7GpuHszitYuPMKavi4oGfjQPRo5I9WNbzUyWWWxv7TPvahtrH/tE9n5j4sLKazukDW19cXdnZ2iIyMzLNebgcGBt7ysR9++KEKZP/99180b9680O2cnJzUkp90hLm+UNL55twflT724U2V3Z0xrH1NtcSnZmJDWCTWHLmKzSejERGbim+3nVWLt6sDujX0R8/GAWrGMTcny/13w/7TPvahtrH/tM/GjH1YnH1YNJB1dHRE69atsX79egwaNCg36pfbY8eOLfRxc+bMwXvvvYe1a9eiTZs2ZmwxERnzdHHA4JbV1JKSkYXNJ6Kx7lgkNpyIUtUPft13SS0yOcNddSqjewM/dG8YoOraEhER3SmLpxbIYf+RI0eqgLRdu3aYO3cukpOTMWrUKHW/VCIICgpSua5i9uzZmDZtGhYvXqxqz169elWtd3d3VwsRWYaroz16N6uiFql+sOf8dfx7LBLrjkfi/LUUbDkZrZa3/jyGOn5u6N7AX43YtqnlDSd7O0s3n4iINMjigezQoUPViVcSnEpQ2qJFC6xZsyb3BLCIiIg8Q8xfffWVqnbw4IMP5nkeqUP71ltvmb39RFSQ5MbKCKwsb/RthNNRSdh4IkrNKrbn3HWERycjPDonBcHFwQ531fFRM4pJCkJdPzerO2GMiIisk8XryJob68hScbEPS1dCWia2nYpRQa3k1UYn3iyPJ4K8XNClni86BvuiY93KapKGO8H+0z72obax/7RPxzqyREQ5Kjk7oE+zKmqR39FSxkulHZyKxu6z13EpLhVLd19Qi5CatZ2CfdE52Bdta/vA3YInjRERkXXhXwQishhJIWhUpZJanu1aF6kZ2dhx9hr+OxWD/85cw/ErN2vWfrftLOxsbdAsyPNG2oIP2tRiYEtEVJHxLwARWQ0XRzt0k5PAGkjlWiAmKR2hZ67hv9MS2MbgQmwqDlyIU8v8zWdyA9t2tX3QtpYs3vBydbT0yyAiIjNhIEtEVkvyY/uHVFWLuHg9BTvDY7Ej/JoauTUObL/ZEq62qR/grkZq29XyQeua3qjqeWc5tkREZL0YyBKRZlTzdkW11q4Y0rpabmC762wsdp+LVZdnopNxMjJJLYt3Rqht/Dyc0NjfBR3rJ6kAt0lVTzg7sNwXEVF5wECWiLQd2Hq74oFWOYHttaR0Vb9299lY7I24jiOX4lVVhM2ynIlT2zjY5eTltqjuhZY1vNCiujdqVXZlyS8iIg1iIEtE5UZldyf0ahKoFpGWmY1DF+Ow5egFnIzNwr6I64hJysChi/FqWRR6Xm3n5eqgcm2bV/NEsyAvdVnF05nBLRGRlWMgS0TllqQQtKnpjRoumar+oQSmF6+nYr/k1UZIbu11HLmcgLiUTGw9FaMW4/zcZkGV0DTIU6UjNA2qpGrcMrglIrIeDGSJqMKQILS6j6taBtw4gSwjS4cTVxNx6FIcDt8YqT0RmagqJmw8Ea0WAxm5bVK1EhpXqYTGVXPKhtX1c4eDHYu8ExFZAgNZIqrQHO1t0UxSCqp5Au2Rm5Jw7EoCjl6Kx5FLCThyOR4nIxPVyO1/p6Uc2LWbj7ezRbC/uwpsZfKGBjcWP3cnjt4SEZUxBrJERCZSElrV8FaLQXpWNk5FJqkTyGSiBgl0w64kIjE9S12XxZiPmyMaBOQEtfUC3FE/wAP1/T3g6epggVdERFQ+MZAlIioCJ3s7lS8ri4FMsSs5t0cvywxkCSpFQZZz15IRm5yB0PBrajEm5cCk1m09fw/U9XNDXX93NaLLEVwiouJjIEtEVAo5t/c3zamUYEhNkNFbCW4lJeFUVJK6fSkuVZUDk8U4PUFUcrZXQW0dX3fU8XNDHV831PFzR83Krqx7S0RUCAayRESlTALP3LxbI0npWTh1I7A9E5WE07JEJ+FCbAoS0rKwPyJOLcZkkFaqJdSq7IZavq7qsravXHdDdW9XleNLRFRRMZAlIjITdyd7tKzhrRZjMoIr6QgS2J6NTkZ4TDLCo5MQHp2scnAlfUGWbafzPp+tDVDF0wU1fFzVyG2Nyq6o6eOG6j4uKsiVKgtMVyCi8oyBLBGRFYzgNgyUqgeV8qyXHFyZwOFsTLIKdM/duDwbk4Lz15KRkpGt0hVkyZ+LKzyc7FFNUh+8XVT6QzVvFzW6q2ZE83FBJWeeeEZE2sZAlojISsloqpwcJku72j4FgtzopHREXJOgNgXnY1NUioIEuBeu5+TiymiuVFiQxRQPZ3sV2MpSNXdxVrereLnA38OJNXKJyKoxkCUi0miQ6+/hrJY2tfIGuSI1IxsXr6fggiyxqSrINYzeSpqCVFVITMtC2NVEtZgiqQsSRAd6uqCqpzMCZamUcxlQyVlN4yuXPBmNiCyFgSwRUTnk4miHegFSw9bD5P0pGVm4dD0nsL0cl4bL6jLntiyRCWnIzNYjMiFdLQcvFL4vycWV0VsJaiWwDqhkuJ4zmizr5FLaRERUmhjIEhFVQK6O9rcMdHU6Pa4lZ+BKfCquxKfhSlwqriSkITI+DVcT0nD1xmVapk7NeCbLycikW+5TcnYloPV1zwlwfd0dc2/LUtndMfc6g14iKgoGskREVICt7c383ObVTG8jeboJqVmITExTI7g5o7dpiLpxXXJ4JVc3KjEn4JWcXVmkKsPtuDraqcDWx80JPq4OcLXTIahyLCq7O6lZ02TxlkvXnEupw8sKDUQVDwNZIiIqEQkcZcpdWWQK3sJIwCs1dKNuTAYRk3TzMiYxQwW81+R6UoZal56lUxUZUlRub6rRMxWszGBgb2ujUhy8XHOCW7nuLZduDvByMdx2gOeN67J4ujjAxcGOATCRhjGQJSKiMiWBooezg1rq+rnfclsJepMzsnMDWzkpLSYxDRGRsUi3ccT1lEyV8hCXknPf9eQMtX2WLqdUmSzF4WBnowJa46WS4dLZcNteXZf2G67LNlL1gVUdiCyLgSwREVlV0CsTR8hSs7KbWqfT6RAV5QR/f3/Y2hYMHGVCiespEtRKrm6GCnbltuG65O/Gp8rtnPXxqTnrJPiVE9pKEgAbODvY5gTpTvYqsM0J2HPa7y63b1y6OznAzclO3efmaFhnD7cbr9XJ3pYjw0QlwECWiIg0Tcp/yQxnshSVjPxK+oIhqJVLWRJkScu5VLfTstRlolqXpe6TsmWSKiEk9zctMydV4k7Y2dqovGBDcOvmaKcu5aQ8CYDVpaMdXNU6O3Xd5cY6OTFO7ne9cV3SJQzXHe0YIFP5xkCWiIgqHAnuVMDoZK8mgiiubJ1eBbcS1OYsNwNcdT09C0k3bsulBMTJ6VlIzri5Lud2ttHz5TxXaZIAWQJbQ4BruC4jyTev56y/eWmrrt9cbOFsb3T9xqWTvR2cbtyWEWUGzVRhA9l58+bhgw8+wNWrVxESEoLPP/8c7dq1K3T75cuXY+rUqTh37hzq1auH2bNno0+fPmZtMxERVVwSIMqJZbLcCSlzlpKZrYJaCXBvXmarWr8yaizr1GVGlprowvg+uZTbqZk51+V+uS4pE4YAWQXON0aQy5LEsBLQqgBXLg3Brr0tbPXZcHM+CycHOziqbWxvXN4Igg3r7HKu5y6G20brHYzWOd247aAubdQ6h9zFhoF1BWDxQHbZsmWYNGkS5s+fj/bt22Pu3Lno1asXTpw4ofKh8tu+fTuGDRuGWbNmoV+/fli8eDEGDRqEffv2oWnTphZ5DURERCUtc2bICQ4oxefNzM6p/CD5wxLcptwIcA2BrlpvuMxdJ2kS+e67sS7dcH9WznqpLGG41OfEzOoy5zl0hbTq9mXXSpsEszcDWwl+bWB/I8g1DnhlnQTB9rnrbWBve+O2bd71drb57r9x3XCfrJMqGmo/trJOrt/Y/sZ6te7GfQ75bsu2ObfzrjdcZ3Cel41eEoUsSILXtm3b4osvvshN6q9evTrGjRuH119/vcD2Q4cORXJyMv7666/cdXfddRdatGihguHbSUhIgKenJ+Lj41GpUiWUtZyTFKIKPUmBrB/7UNvYf9rHPrReEkJkZOtyA9uMrJvX5TJdBbZZiL52Hc5uHsjI1t/Y5ua2cqmeQx6fbbTuxnrD9cwb98mlYb2MPBtvVxHI1NE3A1tbddsQHNvZ3Ax6cxcbG/WDSYJgubST7eVxtjnPY2uTdzvDcxi2lUu1z+xMzHq4tVm+g8WJ1Sw6IpuRkYG9e/di8uTJuevkDerRowdCQ0NNPkbWywiuMRnBXblyZZm3l4iIiG6S0cGc9AA7VZas8B8i+jL/ISJBtVSikIA2K1uPTF1O0JuZlRNsy3VZb7ieaRQMZ+luPCb75m11KY9R1S1uPj53e92N+9W+9MjO9xhZL6kd0g51aXRf9o1Fnifn8ub2hvW6QoYZZb3uRjsA8wXvXi72mAXrY9FANiYmBtnZ2QgIyHtARW6HhYWZfIzk0ZraXtabkp6erhbjKN/wxZKlrMk+5Mtljn1R2WAfahv7T/vYh9pmzv6TEUQXB1tAxdTanuZYdyPA1d0I0A1Bbk5QLIGuceBrdL/ReuPnyNZJzrQOEv8aP1fu86g+MqxDnnUSgGemp5rtO1ic/Vg8R7asSS7tjBkzCqyPjo5GWlqaWTpDhsblS8xDYtrEPtQ29p/2sQ+1jf1X+goEbzY34vbbxu6G/FqbEvRhtkrxMUcfJiYmaiOQ9fX1hZ2dHSIjI/Osl9uBgYEmHyPri7O9pC0YpyLIiKzk4Pr5+ZktR1YOvcj++AXWJvahtrH/tI99qG3sP+3TmbkPnZ2dtRHIOjo6onXr1li/fr2qPGB4s+T22LFjTT6mQ4cO6v4XX3wxd926devUelOcnJzUkp90hLm+UNL55twflT72obax/7SPfaht7D/tszFjHxZnHxZPLZDR0pEjR6JNmzaqdqyU35KqBKNGjVL3jxgxAkFBQSpFQEyYMAFdu3bFRx99hL59+2Lp0qXYs2cPvvnmGwu/EiIiIiIyJ4sHslJOS/JVp02bpk7YkjJaa9asyT2hKyIiIk9k3rFjR1U79s0338SUKVPUhAhSsYA1ZImIiIgqFovXkTU31pGl4mIfahv7T/vYh9rG/tM+nZn7sDixGj9RRERERKRJFk8tMDfDALShnqw5fsVIGQk5A4+/RLWJfaht7D/tYx9qG/tP+3Rm7kNDjFaUpIEKF8gaapNJCS4iIiIist6YTVIMbqXC5cjKr4rLly/Dw8NDlZIoa4a6tRcuXDBLTi6VPvahtrH/tI99qG3sP+1LMHMfSmgqQWzVqlVvOwJc4UZk5Q2pVq2a2fcrHc8vsLaxD7WN/ad97ENtY/9pXyUz9uHtRmINmKxCRERERJrEQJaIiIiINImBbBmT6XGnT59ucppc0gb2obax/7SPfaht7D/tc7LiPqxwJ3sRERERUfnAEVkiIiIi0iQGskRERESkSQxkiYiIiEiTGMiWsXnz5qFWrVpqWrf27dtj165dlm4SFWLLli3o37+/KsAsk2WsXLkyz/2STj5t2jRUqVIFLi4u6NGjB06dOmWx9lJes2bNQtu2bdVkJ/7+/hg0aBBOnDiRZ5u0tDS88MILqFy5Mtzd3TFkyBBERkZarM1001dffYXmzZvn1qns0KEDVq9enXs/+05b3n//ffX/6Isvvpi7jn1o3d566y3VZ8ZLw4YNrb7/GMiWoWXLlmHSpEnqTL99+/YhJCQEvXr1QlRUlKWbRiYkJyerPpIfH6bMmTMHn332GebPn4+dO3fCzc1N9ad8ucnyNm/erP6T3bFjB9atW4fMzEz07NlT9avBxIkT8eeff2L58uVqe5nl74EHHrBouymHTFQjwc/evXuxZ88edO/eHQMHDsTRo0fV/ew77di9eze+/vpr9cPEGPvQ+jVp0gRXrlzJXbZt22b9/SdVC6hstGvXTv/CCy/k3s7OztZXrVpVP2vWLIu2i25Pvhq//fZb7m2dTqcPDAzUf/DBB7nr4uLi9E5OTvolS5ZYqJV0K1FRUaofN2/enNtfDg4O+uXLl+duc/z4cbVNaGioBVtKhfH29tZ/++237DsNSUxM1NerV0+/bt06fdeuXfUTJkxQ69mH1m/69On6kJAQk/dZc/9xRLaMZGRkqJEFOfxsPD2u3A4NDbVo26j4zp49i6tXr+bpT5k+T9JF2J/WKT4+Xl36+PioS/k+yiitcR/KYbMaNWqwD61MdnY2li5dqkbTJcWAfacdclSkb9++efpKsA+14dSpUyq9rk6dOnjssccQERFh9f1nb9G9l2MxMTHqP+OAgIA86+V2WFiYxdpFJSNBrDDVn4b7yHrodDqVm9epUyc0bdpUrZN+cnR0hJeXV55t2YfW4/DhwypwlXQdycH77bff0LhxYxw4cIB9pwHy40PS6CS1ID9+/6xf+/bt8cMPP6BBgwYqrWDGjBno0qULjhw5YtX9x0CWiMrlqJD852uc30XWT/6AStAqo+krVqzAyJEjVS4eWb8LFy5gwoQJKj9dTm4m7endu3fudclvlsC2Zs2a+OWXX9QJztaKqQVlxNfXF3Z2dgXO6JPbgYGBFmsXlYyhz9if1m/s2LH466+/sHHjRnUCkYH0k6T8xMXF5dmefWg9ZMQnODgYrVu3VlUo5OTLTz/9lH2nAXLoWU5kbtWqFezt7dUiP0LkBFm5LiN37ENt8fLyQv369XH69Gmr/g4ykC3D/5DlP+P169fnOdwpt+XQGWlL7dq11ZfVuD8TEhJU9QL2p3WQc/QkiJXD0Rs2bFB9Zky+jw4ODnn6UMpzSQ4Y+9A6yf+Z6enp7DsNuPfee1VqiIyoG5Y2bdqoPEvDdfahtiQlJeHMmTOq5KQ1fweZWlCGpPSWHBqTL3C7du0wd+5cdfLCqFGjLN00KuRLK788jU/wkv+A5WQhSWiXnMt3330X9erVU0HS1KlTVVK81Csl60gnWLx4MX7//XdVS9aQtyUn5clhMbl86qmn1PdS+lRqlY4bN079J3zXXXdZuvkV3uTJk9WhTfmuJSYmqr7ctGkT1q5dy77TAPnOGfLRDaREodQcNaxnH1q3l19+WdVSl3QCKa0lpUPlyPKwYcOs+zto0ZoJFcDnn3+ur1Gjht7R0VGV49qxY4elm0SF2Lhxoyolkn8ZOXJkbgmuqVOn6gMCAlTZrXvvvVd/4sQJSzebbjDVd7J8//33udukpqbqn3/+eVXWydXVVT948GD9lStXLNpuyvHkk0/qa9asqf6v9PPzU9+vf/75J/d+9p32GJffEuxD6zZ06FB9lSpV1HcwKChI3T59+rTV95+N/GPZUJqIiIiIqPiYI0tEREREmsRAloiIiIg0iYEsEREREWkSA1kiIiIi0iQGskRERESkSQxkiYiIiEiTGMgSERERkSYxkCUiIiIiTWIgS0RERESaxECWiKgMPfHEExg0aJDF9j98+HDMnDmzzJ7/2LFjqFatGpKTk8tsH0REheEUtUREJWRjY3PL+6dPn46JEydC/pv18vKCuR08eBDdu3fH+fPn4e7uXmb7efDBBxESEoKpU6eW2T6IiExhIEtEVEJXr17Nvb5s2TJMmzYNJ06cyF0nwWNZBpC3M3r0aNjb22P+/Pllup9Vq1bh6aefRkREhNofEZG5MLWAiKiEAgMDcxdPT081Qmu8ToLY/KkF99xzD8aNG4cXX3wR3t7eCAgIwIIFC9Sh+VGjRsHDwwPBwcFYvXp1nn0dOXIEvXv3Vs8pj5GUgZiYmELblp2djRUrVqB///551teqVQvvvvsuRowYoZ6rZs2a+OOPPxAdHY2BAweqdc2bN8eePXtyHyMjuvI80l43Nzc0adIEf//9d+799913H2JjY7F58+ZSemeJiIqGgSwRkZn9+OOP8PX1xa5du1RQ+9xzz+Ghhx5Cx44dsW/fPvTs2VMFqikpKWr7uLg4lSLQsmVLFWCuWbMGkZGRePjhhwvdx6FDhxAfH482bdoUuO+TTz5Bp06dsH//fvTt21ftSwLbxx9/XO2/bt266rbhgN0LL7yA9PR0bNmyBYcPH8bs2bPzjDQ7OjqiRYsW2Lp1a5m8X0REhWEgS0RkZpJP+uabb6JevXqYPHkynJ2dVWArh+dlnaQoXLt2TQWj4osvvlBBrJy01bBhQ3V94cKF2LhxI06ePGlyHzKKamdnB39//wL39enTB88++2zuvhISEtC2bVsVTNevXx+vvfYajh8/roJlISkDEvg2a9YMderUQb9+/XD33Xfnec6qVauqfRIRmRMDWSIiM5ND9wYSbFauXFkFiQaSOiCioqJyT9qSoNWQcyuLBLTizJkzJveRmpoKJycnkyekGe/fsK9b7X/8+PEqHUGCWTmBzRBgG3NxcckdQSYiMhcGskREZubg4JDntgSbxusMwadOp1OXSUlJKkf1wIEDeZZTp04VGBk1kBFeCSwzMjJuuX/Dvm61fzlpLDw8XKUgSGqBpCt8/vnneZ5TcmT9/PxK8G4QEZUcA1kiIivXqlUrHD16VJ2oJSeCGS9y8pUpkrNqqPNaGqpXr44xY8bg119/xUsvvaROUMt/MpqkPBARmRMDWSIiKycnW8mI57Bhw7B7926VTrB27VpV5UCqE5gio6MSAG/btu2O9y8VFmR/Z8+eVSeDSZpDo0aNcu8/d+4cLl26hB49etzxvoiIioOBLBGRlZMTqf777z8VtEpFA8lnleBSJlmwtS38v3FJCfj555/veP+yXwmmJXi9//771QlhX375Ze79S5YsUe2SUl5ERObECRGIiMopOeGrQYMGarKGDh06lMk+JAdXqh8sXrxYnQxGRGROHJElIiqnpJLAokWLbjlxwp2S0lxTpkxhEEtEFsERWSIiIiLSJI7IEhEREZEmMZAlIiIiIk1iIEtEREREmsRAloiIiIg0iYEsEREREWkSA1kiIiIi0iQGskRERESkSQxkiYiIiEiTGMgSEREREbTo/wFysT9Kg0MOBwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 700x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Exponential decay (dimensionless exponent)\n",
    "tau = 10.0 * u.ms\n",
    "t = np.linspace(0, 50, 100) * u.ms\n",
    "decay = u.math.exp(-t / tau)  # t/tau is dimensionless\n",
    "\n",
    "plt.figure(figsize=(7, 3))\n",
    "plt.plot(t, decay)\n",
    "plt.xlabel('Time (ms)')\n",
    "plt.ylabel('Decay factor')\n",
    "plt.title('Exponential decay with tau = 10 ms')\n",
    "plt.grid(True, alpha=0.3)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "e9466853",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Trigonometric functions (require dimensionless or angular units)\n",
    "frequency = 50.0 * u.Hz\n",
    "t = np.linspace(0, 40, 200) * u.ms\n",
    "phase = 2 * np.pi * frequency * t  # dimensionless phase\n",
    "signal = u.math.sin(phase)\n",
    "\n",
    "plt.figure(figsize=(7, 3))\n",
    "plt.plot(t, signal)\n",
    "plt.xlabel('Time (ms)')\n",
    "plt.ylabel('Amplitude')\n",
    "plt.title(f'Sine wave at {frequency}')\n",
    "plt.grid(True, alpha=0.3)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "practical-example",
   "metadata": {},
   "source": [
    "## Practical Example: RC Circuit Dynamics\n",
    "\n",
    "Let's model a simple RC circuit representing a passive neuron membrane.\n",
    "\n",
    "The membrane voltage follows:\n",
    "$\\tau_m \\frac{dV}{dt} = -(V - V_{rest}) + R_m I_{app}$\n",
    "\n",
    "where:\n",
    "- $\\tau_m = R_m C_m$ is the membrane time constant\n",
    "- $R_m$ is membrane resistance\n",
    "- $C_m$ is membrane capacitance\n",
    "- $I_{app}$ is applied current"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "rc-circuit",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Membrane parameters:\n",
      "  R_m = 100.0 * Mohm\n",
      "  C_m = 100.0 * pfarad\n",
      "  tau_m = 10.0 * msecond\n",
      "  V_rest = -70.0 * mvolt\n"
     ]
    }
   ],
   "source": [
    "# Membrane parameters\n",
    "R_m = 100.0 * u.Mohm\n",
    "C_m = 100.0 * u.pF\n",
    "tau_m = R_m * C_m\n",
    "V_rest = -70.0 * u.mV\n",
    "\n",
    "print(\"Membrane parameters:\")\n",
    "print(f\"  R_m = {R_m}\")\n",
    "print(f\"  C_m = {C_m}\")\n",
    "print(f\"  tau_m = {tau_m.to(u.ms)}\")\n",
    "print(f\"  V_rest = {V_rest}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "6a6a302b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Simulation parameters\n",
    "dt = 0.1 * u.ms\n",
    "t_end = 50.0 * u.ms\n",
    "n_steps = int(t_end / dt)\n",
    "time = np.arange(n_steps) * dt\n",
    "\n",
    "# Applied current (step input)\n",
    "I_app = np.zeros(n_steps) * u.pA\n",
    "I_start = int(5.0 * u.ms / dt)\n",
    "I_end = int(35.0 * u.ms / dt)\n",
    "I_app[I_start:I_end] = 150.0 * u.pA\n",
    "\n",
    "# Integrate membrane voltage using exponential Euler\n",
    "V = np.zeros(n_steps) * u.mV\n",
    "V[0] = V_rest\n",
    "\n",
    "for i in range(n_steps - 1):\n",
    "    # Steady-state voltage for current input\n",
    "    V_inf = V_rest + R_m * I_app[i]\n",
    "    # Exponential Euler step\n",
    "    V[i + 1] = V_inf + (V[i] - V_inf) * u.math.exp(-dt / tau_m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "bf9b179d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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5jfZpDqf5aWYNk36rxcRAIBs0a6d9NNPXi+FP8x96VKpY0cvT5INlwKyGlj8888/OnDgwCH7bZ+febtatWravn17Zp8awOHMnu31SFg+ClO8uDf0yTJpM68JAJATbNlym8D93XdejiTf669LRx1l4+StIRjOEiJaA4tTTz1VV155pX7wGzayNs4Puvrqq9WhQwd3/5dfflEdP108gOzx5JNS587eUoCmfn3pm2+8lTwAAMhpNsdi3jxvEnf58t4+u5B8001e/iR7DDEt04HFCy+8oHLlyqlFixYqXLiw21q2bOn22WPGJnFbIj0A2cCy3A8a5K3K4c+n6NJF+vZbbxlAAAByiy05O2CAtGyZdMUVSasPWqI9W662Xz/pvxEsiD2ZXhXKJmZbgrylS5e6SdvmyCOPdFtwrwaAbLBli9S7t/TJJ0n7bJUOy3LP0CcAQLhYj4WtGGVBxtVXe4uHmJde8rJ32+pRN9wgFSkS7pIiF2U508lRRx2ls846y23BQQWAbLJ8uXTCCUlBRcGC0osvSg8+SFABAIgMrVp5Pejjx0tlynj7LPeFLSpiOS/efNNbHh0xIUuZt9esWaP333/fLS27z5YeCzJ27NjsKhsQswp+9ZXiBg6UNm3ydlSoIL3zjrcaFAAAkcQudllCPetht+VorScjIcFbxdD22RApS9xq8zCQp2U6sJg9e7brpbAkeDYc6uijj9aff/6pQCCg46gwQOgmTVK5q69WnM2tMI0bSx98INWtG+6SAQCQtooVpaee8oIMy7Pk97jPneutaGjzL2wob9Wq4S4pImUolOWquOWWW9zKT0WKFNFbb72l1atXq127duptUSmArLGu4nvuUb7LL08KKizpnWU7JagAAESLo4+WZs6U3n8/KbmefcdNmuTdt16NbdvCXUpEQmCxZMkSXXrppe52gQIFtHv3brcK1L333qvRo0fnRBmBvM8CCZsAN2JE4q7A4MFeT4VlPwUAIJrYalHdu0uLFtk4+aTvsp07pXvvlSzR8hNPSHv3hrukCGdgUbx48cR5FVWrVtWKFSsSH/v333+zs2xAbLBJbmed5V3J+c+2e+5R4PHHLXoPa9EAAAhJoULesKjff5fsgpn/vWZtxuuv9xLsvfqqNycDsRdYnHDCCZr3XwKUrl276uabb9b999+vyy67zD0GIBNsre927aTp0737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jyOtD5tatWqpX79+ifcfffRR7dq1K9Vjq1atqitXrVK+UaNU2pJMS9qSxvuvaCuwBt1/VtKGNI4tI+mGoPuTJK1N49hiliIi6P6rkv5M41j7iLkr6P4USb8rbfcE3X5b0q/pHHunfYDYB3nHjnq/YUP9dP/9aR57yy23qHjx4u72xx9/rO+++y7NY6+//no3NM7MmjXLBaNpufrqq1WpUiV3+/PPP3dbWi6//HIdccQR7vZXX32lTz75JM1j+/btq9q1a7vbNj/IypySfQjv3LlTAwYM0FFHHeX2/fTTT66XLi3nnnuu66Uzixcv1ptvvpnmsWeffbaaN2/ubv/222967bXX0jy2S5cuatWqlbv9559/6qWXXkrzWBuGeNJJJ7nbf//9t55//vk0j23Xrp3at2/vbsfHx+vpp59O89g2bdq4YY5my5Ytevzxx9M81oZGduvWzd22c2h/x2lp1qyZevTokfihOWrUqDSPbdSokc4777zE+/enUyez6zPCrwdWv+3LyT4jgntfn3zySXc+UlOxYkVdc801ifefeeYZbdiQ+qeE/U3Y30bw52vKoae+YsWK6dZbb028/7///U9//fVXml+qd95pf80eq2fLly9XWoYPH5542+rvkiVL0jx2yJAhiY0Mu9Bkfx959TPio48+SlYPgl1wwQVq2LChu81nRN79jLj00kvd54E19g7XjuAzIu9+RgT++06w563730I2abUjsvszIridHNGBxR133OF6FNJjFcdvXJk1a9ZoxowZeuONN7KlDPZBMWLEiEP22y8vtaspFnjYh5xvx44daV512b59+yHH7t69O81j7TVLZPF95DUHK1TQxkce0daFC915SYt9EPqPb9269bDH+lG3fdimd+y///6beDsjx/pXc6x3LL1jrafNPnjTO9Y+PPbs2eOO9evPpk2b0n1eezwrx9prpHeslTErx9o5Se9YO6dZOfZwv2N73D/WvnwzeqzVi/SOTfl3n5ljs/oZ4dcDYw3KlMf6nxmpsQUsMnqsXQ3N6LHWsMnosXb1K/hYOy/pnbfMHus3GjLydx/tnxHB9SDlsXxGxMZnhJXFPhMO147gMyLvfkYEgtoGJUqUyPDnSXZ8RmQmsIgLpNdHlcPsF2RvOj0WlQV3f913330aN26cu9oR3DVnEb1VtHfffTdx36effqoOHTq4E5SZ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uVU+W2Lc8hX4+6kHed8tt9zi8lvZ8CdbStZSENiIlgsuuCB6PgvCvSwVkowbNy5Qs2bNQKFChdzys19//XW4i4Qc9Omnn7pl4lJuffv2TVxydujQoYHKlSu7ZWY7duwYWLZsWbiLjWyU2u/ftkmTJiUes3v37sA111zjlh8tVqxY4Jxzzgn8888/YS03stdll10WqFWrlvvsr1ixovtbnzlzZuLj1IHYFLzcrKEe5H19+vQJVK1a1X0WHHHEEe7+8uXLo6oOxNk/4Q5uAAAAAEQ35lgAAAAACBmBBQAAAICQEVgAAAAACBmBBQAAAICQEVgAAAAACBmBBQAAAICQEVgAAAAACBmBBQAAAICQEVgAAAAACBmBBQAgU/r166cePXqE7fUvueQSPfDAAzn2/L/++quqV6+unTt35thrAEBeFBcIBALhLgQAIDLExcWl+/jw4cN14403yr46ypQpo9z2008/qUOHDvrrr79UokSJHHudc889V82aNdPQoUNz7DUAIK8hsAAAJFq3bl3i7SlTpmjYsGFatmxZ4j5rzOdkg/5wLr/8chUoUEATJkzI0df58MMPNXDgQK1atcq9HgDg8BgKBQBIVKVKlcStdOnSrgcjeJ8FFSmHQrVv317XXnutbrjhBpUtW1aVK1fWc88954YS9e/fXyVLllT9+vX18ccfJ3utRYsWqUuXLu457f/YEKd///03zbIdPHhQb775prp3755sf+3atTVy5Ehdeuml7rlq1aql999/Xxs2bNDZZ5/t9jVt2lTfffdd4v+xHg97Hitv8eLF1aRJE3300UeJj5922mnatGmTPv/882w6swCQ9xFYAABC9tJLL6lChQr69ttvXZBx9dVXq3fv3jrxxBO1cOFCnX766S5w2LVrlzt+y5YtbkjTscce6xr806dP1/r163Xeeeel+Ro///yztm7dqpYtWx7y2KOPPqqTTjpJP/zwg7p16+ZeywKNiy++2L1+vXr13H2/k37QoEHau3evvvjiC/3yyy8aPXp0sp6YQoUKqXnz5po7d26OnC8AyIsILAAAIbP5CHfffbcaNGigIUOGqEiRIi7QsOFEts+GVG3cuNEFB+bJJ590QYVNwj7qqKPc7YkTJ+rTTz/Vb7/9luprWC9D/vz5ValSpUMe69q1q6688srE19q2bZuOP/54F9w0bNhQt99+u5YsWeKCF2NDnCwQOeaYY1S3bl2deeaZOuWUU5I9Z7Vq1dxrAgAyhsACABAyG2rks8Z/+fLlXaPdZ0OdTHx8fOIkbAsi/DkbtlmAYVasWJHqa+zevVuFCxdOdYJ58Ov7r5Xe61933XVu+JQFFzYh3Q94ghUtWjSxhwUAcHgEFgCAkBUsWDDZfWv8B+/zg4GEhAT3c8eOHW6Ow48//phs+/333w/pOfBZD4g19Pft25fu6/uvld7r2yTwP/74ww2ZsqFQNrxq3LhxyZ7T5lhUrFgxC2cDAGITgQUAINcdd9xxWrx4sZt4bRO7gzebTJ0am/Pg55nIDjVq1NBVV12lt99+WzfffLObcJ5ycrkN0QIAZAyBBQAg19nkaesRuOCCC7RgwQI3/GnGjBluFSlb/Sk11ntgAcm8efNCfn1bwcpeb+XKlW5ytw3LatSoUeLjf/75p/7++2916tQp5NcCgFhBYAEAyHU2MfrLL790QYStGGXzIayxb0n38uVL+6vJhjC9+uqrIb++va4FNxZMnHHGGW6C91NPPZX4+GuvvebKZUvXAgAyhgR5AICoYRO4jzzySJe8r02bNjnyGjaHw1aXmjx5spvcDQDIGHosAABRw1Zqevnll9NNpBcqW4r2zjvvJKgAgEyixwIAAABAyOixAAAAABAyAgsAAAAAISOwAAAAABAyAgsAAAAAISOwAAAAABAyAgsAAAAAISOwAAAAABAyAgsAAAAAISOwAAAAAKBQ/R8sdjwuP4tmtQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot results\n",
    "fig, axes = plt.subplots(2, 1, figsize=(8, 5), sharex=True)\n",
    "\n",
    "axes[0].plot(time, I_app.to(u.pA), 'b', linewidth=2)\n",
    "axes[0].set_ylabel('Current (pA)')\n",
    "axes[0].set_title('RC Circuit: Current Step Response')\n",
    "axes[0].grid(True, alpha=0.3)\n",
    "\n",
    "axes[1].plot(time, V, 'r', linewidth=2)\n",
    "axes[1].axhline(V_rest.to(u.mV).magnitude, ls='--', color='k', alpha=0.5, label='V_rest')\n",
    "axes[1].set_xlabel('Time (ms)')\n",
    "axes[1].set_ylabel('Voltage (mV)')\n",
    "axes[1].legend()\n",
    "axes[1].grid(True, alpha=0.3)\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "id": "681106ea",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Steady-state voltage:\n",
      "  Expected: -55.0 * mvolt\n",
      "  Observed: -55.746826171875 * mvolt\n",
      "  Match: False\n"
     ]
    }
   ],
   "source": [
    "# Verify the steady-state response\n",
    "V_ss_expected = V_rest + R_m * 150.0 * u.pA\n",
    "V_ss_observed = u.math.max(V)\n",
    "print(f\"\\nSteady-state voltage:\")\n",
    "print(f\"  Expected: {V_ss_expected}\")\n",
    "print(f\"  Observed: {V_ss_observed}\")\n",
    "print(f\"  Match: {u.math.allclose(V_ss_expected, V_ss_observed, atol=0.01 *u.mV)}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "example-ohms-law",
   "metadata": {},
   "source": [
    "## Example: Ohm's Law Validation\n",
    "\n",
    "Let's verify Ohm's law ($V = I R$) with different unit combinations:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "id": "ohms-law",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ohm's Law Validation (V = I × R):\n",
      "\n",
      "Current         Resistance      Voltage        \n",
      "---------------------------------------------\n",
      "100. * pamp     100. * Mohm     10. * mvolt    \n",
      "1. * namp       50. * Mohm      50. * mvolt    \n",
      "0.5 * uamp      10. * kohm      5. * mvolt     \n",
      "10. * mamp      1. * ohm        10. * mvolt    \n",
      "\n",
      "Dimensional Analysis:\n",
      "  Current dimension: A\n",
      "  Resistance dimension: m^2 kg s^-3 A^-2\n",
      "  Voltage dimension: m^2 kg s^-3 A^-1\n",
      "  \n",
      "Expected voltage dimension: m^2 kg s^-3 A^-1\n",
      "  Dimensions match: True\n"
     ]
    }
   ],
   "source": [
    "# Test cases with different unit combinations\n",
    "test_cases = [\n",
    "    {\"I\": 100.0 * u.pA, \"R\": 100.0 * u.Mohm},\n",
    "    {\"I\": 1.0 * u.nA, \"R\": 50.0 * u.Mohm},\n",
    "    {\"I\": 0.5 * u.uA, \"R\": 10.0 * u.kohm},\n",
    "    {\"I\": 10.0 * u.mA, \"R\": 1.0 * u.ohm},\n",
    "]\n",
    "\n",
    "print(\"Ohm's Law Validation (V = I × R):\\n\")\n",
    "print(f\"{'Current':<15} {'Resistance':<15} {'Voltage':<15}\")\n",
    "print(\"-\" * 45)\n",
    "for case in test_cases:\n",
    "    I = case[\"I\"]\n",
    "    R = case[\"R\"]\n",
    "    V = I * R\n",
    "    print(f\"{str(I):<15} {str(R):<15} {str(V.to(u.mV)):<15}\")\n",
    "\n",
    "# Verify dimensional consistency\n",
    "print(\"\\nDimensional Analysis:\")\n",
    "I_test = 100.0 * u.pA\n",
    "R_test = 100.0 * u.Mohm\n",
    "V_test = I_test * R_test\n",
    "\n",
    "print(f\"  Current dimension: {I_test.dim}\")\n",
    "print(f\"  Resistance dimension: {R_test.dim}\")\n",
    "print(f\"  Voltage dimension: {V_test.dim}\")\n",
    "print(f\"  \\nExpected voltage dimension: {u.mV.dim}\")\n",
    "print(f\"  Dimensions match: {V_test.dim == u.mV.dim}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "example-spike-frequency",
   "metadata": {},
   "source": [
    "## Example: Spike Frequency Calculation\n",
    "\n",
    "Calculate firing rate from inter-spike intervals:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "id": "spike-frequency",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Spike times: ArrayImpl([10.5, 25.29999924, 39.79999924, 54.70000076, 69.19999695,\n",
      "           84.09999847], dtype=float32) * msecond\n"
     ]
    }
   ],
   "source": [
    "# Simulated spike times\n",
    "spike_times = np.array([10.5, 25.3, 39.8, 54.7, 69.2, 84.1]) * u.ms\n",
    "\n",
    "print(\"Spike times:\", spike_times)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "id": "202558c5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Inter-spike intervals: ArrayImpl([14.79999924, 14.5     , 14.90000153, 14.49999619, 14.90000153],\n",
      "          dtype=float32) * msecond\n"
     ]
    }
   ],
   "source": [
    "# Calculate inter-spike intervals (ISI)\n",
    "isi = u.math.diff(spike_times)\n",
    "print(\"\\nInter-spike intervals:\", isi)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "id": "69ac5bb6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Mean ISI: 14.720000267028809 * msecond\n",
      "Firing rate: 67.93478393554688 * hertz\n"
     ]
    }
   ],
   "source": [
    "# Mean ISI and firing rate\n",
    "mean_isi = u.math.mean(isi)\n",
    "firing_rate = (1.0 / mean_isi).to(u.Hz)\n",
    "\n",
    "print(f\"\\nMean ISI: {mean_isi}\")\n",
    "print(f\"Firing rate: {firing_rate}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "id": "6904d41b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "ISI variability:\n",
      "  Std ISI: 0.18330447375774384 * msecond\n",
      "  CV: 0.012\n"
     ]
    }
   ],
   "source": [
    "# Coefficient of variation (CV)\n",
    "std_isi = u.math.std(isi)\n",
    "cv = (std_isi / mean_isi)\n",
    "\n",
    "print(f\"\\nISI variability:\")\n",
    "print(f\"  Std ISI: {std_isi}\")\n",
    "print(f\"  CV: {cv:.3f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "id": "5907d513",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAC+CAYAAACoGZm5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAJNNJREFUeJzt3Qm8TdX///F1uaa4hszzHIVEI5q+aJB8lVJKItW3QSF9iwY0igYNGjRqIIlvikqaRIMGJU0yhyhXA9cU5e7f473+/30e+5577j3nWvcM93o9H4/DPePeZ+11zlmftT5r7TTP8zwDAAAAAA5KuDwZAAAAAITAAgAAAIAzAgsAAAAAzggsAAAAADgjsAAAAADgjMACAAAAgDMCCwAAAADOCCwAAAAAOCOwAAAAAOCMwAIo5p599lmTlpZmfvrpp9BtjRo1Mqeffropbu+rMKxfv96ULVvWfPzxx4X6uogv1YWrrroq2buBOPv9999N+fLlzZtvvpnsXQEQAYEFkGK+/fZbc/bZZ5uGDRvaBm7dunXNSSedZCZMmGCKghNPPNE28qJdbrnlFpOKbrvtNnP00UebTp06hW4bMGBAjn0vU6aMOeigg8yoUaPMX3/9tU/b+eGHH2wZFHZgFM27775rOnfubCpVqmQyMjLM4YcfbqZNmxa6/4MPPsj3uN15551Rt7Fy5Upbh6tUqWIOOOAAc+yxx5p58+YVOHBM1TqS6GO3atUqc9lll5kmTZrY74SKFSva+vnggw+aXbt2ma+++soem5tvvjnP11ixYoV9zLBhwwq8/U8++cQeQx3LWrVqmcGDB5vt27fH/Pynn37aHHzwwXbfmzdvHvG7bNmyZeaaa64xHTt2tI/Lq9OgatWq5pJLLjEjR44s8PsAEH/pCdgGgAL8gP/rX/8yDRo0MJdeeqn9EVcP+qeffmobEVdffXWBX7Nfv36mT58+tjGcCDfddJP94fd98cUX5qGHHjI33nijbVz4Dj30UKftxON9bd682Tz33HP2Ek7beeqpp+zfW7duNa+99pq5/fbbbaNvypQp+9Q4vfXWW20gphGkRJg0aZK5+OKLbaA6ZswYU7JkSdugUx3z6Ri98MILuZ6r295++21z8skn57sNvVaHDh3sa1933XW2d1nb1fPee+89c/zxx+f53HXr1pkdO3bkqCeyceNG21Pdpk0bkwoSeezeeOMN07t3b1v/LrzwQtO6dWuzZ88e89FHH9ny/f77780TTzxhWrZsaaZOnWruuOOOiK/z4osv2v8vuOCCAm3/66+/Nl26dLHHZPz48ebnn3829957rw1U5syZE/X5jz/+uLn88svNWWedZYOaDz/80AYmO3fuNMOHDw89buHChfZ74pBDDrHb0nbzotfTY99//30bJANIIR6AlHHaaad51atX9/78889c923atKnQttOwYUOve/fuXiJMnz7d01fNvHnz8n3c9u3bvWQbP368V65cOW/btm05bu/fv79Xvnz5HLdlZ2d7xxxzjJeWlub9+uuvcSuXwrJmzRr73gYPHrxPz2/WrJnXvHnzqI+78sorvfT0dO/HH38M3bZjxw6vfv36Xvv27fN97nvvvWfr5u233+498cQT3qhRo7zHHnvM3vbSSy/l+1yV5aBBg7x42rVrl7d3796EHbvVq1d7FSpU8Fq2bOlt3Lgx1/0rVqzwHnjgAfu3ykz7tHDhwoiv1aJFC/s6BdWtWzevdu3a3tatW0O3Pfnkk3Zbc+fOzfe5O3fu9KpWrZrru6Zv37728/THH3+Ebvv999+9rKws+/c999xjX191Ni+tW7f2+vXrV+D3AyC+SIUCUoh6v1u1amUqV66c674aNWpEzClXb3mLFi1s+oDSWhYsWLBPcxHUS5+enm57QX2fffaZOfXUU23ajNIgTjjhhEKZe6A0Eu2Ten7PP/98mzKjVAv55ptvbOqRn/ahUZuBAwfaHutY546oN/eoo46yz9frPP/88zHt16uvvmrToCpUqBD1sdq29llt2tWrV4duX7t2rbnyyivtMSlXrpxN3VCPc3A/te+6TTRC5acZKQ3Jp97g4447zvb4K2Wpe/futnc66O+//zY//vij+eWXX6Lu78SJE83evXttqpcoleX/tcej+/zzz216U9++faM+Vj3S7dq1s+/fp7rz73//26bsqKc7L+p9ViqgerNvuOEG88ADD5glS5aYRYsWmXPPPTfmY6heffXw67P01ltv5XrMhg0bbJ2qWbNm6HHPPPNMjsf4KWEvvfSSTTFSSqLeh3rK8zp2fr2OdFGdLqi7777bHielEtWuXTvX/c2aNTNDhgyxf/vHxh+ZCPryyy/tyJT/mN9++83WG5VzfrKyssw777xjRzmUfuXTyIk+Iy+//HK+z1f6mz63+jwEDRo0yI5MaTTGd+CBB9p6HiuNus2ePTvmOgwgMQgsgBSieRVqBHz33XcxPX7+/Plm6NCh9odfDUb9iCsQiPX5PqVSXHTRRWbEiBHmnnvusbcpzUBpK2pcjB492qbObNmyxTb+1NAsDGqgqXGj11bql6gho4a69ke52Ep3UuPutNNOi6kR4ef3q+Fx33332aBFjbrwRnk4NdKVttW+ffuY998PFrQNn15DKW3abzVClbahFCClzfgNOZWr0kFEKWJKM9LFTwHS3wok1HgbN26czSdXEKZAJhigqIGs56gRHsvcCqXLaNJrvXr1bCNOQY9eOzs7O9/n+qlesQQWu3fvtgFVODXKRfU7PyVKlLAXnxrlsVJAqUasyl6Ncs1/UQpOMCjdtGmTOeaYY2x5KDBXiqEa6EoRUyATTuluagD/97//tfVUKV15HbtevXqFrvsXfT4jdQzEQg1nBcaadxBN48aN7ePU2FcAGeQHGwri5eGHH7b7G+1zrCDvn3/+MUcccUSO20uXLm0OO+wws3jx4nyf798f/nx1gOgYR3t+fvQa+j6K9rkGkGBxHhEBUABvv/22V7JkSXvp0KGDd/3119t0gz179uR6rD6+uixatCh029q1a72yZct6Z555Zui2SZMm5UorCKZCPfjggzadR6kUwTQfpb2ccsop9u9gakPjxo29k046Keb3FCltZPTo0fa28847L9fjtY1wU6dOtY9fsGBB1PcV/rjMzEyvTJky3rXXXpvvfq5cudI+d8KECbnu81OhNm/ebC967L333mvLTSkZ4WUUTukpeu3nn38+33IRpWFVrlzZu/TSS3PcrnSrSpUq5bhd712vof2LpmLFil6VKlVsWYwcOdKbMWOGd/7559vnjxgxIs/n/fPPP17NmjW9o446yotFjx497P77aS0+1WdtS+WWF5WF6tdtt90WSoV69NFHY06FKl26tD02viVLluQ6phdffLFN7fntt99yPL9Pnz62fP3jp33Rc5s0aZLrmMaaCqW60qBBA69NmzYFTvVT6pG20bNnz5if88gjj+RKUVLqVt26dW35h3/+ou2//z6Dnydf7969vVq1auX7fKWm6bssEqV8qswjiSUV6pNPPrGPmTZtWr77ACCxGLEAUoh62TWJUWkjSgFRr+spp5xi0zBmzZqV6/GaJKueO58mfffs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",
      "text/plain": [
       "<Figure size 800x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot spike train\n",
    "plt.figure(figsize=(8, 2))\n",
    "plt.eventplot([spike_times.to(u.ms).magnitude], lineoffsets=0.5, colors='red', linewidths=2)\n",
    "plt.yticks([])\n",
    "plt.xlabel('Time (ms)')\n",
    "plt.title(f'Spike Train (Rate: {firing_rate:.1f}, CV: {cv:.2f})')\n",
    "plt.grid(True, alpha=0.3, axis='x')\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dimensionless",
   "metadata": {},
   "source": [
    "## Working with Dimensionless Quantities\n",
    "\n",
    "Some calculations produce dimensionless results. Use ``.to_decimal()`` to extract the numerical value:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "id": "dimensionless-examples",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "V1 / V2 = 0.7142857142857143\n",
      "As decimal: 0.7143\n"
     ]
    }
   ],
   "source": [
    "# Ratio of voltages (dimensionless)\n",
    "V1 = -50.0 * u.mV\n",
    "V2 = -70.0 * u.mV\n",
    "ratio = V1 / V2\n",
    "print(f\"V1 / V2 = {ratio}\")\n",
    "print(f\"As decimal: {ratio:.4f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "id": "28514611",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "t / tau = 1.5\n"
     ]
    }
   ],
   "source": [
    "# Time ratio\n",
    "t_measured = 15.0 * u.ms\n",
    "tau = 10.0 * u.ms\n",
    "normalized_time = (t_measured / tau)\n",
    "print(f\"\\nt / tau = {normalized_time}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "id": "4c5a351a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "exp(-t/tau) = 0.2231\n"
     ]
    }
   ],
   "source": [
    "# For exponentials, ensure argument is dimensionless\n",
    "decay_factor = u.math.exp(-normalized_time)\n",
    "print(f\"exp(-t/tau) = {decay_factor:.4f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "id": "9c1b708e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Percent error: -4.62%\n"
     ]
    }
   ],
   "source": [
    "# Percentage difference\n",
    "V_expected = -65.0 * u.mV\n",
    "V_measured = -62.0 * u.mV\n",
    "percent_error = ((V_measured - V_expected) / V_expected * 100)\n",
    "print(f\"\\nPercent error: {percent_error:.2f}%\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "BrainX-py",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
