{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b635d5ab",
   "metadata": {},
   "source": [
    "# Chapter 39: Self-Attention\n",
    "\n",
    "Until now attention has lived inside an encoder-decoder pipeline: the *decoder* asked questions of *encoder* states. The recurrence — a GRU or LSTM rolled through time — was still doing the heavy lifting of building those encoder states in the first place.\n",
    "\n",
    "This chapter takes the conceptually hardest step in the whole course: **remove the recurrence entirely** and let every position in a sequence attend directly to every other position. The resulting operation, *self-attention*, gives the same model:\n",
    "\n",
    "- a way to model dependencies between *any* two positions in $O(1)$ steps (rather than $O(T)$ for an RNN);\n",
    "- *full parallelism* across positions during both forward and backward passes;\n",
    "- a single, simple primitive that scales from words in a sentence to patches in an image to nodes in a graph.\n",
    "\n",
    "Take this chapter slowly. Self-attention is *the* idea that defines modern AI. We will introduce it three times, from three angles: as a soft dictionary, as a matrix algebra operation, and as a historical reinvention of an idea Schmidhuber published in 1991.\n",
    "\n",
    "**Key papers:**\n",
    "- Schmidhuber. *Learning to control fast-weight memories: An alternative to dynamic recurrent networks.* Neural Computation 4(1), 1992 (preprint 1991).\n",
    "- Vaswani, Shazeer, Parmar, Uszkoreit, Jones, Gomez, Kaiser, Polosukhin. *Attention Is All You Need.* NeurIPS 2017 (arXiv:1706.03762), §3.2.\n",
    "- Schlag, Irie, Schmidhuber. *Linear Transformers Are Secretly Fast Weight Programmers.* ICML 2021 (arXiv:2102.11174)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "08bf0a0a",
   "metadata": {},
   "source": [
    "## 39.1 Framing 1 — The Soft Dictionary\n",
    "\n",
    "A Python dictionary `{k1: v1, k2: v2, ...}` answers the question *\"give me the value associated with key $q$\"* by exact equality:\n",
    "\n",
    "```python\n",
    "d[q]  # returns v_i such that k_i == q, error otherwise\n",
    "```\n",
    "\n",
    "It is *discrete*, *hard*, and *non-differentiable*.\n",
    "\n",
    "Self-attention is the **soft, differentiable, vector-valued generalisation**. Replace exact equality with a *similarity score* (dot product), turn the lookup into a *weighted average* (softmax), and you get:\n",
    "\n",
    "$$\n",
    "\\boxed{\\quad \\mathrm{Attention}(q, K, V) \\;=\\; \\sum_{j=1}^T \\frac{\\exp(q^\\top k_j / \\sqrt{d_k})}{\\sum_{j'} \\exp(q^\\top k_{j'} / \\sqrt{d_k})} \\, v_j \\quad}\n",
    "$$\n",
    "\n",
    "Here $q$ is a single query, and $K, V \\in \\mathbb{R}^{T \\times d_k}$ are the keys and values. *Self*-attention happens when $Q, K, V$ all come from the *same* sequence — every position takes a turn being the query while looking at every other position (and itself)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "44e7e564",
   "metadata": {},
   "source": [
    "## 39.2 Framing 2 — Matrix Algebra\n",
    "\n",
    "Stack all $T$ queries as a matrix $Q \\in \\mathbb{R}^{T \\times d_k}$. Same for $K$ and $V$. Then\n",
    "\n",
    "$$\n",
    "\\mathrm{Attention}(Q, K, V) \\;=\\; \\mathrm{softmax}\\!\\left(\\frac{Q K^\\top}{\\sqrt{d_k}}\\right) V.\n",
    "$$\n",
    "\n",
    "Read this carefully:\n",
    "\n",
    "- $Q K^\\top \\in \\mathbb{R}^{T \\times T}$ holds the alignment scores between every (query, key) pair — this is the *attention matrix*.\n",
    "- $\\mathrm{softmax}(\\cdot)$ is applied row-wise, normalising each query's distribution over keys.\n",
    "- The product with $V$ produces $T$ output vectors, each a weighted average of values.\n",
    "\n",
    "Where do $Q, K, V$ come from? In self-attention they are *learned linear projections* of the input $X \\in \\mathbb{R}^{T \\times d_{\\text{model}}}$:\n",
    "\n",
    "$$\n",
    "Q = X W_Q, \\quad K = X W_K, \\quad V = X W_V,\n",
    "$$\n",
    "\n",
    "with $W_Q, W_K \\in \\mathbb{R}^{d_{\\text{model}} \\times d_k}$ and $W_V \\in \\mathbb{R}^{d_{\\text{model}} \\times d_v}$. Each input vector wears three hats simultaneously: the query it asks, the key it answers, and the value it carries."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a0c0_1ba897",
   "metadata": {},
   "source": [
    "### 39.2.1 From Cross-Attention to Self-Attention — A Worked 3-Token Example\n",
    "\n",
    "In Chapter 38 the decoder built a query $q$ and asked the encoder's keys $K^{\\text{enc}}$ and values $V^{\\text{enc}}$ for help. *Two different sequences*. Self-attention is the radical move of letting one sequence query itself: $Q, K, V$ are all linear projections of the **same** $X$.\n",
    "\n",
    "Let us trace this once on paper. Take $T = 3$ tokens with $d_{\\text{model}} = 2$, so each input vector is just a 2-D point:\n",
    "\n",
    "$$\n",
    "X \\;=\\; \\begin{bmatrix} 1 & 0 \\\\ 0 & 1 \\\\ 1 & 1 \\end{bmatrix}, \\qquad W_Q = W_K = I_2, \\qquad W_V \\;=\\; \\begin{bmatrix} 1 & 0 \\\\ 0 & 2 \\end{bmatrix}.\n",
    "$$\n",
    "\n",
    "With identity projections we get $Q = K = X$ and $V = X W_V$. The raw scores $QK^{\\top}$ are\n",
    "\n",
    "$$\n",
    "Q K^{\\top} \\;=\\; X X^{\\top} \\;=\\; \\begin{bmatrix} 1 & 0 & 1 \\\\ 0 & 1 & 1 \\\\ 1 & 1 & 2 \\end{bmatrix}.\n",
    "$$\n",
    "\n",
    "Divide by $\\sqrt{d_k} = \\sqrt{2} \\approx 1.414$, softmax row-wise, and multiply by $V$. The cell below does this and prints every intermediate matrix so you can check by hand."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a0c2_8f6230",
   "metadata": {},
   "source": [
    "Read the output row by row.\n",
    "\n",
    "- **Row 0** (query = $[1,0]$): scores $[0.71,\\,0,\\,0.71]$, softmax $[0.39,\\,0.22,\\,0.39]$. The query attends *equally* to itself and to the third token (which shares the $x_1$ component) and *less* to the orthogonal middle token.\n",
    "- **Row 1** (query = $[0,1]$): mirror image — attends to itself and the third token.\n",
    "- **Row 2** (query = $[1,1]$): scores $[0.71,\\,0.71,\\,1.41]$, softmax $[0.27,\\,0.27,\\,0.46]$. It attends most to itself because it overlaps with both basis directions.\n",
    "\n",
    "This is the entire mechanism. *Every output row is a convex combination of value rows, with weights determined by query-key dot-product similarity.* Self-attention is just three matrix multiplications and a row-wise softmax glued together."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a1c0_b1805a",
   "metadata": {},
   "source": [
    "### 39.2.2 Diagram — Three Hats from One Input\n",
    "\n",
    "A single input embedding $x_i \\in \\mathbb{R}^{d_{\\text{model}}}$ is fanned out into three roles by three learned linear maps:\n",
    "\n",
    "<svg width=\"640\" height=\"260\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width:100%;height:auto;display:block;margin:auto;background:#fafafa\">\n",
    "  <defs>\n",
    "    <marker id=\"arr\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\n",
    "      <path d=\"M0,0 L10,5 L0,10 z\" fill=\"#374151\"/>\n",
    "    </marker>\n",
    "  </defs>\n",
    "  <rect x=\"40\" y=\"100\" width=\"110\" height=\"60\" rx=\"8\" fill=\"#e5e7eb\" stroke=\"#374151\"/>\n",
    "  <text x=\"95\" y=\"125\" text-anchor=\"middle\" font-family=\"serif\" font-size=\"16\" font-weight=\"bold\">x_i</text>\n",
    "  <text x=\"95\" y=\"148\" text-anchor=\"middle\" font-family=\"serif\" font-size=\"12\">in R^{d_model}</text>\n",
    "\n",
    "  <line x1=\"150\" y1=\"120\" x2=\"260\" y2=\"50\"  stroke=\"#374151\" stroke-width=\"1.5\" marker-end=\"url(#arr)\"/>\n",
    "  <line x1=\"150\" y1=\"130\" x2=\"260\" y2=\"130\" stroke=\"#374151\" stroke-width=\"1.5\" marker-end=\"url(#arr)\"/>\n",
    "  <line x1=\"150\" y1=\"140\" x2=\"260\" y2=\"210\" stroke=\"#374151\" stroke-width=\"1.5\" marker-end=\"url(#arr)\"/>\n",
    "\n",
    "  <text x=\"205\" y=\"75\"  font-family=\"serif\" font-size=\"13\" fill=\"#3b82f6\">W_Q</text>\n",
    "  <text x=\"205\" y=\"125\" font-family=\"serif\" font-size=\"13\" fill=\"#10b981\">W_K</text>\n",
    "  <text x=\"205\" y=\"195\" font-family=\"serif\" font-size=\"13\" fill=\"#f59e0b\">W_V</text>\n",
    "\n",
    "  <rect x=\"260\" y=\"20\"  width=\"170\" height=\"55\" rx=\"8\" fill=\"#dbeafe\" stroke=\"#3b82f6\"/>\n",
    "  <text x=\"345\" y=\"43\" text-anchor=\"middle\" font-family=\"serif\" font-size=\"15\" font-weight=\"bold\">q_i = x_i W_Q</text>\n",
    "  <text x=\"345\" y=\"63\" text-anchor=\"middle\" font-family=\"serif\" font-size=\"11\">QUERY: what am I looking for?</text>\n",
    "\n",
    "  <rect x=\"260\" y=\"103\" width=\"170\" height=\"55\" rx=\"8\" fill=\"#d1fae5\" stroke=\"#10b981\"/>\n",
    "  <text x=\"345\" y=\"126\" text-anchor=\"middle\" font-family=\"serif\" font-size=\"15\" font-weight=\"bold\">k_i = x_i W_K</text>\n",
    "  <text x=\"345\" y=\"146\" text-anchor=\"middle\" font-family=\"serif\" font-size=\"11\">KEY: how I advertise myself</text>\n",
    "\n",
    "  <rect x=\"260\" y=\"185\" width=\"170\" height=\"55\" rx=\"8\" fill=\"#fef3c7\" stroke=\"#f59e0b\"/>\n",
    "  <text x=\"345\" y=\"208\" text-anchor=\"middle\" font-family=\"serif\" font-size=\"15\" font-weight=\"bold\">v_i = x_i W_V</text>\n",
    "  <text x=\"345\" y=\"228\" text-anchor=\"middle\" font-family=\"serif\" font-size=\"11\">VALUE: what I deliver if picked</text>\n",
    "\n",
    "  <line x1=\"430\" y1=\"50\"  x2=\"540\" y2=\"110\" stroke=\"#374151\" stroke-width=\"1.5\" marker-end=\"url(#arr)\"/>\n",
    "  <line x1=\"430\" y1=\"130\" x2=\"540\" y2=\"125\" stroke=\"#374151\" stroke-width=\"1.5\" marker-end=\"url(#arr)\"/>\n",
    "  <line x1=\"430\" y1=\"210\" x2=\"540\" y2=\"155\" stroke=\"#374151\" stroke-width=\"1.5\" marker-end=\"url(#arr)\"/>\n",
    "\n",
    "  <rect x=\"540\" y=\"100\" width=\"90\" height=\"60\" rx=\"8\" fill=\"#fce7f3\" stroke=\"#db2777\"/>\n",
    "  <text x=\"585\" y=\"125\" text-anchor=\"middle\" font-family=\"serif\" font-size=\"14\" font-weight=\"bold\">Attention</text>\n",
    "  <text x=\"585\" y=\"145\" text-anchor=\"middle\" font-family=\"serif\" font-size=\"11\">softmax(QK^T/sqrt(d))V</text>\n",
    "</svg>\n",
    "\n",
    "The same vector $x_i$ is rotated/projected into three different subspaces. The query subspace decides *what to ask*, the key subspace decides *how to be findable*, and the value subspace decides *what content to broadcast if found*. Untying these three roles is the design choice that lets self-attention learn rich relational structure with relatively few parameters: each $W \\in \\mathbb{R}^{d_{\\text{model}} \\times d_k}$ rather than one giant relational tensor."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "284d17b8",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:06.543377Z",
     "iopub.status.busy": "2026-04-30T15:38:06.543190Z",
     "iopub.status.idle": "2026-04-30T15:38:08.060743Z",
     "shell.execute_reply": "2026-04-30T15:38:08.060457Z"
    }
   },
   "outputs": [],
   "source": [
    "import sys, os; sys.path.insert(0, os.path.abspath('.'))\n",
    "import math, random\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from utils import VOCAB_SIZE, PAD, ITOS, encode\n",
    "\n",
    "torch.manual_seed(0); random.seed(0)\n",
    "device = torch.device('cpu')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "aud39a0c1_655e86",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:08.062898Z",
     "iopub.status.busy": "2026-04-30T15:38:08.062738Z",
     "iopub.status.idle": "2026-04-30T15:38:08.067397Z",
     "shell.execute_reply": "2026-04-30T15:38:08.067130Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "X (= Q = K with identity projections):\n",
      "[[1. 0.]\n",
      " [0. 1.]\n",
      " [1. 1.]]\n",
      "\n",
      "V = X W_V:\n",
      "[[1. 0.]\n",
      " [0. 2.]\n",
      " [1. 2.]]\n",
      "\n",
      "QK^T / sqrt(d_k):\n",
      "[[0.707 0.    0.707]\n",
      " [0.    0.707 0.707]\n",
      " [0.707 0.707 1.414]]\n",
      "\n",
      "Attention matrix A = softmax(QK^T / sqrt(d_k)):\n",
      "[[0.401 0.198 0.401]\n",
      " [0.198 0.401 0.401]\n",
      " [0.248 0.248 0.503]]\n",
      "\n",
      "Output = A V:\n",
      "[[0.802 1.198]\n",
      " [0.599 1.604]\n",
      " [0.752 1.503]]\n",
      "\n",
      "Row sums of A (each query is a probability distribution over keys): [1. 1. 1.]\n"
     ]
    }
   ],
   "source": [
    "X = torch.tensor([[1., 0.], [0., 1.], [1., 1.]])\n",
    "W_V_demo = torch.tensor([[1., 0.], [0., 2.]])\n",
    "Q_d, K_d, V_d = X, X, X @ W_V_demo\n",
    "\n",
    "scores = Q_d @ K_d.T / math.sqrt(2)\n",
    "A = F.softmax(scores, dim=-1)\n",
    "out_d = A @ V_d\n",
    "\n",
    "print('X (= Q = K with identity projections):'); print(X.numpy())\n",
    "print('\\nV = X W_V:'); print(V_d.numpy())\n",
    "print('\\nQK^T / sqrt(d_k):'); print(scores.numpy().round(3))\n",
    "print('\\nAttention matrix A = softmax(QK^T / sqrt(d_k)):'); print(A.numpy().round(3))\n",
    "print('\\nOutput = A V:'); print(out_d.numpy().round(3))\n",
    "print('\\nRow sums of A (each query is a probability distribution over keys):', A.sum(-1).numpy().round(3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "2258fa75",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:08.069083Z",
     "iopub.status.busy": "2026-04-30T15:38:08.068920Z",
     "iopub.status.idle": "2026-04-30T15:38:08.073231Z",
     "shell.execute_reply": "2026-04-30T15:38:08.073032Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Attention matrix:\n",
      "[[0.355 0.215 0.215 0.215]\n",
      " [0.215 0.355 0.215 0.215]\n",
      " [0.215 0.215 0.355 0.215]\n",
      " [0.215 0.215 0.215 0.355]]\n",
      "Output (each row recovers the matching value row):\n",
      "[[5.163 6.163 7.163 8.163]\n",
      " [5.721 6.721 7.721 8.721]\n",
      " [6.279 7.279 8.279 9.279]\n",
      " [6.837 7.837 8.837 9.837]]\n"
     ]
    }
   ],
   "source": [
    "def scaled_dot_product_attention(Q, K, V, mask=None):\n",
    "    \"\"\"The five lines of code that define modern AI.\n",
    "\n",
    "    Q: (..., T_q, d_k)\n",
    "    K: (..., T_k, d_k)\n",
    "    V: (..., T_k, d_v)\n",
    "    mask: optional (..., T_q, T_k); positions with mask=0 are blocked.\n",
    "    Returns:\n",
    "        out:   (..., T_q, d_v)\n",
    "        attn:  (..., T_q, T_k)\n",
    "    \"\"\"\n",
    "    d_k = Q.size(-1)\n",
    "    scores = Q @ K.transpose(-2, -1) / math.sqrt(d_k)\n",
    "    if mask is not None:\n",
    "        scores = scores.masked_fill(mask == 0, -1e9)\n",
    "    attn = F.softmax(scores, dim=-1)\n",
    "    out = attn @ V\n",
    "    return out, attn\n",
    "\n",
    "# Sanity check: identity-like behaviour when keys equal one-hot queries.\n",
    "Q = torch.eye(4).unsqueeze(0)         # (1, 4, 4)  identity\n",
    "K = torch.eye(4).unsqueeze(0)\n",
    "V = torch.arange(16, dtype=torch.float).reshape(1, 4, 4)\n",
    "out, attn = scaled_dot_product_attention(Q, K, V)\n",
    "print('Attention matrix:'); print(attn.squeeze().numpy().round(3))\n",
    "print('Output (each row recovers the matching value row):'); print(out.squeeze().numpy().round(3))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "50738946",
   "metadata": {},
   "source": [
    "When the queries match keys exactly, the softmax peaks at the right diagonal. With $d_k = 4$ the scaling means the peak is not yet a hard one-hot, but it is clearly biased toward the matching key. Send the same input through with a higher dimension and the diagonal will be sharper."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3ca8ba34",
   "metadata": {},
   "source": [
    "## 39.3 Computational Complexity — RNN vs Self-Attention\n",
    "\n",
    "Why is this such a big deal? Compare the two architectures token-for-token.\n",
    "\n",
    "**Recurrent layer (Chapter 32–34):** at each time step, the hidden update is a matrix-vector product $h_t = \\tanh(W_h h_{t-1} + W_x x_t)$. With hidden dim $d$, that is $O(d^2)$ per step. For a length-$T$ sequence: $O(T \\cdot d^2)$.\n",
    "\n",
    "Crucially, the steps are **sequential**: $h_2$ needs $h_1$, $h_3$ needs $h_2$, and so on. The depth of the longest gradient path through time is $T$ (Chapter 33's BPTT).\n",
    "\n",
    "**Self-attention layer:** $QK^\\top$ is an $O(T^2 \\cdot d)$ matrix multiplication, plus an $O(T^2 \\cdot d)$ matmul against $V$. Total: $O(T^2 \\cdot d)$.\n",
    "\n",
    "But the steps are **parallel**: the entire matrix $QK^\\top$ can be computed in a single GPU kernel. And the longest gradient path between any two positions is *one layer deep*, not $T$. (Compare the vanishing-gradient analysis of Chapter 33.)\n",
    "\n",
    "| Layer | Complexity per layer | Sequential ops | Max path length |\n",
    "|-------|---------------------|----------------|-----------------|\n",
    "| Recurrent | $O(T \\cdot d^2)$ | $O(T)$ | $O(T)$ |\n",
    "| Self-attention | $O(T^2 \\cdot d)$ | $O(1)$ | $O(1)$ |\n",
    "| Convolutional (kernel $k$) | $O(k \\cdot T \\cdot d^2)$ | $O(1)$ | $O(\\log_k T)$ |\n",
    "\n",
    "*The self-attention column is the win that built modern AI.* The $T^2$ in attention is bigger than the $T$ in RNNs, but it is *parallel* — a $T = 1024$ sequence finishes in milliseconds on a GPU because the matmul is one kernel call. An RNN of length 1024 must walk 1024 steps in series, no matter how big the GPU."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a2c0_1f42fa",
   "metadata": {},
   "source": [
    "### 39.3.1 Diagram — Sequential Chain vs All-at-Once\n",
    "\n",
    "The table is right but the picture is more memorable. Below: top row is an RNN, where $h_4$ cannot start before $h_3$ finishes which cannot start before $h_2$ finishes. Bottom row is self-attention, where every output $z_i$ reaches into every input $x_j$ simultaneously through a single $T \\times T$ matrix multiplication.\n",
    "\n",
    "<svg width=\"680\" height=\"360\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width:100%;height:auto;display:block;margin:auto;background:#fafafa\">\n",
    "  <defs>\n",
    "    <marker id=\"a2\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto-start-reverse\">\n",
    "      <path d=\"M0,0 L10,5 L0,10 z\" fill=\"#374151\"/>\n",
    "    </marker>\n",
    "    <marker id=\"a3\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"5\" markerHeight=\"5\" orient=\"auto-start-reverse\">\n",
    "      <path d=\"M0,0 L10,5 L0,10 z\" fill=\"#9ca3af\"/>\n",
    "    </marker>\n",
    "  </defs>\n",
    "\n",
    "  <text x=\"20\" y=\"30\" font-family=\"serif\" font-size=\"15\" font-weight=\"bold\" fill=\"#3b82f6\">RNN: sequential, depth O(T)</text>\n",
    "  <g font-family=\"serif\" font-size=\"13\" text-anchor=\"middle\">\n",
    "    <circle cx=\"100\" cy=\"100\" r=\"22\" fill=\"#dbeafe\" stroke=\"#3b82f6\"/><text x=\"100\" y=\"105\">x_1</text>\n",
    "    <circle cx=\"230\" cy=\"100\" r=\"22\" fill=\"#dbeafe\" stroke=\"#3b82f6\"/><text x=\"230\" y=\"105\">x_2</text>\n",
    "    <circle cx=\"360\" cy=\"100\" r=\"22\" fill=\"#dbeafe\" stroke=\"#3b82f6\"/><text x=\"360\" y=\"105\">x_3</text>\n",
    "    <circle cx=\"490\" cy=\"100\" r=\"22\" fill=\"#dbeafe\" stroke=\"#3b82f6\"/><text x=\"490\" y=\"105\">x_4</text>\n",
    "    <circle cx=\"620\" cy=\"100\" r=\"22\" fill=\"#dbeafe\" stroke=\"#3b82f6\"/><text x=\"620\" y=\"105\">x_5</text>\n",
    "\n",
    "    <circle cx=\"100\" cy=\"170\" r=\"22\" fill=\"#fff\" stroke=\"#3b82f6\"/><text x=\"100\" y=\"175\">h_1</text>\n",
    "    <circle cx=\"230\" cy=\"170\" r=\"22\" fill=\"#fff\" stroke=\"#3b82f6\"/><text x=\"230\" y=\"175\">h_2</text>\n",
    "    <circle cx=\"360\" cy=\"170\" r=\"22\" fill=\"#fff\" stroke=\"#3b82f6\"/><text x=\"360\" y=\"175\">h_3</text>\n",
    "    <circle cx=\"490\" cy=\"170\" r=\"22\" fill=\"#fff\" stroke=\"#3b82f6\"/><text x=\"490\" y=\"175\">h_4</text>\n",
    "    <circle cx=\"620\" cy=\"170\" r=\"22\" fill=\"#fff\" stroke=\"#3b82f6\"/><text x=\"620\" y=\"175\">h_5</text>\n",
    "\n",
    "    <line x1=\"100\" y1=\"122\" x2=\"100\" y2=\"148\" stroke=\"#374151\" marker-end=\"url(#a2)\"/>\n",
    "    <line x1=\"230\" y1=\"122\" x2=\"230\" y2=\"148\" stroke=\"#374151\" marker-end=\"url(#a2)\"/>\n",
    "    <line x1=\"360\" y1=\"122\" x2=\"360\" y2=\"148\" stroke=\"#374151\" marker-end=\"url(#a2)\"/>\n",
    "    <line x1=\"490\" y1=\"122\" x2=\"490\" y2=\"148\" stroke=\"#374151\" marker-end=\"url(#a2)\"/>\n",
    "    <line x1=\"620\" y1=\"122\" x2=\"620\" y2=\"148\" stroke=\"#374151\" marker-end=\"url(#a2)\"/>\n",
    "\n",
    "    <line x1=\"122\" y1=\"170\" x2=\"208\" y2=\"170\" stroke=\"#ef4444\" stroke-width=\"2\" marker-end=\"url(#a2)\"/>\n",
    "    <line x1=\"252\" y1=\"170\" x2=\"338\" y2=\"170\" stroke=\"#ef4444\" stroke-width=\"2\" marker-end=\"url(#a2)\"/>\n",
    "    <line x1=\"382\" y1=\"170\" x2=\"468\" y2=\"170\" stroke=\"#ef4444\" stroke-width=\"2\" marker-end=\"url(#a2)\"/>\n",
    "    <line x1=\"512\" y1=\"170\" x2=\"598\" y2=\"170\" stroke=\"#ef4444\" stroke-width=\"2\" marker-end=\"url(#a2)\"/>\n",
    "  </g>\n",
    "  <text x=\"360\" y=\"215\" text-anchor=\"middle\" font-family=\"serif\" font-size=\"12\" fill=\"#ef4444\">red arrows = forced sequential dependencies (5 wall-clock steps)</text>\n",
    "\n",
    "  <text x=\"20\" y=\"250\" font-family=\"serif\" font-size=\"15\" font-weight=\"bold\" fill=\"#f59e0b\">Self-attention: parallel, depth O(1)</text>\n",
    "  <g font-family=\"serif\" font-size=\"13\" text-anchor=\"middle\">\n",
    "    <circle cx=\"100\" cy=\"290\" r=\"18\" fill=\"#fef3c7\" stroke=\"#f59e0b\"/><text x=\"100\" y=\"294\">x_1</text>\n",
    "    <circle cx=\"230\" cy=\"290\" r=\"18\" fill=\"#fef3c7\" stroke=\"#f59e0b\"/><text x=\"230\" y=\"294\">x_2</text>\n",
    "    <circle cx=\"360\" cy=\"290\" r=\"18\" fill=\"#fef3c7\" stroke=\"#f59e0b\"/><text x=\"360\" y=\"294\">x_3</text>\n",
    "    <circle cx=\"490\" cy=\"290\" r=\"18\" fill=\"#fef3c7\" stroke=\"#f59e0b\"/><text x=\"490\" y=\"294\">x_4</text>\n",
    "    <circle cx=\"620\" cy=\"290\" r=\"18\" fill=\"#fef3c7\" stroke=\"#f59e0b\"/><text x=\"620\" y=\"294\">x_5</text>\n",
    "\n",
    "    <circle cx=\"100\" cy=\"345\" r=\"18\" fill=\"#fff\" stroke=\"#f59e0b\"/><text x=\"100\" y=\"349\">z_1</text>\n",
    "    <circle cx=\"230\" cy=\"345\" r=\"18\" fill=\"#fff\" stroke=\"#f59e0b\"/><text x=\"230\" y=\"349\">z_2</text>\n",
    "    <circle cx=\"360\" cy=\"345\" r=\"18\" fill=\"#fff\" stroke=\"#f59e0b\"/><text x=\"360\" y=\"349\">z_3</text>\n",
    "    <circle cx=\"490\" cy=\"345\" r=\"18\" fill=\"#fff\" stroke=\"#f59e0b\"/><text x=\"490\" y=\"349\">z_4</text>\n",
    "    <circle cx=\"620\" cy=\"345\" r=\"18\" fill=\"#fff\" stroke=\"#f59e0b\"/><text x=\"620\" y=\"349\">z_5</text>\n",
    "  </g>\n",
    "  <g stroke=\"#9ca3af\" stroke-width=\"0.7\">\n",
    "    <line x1=\"100\" y1=\"308\" x2=\"100\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"230\" y1=\"308\" x2=\"100\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"360\" y1=\"308\" x2=\"100\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"490\" y1=\"308\" x2=\"100\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"620\" y1=\"308\" x2=\"100\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"100\" y1=\"308\" x2=\"230\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"230\" y1=\"308\" x2=\"230\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"360\" y1=\"308\" x2=\"230\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"490\" y1=\"308\" x2=\"230\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"620\" y1=\"308\" x2=\"230\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"100\" y1=\"308\" x2=\"360\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"230\" y1=\"308\" x2=\"360\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"360\" y1=\"308\" x2=\"360\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"490\" y1=\"308\" x2=\"360\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"620\" y1=\"308\" x2=\"360\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"100\" y1=\"308\" x2=\"490\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"230\" y1=\"308\" x2=\"490\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"360\" y1=\"308\" x2=\"490\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"490\" y1=\"308\" x2=\"490\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"620\" y1=\"308\" x2=\"490\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"100\" y1=\"308\" x2=\"620\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"230\" y1=\"308\" x2=\"620\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"360\" y1=\"308\" x2=\"620\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"490\" y1=\"308\" x2=\"620\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "    <line x1=\"620\" y1=\"308\" x2=\"620\" y2=\"327\" marker-end=\"url(#a3)\"/>\n",
    "  </g>\n",
    "</svg>\n",
    "\n",
    "The RNN's red chain has length $T$: it forces $T$ wall-clock GPU launches no matter how wide the GPU. Self-attention's bipartite cloud is one matrix multiplication: one GPU launch, every output computed concurrently. This is *the* reason Transformers train on hardware that did not exist when RNNs were dominant — they were the architecture that finally matched the GPU."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "211acc66",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:08.075164Z",
     "iopub.status.busy": "2026-04-30T15:38:08.074994Z",
     "iopub.status.idle": "2026-04-30T15:38:08.568563Z",
     "shell.execute_reply": "2026-04-30T15:38:08.568265Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArIAAAFUCAYAAADYjN+CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACOJ0lEQVR4nOzdd3gU1frA8e9sS0+AkAQIvffQi3RRiogIFq4NFRteLIANxQaoqChW4FquoFe96k8BsV2K0juhF2nShEBCKAnpu3N+fyzZsKSwm+xmN8v7eZ48mtmZc94zbCZvzp55R1NKKYQQQgghhKhgDL4OQAghhBBCiNKQRFYIIYQQQlRIksgKIYQQQogKSRJZIYQQQghRIUkiK4QQQgghKiRJZIUQQgghRIUkiawQQgghhKiQJJEVQgghhBAVkiSyQgghhBCiQpJEVgg/Nnv2bDRNK/LrySef9HV4XnPo0CE0TWP27Nm+DqXCmzFjht+ex7S0NF599VU6dOhAZGQkQUFB1K1bl5EjR7Jp0ybHfpf+HJhMJmrWrMm9997LsWPHCu23cePGIvu7/vrrqVu3rkux5eXl0bRpU15//fXL7vvyyy+jaZpL7Xrajz/+SK9evYiMjCQsLIwWLVrw8ccfF7t/VlYWjRs3RtM03nrrLafXfv/9d8LDw53OqRD+zuTrAIQQlzdr1iyaNm3qtK1GjRo+ikZUJDNmzKBq1arcc889vg7FyYEDB+jXrx/JycmMGjWKiRMnEh4ezqFDh/juu+9o3749Z8+eJSoqynFM/s9BVlYWy5cvZ8qUKSxbtozt27cTFhbm0fhmzJjBmTNnePTRRz3arie9/vrrTJgwgVGjRvHss89iNpv5888/yc3NLfaYF154gYyMjCJf69u3L506deK5557j888/91bYQniUJLJCVAAtW7akQ4cOHm83MzOT0NBQj7fr730L37LZbAwdOpRTp06xZs0aWrZs6XitV69e3H333fz222+YzWan4y7+OejTpw82m43Jkyczb9487rjjDo/FZ7VamTp1KiNHjvR4guwpiYmJTJgwgSlTpvD00087tvft27fYY9avX88HH3zAV199xS233FLkPqNHj2b48OG88sor1KpVy+NxC+FpsrRAiAAwf/58unbtSmhoKBEREVx77bWsWbPGaZ/8jz83bdrEzTffTOXKlWnQoAG/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7ODcuXM0atSIypUrU7lyZRISEgB7Ka7KlSuzfft2pzbyx+6pf28hvEkSWSEqsCZNmhAfH8/XX3/t+AUG9o9Bf/jhB0clg8sxm8307NmTRYsW8ccff3DttdcC9mTNZDLx/PPPOxLbfPmJ6cU3/yil3LrbuU+fPqSnpzN//nyn7V9//bXT9xEREYVmpC9NmL/66iun77/77jusViu9e/cuNl6Ajz76qMQYGzduzPPPP0+rVq2civTnMxqNdO7c2TETXdQ++fr164fRaGTmzJnF7tO1a1dCQkL48ssvnbb//fff/PHHH8WWVyouTldmSPPlt31p3z/88AMZGRkllnZyx5AhQ2jVqhVTpkxhx44dRe6zYMEClypAXKxLly6Eh4fz7bffFnpt165d7Ny50+mPseI0bdqUAwcOOG0LCwujU6dOzJkzh+zsbMf29PR0l5YCgGeXFuQvEfrtt9+ctv/6668YDAbHjZvjx49nyZIlTl///e9/ARg1ahRLliyhYcOGTm389ddfREdHe3zJhhDeIFULhKjADAYDb775JnfccQfXX389Dz30EDk5OUydOpWzZ8+69FSifH379uWJJ54AcPyyDwkJ4aqrrmLhwoW0bt3aad3gtddei8Vi4bbbbuPpp58mOzubmTNnFlrKUJIRI0bwzjvvMGLECF599VUaNWrEr7/+yoIFC1xuI9+cOXMwmUxce+21jqoFCQkJ3HrrrQBcddVVVK5cmVGjRvHSSy9hNpv56quv2Lp1q1M727Zt45FHHuGWW26hUaNGWCwW/vjjD7Zt28b48eMB+Ne//sUff/zBoEGDqF27NtnZ2Y4qDSUlSnXr1uW5555j8uTJZGVlcdtttxEVFcWuXbs4deoUEydOpFKlSrzwwgs899xzjBgxgttuu43U1FQmTpxIcHAwL730kstxArRq1YpvvvmGb7/9lvr16xMcHEyrVq2KjO/aa6+lf//+PPPMM6SlpdGtWzdH1YK2bdsWWY6qNIxGI3PnzqVfv3507dqVhx9+mD59+hAWFsbhw4f5/vvv+emnn9x6L4H9D56JEyfyxBNPoOs6w4cPd8w4vvbaa9SpU4fHHnvssu307t2bSZMmFap1PHnyZAYMGMC1117LE088gc1m44033iAsLKzQDG5RatSo4bEHmdx777189NFH/POf/+TUqVM0b96cxYsXM336dP75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IjExkTZt2rh4RiAzM5M+ffrQo0cPli9fjslk4pVXXmHAgAFs27YNi8UCwJIlS6hevTpLlixh//79DB8+nDZt2vDAAw8wZ84cEhISePDBB3nggQeK7ev8+fNcd911vPLKKwQHB/P5558zePBg9uzZQ+3atYs9rlOnTqxYscLlMQkhhLjyZOcp/thj5o+fc/kzqWD2tWGcxtAOJq5taSTUUnT+0KWelUEdLWz/G3my15UgOw+ufSP78ju6KCUdBkzNcWnfRc8EE2Jxve2ff/6Z8PBwbDaboyLD22+/XeS+zz//PLNmzeKrr77irrvuKrbNdu3aceuttzJ+/Hh+//13l+I4dOhQoRuWjhw5wk033USrVq0AqF+/vuO1mTNn0q5dO1577TXHts8++4xatWqxd+9eatSowb///W+++OILrr32WqxWK7Nnz6ZWrVouxZPvm2++wWAw8Omnnzr+QJg1axaVKlVi6dKljjWulStX5sMPP8RoNNK0aVMGDRrE77//zgMPPECVKlUwGo1ERERQrVq1YvtKSEggISHB8f0rr7zC3LlzmT9/Po888kixx8XHxzvNEAshhBD5jqTq/Jho5ZetNs5nhwIKsxGubm5kaAcjLeINLk2AGQ0a7er67wf4ksheofr06cPMmTPJzMzkk08+Ye/evTz66KNF7hsTE8OTTz7Jiy++yPDhw0ts95VXXqFZs2YsXLiQ2NjYy8aRlZVV6O7Exx57jIcffpiFCxdyzTXXcNNNN9G6dWsAEhMTWbJkiWOG9mIHDhwgKyuL3Nxcunbt6thepUoVmjRpctlYLpaYmMj+/fsLVVHIzs7mwIEDju9btGjh9ESq6tWrs337drf6ysjIYOLEifz8888cP34cq9VKVlYWR44cKfG4kJAQMjMz3epLCCFE4LLqilV7deYlWtnwV0Et1thwnaEdzVzf1kzlMP+ZTfUESWRdUFKx9vwvgCCTYuHTl6+7BrD1iM5T31x+HcLUf5hJqH35v4SCTAp36tyHhYXRoEEDAN5//3369OnDxIkTmTx5stN++eMbO3YsM2bMYPr06YWK3l/83/r163P//fczfvx4Pv30U6c2ilK1alVOnz7t9Pp9991Hv379+OWXX1i0aBFTpkzhrbfe4tFHH0XXdQYPHszrr79eqK3q1auzb9++ImO7NA5N05weagH22sD5+9hsNtq3b8+XX35ZqJ+YmBjHcWazudDYLm23pPErpXjyySdZuHAhU6dOpWHDhoSEhHDLLbeQk5NTYjupqalOsVyOPz4QIX9M8kAEUVaBeM79eUzyQITybfNy7ZxKV/yyxcb8zTbHfTca0KWhgSFtNepGnKVaXAwGg0J38Wlcvnz/yQMRyqgsD0Qwuzj73ra2IiaCQjd6XSwmAtrW1jEaLv+ms7lxX1h+0pAft1KKZ599lhtvvJEHHniAGjVqOO1rtVoJDg7mueeeY/LkyQwaNAillOP4/Dd7/vfPPfccTZs25euvvwYo8aERCQkJ7Ny5s9Dr1atX5/777+f+++9nwoQJfPLJJzz88MMkJCQwd+5catasWWT93rp162I2m1m1ahXVq1fHZrNx5swZ9u7dS48ePRz9xMTEcOzYMcf3+/btIzMz0zHeNm3a8N1331GlSpUiy4LlF/K/+Dzmn8uLz4XZbCYvL89pn/z3VV5eHpqmsWLFCu666y4GDx4M2NfMHjp0iJ49ezodd2lf27dvJyEhwaUHcsgDEeSBCIEuEM+5P49JHohQvm0W1Y5SsDPJyIJdFtYfMmNT9utuZLBO3ya5XNM0l7hI5TjWoFWc65g8EKGMyuOBCCbg8f4Gnv++hNIW/c0EWTx/V2B+LbmL4+7Tpw8tWrTgzTff5MMPP3TaN3+/UaNG8f777/Ptt9/SuXNnx/b8mrr538fHxzN27FjeeustgBLP0YABA3jggQfQNM3xEf2YMWMYOHAgjRs35syZMyxbtozmzZtjMpl49NFH+eyzzxgxYgRPPvkkVatWZf/+/XzzzTd88sknVKpUiZEjR/Lss88SGxtLdHQ0L7/8cqEYr776ambOnMlVV12FruuMHz8es9nsGO9dd93FtGnTuPnmm5k4cSI1a9bkyJEjzJkzh6eeeoqaNWsWeR7zqxPkb6tXrx6rVq3i9ttvJygoiKpVqzrGmZ+4NWrUiB9//JEhQ4agaRovvviio4D1xW1f2teqVauYNGmSW+8/eSCCPBAhUAXiOffnMckDEcq3zYvbyczVWLBdZ94mG4dPFUx0taqpcWN7I72aGrCYQsocgy/ff/JABA/z1gMRejcz8erNWqE6srGR9vps3i5tkR93fiH7sWPHMnLkSMaPH++4Oeri8VksFiZPnsztt9/udHxRRfCffvpp/vWvf5GdnV3iORo0aBBms5nff/+d/v37A/YfnkceeYS///6byMhIBgwYwDvvvIOmacTHx7Nq1SqeeeYZBgwYQE5ODnXq1GHAgAEYjUY0TeOtt94iIyODIUOGEBERwbhx4zh37pxTHG+//Tb33nsvvXr1okaNGrz33nskJiY69gkLC2P58uU888wz3HTTTaSnpxMfH0/fvn2JiopyGk9R/5//30mTJvHQQw/RsGHDQksF8vd75513GDlyJN26daNq1ao888wzpKWlFTpvF3+/Zs0azp07xy233OLS+08eiCAPRLgSBOI59+cxyQMRyrfNQ6eNfJFoY9EO3VEhKcQM/VoZubG9iUbVim+/ol3H3OlPU95cMFfB5c/Injt3rsgZ2YMHD1KvXj23/nIoSnk/2etS+R+Fm0wmnzwBa8aMGfz4448sWLDAo+1ePK4+ffrQpk0bv3jwgifO9y233ELbtm157rnnyq1Pb/RR0s+RruskJycTGxtb5pmM0rZT2mM9FbtwXSCec38eky9i83af3mi/rG3mWBVLd9mYs9HKzmMF6VrdqvbSWQNaGwkLKvl6WxGvYyXlX5eSGVk/YC9t4R+FhX3hwQcf5MyZM6SnpxeqEiAKy8nJISEhgbFjx/o6FCGEEF5w7IzOj4k2ftli5VyWfZtRU/RqZmRYBxMJtV0rnXUlkERW+JzJZGLChAm+DqPCCAoKcvsJakIIIfybTVes3W8vnbV2v07+/GtspMbgtga61DxDk7r+t17a1ySRFVeEpUuX+joEIYQQopAzGYqft1j5MdHGiXMFywc61TcwtIOJro0MGFAkJ8tK0KJIIiuEEEIIUY6UUmz/W2fuRhtLdtmwXiibGhEMg9qYGNLOSK3ogplXV2u/XokkkRVCCCGEKAeZuYqF223M3WjlwEUzrM1qaAzrYOLq5kaCzLL21R2SyAohhBBCeNHBFJ0fN1n53zYbmbn2bUEmuKalkaHtTTStIeteS0sSWSGEEEIID8uzKZbutvF/a8LYdaLg4Ue1qhSUzooMkdnXspJE1gUlPQc+/6uiyx9DIIzlYv46Ll/EVR59uttH/s9PST9j3n5GuTeO9eUzyq9UgXjO/XlMvojN2316qv2T5xTzN9v4ZYuN0xkAJgwadG9sYGh7I+3q5j/cRrm89vVKu46506ckskWYPn0606dPdzw3PiUlhezsbKd98vLy0HUdq9Xq0rPu/ZlSyjHWQKpL56/j8kVc5dFnafqwWq3ouk5qamqhR9t68xnl3j7Wl88ov1IF4jn35zH5IjZv91mma4WCbcdMLNhlIfGICV3Zr4GVQ3W610ljUAJUjbBvS0kp59gq4HUsPT398jtdIIlsEUaPHs3o0aMdT5aIiYkp8sle6enpmEwmt551788uTSSKcujQIerXr8+mTZto06YNAKtWreLhhx/mzz//ZNCgQcydO9fLkbrHlXHl69OnDwkJCeXyBLBJkyZx8uRJPv74Y6/3la+kc1GvXj0ef/xxxowZA9gfEThnzhxuvPFGl9q+9957OX36ND/++CNgf/pY165dGTduXLHHmEwmDAYD0dHRRT7Zy9PPKC/NL4CK9ozyK1UgnnN/HpMvYvN2n6Vp/1ym4rdtNn7cZOPYmYLtbetoDG1v5KqGcOY0ch1zkztPTA2MDMzLinrOsMFgcDwnvqwzXEq3oZ9chco6gRZSDUNcNzRD+T3pSynlGMPlxnLxfvn//8QTT9CmTRt+++03wsPDS3U+Xn75ZebNm8eWLVsK9Td37lyXk6mLlTSupUuX0qdPH86cOUOlSpUc2+fMmYPZbPbqTKlSiuTkZN5//322bdtWLrOyrv4bX/p+Lu37W9M0XnzxRfr06cMDDzxQ7CMG89sv7lnennrOd1naqWjPKL+SBeI59+cx+SI2b/fpSvtKKXYfV8zdaOX3XTZyL3woGxYEAxOM3NjORN0Y+/H5yaBcx9zjTn+SyPqY9dCP5K17GpV5zLFNC43H3PlNTHWH+DAy1x04cIBRo0ZRs2ZNX4dSZlWqVCmXfmbNmkXXrl2pW7euV/vJ/7jfaCz/RyC3bt2aunXr8tVXX/Hwww+Xe/9CCOFJ2XmKxTtszE20siepYG1roziNYR1NXNPCSIjFf5axXSn870+8K4j10I/kLrnTKYkFUJnHyV1yJ9ZDP3ql3++//55WrVoREhJCdHQ01157LRkZGY7XZ82aRbNmzQgODqZp06bMmDGjyHYOHTqEpmmkpqYycuRINE1j9uzZRe77zDPP0LhxY0JDQ6lfvz4vvPACeXn2uzhnz57NxIkT2bp1q2OGbvbs2Y4kb+jQoWia5pT0/fTTT7Rv357g4GDq16/PxIkTndYqa5rGp59+ys0330xYWBiNGjVi/vz5jrj79OkDQOXKldE0jXvuuQeA3r17Oz5aBzhz5gwjRoygcuXKhIaGMnDgQPbt2+d4ffbs2VSqVIkFCxbQrFkzwsPDGTBgAElJSSX+G3z33XcMHjzYaVvv3r155JFHeOSRR6hUqRLR0dE8//zzTjdOffnll3To0IGIiAiqVavG7bffTnJysuP1pUuXomkaCxYsoEOHDgQFBbFixQoOHDjAsGHDqFatGuHh4XTs2JHFixeXGOOljh07xvDhw6lcuTLR0dEMGTKEQ4cOlXjMDTfcwH//+1+3+hFCCH9y5JTO+wtzufHdbF7/OY89SQqLEfq3MvKve4P47IEgBrc1SRLrI5LIepBSCpWX4dKXnpNG7rongaLuWLRvy133FHpOmmttuniXeFJSErfddhsjR45k9+7dLF26lKFDhzqO/+STT5gwYQKvvvoqu3fv5rXXXuOFF17g888/L9RWrVq1SEpKIjIyknfffZekpCSGDx9eZL8RERHMnj2bXbt28d577/HJJ5/wzjvvADB8+HCeeOIJWrRoQVJSkqOdDRs2APbEOikpyfH9ggULuPPOO3nsscfYtWsXH330EbNnz+bVV1916nPSpEncfPPNbN26leuuu4477riD06dPU6tWLX744QcA9uzZQ1JSEu+9916Rcd9zzz1s3LiR+fPns2bNGpRSXHfddY4kHCAzM5O33nqL//znPyxfvpwjR47w5JNPFvtvcObMGXbu3EmHDh0Kvfb5559jMplYt24d77//Pu+88w6ffvqp4/Xc3FwmT57M1q1bmTdvHgcPHnQk4Rd7+umnmTJlCrt376Z169acP3+egQMHsmjRIjZv3kz//v0ZPHgwR44cKTbOi2VmZtKnTx/Cw8NZvnw5K1eudCTtubm5xR7XqVMn1q9fT05Ojkv9CCGEP7DqimW7bTz+ZQ63z8zhu3U2zmdD9Uoa/+xrYs6YYF640ULLmga/upn4SiRLCzzJmknWl3EeakxB5nGyv67h0t4hd54Ec9hl90tKSsJqtTJs2DDq1KkDQMuWLR2zmZMnT+btt99m2LBhgP0GoPxk8e6773Zqy2g0Uq1aNTRNIyoqimrVqhXb7/PPP+/4/7p16/LEE0/w7bff8vTTTxMSEkJ4eDgmk8mpjZCQEAAqVarktP3VV19l/Pjxjnjq16/P5MmTefrpp3nppZcc+91999384x//wGQy8dprr/HBBx+wfv16BgwY4FhCEBsb67RG9mL79u1j/vz5rFq1iquuugqAr776ilq1ajFv3jxuueUWwF7B4l//+hcNGjQA4JFHHmHSpEnFnovDhw+jlKJGjcL/trVq1eKdd95B0zSaNGnC9u3beeedd3jggQcAGDlypGPf+vXr8/7779OpUyfOnz9PeHi447VJkyZx7bXXOr6vUqUKLVq0wGQyoWkar7zyCnPnzmX+/Pk88sgjxcaa75tvvsFgMPDpp586LtqzZs2iUqVKLF26lH79+hV5XHx8PDk5OZw4ccLxfhNCCH91OkPjl+VWft5iI+XCjfMacFUjAzd2MNG5gQGDJK5+RRLZK0xCQgJ9+/alVatW9O/fn379+nHTTTcRERFBSkoKR48e5b777nMkTmAvkRQVFeVS+6NGjeLLL790fH/+/HnAvpzh3XffZf/+/Zw/fx6r1VrsDUCXk5iYyIYNG5xmYG02G9nZ2WRmZhIaGgrY12jmCwsLIyIiwulj+MvZvXs3JpOJzp07O7ZFR0fTpEkTdu/e7dgWGhrqSGIBqlevXmI/WVlZQNF3ZXbp0sXpr/uuXbvy9ttvO9a5bt68mZdffpktW7Zw+vRpR629I0eO0Lx5c8dxl872ZmRk8NJLL/Hbb79x/PhxrFYrWVlZLs/IJiYmsn//fiIiIpy2Z2dnc+DAgWKPy/9jJDMz06V+hBCivCml2HxYZ84GK8v3RKArexnBSqEwuK2JG9oZqV5JPsD2V5LIepIp1D4z6gLbiVXkLh522f0s18zBWK2bS327wmg0smjRIlavXs3ChQv54IMPmDBhAitXrnQklp988olT8pZ/nCsmTZpU6GP1tWvX8o9//IOJEyfSv39/oqKi+Oabb3j77bddavNSuq4zceJEx6zxxS5ODi8tNaVpmltFlotbrnFxBYDi+ilpqUfVqlUB+xKD2NhYl+PJyMigX79+9OvXjy+//JKYmBiOHDlC//79C328HxbmPDv/1FNPsXDhQqZOnUqjRo0ICQnh5ptvLnFZwMV0Xad9+/Z89dVXhV6LiYkp9rjTp09fdh8hhPCF9GzF/7bZmLfRyuHU/Gu2Ruta9idv9WpqxGKS2Vd/J4msB2ma5tLH+wDG+L5oofGozOMUvU5WQwuLt+/n4VJcmqbRrVs3unXrxosvvkidOnX48ccfefLJJ4mPj+evv/7ijjvuKFXbsbGxhZKzVatWUadOHSZMmODYdvjwYad9LBaLo5j+xcxmc6Ht7dq1Y8+ePTRs2LBUMeb3BxTZZ77mzZtjtVpZt26dY2lBamoqe/fupVmzZqXuu0GDBkRGRrJr1y6aNGni9NratWsLfd+oUSOMRiN//vknp06d4vXXX6dWrVoAbNy40aU+V65cyV133eW4ce78+fOXvVHrYu3atePbb78lNjbWrZn0HTt2ULNmTUfyLoQQvrY3SWduopVFO2xkX7jdIcQC/Vsa6FHvHB2bVvXLcmeiaPIv5SOawYi585v53136KgDmTm94PIldt24dr732Ghs3buTIkSPMmTOHlJQUmjZtCtjruU6ZMoX33nuPvXv3sn37dmbNmsW0adNK3WfDhg05cuQI33zzDQcOHOD9998v9NCEunXrcvDgQbZs2cKpU6ccNwfVrVuX33//nRMnTnDmjL3a9IsvvsgXX3zByy+/zM6dO9m9ezfffvut0zrcy6lTpw6apvHzzz+TkpLiWAJxsUaNGjFkyBAeeOABVq5cydatW7nzzjuJj49nyJDSl0YzGAxcffXVrFy5stBrR48eZdy4cezZs4f//ve/fPDBBzz++OMA1K5dG4vFwgcffMBff/3F/PnzmTx5skt9NmzY0FGnd+vWrdx+++1uzU7fcccdVK1alSFDhrBixQoOHjzIsmXLePzxx/n777+LPW7FihXFrp8VQojykmNV/LbVykOfZTPy0xx+2mxPYuvFaIwbaGbemGDGDTRTp4r/PQ5YlEwSWR8y1R2Cpc+XaKHON/1oYfFY+nzplTqykZGRLF++nOuuu47GjRvz/PPP89ZbbzFgwAAA7r//fj799FNmz55Nq1at6NWrF7Nnz6ZevXql7nPIkCGMHTuWRx55hDZt2rB69WpeeOEFp31uuukmBgwYQJ8+fYiJiXGUbHr77bdZtGgRtWrVom3btgD079+fn3/+mUWLFtGxY0e6dOnCtGnT3LqZKD4+nokTJzJ+/Hji4uKKveFp1qxZtG/fnuuvv56uXbuilOLXX39162lhRbn//vv59ttvCyWTI0aMICsri06dOjF69GgeffRRHnzwQcD+8fzs2bP5v//7P5o3b87rr7/OW2+95VJ/06ZNo3LlynTr1o3BgwfTv39/2rVr53K8oaGhLF++nNq1azNs2DCaNWvGyJEjycrKKnaGNjs7m7lz5zqttxZCiPJ07LTOjMV5DHs3m1fn57HzmMJkgL4tjEy/28IXDwUxrIOJsCBZQlBRacrVuk1XoPxH1J47d67IR9QePHiQevXqufUotaL4w5O9rFar4472QOGv41JKkZeXR48ePRgzZgy33XYbYK8j26ZNG688Hrc8zsWlfUyfPp0ff/yRhQsXFntMST9Huq6TnJxMbGxsmR/tWNp2Snusp2IXrgvEc+7PY/JFbK72adMVa/brzN1oZf0B3bF4LzZS48b2Rq5vY6JKeOHroDfGJNex0ikp/7qUrJH1A5rBiLF6T1+HIcqRpml89NFHbN++3deheI3ZbOaDDz7wdRhCiCvE6fOKn7dY+XGTjZPnCuboOjcwMLS9ia6NDBgN/jOpITxDElkX6Lpe6CNgXdftD0C48FXR5Y8hEMZyMX8dl1KKhIQEEhISnGLz5vupPM7FxX3kLykoqb/88Zb0M+bOWt6ilKWd0h7rqdiF6wLxnPvzmHwRW1F9KqXYdlTx4yYbS3frWC+8FBkC1yUYuaGtkZpV8pNXha4Xfz3yxpjkOlY67vQpiWwRpk+fzvTp0x13tKekpJCdne20T15eHrquY7VanR6NWhEppRxj9aeP4MvKX8dVXFyLFi0C8Mr7qTzORWn6sFqt6LpOampqoXXHuq5z7tw5lFJl/kiutO2U9lhPxS5cF4jn3J/H5IvYLu4zx2pg+X4LC3ZZOHKmYCleo1gr/Zvl0rV+HkEmwAqulg/3xpjkOlY66enpLu8riWwRRo8ezejRox1rNGJiYopcI5ueno7JZMJkCozTWNYbmPyVv47LF3GVR5/u9GEymTAYDERHRxe5RlbTNGJiYsr8C6C07ZT2WE/FLlwXiOfcn8fki9h0XefoGSO/bK7Egh06WRfKYAeZ4NqWBoa0M9KkehDgWhnMotr39JjkOlY67tx7FBgZmJcZDIZC/4gGg/35yvlfFdnFBf4r+lgu5q/j8kVc5dFnafrI//kp6mcs//XiXnNHWdop7bGeil24LhDPuT+Pqbxiy7Mplu22MWejlW1HIwH7x861ozVubG9iYIKRiGDPXNe8MSa5jrnPnf4kkS0jf1y7JERFIT8/QojinDin82OijZ+3WDmTYd9m0BQ9mhgZ1sFEu7oGv5qkEL4hiWwpWSwWDAYDx48fJyYmBovFUmF/oPy1TFVZ+eu4fBGXL8pvXW7f3NxcUlJSMBgMjietCSGubLpSrD+gMy/Ryup9Ovn3ZlWNgMFtjHSpdYZm9fxvqYXwHUlkS8lgMFCvXj2SkpI4fvy4r8Mpk/y7EvOXSwQKfx2XL+Iqjz5L00doaCi1a9eWX0pCXOHOZSp+2Wrlx0Qbx84UVBZoX89eOqt7YwMGTZGc7F8VaITvSSJbBhaLhdq1a2O1Wh13a1dE+XeNR0dHB1RC4a/j8kVc5dGnu30YjUa/my0XQpQfpRS7jivmbrTyx04buRd+jYYHwcAEIze2N1GnasG1pKTSWeLKJYlsGWmahtls9ts7412h6zpms5ng4GC/SvjKyl/H5Yu4yqNPfz3fQgj/kpWrWLzTxtyNVvaeKEhOG1fTGNbBRN8WRkIs8geucI3biezRo0fRNI2aNWsCsH79er7++muaN2/ueCa8EEIIIcTFDp+yr339bauN8zn2bRYj9G1h5MYOJprXqPhVgET5czuRvf3223nwwQe56667OHHiBNdeey0tWrTgyy+/5MSJE7z44oveiFMIIYQQFYzVpli5V2fuRiuJhwqqlMRX1hjS3sigBBNRoZK8itJzO5HdsWMHnTp1AuC7776jZcuWrFq1ioULFzJq1ChJZIUQQogrXEqaYv5mK/M3WUk9b99m0OCqRgaGdjDRsb4Bg8y+Cg9wO5HNy8sjKCgIgMWLF3PDDTcA0LRpU5KSkjwbnRBCCCEqBKUUiYd05m20smKPju3C8tfKYTC4rYkb2hmpFiXr54VnuZ3ItmjRgn/9618MGjSIRYsWMXnyZACOHz9OdHS0xwMUQgghhP9Kz1b8ttXGvEQrR1ILbt5qU9vAje2N9GpmxGyU2VfhHW4nsm+88QZDhw5l6tSp3H333SQkJAAwf/58x5IDIYQQQgS2v04ZmLU+j8U7dXKs9m2hFujf2sjQ9ibqx8rsq/A+txPZ3r17c+rUKdLS0qhcubJj+4MPPkhoaKhHgxNCCCGE/8jJU/yxy146a9fxCMB+A1eDWI2hHUz0a2kkNEhmX0X5cTuRzcrKQinlSGIPHz7M3LlzadasGf379/d4gEIIIYTwrWOndeZtsvHLFitpWfZtJoOidzMjQzuYaF3Lv56gKK4cbieyQ4YMYdiwYYwaNYqzZ8/SuXNnzGYzp06dYtq0aTz88MPeiFMIIYQQ5cimK9bs05mTaGX9gYLSWdWiNG5oa6BzzTM0qhMjD0AJcEq3YTu5EpV1Ai2kGoa4bmgGo6/DcnA7kd20aRPvvPMOAN9//z1xcXFs3ryZH374gRdffFESWSGEEKICO31e8dNmKz9uspGcZr95SwM6NzQwtL2JLg0NaCiSk+WRsYHOdGIBOctehczjjm1aaDzmzm9iqjvEh5EVcDuRzczMJCIiAoCFCxcybNgwDAYDXbp04fDhwx4PUAghhBDepZRi6xGduYk2lu22Yb0wARsVAoPamBjS3kh85YKZV12XJDbQ2Q7PJ2TzI4Dzv7XKPE7ukjuhz5d+kcy6ncg2bNiQefPmMXToUBYsWMDYsWMBSE5OJjIy0uMBCiGEEMI7MnIUC7bbb946mFKQsLSsaS+d1ae5kSCTrH290ijdRt76p7k0ib3wKqCRt/4ZjLWv9/kyA7cT2RdffJHbb7+dsWPH0rdvX7p27QrYZ2fbtm3r8QCFEEII4Vn7T+rMS7SyYLuNrFz7tmAzXNvSXjqrcXVZ93ol00+ugszjFP8njEJl/I1+chXG6j3LMbLC3E5kb775Zrp3705SUpKjhixA3759GTp0qEeD8xe6rqPr+uV3rKB0XUcpFXBj9Ndx+SKu8ujT0314qr2ytFPaY/31vRfIAvGce3pMuVbF8j068xJtbDtaMNNWO1pjaHsj/VoZiAjWHH2XZ2yu8Haf3mi/ol7H9AzXntSqZySheeHfw51Y3U5kAapVq0a1atWctgXSwxCmT5/O9OnTsdlsAKSkpJCdne3jqLxH13XOnTuHUiqg7j7113H5Iq7y6NPTfXiqvbK0U9pj/fW9F8gC8Zx7akwp6RoL/7Tw+58W0rLt7Rg1Rce6VgY0z6FFdRuaBllp9q/yjM0d3u7TG+1X1OuY+eReQlzY72xOELbkZLficUV6errL+5Yqkd2wYQP/93//x5EjR8jNzXV6bc6cOaVp0q+MHj2a0aNHk5aWRlRUFDExMQG9/lfXdTRNIyYmsMqo+Ou4fBFXefTp6T481V5Z2intsf763gtkgXjOy/TeVYr1B3TmJeqs2a87VjpWDYcb2hm5vo2RqhHBQHi5x1Za3u7TG+1XtOuYykvHuvF5bHtn2b+HYpYXaBBagypNBnlljWxwcLDL+7qdyH7zzTeMGDGCfv36sWjRIvr168e+ffs4ceJEwC4tMBgMAXNhLI6maQE5Tn8dly/iKo8+Pd2Hp9orSzulPdZf33uBLBDPubtjOpup+HWLlXmbbBw/U7B8oEM9A0M7mOjW2IDJ4JmbtwLxOuaN9ivKdcx2fAm5q0ajzh8BwBB/LbZjiy+8evFNX/b3j6XzmxhNZrdjcYU7Y3Q7kX3ttdd45513GD16NBEREbz33nvUq1ePhx56iOrVq7vbnBBCCCHKQCnFzmOKuRutLNllI9e+Ko7wYLguwciN7UzUrho4yb3wLJV3nryNL2D98xMAtPA6WLrPRIvrzult/yF0zyV1ZMPiMXd6wy9Kb0EpEtkDBw4waNAgAIKCgsjIyEDTNMaOHcvVV1/NxIkTPR6kEEIIIZxl5SoW7bCXztp3smDGrEl1jaEdTFzTwkiwWUpnieLZTqwgd8XDqPOHADA1vR9zh1fQzOHouo61Wn+CWt4OKWsC58leVapUcSzCjY+PZ8eOHbRq1YqzZ8+SmZnp8QCFEEIIUeBQir101m/bbGTk2LdZTHBNCyNDO5hoVkNmX0XJVF4GeYkvYd39LwC0sFpYus/AWKNPoX01gxGDj0tslcTtRLZHjx4sWrSIVq1aceutt/L444/zxx9/sGjRIvr27euNGIUQQogrmtWmWLFHZ26ilU2HCkoT1ayicWN7I9clmIgMkdlXcXm2k6vJXTEKlf4XAMbG92Dp+BqapWLe1O52Ivvhhx86SlE9++yzmM1mVq5cybBhw3jhhRc8HqAQQghxpUo9r/Hzbis/bbGRet6+zaBBt0b2m7c61Ddg0CSBFZenrFnkbpmMded0QKGFxmPpPh1j/DW+Dq1MSrW0IJ/BYODpp5/m6aef9mhQQgghxJVKV4rEgzpzNlpZtTcCXdnv3qoSBoPbmrihnZG4KFk+IFxnPLOJ3FXPodL2279vNAJLpyloligfR1Z2paoja7PZmDt3Lrt370bTNJo1a8aQIUMwmUrVnBBCCHHFS8tS/LbVxrxEK0dP59+8pdGmtv3mrZ5NjZiNMvsqXKes2eRtmkzozg9Q6Gih1bFc9SHGWv19HZrHuJ157tixgyFDhnDixAmaNGkCwN69e4mJiWH+/Pm0atXK40EKIYQQgerPJJ25G60s3mEjx2rfFmqBAa0N9KhzjvZNqwZUbVxRPmwpG8ld8RDq3B40wNDgNoI6v4kWVNnXoXmU24ns/fffT4sWLdi4cSOVK9tPxpkzZ7jnnnt48MEHWbNmjceDFEIIIQJJTp7i91320lm7jxeUzmoQa5997dfKSLBJkZzs+efYi8CmbDnkbZmCdfs0UDoEx5LZfBJVWt2OFoB/ELmdyG7dutUpiQWoXLkyr776Kh07dvRocEIIIUQgOZqqM2+TjV+3WEm33zeN2Qh9mhkZ2sFIy5oGtAs3b+m6KqElIQrTT20mZ8VDqLO7ADDWvxVTxzdIS7P5ODLvcTuRbdKkCSdPnqRFixZO25OTk2nYsKHHAhNCCCEqApuu2HpEJ/W8IjpcI6G2AeNFj4G16orVe+21X9f/VTDDWr2SxpB2Rga1MVE5TNa+itJTtlzytr6BddtboGwQXBVL1/cw1R2CruuQluzrEL2mVI+ofeyxx3j55Zfp0qULAGvXrmXSpEm88cYbpKWlOfaNjKyYNcmEEEIIVyzbbePdBbmkpBdsi4mAMf0ttKxl4KfNVuZvspGcZp9d1YAuDe2lszo3cE54hSgNPXUbOSseRJ3ZAYCx7lAsXaehBcf4OLLy4XYie/311wNw6623Oj7+UMr+Azp48GDH95qmYbMF7lS2EEKIK9uy3TYmfJ9baHtKOkz4PheDBvmrAyqFwqA2Joa0M1KjcuCtUxTlT+l5WLe9Rd6WN0BZIagKlq7vYKp3k69DK1duJ7JLlizxRhxCCCFEhWHTFe8uKJzEXkxX0DJeY1hHE72bGbGYZPZVeIZ+eod9LezprQAYaw/GctW7aCFxPo6s/LmdyPbq1csbcQghhBAVxtYjutNyguI8eLWZdnWN3g9IXBGUbiVv+3vkbXkN9DywVMbS9W2M9W5xfEp+pZEnGAghhBBuSD2vmL/J6vK+QniCIX0fueufQ6VuBsBY6zosV72PFlrNx5H5liSyQgghxGVYdcX6Azo/bbayeq+OzcX8NDr8ypwlE56jdBvWHe8RtmkySuWBpRKWzlMxNvjHFTsLezFJZIUQQohiHDuj88sWG79utXLqoqUEzWvA0dM4asEWJTYSEmrLjV2i9PRze8ldMQo9Zb396Vzx/bB0+xBDWA1fh+Y3JJEVQgghLpJjVSzbbeOXLTYSDxXUfa0UCv1b2eu+1o81FFu1IN/j/SxSXkuUitJtWHfNIG/TRLBlgzmSrKbPUantwxiMsub6YpLICiGEEMC+Ezo/b7GycLvNMdOqAR0bGLi+jYnujQ1OlQd6NTPy6s2WQnVkYyPtSWyvZpJwCPfp5/aTu/Jh9OQ1ABhq9MV81QekZVhkKUERXEpk27Zt6/LJ27RpU5kCEkIIIcrL+WzF4p02ft5s5c+kgoWvcVEagxKMXJdgpFql4pcH9GpmpHuT4BKf7CWEK5TSse6aSV7iy2DLAlM4lk5TMDa+x16vPyNwn85VFi4lsjfeeKPj/7Ozs5kxYwbNmzena9eugP3JXjt37uSf//ynV4IUQgghPEUpxbajOj9ttrFkl42cCwUITAbo0cTI4LZG2tdzPRk1GjQpsSXKRE/7yz4Le3IVAIbqvbF0n4EhvDZQ8OApUZhLiexLL73k+P/777+fxx57jMmTJxfa5+jRo56NTgghhPCQ1POK/22z8vNmG0dPFyQGdatqDG5rol8rI5XDZCZVlB+ldKx/fkLexhfAmgmmMMwdX8XU5D5ZRuAit9fI/t///R8bN24stP3OO++kQ4cOfPbZZx4JTAghhCir4spmhZihbwsj17c10SJek6RBlDs9/bB9FvbEcgAM1Xpg6T4TQ0Rd3wZWwbidyIaEhLBy5UoaNWrktH3lypUEBwd7LDAhhBCitIorm9Ui3j77enVzI6FBkryK8qeUwrrnM/I2TADreTCFYm4/CVOzB9E0KdfmLrcT2TFjxvDwww+TmJhIly5dAPsa2c8++4wXX3zR4wEKIYQQrsi1wqIdNn7dmldi2SwhfEU/f5TcVaPRj/8BgCGuK5bu/8IQ2cDHkVVcbiey48ePp379+rz33nt8/fXXADRr1ozZs2dz6623ejxAIYQQoiT7Tuj8tDmPhdsjOH/hzq2SymYJUd6UUlj3fk7u+vGQlw7GYMztJ2JqNgrNIDcKloVbiazVauXVV19l5MiRFSZp/fnnn3niiSfQdZ1nnnmG+++/39chCSGEKKOiy2YZiIuEQW1Mly2bJUR50bKSyPt9FPqxxQAYYjpj6TETQ1RjH0cWGNxKZE0mE1OnTuXuu+/2VjweZbVaGTduHEuWLCEyMpJ27doxbNgwqlSp4uvQhBBCuKnkslkGutVNp2+byphNMsMlfE8phW3/V4Svexrdmg7GIMxtX8TU4hGZhfUgt5cWXHPNNSxdupR77rnHC+F41vr162nRogXx8fEAXHfddSxYsIDbbrvNx5EJIYRwlStls6JCFMnJVnkQgfALemYSuasfQz/6GxqgVW1PUI+PMFRq6uvQAo7biezAgQN59tln2bFjB+3btycsLMzp9RtuuMFjwS1fvpypU6eSmJhIUlISc+fOdXo4A8CMGTOYOnUqSUlJtGjRgnfffZcePXoAcPz4cUcSC1CzZk2OHTvmsfiEEEJ4h7tls3RdCsYL31NKYfvrO3LXPgm5Z8BgIbvhY0R1fg6DyeLr8AKS24nsww8/DMC0adMKvaZpGjabrexRXZCRkUFCQgL33nsvN910U6HXv/32W8aMGcOMGTPo1q0bH330EQMHDmTXrl3Url27yCdhSK1AIYTwX1I2S1RUKuskuasfx3bkZwAM0W0xdZtJWl5VNIPb6ZZwkdtnVtf1y+/kIQMHDmTgwIHFvj5t2jTuu+8+xw1c7777LgsWLGDmzJlMmTKF+Ph4pxnYv//+m86dOxfbXk5ODjk5OY7v09LSAPuYy3Pc5U3XdZRSATdGfx2XL+Iqjz493Yen2itLO6U91l/fe/4qx6pY/qfOL1ttbDpUMAERFQr9WxoZ1MZAvZj8G7dUkbOvgXjO/XlMgXgdK237Sin0Q3PIW/cE5JwGgxlT62cwthqLwohKSZHrmJvc6bPC/omQm5tLYmIi48ePd9rer18/Vq9eDUCnTp3YsWMHx44dIzIykl9//bXEWrdTpkxh4sSJhbanpKSQnZ3t2QH4EV3XOXfuHEopDIbAucvXX8fli7jKo09P9+Gp9srSTmmP9df3nr85lGrg9z8trDhg5nyO/TxpKBJqWrm6SS4d61gxGwEFyckltxWI59yfxxSI17HStK/lpBK86yXMJ/4HgC2iGVmt30SPbAanzsh1rJTS09Mvv9MFpUpkMzIyWLZsGUeOHCE3N9fptccee6w0Tbrt1KlT2Gw24uLinLbHxcVx4sQJwF5l4e2336ZPnz7ous7TTz9NdHR0sW0+++yzjBs3zvF9WloatWrVIiYmhsjISO8MxA/ouo6macTExPjdxbIs/HVcvoirPPr0dB+eaq8s7ZT2WH997/mD89mK33faZ18LymZBXCRcl2BkYIKRalHuPyUyEM+5P48pEK9j7rZvO/wjeWvHQvYp0EwYWz9JUKsnCTMWrIWV61jpuPOkWLcT2c2bN3PdddeRmZlJRkYGVapU4dSpU4SGhhIbG1tuiWy+S9e8KqWctt1www0u34AWFBREUFBQoe0Gg8HvLiKepmlaQI7TX8fli7jKo09P9+Gp9srSTmmP9df3ni+UXDbLyOC2RtrXM5S54kAgnnN/HlMgXsdcaV9lp5K79glsB7+3H1O5BUHdP8JQtU2p2/RUbJ4+1lfvP3f6czuRHTt2LIMHD2bmzJlUqlSJtWvXYjabufPOO3n88cfdba7UqlatitFodMy+5ktOTi40SyuEEKL8uVI2q3KY3LglKg7r4Z/JXfMYZCWDZsTUahzmNuPRjIUnwUT5cDuR3bJlCx999BFGoxGj0UhOTg7169fnzTff5O6772bYsGHeiLMQi8VC+/btWbRoEUOHDnVsX7RoEUOGDCmXGIQQQjhzt2yWEBWByjlN7rqnsR34BgCtUlMs3T/CGNPex5EJtxNZs9nsuADFxcVx5MgRmjVrRlRUFEeOHPFocOfPn2f//v2O7w8ePMiWLVuoUqUKtWvXZty4cdx111106NCBrl278vHHH3PkyBFGjRrl0TikakHF5K/jCsS7fb3Rh1QtqFiOn1H8stXGb1ttnDpfsL1FvMagNkaubmZwlM1SShVZHrEsAvGc+/OYAvE6Vlz7tqO/kbfmccg6AZoBY4vHMbV5Fs0YfNlY5DpWOl6tWtC2bVs2btxI48aN6dOnDy+++CKnTp3iP//5D61atXK3uRJt3LiRPn36OL7PvxHr7rvvZvbs2QwfPpzU1FQmTZpEUlISLVu25Ndff6VOnTpl6nf69OlMnz7dURNXqhZUTP46rkC829cbfcjdvv4v1wrrDpn5fY+FHccLfp1EBuv0apTH1U1yqVXZ/gvp/Dk4X1xDHhCI59yfxxSI17FC7eelEbz7FSzH5gBgC6tPdus3sVVqA6lpQFq5xXylXcfcqVqgKTf/LN64cSPp6en06dOHlJQU7r77blauXEnDhg2ZNWsWCQkJbgfsr9LS0oiKiuLMmTMBX7UgJSXFL++MLQt/HZcv4iqPPj3dh6faK0s7pT3WX997nrL/pM7PW2ws2qGTfuFvfA3oWN8++9qtkQGLqXyXDgTiOffnMQXidezi9tXxxeSteQwyjwMaxhaPYmozAc0U4pOYr7TrWFpaGpUrV+bcuXOXzb/cnpHt0KGD4/9jYmL49ddf3Y+wgvHXO0Y9yZ/vjC0Lfx1XIN7t640+5G5f/3E+W7F4p42fN1udy2ZFaQxKMHJdgpFqlXw71kA75+DfYwrE65hmPY9t7WRs+76wfx/ZEEv3mRjjupa+TbmOuc2rVQs++eQTevfuTaNGjdw9VAghRAVSXmWzhPAHtuN/EL7yYWzZSYCGqfk/Mbd/Cc0U6uvQRAncTmTffvttRo0aRVxcHL169aJ379706tWLpk2beiM+IYQQ5UzKZokricpLJ2/DBKx7PsMAaOF1sfT4F8Zq3X0dmnCB24nsn3/+yYkTJ1iyZAnLli3jnXfe4Z///CcxMTH07t2bb775xhtx+pRULaiY/HVcgXi3rzf6kLt9y5dVV2w4oPPzFp3V+5zLZl3d3MD1bY00r5FfNkuh656tOlBWFfGcX44/jylQrmO2pGXkrRoNGfaqSzm17yL8qtfRgiI80o9cx0rHq1ULAKpVq8Ztt93GDTfcwMqVK/nmm2/48ssv+f7770vTnN+RqgWBwV/HFYh3+3qjD7nbt3ycTNP4Y4+FJXstnM4siLVxrJW+TXK5qn4eIReeuJmS4qMgXVCRzrmr/HlMFf46Zs0geM9ULEe+tLcdUpPMFq+RampG1JkMDIYsD0Qs17HScqdqgduJ7G+//cayZctYunQpW7dupUWLFvTs2ZMffviBHj16uNucXxo9ejSjR492VC2IiYkJ+KoF/vo877Lw13H5Iq7y6NPTfXiqvbK0U9pj/fW9ly/Hqlj+p84vW21sOlQwsxoVCv1bGbk+wUDdmCAgzHdBusnfz3lp+POYKvJ1TD+xirw1D6POHwLA2Pg+gjpMItgYhs3Dd+nLdax0goODXd7X7UR20KBBxMTE8MQTT7BgwQKioqLcbaLC8dc7Rj3Jn++MLQt/HVcg3u3rjT7kbl/P2ndC5+ctVhZutzmXzWpg4Po2Jro3Lv+yWZ7kj+e8rPx5TBXtOqasmeQlvox110xAoYXVxNJtBsb4q4GCxM3TY5LrmPu8WrVg2rRpLF++nKlTpzJt2jTHDV+9e/emWbNm7jYnhBDCiypC2SwhvM12cg25Kx9GpdmfFmpsfA+Wjq+hWQL309YrhduJ7JgxYxgzZgwA27dvZ9myZSxevJjHH3+c6OhokpKSPB2jEEIIN0jZLCHslDWLvE2Tse78AFBooTWwdJuOsea1vg5NeEipbvYC2Lx5M0uXLmXJkiWsWLECXdepWbOmJ2MTQgjhBimbJUQBW/J6clc+hDq3DwBjwzuxdHodLaiSbwMTHuV2IptfqSAtLY02bdrQu3dvHnzwQXr27BmwN0RJ+a2KyV/HFShla7zdh5StcU1FL5vlKf76814W/jwmf76OKVs21i1TsO18D5QOIdUwd30PY62BKEAVc7w3xiTXsdLxavmtxo0bB3ziKuW3AoO/jqvCl60ppz6kbE3JAqVslqf46897WfjzmPz1OmY4u42Q7U9jPG9fC5tbYwjZzV4ASyVITi5z+96I2dvt+PN1rDheK7+Vl5dHYmIiDz74YMAmsSDltwKFv46rIpetKc8+pGxNYYFYNstT/PXnvSz8eUz+dh1TthysW9/AtuMdUDYIjsHc9T2Ca1+Pq7+9vTEmuY6VjtfKb5nNZnbs2HHhI6orh7+WPvEkfy7xUhb+Oq6KVrbGV31I2Rq7QC+b5Sn++vNeFv48Jn+5jumnttjXwp7ZCYCx3s1YuryFFlzVI+17I+bybscfrmPu8Gr5rREjRvDvf/+b119/3d1DhRBCuEjKZglRMmXLJW/bVKxbp4KyQnBVLF3fxVT3Rl+HJsqR24lsbm4un376KYsWLaJDhw6EhTl/hDVt2jSPBSeEEFcSKZslhGv009vJWfEQ6vQ2AIx1b8TS9R204BgfRybKm9uJ7I4dO2jXrh0Ae/fudXrtSltyIIQQniBls4RwkZ6HdeubWLe9AXoeBFXB0vUdTPVu8nVkwkfcTmSXLFnijTiEEOKKYtUV6w/o/LTZyuq9zmWz+rYwcn1bEy3iNZkgEOIC/cwuwtbcjzVtBwDG2tdjueo9tJA4H0cmfKnUD0QA+Pvvv9E0jfj4eE/F45ekjmzF5K/j8uf6i/7UR6DWXzx+RvHLVhu/bbVx6nzB9hbxGoPaGLm6mYHQIHvyqpRCqcCs++pp/vrzXhb+PKbyjE3pVmw738O6ZQpGPRcslTB3fgtDvVtQmlZsXVh3SR1Zz/VZVl6tI6vrOq+88gpvv/0258/br8IRERE88cQTTJgwwS/vrHSX1JENDP46Ln+tv+hvfQRS/cVcK6w7ZOb3PRZ2HC+47EYG6/RqlMfVTXKpVdl+4T5/Ds4X17Aolr/+vJeFP4+pvGIznN9PyLanMZ6zr4XNrNSdvDavo4VU83iBZKkj67k+y8prdWQBJkyY4Kha0K1bN5RSrFq1ipdffpns7GxeffVVd5v0O1JHNjD467j8rf6iv/YRCPUXz+lV+XWzzqIdunPZrPr22ddujQxYTCFuxSSK5q8/72Xhz2PydmxKt2Hb9SHWza+AngPmKIwdXycvoi8xsbFe6VPqyHquz7LyWh1ZgM8//5xPP/2UG264wbEtISGB+Ph4/vnPfwZEInspf63h50n+XKuwLPx1XP5Sf9Hf+6iI9RfPZysWbVfM2xjOgVNWx3Ypm+V9/vrzXhb+PCZvxaaf20veiofRU9YBYIjvh6XbhxBSDS052avnQ+rIeq7PsvBqHdnTp0/TtGnTQtubNm3K6dOn3W1OCCEqvKLLZpmkbJYQblC6DevumeQlvgy2bDBHYun0OsZGd6Fpml+uFRa+53Yim5CQwIcffsj777/vtP3DDz8kISHBY4EJIYS/K6lsVq+GmdzUJYoqEUYfRihExaCnHSB35Sj0k2sAMNS4Gku36RjCa/k4MuHv3E5k33zzTQYNGsTixYvp2rUrmqaxevVqjh49yq+//uqNGIUQwm+4UjarWXVFSkoulaT2qxAlUkrHuvsj8ja+CLYsMIVj6fQaxsb3Suk54RK3E9levXqxd+9epk+fzp9//olSimHDhvHPf/6TGjVqeCNGIYTwuWNndH7ZYuPXrVZOXXRDbcuaBq5vY+Tq5kZH2Sz5CFSIy9PTD5K78mH0EysBMFTvhaXbDAwRdXwcmahIXEpkhw0bxuzZs4mMjOSLL75g+PDhAXlTlxBCXCzHqlix38yKRblsOlSwdKBSKPRvbeL6NkbqxfjfTThC+DOldKx7/k3ehufBmgGmUMwdXsHU9H40TX6ehHtcSmR//vlnMjIyiIyM5N5772XAgAHExsZ6Oza/IQ9EqJj8dVzyQITyba807ew/qfPzFtuFslmhgCqibFbxs6/++t4LZIF4zv15TKWNTZ0/Qt7qR9CTlgKgxXXD3G0Ghoh6KGVPcj3dp6vkgQie67OsPP5AhKZNm/Lss8/Sp08flFJ89913xdZVHTFihMud+yt5IEJg8NdxyQMRyrc9V9vJyIWV+y38scfMgVMFl8YqoVb6Nsnj6iZ5xETYZ2XPXqZAi7++9wJZIJ5zfx6T27EphfnvbwnePQXNloEyBJPT5Cly69wFWQbISvZ8n26SByJ4rs+ycueBCJpy4fmHq1evZty4cRw4cIDTp08TERFR5CJsTdMCqgRX/gMRzpw5E/APREhJSfHLottl4a/j8kVc5dGnp/vwVHsltWMvm6X4eYuNpbv1C2WzuFA2y8B1rTVqhaVSLc79QuL++N4LZIF4zv15TO7EpjL+ts/CHv8DAC22i30WNrKh1/osDW+0Xx7XMW8d68v3X1paGpUrV+bcuXOXzb9cmpG96qqrWLt2LWAvUrt3794rammBvxaj9iR/LrpdFv46LnkgQvm2d2k7JZXNGtzWRL9WRiqH2etWJidXrELiV7JAPOf+PKbLxaaUwrb/S3LXPQN5aWAMxtzuJUzN/4lmKF1ZOm+fD3kgguf6LAuvPhDh4MGDxMTEuHuYEEL4lFVXbDxgK7FsVot4TUr+COEBesZxclc/iv73AgAMMZ2w9PgXhqjGPo5MBBq3E9k6daQshhCi4jh+RvF/G4JYtj+XU+cLthdVNksIUTZKKWwHviF33VOQexaMQZjbvoCpxaOlnoUVoiRuJ7JCCOHvcqyKZbtt/LLFRuIhHQgGpGyWEN6kMk+Su/oxbEd/AcBQtb19FrZSMx9HJgKZJLJCiICx74TOz1usLNxuI/1CoRENSKiZx9BOIfRoYnKUzRJCeIZSCtvB/yN37ZOQcxoMZsxtJ2BqOQbNIGmG8C633mFKKY4cOUJsbCwhISHeikkIIVx2PluxeKeNnzdb+TOp4MatuCiNQQlGBrQ2YMg5R2xsOAaDJLFCeJLKSiFv3Vhsh+cDoEW3Iaj7vzBUaenjyMSVwu1EtlGjRuzcuZNGjRp5KyYhhCiRvWyWzk+bbSzZZbukbJaRwW2NtK9nwGjIrzzg23iFCESmpF/I+WMS5KSCZsLcZjym1k+gGcy+Dk1cQdxKZA0GA40aNSI1NVUSWSFEuXO1bJYQwntUdgq5q8cRenguAFqVVgR1/whDdGsfRyauRG4vXnnzzTd56qmnmDlzJi1bykcHQgjvkrJZQvgP66EfyV3zOGSfQmlGTK2fxJLwDJrR4uvQxBXK7UT2zjvvJDMzk4SEBCwWS6G1soH0ZK98uq775bOuPcWfn+ddFv46Ll/EVR59erqPv1NtfL8hiOWXlM1qEa8xqI2Rq5sZHGWzlFIU95DCK+0Z5VeqQDzn/jQmlZ1K3vqn0A9+D4BWqTnpzV4lumEflGZAlUOM3j4f3mjfU21eadcxd/p0O5F999133T2kwpk+fTrTp0/HZrMBkJKSQnZ2to+j8h5/fp53WfjruHwRV3n0WVIfNh12nzByNtNApVCdZtVsGIsII9cK6w6Z+X2PhR3HTeSXzYoM1unVKI+rm+RSq7L9Anf+HJwv3IRbcXnrWH997wWyQDzn/jIm08nFBO94HkPuKRQGchs8RFb90ZxLz8KWnBww1zFvtO+pNq+061h6errL+7qdyN59993uHlLhjB49mtGjR5OWlkZUVBQxMTGXfdZvRabrOpqm+eXzvMvCX8fli7jKo8/i+lj2p433F1pJuei6FBMBj/Uz0aupvUD6/pM6P2+xsWiH7lQ2q3XNPIZ2CKZ7EwsWU+kqpZRl7KU91l/fe4EsEM+5r8ekcs6Qt/4Z9L++AUCLaoKl+78IqdqeCF1HM6YE1HXMG+17qs0r7ToWHBzs8r6lKvB24MABZs2axYEDB3jvvfeIjY3lf//7H7Vq1aJFixaladKv+etzrj3Jn5/nXRb+Oi5fxFUefV7ax7LdNl74wVpov5R0eOEHKze0U+xN0l0omyXPKBeXF4jn3Fdjsh39H7mrH0VlJoFmwNTiccxtJ6CZChKMQLyOeaN9T7V5JV3H3OnP7ciWLVtGq1atWLduHXPmzOH8efuHe9u2beOll15ytzkhRICy6Yp3F+SWuM/8TTb+TFKYDNCnmZFpt1v47pEgRvYyUy1Kbt4Soryp3HPkrHyYnMU3ozKT0CIbEXTdIiwdJzslsUL4C7dnZMePH88rr7zCuHHjiIiIcGzv06cP7733nkeDE0JUXFuP6E7LCYoztL2Rkb3MUjZLCB+zHVtM7srRqMxjgIapxSOY272IVsplPUKUB7cT2e3bt/P1118X2h4TE0NqaqpHghJCVGw2XbH5sM2lfVvXNkgSK4QPqdw0cjc8h23vbAC0iAZYeszEGHeVbwMTwgVuJ7KVKlUiKSmJevXqOW3fvHkz8fHxHgtMCFGx5FgVm46Y2LYhj1X7dM5kuHZcdLgksUL4iu34EnJX/hOVcRQAU7OHMbd/Gc0c5uPIhHCN24ns7bffzjPPPMP//d//oWn2xz+uWrWKJ598khEjRngjRiGEnzqfrViz38byP3XWHrCRlRsG2MtjhQWBVYecvOKPj42EhNqBc2OOEBWFyjtP3sbnsf75KQBaRD0s3WdgrNbDx5EJ4R63E9lXX32Ve+65h/j4eJRSNG/eHJvNxu23387zzz/vjRiFEH7kVLpixR4bK/bY2HRIx3pR3eoqYTq9mpro2dRE2zoGVu3VmfB98Td8Pd7PgtEgM7JClCdb0nJyVz6MOn8YAFPTBzF3mIRmDvdxZEK4z+1E1mw289VXXzFp0iQ2b96Mruu0bduWRo0aeSM+IYQfOHxKZ/mF5HXXMecnaNWtqtGjiZHujTWqGE8RFxfrKJ3Sq5mRV2+28O6CXKcbv2Ij7Ulsr2bG8hyGEFc0lZdBXuJLWHf/CwAtvDaWbjMw1ujt28CEKINS1ZEFaNCgAfXr1weQZ5wLEWB0pdh9XLHiT3vyejjVOXltWdNAjyYGejQxUjvanrTquk5ycuG2ejUz0r1JMFuP6KSeV0SHayTUNshMrBDlyHZilX0WNv0vAExNRmLu+CqaOeIyRwrh30qVyP773//mnXfeYd++fQA0atSIMWPGcP/993s0OCFE+cmzKTYfss+8rtxr49RFM6gmA7SvZ7gw82qkaoR7SajRoNGursy+ClHelDWTvE2TsO6cDii0sJpYuk3HGN/X16EJ4RFuJ7IvvPAC77zzDo8++ihdu3YFYM2aNYwdO5ZDhw7xyiuveDxIIYR3ZOYo1h7QWbHHxpp9Ns7nFLwWaoGuDY30aGKgS0Mj4cEygypERWJLXkfuilGoNPukk7HR3Vg6vYZmifJxZEJ4jtuJ7MyZM/nkk0+47bbbHNtuuOEGWrduzaOPPiqJrBB+7kyGYuVe+5KBjX/p5F5U7rVKGHRvYqRHEyPt6xqwmCR5FaKiUdZs8ja/gnXn+6B0tNDq9lnYmv18HZoQHud2Imuz2ejQoUOh7e3bt8dqLfxM9UCg6zq6rl9+xwpK13WUUgE3Rn8dly/iOppqY8FWC5uP57Ljb8XFK17jK2v0bGJf89o8XsPgWPOu0HVVVHNF8vS4PNVeWdop7bH++t4LZIF4zkszJj1lI3mrRqHO7QXA0OB2zB2noAVV9ui58cX59naf3mhfrmOl406fbieyd955JzNnzmTatGlO2z/++GPuuOMOd5vzS9OnT2f69OnYbPapqpSUFLKzs30clffous65c+dQSjnuNg8E/jqu8ohLKTiYamD9ITPrD5s5ctoIhMCFFLZBVSud6lrpVDePmpV08nPXUyml79PT4/JUe2Vpp7TH+ut7L5AF4jl3a0y2HIL2f4Dlr4/R0NGDYshu8QrWuL5wLg8o4k7M8oqtgvTpjfblOlY66ekuPN/8glLf7LVw4UK6dOkCwNq1azl69CgjRoxg3Lhxjv0uTXYritGjRzN69GjS0tKIiooiJiaGyMhIX4flNbquo2kaMTExAfMLAPx3XN6Ky6orth1RrNirs3KPjZNpBa8ZNGhRPY8+LYLo0dREXGSQx/rN5+lxeaq9srRT2mP99b0XyALxnLs6Jv3UJvLWPIw6uxsAQ/1bCer0JqFBVXweW0Xq0xvty3WsdIKDg13e1+1EdseOHbRr1w6AAwcOABATE0NMTAw7duxw7BdIJbkMBkPAXBiLo2laQI7TX8flqbiy8xTrL9ystWqfjbSsgteCzdC5gb3SQJcGGtnp54iNDffqufD0+fZUe2Vpp7TH+ut7L5AF4jkvaUzKlkve1texbnsblA2CY7Bc9T6mOoN9HltF7dMb7ct1zH3u9Od2IrtkyRJ3DxFCeNC5TMXqfTaW77Gx/oBOzkVL06NCoFtjIz2bGulYz0CQ2f4Hpa7rZLv+SY0Qws/pqVvJWfEQ6ox9AslY72YsXd5CC67q48iEKF+lfiCCEKL8nDirs2KvfeZ162Ed20X3YFWvpNGjiYGeTYy0rGXAJA8aECJgKT0P69ap5G19E5QVgqKxXPUuprpDfR2aED4hiawQfkgpxV/JihV77DOve084Vw9oGGd/LGzPJkYaxmkBtZRHCFE0/fQO+yzs6a0AGOsMwdL1HbSQWB9HJoTvSCIrhJ+w6Yodf+us2GOfeT12piB5NWjQupaBnk2NdG9soEblwFkDKIQomdKt5G1/l7wtU0DPg6AqWLq8jbHezfJHrLjiSSIrhA/lWBWJB+2J68q9Ns5kFLxmMULH+vbk9apGRiqHyS8sIa40hvS95K6fgErdDICx9vVYur6HFhrn48iE8A+SyApRztKzFSv2m9m6Io91B3Sy8gpeCw+Gbo3sSwY6NjAQapHkVYgrkdKtWLe/R9jmV1AqDyyVsHR5C2P94TILK8RF3E5kP//8c6pWrcqgQYMAePrpp/n4449p3rw5//3vf6lTp47HgxSioktJsz8WdvkeG5sO6dj0UMD+5JLYSPvNWj2aGGlT24DJKL+khLiS6Wf3kLtyFHrKBjTAUHMAlm4fYAit7uvQhPA7bieyr732GjNnzgRgzZo1fPjhh7z77rv8/PPPjB07ljlz5ng8SCEqosOndJbvsbH8Txu7jzvfrFWzko0+LSz0amqiSXW5WUsIAUq3Yd01nbxNE8GWA+YosppOoFLbhzAYjb4OTwi/5HYie/ToURo2bAjAvHnzuPnmm3nwwQfp1q0bvXv39nR8QlQYulLsPq5Y/qeNFXtsHEktSF41oEVNAz2bGOjWSCPIdo7Y2NiAKtwuhCg9/dw+clc+jJ68FgBD/LWYu75PWoZZ/tAVogRuJ7Lh4eGkpqZSu3ZtFi5cyNixYwH748SysrIuc7QQgSXPpth8yD7zumKPjdTzBa+ZDNC+nv1mrW6NjFSNKHg4QbJnH3suhKiglNKx7ppJXuLLYMsCcwSWTq9jbDQCpRRkyMVCiJK4nchee+213H///bRt25a9e/c61sru3LmTunXrejo+IfxOZo5izX4bK/borNlvIyOn4LVQC3RtaKRnUwNdGhoJC5KZFCFE0fS0v+xrYU+uBsBQow+WbjMwhNcC7PWkhRAlczuRnT59Os8//zxHjx7lhx9+IDo6GoDExERuu+02jwcohD84fd5+s9aKPTY2HtTJsxW8Fh0O3Rsb6dHESLu6BiwmSV6FEMVTSsf65yfkbXwBrJlgCsPc8TVMTUbKMgIh3OR2IlupUiU+/PDDQtsnTpzokYCE8Bd/n85fMqCz46jOxXMjNato9Gxin3ltHm/AIL98hBAu0NMP29fCnlgOgKFaTyzdZ2CIqOvbwISooEpVRzY7O5tt27aRnJyMruuO7ZqmMXjwYI8FJ0R5Ukqx54RixYWbtf5Kcf5Yr1kN+2NhezQxUreqVBoQQrhOKYV1z2fkbZgA1vNgCsXcYTKmpg+gaXLTpxCl5XYi+7///Y+77rqL1NTUQq9pmobNZiviKCH8k1VXbD1sf7LW8j06yWkFyavRAG3r2Ou7dm9sIC5KftkIIdynnz9K7qp/oh9fAoAh7ios3f+FIbK+jyMTouJzO5F95JFHuPXWW3nxxReJi5NH5ImKJztPse6APXldvc9G2kXFNoLN0KWBPXnt2shIZIjMugohSqZ0G/rJVaisE2gh1TDEdUMzGFFKYdv3Bbnrx0NeOhhDMLd/GVPzh2UWVggPcTuRTU5OZty4cZLEigrlXKZi1T4bK/60sf4vnRxrwWuVQqHbhZu1OtYzEGSW5FUI4RrroR/JW/c0KvOYY5sWGo+pzXhsh+ejH1sEgCG2i30WNqqhr0IVIiC5ncjefPPNLF26lAYNGngjHiE8Jums4n87LGw5nsvWIwr9oiWv1Stp9LzwWNhWtQwYDZK8CiHcYz30I7lL7gSc19OrzGPkrX7U/o0xCHO7lzE1/yeaQZ7OJYSnuZ3Ifvjhh9xyyy2sWLGCVq1aYTabnV5/7LHHPBacv9B13emmtkCj6zpKqQo/RqUUfyUrVuzVWbFHZ99JBYSQ/0umUZxG98YGejQx0CD24pu1FLpefvUafXG+y6NPT/fhqfbK0k5pjw2Un6mKpLzPudJt5K57ikuTWCcGM+brl2Os1AwFqAB6HwXidcwb7ct1rHTc6dPtRPbrr79mwYIFhISEsHTpUqc7tzVNC4hEdvr06UyfPt1x41pKSgrZ2dk+jsp7dF3n3LlzKKUq3CNTbTrsOWlkw2Ez6w+ZOJleMOOhaYpG0Tl0baDTuZ6V2IiCXzgpKb6I1s4X57s8+vR0H55qryztlPbYivwzVVGV9zk3pq4lLPP4ZYLK42zSPmy50aXqw5/fR4F4HfNG+3IdK5309HSX93U7kX3++eeZNGkS48eP97sfLE8ZPXo0o0ePJi0tjaioKGJiYoiMjPR1WF6j6zqaphETE1Mh/k1zrIrEg/ZZ11X7dM5mFrxmMUHHevZZ1y4NIC/jnN+Nyxfnuzz69HQfnmqvLO2U9tiK9jMVCMrrnCtrJnrKBqxJ35Q0F+tQKSgHY2xsqfry5/dRIF7HvNG+XMdKJzg42OV93U5kc3NzGT58uN/9UHmTwWAI+PFqmubX40zPVqzZZ2P5Hhvr9utk5RW8FhEMVzUy0rOJkU4NDIRY7J8S6LpOcqZ/jssX57s8+vR0H55qryztlPZYf/+ZCkTeOOfKmomevA7biRXoJ1agp2wEPe/yB15gCKtepnj8+X0UiNcxb7Qv1zH3udOf24ns3Xffzbfffstzzz3n7qFCuCUlTbHiwmNhNx3SsV20ZCY2UqNHEwM9mxhJqG3AZJSbtYQQZedK4qqF1kCr1h3974WQe46i18lqaGHxGOK6lUvcQlyp3E5kbTYbb775JgsWLKB169aFbvaaNm2ax4ITV55DKfkPJ7Cx+7jzL4d6MfYna/VsaqRJNXmylhCi7ByJa9Jy9BMr0U8VnbgaqvfEWK0Hhmo90CLqoWnaRVULNJyTWfu1ydzpDalUIISXuZ3Ibt++nbZt2wKwY8cOp9cksRDu0pVi1zHFij32mdcjqQW/DDSgZU37etceTYzUiva/j9aEEBWLystAT1l/mcQ1/kLi2t0pcb2Uqe4Q6PNl4TqyYfGYO71hf10I4VVuJ7JLlizxRhziCpJnU2w6pLP8Txsr99pIPV/wmtkI7evlPxbWSHS4/HEkhCg9lZdxYanAcvQTqy6TuPbAUL0HWnhdlydmTHWHYKx9fZFP9hJCeJ/biawQpZGRo1i738byPTpr99vIyCl4LdQCXRsZ6dnEQJeGRsKCJHkVQpSOysvAdmrDhcR1pX2Nq7I67aOF1cRQrUepEteiaAYjxuo9yxq6EKIUJJEVXnP6vGLlXvt618SDOnm2gteiw6F7Y/t617Z1DFhMkrwKIdyXP+NqTVpO6NE/yDm3rZjEtSfG6hfWuIbXkaVwQgQISWSFR/19Wmf5Hhsr/tTZ8bfudPtDrSoaPZsa6dHESPN4DYP8IhFCuEnlnS+oKpC0Av1UoiNxzf+FJomrEFcOSWRFmSil2HNCseJP+8zrwRTnSgPNamj0bGJPXutUlUoDQgj3lJS45tPCaqFV60FGaGuiGl2HMbLom7OEEIFHElnhNqtNsfXIhZnXPTrJaQXJq9EAbesY6NnUfrNWbKT8MhFCuM6euK7FlnShjuupTUUmrheXwzJE1EHXdc4mJ2OIiJUkVogriCSywiVZuYr1B+zJ6+p9NtKzC14LMUPnBvbktUtDI5Eh8ktECOEalxLX8DoYqnV3SlyFEAIkkRUlOJupWHXhyVrr/9LJveh3S6VQ6NbY/ljYDvUMBJkleRVCXJ7KS0c/ufbCk7NWXlgqYHPax564XqgqUK27JK5CiGJJIiucJJ3VWbHHPvO67YiOftGS1+qV7Ddr9WxioGVNA0aDJK9CiJI5J675M66SuAohPEMS2SucUooDJ3V+2xTE5mO57DvpfLNW42r2x8L2aGKkQazcrCWEKJlriWtdDNUvSlzDa/soWiFERSeJ7BXIpiu2H9VZscf+gIKkswoIBhQGDRJqGy4krwaqV5LHwgohimdPXNcUrHFN3SyJqxCi3Egie4XIyVNsOGhPXlfttXE2s+A1iwkS4vO4plUI3ZqYqBQqs65CiKKp3DTnm7OKSlwj6l10c5YkrkII75FENoClZSnW7LPfrLXugE7WRY8Xjwi236zVo4mRDnUh/ew5YmPDMci6VyHERVRumn3GNf/mrGIT14tnXGv5KFohxJVGEtkAk5ymWLHHnrxuPqxj0wtei43U6NnEvmwgobYBk9GetOq6TrqP4hVC+BfnxDV/xlV32kcSVyGEv5BEtoJTSnHoVEHyuvu4881a9WMu3KzV1EiTanKzlhDCmco9V8SM66WJa3174lq9B4a47hjCa/ooWiGEcCaJrJ+w6fanZaWeV0SHayTULr68la4Uu47pLP/Tvub16OmC5FUDWtYy0KOJgR6NjdSKlpu1hBAFnBPXFeipWyRxFUJUWJLI+oFlu228uyCXlIs+34+JgDH9LfRqZgQg16rYdMieuK7cayP1fMG+ZiN0qGdfMtCtsZHocJl1FULYuZa4NnCuKhAW75tghRDCTZLI+tiy3TYmfJ9baHtKOkz4PpfhnY2cOg9r99vIyCl4PSwIuja0l8jq2tBIaJAkr0KI/MR1dUFVgdNbJXEVQgQsSWR9yKYr3l1QOIm92LfrCu4Ojg7H8XCCdnUNmI2SvApxpVM5Z9GT15ScuEY2dC6HJYmrECJASCLrQ1uP6E7LCYpzTQsDN3cy0zxewyA3awlxRVM5Z7GdXG1PWk+svEzi2vNC4lrDR9EKIYR3SSLrQ6nn1eV3wl7vtWVNuWlLiCvRxYmr7cQKVOpWwPnaIYmrEOJKJYmsD7l6U5bcvCXElcO1xLURxmrdMVTvgaFaDwyh1X0TrBBC+Jgksj6UUNtATAQlLi+IjbTvJ4QITCrnTEHimrQCdXobkrgKIYRrJJH1IaNBY0x/S5FVC/I93s9SbD1ZIUTF41LiGtXowo1Z9soCWmg13wQrhBB+7opIZIcOHcrSpUvp27cv33//va/DcdKrmZFXb7YUqiMbG2lPYvPryAohKiaVcxrbiYuWCpzejiSuQgjhGVdEIvvYY48xcuRIPv/8c1+HUqRezYx0bxLs8pO9hBD+S+Wcxpa0iqCDC8hZt6mYxLWxfamAJK5CCFEmV0Qi26dPH5YuXerrMEpkNGi0qyuzr0JUNPYZ11UXZlxXOhLXIArSV3vievGMa5wPIxZCiMDh80R2+fLlTJ06lcTERJKSkpg7dy433nij0z4zZsxg6tSpJCUl0aJFC95991169Ojhm4CFEFc058R1Ber0Doqacc2J7EBYvWsxVe8piasQQniJzxPZjIwMEhISuPfee7npppsKvf7tt98yZswYZsyYQbdu3fjoo48YOHAgu3btonbt2gC0b9+enJycQscuXLiQGjWknqIQogxyz2I7sh7ryZUlJK5NMF6oKGCM644KjuFccjKRsbFoBqk6IoQQ3uLzRHbgwIEMHDiw2NenTZvGfffdx/333w/Au+++y4IFC5g5cyZTpkwBIDEx0SOx5OTkOCXEaWlpAOi6jq7rxR1W4em6jlIq4Mbor+PyRVzl0aen+/BUe+62o7JT0U+uRj9pf+Rr5Jmd5F2yjxbVxP7ggWo9MMR1RwuJLTjeg7EL1wXiOffnMQXidcwb7fvqOuaJY335/nOnT58nsiXJzc0lMTGR8ePHO23v168fq1ev9nh/U6ZMYeLEiYW2p6SkkJ2d7fH+/IWu65w7dw6lFIYAmj3y13H5Iq7y6NPTfXiqvcu1o+WewXh6A8bT6zCdXocx/c9C+9jCGmKL7oy1SmdsVTqhgqoWvJgOpCd7JXbhukA85/48pkC8jnmj/fK6jnnjWF++/9LTSyiwfwm/TmRPnTqFzWYjLs55fVlcXBwnTpxwuZ3+/fuzadMmMjIyqFmzJnPnzqVjx46F9nv22WcZN26c4/u0tDRq1apFTEwMkZGRpR+In9N1HU3TiImJ8buLZVn467h8EVd59OnpPjzV3qXt2Gdc7Wtc9ZMrUWd2FjpGi2qKoVp3tLjunDY2oWrNZm7/AvDH914gC8Rz7s9jCsTrmDfa99Z1rDyO9eX7Lzg42OV9/TqRzadpzmWolFKFtpVkwYIFLu0XFBREUFBQoe0Gg8HvLiKepmlaQI7TX8fli7jKo09P9+GJ9lR2KuaTC7Ed2kZecYlrpWYXlcPqhhZi/+NZ13VITi5VDP763gtkgXjO/XlMgXgd80b7nmqzLO2U9lhfvf/c6c+vE9mqVatiNBoLzb4mJycXmqUVQggAlZ3iXA7rzE5CAdtF+9gT1x4YqvfAGNfNaY2rEEKIisOvE1mLxUL79u1ZtGgRQ4cOdWxftGgRQ4YM8WFkQgh/4ZS4Jq1And1VaB9beCMs8b0x1ugpiasQQgQQnyey58+fZ//+/Y7vDx48yJYtW6hSpQq1a9dm3Lhx3HXXXXTo0IGuXbvy8ccfc+TIEUaNGlVuMUrVgorJX8cViHf7eqOP4tpT2acK1rieWFlk4qpVau6oKkBMV86lq4I1soByMcaKeLfvlSoQz7k/jykQr2NStcBzfZZVhapasHHjRvr06eP4Pv9mq7vvvpvZs2czfPhwUlNTmTRpEklJSbRs2ZJff/2VOnXqeC2m6dOnM336dGw2+4eRUrWgYvLXcQXi3b6X7UPZMJ7egJaTggqKwValI2glP8kuvz1yUjGf2WCvKHB6Hcbz+wrtawtvXFBVoHJHVFB0QTtpV9bdvleqQDzn/jymQLyOSdUCz/VZVu5ULdCUUuryu12Z0tLSiIqK4syZMwFftSAlJcUv74wtC38dly/iKo8+i+vDdng+eeufhszjBTuH1sDc6U2MdW4o1I7KSkE/uQrbiRXkHVtaZOKqVW6BIa7bhTqu3dCCqxba53JxlWVM3jpOlF4gnnN/HlMgXse80b6n2rzSrmNpaWlUrlyZc+fOXTb/8vmMbEXgr3eMepI/3xlbFv46rkC827eoPqyHfiRv6V1c+iQsMpPIW3oXWp8vMcZ1xXZiZcEjX88W1HHNn7PVKrew35yVX1WghMTVlbjK41h/fe8FskA85/48pkC8jknVAs/1WRYBU7XgSqJ0G/rJVaisE2gh1eyzTIaSP3oVwp8p3UbeuqcplMTaXwUgd+ndoKyFXtUqt8QQ1430kNZUbnwdxtAY7wYrhBCiQpJE1g9YD/1I3rqnUZnHHNu00HjMnd/EVFeqM1wplFKgdFC2C19W0Av+Xynd6XvHfhe2Kcf3F72mdNCt6HoepjOnsWWFo6M7vZa/r3I6Vi/ow9G+9cIxhWNQuj3W4KwMcoPMaMqGyjzh9J4uetD2JFar3PKiclhXoQVXRdd1rMnJaMHRJbchhBDiiiWJrAu8WbXAdnh+kR+9qszj5C65E9X7P0WuI/QkT9+ZWJCQXZxsWZ2TNN1akHhdklAVHGdPmtRl2ilIxHSn5E/peZjT08g7GYKGXnKfl7SrnJK44seiLonh0uSSC8mfcmyz7xths5KNXvg4LwoF8rzaA1gAd99Fpi7vYWpyr+P7/KoCcrevcEcgnnN/HpNULSjfNq+061iFqlrgj8qtaoGyEb72STQUhZ9TplBAzsp/kpu0EzRlT4SwJ1aaUwKkOxIm7ZLv7fvbLtq/8L5KtxJkzSXTqDnveyH5gyLaVRe365yQaW6nMt4TgnMhfH/h+nPpCijNCBjsd/tf+FKaETQDaKYL/7V/r5y+N6IwYNPBaLI4HV/UvvZ2nb+H4ve1b7f3kZ2TR3BIKJpmQss6StDhLy47rnN6NLbk5ELb5W5f4Y5APOf+PCapWlC+bV5p1zF3qhZIIluE0aNHM3r0aEfVgpiYGK9ULbCdWEFe9oliX9cAzZpG8J4pHu/7Umav93ARzWhPvAzGSxKiC18GE5ojQbN/7/x6wf9r+YmVY5vzvtm5eQQHh6IZTBfauTgJM13S1sXtmxxJ2qUxaIXivvCaweD0veY47qI+DSaU0jh95hxVomPQTOaCfksci8GtxzJfqryqFuSmpBCVX69Vt5Hzw2LITKLodbIahNagSpNBRa4Hl2eUC3cE4jn35zH5IjZv9+mN9uU6VjrBwcEu7yuJrAu8dceenn3Spf202M4YIupdlCAZikjuChImrYTXCr9uQqFxLu08UZWqoBkvJFZFJZmOBPNCgldEP1oJrzliLye6rnM2OZnI2Fi/+iWg6zrKmoyxUvnGVe5VCwwGLJ2nkrvkTux/ll2czNqTckvnNzGaiv8zSu72Fe4IxHPuz2OSqgXl2+aVdB2TqgUVhBZSzaX9LO1ewli9p9fiyL+pxuhnCZ+o+Ex1h0CfLwvfzBgWj7nTG3IzoxBCiDKRRNaHDHHd0ELjUZnHKe6jVy0sHkNct/IOTQiPMdUdgrH29VJeTgghhMdJIutDmsGIufObJX70au70hvzCFxWeZjB69VMFIYQQVyZJZF3gzfJbhtqDMff+TzGP8HwDQ+3BXi994c8lXsrCX8cViGVrvNGHlK0R7gjEc+7PYwrE65iU3/Jcn2Ul5bfKqNzKb+UL6QI9l2A8vQEtJwUVFIOtSkf7TVJFlCXyNH8u8VIW/jquQCxb440+pGyNcEcgnnN/HlMgXsek/Jbn+iwrKb9VRuVVfquQOO8++KA4/lzipSz8dVyBWLbGG31I2RrhjkA85/48pkC8jkn5Lc/1WVZSfsvD/LX0iSf5c4mXsvDXcQVi2Rpv9CFla4Q7AvGc+/OYAvE6JuW3PNdnWbjTn//9ZAghhBBCCOECSWSFEEIIIUSFJEsLSqCUvRxWWlqajyPxLl3XSU9PJzg42C8/viotfx2XL+Iqjz493Yen2itLO6U91l/fe4EsEM+5P48pEK9j3mhfrmOlk5935edhJZFEtgT5d83VqlXLx5EIIYQQQlxZ0tPTiYqKKnEfTbmS7l6hdF3n+PHjREREoGmar8Pxqo4dO7JhwwZfh+Fx/jouX8RVHn16ug9PtVeWdkpzbFpaGrVq1eLo0aPlU/FEAP77814W/jymQLyOeaN9uY65TylFeno6NWrUuOxssMzIlsBgMFCzZk1fh1EujEZjQP7C9ddx+SKu8ujT0314qr2ytFOWYyMjI/3y/Reo/PXnvSz8eUyBeB3zRvtyHSudy83E5vOvRTfCZ0aPHu3rELzCX8fli7jKo09P9+Gp9srSjr++h0Rhgfhv5c9jCsTrmDfal+uYd8nSAiGE8LD8h6mcO3fOb2fThBCiJBXlOiYzskII4WFBQUG89NJLBAUF+ToUIYQolYpyHZMZWSGEEEIIUSHJjKwQQgghhKiQJJEVQgghhBAVkiSyQgghhBCiQpJEVgghhBBCVEiSyAohRDk6evQovXv3pnnz5rRu3Zr/+7//83VIQgjhlvT0dDp27EibNm1o1aoVn3zyic9ikaoFQghRjpKSkjh58iRt2rQhOTmZdu3asWfPHsLCwnwdmhBCuMRms5GTk0NoaCiZmZm0bNmSDRs2EB0dXe6xyCNqhRCiHFWvXp3q1asDEBsbS5UqVTh9+rQkskKICsNoNBIaGgpAdnY2NpsNX82LytICIYRww/Llyxk8eDA1atRA0zTmzZtXaJ8ZM2ZQr149goODad++PStWrCiyrY0bN6LrOrVq1fJy1EIIUcAT17GzZ8+SkJBAzZo1efrpp6latWo5Re9MElkhhHBDRkYGCQkJfPjhh0W+/u233zJmzBgmTJjA5s2b6dGjBwMHDuTIkSNO+6WmpjJixAg+/vjj8ghbCCEcPHEdq1SpElu3buXgwYN8/fXXnDx5srzCdyJrZIUQopQ0TWPu3LnceOONjm2dO3emXbt2zJw507GtWbNm3HjjjUyZMgWAnJwcrr32Wh544AHuuuuu8g5bCCEcSnsdu9jDDz/M1VdfzS233FIeITuRGVkhhPCQ3NxcEhMT6devn9P2fv36sXr1agCUUtxzzz1cffXVksQKIfyOK9exkydPkpaWBkBaWhrLly+nSZMm5R4ryM1eQgjhMadOncJmsxEXF+e0PS4ujhMnTgCwatUqvv32W1q3bu1Yl/af//yHVq1alXe4QghRiCvXsb///pv77rsPpRRKKR555BFat27ti3AlkRVCCE/TNM3pe6WUY1v37t3Rdd0XYQkhhMtKuo61b9+eLVu2+CCqwmRpgRBCeEjVqlUxGo2OWYt8ycnJhWY3hBDCH1W065gkskII4SEWi4X27duzaNEip+2LFi3iqquu8lFUQgjhuop2HZOlBUII4Ybz58+zf/9+x/cHDx5ky5YtVKlShdq1azNu3DjuuusuOnToQNeuXfn44485cuQIo0aN8mHUQghRIJCuY1J+Swgh3LB06VL69OlTaPvdd9/N7NmzAXsh8TfffJOkpCRatmzJO++8Q8+ePcs5UiGEKFogXcckkRVCCCGEEBWSrJEVQgghhBAVkiSyQgghhBCiQpJEVgghhBBCVEiSyAohhBBCiApJElkhhBBCCFEhSSIrhBBCCCEqJElkhRBCCCFEhSSJrBBCCCGEqJAkkRVCCCGEEBWSJLJCCHGF6t27N2PGjPF1GID9kZmapnH27FlfhyKEqEAkkRVCCFGuPJFAz549G03TSvxaunSpR+IVQvgvk68DEEIIIdw1fPhwBgwY4Ph+2LBhtGzZkkmTJjm2ValSxRehCSHKkczICiEC2vfff0+rVq0ICQkhOjqaa665hoyMDMfrs2bNolmzZgQHB9O0aVNmzJjhdPz69etp27YtwcHBdOjQgblz56JpGlu2bAHsM4OVKlVyOmbevHlomua07aeffqJ9+/YEBwdTv359Jk6ciNVqdbyuaRqffvopQ4cOJTQ0lEaNGjF//nynNnbu3MmgQYOIjIwkIiKCHj16cODAAZfHcjm5ubk8/fTTxMfHExYWRufOnZ1mNfPHumDBApo1a0Z4eDgDBgwgKSnJsY/VauWxxx6jUqVKREdH88wzz3D33Xdz4403AnDPPfewbNky3nvvPcfM6aFDhxzHJyYm0qFDB0JDQ7nqqqvYs2dPkbGGhIRQrVo1x5fFYiE0NLTQNiFEYJNEVggRsJKSkrjtttsYOXIku3fvZunSpQwbNgylFACffPIJEyZM4NVXX2X37t289tprvPDCC3z++ecAZGRkcP3119OkSRMSExN5+eWXefLJJ92OY8GCBdx555089thj7Nq1i48++ojZs2fz6quvOu03ceJEbr31VrZt28Z1113HHXfcwenTpwE4duwYPXv2JDg4mD/++IPExERGjhzpSIYvNxZX3HvvvaxatYpvvvmGbdu2ccsttzBgwAD27dvn2CczM5O33nqL//znPyxfvpwjR444nZM33niDr776ilmzZrFq1SrS0tKYN2+e4/X33nuPrl278sADD5CUlERSUhK1atVyvD5hwgTefvttNm7ciMlkYuTIkW6dayHEFUYJIUSASkxMVIA6dOhQka/XqlVLff31107bJk+erLp27aqUUuqjjz5SVapUURkZGY7XZ86cqQC1efNmpZRSs2bNUlFRUU5tzJ07V118ee3Ro4d67bXXnPb5z3/+o6pXr+74HlDPP/+84/vz588rTdPUb7/9ppRS6tlnn1X16tVTubm5pRpLUXr16qUef/xxpZRS+/fvV5qmqWPHjjnt07dvX/Xss886xgqo/fv3O16fPn26iouLc3wfFxenpk6d6vjearWq2rVrqyFDhhTZb74lS5YoQC1evNix7ZdfflGAysrKKnYMJbUphAh8skZWCBGwEhIS6Nu3L61ataJ///7069ePm2++mcqVK5OSksLRo0e57777eOCBBxzHWK1WoqKiANi9ezcJCQmEhoY6Xu/atavbcSQmJrJhwwanGVibzUZ2djaZmZmO9lu3bu14PSwsjIiICJKTkwHYsmULPXr0wGw2F2rflbFczqZNm1BK0bhxY6ftOTk5REdHO74PDQ2lQYMGju+rV6/uiPHcuXOcPHmSTp06OV43Go20b98eXdddiuPic1C9enUAkpOTqV27tkvHCyGuLJLICiECltFoZNGiRaxevZqFCxfywQcfMGHCBNatW+dIHj/55BM6d+5c6DjAsQShJAaDodB+eXl5Tt/rus7EiRMZNmxYoeODg4Md/39pkqppmiMBDAkJKTaG/H1KGsvl6LqO0WgkMTGx0DHh4eElxnjp+C9dH+zKeSyq/fx2XE2ChRBXHklkhRABTdM0unXrRrdu3XjxxRepU6cOc+fOZdy4ccTHx/PXX39xxx13FHls8+bN+c9//kNWVpYjkVy7dq3TPjExMaSnp5ORkUFYWBiA40awfO3atWPPnj00bNiw1ONo3bo1n3/+OXl5eYWSybi4uMuO5XLatm2LzWYjOTmZHj16lKqNqKgo4uLiWL9+vaMNm83G5s2badOmjWM/i8WCzWYrVR9CCHExSWSFEAFr3bp1/P777/Tr14/Y2FjWrVtHSkoKzZo1A+Dll1/mscceIzIykoEDB5KTk8PGjRs5c+YM48aN4/bbb2fChAncd999PP/88xw6dIi33nrLqY/OnTsTGhrKc889x6OPPsr69euZPXu20z4vvvgi119/PbVq1eKWW27BYDCwbds2tm/fziuvvOLSWB555BE++OAD/vGPf/Dss88SFRXF2rVr6dSpE02aNLnsWC6ncePG3HHHHYwYMYK3336btm3bcurUKf744w9atWrFdddd51Kcjz76KFOmTKFhw4Y0bdqUDz74gDNnzjjN0tatW5d169Zx6NAhwsPDpUyWEKLUpGqBECJgRUZGsnz5cq677joaN27M888/z9tvv83AgQMBuP/++/n000+ZPXs2rVq1olevXsyePZt69eoB9o/Uf/rpJ3bt2kXbtm2ZMGECb7zxhlMfVapU4csvv+TXX3+lVatW/Pe//+Xll1922qd///78/PPPLFq0iI4dO9KlSxemTZtGnTp1XB5LdHQ0f/zxB+fPn6dXr160b9+eTz75xDE7e7mxuGLWrFmMGDGCJ554giZNmnDDDTewbt06p6oCl/PMM89w2223MWLECLp27Up4eDj9+/d3WkLx5JNPYjQaad68OTExMRw5csTl9oUQ4mKacmfxkhBCXOEOHTpEvXr1Cn1cLoqm6zrNmjXj1ltvZfLkyb4ORwgRYGRpgRBCCI85fPgwCxcupFevXuTk5PDhhx9y8OBBbr/9/9u1gxqAQSCIohs8ccJJ1SEEFxjiVgUkzTTvKdjjz2aer08Dfsi0AIBrWms156zee40xau9da613lwxwk2kBAACRfGQBAIgkZAEAiCRkAQCIJGQBAIgkZAEAiCRkAQCIJGQBAIgkZAEAiCRkAQCIdABfGf4vk8PRLAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 700x350 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "T =    16   RNN =    0.12 ms   attn =    0.08 ms   ratio =   1.6x\n",
      "T =    64   RNN =    0.36 ms   attn =    0.08 ms   ratio =   4.5x\n",
      "T =   256   RNN =    1.41 ms   attn =    0.19 ms   ratio =   7.3x\n",
      "T =  1024   RNN =    6.01 ms   attn =    2.03 ms   ratio =   3.0x\n"
     ]
    }
   ],
   "source": [
    "import time\n",
    "\n",
    "d = 64\n",
    "Ts = [16, 64, 256, 1024]\n",
    "rnn_times, attn_times = [], []\n",
    "for T in Ts:\n",
    "    # RNN: must walk sequentially\n",
    "    rnn = nn.RNN(d, d, batch_first=True)\n",
    "    x = torch.randn(1, T, d)\n",
    "    t0 = time.perf_counter()\n",
    "    for _ in range(20): rnn(x)\n",
    "    rnn_times.append((time.perf_counter() - t0) / 20 * 1000)\n",
    "    # Self-attention: one matmul each side\n",
    "    Q = torch.randn(1, T, d); K = torch.randn(1, T, d); V = torch.randn(1, T, d)\n",
    "    t0 = time.perf_counter()\n",
    "    for _ in range(20): scaled_dot_product_attention(Q, K, V)\n",
    "    attn_times.append((time.perf_counter() - t0) / 20 * 1000)\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(7, 3.5))\n",
    "ax.loglog(Ts, rnn_times, '-o', label='RNN (sequential)', color='#3b82f6')\n",
    "ax.loglog(Ts, attn_times, '-o', label='self-attention (parallel)', color='#f59e0b')\n",
    "ax.set(xlabel='sequence length T', ylabel='ms per forward pass',\n",
    "       title=f'Forward-pass cost on CPU (d = {d})')\n",
    "ax.legend(); ax.grid(alpha=0.3, which='both')\n",
    "plt.tight_layout(); plt.show()\n",
    "for T, r, a in zip(Ts, rnn_times, attn_times):\n",
    "    print(f'T = {T:5d}   RNN = {r:7.2f} ms   attn = {a:7.2f} ms   ratio = {r/a:5.1f}x')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5a89ed9d",
   "metadata": {},
   "source": [
    "Even on a single CPU core, self-attention is several times faster than an equivalent RNN at sequence lengths in the hundreds. On a GPU the ratio explodes: the matrix multiplication can use 10,000 cores at once, while the RNN must wait for each step to finish."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a7c0_1bdb3a",
   "metadata": {},
   "source": [
    "### 39.3.2 The $O(T^2)$ Memory Wall\n",
    "\n",
    "Self-attention's *time* is $O(T^2 d)$ but its *memory* is also $O(T^2)$ — every layer must materialise the full $T \\times T$ attention matrix to do the softmax. That second cost is what limits modern Transformers in practice.\n",
    "\n",
    "For a single batch element with one head, the attention matrix in fp16 takes $2 T^2$ bytes. For $h$ heads in $L$ layers stored for backprop, the cost is roughly $2 \\cdot B \\cdot h \\cdot L \\cdot T^2$ bytes. Plug in numbers:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "aud39a7c1_f43a84",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:08.570451Z",
     "iopub.status.busy": "2026-04-30T15:38:08.570338Z",
     "iopub.status.idle": "2026-04-30T15:38:08.572815Z",
     "shell.execute_reply": "2026-04-30T15:38:08.572569Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "T =     512   per-layer attn matrix =     0.5 MiB   total stored across 32 layers x 16 heads =      0.2 GiB\n",
      "T =    2048   per-layer attn matrix =     8.0 MiB   total stored across 32 layers x 16 heads =      4.0 GiB\n",
      "T =    8192   per-layer attn matrix =   128.0 MiB   total stored across 32 layers x 16 heads =     64.0 GiB\n",
      "T =   32768   per-layer attn matrix =  2048.0 MiB   total stored across 32 layers x 16 heads =   1024.0 GiB\n",
      "T =  131072   per-layer attn matrix = 32768.0 MiB   total stored across 32 layers x 16 heads =  16384.0 GiB\n"
     ]
    }
   ],
   "source": [
    "B, h, L = 1, 16, 32   # 1 example, 16 heads, 32 layers (GPT-3 small-ish profile)\n",
    "for T in [512, 2_048, 8_192, 32_768, 131_072]:\n",
    "    bytes_attn = 2 * B * h * L * T * T\n",
    "    gb = bytes_attn / 1024**3\n",
    "    print(f'T = {T:7d}   per-layer attn matrix = {2*T*T/1024**2:7.1f} MiB   '\n",
    "          f'total stored across {L} layers x {h} heads = {gb:8.1f} GiB')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a7c2_9fd174",
   "metadata": {},
   "source": [
    "At $T = 32{,}768$ the activation memory for attention alone exceeds an A100's 80 GiB. At $T = 131{,}072$ (the context size of recent commercial models) it is in the terabytes. Naive self-attention does not fit.\n",
    "\n",
    "Three responses dominate the literature:\n",
    "\n",
    "1. **FlashAttention** (Dao, Fu, Ermon, Rudra, Ré 2022, arXiv:2205.14135 and Dao 2023, arXiv:2307.08691) — never materialise the full $T \\times T$ matrix. Tile it, recompute the softmax in SRAM, fuse the output. Same math, $O(T)$ memory, often $2$–$4\\times$ faster on a GPU because it is *I/O-bound* not compute-bound.\n",
    "2. **Sparse / windowed attention** (Longformer 2020 arXiv:2004.05150, BigBird 2020 arXiv:2007.14062) — only compute attention over a structured subset of the $T \\times T$ pairs.\n",
    "3. **Linear attention / state-space models** (Katharopoulos 2020 arXiv:2006.16236; Mamba: Gu and Dao 2023 arXiv:2312.00752) — drop the softmax to allow associativity and reduce both time and memory to $O(T)$. As §39.4.1 shows, this is the Schmidhuber 1991 architecture in modern dress.\n",
    "\n",
    "When you read about 'long-context Transformers' in 2024–2026 papers, the central engineering battle is *almost always about this memory wall*, not about model quality."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6346bce2",
   "metadata": {},
   "source": [
    "## 39.4 A Historical Detour — Schmidhuber's 1991 Fast Weight Programmers\n",
    "\n",
    "It would be intellectually dishonest to teach self-attention without naming the priority dispute that surrounds it.\n",
    "\n",
    "In **1991**, Jürgen Schmidhuber published *\"Learning to control fast-weight memories: An alternative to dynamic recurrent networks\"* (Neural Computation 4(1), 131–139, 1992). The architecture had three networks: one slow controller producing a *key* and a *value*, a fast \"weight matrix\" updated by an *outer product* of those, and another network producing a *query* that retrieved a value from the fast weights via a *dot product* — exactly today's $Q, K, V$ formulation.\n",
    "\n",
    "The 2017 *Attention Is All You Need* paper used the same operation under different names but did not cite the 1991 paper.\n",
    "\n",
    "Twenty years later, **Schlag, Irie, and Schmidhuber (2021)** proved formal equivalence in *\"Linear Transformers Are Secretly Fast Weight Programmers\"*. The mapping is exact:\n",
    "\n",
    "| 2017 Transformer | 1991 Fast-Weight Programmer |\n",
    "|------------------|------------------------------|\n",
    "| Query $q$        | Retrieval signal             |\n",
    "| Key $k$          | Storage key                  |\n",
    "| Value $v$        | Storage value                |\n",
    "| $K^\\top V$       | Fast weight matrix           |\n",
    "| Linear attention | The 1991 lookup              |\n",
    "\n",
    "*The Transformer's softmax non-linearity is what differs.* Linear (kernel-based) attention — popular today for long contexts (Performer, Linformer, Mamba's predecessors) — is **literally** the 1991 architecture.\n",
    "\n",
    "**Why does this matter?** Two reasons.\n",
    "\n",
    "1. *Scientific accuracy.* Crediting the right ancestor is what science is.\n",
    "2. *Pedagogical leverage.* Knowing the genealogy makes you a better researcher: when you read about \"linear attention\" or \"state space models\" today, you can recognise that they are not departures from the Transformer but *returns to the original Schmidhuber idea*. The same architecture has been rediscovered three times.\n",
    "\n",
    "We will revisit this in the closing of Chapter 40 when we sketch the bridge to modern long-context models."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a5c0_8de77c",
   "metadata": {},
   "source": [
    "### 39.4.3 Self-Attention as a Modern Hopfield Network\n",
    "\n",
    "There is a third lineage worth knowing — the one that goes back to **Hopfield (1982)**, *Neural networks and physical systems with emergent collective computational abilities*, PNAS 79(8). Hopfield's classical network stores patterns as energy minima of a quadratic energy function and retrieves them via gradient descent on that energy. Storage capacity scales linearly with the dimension: $\\sim 0.14\\,d$ patterns for a network with $d$ binary neurons.\n",
    "\n",
    "**Ramsauer, Schäfl, Lehner, Seidl, Widrich, Adler, Gruber, Holzleitner, Pavlović, Sandve, Greiff, Kreil, Kopp, Klambauer, Brandstetter, Hochreiter (2020)**, *Hopfield Networks Is All You Need* (arXiv:2008.02217), introduce the **modern continuous Hopfield network** with energy\n",
    "\n",
    "$$\n",
    "E(\\xi) \\;=\\; -\\,\\mathrm{lse}(\\beta, X \\xi) \\;+\\; \\tfrac{1}{2}\\,\\xi^{\\top}\\xi \\;+\\; \\text{const},\n",
    "$$\n",
    "\n",
    "where $\\mathrm{lse}(\\beta, z) = \\beta^{-1} \\log \\sum_i \\exp(\\beta z_i)$ is the log-sum-exp and $X \\in \\mathbb{R}^{N \\times d}$ stores $N$ pattern rows. Their Theorem A.4 shows the **one-step update rule** that minimises this energy from a probe $\\xi$ is\n",
    "\n",
    "$$\n",
    "\\xi_{\\text{new}} \\;=\\; X^{\\top} \\, \\mathrm{softmax}(\\beta \\, X \\xi).\n",
    "$$\n",
    "\n",
    "Replace $X$ by $K$ (and let the retrieved content be a different $V$), set $\\beta = 1/\\sqrt{d_k}$, and write the probe as $q$:\n",
    "\n",
    "$$\n",
    "\\xi_{\\text{new}} \\;=\\; V^{\\top} \\, \\mathrm{softmax}\\!\\bigl(\\tfrac{Kq}{\\sqrt{d_k}}\\bigr).\n",
    "$$\n",
    "\n",
    "This is **one row of scaled dot-product attention**. The Vaswani softmax-attention layer is *exactly* one step of energy minimisation in a modern Hopfield network. And Ramsauer et al. prove (their Theorem A.5) that storage capacity in this model scales **exponentially** with $d$: $N \\sim \\exp(d/2)$ patterns can be stored and retrieved with high probability, vs the $0.14\\,d$ of the 1982 Hopfield.\n",
    "\n",
    "**Three frames, one operation.** Self-attention can be read as:\n",
    "\n",
    "1. A **soft dictionary lookup** (§39.1).\n",
    "2. A **fast-weight programmer** retrieval (§39.4.1, Schmidhuber 1991).\n",
    "3. A **modern Hopfield** energy-descent step (Ramsauer et al. 2020).\n",
    "\n",
    "None is more 'true' than the others. Collect all three — they pay off differently. The dictionary frame helps you reason about what the model attends to. The fast-weight frame explains linear-attention variants. The Hopfield frame explains capacity (you can stuff a *lot* of patterns into a single attention layer) and connects modern AI to 40 years of statistical-physics-flavoured neural-network theory."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a4c0_dca53d",
   "metadata": {},
   "source": [
    "### 39.4.1 What Schmidhuber 1991 Actually Wrote\n",
    "\n",
    "Schmidhuber's 1991 *Fast Weight Programmer* (FWP) is a two-network system. A *slow* feed-forward net reads the input $x_t$ and produces a (key, value) pair $(k_t, v_t)$. These are written into a *fast weight matrix* $W_t \\in \\mathbb{R}^{d_v \\times d_k}$ by an **outer-product update**:\n",
    "\n",
    "$$\n",
    "W_t \\;=\\; W_{t-1} \\,+\\, v_t \\, k_t^{\\top}.\n",
    "$$\n",
    "\n",
    "A second slow network produces a *query* $q_t$ and the FWP outputs\n",
    "\n",
    "$$\n",
    "y_t \\;=\\; W_t \\, q_t \\;=\\; \\sum_{s \\le t} v_s \\, (k_s^{\\top} q_t).\n",
    "$$\n",
    "\n",
    "Now look at modern **linear attention** (Katharopoulos et al. 2020, arXiv:2006.16236; Schlag, Irie, Schmidhuber 2021, arXiv:2102.11174). Drop the softmax in $\\mathrm{softmax}(QK^{\\top})V$ and use a feature map $\\phi$:\n",
    "\n",
    "$$\n",
    "y_t \\;=\\; \\phi(q_t)^{\\top} \\sum_{s \\le t} \\phi(k_s) \\, v_s^{\\top} \\;=\\; \\phi(q_t)^{\\top} \\, S_t, \\qquad S_t \\;=\\; S_{t-1} + \\phi(k_t) \\, v_t^{\\top}.\n",
    "$$\n",
    "\n",
    "The matrix $S_t$ accumulating outer products is **literally** Schmidhuber's $W_t$. The retrieval is **literally** the dot-product lookup. The only formal difference between the 1991 FWP and a 2020 linear Transformer is the choice of feature map $\\phi$ (identity in 1991, $\\mathrm{elu}+1$ or random features today). The Schlag/Irie/Schmidhuber paper makes the equivalence formal as their Theorem 1.\n",
    "\n",
    "The Vaswani et al. 2017 model differs only in using $\\phi(\\cdot) = \\exp(\\cdot)$ together with normalisation — i.e. the softmax. That is a real innovation (it permits sharper, more selective lookups), but the overall architecture is a softmax-flavoured FWP.\n",
    "\n",
    "### 39.4.2 Why Was It Forgotten?\n",
    "\n",
    "This is partly a story about *technology* and partly about *sociology*.\n",
    "\n",
    "**Technology.** In 1991 the largest neural networks had a few hundred neurons; the FWP was demonstrated on tiny synthetic tasks. The combination of large datasets, GPUs, and the engineering scaffolding (residuals, layer norm, Adam, BPE tokenisation, positional encodings) that makes the Transformer practical did not exist for another 25 years. An idea introduced 25 years too early, on hardware that could not exercise it, gets remembered by a small community.\n",
    "\n",
    "**Sociology.** Citation graphs in deep learning are notoriously narrow — papers tend to cite recent ImageNet-era work and miss the 1980s/90s literature where many ideas were first explored (Schmidhuber's *Annotated history of modern AI and deep learning*, 2022, arXiv:2212.11279, catalogues many such cases: LSTM precursors, GANs precursors, residual connections, etc.). The Vaswani et al. paper cites Bahdanau 2014, Luong 2015, and ConvS2S (Gehring 2017) — all attention-era works — but no pre-2014 attention literature.\n",
    "\n",
    "The lesson is not that the 2017 paper is wrong or its authors dishonest. It is that *the deep learning literature has a short memory*, and a serious researcher has to read backward at least 30 years. When you encounter a 'new' idea in a 2024 paper — Mamba, RWKV, retentive networks, linear attention variants — your first move should be: *what 1990s paper is this re-deriving?* The answer is usually surprising.\n",
    "\n",
    "```{admonition} Required reading\n",
    ":class: note\n",
    "For a guided tour of misattributions in modern deep learning, read Sections 1–5 of Schmidhuber (2022), *Annotated history of modern AI and deep learning* (arXiv:2212.11279). It is a polemic, but a well-cited one.\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b47e2547",
   "metadata": {},
   "source": [
    "## 39.5 Self-Attention on a Real Sentence\n",
    "\n",
    "Let us run self-attention on a tiny English sentence with random weights — just to see what the attention matrix *looks like* before training. We will use one-hot encodings of characters as input."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "61e25feb",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:08.574505Z",
     "iopub.status.busy": "2026-04-30T15:38:08.574403Z",
     "iopub.status.idle": "2026-04-30T15:38:08.578832Z",
     "shell.execute_reply": "2026-04-30T15:38:08.578573Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Attention shape: torch.Size([1, 22, 22])   (1, T, T)\n",
      "Output shape:    torch.Size([1, 22, 16])    (1, T, d_v)\n"
     ]
    }
   ],
   "source": [
    "torch.manual_seed(2)\n",
    "sentence = 'the cat sat on the mat'\n",
    "tokens = list(sentence)\n",
    "T = len(tokens)\n",
    "d_model, d_k = 32, 16\n",
    "\n",
    "# One-hot input → embed\n",
    "vocab = list(set(tokens))\n",
    "char2idx = {c: i for i, c in enumerate(vocab)}\n",
    "ids = torch.tensor([[char2idx[c] for c in tokens]])    # (1, T)\n",
    "emb = nn.Embedding(len(vocab), d_model)\n",
    "X = emb(ids)                                           # (1, T, d_model)\n",
    "\n",
    "W_Q = nn.Linear(d_model, d_k, bias=False)\n",
    "W_K = nn.Linear(d_model, d_k, bias=False)\n",
    "W_V = nn.Linear(d_model, d_k, bias=False)\n",
    "Q, K, V = W_Q(X), W_K(X), W_V(X)\n",
    "\n",
    "out, attn = scaled_dot_product_attention(Q, K, V)\n",
    "print(f'Attention shape: {attn.shape}   (1, T, T)')\n",
    "print(f'Output shape:    {out.shape}    (1, T, d_v)')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "b6247086",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:08.580167Z",
     "iopub.status.busy": "2026-04-30T15:38:08.580086Z",
     "iopub.status.idle": "2026-04-30T15:38:08.711108Z",
     "shell.execute_reply": "2026-04-30T15:38:08.710771Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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XGj7q1evolu3bmjXrh3Onz+P999/H+PGjcO2bdv0beLi4tCvXz8MHDgQFy5cwMCBA/Haa68hPj7eXLv1VAqJw+OJiIhkIzMzE05OTghBL1gprMt8e3lSLo7ge2RkZMDR0bFY72nZsiWaN2+O5cuX69cFBATg5ZdfRnR0dIH27733Hn744QckJibq140aNQoXLlxAXFwcAKBfv37IzMzEjz/+qG/TpUsXuLi4YNOmTSXdPWFYYSIiIqJiy8nJwdmzZxEaGmqwPjQ0FCdOnCj0PXFxcQXah4WF4cyZM8jNzX1qm6L6NDfeJUdERCRDecgFzHANKA+PEpbMzEyD9SqVCiqVqkD7W7duQavVwsvLy2C9l5cX0tLSCt1GWlpaoe3z8vJw69Yt+Pj4FNmmqD7NjQkTERGRjCiVSnh7e+N4WozZtmlvbw9fX1+DddOnT8eMGTOKfI9CoTB4LUlSgXXG2j+53tQ+zYkJExERkYyo1WpcvXoVOTk5ZttmYYlJYdUlAHB3d4elpWWByk96enqBClE+b2/vQttbWVnBzc3tqW2K6tPcmDARERHJjFqthlqtLu8wCqVUKtGiRQvs378fvXv31q/fv38/evXqVeh7WrVqhV27dhms27dvH4KDg2Ftba1vs3//fkyYMMGgTevWrctgL0zHhImIiIhMEhERgYEDByI4OBitWrXCqlWrkJycjFGjRgEAoqKicP36dWzcuBHAozvilixZgoiICIwcORJxcXFYs2aNwd1v48ePxwsvvIA5c+agV69e+P7773HgwAEcP368XPbxSUyYiIiIyCT9+vXD7du3MWvWLKSmpiIwMBAxMTGoVasWACA1NdVgTiY/Pz/ExMRgwoQJWLp0KapVq4bFixejb9+++jatW7fG5s2bMXXqVEybNg116tTBli1b0LJlS7PvX2E4DxMRERGREZyHiYiIiMgIJkxERERERjBhIiIiIjKCCRMRERGREUyYiIiIiIxgwkRERERkBBMmIiIiIiOYMBEREREZwYSJiIiIyAgmTERERERGMGEiIiIiMoIJExEREZER/wfyluY59GQDyAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 600x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(6, 6))\n",
    "im = ax.imshow(attn.squeeze().detach().numpy(), cmap='viridis', vmin=0)\n",
    "ax.set_xticks(range(T)); ax.set_xticklabels(tokens, rotation=0)\n",
    "ax.set_yticks(range(T)); ax.set_yticklabels(tokens)\n",
    "ax.set_xlabel('key (attended-to)'); ax.set_ylabel('query (attending)')\n",
    "ax.set_title(f'Self-attention before training\\n\"{sentence}\"')\n",
    "fig.colorbar(im, ax=ax, label=r'$\\alpha_{ij}$')\n",
    "plt.tight_layout(); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "49c6556c",
   "metadata": {},
   "source": [
    "Random weights give a reasonably uniform attention matrix — that is the $\\sqrt{d_k}$ scaling at work. After training (Chapter 40) you will see characters learn to attend to *related* characters: the second `the` will look at the first `the`, the spaces will form their own group, and so on."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a3c0_a66b93",
   "metadata": {},
   "source": [
    "### 39.5.1 When Permutation Equivariance Bites — Anagrams\n",
    "\n",
    "A Python list `['a', 'b', 'c']` and `['c', 'b', 'a']` are different orderings of the same multiset. To self-attention *they are the same input*.\n",
    "\n",
    "Formally, if $P$ is a permutation matrix and $X' = PX$, then\n",
    "\n",
    "$$\n",
    "\\mathrm{Attention}(X') \\;=\\; \\mathrm{softmax}\\!\\bigl((PX)(PX)^{\\top}/\\sqrt{d_k}\\bigr)\\,(PX)\\,W_V \\;=\\; P \\cdot \\mathrm{Attention}(X).\n",
    "$$\n",
    "\n",
    "The output is permuted along with the input, but the *set of output rows is identical*. So an unmodified self-attention layer will assign the same per-token representation to a token regardless of where it sits in the sentence.\n",
    "\n",
    "The following sentences are anagrams at the *token* level — each is a reordering of the multiset $\\{$the, the, cat, sat, on, mat$\\}$:\n",
    "\n",
    "1. `the cat sat on the mat`  (the original)\n",
    "2. `the mat sat on the cat`  (swap subject and object — *meaning destroyed*)\n",
    "3. `mat the on sat cat the`  (gibberish)\n",
    "\n",
    "A bag-of-words classifier already cannot distinguish them. We are about to show that a *raw* self-attention layer cannot either."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "aud39a3c1_58260b",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:08.713075Z",
     "iopub.status.busy": "2026-04-30T15:38:08.712936Z",
     "iopub.status.idle": "2026-04-30T15:38:08.721673Z",
     "shell.execute_reply": "2026-04-30T15:38:08.721382Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Multiset of output rows identical across the three anagrams?\n",
      "  s1 vs s2: True\n",
      "  s1 vs s3: True\n",
      "\n",
      "First output row of each (different positions, but same set of rows):\n",
      "  s1 (\"the\" @ pos 0): [-0.167 -0.078 -0.049 -0.001  0.091 -0.065  0.206 -0.364]\n",
      "  s2 (\"the\" @ pos 0): [-0.167 -0.078 -0.049 -0.001  0.091 -0.065  0.206 -0.364]\n",
      "  s3 (\"mat\" @ pos 0): [-0.56   0.233 -0.404 -0.269 -0.026 -0.092  0.193 -0.587]\n"
     ]
    }
   ],
   "source": [
    "torch.manual_seed(7)\n",
    "VOCAB = {'the': 0, 'cat': 1, 'sat': 2, 'on': 3, 'mat': 4}\n",
    "emb_w = nn.Embedding(len(VOCAB), 16)\n",
    "WQ = nn.Linear(16, 8, bias=False); WK = nn.Linear(16, 8, bias=False); WV = nn.Linear(16, 8, bias=False)\n",
    "\n",
    "def attend(words):\n",
    "    ids = torch.tensor([[VOCAB[w] for w in words]])\n",
    "    X = emb_w(ids)\n",
    "    Q, K, V = WQ(X), WK(X), WV(X)\n",
    "    out, _ = scaled_dot_product_attention(Q, K, V)\n",
    "    return out.squeeze(0).detach()\n",
    "\n",
    "s1 = ['the','cat','sat','on','the','mat']\n",
    "s2 = ['the','mat','sat','on','the','cat']  # subject<->object\n",
    "s3 = ['mat','the','on','sat','cat','the']  # gibberish\n",
    "\n",
    "out1 = attend(s1); out2 = attend(s2); out3 = attend(s3)\n",
    "\n",
    "# Compare each sentence's MULTISET of output rows (sort rows lexicographically)\n",
    "def sorted_rows(M):\n",
    "    return M[torch.argsort(M[:, 0])]\n",
    "\n",
    "print('Multiset of output rows identical across the three anagrams?')\n",
    "print('  s1 vs s2:', torch.allclose(sorted_rows(out1), sorted_rows(out2), atol=1e-5))\n",
    "print('  s1 vs s3:', torch.allclose(sorted_rows(out1), sorted_rows(out3), atol=1e-5))\n",
    "print('\\nFirst output row of each (different positions, but same set of rows):')\n",
    "print('  s1 (\"the\" @ pos 0):', out1[0].numpy().round(3))\n",
    "print('  s2 (\"the\" @ pos 0):', out2[0].numpy().round(3))\n",
    "print('  s3 (\"mat\" @ pos 0):', out3[0].numpy().round(3))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a3c2_72a058",
   "metadata": {},
   "source": [
    "The boolean checks both print `True`. Three sentences with wildly different meanings produce *the exact same set of output vectors* — they only differ in the order in which those vectors are emitted.\n",
    "\n",
    "This is why Chapter 40 begins with **positional encoding**: we add a position-dependent bias $p_i$ to each $x_i$ before the projections so that $x_i + p_i \\neq x_j + p_j$ even when $x_i = x_j$. Without that fix, no amount of training data, depth, or compute can teach a Transformer to distinguish *the cat sat on the mat* from *the mat sat on the cat*."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0e803c48",
   "metadata": {},
   "source": [
    "## 39.6 Per-Query Attention Bars\n",
    "\n",
    "The panels below visualise attention from several query positions, plotted as bar charts (red bar = self-attention to the query token). This is exactly the *interpretability* affordance that makes attention so useful in practice."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "21598c8f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:08.723212Z",
     "iopub.status.busy": "2026-04-30T15:38:08.723102Z",
     "iopub.status.idle": "2026-04-30T15:38:09.081889Z",
     "shell.execute_reply": "2026-04-30T15:38:09.081439Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAARCCAYAAAA+BmTIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeVhU5fs/8PewDYuiArKKCFZCrglJaIpLLpB91DQ1DXHBQjQVtNwVtCSX+qgl8tFQ08ylzCVDBddMMdesDLNFBAVUMAUtUOD+/eFv5us4AwwOq7xf18XlNc8853nu5yzjueec84xCRAREREREREQGMKrqAIiIiIiIqOZjYkFERERERAZjYkFERERERAZjYkFERERERAZjYkFERERERAZjYkFERERERAZjYkFERERERAZjYkFERERERAZjYkFERERERAZjYkFURsePH8drr70GJycnmJmZwcnJCQMHDsTJkyerOrQaJyUlBQqFAmvXrlWXHTt2DJGRkbh165ZW/c6dO6Nz586VFt+jPv74Y3h6ekKpVMLd3R1RUVG4f/++3suvW7cODRs2RG5urrqsSZMmiIyMBPBgfMOHD1e/l56ejsjISPz4449abUVGRqJJkyYAgLVr10KhUGi836lTJ0ycOFHv2PQVExOjsb30ibUyNWnSRGMdHjp0CAqFAocOHaqymGoChUKBcePGVXUYZdKtWzeEhoZWSl/Dhw9XH281ka74b968icGDB8Pe3h4KhQJ9+/bF33//jfr162P79u1VEifVfEwsiMrg448/RocOHXDlyhUsXLgQ+/btw6JFi5CWloYXXngBK1eurOoQaxQnJyckJSXh5ZdfVpcdO3YMUVFROhOLmJgYxMTEVGKE/+f999/HhAkT8Oqrr2Lv3r0ICwvD/PnzMXbsWL2W/+effzB9+nRMmTIFdevW1WuZ9PR0REVFPdbJ+rx58xATE4PffvutzMuWpKTE4nFjrUht27ZFUlIS2rZtW9WhUDnasWMHjh49ilmzZlV1KDXWvHnzsG3bNvz3v/9FUlISFi5ciAYNGiA8PBzvvPMO7t27V9UhUg1kUtUBENUUR48excSJExEYGIht27bBxOT/Dp/BgwejX79+CAsLw3PPPYfnn3++UmP7559/YGlpWal9lgelUokXXnhB7/rPPvtsBUZTvOzsbLz33nsYPXo05s+f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ERmMiQURERERERmMiQURERERERmsWiUWMTExcHd3h7m5Oby9vXHkyJES6x8+fBje3t4wNzeHh4cHYmNjteosWbIEzZo1g4WFBVxdXREeHo68vLyKGgIRERERUa1UbRKLzZs3Y+LEiZgxYwbOnj2Ljh07IiAgAKmpqTrrX7p0CYGBgejYsSPOnj2L6dOnY/z48di6dau6zoYNGzB16lTMmTMHycnJiIuLw+bNmzFt2rTKGhYRERERUa2gEBGp6iAAwNfXF23btsWKFSvUZV5eXujbty+io6O16k+ZMgU7d+5EcnKyuiw0NBTnzp1DUlISAGDcuHFITk7G/v371XUmTZqEEydOlHo1RCUnJwf16tXD7du3YW1t/bjDIyIiIqpV+DsWT4aynAtXix/Iu3fvHk6fPo2pU6dqlPfo0QPHjh3TuUxSUhJ69OihUdazZ0/ExcXh/v37MDU1xYsvvojPP/8cJ06cQLt27fDXX38hPj4ewcHBxcaSn5+P/Px89eucnBwAQFFREYqKih53iERERES1ikJRsd9d87yscpRlPVeLxCIrKwuFhYVwcHDQKHdwcEBmZqbOZTIzM3XWLygoQFZWFpycnDB48GDcuHEDL774IkQEBQUFGDNmjFYC87Do6GhERUVpld+4cYPPZhARERHpqVHj2xXa/vXrxhXaPj2Qm5urd91qkVioKBQKjdciolVWWv2Hyw8dOoT3338fMTEx8PX1xR9//IEJEybAyckJs2bN0tnmtGnTEBERoX6dk5MDV1dXNGzYkLdCEREREenpSmphhbZvb29foe3TA+bm5nrXrRaJhZ2dHYyNjbWuTly/fl3rqoSKo6OjzvomJiawtbUFAMyaNQtBQUEICQkBALRs2RJ3797Fm2++iRkzZsDISPvZdaVSCaVSqVVuZGSksz4RERERaRMp/svh8sDzsspRlvVcLbaImZkZvL29kZiYqFGemJiI9u3b61zGz89Pq35CQgJ8fHxgamoKAPjnn3+0VoaxsTFEBNXkmXUiIiIioidCtUgsACAiIgKffvopVq9ejeTkZISHhyM1NRWhoaEAHtyiNGzYMHX90NBQXL58GREREUhOTsbq1asRFxeHyZMnq+u88sorWLFiBTZt2oRLly4hMTERs2bNwn/+8x8YG/O+PCIiIiKi8lItboUCgEGDBiE7Oxtz585FRkYGWrRogfj4eLi5uQEAMjIyNH7Twt3dHfHx8QgPD8fy5cvh7OyMZcuWoX///uo6M2fOhEKhwMyZM3H16lU0bNgQr7zyCt5///1KHx8RERER0ZOs2vyORXXF37EgIiIiKjv+jsWToSznwtXmVigiIiIiIqq5mFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBmFgQEREREZHBqlViERMTA3d3d5ibm8Pb2xtHjhwpsf7hw4fh7e0Nc3NzeHh4IDY2VqvOrVu3MHbsWDg5OcHc3BxeXl6Ij4+vqCEQEREREdVK1Sax2Lx5MyZOnIgZM2bg7Nmz6NixIwICApCamqqz/qVLlxAYGIiOHTvi7NmzmD59OsaPH4+tW7eq69y7dw/du3dHSkoKvvrqK/z2229YtWoVXFxcKmtYRERERES1gkJEpKqDAABfX1+0bdsWK1asUJd5eXmhb9++iI6O1qo/ZcoU7Ny5E8nJyeqy0NBQnDt3DklJSQCA2NhYLFq0CBcuXICpqeljxZWTk4N69erh9u3bsLa2fqw2iIiIiGqbvj3TK7T97XudK7R9eqAs58ImlRRTie7du4fTp09j6tSpGuU9evTAsWPHdC6TlJSEHj16aJT17NkTcXFxuH//PkxNTbFz5074+flh7Nix2LFjBxo2bIghQ4ZgypQpMDY21tlufn4+8vPz1a9zcnIAAEVFRSgqKjJkmERERES1hkJRsd9d87yscpRlPVeLxCIrKwuFhYVwcHDQKHdwcEBmZqbOZTIzM3XWLygoQFZWFpycnPDXX3/hwIEDGDp0KOLj4/H7779j7NixKCgowOzZs3W2Gx0djaioKK3yGzduIC8v7zFHSERERFS7NGp8u0Lbv35d95fEVL5yc3P1rlstEgsVhUKh8VpEtMpKq/9weVFREezt7bFy5UoYGxvD29sb6enpWLRo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j5SUFLzyyivq91UZl4mJCX777Tf11ZeHTZs2DREREerXOTk5cHV1RcOGDWFtbf3YY3xcBTk5uHv5coX2YVWnDkzs7Su0j+rsSmphhbZvX43WbVWNtSL7rYo+q6pfjrV2Ha9Vhdv1yVSbtmttGmtlMDc317uu3olFu3btcODAAUyaNAnt27eHQqGAsbExCgoKMG/evMcKVMXMzAze3t5ITExEv3791OWJiYno06ePzmX8/PzwzTffaJQlJCTAx8cHpqam8PT0xM8//6zx/syZM5Gbm4ulS5fC1dVVZ7tKpRJKpVKr3MjIqEp+ANBIoYBCKvbympFCUat/3FCkYm81q07rtqrGWpH9VkWfVdUvx1q7jte+PdMrtP3te511lnO7Pplq03atTWOtDGXpu0y/vP3CCy/g6NGjuHr1KpKTk3H79m20adNG5zf/ZRUREYGgoCD4+PjAz88PK1euRGpqKkJDQwE8uJJw9epVrFu3DgAQGhqKTz75BBERERg9ejSSkpIQFxeHjRs3AniQXbVo0UKjj/r16wOAVjkRERERERmmTImFiouLC1xcXMo1kEGDBiE7Oxtz585FRkYGWrRogfj4eLj9/+cLMjIyNH7Twt3dHfHx8QgPD8fy5cvh7OyMZcuWoX///uUaF1FFqchvI4v7JpKIiIioojxWYlFRwsLCEBYWpvO9tWvXapX5+/vjzJkzerevqw0iIqLS8IsAIqLS8aZDIiIiIiIyWLW6YkHVR1U9NEhERFRZeCWKqHzxigURERERERmMiQURERERERmMiQURERERERmMiQURERERERmMD29TtcIH6YiI6EnGyVHoScYrFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZDAmFkREREREZLBqlVjExMTA3d0d5ubm8Pb2xpEjR0qsf/jwYXh7e8Pc3BweHh6IjY3VeH/VqlXo2LEjGjRogAYNGuCll17CiRMnKnIIRERERES1UrVJLDZv3oyJEydixowZOHv2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IicnB66urkhLS4O1tfUT22dV9cuxPpn9cqxPZr8c65PZL8f6ZPbLsVZfIoLc3Fw4OzuXWrdaJBZ2dnYwNjbWupJw/fp1rSsOKo6Ojjrrm5iYwNbWtsQ6xbUJAEqlEkqlUqOsfv36+g6l2rC2tq70nbUq+qyqfjnWJ7NfjvXJ7JdjfTL75VifzH451uqptCsVKtXi4W0zMzN4e3sjMTFRozwxMRHt27fXuYyfn59W/YSEBPj4+MDU1LTEOsW1SUREREREj6daXLEAgIiICAQFBcHHxwd+fn5YuXIlUlNTERoaCuDBLUpXr17FunXrAAChoaH45JNPEBERgdGjRyMpKQlxcXHYuHGjus0JEyagU6dOWLBgAfr06YMdO3Zg3759+P7776tkjERERERET6pqk1gMGjQI2dnZmDt3LjIyMtCiRQvEx8erH5rOyMjQ+E0Ld3d3xMfHIzw8HMuXL4ezszOWLVuG/v37q+u0b98emzZtwsyZMzFr1iw0bdoUmzdvhq+vb6WPr7IolUrMmTNH63auJ63PquqXY30y++VYn8x+OdYns1+O9cnsl2N9MihEn7mjiIiIiIiISlAtnrEgIiIiIqKajYkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFkZ6OHz+O1157DU5OTjAzM4OTkxMGDhyIkydPVnVoNU5KSgoUCgXWrl2rLjt27BgiIyNx69YtrfqdO3dG586dKy2+hykUCp1/H3zwgd5trFu3Dg0bNkRubq66rEmTJoiMjATwYHzDhw9/rPhKaufixYswMzPDmTNnHqvt4qSnpyMyMhI//vij1nvx8fHqeKrKoUOHoFAocOjQIXXZ8OHD0aRJkyqLqSZYu3YtFAoFTp06VdWh6O3PP/+EUqlEUlJSpfSnUCiqfP82hK749+/fDx8fH1hZWUGhUGD79u2Ii4uDi4sL7t69WzWBUo3FxIJIDx9//DE6dOiAK1euYOHChdi3bx8WLVqEtLQ0vPDCC1i5cmVVh1ijODk5ISkpCS+//LK67NixY4iKitKZ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ERGBTz/9FKtXr0ZycjLCw8ORmpqK0NBQAA9uURo2bJi6fmhoKC5fvoyIiAgkJydj9erViIuLw+TJk9V1Fi5ciJkzZ2L16tVo0qQJMjMzkZmZiTt37lT6+IiIiIiInmTV4lYoABg0aBCys7Mxd+5cZGRkoEWLFoiPj4fb/3/YNCMjQ+M3Ldzd3REfH4/w8HAsX74czs7OWLZsGfr376+uExMTg3v37mHAgAEafc2ZMweRkZGVMi4iIiIiotqg2iQWABAWFoawsDCd761du1arzN/fH2fOnCm2vZSUlHKKjIiIiIiISlJtboUiIiIiIqKai4kFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZjIkFEREREREZrFolFjExMXB3d4e5uTm8vb1x5MiREusfPnwY3t7eMDc3h4eHB2JjY7XqbN26Fc8++yyUSiWeffZZbNu2raLCJyIiIiKqtapNYrF582ZMnDgRM2bMwNmzZ9GxY0cEBAQgNTVVZ/1Lly4hMDAQHTt2xNmzZzF9+nSMHz8eW7duVddJSkrCoEGDEBQUhHPnziEoKAgDBw7EDz/8UFnDIiIiIiKqFapNYvHRRx9h1KhRCAkJgZeXF5YsWQJXV1esWLFCZ/3Y2Fg0btwYS5YsgZeXF0JCQjBy5EgsXrxYXWfJkiXo3r07pk2bBk9PT0ybNg3dunXDkiVLKmlURERERES1Q7VILO7du4fTp0+jR48eGuU9evTAsWPHdC6TlJSkVb9nz544deoU7t+/X2Kd4tokIiIiIqLHY1LVAQBAVlYWCgsL4eDgoFHu4OCAzMxMnctkZmbqrF9QUICsrCw4OTkVW6e4NgEgPz8f+fn56te3b98GANy6dQtFRUVlGld5KSjMqbC2b92yrPQ+q6rf2j7Wgtxc3C0srLA+H+7H5NYtzTJu1xrbZ1X1y7FyrDW9X46VY62MfitDTs6DsYlIqXWrRWKholAoNF6LiFZZafUfLS9rm9HR0YiKitIqd3NzKz7wGqxBg9rTL8daSby9K7U7btcns1+O9cnsl2N9MvvlWJ/cfh+Wm5uLevXqlVinWiQWdnZ2MDY21rqScP36da0rDiqOjo4665uYmMDW1rbEOsW1CQDTpk1DRESE+nVRURFu3rwJW1vbEhOS6iInJweurq5IS0uDtbX1E9tnVfXLsT6Z/XKsT2a/HOuT2S/H+mT2y7FWXyKC3NxcODs7l1q3WiQWZmZm8Pb2RmJiIvr166cuT0xMRJ8+fXQu4+fnh2+++UajLCEhAT4+PjA1NVXXSUxMRHh4uEad9u3bFxuLUqmEUqnUKKtfv35Zh1TlrK2tK31nrYo+q6pfjvXJ7JdjfTL75VifzH451iezX461eirtSoVKtUgsACAiIgJBQUHw8fGBn58fVq5cidTUVISGhgJ4cCXh6tWrWLduHQAgNDQUn3zyCSIiIjB69GgkJSUhLi4OGzduVLc5YcIEdOrUCQsWLECfPn2wY8cO7Nu3D99//32VjJGIiIiI6ElVbRKLQYMGITs7G3PnzkVGRgZatGiB+Ph49bMNGRkZGr9p4e7ujvj4eISHh2P58uVwdnbGsmXL0L9/f3Wd9u3bY9OmTZg5cyZmzZqFpk2bYvPmzfD19a308RERERERPcmqTWIBAGFhYQgLC9P53tq1a7XK/P39cebMmRLbHDBgAAYMGFAe4dUISqUSc+bM0bqd60nrs6r65VifzH451iezX471yeyXY30y++VYnwwK0WfuKCIiIiIiohJUix/IIyIiIiKimo2JBRERERERGYyJBRERERERGYyJBRERERERGYyJBRERERERGYyJBRERERERGYyJBRERERERGYyJBRERERERGYyJBRERERERGYyJBRERERERGYyJBRERERERGYyJBRERERERGYyJBRERERERGYyJBRERERER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05SQkODyPAEAAADYc7qwuPHGG3XNNddo8+bNiomJUc+ePdWvXz91795dzZs3d3kizzzzjMaOHatx48YpOjpay5YtU0REhFavXu0wPjU1VR06dNCyZcsUHR2tcePGacyYMXZP/S4tLdWDDz6oBQsWKCoqyuV5AgAAALDndGExatQoBQQEaMOGDdq0aZMGDx6sL774QldddZUyMjJcmsT58+e1d+9eJSYm2rQnJiZq9+7dDpfJysqyix8wYID27NmjC5c8tGnhwoVq27atxo4d69IcAQAAAFTM6btCHTx4UNu2bdPVV18tSRo8eLDGjx+vBx54QI899pjS0tKueBIFBQUqLS1VSEiITXtISIjy8vIcLpOXl+cwvqSkRAUFBQoNDdWHH36otLQ0ffbZZ07Ppbi4WMXFxdbXhYWFkqSysjKVlZU53U9NsliM2/quq5w8iTvXr+RZ67iucq2LfZhc3TtumTEyFot7xzXGbuzG9HmtK41lH25sGtN2bUy51obqjO10YdGjRw+99tpreuyxx6xtbdq00fLly3XjjTe6VFiUs1z2PyljjF1bVfHl7UVFRfrtb3+rNWvWKDg42Ok5LF68WAsWLLBrP378uM6dO+d0PzXpqg6n3dZ3fr632/quL9y5fiXPWsd1lWtd7MPk6t5xS8+c0S8dO7p13J/PnJF3fr5NW2P6vNaVxrIPNzaNabs2plxrQ1FRkdOxThcWTz31lPr27av//Oc/mjBhgmJjYyVJr776qpo2bVr9WV4iODhY3t7edkcn8vPz7Y5KlGvfvr3DeB8fHwUFBenLL7/UwYMHdffdd1vfL6+4fHx89M0331iPvlxq5syZSklJsb4uLCxURESE2rZtqxYtWlxxjq44klPqtr7btWvntr7rC3euX8mz1nFd5VoX+zC5unfcksJCnT10yK3jNm3WTD6Xjd2YPq91pbHsw41NY9qujSnX2hAQEOB0rNOFRffu3fXee+/p0UcfVc+ePWWxWOTt7a2SkhI98cQTVzTRcn5+foqNjVVmZqaGDh1qbc/MzNTgwYMdLhMfH69t27bZtGVkZCguLk6+vr7q3LmzvvjiC5v358yZo6KiIi1fvlwREREO+/X395e/v79du5eXV509ANAY951uwEMN3bt+Jc9ax3WVa13sw+Tq3nG9LBZZjHsP/XtZLHZjN6bP65ABx9za/5Z3why2N5Z9uLFpTNu1MeVaG6ozdrWevH3zzTfrww8/1NGjR5Wdna3Tp0+rW7duDv/yX10pKSkaOXKk4uLiFB8fr+eee045OTlKSkqSdPFIwtGjR/XCCy9IkpKSkvTss88qJSVF48ePV1ZWltLS0rRhwwZJF6urLl262IzRqlUrSbJrBwAAAOCaahUW5cLDwxUeHl6jExkxYoROnDihhQsXKjc3V126dFF6ero6/u85vLm5uTbPtIiMjFR6erqSk5O1cuVKhYWFacWKFRo2bFiNzgtwF3f+NbKiv0QCAAC4yxUVFu4yceJETZw40eF769evt2vr06ePPv30U6f7d9QHAABV4Q8BAFA1TjoEAAAA4DIKCwAAAAAu86hToeA56upuJAAA1BZOcQNqFkcsAAAAALiMwgIAAACAyygsAAAAALiMayzgUTjfFQDQkHENIxoyjlgAAAAAcBmFBQAAAACXUVgAAAAAcBmFBQAAAACXUVgAAAAAcBmFBQAAAACXUVgAAAAAcBmFBQAAAACXUVgAAAAAcBmFBQAAAACXUVgAAAAAcBmFBQAAAACXUVgAAAAAcBmFBQAAAACXUVgAAAAAcBmFBQAAAACXUVgAAAAAcBmFBQAAAACXUVgAAAAAcBmFBQAAAACXUVgAAAAAcJlHFRarVq1SZGSkAgICFBsbq127dlUav3PnTsXGxiogIEBRUVFKTU21eX/NmjVKSEhQ69at1bp1a91+++36+OOP3ZkCAAAA0Ch5TGGxceNGTZ06VbNnz9a+ffuUkJCggQMHKicnx2H8gQMHNGjQICUkJGjfvn2aNWuWJk+erE2bNlljduzYofvvv1/vv/++srKy1KFDByUmJuro0aO1lRYAAADQKHhMYfHMM89o7NixGjdunKKjo7Vs2TJFRERo9erVDuNTU1PVoUMHLVu2TNHR0Ro3bpzGjBmjpUuXWmNeeuklTZw4Ud26dVPnzp21Zs0alZWV6d13362ttAAAAIBGwaeuJyBJ58+f1969ezVjxgyb9sTERO3evdvhMllZWUpMTLRpGzBggNLS0nThwgX5+vraLfPzzz/rwoULatOmTYVzKS4uVnFxsfV1YWGhJKmsrExlZWVO51STLBbjtr4rysmdY9bVuORKrvV9XE/KtcwYGYvFveMaYzc227V+j0uu5Frfx/W0XGtDdcb2iMKioKBApaWlCgkJsWkPCQlRXl6ew2Xy8vIcxpeUlKigoEChoaF2y8yYMUPh4eG6/fbbK5zL4sWLtWDBArv248eP69y5c86kU+Ou6nDabX3n53vX+ph1NS65kmt9H9eTci09c0a/dOzo1nF/PnNG3vn5Nm1s1/o9LrmSa30f19NyrQ1FRUVOx3pEYVHOctlfv4wxdm1VxTtql6Snn35aGzZs0I4dOxQQEFBhnzNnzlRKSor1dWFhoSIiItS2bVu1aNHCqTxq2pGcUrf13a5du1ofs67GJVdyre/jelKuJYWFOnvokFvHbdqsmXwuG5vtWr/HJVdyre/jelqutaGy382X84jCIjg4WN7e3nZHJ/Lz8+2OSpRr3769w3gfHx8FBQXZtC9dulSLFi3S9u3bFRMTU+lc/P395e/vb9fu5eUlL6+6uSTFGPedblBRTu4cs67GJVdyre/jelKuXhaLLMa9h/69LBa7sdmu9XtcciXX+j6up+VaG6oztkdcvO3n56fY2FhlZmbatGdmZqpnz54Ol4mPj7eLz8jIUFxcnM31FUuWLNETTzyht99+W3FxcTU/eQAAAACeUVhIUkpKip5//nmtXbtW2dnZSk5OVk5OjpKSkiRdPEVp1KhR1vikpCQdOnRIKSkpys7O1tq1a5WWlqZp06ZZY55++mnNmTNHa9euVadOnZSXl6e8vDydOXOm1vMDAAAAGjKPOBVKkkaMGKETJ05o4cKFys3NVZcuXZSenq6O/3txYG5urs0zLSIjI5Wenq7k5GStXLlSYWFhWrFihYYNG2aNWbVqlc6fP6/hw4fbjDVv3jzNnz+/VvICAAAAGgOPKSwkaeLEiZo4caLD99avX2/X1qdPH3366acV9nfw4MEamhkAAACAynjMqVAAAAAA6i8KCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DIKCwAAAAAuo7AAAAAA4DKPKixWrVqlyMhIBQQEKDY2Vrt27ao0fufOnYqNjVVAQICioqKUmppqF7Np0yZdd9118vf313XXXafNmze7a/oAAABAo+UxhcXGjRs1depUzZ49W/v27VNCQoIGDhyonJwch/EHDhzQoEGDlJCQoH379mnWrFmaPHmyNm3aZI3JysrSiBEjNHLkSH3++ecaOXKk7r33Xv3rX/+qrbQAAACARsFjCotnnnlGY8eO1bhx4xQdHa1ly5YpIiJCq1evdhifmpqqDh06aNmyZYqOjta4ceM0ZswYLV261BqzbNky9e/fXzNnzlTnzp01c+ZM3XbbbVq2bFktZQUAAAA0Dj51PQFJOn/+vPbu3asZM2bYtCcmJmr37t0Ol8nKylJiYqJN24ABA5SWlqYLFy7I19dXWVlZSk5OtouprLAoLi5WcXGx9fXp06clSadOnVJZWVl10qoxJaWFbuv71KkmtT5mXY1LruRa38f1pFxLiop0trTUreOWFBXJ59Qp2za2a70el1zJtb6P62m51obCwou5GWOqjPWIwqKgoEClpaUKCQmxaQ8JCVFeXp7DZfLy8hzGl5SUqKCgQKGhoRXGVNSnJC1evFgLFiywa+/YsaOz6dQrrVs3nnHJtWGOS64Nd1zFxtb6kGzXhjdmXY1Lrg1z3MaU6+WKiorUsmXLSmM8orAoZ7FYbF4bY+zaqoq/vL26fc6cOVMpKSnW12VlZTp58qSCgoIqXc5TFBYWKiIiQocPH1aLFi0a7Jh1NS65NsxxybVhjkuuDXNccm2Y45Kr5zLGqKioSGFhYVXGekRhERwcLG9vb7sjCfn5+XZHHMq1b9/eYbyPj4+CgoIqjamoT0ny9/eXv7+/TVurVq2cTcVjtGjRotZ31roYs67GJdeGOS65NsxxybVhjkuuDXNccvVMVR2pKOcRF2/7+fkpNjZWmZmZNu2ZmZnq2bOnw2Xi4+Pt4jMyMhQXFydfX99KYyrqEwAAAMCV8YgjFpKUkpKikSNHKi4uTvHx8XruueeUk5OjpKQkSRdPUTp69KheeOEFSVJSUpKeffZZpaSkaPz48crKylJaWpo2bNhg7XPKlCnq3bu3nnrqKQ0ePFivv/66tm/frg8++KBOcgQAAAAaKo8pLEaMGKETJ05o4cKFys3NVZcuXZSenm69aDo3N9fmmRaRkZFKT09XcnKyVq5cqbCwMK1YsULDhg2zxvTs2VOvvPKK5syZo7lz5+rqq6/Wxo0b1aNHj1rPr7b4+/tr3rx5dqdzNbQx62pccm2Y45JrwxyXXBvmuOTaMMcl14bBYpy5dxQAAAAAVMIjrrEAAAAAUL9RWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWACV+Oijj3TPPfcoNDRUfn5+Cg0N1b333qtPPvmkrqdW7xw8eFAWi0Xr16+3tu3evVvz58/XqVOn7OL79u2rvn371tr8LrVs2TL95je/UWRkpCwWS4XzWL9+vSwWi8N/eXl5To932223KSkpyfp6x44dslgsOnjwoHW97dixw/p+enq65s+f77CvTp06Wd/r27evHnroIet7+/fvl5+fnz799FOn5+aMY8eOaf78+frss8/s3qtsrrWlfH1eug4feughderUqc7mVB+U79979uyp66k47fvvv5e/v7+ysrJqZTyLxVLn+7crHM3/3XffVVxcnJo2bSqLxaItW7YoLS1N4eHhOnv2bN1MFPUGhQVQgb/85S/q1auXjhw5oqefflrbt2/XkiVLdPjwYd1888167rnn6nqK9UpoaKiysrJ05513Wtt2796tBQsWOCwsVq1apVWrVtXiDP8rNTVVhw4d0q233qq2bdtWGb9u3TplZWXZ/AsKCnJqrNdff10ffvih5s6d6/T80tPTtWDBAqfjy/3qV7/Sgw8+qOTk5GovW5ljx45pwYIFFRYWVzJXd5s7d642b95c19NADZs2bZr69++v+Pj4up5KvWSM0b333itfX19t3bpVWVlZ6tOnj0aPHq2mTZvq6aefruspwsP51PUEAE/04YcfaurUqRo0aJA2b94sH5//flTuu+8+DR06VBMnTtT//b//VzfddFOtzu3nn39WkyZNanXMmuDv76+bb77Z6fjrrrvOjbOp3FdffSUvr4t/d+nSpUuV8V26dFFcXNwVjbVo0SINHTpU4eHhV7R8dT3yyCOKi4vT7t271bNnz1oZ0xNdffXVdT0Fj1Bfv08cyc7O1pYtW/T2229XGduQ8q5Jx44d08mTJzV06FDddtttNu/9/ve/1xNPPKHp06ez7lAhjlgADixevFgWi0WrV6+2KSokycfHx/qX9MWLF1vbKzq1Yv78+bJYLDZtxhitWrVK3bp1U2BgoFq3bq3hw4frhx9+sInr27evunTpon/+85/q2bOnmjRpojFjxmjs2LFq06aNfv75Z7vxbr31Vl1//fWV5lfe765du3TzzTcrMDBQ4eHhmjt3rkpLS21iT548qYkTJyo8PFx+fn6KiorS7NmzVVxcbBP3j3/8Qz169FDLli3VpEkTRUVFacyYMdb3Lz8Vav78+XrsscckyXrK0aWnqzg6FcrZuVgsFj3yyCN68cUXFR0drSZNmuiGG27QG2+8Uel6KVdeVLjbvn379PHHH2vkyJFOL/PQQw9p5cqVkmRz6tXBgwedWj42NlbR0dFKTU2tMva7777Tww8/rGuuuUZNmjRReHi47r77bn3xxRfWmB07dliL64cfftg6n/nz51c51+p+Dj755BMlJCRY968///nPKisrs4n9+uuvdccdd6hJkyYKDg5WUlKSioqKHK7Hyz+v1dlvXn/9dcXExMjf319RUVFavny5w896RdauXasbbrhBAQEBatOmjYYOHars7Gzr+8uWLZPFYtF3331nt+z06dPl5+engoICa9v27dt12223qUWLFmrSpIl69eqld99912a58vl9+umnGj58uFq3bl3tAis3N1exsbG65ppr9O2330qSCgsLNW3aNEVGRsrPz0/h4eGaOnWqzWkzt912mzp37ixjjE1/xhj9n//zf2yOZK5evVo33HCDmjVrpubNm6tz586aNWtWlXNbvXq12rdvr/79+9u0V/Q96uzcy+PGjx+voKAgNWvWTHfccYf2799frXVXU5xZP3l5efr973+vq666Sn5+foqMjNSCBQtUUlJSYb/z58/XVVddJeniPmaxWGw+Iw8++KAKCwv1yiuvuCUvNBAGgI2SkhLTpEkT06NHj0rjunfvbpo3b25KS0uNMcaMHj3adOzY0S5u3rx55vKP2vjx442vr6959NFHzdtvv21efvll07lzZxMSEmLy8vKscX369DFt2rQxERER5i9/+Yt5//33zc6dO83nn39uJJk1a9bY9Pvll18aSWblypWVzr1Pnz4mKCjIhIWFmRUrVph33nnHTJ482UgykyZNssb98ssvJiYmxjRt2tQsXbrUZGRkmLlz5xofHx8zaNAga9zu3buNxWIx9913n0lPTzfvvfeeWbdunRk5cqQ15sCBA0aSWbdunTHGmMOHD5s//OEPRpJ57bXXTFZWlsnKyjKnT5+2zrFPnz7VnosxxkgynTp1Mt27dzd///vfTXp6uunbt6/x8fEx33//faXr5nLXX3+9zTwutW7dOiPJhISEGC8vL9O6dWszdOhQ88UXXzjV98KFC423t7cpKipyej7fffedGT58uJFkXWdZWVnm3LlzTvcxYcIEExwcbMrKyiqN27lzp3n00UfNq6++anbu3Gk2b95shgwZYgIDA83XX39tjDHm9OnT1vUwZ84c63wOHz5c5Vyr8zkICgoy11xzjUlNTTWZmZlm4sSJRpL561//ao3Ly8sz7dq1M+Hh4WbdunUmPT3dPPjgg6ZDhw5Gknn//fetsY4+r87uN2+99Zbx8vIyffv2NZs3bzb/+Mc/TI8ePUynTp3sPuuOLFq0yEgy999/v3nzzTfNCy+8YKKiokzLli3N/v37jTHGHD9+3Pj5+ZnZs2fbLFtSUmLCwsLMb37zG2vbiy++aCwWixkyZIh57bXXzLZt28xdd91lvL29zfbt261x5d9FHTt2NNOnTzeZmZlmy5YtFc6zfLt+8sknxhhjvvjiCxMREWHi4+PN8ePHjTHGnD171nTr1s0EBwebZ555xmzfvt0sX77ctGzZ0tx6663Wfez11183kkxmZqbNGG+++aaRZN58801jjDEbNmwwkswf/vAHk5GRYbZv325SU1PN5MmTq1yvUVFR5t5777Vrr+h71Nm5l5WVmX79+hl/f3/z5JNPmoyMDDNv3jwTFRVlJJl58+ZVObcLFy449a+qz6Qz6yc3N9dERESYjh07mv/3//6f2b59u3niiSeMv7+/eeihh2z6u3T+hw8fNq+99pq1/6ysLPPpp5/axEdHR9vse8DlKCyAy+Tl5RlJ5r777qs0bsSIEUaS9X+wzhYWWVlZRpL5n//5H5u4w4cPm8DAQPPHP/7R2tanTx8jybz77rt2/fbp08d069bNpm3ChAmmRYsWVf5QLe/39ddft2kfP3688fLyMocOHTLGGJOammokmb///e82cU899ZSRZDIyMowxxixdutRIMqdOnapwzMsLC2OMWbJkiZFkDhw44HCOl/6gd3Yuxhjrj/3CwkJrW15envHy8jKLFy+ucI6OVFZYvPXWW2b27Nlm27ZtZufOnebZZ581V111lWnatKn57LPPqux74MCBpnPnztWajzHGTJo0yakfsBVZs2aNkWSys7OrtVxJSYk5f/68ueaaa0xycrK1/ZNPPrHbtlXN9Uo+B//6179sYq+77jozYMAA6+vp06cbi8Vit+779+/vdGHhzH5z0003mYiICFNcXGxtKyoqMkFBQVVul59++skEBgbaFcM5OTnG39/fPPDAA9a23/zmN+aqq66y/vHCGGPS09ONJLNt2zZjzMUf9m3atDF33323TX+lpaXmhhtuMN27d7e2lX8XPf7445XOsdylhUVmZqZp0aKFGT58uPnll1+sMYsXLzZeXl7W4qPcq6++aiSZ9PR063yioqLM4MGDbeIGDhxorr76ausP6kceecS0atXKqfld6scffzSSzJ///Ge79yr6HnV27m+99ZaRZJYvX24T9+STTzpdWEhy6p+jz9ClnFk/v//9702zZs2s3+Plyr+nv/zyS5t5XTr/8u/pJUuWOOz7wQcfNCEhIZUni0aNU6GAK2T+95C+s6c+lHvjjTdksVj029/+ViUlJdZ/7du31w033GBz5xpJat26tW699Va7fqZMmaLPPvtMH374oaSLh+pffPFFjR49Ws2aNatyHs2bN9evf/1rm7YHHnhAZWVl+uc//ylJeu+999S0aVMNHz7cJq78TkPlp1qUnwpz77336u9//7uOHj1a9YqoJmfnUq5fv35q3ry59XVISIjatWunQ4cO1dic7rjjDv3pT3/SXXfdpd69e2vSpEnatWuXLBaLHn/88SqXP3bsmNq1a1dj83FW+ZhVbaeSkhItWrRI1113nfz8/OTj4yM/Pz99++23NqftXInqfg7at2+v7t2727TFxMTYbM/3339f119/vW644QabuAceeMDpeVW135w9e1Z79uzRkCFD5OfnZ41r1qyZ7r777ir7z8rK0i+//GJzty5JioiI0K233mqzHz/88MM6cuSItm/fbm1bt26d2rdvr4EDB0q6eAOEkydPavTo0TbrsaysTHfccYc++eQTu9N6hg0b5vT6kKS//vWvGjRokMaNG6e///3vCggIsL73xhtvqEuXLurWrZvN+AMGDLA5tdHLy0uPPPKI3njjDeXk5Ei6eAent99+WxMnTrR+j3bv3l2nTp3S/fffr9dff93mdK/KHDt2TJIq/Dw5+h51du7vv/++pIunAl2qOvvVJ5984tS/qvYhZ9bPG2+8oX79+iksLMwmr/J9ZufOnU7P+3Lt2rVTfn5+padUoXHj4m3gMsHBwWrSpIkOHDhQadzBgwcVGBjo9N1/yv34448yxigkJMTh+1FRUTavQ0NDHcYNHjxYnTp10sqVK9WrVy+tX79eZ8+e1aRJk5yah6Px27dvL0k6ceKE9b/t27e3K57atWsnHx8fa1zv3r21ZcsWrVixQqNGjVJxcbGuv/56zZ49W/fff79T86mKs3Mp52i7+Pv765dffqmR+VSkU6dOuuWWW/TRRx9VGfvLL79UuB+4U/kPw6rWRUpKilauXKnp06erT58+at26tby8vDRu3DiX12N1PwfObM8TJ04oMjLSLq58v3ZGVeP89NNPFc7bmW1Zvp86+lyHhYUpMzPT+nrgwIEKDQ3VunXrlJiYqJ9++klbt27VlClT5O3tLeniepRkV3Bf6uTJk2ratKn1dUXfKRV55ZVXFBgYqHHjxtl9/n788Ud999138vX1dbjspT98x4wZo8cff1ypqalatGiRVq5cqcDAQJtrsUaOHKmSkhKtWbNGw4YNU1lZmW666Sb96U9/srt24lLl2+fSoudSjnJ2du4nTpyQj4+P3b5Rnf2qW7duTsWVb9eKOLN+fvzxR23bts2pbVJdAQEBMsbo3LlzTv0BC40PhQVwGW9vb91666166623dOTIEevFbJc6cuSI9u7dqzvuuMPaFhAQYHcRsWT/JR4cHCyLxaJdu3bJ39/fLv7ytoqOiHh5eWnSpEmaNWuW/ud//kerVq3SbbfdpmuvvdapPMt/kFyq/NkL5f8DDQoK0r/+9S8ZY2zmUf4Xq+DgYGvb4MGDNXjwYBUXF+ujjz7S4sWL9cADD6hTp041cuvH6sylrhljnLoAPDg4WCdPnqyFGdkqH7Oqdfa3v/1No0aN0qJFi2zaCwoK1KpVK5fmUN3PgTOCgoIcPj+kOs8UqUrr1q1lsVgq/fxUpvyzlZuba/fesWPHbLaJt7e3Ro4cqRUrVujUqVN6+eWXVVxcrIcfftgaUx7/l7/8pcK7rl1e8FT3KOtLL72kuXPnqk+fPsrIyLD5kRwcHKzAwECtXbvW4bKX5tOyZUuNHj1azz//vKZNm6Z169bpgQcesNuXHn74YT388MM6e/as/vnPf2revHm66667tH//fnXs2LHScSr6PDnK2dm5BwUFqaSkRCdOnLApLqqzX1X0I/9y69atszuadbmq1k9wcLBiYmL05JNPOlw+LCzM6Xlf7uTJk/L396eoQIU4FQpwYMaMGTLGaOLEiXZ3SSotLdWECRNUWlqqKVOmWNs7deqk/Px8mx8c58+f1zvvvGOz/F133SVjjI4ePaq4uDi7f127dnV6nuPGjZOfn58efPBBffPNN3rkkUecXraoqEhbt261aXv55Zfl5eWl3r17S7p4J5czZ85oy5YtNnEvvPCC9f3L+fv7q0+fPnrqqackXbzzUUXKfzw689fvK5lLXThw4IA+/PBDp26t27lzZ7s7IDmjOuvNkR9++EFeXl5VFqEWi8XuB/6bb75pdwpVZfOp6L2a/ByU69evn7788kt9/vnnNu0vv/xytfuqSNOmTRUXF6ctW7bo/Pnz1vYzZ844ddex+Ph4BQYG6m9/+5tN+5EjR/Tee+/Z7ccPP/ywzp07pw0bNmj9+vWKj49X586dre/36tVLrVq10ldffeVwPcbFxdmcsnUl2rRpo+3btys6Olr9+vWzORp311136fvvv1dQUJDDsS+/89bkyZNVUFCg4cOH69SpU5V+ZzVt2lQDBw7U7Nmzdf78eX355ZcVxnbs2FGBgYH6/vvvnc7L2bn369dP0sUC61LV2a9q6lSoS1W0fu666y795z//0dVXX+0wL1cKix9++KFObwUOz8cRC8CBXr16admyZZoyZYpuueUWPfLII+rQoYNycnK0cuVKZWVlaf78+TaH5keMGKHHH39c9913nx577DGdO3dOK1assCtMevXqpd/97nd6+OGHtWfPHvXu3VtNmzZVbm6uPvjgA3Xt2lUTJkxwap6tWrXSqFGjtHr1anXs2LFa/1MKCgrShAkTlJOTo1/96ldKT0/XmjVrNGHCBHXo0EGSNGrUKK1cuVKjR4/WwYMH1bVrV33wwQdatGiRBg0apNtvv12S9Pjjj+vIkSO67bbbdNVVV+nUqVNavny5fH191adPnwrnUP7jcfny5Ro9erR8fX117bXX2pzjXs7ZudSEPXv2WG+JWlhYKGOMXn31VUkXrycp/6vp7bffrt69eysmJkYtWrTQF198oaeffloWi0VPPPFEleP07dtXa9eu1f79+/WrX/3K6fmVr7ennnpKAwcOlLe3t2JiYpz+AfnRRx+pW7duat26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9atf6cEHH1RycnK1l63MsWPHtGDBggoLiyuZq7vNnTtXmzdvrutpoIZNmzZN/fv3V3x8fF1PpV4yxujee++Vr6+vtm7dqqysLPXp00ejR49W06ZN9fTTT9f1FOHhfOp6AoAn+vDDDzV16lQNGjRImzdvlo/Pfz8q9913n4YOHaqJEyfq//7f/6ubbrqpVuf2888/q0mTJrU6Zk3w9/fXzTff7HT8dddd58bZVOy+++7TpEmTZLFYrG0DBw5UQUGBnnrqKU2fPl3+/v6SpN69e+v48eOSpD179mjDhg3VHm/RokUaOnSowsPDayaBKjzyyCOKi4vT7t271bNnz1oZ0xNdffXVdT0Fj1Bfv08cyc7O1pYtW/T2229XGduQ8q5Jx44d08mTJzV06FDddtttNu/9/ve/1xNPPKHp06ez7lAhjlgADixevFgWi0WrV6+2KSokycfHx/qX9MWLF1vbKzq1Yv78+TY/UqWLfxVatWqVunXrpsDAQLVu3VrDhw/XDz/8YBPXt29fdenSRf/85z/Vs2dPNWnSRGPGjNHYsWPVpk0b/fzzz3bj3Xrrrbr++usrza+83127dunmm29WYGCgwsPDNXfuXJWWltrEnjx5UhMnTlR4eLj8/PwUFRWl2bNnq7i42CbuH//4h3r06KGWLVuqSZMmioqK0pgxY6zvX34q1Pz58/XYY49JkiIjI2WxWGxOV3F0KpSzc7FYLHrkkUf04osvKjo6Wk2aNNENN9ygN954o9L1IknBwcF220uSunfvrp9//lknT560tnl5ufYVum/fPn388ccaOXKk08s89NBDWrlypSRZ11n5aVPOiI2NVXR0tFJTU6uM/e677/Twww/rmmuuUZMmTRQeHq67775bX3zxhTVmx44d1uL64Ycfts5n/vz5Vc61up+DTz75RAkJCdb9689//rPKyspsYr/++mvdcccdatKkiYKDg5WUlKSioiKH6/Hyz2t19pvXX39dMTEx8vf3V1RUlJYvX+7ws16RtWvX6oYbblBAQIDatGmjoUOHKjs72/r+smXLZLFY9N1339ktO336dPn5+amgoMDatn37dt12221q0aKFmjRpol69eundd9+1Wa58fp9++qmGDx+u1q1bV7vAys3NVWxsrK655hp9++23kqTCwkJNmzZNkZGR8vPzU3h4uKZOnWpz2sxtt92mzp07yxhj058xRv/n//wfmyOZq1ev1g033KBmzZqpefPm6ty5s2bNmlXl3FavXq327durf//+Nu0VfY86O/fyuPHjxysoKEjNmjXTHXfcof3791dr3dUUZ9ZPXl6efv/73+uqq66Sn5+fIiMjtWDBApWUlFTY7/z583XVVVdJuriPWSwWm8/Igw8+qMLCQr3yyituyQsNhAFgo6SkxDRp0sT06NGj0rju3bub5s2bm9LSUmOMMaNHjzYdO3a0i5s3b565/KM2fvx44+vrax599FHz9ttvm5dfftl07tzZhISEmLy8PGtcnz59TJs2bUxERIT5y1/+Yt5//32zc+dO8/nnnxtJZs2aNTb9fvnll0aSWblyZaVz79OnjwkKCjJhYWFmxYoV5p133jGTJ082ksykSZOscb/88ouJiYkxTZs2NUuXLjUZGRlm7ty5xsfHxwwaNMgat3v3bmOxWMx9991n0tPTzXvvvWfWrVtnRo4caY05cOCAkWTWrVtnjDHm8OHD5g9/+IORZF577TWTlZVlsrKyzOnTp61z7NOnT7XnYowxkkynTp1M9+7dzd///neTnp5u+vbta3x8fMz3339f6bqpSN++fU3btm1NSUmJw/c/+eQTm/ycsXDhQuPt7W2KioqcXua7774zw4cPN5Ks6ywrK8ucO3fO6T4mTJhggoODTVlZWaVxO3fuNI8++qh59dVXzc6dO83mzZvNkCFDTGBgoPn666+NMcacPn3arFu3zkgyc+bMsc7n8OHDVc61Op+DoKAgc80115jU1FSTmZlpJk6caCSZv/71r9a4vLw8065dOxMeHm7WrVtn0tPTzYMPPmg6dOhgJJn333/fGuvo8+rsfvPWW28ZLy8v07dvX7N582bzj3/8w/To0cN06tTJ7rPuyKJFi4wkc//995s333zTvPDCCyYqKsq0bNnS7N+/3xhjzPHjx42fn5+ZPXu2zbIlJSUmLCzM/OY3v7G2vfjii8ZisZghQ4aY1157zWzbts3cddddxtvb22zfvt0aV/5d1LFjRzN9+nSTmZlptmzZUuE8y7frJ598Yowx5osvvjAREREmPj7eHD9+3BhjzNmzZ023bt1McHCweeaZZ8z27dvN8uXLTcuWLc2tt95q3cdef/11I8lkZmbajPHmm28aSebNN980xhizYcMGI8n84Q9/MBkZGWb79u0mNTXV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rVql2267Tddee61TeZb/ILlUXl6epP/+uAoKCtK//vUvGWNs5lH+F6vg4GBr2+DBgzV48GAVFxfro48+0uLFi/XAAw+oU6dONXLrx+rMpSa88847GjJkiPr06aNNmzbZ/HW6pgQHB9tcDF5bysesap397W9/06hRo7Ro0SKb9oKCArVq1cqlOVT3c+CMoKAg6z58KUdtV6p169ayWCyVfn4qU/7Zys3NtXvv2LFjNtvE29tbI0eO1IoVK3Tq1Cm9/PLLKi4u1sMPP2yNKY//y1/+UuFd1y4veKpbIL/00kuaO3eu+vTpo4yMDJsfycHBwQoMDNTatWsdLntpPi1bttTo0aP1/PPPa9q0aVq3bp0eeOABu33p4Ycf1sMPP6yzZ8/qn//8p+bNm6e77rpL+/fvV8eOHSsdp6LPk6OcnZ17UFCQSkpKdOLECZviojr7VUU/8i+3bt06u6NZl6tq/QQHBysmJkZPPvmkw+XDwsKcnvflTp48KX9/f4oKVIhToQAHZsyYIWOMJk6caHeXpNLSUk2YMEGlpaWaMmWKtb1Tp07Kz8+3+cFx/vx5vfPOOzbL33XXXTLG6OjRo4qLi7P717VrV6fnOW7cOPn5+enBBx/UN998o0ceecTpZYuKirR161abtpdfflleXl7q3bu3pIt3cjlz5oy2bNliE/fCCy9Y37+cv7+/+vTpo6eeekrSxTsfVaT8x6Mzf/2+krlcqYyMDA0ZMkS33HKLtmzZckU/cp3RuXNnuzsgOaM6682RH374QV5eXlUWoRaLxS73N9980+4UqsrmU9F7Nfk5KNevXz99+eWX+vzzz23aX3755Wr3VZGmTZsqLi5OW7Zs0fnz563tZ86ccequY/Hx8QoMDNTf/vY3m/YjR47ovffes9uPH374YZ07d04bNmzQ+vXrFR8fr86dO1vf79Wrl1q1aqWvvvrK4XqMi4tzuShu06aNtm/frujoaPXr108fffSR9b277rpL33//vYKCghyOffmdtyZPnqyCggINHz5cp06dqvQ7q2nTpho4cKBmz56t8+fP68svv6wwtmPHjgoMDNT333/vdF7Ozr1fv36SLhZYl6rOflVTp0JdqqL1c9ddd+k///mPrr76aod5uVJY/PDDD3V2K3DUDxyxABzo1auXli1bpilTpuiWW27RI488og4dOignJ0crV65UVlaW5s+fb3NofsSIEXr88cd133336bHHHtO5c+e0YsUKu8KkV69e+t3vfqeHH35Ye/bsUe/evdW0aVPl5ubqgw8+UNeuXTVhwgSn5tmqVSuNGjVKq1evVseOHav1P6WgoCBNmDBBOTk5+tWvfqX09HStWbNGEyZMUIcOHSRJo0aN0sqVKzV69GgdPHhQXbt21QcffKBFixZp0KBBuv322yVJjz/+uI4cOaLbbrtNV111lU6dOqXly5fL19dXffr0qXAO5T8ely9frtGjR8vX11fXXnutzTnu5Zydi6s++OADDRkyRO3bt9esWbPsHvp23XXXqUWLFtbX5U/kLi8Q9uzZY/1rXmWnp0gXb4O5du1a7d+/X7/61a+cnmP5envqqac0cOBAeXt7KyYmxukfkB999JG6deum1q1bVxp31113af369ercubNiYmK0d+9eLVmyxO4o3tVXX63AwEC99NJLio6OVrNmzRQWFqawsLAK51qTn4NyU6dO1dq1a3XnnXfqT3/6k0JCQvTSSy/p66+/rlY/VVm4cKHuvPNODRgwQFOmTFFpaamWLFmiZs2aVXkEqlWrVpo7d65mzZqlUaNG6f7779eJEye0YMECBQQEaN68eTbxnTt3Vnx8vBYvXqzDhw/bPZizWbNm+stf/qLRo0fr5MmTGj58uNq1a6fjx4/r888/1/Hjx7V69WqXc27evLnefvtt66mBW7duVb9+/TR16lRt2rRJvXv3VnJysmJiYlRWVqacnBxlZGTo0UcfVY8ePaz9/OpXv9Idd9yht956S7fccovd9TDjx49XYGCgevXqpdDQUOXl5Wnx4sVq2bJlpc8M8vPzU3x8vE3RUxVn556YmKjevXvrj3/8o86ePau4uDh9+OGHevHFF50eKy4uzunYyjizfhYuXKjMzEz17NlTkydP1rXXXqtz587p4MGDSk9PV2pqqsMj8VUpKyvTxx9/rLFjx9ZILmig6uqqcaA+2L17txk2bJgJCQkxXl5eRpIJCAiw3hrxcunp6aZbt24mMDDQREVFmWeffdbh7WaNMWbt2rWmR48epmnTpiYwMNBcffXVZtSoUWbPnj3WmD59+pjrr7++0jnu2LGjwruhVKS83x07dpi4uDjj7+9vQkNDzaxZs8yFCxdsYk+cOGGSkpJMaGio8fHxMR07djQzZ860ub3pG2+8YQYOHGjCw8ONn5+fadeunRk0aJDZtWuXNcbRXaGMMWbmzJkmLCzMun7L79xz+V2hnJ2LMcbutrnlOnbsaEaPHl3puinfXhX9u/TOQuVjVfSvKqdPnzbNmjUzTz/9dJWxlyouLjbjxo0zbdu2NRaLpcI7azlSVFRkmjRpYnc3Jkd++uknM3bsWNOuXTvTpEkTc8stt5hdu3Y53DYbNmwwnTt3Nr6+vjZ3mqlqrq58Dhzd2emrr74y/fv3NwEBAaZNmzZm7Nix1ludOnNXKGf3m82bN5uuXbsaPz8/06FDB/PnP//ZTJ482bRu3brC9Xmp559/3sTExBg/Pz/TsmVLM3jwYJu79VzqueeeM5JMYGCg9XbMl9u5c6e58847TZs2bYyvr68JDw83d955p/nHP/5hjSnft8vvZFeVy283a8zF7Tls2DCb78EzZ86YOXPmmGuvvdaaT9euXU1ycrLNbYPLrV+/3kgyr7zyit17f/3rX02/fv1MSEiI8fPzM2FhYebee+81//73v6ucb1pamvH29jbHjh2zaa/se9TZuZ86dcqMGTPGtGrVyjRp0sT079/ffP31107fFaqmOLt+jh8/biZPnmwiIyONr6+vadOmjYmNjTWzZ882Z86cscZdPv/K7gr17rvvGklm7969bssP9Z/FmMueVgOgQi+88IJGjx6tP/7xj9ZTferao48+qtWrV+vw4cNOX0jet29fFRQU6D//+Y+bZ4eq/OEPf9C7776rL7/8ssYvDnckLS1NU6ZM0eHDh6s8YgHnXbhwQd26dVN4eLgyMjLqejoebdiwYfroo4908OBBp689cMa5c+fUoUMHPfroo5o+fXqN9YuLRo4cqR9++MF6J0LAEU6FAqph1KhRys3N1YwZM9S0aVM9/vjjdTaXjz76SPv379eqVav0+9//vtp3p4JnmDNnjl544QVt2rSpylOnXFVSUqKnnnpKM2fOpKhw0dixY9W/f3/r6SipqanKzs7W8uXL63pqHqm4uFiffvqpPv74Y23evFnPPPNMjRYV0sUbaCxYsEDz58/XI488YnMnLLjm+++/18aNG/Xee+/V9VTg4ThiAdRTFotFTZo00aBBg7Ru3bpq3aWDIxae5Y033tBPP/2kkSNHunWcAwcO6MUXX9Qf//jHCm/LCefce++92r17t44fPy5fX1/deOONmjVrls2d4vBfBw8eVGRkpFq0aKEHHnhAzz77bJW3Vr0SpaWlevrpp3XXXXdd0Q0A4Nj777+vb7/9Vr/73e/qeirwcBQWAAAAAFzG7WYBAAAAuIzCAgAAAIDLKCwAAAAAuIzCAgAAAIDLuN1sFcrKynTs2DE1b968Vu4xDwAAAHgKY4yKiooUFhYmL6/Kj0lQWFTh2LFjioiIqOtpAAAAAHXm8OHDuuqqqyqNobCoQvPmzSVdXJktWrSo49kAAAAAtaewsFARERHW38SVobCoQvnpTy1atKCwAAAAQKPkzCUBXLwNAAAAwGUUFgAAAABcRmEBAAAAwGUUFgAAAABcRmEBAAAAwGXcFQoAAAA1bsiAY27tf8s7YW7tH9XHEQsAAAAALqOwAAAAAOAyCgsAAAAALqOwAAAAAOAyjyosVq1apcjISAUEBCg2Nla7du2qNH7nzp2KjY1VQECAoqKilJqaahezbNkyXXvttQoMDFRERISSk5N17tw5d6UAAAAANEoeU1hs3LhRU6dO1ezZs7Vv3z4lJCRo4MCBysnJcRh/4MABDRo0SAkJCdq3b59mzZqlyZMna9OmTdaYl156STNmzNC8efOUnZ2ttLQ0bdy4UTNnzqyttAAAAIBGwWKMMXU9CUnq0aOHbrzxRq1evdraFh0drSFDhmjx4sV28dOnT9fWrVuVnZ1tbUtKStLnn3+urKwsSdIjjzyi7Oxsvfvuu9aYRx99VB9//HGVR0PKFRYWqmXLljp9+rRatGhxpekBAAA0KtxutmGozm9hjzhicf78ee3du1eJiYk27YmJidq9e7fDZbKysuziBwwYoD179ujChQuSpFtuuUV79+7Vxx9/LEn64YcflJ6erjvvvNMNWQAAAACNl0c8IK+goEClpaUKCQmxaQ8JCVFeXp7DZfLy8hzGl5SUqKCgQKGhobrvvvt0/Phx3XLLLTLGqKSkRBMmTNCMGTMqnEtxcbGKi4utrwsLCyVJZWVlKisru9IUAQAAGhWLxb0nxfC7rHZUZz17RGFRzmKx2Lw2xti1VRV/afuOHTv05JNPatWqVerRo4e+++47TZkyRaGhoZo7d67DPhcvXqwFCxbYtR8/fpyLvgEAAJx0VYfTbu0/P9/brf3joqKiIqdjPaKwCA4Olre3t93Rifz8fLujEuXat2/vMN7Hx0dBQUGSpLlz52rkyJEaN26cJKlr1646e/asfve732n27Nny8rI/E2zmzJlKSUmxvi4sLFRERITatm3LNRYAAABOOpJT6tb+27Vr59b+cVFAQIDTsR5RWPj5+Sk2NlaZmZkaOnSotT0zM1ODBw92uEx8fLy2bdtm05aRkaG4uDj5+vpKkn7++We74sHb21vGGFV0zbq/v7/8/f3t2r28vBwWIgAAALBnTMVnndQEfpfVjuqsZ4/ZIikpKXr++ee1du1aZWdnKzk5WTk5OUpKSpJ08UjCqFGjrPFJSUk6dOiQUlJSlJ2drbVr1yotLU3Tpk2zxtx9991avXq1XnnlFR04cECZmZmaO3eufv3rX8vbm8NnAAAAQE3xiCMWkjRixAidOHFCCxcuVG5urrp06aL09HR17NhRkpSbm2vzTIvIyEilp6crOTlZK1euVFhYmFasWKFhw4ZZY+bMmSOLxaI5c+bo6NGjatu2re6++249+eSTtZ4fAAAA0JB5zHMsPBXPsQAAAKg+nmPRMNS751gAAAAAqN8oLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMs8qrBYtWqVIiMjFRAQoNjYWO3atavS+J07dyo2NlYBAQGKiopSamqqXcypU6c0adIkhYaGKiAgQNHR0UpPT3dXCgAAAECj5DGFxcaNGzV16lTNnj1b+/btU0JCggYOHKicnByH8QcOHNCgQYOUkJCgffv2adasWZo8ebI2bdpkjTl//rz69++vgwcP6tVXX9U333yjNWvWKDw8vLbSAgAAABoFizHG1PUkJKlHjx668cYbtXr1amtbdHS0hgwZosWLF9vFT58+XVu3blV2dra1LSkpSZ9//rmysrIkSampqVqyZIm+/vpr+fr6XtG8CgsL1bJlS50+fVotWrS4oj4AAAAamyEDjrm1/y3vhLm1f1xUnd/CHnHE4vz589q7d68SExNt2hMTE7V7926Hy2RlZdnFDxgwQHv27NGFCxckSVu3blV8fLwmTZqkkJAQdenSRYsWLVJpaal7EgEAAAAaKZ+6noAkFRQUqLS0VCEhITbtISEhysvLc7hMXl6ew/iSkhIVFBQoNDRUP/zwg9577z09+OCDSk9P17fffqtJkyappKREjz/+uMN+i4uLVVxcbH1dWFgoSSorK1NZWZkraQIAADQaFot7T4rhd1ntqM569ojCopzFYrF5bYyxa6sq/tL2srIytWvXTs8995y8vb0VGxurY8eOacmSJRUWFosXL9aCBQvs2o8fP65z585VKx8AAIDG6qoOp93af36+t1v7x0VFRUVOx3pEYREcHCxvb2+7oxP5+fl2RyXKtW/f3mG8j4+PgoKCJEmhoaHy9fWVt/d/d7zo6Gjl5eXp/Pnz8vPzs+t35syZSklJsb4uLCxURESE2rZtyzUWAAAATjqS495Tz9u1a+fW/nFRQECA07EeUVj4+fkpNjZWmZmZGjp0qLU9MzNTgwcPdrhMfHy8tm3bZtOWkZGhuLg464XavXr10ssvv6yysjJ5eV28nGT//v0KDQ11WFRIkr+/v/z9/e3avby8rH0AAACgcsZUfNZJTeB3We2oznr2mC2SkpKi559/XmvXrlV2draSk5OVk5OjpKQkSRePJIwaNcoan5SUpEOHDiklJUXZ2dlau3at0tLSNG3aNGvMhAkTdOLECU2ZMkX79+/Xm2++qUWLFmnSpEm1nh8AAADQkHnEEQtJGjFihE6cOKGFCxcqNzdXXbp0UXp6ujp27ChJys3NtXmmRWRkpNLT05WcnKyVK1cqLCxMK1as0LBhw6wxERERysjIUHJysmJiYhQeHq4pU6Zo+vTptZ4fAAAA0JB5zHMsPBXPsQAAAKg+nmPRMNS751gAAAAAqN8oLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4jMICAAAAgMsoLAAAAAC4zKeuJwCg9gwZcMyt/W95J8yt/cMxtisA/Jc7vxP5PqwcRywAAAAAuMzlwsLLy0v79++vibkAAAAAqKdcPhWqrKysJuYBAAAAoB7jVCgAAAAALuPibQCoQVw0CABorDhiAQAAAMBlFBYAAAAAXFZjhUVubq6Ki4trqjsAAAAA9UiNXWMxcuRIff/99xo2bJiWLl1aU90CAAAAHq0sP19lp0+7rX+vli3l1a6d2/qvKTVWWGzfvl2S9PXXX9dUl/hfXAyK+o59uGFiu6Km8PR41Gdl+fkqfOgh6cIF9w3i66sW69d7fHFxxYXFwIEDFRMTo5iYGHXt2lXR0dHy9fVV586da3J+gNvxP7SGie3aMLFd3Y+CsWFiu7pP2enT7i0qJOnCBZWdPt1wC4vo6Gh99dVXKi0t1YsvvqgdO3aoc+fOuv7669W1a1fNmDGjJucJAAAAwINdcWHxwQcf6OOPP7a+fvvtt/XRRx9p0KBB+ve//10jkwMAAABQP1zxXaF8fX21f/9+6+s77rhDW7duVffu3TVu3LgamRwAAACA+uGKj1g899xzGj16tG666SbdcMMN2r9/v7y8eCwGAAAA0BhdcSVw/fXX64MPPlBCQoIOHjyo9u3b66233qrJuQEAAACoJ5w+YjFkyBAtXLhQMTEx1jZvb2/dc889uueee9wyOQAAAAD1g9NHLAYNGmQtIr766itre05Ojq699toamcyqVasUGRmpgIAAxcbGateuXZXG79y5U7GxsQoICFBUVJRSU1MrjH3llVdksVg0ZMiQGpkrAAAAgP9yurC48cYbdc0112jz5s2KiYlRz5491a9fP3Xv3l3Nmzd3eSIbN27U1KlTNXv2bO3bt08JCQkaOHCgcnJyHMYfOHBAgwYNUkJCgvbt26dZs2Zp8uTJ2rRpk13soUOHNG3aNCUkJLg8TwAAAAD2nC4sRo0apYCAAG3YsEGbNm3S4MGD9cUXX+iqq65SRkaGyxN55plnNHbsWI0bN07R0dFatmyZIiIitHr1aofxqamp6tChg5YtW6bo6GiNGzdOY8aM0dKlS23iSktL9eCDD2rBggWKiopyeZ4AAAAA7Dl9jcXBgwe1bds2XX311ZKkwYMHa/z48XrggQf02GOPKS0t7Yoncf78ee3du9fuoXqJiYnavXu3w2WysrKUmJho0zZgwAClpaXpwoUL8vX1lSQtXLhQbdu21dixY6s8tUqSiouLVVxcbH1dWFgoSSorK1NZWVm18qopFotxW991lZMncef6lTxrHddVrnWxD5Nr/R7X03JtTNiuDVNj2q61nWuZMTIWi9vGvHScutiXqzOm04VFjx499Nprr+mxxx6ztrVp00bLly/XjTfe6FJhUVBQoNLSUoWEhNi0h4SEKC8vz+EyeXl5DuNLSkpUUFCg0NBQffjhh0pLS9Nnn33m9FwWL16sBQsW2LUfP35c586dc7qfmnRVh9Nu6zs/39ttfdcX7ly/kmet47rKtS72YXKt3+N6Wq6NCdu1YWpM27W2cy09c0a/dOzotjHL/XzmjLzz890+zuWKioqcjnW6sHjqqafUt29f/ec//9GECRMUGxsrSXr11VfVtGnT6s/SActl1Z4xxq6tqvjy9qKiIv32t7/VmjVrFBwc7PQcZs6cqZSUFOvrwsJCRUREqG3btmrRooXT/dSkIzmlbuu7Xbt2buu7vnDn+pU8ax3XVa51sQ+Ta/0e19NybUzYrg1TY9qutZ1rSWGhzh465LYxyzVt1kw+dbAvBwQEOB3rdGHRvXt3vffee3r00UfVs2dPWSwWeXt7q6SkRE888cQVTbRccHCwvL297Y5O5Ofn2x2VKNe+fXuH8T4+PgoKCtKXX36pgwcP6u6777a+X34ox8fHR9988431tK5L+fv7y9/f367dy8urzh4AaIz7Dq/xUEP3rl/Js9ZxXeVaF/swudbvcT0t17owZMAxt/a/5Z0wh+1s14apMW3X2s7Vy2KRxbj3tK/ycepiX67OmNV68vbNN9+sDz/8UEePHlV2drZOnz6tbt26OfyBXh1+fn6KjY1VZmamhg4dam3PzMzU4MGDHS4THx+vbdu22bRlZGQoLi5Ovr6+6ty5s7744gub9+fMmaOioiItX75cERERLs0ZAAAAwH9Vq7AoFx4ervDw8BqdSEpKikaOHKm4uDjFx8frueeeU05OjpKSkiRdPEXp6NGjeuGFFyRJSUlJevbZZ5WSkqLx48crKytLaWlp2rBhg6SLh226dOliM0arVq0kya4dAAAAgGuuqLBwhxEjRujEiRNauHChcnNz1aVLF6Wnp6vj/14Mk5uba/NMi8jISKWnpys5OVkrV65UWFiYVqxYoWHDhtVVCkC1uPM0h4pOcQBwZfi8AkDVPKawkKSJEydq4sSJDt9bv369XVufPn306aefOt2/oz4AAAAAuI6rmQAAAAC4zKOOWMBz1NXdSAAAqC2c4gbULI5YAAAAAHAZhQUAAAAAl1FYAAAAAHAZhQUAAAAAl3HxNjwKF9IBABoybo6ChowjFgAAAABcRmEBAAAAwGUUFgAAAABcRmEBAAAAoFZvjgAADnlJREFUwGUUFgAAAABcRmEBAAAAwGUUFgAAAABcRmEBAAAAwGUUFgAAAABcRmEBAAAAwGUUFgAAAABcRmEBAAAAwGUUFgAAAABcRmEBAAAAwGUUFgAAAABcRmEBAAAAwGUUFgAAAABcRmEBAAAAwGUUFgAAAABcRmEBAAAAwGUeVVisWrVKkZGRCggIUGxsrHbt2lVp/M6dOxUbG6uAgABFRUUpNTXV5v01a9YoISFBrVu3VuvWrXX77bfr448/dmcKAAAAQKPkMYXFxo0bNXXqVM2ePVv79u1TQkKCBg4cqJycHIfxBw4c0KBBg5SQkKB9+/Zp1qxZmjx5sjZt2mSN2bFjh+6//369//77ysrKUocOHZSYmKijR4/WVloAAABAo+AxhcUzzzyjsWPHaty4cYqOjtayZcsUERGh1atXO4xPTU1Vhw4dtGzZMkVHR2vcuHEaM2aMli5dao156aWXNHHiRHXr1k2dO3fWmjVrVFZWpnfffbe20gIAAAAaBZ+6noAknT9/Xnv37tWMGTNs2hMTE7V7926Hy2RlZSkxMdGmbcCAAUpLS9OFCxfk6+trt8zPP/+sCxcuqE2bNhXOpbi4WMXFxdbXhYWFkqSysjKVlZU5nVNNsliM2/quKCd3jllX45Irudb3ccmVXOv7uORKrvV9XEdjlhkjY7G4bcxLx6mL36LVGdMjCouCggKVlpYqJCTEpj0kJER5eXkOl8nLy3MYX1JSooKCAoWGhtotM2PGDIWHh+v222+vcC6LFy/WggUL7NqPHz+uc+fOOZNOjbuqw2m39Z2f713rY9bVuORKrvV9XHIl1/o+LrmSa30f19GYpWfO6JeOHd02Zrmfz5yRd36+28e5XFFRkdOxHlFYlLNcVu0ZY+zaqop31C5JTz/9tDZs2KAdO3YoICCgwj5nzpyplJQU6+vCwkJFRESobdu2atGihVN51LQjOaVu67tdu3a1PmZdjUuu5FrfxyVXcq3v45Irudb3cR2NWVJYqLOHDrltzHJNmzWTTwU5u1Nlv5sv5xGFRXBwsLy9ve2OTuTn59sdlSjXvn17h/E+Pj4KCgqyaV+6dKkWLVqk7du3KyYmptK5+Pv7y9/f367dy8tLXl51c0mKMe47vFZRTu4cs67GJVdyre/jkiu51vdxyZVc6/u4jsb0slhkMe497at8nLr4LVqdMT3i4m0/Pz/FxsYqMzPTpj0zM1M9e/Z0uEx8fLxdfEZGhuLi4myur1iyZImeeOIJvf3224qLi6v5yQMAAADwjMJCklJSUvT8889r7dq1ys7OVnJysnJycpSUlCTp4ilKo0aNssYnJSXp0KFDSklJUXZ2ttauXau0tDRNmzbNGvP0009rzpw5Wrt2rTp16qS8vDzl5eXpzJkztZ4fAAAA0JB5xKlQkjRixAidOHFCCxcuVG5urrp06aL09HR1/N+LYXJzc22eaREZGan09HQlJydr5cqVCgsL04oVKzRs2DBrzKpVq3T+/HkNHz7cZqx58+Zp/vz5tZIXAAAA0Bh4TGEhSRMnTtTEiRMdvrd+/Xq7tj59+ujTTz+tsL+DBw/W0MwAAAAAVMZjToUCAAAAUH9RWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJdRWAAAAABwGYUFAAAAAJd5VGGxatUqRUZGKiAgQLGxsdq1a1el8Tt37lRsbKwCAgIUFRWl1NRUu5hNmzbpuuuuk7+/v6677jpt3rzZXdMHAAAAGi2PKSw2btyoqVOnavbs2dq3b58SEhI0cOBA5eTkOIw/cOCABg0apISEBO3bt0+zZs3S5MmTtWnTJmtMVlaWRowYoZEjR+rzzz/XyJEjde+99+pf//pXbaUFAAAANAoeU1g888wzGjt2rMaNG6fo6GgtW7ZMERERWr16tcP41NRUdejQQcuWLVN0dLTGjRunMWPGaOnSpdaYZcuWqX///po5c6Y6d+6smTNn6rbbbtOyZctqKSsAAACgcfCIwuL8+fPau3evEhMTbdoTExO1e/duh8tkZWXZxQ8YMEB79uzRhQsXKo2pqE8AAAAAV8anricgSQUFBSotLVVISIhNe0hIiPLy8hwuk5eX5zC+pKREBQUFCg0NrTCmoj4lqbi4WMXFxdbXp0+fliSdOnVKZWVl1cqrppSUFrqt71OnmtT6mHU1LrmSa30fl1zJtb6PS67kWt/HdTRmSVGRzpaWum3MS8fxOXXK7eNcrrDw4vo0xlQZ6xGFRTmLxWLz2hhj11ZV/OXt1e1z8eLFWrBggV17x44dK554Pda6deMZl1wb5rjk2jDHJdeGOS65NsxxybWWxMbW4eBSUVGRWrZsWWmMRxQWwcHB8vb2tjuSkJ+fb3fEoVz79u0dxvv4+CgoKKjSmIr6lKSZM2cqJSXF+rqsrEwnT55UUFBQpQWJpygsLFRERIQOHz6sFi1aNNgx62pccm2Y45JrwxyXXBvmuOTaMMclV89ljFFRUZHCwsKqjPWIwsLPz0+xsbHKzMzU0KFDre2ZmZkaPHiww2Xi4+O1bds2m7aMjAzFxcXJ19fXGpOZmank5GSbmJ49e1Y4F39/f/n7+9u0tWrVqrop1bkWLVrU+s5aF2PW1bjk2jDHJdeGOS65NsxxybVhjkuunqmqIxXlPKKwkKSUlBSNHDlScXFxio+P13PPPaecnBwlJSVJungk4ejRo3rhhRckSUlJSXr22WeVkpKi8ePHKysrS2lpadqwYYO1zylTpqh379566qmnNHjwYL3++uvavn27PvjggzrJEQAAAGioPKawGDFihE6cOKGFCxcqNzdXXbp0UXp6uvXahtzcXJtnWkRGRio9PV3JyclauXKlwsLCtGLFCg0bNswa07NnT73yyiuaM2eO5s6dq6uvvlobN25Ujx49aj0/AAAAoCHzmMJCkiZOnKiJEyc6fG/9+vV2bX369NGnn35aaZ/Dhw/X8OHDa2J69YK/v7/mzZtndzpXQxuzrsYl14Y5Lrk2zHHJtWGOS64Nc1xybRgsxpl7RwEAAABAJTziAXkAAAAA6jcKCwAAAAAuo7AAAAAA4DIKiwagoKDAqbaGIj8/X7t27ZIklZSU6Pz583U8I/fYtm2bTp06ZX39008/6Y033qi7CblRY9uHy50+fVr/+c9/6noabtMYt+uPP/6o/Pz8up5Gg9MY96XG8v+6xqKx7MMUFg1AYmKiU23uUFZWpmPHjiknJ8f6z51ee+01de/eXSNHjpQkffnllxoyZIhbx6wrc+fOtXk4Y6tWrTR37ly3j1tQUKA//OEP6t27t7p372795051uQ/XtjvuuEOnTp3SmTNndMMNN+iuu+7S448/7vZx2a7ulZ2d/f/bu5+XVL4wDODP6KJok1FERCBEZFBm/ojKiEoXWhspgiBcterHX1AQRFBU66CWQf9AIISbok2Wi6BNKbiIFpERJS0yguy9q7xd+G6+186cbj0fEBxdPKPn8J55cWaE0+lES0sLHA4H2tvbkU6nTck2uw7roHsuca37XlgP1WFj8Q97fX1FPp/H29sbnp+fkc/nkc/ncXNzg3w+rzx/e3sbNpsNTqcTXq8XXq8XPp9PaebKygpOT09RVVUFAHC5XLi6ulKa+VUYhoG3tzflOZOTk2hoaEA2m8XCwgJqa2sRCoWUZOmewzrc3t7CZrNhb28PkUgEmUwGu7u7ynM5rmrNzMxgbm4OuVwOuVwO8/PzmJ6eVp6row6b6SvMJa51aqVSKUSjUfj9ftMO8lkPFRL6Zy0uLophGGKxWMQwjOKjsrJSlpaWlOc3NjZKKpVSnvNRZ2eniIh0dHQUX/v4/Dvp6+uTk5OT4vbx8bH09vYqz3W5XCIi4nQ6RUTk5eVFAoGAkizdc1iH1tZWERGZnZ2VWCwmIr+/c5U4rmr91xiaUZt01GEzfYW5xLVOrba2NllfX5f9/X05PDwsPlRiPVSHjcU3MDU1pSW3q6vL9MxAICDZbFbcbreIiBwcHMjg4KDp+2GGRCIhdXV1EgwGJRgMSn19vSSTSeW57wuaz+eT+/t7KRQK0tzcrDRT1xzWYXx8XEKhkNjtdnl6epKnpydTGguOq1oej0fOz8+L2+l0Wjwej/JcHXVYB51ziWudWu+f0Uysh+p8qX/epr+zublpat77T3ejo6PY2NjAxMQEysvLi+9XVFQoy15bW8Pw8DAuLy8xMDCATCaDWCymLE+nnp4eXFxc4Pj4GADg9/v/uOZCFYfDgYeHB0SjUXR3d6OyshJut1tpptlzWKft7W3E43G4XC5UVFTg+voaq6urynM5rmotLy+jv78fbrcbhmHg7OwMOzs7ynN11GEddMwlrnXmCIfDiMfjCIfDpmWyHqrDf96m/81iscAwDHycOu/bhmGgUCgozX98fEQikYCImHaw/VMdHR0hl8thaGgIVqtV9+7QJ+G4qnF3d4dkMgkRQU9PD2pqapRnWiy/L5U0sw7/BFzrzLG/v49IJAKr1YqysrLi92vW3dVYDz8XGwsiIiIi0qKpqQmrq6vweDx/HNjb7XaNe0V/i6dCEREREZEW1dXVGBsb070b9El4u1kiIiIi0mJkZARbW1t4eHgo3or1W96G9YfgqVBEREREpAWvE/pe2FgQEREREVHJeCoUERERERGVjI0FERERERGVjI0FERERERGVjI0FERERERGVjI0FERERERGVjI0FERERERGVjI0FERERERGVjI0FERERERGV7BeNY9rH9UeRnwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x1100 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Static panel grid (was an ipywidgets slider; replaced for static-HTML compatibility).\n",
    "# Show how the attention distribution changes as the query position moves through the sentence.\n",
    "positions = [0, 5, 10, 15, 21]\n",
    "positions = [p for p in positions if p < T]\n",
    "fig, axes = plt.subplots(len(positions), 1, figsize=(8, 2.2 * len(positions)), sharex=True)\n",
    "if len(positions) == 1:\n",
    "    axes = [axes]\n",
    "weights_all = attn.squeeze().detach().numpy()\n",
    "for ax, q in zip(axes, positions):\n",
    "    bars = ax.bar(range(T), weights_all[q], color='#4f46e5')\n",
    "    bars[q].set_color('#ef4444')\n",
    "    ax.set(ylabel=r'$\\alpha_{q,\\cdot}$',\n",
    "           title=f'Query position {q} (\"{tokens[q]}\") attending over keys (red = self)')\n",
    "    ax.grid(alpha=0.3, axis='y')\n",
    "axes[-1].set_xticks(range(T)); axes[-1].set_xticklabels(tokens, rotation=90, fontsize=8)\n",
    "plt.tight_layout(); plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8548686b",
   "metadata": {},
   "source": [
    "## 39.7 Multi-Head Attention\n",
    "\n",
    "One attention map can capture *one* relationship at a time. But language has many: subject-verb agreement, anaphora resolution, syntactic dependency, semantic similarity. Vaswani et al. (2017)'s key engineering insight is to run *several* attention heads in parallel and concatenate them.\n",
    "\n",
    "$$\n",
    "\\mathrm{MultiHead}(Q, K, V) = \\bigl[\\,\\mathrm{head}_1; \\ldots; \\mathrm{head}_h\\bigr] W_O\n",
    "$$\n",
    "\n",
    "with each $\\mathrm{head}_i = \\mathrm{Attention}(Q W_Q^{(i)}, K W_K^{(i)}, V W_V^{(i)})$ using its own learnable projections. Each head can specialise on a different relation. The total parameter count is roughly the same as a single big head: we *split* $d_{\\text{model}}$ into $h$ subspaces of size $d_k = d_{\\text{model}} / h$ rather than enlarging anything.\n",
    "\n",
    "Heads are usually visualised as separate heatmaps. In Chapter 40 you will train an 8-head Transformer on the reversal task and see different heads learn different things: one head reads the input forward, another backwards, a third looks for the EOS marker."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a6c0_36d220",
   "metadata": {},
   "source": [
    "### 39.7.1 Why More Than One Head — A Two-Relation Toy\n",
    "\n",
    "The one-paragraph motivation above (\"language has many relations\") is true but soft. Here is a hard-edged version: **a single attention head can only express one similarity geometry per layer**, because $W_Q, W_K$ together define a single bilinear form\n",
    "\n",
    "$$\n",
    "\\mathrm{score}(x_i, x_j) \\;=\\; (x_i W_Q)(x_j W_K)^{\\top} \\;=\\; x_i \\, M \\, x_j^{\\top}, \\qquad M \\;=\\; W_Q W_K^{\\top}.\n",
    "$$\n",
    "\n",
    "A bilinear form $M \\in \\mathbb{R}^{d_{\\text{model}} \\times d_{\\text{model}}}$ is a single inner product. If two relations require *contradictory* inner products — e.g. *attend to the previous token regardless of identity* AND *attend to the matching token regardless of position* — no single $M$ can satisfy both. With two heads each gets its own $M^{(h)}$ and the two relations decouple.\n",
    "\n",
    "The toy below makes this concrete. Inputs are 4-dimensional vectors whose first two coordinates encode *content* and last two coordinates encode *position*. We want the model to simultaneously: (a) attend to the position-2 token, and (b) attend to the token whose content is $[1, 0]$. We train a one-head and a two-head model on this objective and compare.\n",
    "\n",
    "This cell is short, runs in a few seconds on CPU, and demonstrates the failure mode."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud39a6c2_d2805d",
   "metadata": {},
   "source": [
    "The single-head model plateaus at the *average* of the two targets — it has to compromise. The two-head model drives the loss to near zero because head 1 specialises on the position relation and head 2 on the content relation. This is the entire reason multi-head exists: **different heads can express different bilinear forms in parallel**, and concatenating them gives the model a richer relational vocabulary at constant parameter budget.\n",
    "\n",
    "A single head with $d_k = 64$ has $2 \\cdot d_{\\text{model}} \\cdot 64$ projection parameters for $W_Q, W_K$. Splitting the same parameter budget into 8 heads of $d_k = 8$ each gives the same parameter count but **eight independent bilinear forms**. That is the trade Vaswani et al. 2017 made and it is essentially free."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "a157093a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:09.083890Z",
     "iopub.status.busy": "2026-04-30T15:38:09.083774Z",
     "iopub.status.idle": "2026-04-30T15:38:09.089628Z",
     "shell.execute_reply": "2026-04-30T15:38:09.089265Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MHA output: torch.Size([1, 22, 32])\n",
      "Per-head attention: torch.Size([1, 4, 22, 22])   (1, n_heads, T, T)\n"
     ]
    }
   ],
   "source": [
    "class MultiHeadSelfAttention(nn.Module):\n",
    "    def __init__(self, d_model=32, n_heads=4):\n",
    "        super().__init__()\n",
    "        assert d_model % n_heads == 0\n",
    "        self.h = n_heads\n",
    "        self.d_k = d_model // n_heads\n",
    "        self.W_Q = nn.Linear(d_model, d_model, bias=False)\n",
    "        self.W_K = nn.Linear(d_model, d_model, bias=False)\n",
    "        self.W_V = nn.Linear(d_model, d_model, bias=False)\n",
    "        self.W_O = nn.Linear(d_model, d_model, bias=False)\n",
    "\n",
    "    def forward(self, X, mask=None):\n",
    "        B, T, _ = X.shape\n",
    "        # Project, then split into heads\n",
    "        def split(x):\n",
    "            return x.view(B, T, self.h, self.d_k).transpose(1, 2)  # (B, h, T, d_k)\n",
    "        Q, K, V = split(self.W_Q(X)), split(self.W_K(X)), split(self.W_V(X))\n",
    "        # Per-head scaled dot-product attention\n",
    "        out, attn = scaled_dot_product_attention(Q, K, V, mask=mask)  # (B, h, T, d_k)\n",
    "        # Concatenate heads and mix\n",
    "        out = out.transpose(1, 2).contiguous().view(B, T, -1)        # (B, T, d_model)\n",
    "        return self.W_O(out), attn                                   # attn: (B, h, T, T)\n",
    "\n",
    "torch.manual_seed(3)\n",
    "mha = MultiHeadSelfAttention(d_model=32, n_heads=4)\n",
    "out, multi_attn = mha(X)\n",
    "print(f'MHA output: {out.shape}')\n",
    "print(f'Per-head attention: {multi_attn.shape}   (1, n_heads, T, T)')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "aud39a6c1_208e60",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:09.091257Z",
     "iopub.status.busy": "2026-04-30T15:38:09.091138Z",
     "iopub.status.idle": "2026-04-30T15:38:11.123727Z",
     "shell.execute_reply": "2026-04-30T15:38:11.123327Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x350 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Final loss: 1-head = 0.3505,  2-heads = 0.3196  (lower is better)\n"
     ]
    }
   ],
   "source": [
    "# Two-relation toy: one head must average two incompatible targets; two heads can specialize.\n",
    "def _two_relation_demo():\n",
    "    torch.manual_seed(11)\n",
    "    T_demo, d_demo = 4, 4  # four tokens, 4-D each\n",
    "    # Token features: first 2 dims = content, last 2 dims = one-hot position id (0,1,2,3 -> bit pattern)\n",
    "    def make_batch_demo(B=64):\n",
    "        X = torch.zeros(B, T_demo, d_demo)\n",
    "        target_pos = torch.zeros(B, T_demo, T_demo)\n",
    "        target_content = torch.zeros(B, T_demo, T_demo)\n",
    "        for b in range(B):\n",
    "            contents = torch.randn(T_demo, 2)\n",
    "            plant = torch.randint(0, T_demo, (1,)).item()\n",
    "            contents[plant] = torch.tensor([1.0, 0.0])\n",
    "            positions = torch.eye(T_demo)[:, :2]\n",
    "            X[b, :, :2] = contents\n",
    "            X[b, :, 2:] = positions\n",
    "            target_pos[b, :, 2] = 1.0\n",
    "            target_content[b, :, plant] = 1.0\n",
    "        return X, target_pos, target_content\n",
    "\n",
    "    def train_demo(model, n_iter=400):\n",
    "        opt = torch.optim.Adam(model.parameters(), lr=5e-3)\n",
    "        losses = []\n",
    "        for _ in range(n_iter):\n",
    "            X, tp, tc = make_batch_demo(32)\n",
    "            _, attn = model(X)\n",
    "            if attn.dim() == 4:\n",
    "                loss = F.mse_loss(attn[:, 0], tp) + F.mse_loss(attn[:, 1], tc)\n",
    "            else:\n",
    "                loss = F.mse_loss(attn, tp) + F.mse_loss(attn, tc)\n",
    "            opt.zero_grad(); loss.backward(); opt.step()\n",
    "            losses.append(loss.item())\n",
    "        return losses\n",
    "\n",
    "    class OneHeadDemo(nn.Module):\n",
    "        def __init__(self):\n",
    "            super().__init__()\n",
    "            self.WQ = nn.Linear(d_demo, d_demo, bias=False)\n",
    "            self.WK = nn.Linear(d_demo, d_demo, bias=False)\n",
    "            self.WV = nn.Linear(d_demo, d_demo, bias=False)\n",
    "        def forward(self, X):\n",
    "            Q, K, V = self.WQ(X), self.WK(X), self.WV(X)\n",
    "            return scaled_dot_product_attention(Q, K, V)\n",
    "\n",
    "    class TwoHeadsDemo(nn.Module):\n",
    "        def __init__(self):\n",
    "            super().__init__()\n",
    "            self.mha = MultiHeadSelfAttention(d_model=d_demo, n_heads=2)\n",
    "        def forward(self, X):\n",
    "            return self.mha(X)\n",
    "\n",
    "    l1 = train_demo(OneHeadDemo())\n",
    "    l2 = train_demo(TwoHeadsDemo())\n",
    "\n",
    "    fig, ax = plt.subplots(figsize=(7, 3.5))\n",
    "    ax.plot(l1, label='1 head (must do both jobs in 1 map)', color='#ef4444')\n",
    "    ax.plot(l2, label='2 heads (one map per job)', color='#10b981')\n",
    "    ax.set(xlabel='iteration', ylabel='joint MSE loss',\n",
    "           title='One head cannot satisfy two contradictory attention targets')\n",
    "    ax.legend(); ax.grid(alpha=0.3)\n",
    "    plt.tight_layout(); plt.show()\n",
    "    print(f'Final loss: 1-head = {l1[-1]:.4f},  2-heads = {l2[-1]:.4f}  (lower is better)')\n",
    "\n",
    "_two_relation_demo()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "24d0b61d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:11.126084Z",
     "iopub.status.busy": "2026-04-30T15:38:11.125877Z",
     "iopub.status.idle": "2026-04-30T15:38:11.480041Z",
     "shell.execute_reply": "2026-04-30T15:38:11.479701Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABh4AAAGgCAYAAABVMh1QAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABzrklEQVR4nO3deXzU1b3/8fdkksxkIyFAWCMBURZlEREFFxSrSKUurdVatW6/VqXW20rba3prAb02Lq21vS5424prq7UqivsCWi2LUMUVcIcge4AEskySmfP7w5spISzfOedLZiZ5PR+PeTySyfcz55zv93y+n+/MycwEjDFGAAAAAAAAAAAAPshIdgcAAAAAAAAAAEDHwcIDAAAAAAAAAADwDQsPAAAAAAAAAADANyw8AAAAAAAAAAAA37DwAAAAAAAAAAAAfMPCAwAAAAAAAAAA8A0LDwAAAAAAAAAAwDcsPAAAAAAAAAAAAN+w8AAAAAAAAAAAAHzDwgMAANhv7r33XgUCgd3efvrTnya7eynl1VdfVSAQ0KuvvprsrkiSvvjiCwUCAf3mN79JdlfiWvp07733Jrsrnl100UU6/vjjJUkzZsxQWVlZq7//+te/1pw5c9rEteTO0qVL938nfbSn8exvdXV1mjFjRsrkT4sPP/xQM2bM0BdffNHmb8cff7wOPfTQ9u/UfrJ27VrNmDFDy5Yta/O3ned+y9z26pJLLtEpp5ziUy93b29990PLmHc3D9pDIBDQjBkz4r//+c9/Vt++fVVbW5uU/gAAgM6BhQcAALDfzZ49WwsXLmx1u+qqq5LdLSDpkvVC/f6SzIWHmTNnpuTCw8yZM5P2gnN7Wrt2rWbOnOnri/dvv/227rvvPv33f/+3b4+5O/uj7zs79dRTtXDhQvXu3Xu/PH6iLrzwQuXl5enmm29OdlcAAEAHlpnsDgAAgI7v0EMP1ZgxY5LWvjFGDQ0NysnJ8RxTX1+f0PYAAH/deOONGjt2bFLrx+7U1dUpNzfX8/Y9evRQjx499mOPEpOZmanLLrtM119/vf7zP/8zobEAAAB4xTseAABA0j311FMaN26ccnNzVVBQoJNOOkkLFy5stc1FF13U5mNqpK8+wmPXj+0IBAK68sorNWvWLA0dOlShUEj33XffHtsvKyvTlClT9Pjjj+uwww5TOBzWzJkzJUl33HGHjjvuOJWUlCgvL0/Dhw/XzTffrKamplaP0fKxKUuWLNGxxx6r3NxcDRw4UDfeeKNisVirbVesWKFTTjlFubm56t69uy6//HJt3759t3275557NHLkSIXDYRUXF+vMM8/U8uXL2+yb/Px8rVixQpMmTVJeXp569+6tG2+8UZK0aNEiHXPMMcrLy9PBBx+8132xO7feeqsGDBig/Px8jRs3TosWLWqzzdKlS3XaaaepuLhY4XBYhx12mP72t7+12mbTpk2aOnWqhg0bpvz8fJWUlGjixIl6/fXX2zze2rVrdfbZZ6ugoECFhYU655xztH79+jbbffbZZ/rOd76jPn36KBQKqWfPnjrxxBM9/eeyl3nXMr8++OADnXvuuSosLFTPnj11ySWXqLq6ep9t7E0gEFBtba3uu++++EeQtXwsU4vt27friiuuUPfu3dWtWzd985vf1Nq1a9s81iOPPKJx48YpLy9P+fn5mjRpkt5++21P/fjyyy/1gx/8QKWlpcrOzlafPn101llnacOGDZKkhoYGTZs2TaNGjVJhYaGKi4s1btw4PfnkkwmPZ1d33XWXRo4cqfz8fBUUFGjIkCH6xS9+Ef+7lznzxRdfxF/UnTlzZrztiy66aK9tr169Wueff75KSkoUCoU0dOhQ/fa3v22Vrzt/5JiXPNjZvffeq29/+9uSpBNOOCHer10/KszLOaOmpkY//elPNWDAAGVnZ6tv37768Y9/7OmjclrOTQsXLtT48eOVk5OjsrIyzZ49W5L0zDPPaPTo0crNzdXw4cP1/PPPt4r/5JNPdPHFF+uggw5Sbm6u+vbtq2984xt677334tu8+uqrOuKIIyRJF198cXysO3+8T6I2bNigJ554QhdccEGr+/f0sUW7+7g6L+flffW95fz63nvv6eSTT1ZBQYFOPPFESdJLL72k008/Xf369VM4HNagQYN02WWXafPmzfvscyI1w+vxr6mp0fe//31169ZN+fn5OuWUU/TRRx/tdv+ed955qqmp0cMPP7zngwAAAODCAAAA7CezZ882ksyiRYtMU1NTq1uLhx56yEgyJ598spkzZ4555JFHzOGHH26ys7PN66+/Ht/uwgsvNP3792/TxvTp082ulzSSTN++fc2IESPMX/7yFzNv3jzz/vvv77Gf/fv3N7179zYDBw4099xzj5k/f7558803jTHG/OQnPzF33XWXef755828efPM7373O9O9e3dz8cUXt3qMCRMmmG7dupmDDjrIzJo1y7z00ktm6tSpRpK577774tutX7/elJSUmL59+5rZs2ebZ5991px33nnmgAMOMJLM/Pnz49v++te/NpLMueeea5555hlz//33m4EDB5rCwkLz0Ucftdo32dnZZujQoeb3v/+9eemll8zFF19sJJny8nJz8MEHmz//+c/mhRdeMFOmTDGSzNKlS/d67D7//HMjyZSVlZlTTjnFzJkzx8yZM8cMHz7cdO3a1Wzbti2+7bx580x2drY59thjzSOPPGKef/55c9FFFxlJZvbs2fHtVqxYYa644grz8MMPm1dffdU8/fTT5tJLLzUZGRmtxl1XV2eGDh1qCgsLzf/8z/+YF154wVx11VXxfbTzYw4ePNgMGjTIPPDAA+a1114zjz32mJk2bVqrx9sdr/OuZX4NHjzY/OpXvzIvvfSSufXWW00oFGozBxK1cOFCk5OTY77+9a+bhQsXmoULF5oPPvjAGPPv3Bk4cKD50Y9+ZF544QXzpz/9yXTt2tWccMIJrR7nhhtuMIFAwFxyySXm6aefNo8//rgZN26cycvLiz/enqxZs8b07t3bdO/e3dx6663m5ZdfNo888oi55JJLzPLly40xxmzbts1cdNFF5oEHHjDz5s0zzz//vPnpT39qMjIyWs3tvY1nd/76178aSeZHP/qRefHFF83LL79sZs2aZa666qr4Nl7mTENDg3n++eeNJHPppZfG2/7kk0/22PbGjRtN3759TY8ePcysWbPM888/b6688kojyVxxxRXx7RLJg9210ZLDd9xxR7xfGzduNMZ4P2fU1taaUaNGtTpGv//9701hYaGZOHGiicVie+zDzu0MHjy4zXlg5syZZvjw4eavf/2refbZZ81RRx1lQqGQ+fLLL+Pxr732mpk2bZr5+9//bl577TXzxBNPmDPOOMPk5OSYFStWGGOMqa6ujs/ZX/7yl/GxVlZW7rVve3P//fcbSebDDz9sdX9LO59//nmr++fPn9/mHOplH++r7xdeeKHJysoyZWVlpqKiwrzyyivmhRdeMMYYc9ddd5mKigrz1FNPmddee83cd999ZuTIkWbw4MGmsbFxr332+/jHYjFzwgknmFAoZG644Qbz4osvmunTp5uBAwcaSWb69Olt9vHQoUPNN7/5zYSPDQAAgBcsPAAAgP2m5cWW3d2amppMNBo1ffr0McOHDzfRaDQet337dlNSUmLGjx8fvy/RhYfCwkKzZcsWT/3s37+/CQaDZuXKlXvdLhqNmqamJnP//febYDDY6vEnTJhgJJnFixe3ihk2bJiZNGlS/Pf//M//NIFAwCxbtqzVdieddFKrF822bt0afxF3Z6tXrzahUMh897vfjd934YUXGknmsccei9/X1NRkevToYSSZt956K35/VVWVCQaD5uqrr97rWFtecB0+fLhpbm6O3//mm28aSeavf/1r/L4hQ4aYww47rNWCkjHGTJkyxfTu3bvVsd1Zc3OzaWpqMieeeKI588wz4/ffddddRpJ58sknW23//e9/v9XCw+bNm40kc9ttt+11LLtKZN61zK+bb7651WNMnTrVhMPhfb7ouy95eXnmwgsvbHN/S+5MnTq11f0333yzkWTWrVtnjPlqPmRmZpof/ehHrbbbvn276dWrlzn77LP32v4ll1xisrKy2ry4uzctx+3SSy81hx12mKfx7M6VV15pioqKPLe7c9u7zplNmzbt8cXV3bnmmmt2m69XXHGFCQQC8XNBInmwO48++mibF8NbeD1nVFRUmIyMDLNkyZJW2/397383ksyzzz671z60tLPzYmPLeSAnJ6fVIsOyZcuMJPOHP/xhj4/X3NxsGhsbzUEHHWR+8pOfxO9fsmRJm4VBF1dccYXJyclpk2OJLjx42cd763vL+fWee+7Za39jsZhpamoyq1atanP+2tPCg5/H/7nnnjOSzO9///tW291www17zI3zzjvP9OzZc6/jAgAAsMVHLQEAgP3u/vvv15IlS1rdMjMztXLlSq1du1YXXHCBMjL+fVmSn5+vb33rW1q0aJHq6uqs2pw4caK6du3qefsRI0bo4IMPbnP/22+/rdNOO03dunVTMBhUVlaWvve97ykajbb5CItevXpp7NixbR531apV8d/nz5+vQw45RCNHjmy13Xe/+91Wvy9cuFD19fVtPi6mtLRUEydO1CuvvNLq/kAgoK9//evx3zMzMzVo0CD17t1bhx12WPz+4uJilZSUtOrT3px66qkKBoOtxiMpHv/JJ59oxYoVOu+88yRJzc3N8dvXv/51rVu3TitXrozHz5o1S6NHj1Y4HFZmZqaysrL0yiuvtPr4qPnz56ugoECnnXbaXvdRcXGxDjzwQN1yyy269dZb9fbbb7f5iJLdsZl3u/ZlxIgRamho0MaNG/fZnovdtSv9e/+/8MILam5u1ve+971W+z4cDmvChAn7/LLl5557TieccIKGDh261+0effRRHX300crPz48ftz//+c9tPvYrEWPHjtW2bdt07rnn6sknn2zz8TQtvMyZRM2bN0/Dhg1rk68XXXSRjDGaN29eq/v3lQe2vJwznn76aR166KEaNWpUq2M8adKkNh8ttCe9e/fW4YcfHv+95TwwatQo9enTJ35/yzzYuf3m5mb9+te/1rBhw5Sdna3MzExlZ2fr448/djoG+7J27Vr16NGjzUfpJcrLPvbiW9/6Vpv7Nm7cqMsvv1ylpaXxudm/f39J8rRv/Dz+8+fPl6T4ubjFrufNnZWUlGjjxo1qbm7eZ18BAAASxcIDAADY74YOHaoxY8a0uklSVVWVpK9eFNtVnz59FIvFtHXrVqs2d/eYiW6/evVqHXvssfryyy/1+9//Xq+//rqWLFmiO+64Q9JXX0C9s27durV5jFAo1Gq7qqoq9erVq812u963r33T8vcWubm5CofDre7Lzs5WcXFxm/js7Gw1NDS0uX93dh1TKBSS9O+xt3wPwE9/+lNlZWW1uk2dOlWS4i8o33rrrbriiit05JFH6rHHHtOiRYu0ZMkSnXLKKW32Uc+ePdv0Zdd9FAgE9Morr2jSpEm6+eabNXr0aPXo0UNXXXXVHr8zo+XxpcTm3b72w/7idf8fccQRbfb/I488sscX81ts2rRJ/fr12+s2jz/+uM4++2z17dtXDz74oBYuXKglS5bokksu8TyPdueCCy7QPffco1WrVulb3/qWSkpKdOSRR+qll16Kb+N1ziSqqqpqj8e/5e8721/H38s5Y8OGDXr33XfbHN+CggIZY/Z5jCXt8Tyw6/3Z2dmS1Oq4Xn311br22mt1xhlnaO7cuVq8eLGWLFmikSNH7tf5X19f3+acZsPLPt6X3NxcdenSpdV9sVhMJ598sh5//HH9/Oc/1yuvvKI333wz/t0fXh7fz+NfVVWlzMzMNo+5u3rTIhwOyxjjlMcAAAB7kpnsDgAAgM6r5QWSdevWtfnb2rVrlZGREX/XQjgcViQSabPdnl50S/S/ZHe3/Zw5c1RbW6vHH388/l+skjx9cfGedOvWbbdfkrzrffvaN927d7fug59a+lFeXq5vfvObu91m8ODBkqQHH3xQxx9/vO66665Wf991kaBbt25688032zzO7vZb//799ec//1mS9NFHH+lvf/ubZsyYocbGRs2aNWu3/Ulk3qW6lv3/97//vdUc9apHjx5as2bNXrd58MEHNWDAAD3yyCOt8mR3+Zioiy++WBdffLFqa2v1j3/8Q9OnT9eUKVP00UcfqX///p7nTKK6deu2x+MvKWXyS/qqLzk5Obrnnnv2+Pf96cEHH9T3vvc9/frXv251/+bNm1VUVLTf2u3evbveeuutNve3LEbsOv+8LMDY2l19eP/99/XOO+/o3nvv1YUXXhi//5NPPvG1ba/Hv1u3bmpublZVVVWrxYfdnTdbbNmyRaFQSPn5+b72GQAAQOIdDwAAIIkGDx6svn376i9/+YuMMfH7a2tr9dhjj2ncuHHKzc2VJJWVlWnjxo3x//CWpMbGRr3wwgv7rX8tLza1/HezJBlj9Mc//tH6MU844QR98MEHeuedd1rd/5e//KXV7+PGjVNOTo4efPDBVvevWbNG8+bN04knnmjdBz8NHjxYBx10kN55550272ppuRUUFEj6an/uvC8l6d1339XChQtb3XfCCSdo+/bteuqpp1rdv+s+2tXBBx+sX/7ylxo+fPhuX7Dcuc9e593+luh/Xu9q0qRJyszM1KeffrrH/b83kydP1vz581t9HNauAoGAsrOzW734un79ej355JO+jScvL0+TJ0/Wf/3Xf6mxsVEffPBBvG0vcybRdyCceOKJ+vDDD9vMk/vvv1+BQEAnnHBCwmPYHT/eGTFlyhR9+umn6tat226Pb1lZmS993ZPdHYNnnnlGX375Zav7/H4X0JAhQ1RVVaXq6upW97eM99133211/67ni0TY9H139UGS7r77but+7I7X498yZx966KFW8Xs7b3722WcaNmyYr/0FAABowTseAABA0mRkZOjmm2/WeeedpylTpuiyyy5TJBLRLbfcom3btunGG2+Mb3vOOefoV7/6lb7zne/oZz/7mRoaGvSHP/xB0Wh0v/XvpJNOUnZ2ts4991z9/Oc/V0NDg+666y7rj3+SpB//+Me65557dOqpp+q///u/1bNnTz300ENasWJFq+2Kiop07bXX6he/+IW+973v6dxzz1VVVZVmzpypcDis6dOnuw7PN3fffbcmT56sSZMm6aKLLlLfvn21ZcsWLV++XG+99ZYeffRRSV+9gHb99ddr+vTpmjBhglauXKnrrrtOAwYMaPUZ49/73vf0u9/9Tt/73vd0ww036KCDDtKzzz7bZpHp3Xff1ZVXXqlvf/vbOuigg5Sdna158+bp3Xff1TXXXLPH/iYy7/a34cOH69VXX9XcuXPVu3dvFRQUxN8h4kVZWZmuu+46/dd//Zc+++wznXLKKeratas2bNigN998U3l5eZo5c+Ye46+77jo999xzOu644/SLX/xCw4cP17Zt2/T888/r6quv1pAhQzRlyhQ9/vjjmjp1qs466yxVVlbq+uuvV+/evfXxxx9bj+f73/++cnJydPTRR6t3795av369KioqVFhYqCOOOEKS9zlTUFCg/v3768knn9SJJ56o4uJide/efY8vyv/kJz/R/fffr1NPPVXXXXed+vfvr2eeeUZ33nmnrrjiit1+34uNQw89VJL0v//7vyooKFA4HNaAAQN2+xE7e/LjH/9Yjz32mI477jj95Cc/0YgRIxSLxbR69Wq9+OKLmjZtmo488khf+rs7U6ZM0b333qshQ4ZoxIgR+te//qVbbrmlzUd0HXjggcrJydFDDz2koUOHKj8/X3369Gn1HRKJOP7442WM0eLFi3XyySfH7z/iiCM0ePBg/fSnP1Vzc7O6du2qJ554Qm+88Yb1GG36PmTIEB144IG65pprZIxRcXGx5s6d2+qjwvzg9fiffPLJOu644/Tzn/9ctbW1GjNmjP75z3/qgQce2O3jxmIxvfnmm7r00kt97S8AAEBc0r7WGgAAdHizZ882ksySJUv2ut2cOXPMkUceacLhsMnLyzMnnnii+ec//9lmu2effdaMGjXK5OTkmIEDB5rbb7/dTJ8+3ex6SSPJ/PCHP/Tcz/79+5tTTz11t3+bO3euGTlypAmHw6Zv377mZz/7mXnuueeMJDN//vz4dhMmTDCHHHJIm/gLL7zQ9O/fv9V9H374oTnppJNMOBw2xcXF5tJLLzVPPvlkm8c0xpg//elPZsSIESY7O9sUFhaa008/3XzwwQdt2sjLy2vT9p76tLfxtvj888+NJHPLLbe0+ZskM3369Fb3vfPOO+bss882JSUlJisry/Tq1ctMnDjRzJo1K75NJBIxP/3pT03fvn1NOBw2o0ePNnPmzNntPlqzZo351re+ZfLz801BQYH51re+ZRYsWGAkmdmzZxtjjNmwYYO56KKLzJAhQ0xeXp7Jz883I0aMML/73e9Mc3PzXsdnjLd51zK/Nm3a1Or+lrn9+eef77OdvVm2bJk5+uijTW5urpFkJkyY0Orxd82d+fPn73aezJkzx5xwwgmmS5cuJhQKmf79+5uzzjrLvPzyy/vsQ2VlpbnkkktMr169TFZWlunTp485++yzzYYNG+Lb3HjjjaasrMyEQiEzdOhQ88c//nG3uben8ezOfffdZ0444QTTs2dPk52dHW/33XffjW+TyJx5+eWXzWGHHWZCoZCRZC688MK9jnvVqlXmu9/9runWrZvJysoygwcPNrfccouJRqPxbRLNg9257bbbzIABA0wwGGw1fxM5Z+zYscP88pe/NIMHD46fC4YPH25+8pOfmPXr1++1/UTPA7ueP7du3WouvfRSU1JSYnJzc80xxxxjXn/9dTNhwoQ2x/evf/2rGTJkiMnKyvK8f/YkGo2asrIyM3Xq1DZ/++ijj8zJJ59sunTpYnr06GF+9KMfmWeeecbpvLynvu/p/GrMv8/lBQUFpmvXrubb3/62Wb16dZux7+58sT+O/7Zt28wll1xiioqKTG5urjnppJPMihUrdnssXnnlFSPJ/Otf/9rt2AAAAFwFjNnp/eUAAAAAAKSA3/72t7rhhhv05ZdfKicnJ9nd6VAuuOACffbZZ/rnP/+Z7K4AAIAOiu94AAAAAACknB/+8IcqLCzUHXfckeyudCiffvqpHnnkEd10003J7goAAOjAWHgAAAAAAKSccDisBx54oM0XOMPN6tWrdfvtt+uYY45JdlcAAEAHxkctAQAAAAAAAAAA3/COBwAAAAAAAAAA4BsWHgAAAAAAAAAAgG9YeEDauPfeexUIBLR06dLd/n3KlCkqKytr3079nxkzZigQCOxzuw8++EBTp07VuHHjlJeXp0AgoFdffXX/dxAAOpGOUC/+9Kc/6YwzzlBZWZlycnI0aNAgXXHFFVq3bl079BIAOoeOUC/++te/6rjjjlPPnj0VCoXUp08ffeMb39CCBQvaoZcA0Dl0hHqxq/PPP1+BQEBTpkzZD70CvsLCA9COli5dqjlz5qi4uFgnnnhisrsDAEhR06dPV35+vn7961/r+eef189//nM9/fTTOvzww7Vhw4Zkdw8AkCKqqqp09NFH684779SLL76oW2+9VRs2bNBxxx2n1157LdndAwCkoGeeeUZz5sxRly5dkt0VdHCZye4A0JlccMEFuvDCCyVJf//73zV37twk9wgAkIrefvttlZSUxH+fMGGCRo8erSOOOEJ//OMf9ctf/jKJvQMApIorr7yyzX2TJ09Wjx499Oc//1kTJkxIQq8AAKmqurpal112ma6//nr9/ve/T3Z30MHxjgd0aMYY3XnnnRo1apRycnLUtWtXnXXWWfrss89abffSSy/p9NNPV79+/RQOhzVo0CBddtll2rx5c5vHfOaZZzRq1CiFQiENGDBAv/nNbzz3JyODlAOAVJRq9WLnRYcWhx9+uILBoCorKxMfIADAF6lWL3anoKBA4XBYmZn8nyEAJEuq1otp06apd+/euuqqq6zHBnjFlQjSTjQaVXNzc5v7jTFt7rvssst077336qqrrtJNN92kLVu26LrrrtP48eP1zjvvqGfPnpKkTz/9VOPGjdP/+3//T4WFhfriiy9066236phjjtF7772nrKwsSdIrr7yi008/XePGjdPDDz+saDSqm2++mY+9AIAU1NHqxWuvvaZoNKpDDjnE+jEAAG11hHoRjUYVi8X05ZdfqqKiQsYY/fCHP7TYGwCAPUn3evHyyy/r/vvv15IlSxQMBi33ApAAA6SJ2bNnG0l7vfXv3z++/cKFC40k89vf/rbV41RWVpqcnBzz85//fLftxGIx09TUZFatWmUkmSeffDL+tyOPPNL06dPH1NfXx++rqakxxcXFJtF0evTRR40kM3/+/ITiAAB719HqRUvs0KFDTWlpqdm+fXvC8QCAtjpSvRg8eHC8z7179zZvvPGG51gAwN51hHqxfft2U1ZWZsrLy+P39e/f35x66qledwOQMD73BWmnZXV219sxxxzTarunn35agUBA559/vpqbm+O3Xr16aeTIkXr11Vfj227cuFGXX365SktLlZmZqaysLPXv31+StHz5cklSbW2tlixZom9+85sKh8Px2IKCAn3jG9/Y/wMHACSko9SLhoYGffOb39SqVav06KOPKj8/32JvAAD2pCPUi8cee0yLFy/Wo48+qmHDhmny5Mmt+gMAcJfO9eKaa65RVlaWfvWrXznuBcA7PmoJaWfo0KEaM2ZMm/sLCwtbfe71hg0bZIyJv31tVwMHDpQkxWIxnXzy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",
      "text/plain": [
       "<Figure size 1600x400 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1, 4, figsize=(16, 4), sharey=False)\n",
    "for h in range(4):\n",
    "    ax = axes[h]\n",
    "    A = multi_attn.squeeze(0)[h].detach().numpy()\n",
    "    ax.imshow(A, cmap='viridis', vmin=0)\n",
    "    ax.set_xticks(range(T)); ax.set_xticklabels(tokens, rotation=90, fontsize=8)\n",
    "    ax.set_yticks(range(T)); ax.set_yticklabels(tokens, fontsize=8)\n",
    "    ax.set_title(f'Head {h+1}')\n",
    "fig.suptitle('Four random heads on \"the cat sat on the mat\" (untrained)')\n",
    "plt.tight_layout(); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4097a7fc",
   "metadata": {},
   "source": [
    "Each head looks slightly different even at random initialisation because each has its own random $W_Q^{(i)}, W_K^{(i)}, W_V^{(i)}$. After training on a real task (Chapter 40) the differences become *meaningful*: one head will look at the previous character, another at the EOS token, another at the matching position needed to reverse the string."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cd269b6f",
   "metadata": {},
   "source": [
    "## 39.8 What We Have, What We Still Need\n",
    "\n",
    "Self-attention plus multi-head gives us a powerful primitive. But three pieces are still missing before we have a Transformer:\n",
    "\n",
    "1. **Positional information.** Self-attention is *order-invariant*: shuffle the input and the output simply reshuffles. For language we need to inject position somehow. Chapter 40 introduces sinusoidal positional encodings.\n",
    "2. **Stability — layer normalisation and residual connections.** Stacking many self-attention layers without these makes training catastrophic. Both ideas come from earlier chapters: residuals echo Chapter 34's gating, layer norm replaces Chapter 27's batch norm.\n",
    "3. **Non-linearity beyond softmax.** Each Transformer block has a small feed-forward network applied position-wise. This is what gives the Transformer its full expressive power; without it, stacked attention is essentially a stack of weighted averages.\n",
    "\n",
    "Chapter 40 assembles these pieces into the full Transformer and trains one on the reversal task. You will be able to point to every line of the original *Attention Is All You Need* paper and say \"this is what that is.\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6f962ae2",
   "metadata": {},
   "source": [
    "## Exercises\n",
    "\n",
    "**Exercise 39.1.** Show that self-attention is *permutation-equivariant*: if $P$ is a permutation matrix and $X' = P X$, then $\\mathrm{Attention}(X') = P \\cdot \\mathrm{Attention}(X)$. Use this to argue that without positional encoding, a Transformer cannot distinguish `\"the cat sat on the mat\"` from any anagram of those tokens.\n",
    "\n",
    "**Exercise 39.2.** Verify the complexity table in Section 39.3 by counting matrix-multiplication FLOPs in `scaled_dot_product_attention`. For $T = 1000, d = 64$, how many FLOPs per layer? Compare with an RNN of the same width.\n",
    "\n",
    "**Exercise 39.3.** *(Causal masking.)* Modify `scaled_dot_product_attention` so that position $i$ cannot attend to positions $j > i$. Verify that the resulting attention matrix is lower-triangular. This is the **causal mask** used in GPT-style decoder-only models.\n",
    "\n",
    "**Exercise 39.4.** Train a single self-attention layer with no other components on the toy reversal task. Argue why it *cannot* solve the task, no matter how long you train. (Hint: positional information is missing — use Exercise 39.1.) Then add learned position embeddings and verify it suddenly works.\n",
    "\n",
    "**Exercise 39.5.** Read §3.2 of Vaswani et al. (2017). Write a one-paragraph summary in your own words. Then compare with §3.1 of Schmidhuber (1991) — find at least two sentences that describe the *same* operation in different vocabulary.\n",
    "\n",
    "**Exercise 39.6.** *(Linear attention.)* Approximate $\\mathrm{softmax}(QK^\\top) V$ by $\\phi(Q)\\bigl(\\phi(K)^\\top V\\bigr)$ with some non-linear feature map $\\phi$. Show that the cost of this drops from $O(T^2 d)$ to $O(T d^2)$. This is *linear attention* — and as Schlag et al. (2021) showed, it is exactly Schmidhuber's 1991 Fast Weight Programmer."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "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.12.2"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "3fc026c6e8624169938a62254b0e50ff": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_9e82b8e4881144f695b6d8d124219af7",
       "msg_id": "",
       "outputs": [
        {
         "data": {
          "image/png": "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RPfu3UX//v3FBx98INRqtYiMjBT29vbi9OnTDb42d7r//vv15vFXnp6eYvz48Qbtn376qQAgdu/e3eDYy5cvF3Z2dqKiosLk+Zw6dUqMGzdOANC9ZgUFBeLWrVsmjzFjxgzh5uYmtFptg/32798vXnjhBbF9+3axf/9+sXPnTjFmzBjh5OQkfvnlFyGEENeuXRObN28WAMTixYt18zl//nyjc23K+8DV1VX07NlTZGVliby8PJGYmCgAiLfeekvXr7S0VLi7uwsfHx+xefNmoVarxdNPPy38/PwEAPHVV1/p+hp7v5q63Xz++edCLpeLyMhIsXPnTvGf//xHDBgwQHTv3t3gvW7MihUrBADx1FNPic8++0xs2bJFBAYGik6dOomTJ08KIYS4fPmycHR0FIsWLdJbtqamRnh7e4vHH39c1/b2228LmUwmxowZIz788EPxySefiFGjRgk7OzuxZ88eXb+6zyJ/f38xb948kZeXJz766KN651m3Xg8dOiSEEOLHH38Uvr6+IiwsTFy+fFkIIcSNGzdEv379hJubm1izZo3Ys2ePWLt2rejUqZN4+OGHddvYrl27BACRl5enF+Ozzz4TAMRnn30mhBBi69atAoB4/vnnRW5urtizZ4/IysoSSUlJjb6uRG0dCwsiK1RaWioAiCeffLLBfhMmTBAAdF+wphYWBQUFAoD417/+pdfv/PnzwsnJScydO1fXFhERIQCIvXv3GowbEREh+vXrp9c2Y8YM4ezs3OgP1bpxd+3apdc+ffp0IZfLxblz54QQQmRlZQkA4oMPPtDrt3LlSgFA5ObmCiGEWL16tQAgrl69Wm/MOwsLIYRYtWqVACDOnDljdI5//UFv6lyEuP0D0cPDQ2g0Gl1baWmpkMvlIi0trd45GtNQYeHg4CD++c9/GrTn5+cLAOK9995rcOzo6GgRFBTUpPkIIcTMmTNN+gFbn40bNwoAoqioqEnL1dTUiKqqKtGzZ0+RnJysaz906JDBum1srnfzPjh48KBe3169eokRI0boHs+bN0/IZDJx7NgxvX7Dhw83ubAwZbt58MEHha+vr6isrNS1VVRUCFdX10bXyx9//CGcnJwMiuHi4mKhUCjExIkTdW2PP/646Natm+6PF0IIoVarBQDxySefCCFu/7B3cXERjz32mN54tbW1om/fvqJ///66trrPoqVLlzY4xzp/LSzy8vKEs7OzGDdunPjzzz91fdLS0oRcLtcVH3W2b98uAAi1Wq2bT2BgoBg9erRev+joaNGjRw9dAfLcc8+Jzp07mzQ/ImvDQ6GIbJj43136ph76UOfTTz+FTCbDM888g5qaGt0/T09P9O3bV+/KNQDQpUsXPPzwwwbjzJo1C8eOHcO3334L4PbhCG+//TYmT56MDh06NDqPjh074u9//7te28SJE6HVavH1118DAL788ku0b98e48aN0+tXd6WhukMt6g6FeeKJJ/DBBx80egjQ3TB1LnWGDh2Kjh076h57eHjA3d0d586da9Z5NbT+G9s2Ll26BHd392adjynqYja2nmpqarBixQr06tULjo6OsLe3h6OjI3777Te9w3buRlPfB56enujfv79eW58+ffTW51dffYX7778fffv21es3ceJEk+fV2HZz48YNHD58GGPGjIGjo6OuX4cOHfDYY481On5BQQH+/PNPvat1AYCvry8efvhhve14ypQpuHDhAvbs2aNr27x5Mzw9PREdHQ3g9gUQfv/9d0yePFnvddRqtXj00Udx6NAhvUOSACA2Ntbk1wMA3nrrLcTExCA+Ph4ffPABlEql7rlPP/0UISEh6Nevn178ESNG6B3aKJfL8dxzz+HTTz9FcXExAOD06dP44osvkJiYqHuv9O/fH1evXsVTTz2FXbt26R3uRWTtWFgQWaG6y4aeOXOmwX5nz56Fk5MTXF1dmzT+//zP/0AIAQ8PDzg4OOj9++677wy+SL28vIyOM3r0aHTv3l13DHtOTg5u3LiBmTNnmjQPDw8PgzZPT08AwJUrV3T/e3p6GvxAdnd3h729va7fQw89hI8++gg1NTWYNGkSunXrhpCQEGzdutWkuZjC1LnUMbZeFAoF/vzzz2abk6urq0Fc4Pa5IADg4uLS4PJ//vmn3o+0llIXs7HXIiUlBUuWLMGYMWPwySef4ODBgzh06BD69u1r9uvY1PeBKeuzbhu5k7G2+jQW548//tDN+07G2u5Ut70Ye197e3vrbU/R0dHw8vLC5s2bdbE//vhjTJo0CXZ2dgBuv44AMG7cOIPXceXKlRBC6LbHOvV9ptTn/fffh5OTE+Lj4w3ef//zP/+DH374wSB2x44dIYTQW49Tp06Fk5OT7vyejIwMODk56Z2LFRcXh02bNuHcuXOIjY2Fu7s7BgwYgLy8vCbNmagt4lWhiKyQnZ0dHn74YXz++ee4cOECunXrZtDnwoULOHLkCB599FFdm1KpNDiJGIDBDyQ3NzfIZDIcOHAACoXCoP+dbfX91Vsul2PmzJlYuHAh/vWvfyEzMxPDhg3DfffdZ1KedT9I/qq0tBTA//24cnV1xcGDByGE0JtHWVkZampq4ObmpmsbPXo0Ro8ejcrKSnz33XdIS0vDxIkT0b17d72Tm+9WU+bSUnr37q13InOduraGrigF3N4W7vzR1xLqYjb2mr3zzjuYNGkSVqxYoddeXl6Ozp07mzWHpr4PTOHq6qrbhv/KWNvd6tKlC2QyWYPvn4bUvbdKSkoMnrt06ZLeOrGzs0NcXBzWrVuHq1ev4r333kNlZSWmTJmi61PX//XXX6/3qmt3FjxN3cv67rvvYsmSJYiIiEBubi769eunF9/JyQmbNm0yuuxf8+nUqRMmT56MN998E3PmzMHmzZsxceJEg21pypQpmDJlCm7cuIGvv/4aL730EkaNGoWTJ0/C39+/SXMnaku4x4LISs2fPx9CCCQmJhpcJam2thYzZsxAbW0tZs2apWvv3r07ysrK9H5wVFVVYffu3XrLjxo1CkIIXLx4EaGhoQb/evfubfI84+Pj4ejoiKeffhq//vornnvuOZOXraiowMcff6zX9t5770Eul+Ohhx4CcPtKLtevX8dHH32k12/Lli265++kUCgQERGBlStXArh95aP61P14NOWv33czF0sbO3YsfvnlF73LytbU1OCdd97BgAED4O3t3eDyQUFBBldAMkVTXjdj/vvf/0IulzdahMpkMoMf+J999pnBIVQNzae+55rzfVBn6NChOHHiBI4fP67X/t577zV5rPq0b98eoaGh+Oijj1BVVaVrv379uklXHQsLC4OTkxPeeecdvfYLFy7gyy+/NNiOp0yZglu3bmHr1q3IyclBWFgYgoKCdM8PHjwYnTt3xs8//2z0dQwNDdU7ZOtuuLi4YM+ePQgODsbQoUPx3Xff6Z4bNWoUTp8+DVdXV6Ox77zyVlJSEsrLyzFu3DhcvXq1wc+s9u3bIzo6GosWLUJVVRVOnDhhVh5ErR33WBBZqcGDByM9PR2zZs3CkCFD8Nxzz8HPzw/FxcXIyMhAQUEBli1bhuHDh+uWmTBhApYuXYonn3wSL774Im7duoV169YZFCaDBw/GP/7xD0yZMgWHDx/GQw89hPbt26OkpATffPMNevfujRkzZpg0z86dO2PSpElYv349/P39TTrGu46rqytmzJiB4uJi3HvvvVCr1di4cSNmzJgBPz8/AMCkSZOQkZGByZMn4+zZs+jduze++eYbrFixAjExMXjkkUcAAEuXLsWFCxcwbNgwdOvWDVevXsXatWvh4OCAiIiIeudQ9+Nx7dq1mDx5MhwcHHDffffpHeNex9S5NIfDhw/rLomq0WgghMD27dsB3D6fpO6vplOnTkVGRgbGjx+PV199Fe7u7sjMzMSvv/6qd1x8fSIjI7Fp0yacPHkS9957r8nzq3vdVq5ciejoaNjZ2aFPnz4m/4D87rvv0K9fP3Tp0qXBfqNGjUJOTg6CgoLQp08fHDlyBKtWrTLYi9ejRw84OTnh3XffRXBwMDp06ABvb294e3vXO9fmfB/UmT17NjZt2oSRI0filVdegYeHB95991388ssvTRqnMcuXL8fIkSMxYsQIzJo1C7W1tVi1ahU6dOjQ6B6ozp07Y8mSJVi4cCEmTZqEp556CleuXEFqaiqUSiVeeuklvf5BQUEICwtDWloazp8/b3Bjzg4dOuD111/H5MmT8fvvv2PcuHFwd3fH5cuXcfz4cVy+fBnr1683O+eOHTviiy++wOOPP47hw4fj448/xtChQzF79mzs2LEDDz30EJKTk9GnTx9otVoUFxcjNzcXL7zwAgYMGKAb595778Wjjz6Kzz//HEOGDDE4H2b69OlwcnLC4MGD4eXlhdLSUqSlpaFTp04tfs8gohYnzTnjRNRS8vPzRWxsrPDw8BByuVwAEEqlUndpxDup1WrRr18/4eTkJAIDA8Ubb7xh9HKzQgixadMmMWDAANG+fXvh5OQkevToISZNmiQOHz6s6xMRESHuv//+Bue4b98+AUC8+uqrJudVN+6+fftEaGioUCgUwsvLSyxcuFBUV1fr9b1y5YpISEgQXl5ewt7eXvj7+4sFCxboXd70008/FdHR0cLHx0c4OjoKd3d3ERMTIw4cOKDrY+yqUEIIsWDBAuHt7a17feuu3HPnVaFMnYsQwuCyuXX8/f3F5MmTG319Jk+eLAAY/Xfn/EtLS8WkSZOEi4uLUCqVYuDAgQaX1KzPtWvXRIcOHcRrr71mUv86lZWVIj4+XnTt2lXIZLJ6r6xlTEVFhWjXrp3B1ZiM+eOPP8S0adOEu7u7aNeunRgyZIg4cOCA0XWzdetWERQUJBwcHAQA8dJLL5k0V3PeB8au7PTzzz+L4cOHC6VSKVxcXMS0adN0lzo15apQpm43O3fuFL179xaOjo7Cz89PvPrqqyIpKUl06dKl3tfzr958803Rp08f4ejoKDp16iRGjx4tTpw4YbTvhg0bBADh5OSkuxzznfbv3y9GjhwpXFxchIODg/Dx8REjR44U//nPf3R96j6L6q5k15g7LzcrxO31GRsbq/c5eP36dbF48WJx33336fLp3bu3SE5O1rtscJ2cnBwBQLz//vsGz7311lti6NChwsPDQzg6Ogpvb2/xxBNPiB9++MGkORO1ZTIh7rjTCxFZtS1btmDy5MmYO3eu7lAfqb3wwgtYv349zp8/b/KJ5JGRkSgvL8dPP/1k4dlRY55//nns3bsXJ06caPKx73cjOzsbs2bNwvnz5xvdY0Gmq66uRr9+/eDj44Pc3Fypp9OqxcbG4rvvvsPZs2fh4OAg9XSIWg0eCkVkYyZNmoSSkhLMnz8f7du3x9KlSyWby3fffYeTJ08iMzMT//znP5t8dSpqHRYvXowtW7Zgx44dBpfSbW41NTVYuXIlFixYwKLCTNOmTcPw4cN1h+tkZWWhqKgIa9eulXpqrVJlZSWOHj2K77//Hjt37sSaNWtYVBDdgXssiEgyMpkM7dq1Q0xMDDZv3mzSvSvqcI9F6/Lpp5/ijz/+QFxcnEXjnDlzBm+//Tbmzp0ryWVurckTTzyB/Px8XL58GQ4ODnjggQewcOFCvSvF0f85e/YsAgIC4OzsjIkTJ+KNN97QXTKXiG5jYUFERERERGbj5WaJiIiIiMhsLCyIiIiIiMhsLCyIiIiIiMhsvCpUPbRaLS5duoSOHTu2yOUTiYiIiIhaGyEEKioq4O3tDbm84X0SLCzqcenSJfj6+ko9DSIiIiIiyZ0/fx7dunVrsA8Li3p07NgRwO0X0dnZWeLZEBERERG1PI1GA19fX91v44awsKhH3eFPzs7OLCyIiIiIyKaZcmpAqzh5OzMzEwEBAVAqlVCpVDhw4ECD/ffv3w+VSgWlUonAwEBkZWXpPR8ZGQmZTGbwb+TIkZZMg4iIiIjIZkleWGzbtg2zZ8/GokWLUFhYiPDwcERHR6O4uNho/zNnziAmJgbh4eEoLCzEwoULkZSUhB07duj6fPjhhygpKdH9++mnn2BnZ4fx48e3VFpERERERDZF8jtvDxgwAA888ADWr1+vawsODsaYMWOQlpZm0H/evHn4+OOPUVRUpGtLSEjA8ePHUVBQYDRGeno6li5dipKSErRv396keWk0GnTq1AnXrl3joVBEREREZJOa8ptY0nMsqqqqcOTIEcyfP1+vPSoqCvn5+UaXKSgoQFRUlF7biBEjkJ2djerqajg4OBgsk52djSeffLLBoqKyshKVlZW6xxqNBsDty85qtVqTcyIiIiIishZN+R0saWFRXl6O2tpaeHh46LV7eHigtLTU6DKlpaVG+9fU1KC8vBxeXl56z33//ff46aefkJ2d3eBc0tLSkJqaatB++fJl3Lp1y5R0iIiIiIisSkVFhcl9W8VVoe48y1wI0eCZ58b6G2sHbu+tCAkJQf/+/Rucw4IFC5CSkqJ7XHdpra5du/JQKCIiIiKySUql0uS+khYWbm5usLOzM9g7UVZWZrBXoo6np6fR/vb29nB1ddVrv3nzJt5//30sX7680bkoFAooFAqDdrlc3uhdBomIiIiIrFFTfgdL+ovZ0dERKpUKeXl5eu15eXkYNGiQ0WXCwsIM+ufm5iI0NNTg/IoPPvgAlZWVeOaZZ5p34kREREREpEfyQ6FSUlIQFxeH0NBQhIWFYcOGDSguLkZCQgKA24coXbx4EVu2bAFw+wpQb7zxBlJSUjB9+nQUFBQgOzsbW7duNRg7OzsbY8aMMdiTQUREZKoxIy5ZdPyPdntbdHwiopYieWExYcIEXLlyBcuXL0dJSQlCQkKgVqvh7+8PACgpKdG7p0VAQADUajWSk5ORkZEBb29vrFu3DrGxsXrjnjx5Et988w1yc3NbNB8iIiIiIlsk+X0sWivex4KIiADusSAi29aU38Q8K5mIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzWKgqLzMxMBAQEQKlUQqVS4cCBAw32379/P1QqFZRKJQIDA5GVlWXQ5+rVq5g5cya8vLygVCoRHBwMtVptqRSIiIiIiGya5IXFtm3bMHv2bCxatAiFhYUIDw9HdHQ0iouLjfY/c+YMYmJiEB4ejsLCQixcuBBJSUnYsWOHrk9VVRWGDx+Os2fPYvv27fj111+xceNG+Pj4tFRaREREREQ2RSaEEFJOYMCAAXjggQewfv16XVtwcDDGjBmDtLQ0g/7z5s3Dxx9/jKKiIl1bQkICjh8/joKCAgBAVlYWVq1ahV9++QUODg53NS+NRoNOnTrh2rVrcHZ2vqsxiIio7Rsz4pJFx/9ot7dFxyciMkdTfhPbt9CcjKqqqsKRI0cwf/58vfaoqCjk5+cbXaagoABRUVF6bSNGjEB2djaqq6vh4OCAjz/+GGFhYZg5cyZ27dqFrl27YuLEiZg3bx7s7OyMjltZWYnKykrdY41GAwDQarXQarXmpElERG2YTGbZv7/xO4aIWrOmfEZJWliUl5ejtrYWHh4eeu0eHh4oLS01ukxpaanR/jU1NSgvL4eXlxf++9//4ssvv8TTTz8NtVqN3377DTNnzkRNTQ2WLl1qdNy0tDSkpqYatF++fBm3bt26ywyJiKit6+Z3zaLjl5UZ/4MXEVFrUFFRYXJfSQuLOjKZTO+xEMKgrbH+f23XarVwd3fHhg0bYGdnB5VKhUuXLmHVqlX1FhYLFixASkqK7rFGo4Gvry+6du3KQ6GIiGzYheJai47v7u5u0fGJiMyhVCpN7itpYeHm5gY7OzuDvRNlZWUGeyXqeHp6Gu1vb28PV1dXAICXlxccHBz0DnsKDg5GaWkpqqqq4OjoaDCuQqGAQqEwaJfL5ZDLJT/HnYiIJCJE/X/oag78jiGi1qwpn1GSfpo5OjpCpVIhLy9Prz0vLw+DBg0yukxYWJhB/9zcXISGhupO1B48eDBOnTqld0zYyZMn4eXlZbSoICIiIiIi80j+Z5KUlBS8+eab2LRpE4qKipCcnIzi4mIkJCQAuH2I0qRJk3T9ExIScO7cOaSkpKCoqAibNm1CdnY25syZo+szY8YMXLlyBbNmzcLJkyfx2WefYcWKFZg5c2aL50dEREREZAskP8diwoQJuHLlCpYvX46SkhKEhIRArVbD398fAFBSUqJ3T4uAgACo1WokJycjIyMD3t7eWLduHWJjY3V9fH19kZubi+TkZPTp0wc+Pj6YNWsW5s2b1+L5ERERERHZAsnvY9Fa8T4WREQE8D4WRGTbmvKbWPJDoYiIiIiIqO1jYUFERERERGZjYUFERERERGZjYUFERERERGZjYUFERERERGZjYUFERERERGZjYUFERERERGZjYUFERERERGaT/M7b1PrwZlBERGTt+F1H1Py4x4KIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGO28T2QjeZdY6cb0SEemz5OciPxMbxj0WRERERERktlZRWGRmZiIgIABKpRIqlQoHDhxosP/+/fuhUqmgVCoRGBiIrKwsvedzcnIgk8kM/t26dcuSaRARERER2SzJC4tt27Zh9uzZWLRoEQoLCxEeHo7o6GgUFxcb7X/mzBnExMQgPDwchYWFWLhwIZKSkrBjxw69fs7OzigpKdH7p1QqWyIlIiIiIiKbI/k5FmvWrMG0adMQHx8PAEhPT8fu3buxfv16pKWlGfTPysqCn58f0tPTAQDBwcE4fPgwVq9ejdjYWF0/mUwGT0/PFsmBiIiIiMjWSbrHoqqqCkeOHEFUVJRee1RUFPLz840uU1BQYNB/xIgROHz4MKqrq3Vt169fh7+/P7p164ZRo0ahsLCw+RMgIiIiIiIAEu+xKC8vR21tLTw8PPTaPTw8UFpaanSZ0tJSo/1rampQXl4OLy8vBAUFIScnB71794ZGo8HatWsxePBgHD9+HD179jQ6bmVlJSorK3WPNRoNAECr1UKr1ZqTZpsjkwmLjm9rr2drwfVqnbheLY+vsXXierVelly3trhem5Kz5IdCAbcPW/orIYRBW2P9/9o+cOBADBw4UPf84MGD8cADD+D111/HunXrjI6ZlpaG1NRUg/bLly/b3Enf3fyuWXT8sjI7i45PxnG9WieuV8vja2yduF6tlyXXrS2u14qKCpP7SlpYuLm5wc7OzmDvRFlZmcFeiTqenp5G+9vb28PV1dXoMnK5HA8++CB+++23eueyYMECpKSk6B5rNBr4+vqia9eucHZ2NjUlq3ChuNai47u7u1t0fDKO69U6cb1aHl9j68T1ar0suW5tcb025eJHkhYWjo6OUKlUyMvLw9ixY3XteXl5GD16tNFlwsLC8Mknn+i15ebmIjQ0FA4ODkaXEULg2LFj6N27d71zUSgUUCgUBu1yuRxyueQXz2pRQtS/t6g52Nrr2VpwvVonrlfL42tsnbherZcl160trtem5Cz5oVApKSmIi4tDaGgowsLCsGHDBhQXFyMhIQHA7T0JFy9exJYtWwAACQkJeOONN5CSkoLp06ejoKAA2dnZ2Lp1q27M1NRUDBw4ED179oRGo8G6detw7NgxZGRkSJIjtV68a7F14nq1XryjrmXxvWOduF6ppUheWEyYMAFXrlzB8uXLUVJSgpCQEKjVavj7+wMASkpK9O5pERAQALVajeTkZGRkZMDb2xvr1q3Tu9Ts1atX8Y9//AOlpaXo1KkT/va3v+Hrr79G//79Wzw/IiIiIiJbIHlhAQCJiYlITEw0+lxOTo5BW0REBI4ePVrveP/+97/x73//u7mmR0RkEv5VkIiIbJntHShGRERERETNjoUFERERERGZjYUFERERERGZjYUFERERERGZjYUFERERERGZjYUFERERERGZjYUFERERERGZjYUFERERERGZrVXcII+IiIj0WfKGi7zZIhFZAvdYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2Xi5WSIJ8DKSREREZG24x4KIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzGwoKIiIiIiMzWKgqLzMxMBAQEQKlUQqVS4cCBAw32379/P1QqFZRKJQIDA5GVlVVv3/fffx8ymQxjxoxp5lkTEREREVEdyQuLbdu2Yfbs2Vi0aBEKCwsRHh6O6OhoFBcXG+1/5swZxMTEIDw8HIWFhVi4cCGSkpKwY8cOg77nzp3DnDlzEB4ebuk0iIiIiIhsmuSFxZo1azBt2jTEx8cjODgY6enp8PX1xfr16432z8rKgp+fH9LT0xEcHIz4+HhMnToVq1ev1utXW1uLp59+GqmpqQgMDGyJVIiIiIiIbJakN8irqqrCkSNHMH/+fL32qKgo5OfnG12moKAAUVFRem0jRoxAdnY2qqur4eDgAABYvnw5unbtimnTpjV6aBUAVFZWorKyUvdYo9EAALRaLbRabZPyautkMmHR8VvT6ylVrpaMK0XMhuJKwRrXa31xbWm9Arb13rGlXKXAXJtP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Ozs7ZGZmYvjw4fXOJS0tDampqQbtly9fxq1bt5qaWrPo5nfNouOXldnZTFzmylytNa4UMWuvX8ef/v4WjQsAN69fh11ZmV4bt6e2G1OquLaUa31xbSlXS8dtbbm2hIqKCpP7SlpY1JHd8ZcvIYRBW2P972zv2LEjjh07huvXr2Pv3r1ISUlBYGAgIiMjjY65YMECpKSk6B5rNBr4+vqia9eucHZ2bmpKzeJCca1Fx3d3d7eZuMyVuVprXCli1mg0uHHunEXjAkD7Dh1gf0d8bk9tN6ZUcW0p1/ri2lKulo7b2nJtCUql0uS+khYWbm5usLOzM9g7UVZWZrBXoo6np6fR/vb29nB1ddW1yeVy3HPPPQCAfv36oaioCGlpafUWFgqFAgqFwqBdLpdDLpfmVBQhLHuoQX15WWNc5spcrTWuFDHlMhlkwrK7/evi3Bmf21PbjSlVXFvKtb64tpSrpeO2tlxbQlNiS3rytqOjI1QqFfLy8vTa8/LyMGjQIKPLhIWFGfTPzc1FaGiowfkVfyWE0DuHgoiIiIiImo/kh0KlpKQgLi4OoaGhCAsLw4YNG1BcXIyEhAQAtw9RunjxIrZs2QIASEhIwBtvvIGUlBRMnz4dBQUFyM7OxtatW3VjpqWlITQ0FD169EBVVRXUajW2bNlS75WmiIiIiIjIPJIXFhMmTMCVK1ewfPlylJSUICQkBGq1Gv7/e2JgSUmJ3j0tAgICoFarkZycjIyMDHh7e2PdunWIjY3V9blx4wYSExNx4cIFODk5ISgoCO+88w4mTJjQ4vkREREREdkCyQsLAEhMTERiYqLR53JycgzaIiIicPTo0XrHe+WVV/DKK6801/SIiIiIiKgRkt8gj4iIiIiI2j4WFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZDYWFkREREREZLZWUVhkZmYiICAASqUSKpUKBw4caLD//v37oVKpoFQqERgYiKysLL3nN27ciPDwcHTp0gVdunTBI488gu+//96SKRARERER2TTJC4tt27Zh9uzZWLRoEQoLCxEeHo7o6GgUFxcb7X/mzBnExMQgPDwchYWFWLhwIZKSkrBjxw5dn3379uGpp57CV199hYKCAvj5+SEqKgoXL15sqbSIiIiIiGyK5IXFmjVrMG3aNMTHxyM4OBjp6enw9fXF+vXrjfbPysqCn58f0tPTERwcjPj4eEydOhWrV6/W9Xn33XeRmJiIfv36ISgoCBs3boRWq8XevXtbKi0iIiIiIpsiaWFRVVWFI0eOICoqSq89KioK+fn5RpcpKCgw6D9ixAgcPnwY1dXVRpe5efMmqqur4eLi0jwTJyIiIiIiPfZSBi8vL0dtbS08PDz02j08PFBaWmp0mdLSUqP9a2pqUF5eDi8vL4Nl5s+fDx8fHzzyyCP1zqWyshKVlZW6xxqNBgCg1Wqh1WpNzqk5yWTCouPXl5c1xmWuzNVa40oRUysEhExm0bh1ce6Mz+2p7caUKq4t5VpfXFvK1dJxW1uuLaEpsSUtLOrI7viCEkIYtDXW31g7ALz22mvYunUr9u3bB6VSWe+YaWlpSE1NNWi/fPkybt261eD8LaWb3zWLjl9WZmczcZkrc7XWuFLErL1+HX/6+1s0LgDcvH4ddmVlem3cntpuTKni2lKu9cW1pVwtHbe15doSKioqTO4raWHh5uYGOzs7g70TZWVlBnsl6nh6ehrtb29vD1dXV7321atXY8WKFdizZw/69OnT4FwWLFiAlJQU3WONRgNfX1907doVzs7OTUmr2VworrXo+O7u7jYTl7kyV2uNK0XMGo0GN86ds2hcAGjfoQPs74jP7antxpQqri3lWl9cW8rV0nFbW64toaE/zN9J0sLC0dERKpUKeXl5GDt2rK49Ly8Po0ePNrpMWFgYPvnkE7223NxchIaGwsHBQde2atUqvPLKK9i9ezdCQ0MbnYtCoYBCoTBol8vlkMulORVFCMsealBfXtYYl7kyV2uNK0VMuUwGmbDsbv+6OHfG5/bUdmNKFdeWcq0vri3laum4rS3XltCU2JJfFSolJQVvvvkmNm3ahKKiIiQnJ6O4uBgJCQkAbu9JmDRpkq5/QkICzp07h5SUFBQVFWHTpk3Izs7GnDlzdH1ee+01LF68GJs2bUL37t1RWlqK0tJSXL9+vcXzIyIiIiKyBZKfYzFhwgRcuXIFy5cvR0lJCUJCQqBWq+H/v8fvlpSU6N3TIiAgAGq1GsnJycjIyIC3tzfWrVuH2NhYXZ/MzExUVVVh3LhxerFeeuklLFu2rEXyIiIiIiKyJZIXFgCQmJiIxMREo8/l5OQYtEVERODo0aP1jnf27NlmmhkREREREZlC8kOhiIiIiIio7WNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmNhQUREREREZmsVhUVmZiYCAgKgVCqhUqlw4MCBBvvv378fKpUKSqUSgYGByMrK0nv+xIkTiI2NRffu3SGTyZCenm7B2RMRERERkeSFxbZt2zB79mwsWrQIhYWFCA8PR3R0NIqLi432P3PmDGJiYhAeHo7CwkIsXLgQSUlJ2LFjh67PzZs3ERgYiFdffRWenp4tlQoRERERkc2SvLBYs2YNpk2bhvj4eAQHByM9PR2+vr5Yv3690f5ZWVnw8/NDeno6goODER8fj6lTp2L16tW6Pg8++CBWrVqFJ598EgqFoqVSISIiIiKyWZIWFlVVVThy5AiioqL02qOiopCfn290mYKCAoP+I0aMwOHDh1FdXW2xuRIRERERUf3spQxeXl6O2tpaeHh46LV7eHigtLTU6DKlpaVG+9fU1KC8vBxeXl53NZfKykpUVlbqHms0GgCAVquFVqu9qzHNJZMJi45fX17WGJe5MldrjStFTK0QEDKZRePWxbkzPrenthtTqri2lGt9cW0pV0vHbW25toSmxJa0sKgju+MLSghh0NZYf2PtTZGWlobU1FSD9suXL+PWrVt3Pa45uvlds+j4ZWV2NhOXuTJXa40rRcza69fxp7+/ReMCwM3r12FXVqbXxu2p7caUKq4t5VpfXFvK1dJxW1uuLaGiosLkvpIWFm5ubrCzszPYO1FWVmawV6KOp6en0f729vZwdXW967ksWLAAKSkpuscajQa+vr7o2rUrnJ2d73pcc1worrXo+O7u7jYTl7kyV2uNK0XMGo0GN86ds2hcAGjfoQPs74jP7antxpQqri3lWl9cW8rV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",
          "text/plain": "<Figure size 800x300 with 1 Axes>"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
       "tabbable": null,
       "tooltip": null
      }
     },
     "4dac56abfae449adb4679b590624aa02": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "759f5ee5ac604b5caacdc6c16cd14fa7": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "SliderStyleModel",
      "state": {
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "SliderStyleModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "StyleView",
       "description_width": "",
       "handle_color": null
      }
     },
     "9e82b8e4881144f695b6d8d124219af7": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "c0b5ce55ad854ed78fa6ede50a6d539e": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "VBoxModel",
      "state": {
       "_dom_classes": [
        "widget-interact"
       ],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "VBoxModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "VBoxView",
       "box_style": "",
       "children": [
        "IPY_MODEL_da4f7826873f49c2ba4ef101ac8eca13",
        "IPY_MODEL_3fc026c6e8624169938a62254b0e50ff"
       ],
       "layout": "IPY_MODEL_db4d9dc4f7fe466cbd7d0f6382b9685f",
       "tabbable": null,
       "tooltip": null
      }
     },
     "da4f7826873f49c2ba4ef101ac8eca13": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "IntSliderModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/controls",
       "_model_module_version": "2.0.0",
       "_model_name": "IntSliderModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/controls",
       "_view_module_version": "2.0.0",
       "_view_name": "IntSliderView",
       "behavior": "drag-tap",
       "continuous_update": true,
       "description": "query_pos",
       "description_allow_html": false,
       "disabled": false,
       "layout": "IPY_MODEL_4dac56abfae449adb4679b590624aa02",
       "max": 21,
       "min": 0,
       "orientation": "horizontal",
       "readout": true,
       "readout_format": "d",
       "step": 1,
       "style": "IPY_MODEL_759f5ee5ac604b5caacdc6c16cd14fa7",
       "tabbable": null,
       "tooltip": null,
       "value": 10
      }
     },
     "db4d9dc4f7fe466cbd7d0f6382b9685f": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
