{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "collected-allah",
   "metadata": {},
   "source": [
    "# Simulation and illustration of several results of \"Points and lines configurations for perpendicular bisectors of convex cyclic polygons''\n",
    "\n",
    "In this notebook we illustrate several of our results, by means of simulation and explicit computation. We follow the subsections, references and order of the revised version of the paper."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "exceptional-substitute",
   "metadata": {},
   "outputs": [],
   "source": [
    "# We make the simulations repeatable by setting the seed\n",
    "set_random_seed(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bright-serbia",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "## 1.1 Deterministic results\n",
    "We begin with **Theorem 1**, which states that a word is realizable *iff* its signature is interlacing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "diagnostic-possibility",
   "metadata": {},
   "outputs": [],
   "source": [
    "def sim_data(n):\n",
    "    # simulates a configuration for n iid points uniform on the circle\n",
    "    # the data is returned as a sorted list of elements of type (pos,index)\n",
    "    # where 'pos' is the position in [0,1] in increasing order, and 'index' is either:\n",
    "    # - 0 for a point\n",
    "    # - 1 for the diametrically opposite point\n",
    "    # - 2 for a perpendicular bisector\n",
    "    # - 3 for the diametrically opposite part of the bisector\n",
    "    P = [random() for _ in range(n)] #n iid points\n",
    "    PP = [(P[i] + 1/2) % 1 for i in range(n)] #diametrically opposite points\n",
    "    P.sort()\n",
    "    L = [ (P[i] + P[i+1]) / 2 for i in range(n-1)] + [ (P[n-1]-1+P[0])/2 %1 ] #bisectors\n",
    "    LL = [ (L[i] + 1/2) % 1 for i in range(n)] #diametrically opposite side of bisectors\n",
    "    # the next list, U will contain, the data described before\n",
    "    U = [(x,0) for x in P] + [(x,1) for x in PP] + [(x,2) for x in L] + [(x,3) for x in LL]\n",
    "    U.sort() #default sorting is w.r.t. the first entries\n",
    "    return U"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "impressed-dominican",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def sim_word(n):\n",
    "    # simulates data and deduces the occupancy word\n",
    "    U = sim_data(n)\n",
    "    V = [] # will be the occupancy word\n",
    "    current_number = 0\n",
    "    for (_,x) in U:\n",
    "        if x==2 or x==3:\n",
    "            V.append(current_number)\n",
    "            current_number=0\n",
    "        if x==0:\n",
    "            current_number+=1\n",
    "    V[0] += current_number\n",
    "    return V\n",
    "\n",
    "# an occupancy word for n=10 random points:\n",
    "sim_word(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "included-governor",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1, 0, 2, 1, 0, 1, 1, 1, 2, 1]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def word_to_sig(V):\n",
    "    # takes a word and returns its signature\n",
    "    n = len(V)/2\n",
    "    return [V[i] + V[i+n] for i in range(n)]\n",
    "def sim_sig(n):\n",
    "    # simulates the signature of the occupancy word\n",
    "    V = sim_word(n)\n",
    "    return word_to_sig(V)\n",
    "\n",
    "# a signature of a word for n=10 random points:\n",
    "sim_sig(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "healthy-dispute",
   "metadata": {},
   "outputs": [],
   "source": [
    "# We now test if signatures are always interlacing.\n",
    "def is_interlacing(S):\n",
    "    # Takes a signature S (list of 0, 1 and 2) and says if it is interlacing\n",
    "    n0 = S.count(0)\n",
    "    n2 = S.count(2)\n",
    "    # If there are no 0, no 2, or not the same number of 0 and 2, fail:\n",
    "    if n0==0 or n0!=n2:\n",
    "        return False\n",
    "    # Otherwise, we run through S and each time we see a 0/2, we check if the previous was different.\n",
    "    # Initially, 'previous' is the one *different* from the first 0/2 in S.\n",
    "    i0 = S.index(0) #first index for 0\n",
    "    i2 = S.index(2) #first index for 2\n",
    "    if i0<i2:\n",
    "        previous=2\n",
    "    else:\n",
    "        previous=0\n",
    "    for x in S:\n",
    "        if x==0 or x==2:\n",
    "            if x==previous:\n",
    "                return False\n",
    "            previous=x\n",
    "    return True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "floating-services",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of non-interlacing signatures found: 0\n"
     ]
    }
   ],
   "source": [
    "# We simulate n_tests signatures for n, and check if they are all interlacing.\n",
    "n_tests=1000000\n",
    "n=20\n",
    "\n",
    "n_fail=0\n",
    "for _ in range(n_tests):\n",
    "    if not(is_interlacing(sim_sig(n))):\n",
    "        print('fail')\n",
    "        n_fail += 1\n",
    "        \n",
    "print('Number of non-interlacing signatures found: ' + str(n_fail) )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "informational-design",
   "metadata": {},
   "source": [
    "We can now illustrate **Proposition 2**, which states uniqueness of the occupancy word for $n=3$ up to symmetries."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "horizontal-sentence",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1, 0, 0, 1, 0, 1]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# occupancy word for a random word with n=3\n",
    "sim_word(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "considered-barcelona",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "For n=3, number of bracelets different from the reference one found: 0\n"
     ]
    }
   ],
   "source": [
    "# we test that this is indeed the only word up to symmetries (i.e. the only bracelet),\n",
    "# for n_tests simulations\n",
    "n_tests = 1000000\n",
    "n_mistakes = 0\n",
    "for _ in range(n_tests):\n",
    "    V = sim_word(3)\n",
    "    # we make the word 'canonical' by computing the rotation that is minimal\n",
    "    # in lexicographic order:\n",
    "    min_rotation = min(V[i:]+V[:i] for i in range(6))\n",
    "    if min_rotation != [0,0,1,1,0,1] and min_rotation != [0,0,1,0,1,1]:\n",
    "        print('fail')\n",
    "        n_mistakes += 1\n",
    "print('For n=3, number of bracelets different from the reference one found: '+str(n_mistakes))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "brutal-anthropology",
   "metadata": {},
   "source": [
    "We now illustrate **Corollary 3** and **Table 1**. For these, we first list all realizable signatures, then words, then bracelets for small $n$. This is done using Sage's Automata libraries, since the language describing realizable signatures is a rational one."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "parallel-authentication",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "Graphics object consisting of 44 graphics primitives"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# The following automaton recognizes alternating signatures.\n",
    "# It has seven states: A, B1, B2, C1, C2, D1, D2.\n",
    "# The initial state is A and the final states are C1, C2.\n",
    "# Its representation as a graph is plotted below (disregard the '|-' in edge labels)\n",
    "sig_automaton = Automaton(\n",
    "    {'A': [('A', 1), ('B1', 0), ('B2', 2)],\n",
    "     'B1': [('B1', 1), ('C1', 2)], 'B2': [('B2', 1), ('C2', 0)], \n",
    "     'C1': [('C1', 1), ('D1', 0)], 'C2': [('C2', 1), ('D2', 2)],\n",
    "     'D1': [('D1', 1), ('C1', 2)], 'D2': [('D2', 1), ('C2', 0)] },\n",
    "    initial_states = ['A'], final_states = ['C1', 'C2'])\n",
    "\n",
    "sig_automaton.graph().plot(edge_labels_background='transparent',\n",
    "                           edge_labels='True', vertex_size=200.,\n",
    "                           pos={'A':[0.,0.],'B1':[0.3,0.],'B2':[-0.3,0.],\n",
    "                                'C1':[0.6,0.],'C2':[-0.6,0.],\n",
    "                                'D1':[0.9,0.],'D2':[-0.9,0.]})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "variable-symphony",
   "metadata": {},
   "outputs": [],
   "source": [
    "def all_sig(n):\n",
    "    # returns a list of all alternating signatures for n points\n",
    "    num = sig_automaton.number_of_words(n)\n",
    "    l = list(sig_automaton.language(n))\n",
    "    # Sage returns all words of length <=n in l, so we restrict to the last ones to get length ==n.\n",
    "    return l[-num:] "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "impossible-spokesman",
   "metadata": {},
   "outputs": [],
   "source": [
    "def sig_to_words(S):\n",
    "    # Takes a signature and returns all words of 0/1 that have this signature.\n",
    "    # The signature has length n, and the words have length 2*n.\n",
    "    # A - If the signature has a 2 (resp. 0) in position i,\n",
    "    # then the word must have a 1 (resp. 0) in positions i and i+n.\n",
    "    # B - If the signature has a 1 in position i, then in the word,\n",
    "    # exactly one of positions i, i+n is 1, and the other is 0.\n",
    "    n = len(S)\n",
    "    lV = [] #will store the list of words\n",
    "    V0 = [0 for _ in range(2*n)] #reference word that will satisfy just A\n",
    "    for i in range(n):\n",
    "        if S[i]==2:\n",
    "            V0[i] = 1\n",
    "            V0[i+n] = 1\n",
    "    # now V0 satisfies A\n",
    "    # To compute all words satisfying also B, we compute all subsets of positions of 1's\n",
    "    pos1 = set([i for i,x in enumerate(S) if x==1]) #all positions of 1 in the signature\n",
    "    for set1 in subsets(pos1): \n",
    "        # the subset 'set1' will be the 1's for V[i], \n",
    "        # and those of pos1\\set1 will be the 1's for V[i+n]\n",
    "        V = copy(V0)\n",
    "        for i in set1:\n",
    "            V[i] = 1\n",
    "        for i in pos1.difference(set1):\n",
    "            V[i+n] = 1\n",
    "        lV.append(V)\n",
    "    return lV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "passing-matter",
   "metadata": {},
   "outputs": [],
   "source": [
    "def all_words(n):\n",
    "    # returns a list of all realizable words for n points\n",
    "    lV = []\n",
    "    for S in all_sig(n):\n",
    "        lV += sig_to_words(S)\n",
    "    return lV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "chubby-relations",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "for n=3: 12 enumerated words, 12 in theory\n",
      "for n=4: 50 enumerated words, 50 in theory\n",
      "for n=5: 180 enumerated words, 180 in theory\n",
      "for n=6: 602 enumerated words, 602 in theory\n",
      "for n=7: 1932 enumerated words, 1932 in theory\n",
      "for n=8: 6050 enumerated words, 6050 in theory\n",
      "for n=9: 18660 enumerated words, 18660 in theory\n",
      "for n=10: 57002 enumerated words, 57002 in theory\n",
      "for n=11: 173052 enumerated words, 173052 in theory\n",
      "for n=12: 523250 enumerated words, 523250 in theory\n"
     ]
    }
   ],
   "source": [
    "# For n from 3 to 10, we enumerate all realizable words \n",
    "# and compare their number with that of Corollary 1.10\n",
    "for n in range(3,13):\n",
    "    print( 'for n='+str(n) + ': ' + str(len(all_words(n))) + ' enumerated words, ' + \n",
    "          str(3**n - 2**(n+1) + 1 ) + ' in theory')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "steady-spray",
   "metadata": {},
   "outputs": [],
   "source": [
    "# We chose to represent a bracelet as a word that is minimal for the lexicographic order\n",
    "# among all rotations of the word and the reversed word.\n",
    "def word_to_brac(V):\n",
    "    # Takes a word and returns the corresponding bracelet\n",
    "    m1 = min(V[i:]+V[:i] for i in range(len(V))) #min rotation of the word\n",
    "    V2 = copy(V)\n",
    "    V2.reverse()\n",
    "    m2 = min(V2[i:]+V2[:i] for i in range(len(V))) #min rotation of reversed word\n",
    "    m = min(m1,m2)\n",
    "    return m\n",
    "    #m_n = int(\"\".join(str(i) for i in m),2)\n",
    "    #return m_n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "limited-prague",
   "metadata": {},
   "outputs": [],
   "source": [
    "def all_brac(n):\n",
    "    # Returns a list of all bracelets for n points.\n",
    "    l = all_words(n)\n",
    "    ll = [] #will be the list of all bracelets\n",
    "    for V in l:\n",
    "        bV = word_to_brac(V)\n",
    "        if not(bV in ll):\n",
    "            ll.append(bV)\n",
    "    return ll"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "economic-empire",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "n=3: number of bracelets 1\n",
      "n=4: number of bracelets 5\n",
      "n=5: number of bracelets 9\n",
      "n=6: number of bracelets 30\n",
      "n=7: number of bracelets 69\n",
      "n=8: number of bracelets 203\n",
      "n=9: number of bracelets 519\n",
      "n=10: number of bracelets 1466\n",
      "n=11: number of bracelets 3933\n",
      "n=12: number of bracelets 11025\n"
     ]
    }
   ],
   "source": [
    "# Computing the number of bracelets for n from 3 to 12. This extends Table 1.\n",
    "for n in range(3,13):\n",
    "    l = all_brac(n)\n",
    "    print('n='+str(n)+': number of bracelets '+str(len(l)))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "urban-grave",
   "metadata": {},
   "source": [
    "We also illustrate Andrew Howroyd's **Corollary 4**, that gives an explicit formula as a sum for the number of bracelets. This formula is of course way more efficient, and can very quickly give the first ~10000 terms of the sequence."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "liked-differential",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "n=3: number of bracelets 1\n",
      "n=4: number of bracelets 5\n",
      "n=5: number of bracelets 9\n",
      "n=6: number of bracelets 30\n",
      "n=7: number of bracelets 69\n",
      "n=8: number of bracelets 203\n",
      "n=9: number of bracelets 519\n",
      "n=10: number of bracelets 1466\n",
      "n=11: number of bracelets 3933\n",
      "n=12: number of bracelets 11025\n"
     ]
    }
   ],
   "source": [
    "def num_brac(n):\n",
    "    # Returns the number of realizable bracelets for n, using Andrew Howroyd's formula\n",
    "    s = 0 #the sum\n",
    "    for d in divisors(n):\n",
    "        if (n/d) % 2 == 1:\n",
    "            s+=(3**d - 2**(d+1) - (-1)**n)*euler_phi(n/d)\n",
    "    res = s / (4*n) #the result\n",
    "    if n%2==0:\n",
    "        res+=(3**(n/2 - 1) +1)/ 2\n",
    "    return res\n",
    "\n",
    "# Computing the first terms and checking if they agree with our bruteforce algorithm\n",
    "for n in range(3,13):\n",
    "    print('n='+str(n)+': number of bracelets '+str(num_brac(n)))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "loving-shanghai",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "## 1.2 Uniformly random points on the circle\n",
    "\n",
    "**Proposition 5** is harder to illustrate. However, we can illustrate **Proposition 6**, that is also some evidence for the previous one."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "skilled-rebate",
   "metadata": {},
   "outputs": [],
   "source": [
    "def b(n):\n",
    "    # returns the special word denoted by b_n\n",
    "    return [1,0] + [1 for _ in range(n-1)] + [0 for _ in range(n-1)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "crazy-contemporary",
   "metadata": {},
   "outputs": [],
   "source": [
    "def empirical_prob_b(n,n_tests):\n",
    "    # computes the empirical probability of the word b_n, by taking n_tests samples\n",
    "    bword = b(n)\n",
    "    # as b_n is a bracelet, we also compute its reversed version\n",
    "    bword_reversed = b(n)\n",
    "    bword_reversed.reverse()\n",
    "    res = 0 #number of success\n",
    "    for _ in range(n_tests):\n",
    "        V = sim_word(n)\n",
    "        for i in range(2*n): #we test for all rotations of the simulated word V\n",
    "            rotated_V = V[i:]+V[:i]\n",
    "            if rotated_V == bword or rotated_V == bword_reversed:\n",
    "                res += 1\n",
    "                break\n",
    "    return float(res/n_tests)\n",
    "def theory_prob_b(n):\n",
    "    return float( n / (3*2**(2*n-6)) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "material-census",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "for n=3, empirical: 1.0, theory: 1.0\n",
      "for n=4, empirical: 0.332919, theory: 0.3333333333333333\n",
      "for n=5, empirical: 0.104201, theory: 0.10416666666666667\n",
      "for n=6, empirical: 0.031057, theory: 0.03125\n",
      "for n=7, empirical: 0.009129, theory: 0.009114583333333334\n",
      "for n=8, empirical: 0.002601, theory: 0.0026041666666666665\n",
      "for n=9, empirical: 0.000731, theory: 0.000732421875\n",
      "for n=10, empirical: 0.000206, theory: 0.00020345052083333334\n"
     ]
    }
   ],
   "source": [
    "# For n from 3 to 10, we simulate n_tests samples\n",
    "# and compare the empirical probability of b_n with the theoretical one\n",
    "n_tests = 1000000\n",
    "for n in range(3,11):\n",
    "    print('for n='+str(n)+', empirical: '+str(empirical_prob_b(n,n_tests))+\n",
    "          ', theory: '+str(theory_prob_b(n)))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "familiar-garbage",
   "metadata": {},
   "source": [
    "We turn to **Theorem 7**. It concerns the expected number of regions of type 0, 1, 2, or equivalently twice the number of 0, 1, 2 in signatures. As described in the paper, it is enough to illustrate only for type 0, which is what we do here."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "hydraulic-surveillance",
   "metadata": {},
   "outputs": [],
   "source": [
    "def empirical_num_0(n,n_tests):\n",
    "    # computes the empirical expectation of numbers of 0,1,2\n",
    "    # in n_tests samples.\n",
    "    H0 = 0\n",
    "    for _ in range(n_tests):\n",
    "        S = sim_sig(n)\n",
    "        # for each 0 in the signatures there are 2 regions (convention: 2n regions in total)\n",
    "        H0 += 2*S.count(0)\n",
    "    H0 = float( H0/(n_tests) )\n",
    "    return H0\n",
    "def theory_num_0(n):\n",
    "    h0 = float( (n/2) * (1 + 1/(3**(n-2))) )\n",
    "    return h0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "virtual-processing",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "for n=3: empirical: 2.0, theory: 2.0\n",
      "for n=4: empirical: 2.222156, theory: 2.2222222222222223\n",
      "for n=5: empirical: 2.592678, theory: 2.5925925925925926\n",
      "for n=6: empirical: 3.03522, theory: 3.037037037037037\n",
      "for n=7: empirical: 3.514308, theory: 3.51440329218107\n",
      "for n=8: empirical: 4.005708, theory: 4.005486968449931\n",
      "for n=9: empirical: 4.504998, theory: 4.502057613168724\n",
      "for n=10: empirical: 5.001886, theory: 5.00076207895138\n"
     ]
    }
   ],
   "source": [
    "# For n from 3 to 10, we simulate n_tests samples\n",
    "# and compare the empirical average number of 0's with the theoretical one\n",
    "n_tests = 1000000\n",
    "for n in range(3,11):\n",
    "    H0 = empirical_num_0(n,n_tests)\n",
    "    h0 = theory_num_0(n)\n",
    "    print('for n='+str(n)+': empirical: '+str(H0)+', theory: '+str(h0))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "communist-manor",
   "metadata": {},
   "source": [
    "We analogously illustrate **Theorem 8**, which concerns the average *lengths* of the three types of regions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "encouraging-involvement",
   "metadata": {},
   "outputs": [],
   "source": [
    "def sim_lengths(n):\n",
    "    # simulates the lengths of regions of size 0, 1, 2 for one realization\n",
    "    U = sim_data(n)\n",
    "    l = [0.,0.,0.] #total lengths of each type\n",
    "    n_points = 0 #number of points in the current region\n",
    "    left_bound = 0. #left bound of the current region (the first one will require special care)\n",
    "    for (x,i) in U:\n",
    "        if i == 2 or i == 3: #end of region\n",
    "            if left_bound == 0.: #case of first region\n",
    "                i0 = n_points #number of points at beginning\n",
    "                l0 = x #length at beginning\n",
    "                left_bound = x\n",
    "                n_points = 0\n",
    "            else: #usual case\n",
    "                l[n_points] += (x-left_bound)\n",
    "                left_bound = x\n",
    "                n_points = 0\n",
    "        else: #normal point or antipoint\n",
    "            n_points += 1\n",
    "    l[i0 + n_points] += 1.0 - left_bound + l0 #first region and last regions together\n",
    "    return l\n",
    "def empirical_lengths(n,n_tests):\n",
    "    # computes the empirical expectations of proportions of 0,1,2 in n_tests samples.\n",
    "    L = [0.,0.,0.]\n",
    "    for _ in range(n_tests):\n",
    "        [l0,l1,l2] = sim_lengths(n)\n",
    "        L[0] += l0\n",
    "        L[1] += l1\n",
    "        L[2] += l2\n",
    "    L[0] = L[0]/n_tests\n",
    "    L[1] = L[1]/n_tests\n",
    "    L[2] = L[2]/n_tests\n",
    "    return L\n",
    "def theory_lengths(n):\n",
    "    l0 = float( (3**(n-1)+2*n-7) / (8*3**(n-1)) )\n",
    "    l1 = float( (3**(n-1)-n-1) / (2*3**(n-1)) )\n",
    "    l2 = float( (3**(n)+2*n+11) / (8*3**(n-1)) )\n",
    "    return [l0,l1,l2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "proper-excess",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "for n=3:\n",
      "   empirical: [0.111040650734869, 0.277743882439887, 0.611215466825237]\n",
      "   theory:    [0.1111111111111111, 0.2777777777777778, 0.6111111111111112]\n",
      "for n=4:\n",
      "   empirical: [0.129727184647215, 0.407245833460305, 0.463026981892504]\n",
      "   theory:    [0.12962962962962962, 0.4074074074074074, 0.46296296296296297]\n",
      "for n=5:\n",
      "   empirical: [0.129419337250336, 0.463385054881497, 0.407195607868174]\n",
      "   theory:    [0.12962962962962962, 0.46296296296296297, 0.4074074074074074]\n",
      "for n=6:\n",
      "   empirical: [0.127613579254425, 0.485697908721504, 0.386688512024064]\n",
      "   theory:    [0.12757201646090535, 0.48559670781893005, 0.3868312757201646]\n",
      "for n=7:\n",
      "   empirical: [0.126181870809968, 0.494232706246221, 0.379585422943831]\n",
      "   theory:    [0.1262002743484225, 0.4945130315500686, 0.3792866941015089]\n",
      "for n=8:\n",
      "   empirical: [0.125532903658615, 0.497773065771184, 0.376694030570207]\n",
      "   theory:    [0.12551440329218108, 0.49794238683127573, 0.3765432098765432]\n",
      "for n=9:\n",
      "   empirical: [0.125245172107689, 0.499144688885532, 0.375610139006749]\n",
      "   theory:    [0.12520957171162933, 0.49923792104862064, 0.37555250723975003]\n",
      "for n=10:\n",
      "   empirical: [0.125130874321476, 0.500000436288008, 0.374868689390506]\n",
      "   theory:    [0.1250825585530661, 0.4997205710511609, 0.375196870395773]\n"
     ]
    }
   ],
   "source": [
    "# For n from 3 to 10, we simulate n_tests samples\n",
    "# and compare the empirical average lengths with the theoretical one\n",
    "n_tests = 1000000\n",
    "for n in range(3,11):\n",
    "    l_e = empirical_lengths(n,n_tests)\n",
    "    l_t = theory_lengths(n)\n",
    "    print('for n='+str(n)+':')\n",
    "    print('   empirical: '+str(l_e))\n",
    "    print('   theory:    '+str(l_t))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "confident-february",
   "metadata": {},
   "source": [
    "We now illustrate **Theorem 11**, that concerns the functions on $[0,1]$ defined by the number of regions of each type up to that point, and the lengths of these regions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "large-iceland",
   "metadata": {},
   "outputs": [],
   "source": [
    "def function_count(n):\n",
    "    # For one sample, returns the three functions giving the proportion of regions\n",
    "    # of each type up to that point.\n",
    "    # The first region may be wrong, but we are only interested in asymptotic properties.\n",
    "    lx = [0.] #list of abscissas, which will be the positions of bisectors (except the first one)\n",
    "    # for each abscissa in lx, there will be an entry in each of the three following lists\n",
    "    # giving the proportions of 0, 1 and 2 regions up to that point:\n",
    "    ly = [[0],[0],[0]] \n",
    "    U = sim_data(n)\n",
    "    n_points = 0 #number of points in the current region\n",
    "    for (x,i) in U:\n",
    "        if i == 2 or i == 3: #end of region\n",
    "            lx.append(x)\n",
    "            # all 3 lists of ly get the last entry repeated, then that of n_points is increased\n",
    "            ly[0].append(ly[0][-1])\n",
    "            ly[1].append(ly[1][-1])\n",
    "            ly[2].append(ly[2][-1])\n",
    "            ly[n_points][-1] += 1\n",
    "            n_points = 0\n",
    "        else: #normal point or antipoint\n",
    "            n_points += 1\n",
    "    # Renormalizing\n",
    "    for i in range(3):\n",
    "        for j in range(len(lx)):\n",
    "            ly[i][j] /= (2*n)\n",
    "    return (lx,ly)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "stopped-message",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "Graphics object consisting of 5 graphics primitives"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We compute one sample for a large n and plot the three counting functions\n",
    "n=10000\n",
    "\n",
    "(lx,[ly0,ly1,ly2])=function_count(n)\n",
    "\n",
    "plot0 = list_plot([(lx[i],ly0[i]) for i in range(len(lx))],\n",
    "                  plotjoined=True,color='red',legend_label='0',\n",
    "                  title='Proportion of regions of each type in [0,t], for one realization with n='+str(n),\n",
    "                  axes_labels=['t',''])\n",
    "plot1 = list_plot([(lx[i],ly1[i]) for i in range(len(lx))],\n",
    "                  plotjoined=True,color='blue',legend_label='1')\n",
    "plot2 = list_plot([(lx[i],ly2[i]) for i in range(len(lx))],\n",
    "                  plotjoined=True,color='green',legend_label='2')\n",
    "\n",
    "plot_theo0 = list_plot([(lx[i],lx[i]/4) for i in range(len(lx))],\n",
    "                       plotjoined=True,color='black',linestyle='--',\n",
    "                       legend_label='theoretical')\n",
    "plot_theo1 = list_plot([(lx[i],lx[i]/2) for i in range(len(lx))],\n",
    "                       plotjoined=True,color='black',linestyle='--')\n",
    "\n",
    "(plot0+plot1+plot2+plot_theo0+plot_theo1).show()\n",
    "\n",
    "# of course the curves of 0 and 2 are very close, \n",
    "# since the number of regions cannot differ by more than 1\n",
    "# due to the alternating property (so by 1/(2n) after renormalization)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "academic-saskatchewan",
   "metadata": {},
   "outputs": [],
   "source": [
    "def function_lengths(n):\n",
    "    # Same as the previous one, but for lengths of regions. The code is very similar.\n",
    "    lx = [0.]\n",
    "    ly = [[0],[0],[0]] \n",
    "    U = sim_data(n)\n",
    "    n_points = 0 #number of points in the current region\n",
    "    left_bound = 0. #left boundary of the current region\n",
    "    for (x,i) in U:\n",
    "        if i == 2 or i == 3: #end of region\n",
    "            lx.append(x)\n",
    "            ly[0].append(ly[0][-1])\n",
    "            ly[1].append(ly[1][-1])\n",
    "            ly[2].append(ly[2][-1])\n",
    "            ly[n_points][-1] += x-left_bound\n",
    "            left_bound=x\n",
    "            n_points = 0\n",
    "        else: #normal point or antipoint\n",
    "            n_points += 1\n",
    "    return (lx,ly)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "disabled-australian",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "Graphics object consisting of 6 graphics primitives"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We compute one sample for a large n and plot the three length functions\n",
    "n=10000\n",
    "\n",
    "(lx,[ly0,ly1,ly2])=function_lengths(n)\n",
    "\n",
    "plot0 = list_plot([(lx[i],ly0[i]) for i in range(len(lx))],\n",
    "                  plotjoined=True,color='red',legend_label='0',\n",
    "                  title='Lengths of regions of each type in [0,t], for one realization with n='+str(n),\n",
    "                  axes_labels=['t',''])\n",
    "plot1 = list_plot([(lx[i],ly1[i]) for i in range(len(lx))],\n",
    "                  plotjoined=True,color='blue',legend_label='1')\n",
    "plot2 = list_plot([(lx[i],ly2[i]) for i in range(len(lx))],\n",
    "                  plotjoined=True,color='green',legend_label='2')\n",
    "\n",
    "plot_theo0 = list_plot([(lx[i],lx[i]/8) for i in range(len(lx))],\n",
    "                       plotjoined=True,color='black',linestyle='--',\n",
    "                       legend_label='theoretical')\n",
    "plot_theo1 = list_plot([(lx[i],lx[i]/2) for i in range(len(lx))],\n",
    "                       plotjoined=True,color='black',linestyle='--')\n",
    "plot_theo2 = list_plot([(lx[i],3*lx[i]/8) for i in range(len(lx))],\n",
    "                       plotjoined=True,color='black',linestyle='--')\n",
    "\n",
    "(plot0+plot1+plot2+plot_theo0+plot_theo1+plot_theo2).show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "completed-seventh",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "## 1.3 Uniformly random realizable configurations\n",
    "\n",
    "We finish with **Theorem 12**. This is harder to illustrate, because we cannot easily sample a word uniformly among realizable words for large values of $n$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "numerical-vector",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average proportions of regions among all realizable words: \n",
      "n=3: 0.3333333333333333, 0.3333333333333333, 0.3333333333333333\n",
      "n=4: 0.26, 0.48, 0.26\n",
      "n=5: 0.2222222222222222, 0.5555555555555556, 0.2222222222222222\n",
      "n=6: 0.2009966777408638, 0.5980066445182725, 0.2009966777408638\n",
      "n=7: 0.18840579710144928, 0.6231884057971014, 0.18840579710144928\n",
      "n=8: 0.18066115702479338, 0.6386776859504132, 0.18066115702479338\n",
      "n=9: 0.1757770632368703, 0.6484458735262594, 0.1757770632368703\n",
      "n=10: 0.17264306515560857, 0.6547138696887829, 0.17264306515560857\n",
      "n=11: 0.17060767861683193, 0.6587846427663361, 0.17060767861683193\n",
      "n=12: 0.16927472527472529, 0.6614505494505495, 0.16927472527472529\n",
      "Asymptotic: 0.16666666666666666, 0.6666666666666666, 0.16666666666666666\n"
     ]
    }
   ],
   "source": [
    "# First we compute the average of numbers of each region among all realizable words.\n",
    "# This is a partial illustration of Theorem 12 (i).\n",
    "# For each realizable word we compute the signature and count the 0s, 1s, 2s.\n",
    "print('Average proportions of regions among all realizable words: ')\n",
    "for n in range(3,13):\n",
    "    n0=0 #total number of regions of type 0\n",
    "    n1=0 #total number of regions of type 1\n",
    "    n2=0 #total number of regions of type 2\n",
    "    l = all_words(n)\n",
    "    for V in l:\n",
    "        S = word_to_sig(V)\n",
    "        n0 += S.count(0)\n",
    "        n1 += S.count(1)\n",
    "        n2 += S.count(2)\n",
    "    # Renormalizing by n (total number of regions in the signature) and the number of words\n",
    "    n0 = float(n0 / (n*len(l)))\n",
    "    n1 = float(n1 / (n*len(l)))\n",
    "    n2 = float(n2 / (n*len(l)))\n",
    "    print('n='+str(n)+': '+str(n0)+', '+str(n1)+', '+str(n2))\n",
    "print('Asymptotic: '+str(float(1/6))+', '+str(float(2/3))+', '+str(float(1/6)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "breathing-discharge",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average proportions of regions among all realizable bracelets: \n",
      "n=3: 0.3333333333333333, 0.3333333333333333, 0.3333333333333333\n",
      "n=4: 0.3, 0.4, 0.3\n",
      "n=5: 0.2222222222222222, 0.5555555555555556, 0.2222222222222222\n",
      "n=6: 0.21666666666666667, 0.5666666666666667, 0.21666666666666667\n",
      "n=7: 0.18840579710144928, 0.6231884057971014, 0.18840579710144928\n",
      "n=8: 0.18596059113300492, 0.6280788177339901, 0.18596059113300492\n",
      "n=9: 0.17597944765574824, 0.6480411046885035, 0.17597944765574824\n",
      "n=10: 0.17442019099590722, 0.6511596180081856, 0.17442019099590722\n",
      "n=11: 0.17060767861683193, 0.6587846427663361, 0.17060767861683193\n",
      "n=12: 0.16988662131519275, 0.6602267573696146, 0.16988662131519275\n",
      "Asymptotic: 0.16666666666666666, 0.6666666666666666, 0.16666666666666666\n"
     ]
    }
   ],
   "source": [
    "# Same as the previous one but for bracelets.\n",
    "print('Average proportions of regions among all realizable bracelets: ')\n",
    "for n in range(3,13):\n",
    "    n0=0\n",
    "    n1=0\n",
    "    n2=0\n",
    "    l = all_brac(n)\n",
    "    for V in l:\n",
    "        S = word_to_sig(V)\n",
    "        n0 += S.count(0)\n",
    "        n1 += S.count(1)\n",
    "        n2 += S.count(2)\n",
    "    n0 = float(n0 / (n*len(l)))\n",
    "    n1 = float(n1 / (n*len(l)))\n",
    "    n2 = float(n2 / (n*len(l)))\n",
    "    print('n='+str(n)+': '+str(n0)+', '+str(n1)+', '+str(n2))\n",
    "print('Asymptotic: '+str(float(1/6))+', '+str(float(2/3))+', '+str(float(1/6)))    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "determined-romania",
   "metadata": {},
   "outputs": [],
   "source": [
    "# To try to illustrate Theorem 12 (ii), we sample one realizable word taken uniformly\n",
    "# among all realizable words. Then we plot the three functions mentioned in the theorem.\n",
    "# The enumeration of all realizable words is unfornutately very long for n >= 14 or so.\n",
    "n = 13\n",
    "\n",
    "l = all_words(n)\n",
    "v = l[ int( len(l)*random() ) ] #one word taken uniformly at random\n",
    "s = word_to_sig(v)\n",
    "\n",
    "# Lists for the three functions of 0s, 1s, 2s in the signature at each position\n",
    "l0 = []\n",
    "l1 = []\n",
    "l2 = []\n",
    "for i in range(n+1):\n",
    "    l0.append( (s[0:i].count(0) - float(i/6)) * 2 / sqrt(n) )\n",
    "    l1.append( (s[0:i].count(1) - float(2*i/3)) * 2 / sqrt(n) )\n",
    "    l2.append( (s[0:i].count(2) - float(i/6)) * 2 / sqrt(n) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "interim-profile",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2YAAAGFCAYAAACWmuD7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAA9hAAAPYQGoP6dpAACc0ElEQVR4nOzdd3gUxRvA8e+k0RN6E6QoLfQSaQroD0FEpBdFBUVQgShFERQVKypFBIKogIiCHL0JAkpHiiA1AQIIgtJbQg0kmd8fc8EQ0nN3e5e8n+e5B7K3t/vebX1nZmeU1hohhBBCCCGEENbxsjoAIYQQQgghhMjqJDETQgghhBBCCItJYiaEEEIIIYQQFpPETAghhBBCCCEsJomZEEIIIYQQQlhMEjMhhBBCCCGEsJgkZkIIIYQQQghhMUnMhBBCCCGEEMJikpgJIYQQQgghhMWyRGKmlGqilNJKqbz2v7srpS45eZ1TlVILnLmO9HLF908rpVQbpdQhpVSMUmqMi9dd2r5/1HDletNKKVVUKbVSKXXVyu2nlDqqlOpn1fozKuH5ICtyxDa04rzqKdxlH1NK5VRKzVVKRbpDPK7mKed2R1JKDVNK7XTCcj32t0zs3KSU6qWUOq6UirXiemb/Ldu4er3x1r8mpXstF90rp3gtctY+7a7SlJjZkw2tlBqcYHobpZR2bGhOZQPKWx2EuMPXwBygJPCOi9d9HCgG7HXxetOqPybOGnjY/puai4Cn8fAENQj4xsHLtPS8qoxhSqkTSqnr9n2uslXxuIluwENAA8y5I8LacITV3KXQwMXuODcppfyB8cBnwD04/lzoCdoR717LwuvZHdciqxPW5Cil2imlliulziVVSKGU+lopddh+DTqrlFqolKqYlvWkp8bsBvCmUipfOj6bJKWUnyOXlxyt9XWt9RlXrS+rUEr5pvNzuYHCwHKt9Qmt9WVnri8hrXWM1vqU1jraEctzovuA7Vrrg7L/iozQWp/VWl9z8DKtPq8OAgYAfTEX+1PASqVUHgtjstp9wD6t9V77OS7NBahKKW+llFNa19iTaR9nLDuzc9T1LytI5Nx0L+AL/Ky1Ppnec6EnbwOt9YXU3ms5OQ6HX4ucKBewERiczDzbgeeBSkBzQAErlFLeqV6L1jrVL2AqsBjYB3web3obs6g75m0PhAJRwFFgYIL3jwJD7cuMAL4HugOXgCeAA8A1TC1KLkzJ31HgIjAO8I63rGeAbcBlzMV4BlA43vtNAA3ktf/dHbiUIBad8BXv/XswJS4XgfPAQqB0vPe9gdH22M8Dn9u/z4Jkfsu479rc/nteAX4BisWbZw0wJsHnFgBTE/kdp9mX8TfQGihkj/MKsAeok8i62wDhmGR7JVAywbpaYXayG8BfwHuAT7z3NfCyfT1XgfeT+K757PFdtG/TZUC5BNsm/qtJEstJdH2piLMisMH+fhjQ1L6sNvb3S9v/rhHvM42BrZj99yTwaYJlrgHG2rf1Bcx+NyxBvMOAY/ZlnADGpnB8vQIcBm5i9v9nk9lHpyaznOft+9QNYD/QO8H7n9m3+zX77/Uh4Jtgnicxx9QN4BwwL0EsbwFTMMfcMaBXCueNhNu4DHAIeD3BvFWAWOC+eNv8Ffs+cx04AnRM8Jlkj89E4onb51oCu+zfcQtQNcF8DYB19vUet2/vXPG2f8LvpICzQPt4y9gJnIn3d33gFpDb/ncAprTwDBAJrAKqp+M4fBGYb9+mB4EnU9jXjgL90rIM4HH7fnMdWI05jyR5Xk3FfuSHOX7+xRzPW4h37AOlMNebi/b3Q4HHk/g+CnOcvhlvWjbMee6lZH6HIMy57xzmOrQWqJXIeSdDv00S685r3/an7b/PXuCJ+L8lyVwfUnpx9z66xj49yfNxgnU/gTlfRgNlElm+NzAZc0xex5yzXkshpib2WJrb94ubwMOYBHKh/be4AvwBNE1kn032vAM8AOyw/57bgLak79w+Dhhj/41OA70w9yHf2dd9GGiRzPcMBvbE+7uNPY4+8aYtB4bH+zvJ83+8/TCx699ge4yX7dvjU2BnEnGV5u7z1lT7e49hrpOXMOfRJdjPwwk+W8P+txfwLWa/L+XEc9Xta3W8aZeA7gniaoc59q5hzuv1E+7T8f6f8Dcond5tgLnO7wRewOyTV4CvMMfHIMy9wRng7aS+F+a8Pz7B+wUw++gjqTze5wLj4v09xr6Oyva/fez7SPN4+/mYJM4VOr3nIfv2Hxjv7wWYc4i//e+i9nVUiHdc94v3//hxHLVPj/uNn7XPEwHMBPIkE0eaY0/ti0TuGZOZt5p93vtSvfw0BjPV/iO3xZyIS8Q/6cSbrzYQg6kmLW//ga5hP5DibYAI4HXgfvurO+aAWAHUBBphLpjLMTdegZiLRRTQOd6yXgBaAGWBesAmYGm895uQfGJWyL6zFMXc5G0C1tnfy4k58UwGqmKy4OmYG14/+zyD7DtAe/v7kzA3WQtS2GluYm4K6gC1MBfB6fHmWUPqErPzwEtAOWCCfd3LgI7233++fdkqwbr/wNwo1sbcFG2Mt9zm9u3Tzf67Poq5AL+X4MRy2v77l8V+ck7kuy60r/8hoDrm4DiIKbHys8cYd2ItGve7JrKcu9aXUpyYi8d+zD5VHXjQ/l3jnxRLc+cF5x7MSTcEk9S1wdxwD0uwbSIwF55ywHOYhOJR+/sd7O+3wJTOPQD0TGZ/aGvfJr3tv8cAzMns4Xj76DLMcVAUCEhiOT0xSWA7TPLTzr5/dIs3z1BM0lEacyE9BQyK935L+7rfx+zP1YG3EtnnemOO28GY471iEjEFAL9jbkLjjjNvzE1WaIJ5RwNrE2zzc5iLeXlMEhkNVErt8ZlIPE3syw2z7y9VMQnAEewJqn3aZaCfffs2AP4EvrO/nx+TrL0T953s029fHDE3wDcxN3eB9mlDgM32/yvMjdAizDmgHDDS/n3zp/E4PA48Zd8eX9pjz5/M/naUuxOzJJeBaWJ8A3OxrwB0te83yZ1XU9qPpmNKHx/C3Ji/bl9HXKHNEsxxW9X+3Z8AGiXxfcraY6mZyLnn+2R+h0cwBXuV+O/cfYp4F3xH/DaJrNcLc53Za9+mcd+vRWqvDym9MPvoN5hjr2i8eJM8HydY90bMfl8Be4FEguX72rdtEOZc0xVz3uyUTExN7L/LLvv3vg9zA1odcw2rijkOPsLcY9yb2vMOJnE6g7lhq2z/PQ+TvnN7JOY8Wc7+bwywFHN+jbvOngNyJvE9q2KuBwXtf39hX88s+99xN8mPpeb8H28/THj964S5H3rRvp0+sse+M4m4vDHXBG1fz+1rCeb+pZ39+9XAnJd2A17290vH/ZaY6/YcTBJc2MnnqtvX6njTLnF3YrYPc84pD8zG7C8+Cc9NQA7gf/bPBPHf9Si922CY/TvMxtyjtrJvk18whXkVMIWlGqiX2PcCnsYU8GaL9/6r9t9PpfJ4T1gYsAOzz/W2/52wUHAN/yVmSV3PupPG8xAwClhs/7/CHLNnsReq2bf9ycSuRZj7HG1fb1GgkH163G88F1N4+xCmUOXjZOJIMXbMOetKCq+uiSy7NKlIzDDnpC8whRSJ3o8k+rnUzmhfyVTsyQbmojLZ/v823JmYTQdWJPjs58S7CbNvjPmJ/JCaO0tpJmJOpLnjTfsFmJhMnEH25cTtgE1IoWQ33me/tMcWt0O8gLnJU/Hm8cMkms3sf5/gzpJaH8xOviCFnSbhd+0NnIr39xpSl5j9EO/vuNKID+JNq2efVjTBuuvGm6eifdoD9r/XAUMSrPsZ4ES8vzXwRQr7TDn7fA3iTStg//062v/OSzI1ZcmtL6U4MaWAt+K+u31asjVmwMeJbPPemBND3EVqDbA+wXq3Ap/a/z8AU+Lmm9x3ivfZjcA3CabNwjS1SHTbJ7GcY8BTCaYNBX5P5jNvANvi/f078GMy8yfc5xTmYvVyMp9JbF8uhrnwxe1zvpgbq24JtvlXCT63GZiQ2uMzkVia2Jcbv3Anv/0znex/TwO+TvC5BzE3aNnj/Q79Esxz++KIqbn+A3Mxibs4Lo+3jzyCuZHJlmAZh7DXBJD64/DDeH/nwtwUPpbCNuyX2mUAnxCvcMc+7VOST8yS3I8wN+SxQPEE038FPrH/fzfxbupS2O8b2GNJuLxvME2kU1yGfX5vzI3tE478bRJZTzP7vlQ+ife7k8L1IZXfZwz2mjL736k5H8etu3pa1mX/bAgwJ5n3m9iX3ToVywoF+ibYZ5M872Bqtc4TL1nC1G5k6Nxu3yeuANPiTYu7ztZLIvY7as8xN8mDgdP2vxPeJKfm/J/Y9e93Ej8/7kzFNkh034w3X9xNchX736Xtfz+IudndQLwCQpx3rrp9rY437RJ3J2Y94r0faJ8Wl7R3585zUw3i1ZRlcBsMw9yjxi/M+QWTVHnFm7YfGJzY98LU7p8nXqGGfZ95Lw3H3u3CAP4rFHyb/woDbhcKxtvPxyQ4vvolWGZ30ngewiSmlzCFT9Ux1/TR2FvZYfoTmJnUepPY3on9xp/H/z6JxJFi7EAe/qsYSup1V60cKSRm9vVc4b8Cg1TXlmmtM9Qr45tAN6VUYCLvVcLs5PFtBMolaGe5LZHPXtNaH47392lMdeaVBNMKx/2hlKppf8Dub6XUZcwOB6amItWUUr2AHpiLxln75NqYjXNZKXVFKXUFU7KRHbhPKRWAucHcFLccbZ5VSuy7JZTwu56M/73SYHe8/5+2/7snkWnxl31HjFrr/ZiDqZJ9Um3g3bjvbP/e3wLFlFI54y0npe9Zyb6uLfHWdR6TtFRK6kPJSLi+lOKsABzXWp+K95mtqYh5k7YfYXYbgdxAiXjTdnOn+NtvNqZk7i+l1LdKqbYpPEuR1DGT6t9IKVUIU3o/OcHvMRRzIxw3Xwel1Aal1Cn7+x9y57FSA/gthdXd/u723+kUadx3tdYngZ8xyRWYEu7smN8uvk2J/B1/P03y+EwhhPjH7AXu3CdrA90T/I7LMRebMskscw1QWSlVENNkao391di+/RtgmsvFrSM3cD7BesrEiz21x2H87XEVc6OZ1nNJcsuohLkIxj8mEm6XhGqQ9H5UC3PzGp7guzXmv+8+FhiqlNqolHpfKVUtFd9BJ/hbJTLtvzeVKqyUmqiUCldKRWAS5dzcfe1wxm/zj9Y6PJl5HHV9iC+15+Ob3H1+u4tS6mWl1Db7Q+5XMDVKqbnu3nEeV0rlUkp9rpQKU0pdsi+rYiLLSu68UwnYpe98XiXhdkjzuV1rHYO5aU7pmnqbffnrgCb2TjYqYwqZvZVSlTDJ0Z/x7mtSe/5PeP2rROLnxzRTSt2nlJqhlPpLKRWJSSzg7m3wE+b3aqa1jt+ZjCvPVYmJv7+etP+bluWmdxuAuUeN/7zWaSBMax2bYFpS+0sU8CP2a6G9U4nqmMqQ1NqL2U8bY2qUdmFqPRvb32/Cf9eetEjreWgdJuGpaV/3WkwT04zGkfA3Ts35MNnYtdaXtdaHUnil5zm86fz3/Q8Cs5RS2VP74XQ/dKu1XqeUWo4pLZya4O3ELoYqkcVcTWTarYSrSmKaF5gTOqa5ywpM6cxZzIlkOabkPFWUUk0w7cqf0lrviveWF6bNbNdEPnY2kWlpkdj3iv87xXL375bYw6a3l6O11kqphMuO2xYJE/HEbljiz/seMC+ReW7E+39i2zC+xLZ73PQkb5iSkXB9KcWZnvUkt//Gn57kfqm1Pq6UqoBpztEU0/TlDaVUY611ws/F/3xKcSQnbvv2JN6Nl10MgFKqHqapz3uYYyQC6AIMjDfv9VSsK8nvnkaTgB+UUv0xzT1sOnUPAsffTx15fMZf7teY5CChY8l8Pv7FsTHwLqb2/G1MTX4OTElz3DpOYi5UCV2KN09qjkNHbI/klpHUcZyc5PYjL8w+GdfsPb4rAFrrSfZrTEtMDdMQpdRArfW4RJYXV/BSlP9uysBchE/fPfttUzE1A/0wz+dGYW5sE147XPnbJLfO9KwrvtSej68nSF7u/oBSnTDNdAZifrPLmNr3uqmII+F5fASmKdzrmBrj65imco7eDhk5tyd2nU3uGFuDqcV7CJMwXlJKrcOcF5rwXwFy/HWkFGtK19uMWIw5V8U1h/fCnM8SboOlmHutephno+I461yV2H6f7H0QSd/zpCS92yBN961JmATsVEqVwCRov2mt/04+3HgLN/vkOsy+dROzf+3FFAZUxRQKjknt8uJJ03lIax2hTNf2TezrXAWsB2oopcphmomucVAcKW3fZGNXSnXFXOeT85LWenqqIoxbiSmwiAAOKqU2Yx5naIsp1EhRRntDGox5IC9hqV8Ypro7vgZAuL30yZEqYqpuB2utjwMopeqkZQFKqfsxzY0+0VonPKn8CXTGPMAfmcTnT2JOUuvsf/tgbjj+TEsciTiLqY2LW483pn3t6gwuF8y2r4O99sieROTFVLeDib2C1vpQBtcTZl9XXUyzC5RSBTAH574MLhtSiFMptR+4VylVRGsdd4MWlIqY2yulVLybkwaYG49/UxuY1vo6psRqkVIqBPPbViXx/WIf5piZFm9aA9LwG2mtTyul/gXKJnMiaQj8rbX+OG6CUqpUgnl2Y9rgf5fadafCTUyToISWYi50r2Cex2uUyDz1uPN3qYdp5gGpOD6TUQ97kqVML7PluXP/r5zC/n/Xd4p3cWyNOVbXY/YbX0yzqj/jlcD9iUkkorXWR5NYh6OOw4wKwzRZj69eCp9Jbj/agfntCmut1ye1APs5fSIwUSk1HHPTmFhidgSTnD1qX3ZcT7+NMa07kvIQppnpUvtnSmKuJ2mR3t+mhFKqfAq1Zo7myPPxQ5gm0hPiJiilUqqlTm5ZU7XW8+3LyY1pLpQWYcCzSqkc9nMv3L0dHHJuT6U1mEcjOvDfjehaTEFdA/t7cdJ7/t9H4ufH5Ny0/3v73GXfByphbkLX26clvIeL8xXmhn+RUqql1jqu9sNZ56qE90HlMM8WO1qGr8EZobXeo5TahjnHPY1pFp9WazCFATeBd+3Xo/WYAo8c3F0jGF9S1+j0WIPp1KeuPY5LSqkwTOudM1rr5H7TWw6MIyWLuLsQO6HkCvZSS2Gaq6ZKhhIz+440nbt3oFHAH0qpdzCdFdTHdGHcOyPrS8IxzA4VrJSaiLkZSvU4WEqpHJiSop3AN0qponHv2Zu/TceUAi5USr0L/IOpkWsHjNBa/4M5wQ5WSh3EHMQDMElORq0CRiulWmIeYu7voOWC2fnHKaVetf9/PKY5Tlwzvw+AJUqp45imZbGY3mWqaq2HpnYlWuuDSqmFwLdKqZcwF8BPMRfBhQ74HinFuRLz232vlBqEqWKPS0qSKhGegClBH6eUGo9pDvk+MDpB04QkKaW6Y04uWzDPbzyLKQVOqgRsBKa6+09M869WmH2saWrWF88wYKy9KcoyzMmgDpBPaz0aUxp9r1KqC+b5p5aYkpz43gd+U0odxtSu+WA6Jfg8jbHEdxSoq5QqjakRuaC1jtVaxyilpgLDgUNa68Sa4XS0X7A2YGrGHsA0OYbUHZ9JeVcpdR5z4v0Y8zD/Avt7nwGb7Qn1t5jksRKmc5e4891RoJFSaiYQpbU+Z5++BlOTsCMuWbQna10xbe3j/IqpaViglHoT05ysOKaHvwVa62046Dh0gInAQKXUaEwJY21MG/7kJLkfaa3D7deOaUqpgZhkqiDmubs9Wuulyox7twxT8JfP/l6iF3T7DcgY4C37efggpnOZa5heepNyCHMzvw3wxxyHqanNii/Nv43Weq19n5irlBpgj6Oi/av8ksb1p5qDz8eHgOeUUs0xifGzmEKvI8l+KulltVNKLcb+HBJpr+2YgTmOJyulPsIkdq8nmCfD5/Y0iKs974opqAFzbhhl//+GePOm9/z/JebaFv/8WBnT2UBS/sb8xk8opZZi9veL9lh72Qua78XsF4nSWo+zFxQvUUq10FpvwHnnqlVAX3vNgxfm3JxUq5OMcNQ1OCMmYe7FrmE6bUurNZh9IhpTKBg3bRSmUDC5wsujJH49S481wGuYxwrC4k0LJvEa1YRx/E8ptdEex8UMxJEseyFpqpsqKqXyY46N4vZJFew156e01qeUUmUxBcUrMAUK92AKBq9jCqFTJSPPmMV5hwTVmlrrPzG9BXXBnJw+wGTNUx2wvjto8yxYd0wPhGGYWryEJ+PkFMFcEB/BVN+fjPfC3qyqESYBnIe5MZiCKX2I28lHYUpZpvJfk470HFQJTcF0uz8NU9J2BMfUloE58D/DXMw2YXacLnFvaq2XY575eRRzA78Zk3Cmumo9nucxzc2W2NelMD30ZPjkmlKc9hraNpg28X9gTnwf2T9+g0Rorf/F3Bw/gGmnPRHT699Hic2fhEuYkq+N/Fdz0Eqb5zkSW+cCzInsDcxD7y8Bz2ut16RhnWitJ2F66OqOeSZirf3/R+zvL8QkDeMxhRENMDdB8ZexBnM8PWmfZxWpa56UnJGYJmth/NfcOM5kTHOZKUl89j3Mvrkb0+NXV611mD3W1ByfSRmMuYhtx5TIPqm1vmlf7m5MbUs5zAVuB+Z3it9M7l3Mzd9h7mw2uRqTlK+JN22tfdrttvX2EvvHMTXtUzAJyEz7Mk/b53HkcZhuWutjmF7bWmGOiZcxiU9yn1lD8vvR85hz2yhMUrrI/v5x+/vemM4k9mEepj9A8oV7n2Oa6kzAPAdyD+Y5mOQuvC9gkr4dwA+YpqtpGostPb+NXXvMNv0Jc1x8ThpKipW6PVBw6bTEi+POxxMxx5wNUwBVAPPbp0d/THLwO6agdDlpbHGizfNarTAdP+zAJGlvJpjHEef21Maj+e94j7tJ3o1p4nS70MY+7wLScf7XWtsw91efYbZpKUyNVnKf+RdzTv0Uc54Zb09Ku2AKFfZirhFvpLCcMfblLFVKNXDiuWog5pywDnO/MhJz/+JQjroGZ9BPmKRqhtb6jvsTpdQwpdTRFD6/F1PAuCve/nXXtScJSV3P0mNd3Lrj1UynNo6BmH3oOP+1jHEXT2Ji+tn+90z73y/b/76Bqf1fiilsmoUp1G2g0zDGp9LJNyMXItNRSjXElC7er+98MFRYwL491mCG3zid4D0NtLVfNIUQdvZa+bcxQzE4owZBCOFC9qbUR4EgewVH/PemAmitu7s8MOFSGX3GTAi3p5Rqi2k+d5D/xk7ZKEmZtZRS2TC9SH6I6dLXEW25hcgqHsOMCydJmRAeTCnli2m18SnmkZLEaosbk/gz2CKTkcRMZAV5MM2ESmKq+X/lzl4IhTWewjQj2ol5PkUIkUpa6y4pzyWE8AANMU3gwzGdxdxFa53cMC0iE5GmjEIIIYQQQghhMUd0/iGEEEIIIYQQIgMkMRNCCCGEEEIIi0liJrIEZfgr+6ATQgghhBBCuBPp/ENkBik+KBkREUFAQAARERGuiEcIIYQQ1pACWOGxpMZMCCGEEEIIISwmiZkQQgghhBBCWEwSMyGEEEIIIYSwmCRmQgghhBBCCGExScyEEEIIIYQQwmLSK6PI1EJCQggJCSEmJsbqUISwxG9//YaX8uLhMg9bHYoQIhO4efMm0dHRlsbg4+ODn5+fpTEI4QxK6xR7GhfC3aW4E0dGRt7uLt/f398VMQlhuVsxtyg6qigXrl+gbcW2jGo2ijL5ylgdlhDCQ928eZPQ0FBiY2MtjcPLy4vKlSsnlZxJd/nCY0mNmRBCZFK//vUrF65f4MOHP2TitolUCqnEoIaDGPzgYHL65rQ6PCGEh4mOjiY2NpbSpUuTI0cOS2K4fv06R48eJTo6WmrNRKYjiZkQQmRStlAbFQpU4O2H3qZ/vf4M3zCczzZ+xtSdUxnVbBQdAjuglBQuCyHSJkeOHOTMaW3hTkREBDdu3CBbtmzkypXL0liEcBTp/EMIITKhG9E3mL9/Pp0rd0YpRS6/XHz0yEeE9Q6jZrGadJrTiUemPcKe03usDlUIIdJsyZIlTJs2DZvNxtWrV60ORwiHkMRMCCEyoeWHlhMZFUnnKp3vmH5f/vtY2GUhy7ou48TlE9T8uiavLnuVi9cvWhSpEEKkXa5cufDz8yMyMpKoqCirwxHCISQxE0KITMgWaqNq4aoEFgpM9P3H7n+MPa/s4dOmn/Ldzu8oN64c32z/hphY6cFUCOH+smXLRrZs2awOQwiHksRMCCEymWu3rrHowCI6V+6c7Hx+3n683uB1wvuG07J8S15a8hIPTHqA34//7qJIhRBCCBFHEjMhhMhklh5cytVbV+9qxpiUYnmK8X2b7/n9hd9RKBpOaciz85/lxOUTTo5UCCGEEHEkMROWUEr1VkodUUrdUEptV0o9lML82ZRSHyul/lZKRSmlDiulXnBVvEJ4kpl7Z1KrWC3uz39/mj5Xv2R9tvbcyqRWk1h+aDkVxlfg842fExUtz28IIYQQziaJmXA5pVRnYAzwMVATWA8sU0rdm8zHZgH/A3oAFYCngP3OjVQIz3M56jI/H/yZLpW7pOvzXsqLHrV6EB4cTo+aPXjrt7eo+lVVlh1c5uBIhRBCCBGfJGbCCgOAyVrrSVrrfVrrfsBx4JXEZlZKPQY0Bh7XWv+qtT6qtd6qtZYHYYRIYHH4Ym5E36BT5U4ZWk7e7HkZ89gYdr28i5IBJXl8xuO0+qkVhy4cclCkQgghhIhPEjPhUkopP6A2sCLBWyuABkl87ElgGzBIKfWvUipcKTVSKZUjqfVERUURGRl5x0uIrMAWaqNeiXqUylvKIcurXLgyvz77K3M6zmH36d1UnlCZIb8O4crNKw5ZvhAi65owYQJlypQhe/bs1K5dm/Xr11sdkhCWksRMuFpBwBs4nWD6aaBoEp8pCzwIVAHaAv2ADkBIUisZPnw4AQEBt18lS5bMaNxCuL1LNy7xy6FfUuyNMa2UUrQPbM++PvsY8uAQxmwZQ4XxFZixZwZaa4euSwiRNdhsNvr168fbb7/Njh07eOihh2jRogXHjh2zOjQhLCOJmbBKwrs5lci0OF7297ramzAuxTSH7J5UrdmQIUOIiIi4/Tp+/LjDAhfCXS3Yv4BbMbfoGNjRKcvP6ZuTYU2Gsa/PPuqXqE/XeV156LuH2HFyh1PWJ4TIvEaPHk2PHj148cUXqVSpEmPGjKFkyZJ89dVXVocmhGV8rA5AZDnngBjurh0rzN21aHFOAv9qrSPiTduHSeZKJPYBGXhSZEW2UBsPlXqIe/zvcep6SuctzZxOc/j1r1957ZfXqP1NbXrV7sVHj3xEwZwFnbpuIYSbuXYN9qfQF1fFipAz5+0/b968yfbt2xk8ePAdszVr1ozff5fHx0XWJTVmwqW01jeB7cCjCd56FEjqbLwRKK6Uyh1vWnkgFvjH4UEK4YHOXzvPr3/96vBmjMlpWrYpO1/ayRfNv2Dm3pmUH1eekK0hRMdGuywGIYTF9u+H2rWTfyVI3M6dO0dMTAxFihS5Y3qRIkU4deqUK6MXwq1IjZmwwmjgB6XUNmAT0Au4F5gIoJQaDtyjtX7OPv8M4B3gO6XUe5jn1EYAU7TW110dvBDuaN6+ecTqWNpXau/S9fp6+/Javdd4qupTvPXbWwQvC+abP79h7GNjaVy6sUtjEUJYoGJF2L495XkSoZS642+t9V3ThMhKJDETLqe1timlCgDvAsWAvZiu8P+2z1IMk6jFzX9FKfUoMA7TO+N5zLhmQ10auBBuzBZq4+HSD1Mkd5GUZ3aCwrkKM+nJSbxU+yWClwXT5PsmdK7cmRGPjqBkgHS+I0SmlTMn1KqVpo8ULFgQb2/vu2rHzpw5c1ctmhBZiTRlFJbQWk/QWpfWWmfTWtfWWq+L9153rXWTBPPv11o/qrXOqbUuqbUeKLVlQhinr5xm9dHVLm3GmJSge4L4vcfvTG09lTVH11AxpCIfr/uYG9E3rA5NCOEm/Pz8qF27NitXrrxj+sqVK2nQIKmRc4TI/CQxE0IIDzcnbA5eyot2ldpZHQoAXsqLbjW6ER4cTu86vRm2dhiBIYEs3L9QutcXQgAwYMAAJk2axJQpU9i3bx/9+/fn2LFjvPzyy1aHJoRlJDETQggPZwu18WjZRymQs4DVodzBP5s/I5qNYM8reyhXoBxtbG1oMb0F+8+l0IObECLT69y5M2PGjOGDDz6gRo0arFu3jqVLl1KqVCmrQxPCMpKYCSGEB/s38l82HNvgFs0Yk1KxYEV+6foLC7ss5OCFg1T9qiqvr3idyKhIq0MTQliod+/eHD16lKioKLZv306jRo2sDkkIS0liJoQQHmx22Gx8vX1pU7GN1aEkSynFkxWeJLR3KMMaD+OrbV9Rflx5vt/5PbE61urwhBBCCMtJYiaEEB5s5t6ZtLi/BQHZA6wOJVWy+2Tn7UZvs7/PfpqUbkL3hd1pMLkBf/z7h9WhCSGEEJaSxExkaiEhIQQGBhIUFGR1KEI43NFLR9ny7xa3bsaYlJIBJZnZYSZruq3h2q1r1J1UlxcXvciZq2esDk0IIYSwhCRmIlPr06cPYWFh/PGHlMaLzGdW6Cxy+OSgVYVWVoeSbo1LN+bPl/5kXItxzNs3j/LjyjNm8xhuxdyyOjQhhJOsW7eOVq1aUbx4cZRSLFiwwOqQhHALkpgJIYSHsoXaaFm+Jbn9clsdSob4ePnQ54E+hAeH81SVpxiwfAA1vq7Bb3/9ZnVoQggnuHr1KtWrV2f8+PFWhyKEW5HETAghPNDB8wf58+SfHtmMMSkFcxbkqye+Ynuv7eTPkZ+mPzSl/az2HL101OrQhBAO1KJFCz766CPatXOPsReFcBc+VgcghBAi7WyhNnL75ebxco9bHYrD1SxWk3Xd1/HT3p94Y+UbVAqpxJsN32RQw0Hk9M1pdXhCiHiuXYP9KQxNWLEi5JRDV4gUSWImhBAeyBZq48kKT2baREUpxdNVn+bJCk/yyfpPGL5hON/t/I7RzUbTrlI7lFJWhyiEwCRltWsnP8/27VCrlmviEcKTSWImhBAeJuxsGHvP7OXjRz62OhSny+2Xm0/+9wkv1HyB/sv702F2Bx4p8whjHxtL5cKVrQ5PiCyvYkWTeKU0jxAiZZKYCSGEh7HttRGQLYDm9zW3OhSXuT///Sx+ajFLDy6l3y/9qD6xOn2C+vD+w++TN3teq8MTIsvKmVNqw4RwFOn8QwghPIjWmpmhM2lTsQ3ZfLJZHY7LPV7ucfb23ssn//uEKTunUG5cOSb9OYmY2BirQxNCCCEyRBIzIYTwILtO7yL8fDhdqnSxOhTL+Hn7MajhIA70PUCL+1vQc3FP6k6qy6bjm6wOTQiRCleuXGHnzp3s3LkTgCNHjrBz506OHTtmbWBCWEwSMyGE8CC2vTYK5CjA/8r8z+pQLFc8T3GmtZ3Ghuc3oNE0mNKAbgu6cfLySatDE0IkY9u2bdSsWZOaNWsCMGDAAGrWrMm7775rcWRCWEsSMyGE8BBaa2yhNtpVaoevt6/V4biNhvc2ZOuLW/nmiW9YenApFcZXYOTvI7kZc9Pq0IQQiWjSpAla67teU6dOtTo0ISwliZnI1EJCQggMDCQoKMjqUITIsG0ntnHk0pFMNai0o3h7edOzdk/C+4bTvUZ3Bv86mKpfVeWXQ79YHZoQQgiRKpKYiUytT58+hIWF8ccff1gdihAZNnPvTArnKkzj0o2tDsVt5cuRj7EtxrLjpR0Uz1OcFtNb0Hpmaw5fOGx1aEIIIUSyJDETQggPEKtjmRU2i46BHfHxkpFOUlK1SFVWPbeKWR1msePkDgInBPL2b29z9eZVq0MTQgghEiWJmRBCeIBNxzfxT+Q/0owxDZRSdKzckf199zO44WBGbRpFhfEVmLl3Jlprq8MTIssaPnw4QUFB5MmTh8KFC9OmTRsOHDhgdVhCWE4SMyGE8AC2UBv35LmHhvc2tDoUj5PTNyfvP/w++/rs44F7HuCpuU/ReGpjdp3aZXVoQmRJa9eupU+fPmzevJmVK1cSHR1Ns2bNuHpVarRF1iaJmRBCuLmY2Bhmh82mY2BHvJScttOrTL4yzOs8jxXPrODctXPU+qYWfX7uw/lr560OTYgs5ZdffqF79+5UrlyZ6tWr891333Hs2DG2b99udWhCWEoeVBBCCDe37u91nLpyis5VpBmjIzx636PsenkX47eOZ9jaYcwMnclHD39Er9q98Pbytjo8ITzKtVvX2H9uf7LzVCxYkZy+OZN8PyIiAoD8+fM7NDYhPI0kZkII4eZsoTZKBZSi7j11rQ4l0/D19qV//f48XfVp3vrtLXov7c3X279mXItxPFTqIavDE8Jj7D+3n9rf1E52nu29tlOrWK1E39NaM2DAAB588EGqVKnijBCF8BiSmAkhhBuLjo1m7r65vFDjBZRSVoeT6RTJXYTJrSfzUp2XCF4WTKOpjXiqylOMeHQE9/jfY3V4Qri9igUrsr1X8k0QKxasmOR7ffv2Zffu3WzYsMHRoQnhcSQxE0IIN7bqyCrOXTsnzRid7IF7HmBTj01M2zWNN399kwrjK/D2Q28zoP4Asvlkszo8IdxWTt+cSdaGpSQ4OJhFixaxbt06SpQo4eDIhPA88hS5EEK4MdteG/fnv5+aRWtaHUqm56W86F6jO+F9w3mp9ku8u+ZdKk+ozJLwJdK9vhAOpLWmb9++zJs3j1WrVlGmTBmrQxLCLUhiJoQQbupmzE3m7Z9H58qdpRmjCwVkD2BU81Hsfnk3ZfOVpdVPrWg5oyXh58OtDk2ITKFPnz78+OOPzJgxgzx58nDq1ClOnTrF9evXrQ5NCEtJYiYytZCQEAIDAwkKCrI6FCHSbMXhFVy6cYkuVbpYHUqWVKlQJZY/s5z5neez79w+qkyowpsr3+Ry1GWrQxPCo3311VdERETQpEkTihUrdvtls9msDk0IS0liJjK1Pn36EBYWxh9//GF1KEKkmS3URmChQKoUlp7KrKKUok3FNoT1DuPdxu8ybus4yo8vzw+7fiBWx1odnhAeSWud6Kt79+5WhyaEpSQxE0IIN3Qj+gYL9y+kc2Xp9MMd5PDNwdBGQ9nfdz+NSjXiuQXP8eCUB9l+QgbEFUII4RiSmAkhhBtadnAZl29elsTMzdwbcC+2DjZWd1vNlZtXCPo2iF6Le3H26lmrQxNCCOHhJDETQgg3NDN0JjWK1qBCwQpWhyIS0aR0E/586U/GthjL7LDZlBtXjrFbxhIdG211aEIIITyUJGZCCOFmrt68ypLwJVJb5uZ8vHzo+0BfDgYfpEuVLvT7pR81JtZg1ZFVVocmhBDCA0liJoQQbmZJ+BKu3bpGp8qdrA5FpELBnAWZ+MREtvXaRkD2AP437X90nN2Rvy/9bXVoQgghPIgkZkII4WZsoTaCigdRNl9Zq0MRaVCrWC02PL+BH9v+yMZjG6kUUokP1n7A9VsyNpMQQoiUSWImhBBuJDIqkqUHl0ozRg+llKJrta4c6HuAV+u+ykfrPqJSSCXm7ZuH1trq8IQQQrgxScyEJZRSvZVSR5RSN5RS25VSD6Xycw2VUtFKqZ1ODlEISyzcv5ComChpxujh8mTLw6dNPyW0dyiVC1em/az2NPuxGWFnw6wOTQghhJuSxEy4nFKqMzAG+BioCawHliml7k3hcwHANOA3Z8cohFVsoTYalmxIyYCSVociHKBcgXL8/PTPLHlqCUcvHaXaV9Xo/0t/Lt24ZHVoQggh3IyP1QGILGkAMFlrPcn+dz+lVHPgFWBIMp/7GpgBxABtkltBVFQUUVFRt/+OjIzMSLxCuMTF6xdZcXgFo5qNsjoU4WAty7ekadmmjNk8hg/Xfcj0PdMZ/r/hPF/zebyUlJEKz3L9unXPTVq5biGcTRIz4VJKKT+gNvBpgrdWAA2S+dzzwH3AM8DQlNYzfPhw3n///QxEKoTrzd8/n+jYaDoEdrA6FOEE2Xyy8eaDb/JMtWd489c3eXHxi0zcPpFxLcZRr0Q9q8MTIkU+Pj54eXlx9OhRS+PQWhMTE2NpDEI4g5KHkYUrKaWKA/8CDbXWv8eb/hbQTWt912i6SqlywAbgIa11uFJqGNBGa13DPstdO3FiNWYlS5YkIiICf39/R34lIRym2Q/NuBV7i9XdVlsdinCBDcc2ELwsmJ2ndtKtejc+bfopRXMXtTosIZJ18+ZNoqOjiYiIYMmSJfj6+uLn5+fSGKKjo7l16xZRUVHcvHmT5557jvz588e9rVwajBAOJDVmwioJkymVyDSUUt6Y5ovvaa3DU7vwbNmykS1btoxFKIQLnb16llVHVhHyeIjVoQgXefDeB9nWcxuT/pzE26veZt6+ebzX+D2C6wbj5+3aG10hUsvPzw8/Pz+01nh7e3Pp0iVL4/H395frvcg0pMZMuJS9KeM1oKPWen686V8CNbTWjRPMnxe4iHmuLI4XJpGLAZpprVPsDCQyMpKAgACpMRNua+K2ifRd2pdTr5+iYM6CVocjXOzC9Qu8u/pdvtr2FeXyl+PLx76k+f3NrQ5LiGRdvXr1jtYpVsiWLRu5cuWKP0lqzITHksRMuJxSaguwXWvdO960MGCh1npIgnm9gMAEi+gNPAJ0AI5ora+ktE5JzIS7e/j7h/Hz9mP5M8utDkVYaPfp3by67FXW/r2W1hVaM7r5aBloXIi0kcRMeCzpCkpYYTTwolLqBaVUJaXUF8C9wEQApdRwpdQ0AK11rNZ6b/wXcAa4Yf/7qmXfQggHOXn5JGuPrpVBpQXVilRjdbfV2DrY2H5yO4EhgQxdNZSrN+VUJ4QQmZ0kZsLltNY2oB/wLrATaAQ8rrX+2z5LMUyiJiyiNURHWx1F1jE7bDY+Xj60rdjW6lCEG1BK0alyJ/b32c8bDd5g5O8jqRhSEduu6ejYWKvDE0II4STSlFFkBinuxNKUMfVu3oQnn4Rbt+A3GcrbJRpOaUj+HPlZ/NRiq0MRbuivi38xcFk/FhxcTKOLAYxrP4lqD8mQCkIkQZoyCo8lNWZCiNu0ht69YflyWLUKtm61OqLM73jEcX4//rs0YxRJKpuvLPOzd2f5D3BGXaPmrx3pO7gaF04ctjo0IYQQDiSJmRDithEjYPJkmDIFypSBceOsjijzmxU6i2ze2XiywpNWhyLcmc1Gs9zV2fXJBUbkeJJpXnsoP7YcX3/RlZhbN62OTgghhANIYiaEAGDePHjzTXj7bXj+eejTB2w2OH3a6sgyN1uojcfLPY5/NmliK5Jw9SosWQKdO+OXIzcDBi8k/MVdtIq+j5cjZ1BnUF42LJlgdZRCCCEySBIzIQR//AHPPAOdOsEHH5hpL7wAvr7wzTfWxpaZHb5wmD9O/CHNGEXyFi+Ga9eg83/7SdGy1fhu5EE215uEL148tL0Pzwwsw7/h2ywMVAghREZIYiYytZCQEAIDAwkKCrI6FLd17Jjp7KNaNZg6FbzsZ4V8+UyyNnGi6QhEON6s0Fnk9M3JE+WfsDoU4c5sNggKgrJ3j2dWt3kPNo+8xOR83Vnh8zcVvg/i048eI+pqpAWBCiGEyAjplVFkBtIrYzpFRsKDD5p/t2yBIkXufH/PHpOwzZx5R2G9cJAaE2tQsWBFZnaYaXUowl1FRkLhwvDxxzBwYLKzXjr9Nx982Y6xvn9S5oovY2q9Rcuuw1wTpxDuQ3plFB5LasyEyKKio6FLF/j7b/j557uTMoCqVaFJE+kExBkOnDvArtO7pBmjSN7ChRAVZdoZpyBvkVKM/mQ7u1sspFRMbp449D4t+xcmfNtyFwQqhBAioyQxEyKLGjAAVqyAWbOgcuWk5wsOho0bYccO18WWFdhCbeTxy0OLci2sDkW4M5sNGjSAkiVT/ZHAek+ycvQ55pUaRJj3RaoseozBQ+tx+fwJJwYqhBAioyQxEyILGjfuv1fz5snP++ST5p5Qas0cR2vNzL0zaV2xNdl9slsdjnBXFy6YQQXT0Y5YeXnRtvtnhL17mqHeD/MlW6jwWUl+/OoVdGysE4IVQgiRUZKYCZHFLF0K/fpB//7wyispz+/jYwadnjEDzp1zenhZwt4ze9l3bh9dKnexOhThzubPh5gY6Ngx3YvI4Z+fd99bxf6nNtAwuhjPnpnIgwPy8ueq6Q4MVAghhCNIYiZEFrJ7tyl8b9nSDCadWi++aP6dNMk5cWU1tlAb+bLn49H7HrU6FOHObDZo3BiKFcvwokpVbsjs0f/wW9WRRHjdpM66Z3hpUCXOHT/ggECFEEI4giRmQmQRJ0/CE0/A/feb2i9v79R/tmBBePppmDDBdBoi0k9rjS3URtuKbfHz9rM6HOGuzp6FVasc3h3qI+0GsvPTS3yZqz2zvA9QbkIlxo/oSPTNGw5djxBCiLSTxEyILODaNfOsWEyMGas2d+60LyM4GI4fh0WLHB9fVrLj1A4OXThE5yrSG6NIxty55t/27R2+aB+/7AS/MYfwV0LpGFOBV6/OodbgfKxZMMbh6xJCCJF6kpgJkcnFxsKzz0JYmEnKSpRI33Jq1oSGDaUTkIyauXcmBXMW5JEyj1gdinBnM2fC//4HhQo5bRWF7q3EN5/v44+HfiB3rA8P7+pP5wH3cixsk9PWKYQQImmSmAmRyb31lulDYMYMqFUrY8sKDoY1a8zA0yLttNbMCp1Fh0od8PHysToc4a5OnIB161w2qnvt/z3DhlEXmVboJdb5/EvFGQ348IP/cePKJZesXwghhCGJmRCZ2OTJ8NlnMHIktG6d8eW1awfFi8P48RlfVla05d8t/B3xtzRjFMmbM8d0h9q2rctW6eXtw7O9JxL+5nH66iA+jF5F4LBCLPh+iHSvL4QQLiKJmRCZ1KpV8PLL8NJLpmt8R/D1Ncv88Ue4eNExy8xKbHttFM1dlIfufcjqUIQ7s9mgWTPIl8/lq85ToDiff7yVPa2WUiEmL22PfspjAwqzb8sSl8cihBBZjSRmIlMLCQkhMDCQoKAgq0Nxqf37TZ8BDz9snglTynHL7tXL9Mw4ZYrjlpkVxOpYZoXNomNgR7y90tAlpshajh2D3393WTPGpFQIasHSUadZVHYoh3wiqPZzKwa+VYeIM8csjUsIITIzpbW2OgYhMirFnTgyMpKAgAAiIiLw9/d3RUyWOXcO6taF7Nlh40bIm9fx63j2WbPsgwfT1u1+Vrbu73U0ntqYjS9spEHJBlaHI9zVyJEwdCicOQNucq66ceUSX4zpzEfXV5An2otPSz7Pc69MxMtbnpMUbsmBRZFCuJbUmAmRiURFQZs2cPkyLFninKQMTCcgR47A0qXOWX5mZNtro6R/SeqVqGd1KMKd2Wzw+ONuk5QBZM+dlyFDl3Pgua08El2S589Ppv7redm64jurQxNCiExFEjMhMgmtoUcP2LYNFi6EMmWct64HHjAv6To/daJjo5mzbw6dKnfCS8lpVyTh8GFzAFvcjDEpJSoEMWPUUdbVGkcUMdTd9AI93ijP6SN7rQ5NCCEyBblDECKT+PBDmD4dvv8e6td3/vqCg2HlSvM8m6ucuHyCt397m38j/3XdSh1g7dG1nLl6hs6V3fOGW7iJWbMgZ0544gmrI0nWQ636sv3zCCbk7sIC70OU/7YqX3zahls3rlkdmhBCeDRJzITIBGbMgPfeg48+cl1he8eOULiwa7vO/3Lzl3yy4RMqjK/A8PXDiYqOct3KM2Dm3pmUzVeWOsXrWB2KcGc2m0nKcuWyOpIUefv68crAnwjve4CuMZV5/fpCqr+Vj1/nfG51aEII4bEkMRPCw23cCM8/D889ZwaTdpVs2UxX/N9/D5GRzl+f1ppZYbPoWrUrvWr34t0171J5QmWWhC/BnTsxuhVzi3n759G5cmeUI7vHFJnL/v2waxd06WJ1JGlSoEQ5Jny2l+2PzKRgbHYeDX2Tdv2Lc2T3OqtDE0IIjyOJmRAe7K+/TGcf9erBN984tlv81Hj5ZbhxA6ZOdf66tv67laOXjtKjZg9GNx/Nrpd3USZfGVr91IqWM1oSfj7c+UGkw69//cqF6xekGaNIns0GefJAixZWR5IuNRp3Zu3oi/xULJitPqepNLsx777XiGsR56wOTQghPIYkZkJ4qEuXoGVL0/PivHmmBsvVihc346WNHw+xsc5dly3UDM7cqFQjAAILBbLimRXM6zSPfef2UWVCFd5c+SaXoy47N5A0soXaqFCgAtWKVLM6FOGutDaJWevWZpwLD6W8vOjSayz7h/zLQNWAz2LXU/GjosyePADt7BOEEEJkApKYCeGBbt2CDh3g9Gn4+WcoUMC6WIKDzXhmK1Y4bx2xOpZZobPoUKnDHYMzK6VoW6ktYb3DeKfRO4zbOo7y48vzw64fiNXW3whGRUcxf/98acYokrd3L+zb57a9MaZV7vxF+fiDjYS1/40a0QXp9M8XPDKgAHs2zLU6NCGEcGuSmAnhYbSG3r1h3TqYPx/Kl7c2ngYNoGZN53adv/HYRv69/C9dqiT+/E0O3xy80/gd9vfdT6NSjXhuwXM8OOVBtp/Y7rygUuGXQ78QGRVJ5yqZ44ZbOMnMmabqu1kzqyNxqPtqPMKiL06xtPz7nPC+Ss2VHXh1cHUunjxidWhCCOGWJDETwsOMGgWTJplnyho3tjoa81xbcDAsWwaHDjlnHbZQGyX8S1C/ZPLjANwbcC+2DjZWPbeKyzcvE/RtEL0W9+Ls1bPOCSwFtlAbVQtXJbBQoCXrFx4grhlju3bg52d1NE7R4ql32fPRBYZne5zvvHdT7sv7+GbMM8Tcuml1aEII4VYkMROZWkhICIGBgQQFBVkdikPMnw+DBpneF7t3tzqa/3TpAvnzQ0iI45cdExvDnLA5dApM/eDMD5d5mB0v7WBsi7HMDptN+fHlGbdlHNGx0Y4PMAnXbl1j0YFF0umHSN6ff5qBpTNJM8ak+OXIzRtv/Uz4CztoGV2GlyKm88CgvPy+9GurQxNCCLchiZnI1Pr06UNYWBh//PGH1aFk2Pbt0LWrebbsww+tjuZOOXJAz54wZQpcueLYZa/9ey2nr55Oc3NAHy8f+j7Ql/C+4XQK7MRrv7xGza9rsvrIascGmISlB5dy9dZVacYokmezQcGC8MgjVkfiEsXuq8H3Iw/z+wNfo1A0/ONlnh1YlhMH/7Q6NCGEsJwkZkJ4gOPHoVUrqFbNjBvm5YZH7iuvmKTshx8cu9yZe2dSJm8Zgoqnr9azUK5CfN3qa7b12oZ/Nn8emfYInWZ34ljEMccGmoAt1EatYrW4P//9Tl2P8GBxzRjbtwcfH6ujcan6LXqxdWQEk/J1Y7nPUSpMrc3nHz9O1FUXDIoohBBuyg1v74QQ8V2+bJIyPz9YuNDUTrmje+81Y6qNH2/uNx3hVswt5u6b65BeDWsVq8WG5zfwQ9sf2HBsAxXHV+SDtR9w/dZ1xwQbz+WoyywJXyLNGEXyNm+GY8cyfTPGpHh5+9Dj1amEDzhCj9gavHVzGVXfLciynz6wOjQhhLCEJGZCuLGYGHjqKTOQ9JIlUKSI1RElLzgYwsJg1SrHLO+3I7+ZwZkd1BxQKcUz1Z7hQN8DvFr3VT5a9xGBEwKZv28+2lHZJLA4fDE3om/QqXInhy1TZEI2GxQtCo0aWR2JpfIWKcWY4TvY1XwBJWNy83j4e7TqX4RDO36zOjQhhHApScyEcGMDB8Ivv8Ds2VClitXRpKxxYxOno7rOt4XaKF+gPNWLVHfMAu3yZMvDp00/ZW/vvVQqWIl2s9rR7MdmhJ0Nc8jybaE26pWoR+m8pR2yPJEJxcaaA7tjR/D2Tnn+LKByg9b8Ovocc0q+zm6f81Se15Qh79TnyoVTVocmhBAuIYmZEG4qJAS+/NIkOc2bWx1N6sR1nb94MRw9mrFlRUVHMX+fcwdnLl+gPEu7LmXJU0s4euko1b6qRv9f+hNxIyLdy7x04xK/HPpFmjGK5G3YACdOZNlmjElRXl60f2EE+4aeYoh3Y8bozVT49B5mTOyDjrV+0HghhHAmScyEcEO//AKvvgr9+plONTxJ167g7w8TJmRsOcsPLyciKiLJQaUdqWX5lux9ZS8fPfIR3/75LeXHl2fKjinE6rTfCC7cv5BbMbfoGNjRCZGKTMNmgxIloH7yY/NlVTkDCjJs2Br2dVlP/ehidD09gUYD8rFzrc3q0IQQwmkkMROWUEr1VkodUUrdUEptV0o9lMy87ZRSK5VSZ5VSkUqpTUopD6lDSrs9e6BTJ3j8cRg50upo0i5XLujRwwyCfe1a+pdjC7VRpXAVlw3OnM0nG4MfHMyBvgd4tOyj9FjUg3qT6rHlny1pWs7M0Jk8eO+D3ON/j5MiFR4vOto0Y+zUyT27WHUjpas8yJzR/7Cy8mdc8Iqi9qouvPJmZc7/c9Dq0IQQwuHkiiBcTinVGRgDfAzUBNYDy5RS9ybxkUbASuBxoDawGlislKrp/Ghd69QpeOIJuO8++Oknz330pHdvuHQJZsxI3+ev37pu2eDM9/jfw4/tfmT98+u5FXuLepPr8fzC5zl1JeXnXM5fO8+vf/3qklo+4cHWrIGzZ83I7CJVmnYYxM5PLjA6V1t+8gqjXEgFJozqQvTNG1aHJoQQDiOJmbDCAGCy1nqS1nqf1rofcBxItNGe1rqf1vpzrfUfWuuDWuu3gINAK9eF7HzXrkHr1nDrlnlGK3duqyNKv7JlTYI5blz6us5fenApV25esfQ5rQfvfZBtPbcxseVEFh9YTPlx5Rn1+yhuxtxM8jPz9s0jVsfSvlJ7F0YqPI7NZg6SOnWsjsSj+GbPyWuD5hH+0l7aR5en72Ubtd/Mx9qFX1odmhBCOIQkZsKllFJ+mFqvFQneWgE0SOUyvIA8wIWk5omKiiIyMvKOlzuLjYVu3WDvXpOUlShhdUQZFxwMu3fD+vVp/+zM0JnULFqTcgXKOT6wNPD28ualOi8RHhzOc9WfY9Cvg6g+sTorDifcfQ1bqI2HSz9MkdxuPq6BsM6tWzBvnmnG6KRObTK7wqUr8+2I/WxpOJWc+NBkZz+eGliK4/vS1uxYCCHcjSRmwtUKAt7A6QTTTwNFU7mMgUAuYFZSMwwfPpyAgIDbr5IlS6YrWFcZOhTmzoXp06F2baujcYymTaFixbR3nX/l5hV+Dv/ZrZoD5s+Rn/GPj2fHSzsokqsIzX9sTpuZbfjr4l+35zl95TSrj66W3hhF8n79FS5ckN4YHSDo0W5sHHmR7wv2ZLXPP1T8sR4ff/goN65csjo0IYRIF0nMhFUSNnBTiUy7i1LqKWAY0FlrfSap+YYMGUJERMTt1/HjxzMUrDN99x0MHw4jRkCbNlZH4zhKQd++MH8+pOXnX3xgMdejr7vl4MzVilRjdbfVzGw/k+0ntxMYEsg7q97h6s2rzAmbg5fyol2ldlaHKdzZzJlQvjxUd+zYfFmVl7cPz/X5hvDX/6Y3dRh261cqDyvEoh/elu71hRAeR+n0PAAiRDrZmzJeAzpqrefHm/4lUENr3TiZz3YGvrN/9ud4b6W4E0dGRhIQEEBERAT+/v7p/wIOtno1NGsGL7wAEydmvpZNly/DPfeYZo0ff5y6z7SZ2YZTV06x+cXNzg0ug67evMqnGz5lxO8jKJSrEDm8snF/QTMumhCJunEDihQx42C8/77V0WRK+7cupd9Pz7E873maXyrAmKemUfGBx60OS2TQ+fNw5QqUKpWq2TPZlVRkJVJjJlxKa30T2A48muCtR4Hfk/qcvaZsKvB0gqTMYx04AO3bQ5MmMH585kvKAPLkgeefh2++MfekKYm4EcGyQ8s8ojlgLr9cfPjIh4T1CaN2vsocvHSYrouOmvEOhEjM8uUQGSnNGJ2o4gOPs2zUGRaWfYuD3hFUXdKSN94OIvLsP1aHJtLp5k1o1w5atjTPYwuRmUliJqwwGnhRKfWCUqqSUuoL4F5gIoBSarhSalrczPakbBrm2bLNSqmi9leAFcE7wrlz5iJTtKgZzsjX1+qInKdPH/N9bakYF3bB/gXcjLlJx8qeMzhz2XxlWXCxOYcm+PL0rhioUcNUEV5Ism8akVXZbFClCgS6Zmy+rEp5efHksx8TOuws7/s+ygS2UX5kKb4P6UlsTLTV4Yk00Bp69YLNm+Hrr2XYP5H5yS4uXE5rbQP6Ae8COzHjlD2utf7bPksxTKIW5yXABwgBTsZ7eWQfyVFRpvQvMhJ+/hny5rU6IucqXx4eeyx1XefbQm08dO9DlPD3sG4pbTbuq9cCtXsPfP45fP+9+eLffAMxMVZHJ9zBtWuwaJHUlrlQ9tx5eeudFex/ZjMPR5eg+7lJNHw9H9t+nZbyh4VbGD7cnE6/+w4aNrQ6GiGcTxIzYQmt9QStdWmtdTatdW2t9bp473XXWjeJ93cTrbVK5NXditgzQmvo2RO2boUFC6BMGasjco3gYNi+3ZR6JuX8tfOs/GulRzRjvMPRo7Bli7nh9vODgQNNO9UnnoCXXoKgINi40eoohdV+/hmuXpXEzAIlK9Xlp1F/s7bmWK4RzQMbuvHiGxU4czTU6tBEMmbNgrffhmHD4OmnrY5GCNeQxEwIF/r4Y/jhB1P61yBVo7ZlDo89Bvffn3zX+fP3zydWx9IhsIPrAnOEWbMge3ZoFW+882LFYOpU2LQJvL3hwQfh2WfhxAnLwhQWs9mgVi0oZ+3YfFlZoyeD2f7ZRcbn6cw8n4OU/7oKX37ejls3rlkdmkhg82Z47jmTkL37rtXRCOE6kpgJ4SIzZ8I778AHH8BTT1kdjWt5eZlnzWbPhpMnE5/HFmqjSekmnjc488yZ5oHBPHnufq9ePVObNmmS6fihfHn47DPTnlVkHZcvmxozqS2znI9fdnoPnMnBPgd4KjaQ/tfmU/Ot/Pw2d4TVoQm7o0ehdWuoUwcmT86cHWMJkRRJzIRwgU2boHt3eOYZM5h0VvT885Atm3mAO6HTV06z6sgqz2vGePAg7NgBXZIZDNvLC3r0gPBwePFF0zanalVYKt3qZxmLF5tuSTu539h8WVWBEuX46rNQtjeZQb7YbDTdO4gOA0pwdO8Gq0PL0iIiTCvw3LnNGJjZs1sdkRCuJYmZEE525Igp/QsKMhUnWbX0LyDANE2ZONF0fxzf3H1zPXNwZpsNcuWCx1MxTlLevDBmDOzaBSVLmlq2J56AQ4ecHaWwms0GdetC6dJWRyISqNnkKdaNvsiMon3Z5HOSSjMf4v33H+Z6pPSq6mrR0abs4p9/TAVzoUJWRySE60liJoQTXbpk7r/9/U3pX7ZsVkdkrb594fRp06QxPluojaZlm1IwZ0FrAksvmw2efBJy5kz9ZypXhl9/hblzYe9e8/eQIWb0VJH5XLoEy5ZJM0Y3pry8eOqlcRwY/C/9VX0+iV5DpQ8KM3fKG2gZOMsltDadRK1aZU6NFStaHZEQ1pDETGRqISEhBAYGEhQU5PJ137plSv9OnjSlfwU9LOdwhsBA+N//7uwE5MTlE6z/e73nNWMMDTWJVXpuuJUyYyaEhcFbb5matAoVYMaMlMcUEJ5lwYL/qgKEW8udvyiffPg7oe1+pWpMATocH8mjAwoS+vtCq0PL9L780rSm+Oorc40QIquSxExkan369CEsLIw//vjDpeuNK/1bvRrmzTP33MIIDjb9YcRtktmhs/H19qVNxTaWxpVmNptpn/nYY+lfRs6c8N57sH+/6aaza1d46CHz3JrIHGw20yvnPfdYHYlIpftr/o/FX5zm53LDOOZ9herL29BvSE0unf475Q+LNFu8GAYMgEGDzGO4QmRlkpgJ4QRffGE6ufjmG3j4YaujcS9PPGEetYmrNZsZOpPm9zUnb/a8VoaVNlqbG+42bRzTPrVUKdO+87ffTNO32rXh5Zfh3LmML1tY5/x502xVmjF6pMeffo+9H13gE78WTPbaSfnRZZg8tjuxMdFWh5Zp7Nhheilu29YMJi1EVieJmRAOtnAhvP46DB5seiIUd/L2ht69TV6z/fDfbP5nM12qJNOroTvatcv0sujoG+5HHjF3KmPGmG74y5eHkBDTFE54nnnzIDYWOnjY2HziNr8cuRn09lIOdN/OYzFlePHi99R9PYDNv0yyOjSP9++/ZvjHSpXM+J5eckcqhCRmQjjSn3+aATHbtTODSYvE9ehhErS3p88iu092WpVvlfKH3InNBvnzQ9Omjl+2ry+8+qrpir99e9P2s3ZtWLvW8esSzjVzJjRpAkU8bGw+cZfi5WoxbeRhNtSZQCya+lt60v31+zn1126rQ/NIV66YpMzLCxYtSlv/SUJkZpKYCeEg//xjLjSVK8O0aVL6l5z8+c3jVKvO2GhxX0vyZEtkcGZ3FdeMsV07k0Q5S6FC8O23sHWruWtp0sSMl3b8uPPWKRzn9GlYsyb5Me6Ex2nY8hW2fn6JbwKe5Wefvyg/qTojhz/BzevSq2pqxcSY8//Bg7BkCRQrZnVEQrgPuXUUwgHiSv98fKT0L7VaP3+IW4W2U+qKhz1/88cfZnA6V91w16kDGzfC99+bWrOKFU117I0brlm/SJ85c0zpTDsPG5tPpMjb14+e/aYR/tphusdWY/CNn6k2tADLbdJMIjXefNMkZDYbVKtmdTRCuBdJzITIoJgY03zx8GFzsSla1OqIPMOuaBte0bnY8kNLq0NJG5sNCheGxo1dt04vLzM694ED0KcPvP++GXtg4ULpXt9d2WymqWuBAlZHIpwkX7EyjP10FzsenUOxmJw8tn8orfsX469da6wOzW19/TWMGmW6x3/8caujEcL9SGImRAa98YYZp2zWLKha1epoPIct1EaDAk+yaV1Odu60OppUio01G7pDB1M96mr+/vD557Bnj+kYpE0baNHCdLcv3Mc//8CGDdIbYxZR9cH2rBp9nlkl+rPD5yyBcx5m6LsPcvXiGatDcysrV5pypeBg6NvX6miEcE+SmAmRAV99ZbrGHzcuY8NZZTX7zu5jz5k99H+0MyVL3jngtFvbtMncdFt9w12hAixbZtrNHjxoSgRefx0iI62NSxizZ5vnD9u0sToS4SLKy4uOPUazf+gp3vRuxEi9kYqfFGfmN6+iY2OtDs9yYWGmPKt5cxg92upohHBfkpgJkU7Ll5uSv9deM92/i9Szhdrwz+ZPywqP8corMGOGGfLJ7dlsULy4GTDYakqZBxtDQ03Txq++MrVo339vavaEdWw2U1KTN6/VkQgXyxlQkPeHrWVfx7UERRfmqZPjaDIgP7vWzbI6NMucOQMtW5rhGmfOtKaxgRCeQhIzIdJh717o2NHce40aZXU0nkVrjS3URpuKbcjmk42ePc1jUpPcfVigmBhTE9Kpk3t1uZk9O7z1lnn+7JFHoHt3aNDAdFIiXO/oUdiyxfpaVWGpMtUaMe+LE6wIHM5Zr+vU+q0zfd6syoUTh60OzaWuX4fWrU1fRUuWQB4P6oBXCCu40d2FEI4XEhJCYGAgQUFBDlvmqVOm9K9sWfjpJzMel0i93ad3s//cfrpUNr0aFiwITz0FEya4+TjK69aZje+uN9wlSpiqx7Vrzd1Q3brw4oumuFq4zqxZJllu5WFj8wmneLTjYHZ9cpGROVrzo/deyo0tx8TRTxNz66bVoTldbCw8/zzs2mVaXd97r9URCeH+JDETmVqfPn0ICwvjDwfVHsSV/t26BYsXS+lfethCbeTPkZ+mZf8bnDk4GI4dM7+p27LZTFucunWtjiR5jRrB9u0QEgLz55vmjWPGmJ1WOJ/NZkpu5OQg7Hyz56T/4AWE99xD65j7eeXyT9QZlJf1i8dbHZpTDRtmDocffwQHlo0KkalJYiZEKsXGQrduphnj4sVQsqTVEXmeuGaM7Sq2w9f7v8GZa9Uyre/cthOQW7dg7lzTjFEpq6NJmY8PvPIKhIebsRwGDoQaNeC336yOLHM7eBD+/FMGlRaJKlKmClNGhLOl/hT88KLRn8F0HViaf8O3WR2aw02bBh9+CJ99JkP5CZEWkpgJkUrvvGPGjJ0+HWrXtjoaz7T95Hb+uvgXnavc3RwwOBhWrzaJr9tZtQrOnfO8G+4CBUwb0e3bzf+bNoX27c1zUMLxbDbIlUsGaBLJeqDZ82waeYkp+Z/nV59jVPg+iOEfNSfqauboVXXdOtOKukcPM5yMECL1JDETIhWmToVPPjFDSEkP2Ok3c+9MCuUsRJPSTe56r317KFYMxrtj6x6bDe6/H2rWtDqS9KlRwzx7NmOG6ZiiUiV47z24ds3qyDIXmw2efBJy5rQ6EuHmvLx9eD54CuEDj/KSrs27N1dQ+d0CLPnxXY/uXv/QIWjbFh56yJQJeUIDAyHciSRmQqRgzRro1Qt69jQtwkT6xOpYZoXOomNgR3y87u4v2dcXXn4ZfvgBLl60IMCk3LxpntXq3Nmz7zKUMr2s7N8P/fvDp5+aBG3OHNMtpsiYsDBT3euuncMItxRQ+F5GfbKN3S0XUzbGn1aHP6TlwKKEb1tudWhpduGCebyyUCFzWvHzszoiITyPJGZCJCM83LSPb9TI9KXgyfflVtv8z2aORx5PtBljnF69zONc333nwsBSsmIFXLqUeW64c+c21b+hoVC9uhn3oWlTN21D6kFsNvD3l5HmRbpUqvsEy0efZX7pwezzvkiVRY/x5tC6XD5/wurQUuXmTdPq4fx5+PlnyJfP6oiE8EySmAmRhPPnTelfkSKm9M/XN+XPiKTZ9toonqc4D96b9ODMRYua/jVCQsywYW7BZjM1S1WqWB2JY91/v+nDeulS+Ocf09zxtdfcrLrSQ2htRs5t2xayZbM6GuGhlJcXbboNJ+zd07zj8wjj2Er5z0ryw4SXiY1x37FEtDatHX7/HRYsgPvuszoiITyXJGZCJCIqytxjXbpkSv/y5rU6Is8WExvD7LDZdAzsiJdK/rQTHAx//QXLlrkouORcv27uNLp0ybzVpS1awJ49MHw4TJliutefNMmNMmMPsGuXqV7PLLWqwlI5/PPzzru/sf/p32kUfQ/Pnf2aBwfmY/tvP1odWqI++8y0cpgyBR5MutxNCJEKkpgJkYDWpknd1q2wcKEZSFpkzPpj6zl55SSdK6d841q3rhnzxi26zl+2DK5cyfw33H5+pvu08HCTqPXsaTbEpk1WR+YZbDbIn980CRXCQe4NrI9t9DFWVRvFZa9bBK1/ll6DKnH22D6rQ7ttzhwYMsT0JdS1q9XRCOH5JDETIoFPPjFjsHz3nRlbS2Scba+NUgGlqFeiXqrmDw42j3YdOODkwFJis5nnsCpUsDgQFylWzOz8GzeaEooGDeC55+DkSasjc19am/2kXTtp7yyc4uG2A9jx6SXG5urAbO8DlP+qMuNGdCD65g1L49q6FZ591vQp9N57loYiRKYhiZkQ8dhsMHQovP++udiIjIuOjWbuvrl0qtwJlcrmgJ06QeHCFnedf/UqLFmS+WvLEtOggbnr+uYbU2tYvjyMGGGe8Bd32rYNjhzJmvuJcBkfv+z0fWM24a+E0immAq9dnUvNwXlZNW+UJfH8/bcZGaJWLdOEMbO29BbC1SQxE5laSEgIgYGBBAUFpTjvpk3QrRs884wZTFo4xuojqzl77WyqmjHGyZbNNCedOhUirRpzdckSM85XVr3h9vY2TRrDw+GFF0x7papV3eThPzcyc6YpRWjSxOpIRBZQ6N5KfP35PrY1+hH/WD/+t+d1Og4owd+hG10WQ0QEPPGEGa5vwQLInt1lq3YqpZSPUqqnUmq1Uuq8UuqGUuovpdRcpVRrq+MTWYPSMn6N8Hwp7sSRkZEEBAQQERGBv7//Xe8fOWIeqalQAX79VTpWc6QXF73ImqNrOBh8MNU1ZgD//gulS8Po0aZpo8u1bWuC2LrVgpW7ob174dVXYfVqc1f2xRemZ8esLDYWSpUyVQchIVZHI7IYHRvLjG/68sZfX3PJL5bBvg/zRv855PDP77R1Rkebw3/zZlOYWamS01aVEWmuv1NK5QMWAw3tk/4GzgL3AoWBv7XWpR0VoBBJkRozkeXFlf7lyWPGEZakzHFuxtxk7r65dK7cOU1JGcA995jHdsaPN/e/LhUZaWqGsmptWWKqVIHffoPZs2H3bqhcGd56y3SOklVt2mSGGpD9RFhAeXnR9eUJHHjzOK9Sl49iVlPpg8LM+24Q2gknTa1N2cxvv8HcuW6blKXXFExSdhiop7UurbUO0loXAcoBUvIiXEISM5Gl3bplxtc9ccJ0i1+woNURZS4rD6/k0o1LdKnSJV2fDw42LelWrnRwYClZuNCMmdCpk4tX7OaUgg4dYN8+07Txiy+gYkX46Sdz15bV2GxQvLj0ES4sladAcT79aDOhrVdQOSY/7Y+NoNmAQoRtXuTQ9YwdC199BRMmwP/+59BFW0opFQS0AaKAFlrrLfHf11of0lqPsCI2kfVIYiayLK3Njf/q1ab0r2JFqyPKfGyhNioVrESVwukbnLlhQzPuscu7zrfZTAcYJUu6eMUeImdOGDbMJGh168LTT0OjRrBzp9WRuU5MjKk97NgRvORSKqxXrvaj/PzFGZbc/x5HvS9TbVlr+g+pRcSZYxle9uLF0L+/GVWjZ08HBOte4p4fm6+1PmhpJCLLk6uJyLLGjIGvv4aJE+GRR6yOJvO5EX2DBfsXpKsZYxylTPK8dCkcPuzgAJNy4YLpq79L+mr5spTSpU2pxsqVcP481K4NvXub/2d269bBqVOynwi307LrMPZ+cI6P/R7jW68dlB9Vmiljnyc2Jjpdy9u50/RS3Lo1fPqpY2N1E3GNMjdbGoUQSGImsqhFi2DgQHjzTejRw+poMqdfDv3C5ZuX6VwlY8/fPPWUGbvXZX0rzJ9vnnDv0MFFK8wEmjaFXbtg1CiYPh3KlTPtnWJirI7MeWw20/FH3bpWRyLEXbLl8ufNt5dxoNsfPBpdih4Xp1Lv9bxsWT45Tcs5ccI8g12xIvz4Y6atHI7rEeySlUEIAZKYiSzozz/NzX7btmYwaeEcM/fOpFqRalQsmLE2ojlywIsvmrFyXNLPhM0GjRubwZZF6vn6Qr9+cPCg6bWlb19Tg7ZundWROV50tKkp7NRJBnASbu2e8nX4cdQR1tcO4Rax1Nv8Is+/Xo5Tf+1O8bNXr0KrVmYXX7QIcuVyQcDWuGz/N6+VQQgBkpiJLObECXOhCQyEH37ItKV/lrt68yqLwxfTpbJjmnm98gpcvmxKbJ3q7FlYtUp62cuIwoVh0iTYssUMcNS4sSkJOX7c6sgcZ9UqOHdO9hPhMR58ojfbPr/ERP+nWexzmPKTqjNqeCtuXk+8tCsmBrp2NZ0vLVli+rjJxELt/9azNAohkMRMZDGdO5txcxctMv0XCOf4+eDPXLt1LcPNGOOUKmWebxg/3smd/82da/5t396JK8kigoLg99/NKOGrV5u2UB9/DDduWB1Zxs2cCffdB7VqWR2JEKnm7evHS/2nE/7qQZ6LrcqgG0uoNrQAy20f3zXv4MGmw4+ZM6F6dQuCda0F9n/bKKXuszIQISQxE1lC3KMuhw+b0j9ppeZctlAbdYrXoWy+sg5bZnAwhIaae3ynsdlMP9CFCjlxJVmIlxd06wYHDphqz2HDzPhnixZ5bvf6N2+a5xC7dJFmjMIj5S9+H+M/3c2OprMpGpODx/YPpU3/Yvy1aw0A33wDI0ea0TBatrQ2VlfQWm8H5gPZgWX27vNvU0rdr5R63ZLgRJajtKdeHIUAlFIqIiLirpE0o6KiiIqKuv33i6/OZ/n8V/n+++O0aeOfcHbhQJFRkdw/9n6GNhrKq3VfddhytYb69aFsWZgxw2GL/c/Jk6ZWZ/x4ePZZJ6xAEB5uetxZtcokwJ9+CuXLWx1V2vzyi6l6//13k2QK4cF0bCzzpg1m6KFvOZc9ltaRzZkzdQovPpebESM8s+whICAgALis03CDq5TKB/wM1LdPOgqcA0oCRYC/tdalHRupEHeTxEx4NKWUPxBhdRxCCCGEcBsBWuvItHxAKeUL9ASeBqoA2YCTwHbge631EodHKUQCkpgJj5baGrMvRn7B6C9Ho/pBLyoz5JUZ5Cta2qGxBAUF8ccffzh0mZ64jk6zO3HxxkVWPrsy0fcjIyMpWbIkx48fx98/bbWXV69CpUrQvTt88EHy86b5ezz6KOTNawYNTiVP2B4pycj2SK1Ev8ONG2bk8JEjIU8es0G7dEl3jzyu2BYP1q7NhlOnTI+TQ4Y4fPmu2BaQOfZbV6zDsmPDgnWcPWsqsX0CwrmvwZOsyHuShpf8+bz1OKo0aOOQdWREWrZFemrMhHAXPlYHIERGpPbE2//1/oz+cjRDczzCF2oVc6bU4JOiT9OjzxS8ff0cEou3t7dTb6Y8YR0Xr19k1YlVjGw2MsVl+Pv7p3k9/v5m3LmpU2H4cNOVflLS9D2OH4etW01XnWmIyd23R1qkZ3ukVqLfwd8fPvwQevWCN94wz6B9/71J1urUccw6HKzJ9ev4X7linptz4rqcuS0g8+y3mfbYcPE6btwwrbdv3IAta+tQqtQJlts+5rWtH/DQpm68sqYqH7w6n/zFk+4Xw522RVpryoRwJ9L5h8hSevX+nvAXdtAyugwvRUzngUF5+X3p1w5Zdp8+fRyyHE9ex4L9C4iOjaZDoPMGZ+7TBy5eTPk5szR9j1mzIFs2ePLJNMbi3tvDXST7HUqWNF2/rVljqkQfeMAMXHfmjOPW4SDBRYqYLuoqZmxsPqtllv020x8bLliH1vD887Bjh+mTp1QpM71557fZ/dF5Ps/+BNO89lB+bDm+/qIrMbdupnkdQojUk6aMIjNIcSf+559/bjeDKFGiBACbln1D8Ir+bM97jWciy/DZy3MoXk66v86Ix358jBvRN1jTfU2S80RGRhIQEEBERES6S1hbtTKVXDt2OOjh9KAgkyDMm+eAhXkWR2wPh4mOhq+/hnfegdhYeP996N3bDF5ttatXzRhtQ4c6pRkjuNm2EFlie7z3nmlFPHs2dEiiPO3UX7sZMqE9U/McosalHIz730gefKK3S+NM47bwwC5LhDCkxkxkCdmyZbvjX4D6LXqx5fOLfJv3OX7xPUqFqbX5/OPHiboqrSDS4+zVs/z61690qZL8oNLZsmXjvffeu2NbpFVwMOzaBRs2pHsR/zl8GLZty7KDBTtieziMj4+pEg0PN8+b9e8PNWvCb79ZHZkZZ+PaNafuJ261LUSm3x4//miSsuHDk07KAIqWrcZ3Iw+yqe63+KB4aHsfnhlYhn/Dt7ks1sy+LYSIIzVmIjNIcSdOqbTt4skjDBvblhC/XZS94suXdYbS4ql3nRJsZvX1tq/ps7QPJweepFAu544DFhsLgYFQrZpphZghw4fDRx+ZpnO5cjkkPuEgO3aYLHzjRjPo98iRULq0NbG0a2eqaZ3cUYMQrrB+PTRtCs88A5Mmpb7lQWxMNFNDejL43++55qMZmqM5/fvPIlsut6pRlBoz4bGkxkwIIF+xMnw5fCc7m82jZExuHg9/j1b9i3BohxuU1HsIW6iNR8o84vSkDEzHfX37mpaH//yTwYXZbKZtpCRl7qdmTXMH+eOPZtywSpVM88br110bR2QkLF2aZWtVReZy6BC0bQsNG8JXX6WtObiXtw8vvPod4QOO0DO2JkNvLafKuwX5efowp8UrRFYiiZkQ8VRp2JZfR59jTsnX2e1znsrzmjLknfpcuXDK6tDc2snLJ1lzdA2dK7vuxrVbN8iZEyZOzMBC9u83bSLlhtt9KQVdu8KBA9CvH3z8sUnQ5s41PRe4wsKFEBUFnTq5Zn1COMnFi9CyJRQsaA4hv3R2Spy3SCm+GP4nu1sspFRMbp449D4t+xcmfNtyxwYsRBYjiZkQCSgvL9q/MIJ9Q08xxLsxY/RmKnx6DzMm9kHH3jVkmgDmhM3B28ubtpXaumydefKY8cy++cZ085wuNptZUIsWjgxNOEOePKbZaWgoVKliHop59FHzt7PZbNCgAdx7r/PXJYST3LxpWgSfP28emcyXL+PLDKz3JCtHn2PuvW8Q6n2BKoseY/DQelw+fyLjCxciC5LETIgk5AwoyLBha9jXZT31o4vR9fQEGg3Ix861NqtDczu2UBvN72tO/hz5Xbrevn3NwKjpes5Ma3PD3bo1ZM/u8NiEk5QrZ+4qlyyBv/823df36weXLjlnfRcvwooVUqsqPJrWZqjAjRth/ny4/37HLVt5edHu+c/Z9+4Zhno/zJdsocJnJfnxq1ekMFOINJLETIgUlK7yIHNG/8PKyp9xwSuK2qu68MqblTl3/IDVobmF4xHH2Xh8o0ubMcYpXx6aNzdjEqe5VdvevbBvn+n9T3ieli3NNvz4Y9N7QfnyMHmy6RnGkebPN934J9dtnRBu7vPPYcoUc4g89JBz1pHDPz/vvreK/U9toGF0MZ49M5EHB+Tlz1XTnbNCITIhScyESKWmHQax85MLjM7Vlp+8wig/oRIhIzsRfTO97egyh9lhs8nmnY3WFVvfnjZhwgTKlClD9uzZqV27NuvXr0/y8/PmzePRRx+lUKFC+Pv7U79+fZYvT/1zCsHBprf7LVvSGLjNZtryPPpoGj/oWdKyLeLbuHEjPj4+1KhRw7kBZkS2bPDmm6Z7/ebNzcDUdevC5s2OW8fMmdCoERQv7pDFpXV7REVF8fbbb1OqVCmyZcvGfffdx5QpUxwSS1aX1m0xffp0qlevTs6cOSlWrBjPP/8858+fd1G06TdnDgweDO++a3phdLZSlRsye/Q//FZ1JBFeN6mz7hleGlQp2cLMdevW0apVK4oXL45SigULFqS4nrVr11K7dm2yZ89O2bJlmZihB46FcBNaa3nJy9NfSRo/fryuVKmSLl++vAZ0REREcrOn2ukje3WP18tr9R66Wr/ses2CMQ5Zrid64NsHdJuZbW7/PXPmTO3r66u//fZbHRYWpl977TWdK1cu/ffffyf6+ddee01/9tlneuvWrTo8PFwPGTJE+/r66j///DNV64+J0fq++7R++uk0BB0baz70wgtp+JDnSeu2iHPp0iVdtmxZ3axZM129enXXBOsIGzZoXbOm1qB1t25anzyZseWdOaO1t7fWX33lkPDSsz2efPJJXbduXb1y5Up95MgRvWXLFr1x40aHxJOVpXVbrF+/Xnt5eekvv/xS//XXX3r9+vW6cuXKuk2bNonO7y62bNE6e3atn3rKnPZc7eb1q/rLz9rpgMHovIOVHvd5B30r6vpd8y1dulS//fbbeu7cuRrQ8+fPT3a5f/31l86ZM6d+7bXXdFhYmP7222+1r6+vnjNnjtbW35PIS17pflkegLzk5YBXiiIiIhyamMXZumKqrtsvl2YYunP/kvpY2GaHLt/dHb5wWDMM/dOen25Pe+CBB/TLL798x3wVK1bUgwcPTvVyAwMD9fvvv5/q+UeP1trXNw334du2aQ1aL1+e6nV4ovRui86dO+uhQ4fq9957z7MSM621jo7W+uuvtS5QQOs8ebQeOVLrqKj0Leurr0xiduaMQ0JL6/ZYtmyZDggI0OfPn3fI+sV/0rotRowYocuWLXvHtLFjx+oSJUo4LcaM+vtvrYsU0bp+fa2v350LudSZv8P0i69X0Oo9dNX+2fXq+V8kOW9qErNBgwbpihUr3jHtpZde0vXq1dPa+nsSeckr3S9pyihEBgQ92o3fR15iasEXWeP7LxV/rMfHHz7KjSuXrA7NJWaFziKnb05alW8FwM2bN9m+fTvNmjW7Y75mzZrx+++/p2qZsbGxXL58mfz5U9+RyPPPg68vfP11Kj9gs5n+oh95JNXr8DTp3Rbfffcdhw8f5r333nN2iM7h7Q29epnmjd26waBBZiTyNDSPvc1mM/tIoYyPzZee7bFo0SLq1KnD559/zj333EP58uV5/fXXue7qcdwymfRsiwYNGvDPP/+wdOlStNacPn2aOXPm0LJlS1eEnGaRkfDEE2ZIkYULre/fqNC9lfh2xH62Pvg9ubQPD+/qT+cB93IsbFO6lrdp06a7tl/z5s3Ztm0bSilfR8QshBUkMRMig7y8fejW51vCX/+b3tRh2K1fCRxWiIXT3sr0PVLZQm08Uf4JcvmZwZnPnTtHTEwMRYoUuWO+IkWKcOpU6saCGzVqFFevXqVTGsaMypsXnnvOjGl282YKM2ttunHs0AF8fFK9Dk+Tnm1x8OBBBg8ezPTp0/Hx9N8mf37TK8yOHVC0KDz2GLRpA3/9lbrPnzwJa9c6rDfG9GyPv/76iw0bNrB3717mz5/PmDFjmDNnDn369HFITFlVerZFgwYNmD59Op07d8bPz4+iRYuSN29exo0b54qQ0yQ62vRpdOyY6bzUAeUKDlOn6XNsHHmR7wv2ZJ3Pv1Sc0YAPP/hfmgszT506lej2i46OBijosICFcDFJzIRwEP9CJRjx8R/seeJnykUH0ObIcFoMLMz+rUutDs0pws+Hs/PUzkR7Y1RK3fG31vquaYn56aefGDZsGDabjcKFC6cpnr594dQpM2hqsrZsMd2sZ5Huz1O7LWJiYnj66ad5//33KV++vKvCc75q1WD1alP7tX07BAbC0KFw9Wryn5s929S+tXXs2HxpOTZiY2NRSjF9+nQeeOABHn/8cUaPHs3UqVOl1swB0rItwsLCePXVV3n33XfZvn07v/zyC0eOHOHll192Rahp0r+/GeFhzhyzu7sbL28fnuvzDQfe+Ju+OogPo1cROKwQC74fkqbCzMS2X9x/HRetEK4liZkQDlbxgcf5ZfQZFpZ9i4PeEVRd0pLX365D5Nl/rA7NoWx7beT2y02L+/8bnLlgwYJ4e3vfVep85syZu0o371qezUaPHj2YNWsWTZs2TXM8lSubVmcpFmDPnGlqUJzVZ7SbSOu2uHz5Mtu2baNv3774+Pjg4+PDBx98wK5du/Dx8WHVqlWuCt3xlIJOnWD/fnjjDRg5EipWNMmaTuIezmYzPT2moUltctJzbBQrVox77rmHgICA29MqVaqE1pp//slc5xNXSs+2GD58OA0bNuSNN96gWrVqNG/enAkTJjBlyhROnjzpirBTZdw4GD8evvoK0nEadSn/QiX4/OOt7Gm1lAoxeWl79FMeG1CYMqmo7ypatGii289e0+/+XWUKkQRJzIRwAuXlxZPPfkzosLMM823KV2yn/MhSfB/Sk9iYaKvDc4iZoTNpXaE1OXxz3J7m5+dH7dq1Wbly5R3zrly5kgYNGiS5rJ9++onu3bszY8aMDD2zERwMmzaZipFExcaampCOHU1tSCaW1m3h7+/Pnj172Llz5+3Xyy+/TIUKFdi5cyd169Z1VejOkysXfPghhIVBnTqmvdfDD8Pu3XfOd/w4/P67Q2tV03NsNGzYkBMnTnDlypXb08LDw/Hy8qJEiRIOiy2rSc+2uHbtGl5ed94yedvPITqp5N7Ffv7ZjLX++uvQs6fV0aRehaAWLB11mkVlh3LIJ4Ljr8DiFQOJOHMsyc/Ur1//ru23YsUK6tSpg9b6lrNjFsJprO59RF7ycsArRc7qlTG1joVt1p37l9QMQ9ftl0tvXTHVkjgcZc/pPZph6MUHFt/1Xlw31JMnT9ZhYWG6X79+OleuXPro0aNaa60HDx6sn3322dvzz5gxQ/v4+OiQkBB98uTJ269Lly6lOa7oaK1LlTI9pSdq7VqtwXSrngWkdVsk5JG9MqbF8uVaV6igtZeX1n36aB3X++HIkVpny6a1g88Xad0ely9f1iVKlNAdOnTQoaGheu3atbpcuXL6xRdfdGhcWVFat8V3332nfXx89IQJE/Thw4f1hg0bdJ06dfQDDzxg1Ve4w86dWufOrXWbNuY86GkuX76sd+zYobdsXKsbP4jO+Ra6yBtKjxveWcdE37pre8R1l9+/f38dFhamJ0+eLN3lyytTvCwPQF7ycsArRVYnZnHWLBijq/bPrtV76B6vl9enj+y1NJ70GvrbUJ3307w6KjrxbshDQkJ0qVKltJ+fn65Vq5Zeu3bt7fe6deumGzdufPvvxo0ba8wzAXe8uiWZXSXvs8/MPXWiPZz37q11yZJm8LMsIi3bIqFMn5hpbbrSHzXKdK1foIDpIr9OHXOH6wRp3R779u3TTZs21Tly5NAlSpTQAwYM0NeuXXNKbFlNWrfF2LFjdWBgoM6RI4cuVqyY7tq1q/7nn39cHPXd/v1X6xIltK5VS+srV6yOJn1Wr159x/m/qD+6fns0w9AP9MulX+zY4K7tsWbNGl2zZk3t5+enS5curb/6b7xBq+9J5CWvdL+U1u5RBS9EBqS4E0dGRhIQEEBERAT+/v6uiClJ0Tdv8PXY53jn/Bxi0QzL24Y+r03HN3tOS+NKLa01FcZX4MF7H2RK6ylWh3OX8+ehRAl45x146614b0RHwz33wLPPmmeMhIjv1CkYMgSmTjV///STaeoohBu7ehUaNza779atULy41RE51vrF4wle9Qa78t6gx5XyfPvZPpRXik/hpNzTlBBuSp4xE8LFfPyy0+f1WYT33keXmEoMuL6AGm/l57e5I6wOLVV2ntrJwQsHE+2N0R0UKABdu5qH36PjP863Zg2cOZNlemMUaVS0KHz3HWzebDoIad3a6oiESFZsLDzzjOnTZsmSzJeUATzUqi/bP49gQu4uFMqePzVJmRAeTWrMRGbgUTVmCe1Y8xOvLniZDfkiaRdRnFEv2Chd5UGrw0rSmyvfZPKOyZwceBJfb/ccx3PXLqhRw/Tz0aGDfWLPnrBqFRw6ZHrpE0IIDzZoEIwaZQaQfuIJq6NxK3KCFx5Lih5EphYSEkJgYCBBQUFWh5Kkmk2eYt3oi0wv0pvNPqeoNPMhhg1rwrWIc1aHdhetNbPCZtEhsIPbJmUA1aub3vBvd51/6xbMm2dqyyQpE0J4uG+/hREjYPRoScqEyEykxkxkBh5dYxbflQun+PiLtoxmM0VveDO6Un/adf/MbZpvbPlnC/Um12PVc6t4uMzDVoeTrNmzzdBVu3ZBtX+XweOPw86dJmsTQggP9euv0KIF9OplxiyTsqa7yC8iPJZ73O0JIQDInb8owz/cxN42K6gWXYAOx0fSdEBBQn9faHVoANhCbRTNXZRGpRpZHUqK2rQxfX2MG4cZLLhCBahWzeqwhBAi3fbtM82zmzaFL7+UpEyIzEYSMyHcULnaj7L4i9P8XG4Yx72vUH15G14bUoNLp/+2LKZYHcus0Fl0qNQBby/3H5zZ1xdeeQWmT9dcmLdGmjEKITza2bPQsiWULGnKmnx8rI5ICOFokpgJ4cYef/o99n50gU/8WjDFaxflvijDpC+7EXPrpstj2XhsI/9e/pcuVTynC/GePSHmViyTL3eU3hiFEB7rxg3TCuDqVdMDoxu3yBdCZIAkZkK4Ob8cuRn09lIOdN9Oi+gy9Lw0jbqD8rFp2TcujcMWaqOEfwnql6zv0vVmROHC0KXERib49iOmQqDV4QghRJppDS+8AH/+CYsWQalSVkckhHAWScyE8BDFy9Vi2sjDbKgzAY2mwdaXeO71+zh5eKfT1x0TG8OcsDl0CuyEl/Kg08a1awSfepujt+5hyRKrgxFCiLR7/30z3vm0aVC3rtXRCCGcyYPusIQQAA1bvsLWzy/xTcCzLPM5QvkpNRnxyRPcvH7Faetc+/daTl89TecqHtYccOlS6tzYQL0aN/7rOl8IITzE9OkmMfvkE+jY0epohBDOJomZEB7I29ePnv2mEf7aYZ6PqcaQqJ+pOjQ/v8z8yCnrs+21USZvGYKKu+94cImaORNq1SL4jez89huEhVkdkBBCpM6GDaYJY/fuMHiw1dEIIVxBEjMhPFi+YmUY++kudjw6h+IxuWhx4B2e7F+UQzt/c9g6bsXcYs6+OXSu3BnlSb0aXr4MP/8MnTvToQMULWrG/BFCCHd3+LDp7KN+ffj6a+lQVoisQhIzITKBqg+2Z9Xo88wq0Z+dPueoPLcpb7/bkCsXT2d42b8d+Y0L1y94XjPGxYtNV2adOuHnBy+9ZJ7RiIiwOjAhhEjaxYumW/z8+WHePPDzszoiIYSrSGImRCahvLzo2GM0+4eeYrB3I0bp36n4SXF++iYYHRub7uXaQm2UL1Ce6kWqOzBaF7DZoF49KF0aMIlZVBR89521YQkhRFJu3oT27c2YZT//bJIzIUTWIYmZyNRCQkIIDAwkKMjDno3KgJwBBXl/2Fr2dVxL3ZiiPH1yPI0H5GPXullpXlZUdBTz9833vGaMly7BsmV3jF1WrJh5eD4kBDKQpwohhFNoDb17m2fL5s+HcuWsjkgI4WqSmIlMrU+fPoSFhfHHH39YHYrLlanWiLmj/2VF4HDOed2g1m+d6f1mFc7/czDVy1h+eDkRURF0ruxhzRgXLIDo6Lu6MQsOhkOH4JdfrAlLCCGSMmIETJ4MkyZBo0ZWRyOEsILSWlsdgxAZleJOHBkZSUBAABEREfj7+7siJrdy68Y1Qr7synsRC/CJVXxUqDO9Xv0eb9/kH17oOq8ru0/vZs8re1wUqYO0aAHXrsHatXdM1hqCgqBQIVOhJoQQ7mDePNOEcehQ+PBDq6PxeB7UvEOIO0mNmRBZgG/2nPR7cz7hPffQJuZ+el+ZSe1BAaxblPTgXtdvXWfRgUWeV1t2/jz8+usdzRjjKGVqzX75BcLDLYhNCCES+OMPeOYZc8p6/32roxFCWEkSMyGykCJlqjB5RDhb6k8hG9403vEqTw8szT8H7m7qufTgUq7cvOJ5idm8eeYhsvbtE327c2coWNA8ayaEEFY6dgyefBKqVzcdE3nJXZkQWZqcAoTIgh5o9jybRl7iuwI9+M3nGBWmPcAnHzbjxpVLt+exhdqoWbQm5Qp42BPoM2fCww9DkSKJvp09O/TqZW6CLl92cWxCCGEXGQlPPGHOSQsWQI4cVkckhLCaJGZCZFFe3j507zuJ8IFHeVnX5r1bK6k8rBCLfhjKlajLLAlf4nm1ZadPw5o1iTZjjO+VV8wjaNOmuSYsIYSILzoaunSBv/+GJUuSLEcSQmQxkpgJkcUFFL6XUZ9sY3fLxdwX7U/rvz4m6L1iXI++7nmDSs+ZY9oCtWuX7GwlSkDbtjB+vOkQRAghXGnAAFixAmbPhsqVrY5GCOEuJDETLqWUyqeU+kEpFWF//aCUypvM/L5Kqc+UUnuUUleVUieUUtOUUsVdGHaWUKnuEywffZYFZYYQFR1Fk6OK0p9MMO1tPIXNBo8+CgUKpDhrcDDs32/6CRFCCFcZN868QkKgWTOroxFCuBPpLl+4lFJqGVAC6GWf9A1wVGvdKon5A4A5wLfALiAfMAbw0VrXsc8m3eU7WMy1q0SPGkG24Z9DQAB8/jl07ereT6b/8w/ce695eKxbtxRn1xpq1IBSpWDRIueHJ4QQS5dCq1bQrx+MGmV1NJmWdJcvPJYkZsJllFKVgDCgntZ6i31aPWATUFFrfSCVywkCtgKltNbHkMTMeY4fhzfeMDVR9eubYt7ata2OKnFffAGDB8OZMyaZTIVJk0xHIIcOQdmyTo5PCJGl7d4NDRvCI4+YzmO9va2OKNOSxEx4LDcu/haZUH0gIi4pA9BabwYigAZpWE4AJhm7lNQMUVFRREZG3vES6VCypOnlcM0auHLFjM7cqxecPWt1ZHez2eCxx1KdlAE8/TTkzQsTJjgvLCGEOHnS9MBYrhxMny5JmRAicZKYCVcqCpxJZPoZ+3spUkplBz4FZmitk8y2hg8fTkBAwO1XyZIl0xWwsGvcGP7809SYzZlj7i7GjjVdi7mDo0dhyxbTzVka5MwJL74IkyfD1avOCU0IkbVdu2bGKouJgcWLIXduqyMSQrgrScxEhimlhimldAqv5J4HU0lMT7geX2AmZr/tndy8Q4YMISIi4vbr+PHjaf1aIiEfH+jTB8LDTQLUr595SGvVKqsjg1mzzCBArRJ9VDFZvXub/k2mT3dCXEKILC02Fp59FsLCTLf499xjdURCCHcmiZlwhPFApRRee4FTQGKjtRQCTie3AntSNgsoAzyaXG0ZQLZs2fD397/jJRykYEGYOBG2bzftAP/3P+jY0QzIYxWbDVq2TFdRdOnSJp8bN066zhdCONZbb8H8+fDTT1CzptXRCCHcnSRmIsO01ue01vtTeN3AdPIRoJR6IO6zSqm6mGfGfk9q+fGSsnJAU631eSd/JZEaNWvC+vXw44+wcSNUqgQffADXr7s2joMHTTPLFAaVTk5wMOzdC2vXOjAuIUSWNnkyfPaZ6X3xySetjkYI4QkkMRMuo7XeB/wCfKuUqmfvkfFbYEn8HhmVUvuVUm3t//fBdJdfB+gKeCulitpffq7/FuIOSplu9A8cgNdeg48+MgnavHmuq36y2UxN2eOPp3sRjzwCgYGm1kwIITJq1Sp4+WXz6tfP6miEEJ5CEjPhal2BPcAK+2s38GyCeSpgatHAjHn2pP3fncDJeK+09OQonClPHhg+HEJDoUoVaN/ejJwaFub8ddtspjg6Z850L0Ip6NsXFiyAY8ccF5oQIuvZv9+cAh95xPSRpKTzdiFEKsk4ZiIzkHHM3M3PP5ti4iNHTDvBYcPS1I19qoWFQeXKsHBhhtsKXbkCJUrAK6+YHFMIIdLq7FmoVw+yZ4fff3fOaU+kSFJh4bGkxkwI4XgtW5qHtj7+GL79FsqXhylTTBdljmSzmTuf5s0zvKjcueH55024rn5MTgjh+W7cgLZtTSHPzz9LUiaESDtJzIQQzpEtG7z5pulev1kz6NHDFCVv2ZLyZ1NDazP4dZs2Zl0O0KcPXLhgFiuEEKmltTnFbdtmKvBLl7Y6IiGEJ5LETAjhXMWLww8/wIYNZkDqevVM1dSpUxlb7q5d/42p5iD33w8tWkjX+UKItPngA5gxA77/3pzihBAiPSQxE0K4RsOG8Mcf8PXXsHixad44ahTcvJm+5dlsUKCAGUfNgYKDYccO83yIEEKkZPp08xjtRx9laNQOIYSQxEwI4ULe3tCrl6np6tYNBg2C6tVhxYq0LUdrk5i1awe+vg4NsVkzKFdOus4XQqRs40Z44QV47jkzmLQQQmSEJGYiUwsJCSEwMJCgoCCrQxHx5c9vMp8dO6BIEdN5R5s28Ndfqfv8tm2mx0cnFE97eZmu8+fOhRMnHL54IUQmcfiwOW3VqwfffCPd4gshMk66yxeZgXSX78m0htmzYeBA09f0G2/A4MGQK1fSnxk40LQf+vdfUwvnYJGRcM890L+/eXZECCHiu3gRGjQwj81u3mxaVQu3ISmy8FhSYyaEsJZS0KmTGZX1jTdgxAioWNE0VUys4Cg2FmbNgg4dnJKUAfj7m5aWX38NUVFOWYUQwkPdumVOP6dPm27xJSkTQjiKJGZCCPeQKxd8+KEZNLpOHdPb4sMPw+7dd863aRP884/Tn7Lv2xfOnDGVeUIIAaas6JVXYP16mD/f9GEkhBCOIomZEMK9lC1r7niWLzdd6tesabKkCxfM+zabaWfYsKFTw6hYER59VDoBEUL8Z+RImDzZDETfuLHV0QghMhtJzIQQ7qlZM1NbNmIETJtmiqYnTjRVWB07ml46nCw4GLZuNS8hRNY2bx68+Sa8/bZp6iyEEI4mnX+IzEA6/8jsTp2CIUNg6lTz9+bNULeu01cbE2O6zm/Y0IyRLYTImrZtg0aNoFUr+Oknl5QLifSTzj+Ex5LETGQGkphlFVu2mIc7Bg50Wd/Uo0aZnPD4cdOzvxAiazl+HB54AEqVgtWrIUcOqyMSKZDETHgsScxEZiCJmXCaixehRAnTg/8771gdjRDClS5fhgcfhIgIUy4khTMeQRIz4bGkMl4IIZKRLx8884x5vO3WLaujEUK4SnS06Rz26FHTLb4kZUIIZ5PETAghUtC3L5w4YR7+F0JkDQMHms5hZ82CypWtjkYIkRVIYiaEECmoWhWaNJGu84XIKsaPh7FjzTHfvLnV0QghsgpJzESmFhISQmBgIEFBQVaHIjxccDBs3Ag7dlgdiRDCmZYuhddeg/79zWDSQgjhKtL5h8gMpPMP4XTR0Wbs66ZNYcoUq6MRQjjD7t1meIyHHzbj3Ht7Wx2RSAfp/EN4LKkxE0KIVPDxgd69YcYMOHfO6miEEI526hQ88QTcf785ziUpE0K4miRmQgiRSi++aP6dNMnaOIQQjnXtGjz5pBlUfvFiyJ3b6oiEEFmRJGZCCJFKBQvC00/DhAmmaaMQwvPFxsJzz0FoqEnKSpSwOiIhRFYliZkQQqRBcDAcPw6LFlkdiRDCEd5+2wyFMWMG1KpldTRCiKxMEjMhhEiDmjVN5wDSdb4Qnm/KFPj0Uxg5Elq3tjoaIURWJ4mZEEKkUXAwrFkDe/ZYHYkQIr1Wr4aXXjKv/v2tjkYIISQxE0KINGvXDooXN4PQCiE8z4ED5jh++GFT+62kg3UhhBuQxEwIIdLI1xdefhl+/BEuXrQ6GiFEWpw7By1bmsKVWbPM8SyEEO5AEjMhhEiHXr1Mz4wy2LQQniMqCtq2hchIWLIE8ua1OiIhhPiPJGZCCJEORYpAp04QEmLGPhJCuDetzViEf/wBCxdCmTJWRySEEHeSxEwIIdIpOBiOHIGlS62ORAiRko8+Ms2Pv/8e6te3OhohhLibJGYiUwsJCSEwMJCgoCCrQxGZ0AMPmJd0nS+Ee/vpJ3j3XfjwQ+jc2epohBAicUprbXUMQmRUijtxZGQkAQEBRERE4O/v74qYRBbx44/w7LOwbx9UrGh1NEKIhH7/HR55xDQ9/v576YExC5AtLDyW1JgJIUQGdOwIhQtL1/lCuKO//jIDRz/wAHz7rSRlQgj3JomZEEJkQLZsZoDa7783Pb0JzxYTA7t2WR2FcIRLl0y3+Hnzwvz55lgVQgh3JomZEEJk0Msvw40bMHWq1ZGIjOrXD2rUgFWrrI5EZMStW9ChA5w6ZbrFL1DA6oiEECJlkpgJIUQGFS8O7dub5oyxsVZHI9Jr3DizDfPmlQ5dPJnW0Ls3rF1rasoqVLA6IiGESB1JzIQQwgGCg+HgQVixwupIRHr8/LOpLRs4ED79FBYtgr//tjoqkR6jRsGkSfDNN9CkidXRCCFE6kmvjCIzkF4ZheW0htq1oVgxc5MvPMeuXfDgg/C//8HcuaZZaokS0KsXfPaZ1dGJtJg/39ReDx4Mn3xidTTCItLFi/BYUmMmXEoplU8p9YNSKsL++kEplTcNn/9aKaWVUv2cF6UQaaeUqTVbtgwOHbI6GpFaJ0/CE09AuXIwfTp4e0OuXPDCC6bW5fp1qyMUqbV9O3TtahKzjz6yOhohhEg7ScyEq80AagCP2V81gB9S80GlVBugLnDCOaEJkTFdukD+/BASYnUkIjWuXoVWrUxt5+LFJiGL06cPXLwIM2ZYF59IvePHzbasWhWmTQMvubsRQnggOXUJl1FKVcIkYy9qrTdprTcBPYEnlFLJPp6tlLoHGA90BW45PVgh0iFHDujZE6ZMgStXrI5GJCc21gwMvn+/ScruuefO98uWNV2tjx1rEjfhvi5fNkmZry8sXGiOQyGE8ESSmAlXqg9EaK23xE3QWm8GIoAGSX1IKeWFqVUbobUOTc2KoqKiiIyMvOMlhCu88opJyqZNszoSkZwhQ2DBAvjpJ6hZM/F5goNh925Yv96loYk0iImBp54yA0kvWQJFi1odkRBCpJ8kZsKVigJnEpl+xv5eUt4EooGxqV3R8OHDCQgIuP0qWbJk2iIVIp3uvRfatDHdrktNi3uaNAk+/xxGjzY1LUlp2tR0tS5d57uvgQPNc52zZplmjEII4ckkMRMZppQaZu+QI7lXHfvsid2qqiSmo5SqDbwGdNdp6EJ0yJAhRERE3H4dP348zd9LiPQKDoZ9++C336yORCT022+mVvOVV+C115Kf18sL+vY1Pf3JKcT9hITAl1+axPmxx6yORgghMk66yxcZppQqCBRMYbajwNPAaK113gSfvwT011p/l8iy+wGjgfjD9nrb/z6utS6NdJcv3IzWUK2aeU5p4UKroxFx9u2D+vWhbl0zpIGPT8qfuXzZPH8WHAwff+z8GEXq/PKLeQYwOBjGjLE6GuFmpLt84bEkMRMuY+/8Iwyoq7Xeap9WF9gMVNRaH0jkMwWAYgkmL8c8c/ad/TOSmAm388038PLLcPgwlCljdTTi7FmoV890DLFxIwQEpP6zr75qnkU7fhyyZ3dejCJ19uyBhg2hUSNT8OHtbXVEws1IYiY8ljRlFC6jtd4H/AJ8q5Sqp5SqB3wLLImflCml9iul2to/c15rvTf+C9Mr46nEEjkh3EXXrubmf8IEqyMRN25A27amU5YlS9KWlIFpznjuHNhszolPpN6pU2bcubJlTbIsSZkQIjORxEy4WldgD7DC/toNPJtgngpAGm+dhHAvuXJBjx4weTJcu2Z1NFmX1mY7bN9ualdKl077MsqXh+bNzbNM0sjEOteuQevWcOuWGeIgTx6rIxJCCMeSxEy4lNb6gtb6Ga21v/31jNb6UoJ5lNZ6ajLLKK21HuPkUIXIsN694dIlmD7d6kiyrg8+MINEf/+9acqYXsHBJrnbvNlxsYnUi42Fbt1g716TlElHu0KIzEgSMyGEcJKyZU2zK6lpscb06TBsmOm0o1OnjC2rRQu47z7pOt8qQ4fC3Llmm9aubXU0QgjhHJKYCSGEEwUHm84K1q2zOpKsZeNGeOEFU8syZEjGl+flBX36wOzZcPJkxpcnUu+772D4cDP2XJs2VkcjhBDOI4mZEEI4UdOmUKmS1LS40uHD5ga+fn3TO6ZyUB9tzz8Pfn7w9deOWZ5I2Zo10KsX9OxpBpMWQojMTBIzIYRwIqVMr34LFsggxa5w8aJpPpovn2n65ufnuGXnzQvPPWcSs5s3HbdckbjwcGjXDho3NoNJOyrBFkIIdyWJmRBCONlzz5leGr/6yupIMrdbt6BDBzhzxgwgXaCA49fRt6/psn3OHMcvW/zn/HkzgHSRIua39vW1OiIhhHA+ScxEphYSEkJgYCBBQUFWhyKysNy5TTO4b781Y2oJx9MaXnkF1q+HefOgXDnnrKdyZXjkEWma6kxRUWbcuUuXTIKdN6/VEQkhhGsoLV2FCc+X4k4cGRlJQEAAERER+Pv7uyImIe5w8KAZD+u776B7d6ujyXxGjIBBg2DqVNPhhzMtWGAShz/+gDp1nLuurEZrc3zYbLBqFTRoYHVEwgNJo1fhsaTGTAghXKBcOdPlunSd73jz5sGbb8Lbbzs/KQNo1QpKlZJaM2f45BOYNs0UYEhSJoTIaiQxE0IIFwkOhj//hE2brI4k89i2DZ55Bjp2NINJu4K3txk8fOZM8zybcAybzYxX9v778NRTVkcjhBCuJ4mZEEK4SPPmpuZMaloc4/hxU3tVrZppwujlwitajx5mfd9+67p1ZmabNpnazmeegXfesToaIYSwhiRmQgjhInGDFM+ZAydOWB2NZ7t82XSLny0bLFwIOXK4dv0FCkDXrqanzVu3XLvuzObIEWjdGoKCYNIk6RZfCJF1SWImhBAu1L27SSZkkOL0i46GLl3g6FHTa1+RItbEERwM//5rOgMR6RMRYRLsPHlg/nxzbAghRFYliZkQQrhQQIBpsiWDFKffwIGwfDnMmmW6r7dK9erw0EPSNDW9bt0yzwaeOGES7IIFrY5ICCGsJYmZEEK4WN++cPo0zJ5tdSSeZ/x4GDvWJEPNm1sdjak1W78edu2yOhLPorX57VavhrlzoWJFqyMSQgjrSWImhBAuVqkSNG0qNS1ptXQpvPYa9O9vBpN2B23awD33yLZMqzFjTK3xxIlmwG4hhBCSmAkhhCWCg2HLFjNIsUjZ7t3QuTO0bGkGk3YXvr4mSZw+Hc6ftzoaz7BokWmO+uabpndLIYQQhiRmQghhgZYtoXRpqWlJjVOnTAcR998PM2aYccTcSc+eEBsLkydbHYn7+/NPM0ZZ27ZmMGkhhBD/kcRMZGohISEEBgYSFBRkdShC3MHb23Sdb7PJIMXJuXYNnnwSYmJg8WLIndvqiO5WuLDpJXLCBBOnSNy//5px5wID4YcfXDvunBBCeAKltbY6BiEyKsWdODIykoCAACIiIvD393dFTEKk6MIFKFEC3noLhg61Ohr3ExsLnTrBsmWmg41atayOKGnbtplxuObPN8+diTtduQKNGsG5c6YJb7FiVkckMjEZCU94LCmvEkIIi+TPD888I4MUJ+Xtt2HePNN80Z2TMoA6daBePWmampiYGDMY98GDsGSJJGVCCJEUScyEEMJCwcFmHKf5862OxL1MmQKffgojR0Lr1lZHkzrBwbBqFYSGWh2Jexk0yCRkNhtUq2Z1NEII4b6kKaPIDKQpo/BoTZqYWoX1662OxD2sXg3NmsGLL5rntpSHNEy6eRNKlTJNGb/6yupo3MPEiabXynHjzPh9QriAh5wxhLib1JgJIYTFgoNhwwbYudPqSKx34AC0a2fGtho71nOSMgA/P3jpJZg2DS5dsjoa661YYZKx4GBJyoQQIjUkMRNCCIu1bg0lS8rzSefOmWEEiheHWbPMGGGe5qX/t3fvwVFW9x/HP4eLoEICFhSLAR0sl2iBUSJI63hrvQygohYmggIK/ICyjG3Btg4Vp9YC2kqlJEpAUSGQcgfBAW2H/hyKUVoFAbVYWi20IvXGgoQEwtM/vlAQE5OQ3T37PPt+zewEQ/Z5vpidJJ+cc77f/7OVszlzfFfi17Zt0ve+J11/vfTYY76rAYBwIJgBgGeNGtl2r/nzM3dIcXm5zbbat09avVrKzvZd0ak591wLJAUF1lUyE334oQXs9u2lkhJ7fQMAakYwA4A0MGKEFATS7Nm+K0m9ILDzZBs3SitW2ODtMIvFpB07rM1/pikrszN25eXW8KN5c98VAUB4EMwAIA20aiXl51uzi8OHfVeTWr/4hTRvnvTss9ZyPux69ZIuvTTztqYeOSINGyZt3mzDwNu1810RAIQLwQwA0kQsJv3zn/ZDbaZYsEB64AELZwMH+q4mMZyzz+XatdbMJFNMmmRnA4uLba4bAKBuaJePKKBdPiLjW9+SmjSxeVhRt2GDdV8cOFB65plwdWCsycGD1tAlP9+6S0bdc89JQ4ZIjzwiTZjguxpkuAh9JUGmYcUMkVZQUKDc3Fzl5eX5LgWolVjM5nht3eq7kuT6+9/tLFLPnlJRUbRCmSQ1bSqNHGmBc98+39Uk18sv2xnB4cOl8eN9VwMA4cWKGaKAFTNExqFD1s3upptsOG8UffaZ1Lu3/VtLS6Wvfc13Rcmxa5c1MvnNb6I7x+vdd+1MXffu0po14RxxgMiJ2K95kElYMQOANNK4sTRqlDR3rvTpp76rSbxDh6Tbb5d277a2+FENZZJ03nk2AmDGjGi2zv/4Y2uLf/bZ0uLFhDIAqC+CGQCkmZEjLcBEbUhxEEhjxtjWt2XLpI4dfVeUfLGYNQD5/e99V5JYFRXSrbfaLw9WrZJatvRdEQCEH8EMANJMmzbSgAE2pLiy0nc1ifPrX9uctqIi6corfVeTGldcIXXtGq3W+UFgvzwoLZWWL5c6dPBdEQBEA8EMANJQLGYNMqIypHjZMum++6T775eGDvVdTeoca52/erV9PqNg8mSbOTdnjnURBQAkBs0/EAU0/0AkXXaZbRFbu9Z3JfXzl7/YylHfvlJJidQgw34leOCAnTcbNsxWDcNs4UIbb/Dggza3DEhDNP9AaGXYt0cACI9YTHrxxXAPKd65U+rXz7bzPfts5oUySTrjDGsl//TT0uef+67m1JWWSnfdJd1xhw0FBwAkVgZ+iwSAcBgwwDrezZjhu5JTs2+fhbLTTpNWrJBOP913Rf6MGSPF49K8eb4rOTXvvSfdfLPUo4f01FPRmzsHAOmAYIaUcs61dM7Ndc7tPfqY65xrUYvndXHOrTz6nH3OuVLnXLsUlAx406TJ8SHF8bjvauqmslLKz7dzVatWSeec47siv84/30Lqb39rzTPCZO9e24barJmdFWza1HdFABBNBDOk2nxJ3SXdcPTRXdLcr3qCc66DpPWS3pF0laRukh6SdDB5ZQLpYdQo6eBB2wYYJj/6kQ0cXrRIuvhi39Wkh1hM2rZN+uMffVdSe4cP28rtrl3WwKR1a98VAUB00fwDKeOc6yLpLUm9giB49ej7ekl6RVLnIAiqPEnjnCuRdCgIgjurufSXXsTl5eUqLy//33/H43Hl5OTQ/AOhNHCgtGmT9Pbb4TijVVAgjR0rFRZKo0f7riZ9BIGF1E6dpKVLfVdTs2Nz52bPtpB97bW+KwJqhY22CK0QfItHhFwuae+xUCZJQRCUStorqXdVT3DONZDUR9J259xa59we59yrzrlbvupGkydPVnZ29v8eOTk5iftXACkWi0nbt0svveS7kpqtWSONGyfdey+h7GTOWWBdsUJ6/33f1dTs8celJ5+UnniCUAYAqcCKGVLGOXe/pKFBEHQ86f3bJc0JgmByFc9pI+kDSQckTZS0TrYF8peSrg6C4P/FihkiLgikSy6R2ra181rpassWm2t15ZU2eLhhQ98VpZ/9+611/qhR0pQpvqup3vPPW7OPCROkqVN9VwPUCStmCC1WzFBvzrkHnXNBDY8eRz+8qt8EuGreLx1/ja4IgmBaEASbgiCYImmVpFHV1dSkSRNlZWV94QGE1bEhxS+8IO3Y4buaqu3ebQ0iOnSQFiwglFWnWTObZzZrllRW5ruaqr3xhjVu6d/fhkkDAFKDYIZEmCGpSw2PrZJ2S6qqN1trSR9Wc+2PJB2WnU070duS6MqIjJGfL511lp3fSjcHDtjqyqFDttLSrJnvitLb978vffqpBdh0869/WffILl2kuXPDcaYRAKKCL7motyAIPgqC4J0aHgdlTT6ynXOXHXuuc66npGxJG6q5doWkjZI6nfRXHSWF4JQGkBinn358SPH+/b6rOe7IEWnIEGnrVgtl553nu6L0d+GF0o03pl/r/P37LZQ5J61caYOxAQCpQzBDygRB8LakNZJmOed6He3IOEvSqhM7Mjrn3nHO9T/hqY9KGuicG+Gcu9A5N1ZSP0mFqawf8G30aBvanE5DiidOlJYskYqLpUsv9V1NeMRi1mnzT3/yXYmprJQGDZLefdfOMZ57ru+KACDzEMyQaoMkbZH04tHHm5JOboPfSbaKJkkKgmCZ7DzZfUefO1zSbUEQrE9FwUC6aN/etgzOmJEeKy1z5tgZpEcflW65xXc14XLdddI3vmGrZungxz+2QFZSInXr5rsaAMhMdGVEFNT4Io7H48rOzqYrI0Jv3TrpmmukP/zB3vqs47rrpLvvtpbqjj5odTZ9uvTDH1rr/LZt/dUxc6Z1iZw+3VbygJDjqxFCi2CGKCCYIWMEgdS1q51TWrbMTw1//at0+eW2dfGFF6TGjf3UEXbxuAWye++VHnrITw0vvWTn3UaPTp/VO6CeCGYILbYyAkCIHBtSvHKlnyHFH30k9ekjtWkjLVpEKKuPrCxrnFJUJJ0wdjFl3npLuv12W/mcNi319wcAfBHBDABCZvBg+6G+MMXtb8rLpVtvtZWe1aulFi1Se/8oGjtW2rNHWrgwtffds8cCdvv2dq6sUaPU3h8A8GUEMwAImTPPtLNds2enbkhxEEgjRkivvSYtXy5dcEFq7ht1nTtL3/1uarcRlpVZE5myMmv4we5uAEgPBDNEWkFBgXJzc5WXl+e7FCChjg0pnj8/Nfd7+GEbODxnjtS7d2rumSliMWnjRunVV5N/ryNHpGHDpM2bbe5cu3bJvycAoHZo/oEooPkHMlK/ftLOndIbbyS3K2JJiZSfL/3859LPfpa8+2Sqykprnd+7d/Jn1D3wgDUaWbLEtqUCEUTzD4QWK2YAEFKxmK18rE/iRL9XXpGGDrVzbRMnJu8+maxhQ1sBXbhQ2r07efd57jkLZVOnEsoAIB0RzAAgpL7zHalTp+SdT/rHP+wsUl6enWdjVlny3H23dbgsKkrO9V9+WRo+XLrnHmnChOTcAwBQPwQzAAipBg2sq9/SpdKuXYm99mefWde+rCybl9akSWKvjy9q2dJWJZ98UqqoSOy1//Y3qX9/6YorrJMnARsA0hPBDABCbMgQ6Ywz7Af6RDl0SBowQPrgA2uL36pV4q6N6o0da//Ply5N3DU/+cQCduvW0uLF0mmnJe7aAIDEIpgBQIg1b25nwIqKpIMH63+9ILCza+vWWUDo1Kn+10TtfPOb0lVXJW5rakWFdNtt0scfW8Bu2TIx1wUAJAfBDABCbuxY6T//ScyQ4mnTpJkzLehdfXX9r4e6icWkDRuk11+v33WCQBo1yq61fLnUoUNCygMAJBHBDABCrmNH6frrbaWlPhNQVqyQxo+XfvITm3WF1LvpJiknp/6rZlOn2sy5p5+Wvv3txNQGAEgughkAREAsJv35z6c+pPj116U77rA26g8/nNjaUHuNGkljxkgLFtgq6KlYvFj66U+lSZOkQYMSWx8AIHkIZgAQATfeaNvVTmWlZdcuG1Z90UU266oB3xm8Gj7c3s6eXffnvvaadOedNhB80qTE1gUASC6+/QJABDRoYEOKFy2q25Di/fstlDVqJK1caR0e4VerVrbS9cQT0uHDtX/e++/bVshLLrEtjLTFB4BwIZgBQEQMG2ZDimfOrN3HV1ba9sUdO6RVq6Q2bZJbH2ovFpN27rRzf7URj0t9+1qwXr5cato0qeUBAJKAYIZIKygoUG5urvLy8nyXAiRdixbSXXfVfkjx+PHWRv13v7NW7Ugf3btb047p02v+2MOHpYEDLcitXm0zywAA4eOC+rTwAtJDjS/ieDyu7Oxs7d27V1lZWamoCfBi2zbp4oul4mJbDatOYaFtfZwxw94i/SxcaIFr82apa9eqPyYI7PM3a5a0Zo107bWprRFIQ2ziRWixYgYAEXLRRdI113x1E5A1a6Rx4+xBKEtf/ftLbdt+9edy+nQ7i1ZYSCgDgLAjmAFAxIwbJ5WWWvv8k23dKg0YIN1wg/TYY6mvDbXXuLENiS4ulj755Mt///zz0g9+IE2YII0Ykfr6AACJRTADgIjp21c6//wvr7Ts3i316SNdcIHNyWrY0Et5qIORI61Jy1NPffH9mzZZS/ybb5amTPFSGgAgwQhmABAxDRvakOKSEmnPHntfWZn9EF9RYR0Ymzf3WyNq5+yz7ZxZYaEFNEn6978tfHfuLM2bx9w5AIgKvpwDQATdc48FtFmzpCNHpCFDpC1bbPtbTo7v6lAXsZj03nsWqD//3ObOOWdz584803d1AIBEaeS7AABA4p111vEhxfG4tHixtGSJ1KOH78pQV3l5Us+e0uOPS888I23fLq1fL339674rAwAkEu3yEQW0yweq8OabUrdu9udHHrEmEQin4mJp8GDbtrhypZ0VBFAl2uUjtAhmiAKCGVCNwYOlc86RfvUr2/6GcKqosDEIgwdbp0YA1eIrHUKLYIYoIJgBAACJYIYQo/kHAAAAAHhGMEOkFRQUKDc3V3l5eb5LAQAAAKrFVkZEAVsZAQCAxFZGhBgrZgAAAADgGcEMAAAAADxjKyMygnMuS9JeSdlBEMR91wMAAACciGCGjOCcc5KaS9oX8KIHAABAmiGYAQAAAIBnnDEDAAAAAM8IZgAAAADgGcEMAAAAADwjmAEAAACAZwQzAAAAAPCMYAYAAAAAnhHMAAAAAMCz/wKZaAaAin5c1gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "Graphics object consisting of 3 graphics primitives"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot0 = list_plot([(i/n,l0[i]) for i in range(n+1)],\n",
    "                  plotjoined=True,color='red',legend_label='0',\n",
    "                  title='Normalized number of regions of each type between indices 0 and cn, for a random word taken uniformly, with with n='+str(n),\n",
    "                  axes_labels=['c',''])\n",
    "plot1 = list_plot([(i/n,l1[i]) for i in range(n+1)],\n",
    "                  plotjoined=True,color='blue',legend_label='1')\n",
    "plot2 = list_plot([(i/n,l2[i]) for i in range(n+1)],\n",
    "                  plotjoined=True,color='green',legend_label='2')\n",
    "(plot0+plot1+plot2).show()\n",
    "\n",
    "# In the limit, the green and red curves should look like the same brownian motion W_c,\n",
    "# while the blue one looks like -2*W_c."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "SageMath 9.2",
   "language": "sage",
   "name": "sagemath"
  },
  "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.9.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
