UNPKG

@sebastbake/music-tempo

Version:

Finding out tempo of the music

498 lines (492 loc) 30.3 kB
<!DOCTYPE HTML> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="lib/material/material.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> <script src="../dist/browser/music-tempo.min.js"></script> <script src="lib/TarsosDSP/FloatFFT.js"></script> <script src="lib/TarsosDSP/ConstantQ.js"></script> <script src="lib/chroma.js"></script> <script src="script.js"></script> <script src="lib/material/material.js"></script> <style> body { overflow: hidden; } #canvasContainer { position: relative; width: 100%; margin-bottom: 40px; } .tracker { position: absolute; left: 50%; width: 0; border: 1px solid #f44336; z-index: 2; height: 119px; } .spectrogram canvas, .waveform canvas { position: absolute; } .waveform canvas { margin-top: 10px; } .controls { } .page-content { width: 100%; max-width: 1100px; margin: 0 auto; } .spectrogram { overflow: hidden; margin: 10px 0 0 0; position: relative; } .caption { padding: 10px; margin: 0; } .waveform { height: 172px; position: relative; overflow: hidden; } .playback-bar { padding-top: 20px; } .bpm-text { padding: 5px; border: 1px solid rgba(0, 0, 0, 0.12); border-radius: 4px; vertical-align: middle; } .bpm-spinner { vertical-align: middle; margin-left: 10px; } .pulse { width: 40px; height: 40px; border-radius: 50%; background: #f44336; z-index: 3; left: -18px; display: inline-block; vertical-align: middle; margin-left: 10px; } @keyframes pulse-anim { from { box-shadow: rgba(244, 67, 54, 1) 0px 0px 0px 0px; } to { box-shadow: rgba(244, 67, 54, 0) 0px 0px 0px 14px; } } .pulse.anim { animation: pulse-anim; } .beat-lines-switch-container { text-align: right; padding-top: 16px; } .beat-lines-switch-container > .mdl-switch { width: 70%; text-align: left; } .spectrogram-heading { border-bottom: 1px solid rgba(0, 0, 0, 0.12); } #playbackTimeValue { font-size: 10px; color: #616161; width: 60px; display: block; margin: 2px auto; height: 18px; text-align: center; background-color: #2196F3; color: white; border-radius: 10px; } .mdl-layout__header { min-height: 0; } .mdl-layout__header-row { height: 30px; } </style> </head> <body> <div class="mdl-layout mdl-js-layout mdl-layout--fixed-header"> <header class="mdl-layout__header"> <div class="mdl-layout__header-row"> <span class="mdl-layout-title">Music Tempo Example</span> </div> </header> <main class="mdl-layout__content"> <div class="page-content"> <div id="spectrogramContainer" class="spectrogram mdl-shadow--2dp"> <div class="mdl-grid mdl-grid--no-spacing spectrogram-heading"> <div class="mdl-cell--8-col"> <h4 class="caption"> Spectrogram <div id="spectrogramSpinner" class="bpm-spinner mdl-spinner mdl-spinner--single-color mdl-js-spinner"></div> </h4> </div> <div class="mdl-cell--4-col beat-lines-switch-container"> <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="beatLinesSwitch"> <input type="checkbox" id="beatLinesSwitch" class="mdl-switch__input" checked> <span class="mdl-switch__label">Show beat lines</span> </label> </div> </div> <div id="spectrogramTracker" class="tracker"></div> </div> <div id="waveformContainer" class="waveform mdl-shadow--2dp"> <h4 class="caption">Wavefrom<div id="waveformSpinner" class="bpm-spinner mdl-spinner mdl-spinner--single-color mdl-js-spinner"></div></h4> <div id="waveformTracker" class="tracker"></div> </div> <span class="mdl-shadow--2dp" id="playbackTimeValue"></span> <div class="controls mdl-grid "> <div class="mdl-cell mdl-cell--1-col"> <button class="mdl-button mdl-js-button mdl-button--fab mdl-button--colored" id="btnTogglePlay" disabled=""> <i id="iconTogglePlay" class="material-icons">play_arrow</i> </button> </div> <div class="mdl-cell mdl-cell--11-col mdl-grid--no-spacing playback-bar"> <input id="playbackBar" class="mdl-slider mdl-js-slider" type="range" min="0" max="100" value="0" step="0.01" tabindex="0" disabled> </div> <div class="mdl-cell mdl-cell--8-col"> <button class="mdl-button mdl-js-button mdl-button--raised" onclick="document.getElementById('fileInput').click()">Select file</button> <input class="mdl-button" type="file" name="" id="fileInput" style="display: none"> <!-- <button class="mdl-button mdl-js-button mdl-button--raised" id="btnCalcTempo" disabled="">Определить темп</button> --> <div id="bpmSpinner" class="bpm-spinner mdl-spinner mdl-spinner--single-color mdl-js-spinner"></div> <span style="display: none;" id="bpmValue" class="bpm-text mdl-typography--display-1-color-contrast">123 BPM</span> <span style="display: none;" id="beatIndicator" class="pulse"></span> </div> <div class="mdl-cell mdl-cell--4-col"> Track volume <input class="mdl-slider mdl-js-slider" type="range" id="trackGainBar" min="0" max="1" value="0.1" step="0.01"> Tick volume <input class="mdl-slider mdl-js-slider" type="range" id="clickGainBar" min="0" max="1" value="0.5" step="0.01"> </div> <div class="mdl-cell mdl-cell--2-col"> <label for="sampleRateInput">File sample rate (Hz)</label> <input class="mdl-textfield__input" type="number" name="" id="sampleRateInput" value="44100" placeholder="44100" /> </div> </div> </div> </main> </div> <audio id="clickSound" src="data:audio/wav;base64,UklGRshDAABXQVZFZm10IBAAAAABAAIARKwAABCxAgAEABAAYmV4dFoCAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUkVBUEVSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAADIwMDktMDYtMjgwMS0yNy00MwAAAAAAAAAAAQAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAGp1bmtKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkYXRh8EAAAB/1H/Uh 8CHwIOwg7Nnp2emm6KboJekl6X7tfu1z9XP1jP2M/dMC0wKNBY0FCQkJCZoQmhA+HT4d3CzcLEA6 QDrVP9U/5jvmOxIwEjAOHg4ejAiMCGn0afTC5MLk3dnd2aDToNP50vnSv9e/117fXt/y5vLm/er9 6prpmukY5Rjl9t/234Hbgdu72bvZvd293d/o3+jC+ML4QQlBCYIYghg+Jj4mBjEGMWE2YTauNa41 VzFXMYYshiwfKB8oDyMPIzgcOBz7E/sTWAtYC3oDegM6/jr+BfwF/Gf7Z/uc+pz6n/ef96nwqfCI 5ojmJ90n3bjXuNeX1JfUYdFh0XTPdM8G0QbRMtYy1mreat7j6OPo/vT+9OwB7AH3DfcNGxYbFgUZ BRnqGOoYARgBGEoXSheVF5UXnBmcGfgc+BzoIOgg5yTnJLIosiiCK4IrtCu0K4MngyfjHeMdJxAn EBgBGAEE8wTzWuda5x3fHd+r2qvaatlq2cvZy9lM2kzaDtsO2/Tc9Nxe317fYOBg4ILfgt9d3l3e Ft8W3yzjLOMI6wjrR/ZH9hgEGATxEvEStiC2IKAqoCpWL1YvgzCDMBIwEjAzLjMuNio2Kk0kTSTG HcYd6hfqFyITIhN3D3cPxAzEDN0J3QkZBRkFg/2D/WDzYPMo6Cjo893z3SnWKdY80TzR/c79zk7P Ts9Z0lnSotei12jeaN5W5lbmFO8U7873zveI/4j/mAWYBfwJ/AlmDWYN2RDZEPYU9hSqGaoZVB5U HkoiSiJVJVUlRCdEJw0oDSiYJ5gnoiWiJV0hXSEfGh8auBC4EEMGQwaF+4X7a/Fr8TTpNOlL40vj SN9I38ncydzl2+Xb0tzS3CbfJt/S4dLh5ePl48TkxOTg5ODkd+V35QToBOha7VrtivWK9ab/pv9b ClsKPRQ9FJMckxw3IzcjzifOJ+4p7ilUKVQpFSYVJs8gzyC/Gr8aPhU+FSkRKRF6DnoOdwx3DCwK LAqpBqkGRQFFATL6Mvoy8jLySOpI6ifjJ+Ni3WLdVtlW2WfXZ9fN183XYtpi2kPfQ98Q5hDmsO2w 7e707vQb+xv7AAAAAO8D7wN3B3cH+Qr5CqUOpQ6dEp0SwxbDFpcalxqiHaId7x/vH6MhoyGJIoki AiICIkgfSB8IGggajRKNEtQJ1AntAO0Az/jP+DLyMvI67TrtrOms6STnJOdy5XLlnuSe5Mfkx+S4 5bjlx+bH5k3nTedN503njueO5wnpCelv7G/sEPIQ8pb5lvkwAjAC4wrjCsoSyhICGQIZMx0zHYcf hx81IDUgPx8/H6McoxzsGOwYCBUIFdQR1BGXD5cP/g3+DUgMSAy/Cb8JAgYCBrAAsADu+e75rPKs 8vPr8+t95n3mieKJ4irgKuBl32XfbeBt4F3jXePx5/Hnou2i7X7zfvOy+LL4s/yz/Ib/hv+ZAZkB pwOnAz8GPwakCaQJug26DQESARLqFeoVBxkHGWkbaRsLHQsdaR1pHfkb+Rt9GH0YQhNCE8sMywyl BaUFqf6p/sL4wvic9Jz0JPIk8pLwkvA57znvy+3L7WjsaOxD60PrSupK6mLpYumv6K/oneid6Kjp qOlJ7EnstPC08Kv2q/al/aX90wTTBFQLVAttEG0Q2RPZE8oVyhW1FrUWrhauFsgVyBVsFGwUEBMQ ExMSExKHEYcR7BDsEHsPew+2DLYMyQjJCDcENwQu/y7/wfnB+Xv0e/Tw7/DvQOxA7FLpUulB50Hn duZ25lrnWufM6czp2ezZ7Hrveu+W8Zbx2vPa88j2yPZP+k/6Mf4x/jICMgIZBhkGtAm0CcYMxgxM D0wPhRGFEcMTwxPuFe4VVRdVF0gXSBfDFcMVaBNoE9MQ0xA/Dj8OVAtUC7YHtgdlA2UDyP7I/in6 Kfq09bT1yvHK8dru2u4S7RLtBewF7CPrI+tI6kjqAOoA6s3qzep97H3shO6E7rvwu/CA84DzGfcZ 92z7bPskACQAIgUiBUIKQgoaDxoP0xLTEs0UzRQoFSgVyRTJFHwUfBRRFFEU5RPlE98S3xIZERkR pQ6lDqwLrAtGCEYIlASUBJcAlwBF/EX8n/ef99fy1/Jw7nDuLusu67Pps+nu6e7pM+sz67Pss+wY 7hjupe+l753xnfEH9Af0wfbB9r35vfnl/OX8+//7/8oCygJrBWsFYQhhCA0MDQwKEAoQVBNUEyUV JRV9FX0VzxTPFHoTehO7EbsRiQ+JD+YM5gzPCc8JUwZTBn0CfQKQ/pD+Ifsh+6f4p/jh9uH2JPUk 9fLy8vJg8GDwDu4O7p7snuxL7Evsw+zD7Lbttu1L70vvpvGm8aP0o/Qm+Cb4Ofw5/M4AzgBtBW0F UwlTCdkL2QsgDSANBQ4FDi8PLw+mEKYQ5BHkEZsSmxKrEqsS+BH4EWQQZBD1DfUN5wrnCoYHhgfd A90Dpv+m/+v66/oz9jP2TfJN8sDvwO+U7pTuWe5Z7o/uj+7V7tXuJ+8n77Pvs++58LnwaPJo8t70 3vTZ99n3AvsC+w/+D/4NAQ0BUwRTBAwIDAj9C/0LYA9gD5cRlxFlEmUSExITEiIRIhHjD+MPkw6T Dj4NPg2nC6cLkgmSCdgG2Aa+A74DxADEABj+GP6S+5L7z/jP+ML1wvWj8qPy0u/S79jt2O0N7Q3t nu2e7VbvVu+m8abxFfQV9HL2cva9+L34KPso+7f9t/1sAGwAGQMZA5gFmAXTB9MH2AnYCc4Lzgu1 DbUNcg9yD6EQoRDyEPIQORA5EJUOlQ5RDFEMuQm5CQgHCAdMBEwEeQF5AZL+kv65+7n7Gvka+ez2 7PZI9Uj1GfQZ9CbzJvNB8kHyb/Fv8f/w//BS8VLxg/KD8m30bfTK9sr2aflp+Sr8Kvz6/vr+zQHN AZ8EnwReB14HzwnPCaMLowukDKQM/wz/DPwM/AzaDNoMlwyXDAQMBAz8CvwKcAlwCXcHdwcwBTAF ugK6AkEAQQDi/eL9p/un+3f5d/lZ91n3dfV19R70HvSL84vzsvOy81b0VvQ09TT1KPYo9kD3QPeQ +JD4MPow+h78HvxM/kz+mgCaAMoCygKvBK8EOgY6BokHiQezCLMIpAmkCSwKLAojCiMKogmiCe0I 7QgZCBkIHgceB/AF8AWJBIkE+wL7AkwBTAGN/43/1P3U/VX8Vfwo+yj7Ofo5+l75XvmQ+JD48Pfw 95r3mvea95r35/fn92H4Yfgl+SX5QvpC+rT7tPtW/Vb9DP8M/74AvgBdAl0CuQO5A68ErwQ5BTkF fQV9BawFrAX3BfcFWgZaBsYGxgYYBxgHIQchB8AGwAbeBd4FiQSJBOcC5wIfAR8BUP9Q/5P9k/36 +/r7rvqu+tX51fl0+XT5d/l3+a/5r/nu+e75IPog+k/6T/qc+pz6KPso+wz8DPxP/U/9z/7P/lYA VgC0AbQB0wLTArcDtwNrBGsE9wT3BF8FXwWcBZwFrgWuBZEFkQVEBUQFuAS4BPsD+wMfAx8DMAIw Ai8BLwEZABkA8f7x/tv92/3z/PP8VfxV/P/7//vq++r7//v/+xz8HPwu/C78MPww/Ev8S/yW/Jb8 Gf0Z/cX9xf2J/on+af9p/1EAUQAxATEB+gH6AawCrAI7AzsDjgOOA5UDlQNNA00D8gLyAroCugKa ApoCiAKIAm8CbwJNAk0CCgIKApABkAHXANcA+//7/zX/Nf+O/o7+8v3y/WH9Yf35/Pn85fzl/BT9 FP1f/V/9rP2s/eT95P0G/gb+FP4U/iH+If5c/lz+5v7m/rH/sf98AHwACAEIAUUBRQFMAUwBVQFV AX4BfgHNAc0BIAIgAlkCWQJrAmsCWwJbAjICMgL8AfwBxgHGAX4BfgEUARQBcwBzAKz/rP/4/vj+ l/6X/p3+nf7v/u/+PP88/13/Xf9H/0f/+v76/of+h/4N/g3+uf25/aX9pf3d/d39Rf5F/r3+vf4y /zL/pv+m/wkACQBRAFEAegB6AIoAigCXAJcAsACwAOAA4AAmASYBdwF3AdgB2AEyAjICZgJmAmQC ZAIpAikCzwHPAWcBZwEEAQQBoACgAEQARAD5//n/s/+z/3L/cv8e/x7/vf69/k7+Tv7i/eL9b/1v /RL9Ev3c/Nz89fz1/Fb9Vv3y/fL9qf6p/lv/W/8CAAIAlQCVABQBFAGAAYABzwHPAQwCDAI+Aj4C XwJfAmkCaQJHAkcC/gH+AZkBmQEmASYBqQCpADIAMgDF/8X/dP90/zz/PP8T/xP/6P7o/r/+v/6b /pv+d/53/lf+V/5T/lP+df51/s/+z/5O/07/0f/R/zgAOAB6AHoAkwCTAIgAiABqAGoAVABUAE0A TQBRAFEAVABUAFQAVABWAFYAYwBjAHUAdQBxAHEAXwBfADQANAAFAAUAyv/K/5j/mP+E/4T/nf+d /+P/4/8tAC0AXwBfAGoAagBRAFEAIgAiAOX/5f+4/7j/qv+q/9H/0f8QABAAWgBaAIUAhQCXAJcA jgCOAF8AXwAQABAAv/+//4b/hv97/3v/kf+R/6//r//M/8z/6f/p/wcABwAZABkAEgASAO7/7v+1 /7X/dv92/0D/QP8X/xf/Bf8F/xf/F/9S/1L/o/+j//X/9f8pACkAPwA/AE8ATwBvAG8AoACgAOAA 4AAhASEBVQFVAWwBbAFQAVABFAEUAccAxwCDAIMATQBNABsAGwDn/+f/tf+1/4//j/9v/2//Tv9O /yD/IP/q/ur+uf65/pv+m/6U/pT+rf6t/uH+4f4p/yn/dP90/7z/vP/7//v/JgAmAD0APQBNAE0A VgBWAFgAWABfAF8AfgB+ALsAuwAKAQoBVQFVAXsBewF5AXkBVwFXARoBGgHLAMsAeAB4AC0ALQAL AAsA+//7//n/+f/j/+P/vP+8/3j/eP8g/yD/u/67/lr+Wv4L/gv+4P3g/dv92/0E/gT+Xv5e/tr+ 2v5r/2v//v/+/3gAeADAAMAAxADEAI4AjgBdAF0AWABYAI4AjgDiAOIANQE1AXcBdwGpAakBygHK Ad8B3wHdAd0ByAHIAZkBmQE6AToBuwC7ADYANgDK/8r/hv+G/2L/Yv8y/zL/8f7x/p3+nf5O/k7+ BP4E/sL9wv2T/ZP9jP2M/a79rv3t/e39PP48/pf+l/4F/wX/f/9//wAAAABhAGEAtwC3AAgBCAF3 AXcB7AHsAVsCWwKfAp8CtQK1AqMCowJvAm8CKQIpAtEB0QF5AXkBIwEjAdAA0ABoAGgA6f/p/13/ Xf/h/uH+fv5+/ir+Kv7H/cf9VP1U/eX85fyo/Kj8s/yz/AD9AP2I/Yj9Nv42/uz+7P6N/43/+//7 /0EAQQCRAJEA6wDrAEMBQwF3AXcBnQGdAdMB0wEwAjACrwKvAigDKANzA3MDeAN4AzQDNAOhAqEC zwHPAe8A7wAvAC8AmP+Y/w7/Dv+F/oX+//3//ZH9kf1P/U/9J/0n/f78/vzT/NP8uvy6/MH8wfza /Nr8Cf0J/Vb9Vv3X/df9jv6O/mb/Zv84ADgA8gDyAJ0BnQFJAkkC7ALsAnMDcwPHA8cD3QPdA7sD uwN1A3UDHwMfA9UC1QKTApMCRwJHAsgByAERAREBOAA4AGn/af+5/rn+Hf4d/nz9fP3F/MX8BfwF /GH7Yfv9+v36BvsG+3n7efs+/D78Kf0p/QL+Av60/rT+Pv8+/8H/wf9UAFQA7wDvAIkBiQEMAgwC gQKBAv4C/gKMA4wDIwQjBKgEqAT3BPcE7gTuBG4EbgR6A3oDRAJEAggBCAHu/+7/Cv8K/1r+Wv7O /c79T/1P/dr82vxw/HD8Gvwa/OT75PvG+8b7vfu9+837zfv6+/r7WfxZ/PP88/zU/dT9+v76/j0A PQB1AXUBXwJfAvIC8gJBA0EDaANoA34DfgN+A34DbwNvA00DTQMdAx0D8ALwAtMC0wLOAs4CvgK+ An0CfQLjAeMB+wD7AOX/5f/L/sv+uf25/br8uvzh++H7TPtM+w/7D/st+y37kvuS+yX8JfzO/M78 bf1t/fT99P1a/lr+sv6y/gX/Bf9t/23//v/+/8AAwACmAaYBjwKPAlwDXAP9A/0DZwRnBJ8EnwSZ BJkEVwRXBNsD2wMoAygDVgJWAnIBcgGnAKcAAAAAAIT/hP8M/wz/hf6F/uv96/1I/Uj9tvy2/EL8 Qvzq++r7v/u/+737vfvv++/7UvxS/Or86vyu/a79mf6Z/ov/i/9qAGoAHwEfAa8BrwEjAiMCgQKB As4CzgIEAwQDPQM9A3gDeAOgA6ADmQOZA18DXwP7AvsChgKGAgMCAwJpAWkBpQClAM7/zv/s/uz+ GP4Y/k/9T/2t/K38RfxF/BX8FfwR/BH8I/wj/FX8Vfyk/KT8JP0k/b79vv1g/mD+Af8B/6H/of9G AEYA7wDvAJQBlAE7AjsCzgLOAkEDQQOKA4oDnAOcA4wDjANcA1wDDQMNA6gCqAIwAjACqQGpAQoB CgFdAF0AqP+o//z+/P5z/nP+Ef4R/tL90v2l/aX9f/1//U/9T/0g/SD9AP0A/Qf9B/02/Tb9ev16 /cn9yf0q/ir+uf65/mL/Yv8dAB0A1ADUAH4BfgEQAhACfQJ9Aq8CrwKsAqwClgKWAnYCdgJZAlkC NQI1AgMCAwLIAcgBfgF+AR8BHwG1ALUAQQBBANr/2v94/3j/E/8T/6n+qf5D/kP+4v3i/Zz9nP1k /WT9S/1L/VH9Uf16/Xr9t/23/QT+BP5V/lX+uf65/iX/Jf+W/5b/CQAJAHwAfADpAOkATgFOAa8B rwEKAgoCXwJfAqYCpgLQAtACygLKAqECoQJdAl0CBwIHAqQBpAEzATMBsACwABkAGQCC/4L/8/7z /oX+hf44/jj+C/4L/uD94P2s/az9dv12/Vb9Vv1f/V/9jP2M/df91/0t/i3+lP6U/gr/Cv+E/4T/ +f/5/2oAagDZANkASgFKAa0BrQHzAfMBJQIlAlQCVAJ2AnYCigKKAogCiAJvAm8CRAJEAvgB+AGN AY0BFgEWAZcAlwAgACAAr/+v/zz/PP/G/sb+Y/5j/gj+CP63/bf9aP1o/Sv9K/0Q/RD9J/0n/W/9 b/3g/eD9Xv5e/tr+2v5H/0f/nf+d/+X/5f8kACQAdQB1ANcA1wBBAUEBrQGtARUCFQJvAm8CvAK8 AvAC8ALyAvICvgK+AlICUgLTAdMBVwFXAe0A7QCXAJcATQBNAAIAAgCs/6z/Of85/6b+pv4a/hr+ sP2w/Xb9dv1h/WH9aP1o/YH9gf2l/aX91P3U/Qv+C/5I/kj+l/6X/vj++P5m/2b/1//X/0YARgC3 ALcAMQExAbIBsgElAiUCfQJ9AqoCqgK4ArgCsQKxAqMCowKIAogCbQJtAkcCRwIMAgwCqwGrAQ0B DQE9AD0Abf9t/73+vf4//j/+4P3g/Zr9mv1x/XH9ZP1k/W/9b/2B/YH9mv2a/az9rP3H/cf94P3g /Qb+Bv5D/kP+u/67/l3/Xf8iACIA3QDdAHkBeQHfAd8BGQIZAj4CPgJWAlYChgKGAsoCygIdAx0D YQNhA4EDgQNjA2MDBAMEA28CbwK0AbQB4ADgAAUABQAl/yX/Vf5V/qX9pf0Z/Rn9r/yv/Gf8Z/xF /EX8PPw8/EX8RfxV/FX8cvxy/MP8w/xY/Vj9H/4f/vr++v7V/9X/pwCnAHcBdwE1AjUC1QLVAlED UQO1A7UD/wP/AywELAQzBDMEEQQRBMsDywNlA2UD4gLiAjcCNwJuAW4BpQClAPD/8P9Z/1n/u/67 /gj+CP5I/Uj9j/yP/O/77/t1+3X7KPso+x/7H/tz+3P7GPwY/Or86vzL/cv9qf6p/oL/gv9IAEgA 6QDpAGMBYwHGAcYBMAIwAqwCrAIyAzIDogOiAwYEBgRQBFAEdwR3BGAEYAT2A/YDRgNGA2kCaQKE AYQBmgCaALj/uP/o/uj+PP48/rz9vP1P/U/96vzq/IL8gvws/Cz86vvq+8L7wvup+6n7tvu2+wr8 Cvyo/Kj8iP2I/Xf+d/5g/2D/QQBBACYBJgH8AfwBtQK1AkEDQQOnA6cD8QPxAxgEGAQPBA8E3QPd A5wDnANaA1oDBwMHA5MCkwIDAgMCXgFeAbUAtQAOAA4AUP9Q/3z+fP6c/Zz92vza/C78Lvyp+6n7 U/tT+0H7Qft1+3X76vvq+3/8f/we/R79t/23/VX+Vf78/vz+o/+j/0sASwDrAOsAlAGUAUACQAL3 AvcCnAOcAyMEIwR+BH4EpASkBIQEhAQhBCEElQOVA/kC+QJdAl0CwQHBAR8BHwFoAGgAqP+o/+z+ 7P4z/jP+c/1z/bb8tvwM/Az8kvuS+0r7Svsv+y/7RvtG+5L7kvsV/BX8xfzF/I79jv1p/mn+VP9U /0sASwBFAUUBKQIpAvAC8AKQA5ADAQQBBEMEQwRFBEUEGAQYBMsDywN8A3wDLwMvA94C3gJ0AnQC 8QHxAVcBVwGnAKcA6f/p/xf/F/88/jz+Zv1m/aj8qPwT/BP8ufu5+577nvu2+7b7A/wD/GD8YPzK /Mr8Of05/bf9t/1M/kz+8f7x/qj/qP9qAGoANQE1AQECAQLDAsMCaANoA+gD6AM6BDoEVQRVBDoE OgTtA+0DdQN1A+4C7gJbAlsCxgHGASgBKAF8AHwAv/+////+//5O/k7+s/2z/Tn9Of3c/Nz8lPyU /Fn8Wfw5/Dn8N/w3/GL8Yvy4/Lj8Kf0p/az9rP0//j/+3/7f/p3/nf9sAGwAQQFBAQUCBQKsAqwC JAMkA28DbwOHA4cDhwOHA3gDeANYA1gDKwMrA9kC2QJtAm0C7wHvAVwBXAG3ALcADgAOAGT/ZP/C /sL+Kv4q/pf9l/0U/RT9uPy4/I38jfyU/JT8vPy8/Pn8+fxG/Ub9qv2q/SH+If6w/rD+UP9Q//D/ 8P+IAIgACgEKAXIBcgHGAcYBHAIcAnQCdALMAswCCwMLAyYDJgMWAxYD7ALsArECsQJfAl8C9QH1 AW4BbgHLAMsAIAAgAG//b//W/tb+Wv5a/v39/f28/bz9g/2D/VH9Uf0t/S39IP0g/Sn9Kf1L/Uv9 iv2K/en96f1n/mf+A/8D/6z/rP9jAGMAGAEYAbgBuAE5AjkCiAKIAqwCrAKvAq8CmAKYAnICcgJH AkcCGQIZAuwB7AG7AbsBeQF5ASMBIwG7ALsAPwA/AMP/w/9F/0X/yP7I/kz+TP7d/d39lf2V/XP9 c/1//X/9pf2l/d393f0m/ib+d/53/s3+zf4j/yP/dv92/8r/yv8bABsAZgBmALAAsAAIAQgBbgFu Ac0BzQEcAhwCRAJEAk0CTQI5AjkCBwIHAr0BvQFcAVwB7wDvAI4AjgA4ADgA8P/w/6//r/9v/2// N/83/wP/A//N/s3+kv6S/lr+Wv4t/i3+Gv4a/ib+Jv5O/k7+if6J/tj+2P4w/zD/lv+W//f/9/9R AFEAngCeANsA2wAGAQYBJgEmAToBOgFHAUcBUwFTAVwBXAFVAVUBOgE6AQ8BDwHkAOQAuwC7AJMA kwBqAGoANgA2APX/9f+j/6P/S/9L//b+9v6w/rD+if6J/oL+gv6Z/pn+u/67/ub+5v4V/xX/Qv9C /2//b/+Y/5j/vP+8/9z/3P/+//7/JAAkAFYAVgCjAKMA+AD4AEEBQQFwAXABcAFwAUcBRwEEAQQB twC3AGwAbAApACkA9f/1/9H/0f/F/8X/xf/F/87/zv/a/9r/3v/e/87/zv+h/6H/Yv9i/yD/IP/z /vP+6P7o/v/+//4p/yn/ZP9k/6b/pv/e/97/CQAJACAAIAApACkALQAtADgAOAA9AD0AOwA7ADYA NgBEAEQAXQBdAH4AfgCRAJEAjACMAHoAegBhAGEATwBPAD8APwAvAC8AIgAiABQAFAACAAIA6f/p /87/zv/B/8H/wf/B/8r/yv/O/87/v/+//6r/qv+Y/5j/mv+a/5//n/+h/6H/mv+a/5b/lv+Y/5j/ qv+q/8z/zP/+//7/PwA/AHwAfACeAJ4AowCjAIwAjAB6AHoAagBqAGEAYQBLAEsALQAtABQAFAAQ ABAAGwAbACsAKwApACkAGQAZAPv/+//R/9H/of+h/23/bf9Q/1D/VP9U/3v/e/+o/6j/zv/O/+D/ 4P/y//L/BwAHACAAIAAvAC8AOAA4ADYANgAyADIAKwArACkAKQA0ADQAUQBRAHwAfACaAJoApQCl AJMAkwB4AHgAXQBdAEQARAAkACQA8v/y/7r/uv+G/4b/W/9b/0X/Rf9C/0L/UP9Q/23/bf+C/4L/ hP+E/3b/dv9v/2//ff99/6P/o//T/9P//v/+/yYAJgBYAFgAkQCRANIA0gANAQ0BNQE1AUEBQQEv AS8B/wD/AMcAxwCTAJMAagBqAEYARgAkACQAAAAAAN7/3v+6/7r/mv+a/33/ff9d/13/Mv8y/wX/ Bf/R/tH+oP6g/oL+gv6H/of+sP6w/v/+//5d/13/s/+z//v/+/84ADgAcwBzALAAsADtAO0AGAEY AToBOgFHAUcBUAFQAVcBVwFpAWkBfgF+AX4BfgFcAVwBEQERAa4ArgBGAEYA5f/l/5T/lP9O/07/ Bf8F/7v+u/55/nn+SP5I/jb+Nv5B/kH+bP5s/qT+pP7h/uH+Ef8R/zf/N/9X/1f/hv+G/8j/yP8S ABIAWgBaAJoAmgDXANcAFgEWAV4BXgGpAakB7AHsARwCHAIgAiAC9QH1AZsBmwEzATMB0ADQAHwA fAA7ADsA9f/1/6r/qv9X/1f/Af8B/7v+u/5+/n7+Uf5R/ij+KP4G/gb+8P3w/en96f0G/gb+TP5M /r/+v/5O/07/3P/c/1QAVAC5ALkACgEKAUwBTAGLAYsBvwG/AeMB4wH4AfgB+gH6AeoB6gHKAcoB oAGgAWcBZwEjASMBzgDOAGYAZgDy//L/ff99/wz/DP+p/qn+Wv5a/iH+If77/fv95/3n/df91/3d /d39//3//UX+Rf6d/p3+//7//ln/Wf+v/6//BwAHAF8AXwDCAMIAKAEoAYsBiwHjAeMBJQIlAksC SwJdAl0CWwJbAkICQgIXAhcC0wHTAW4BbgHtAO0AYwBjANz/3P9g/2D/8/7z/pL+kv5B/kH+9v32 /bn9uf2M/Yz9eP14/YH9gf2c/Zz90v3S/R3+Hf6C/oL+//7//o3/jf8gACAAsgCyADMBMwGiAaIB +AH4ATICMgJUAlQCYgJiAl8CXwJNAk0CNQI1AgwCDALTAdMBhwGHASYBJgG3ALcAQQBBAMr/yv9L /0v/1v7W/mn+af4U/hT+1P3U/a79rv2X/Zf9kf2R/Zz9nP25/bn95P3k/Sb+Jv6A/oD+7P7s/m// b//w//D/cQBxAOsA6wBaAVoBuwG7AQUCBQIwAjACQgJCAkICQgI7AjsCNwI3AjUCNQIsAiwCEAIQ AtoB2gGEAYQB/wD/AGMAYwDD/8P/LP8s/6v+q/4z/jP+0P3Q/YP9g/1R/VH9SP1I/WT9ZP2V/ZX9 0P3Q/Qb+Bv42/jb+af5p/rn+uf4u/y7/yv/K/3MAcwAWARYBoAGgAQcCBwJWAlYCkwKTAsUCxQLl AuUC5QLlAsMCwwJ9An0CJQIlAsYBxgFsAWwBDQENAaAAoAAdAB0Ai/+L//H+8f5n/mf+8v3y/Zf9 l/1W/Vb9K/0r/Qv9C/3+/P78Bf0F/Tb9Nv2V/ZX9Hf4d/rL+sv5L/0v/5f/l/3wAfAAWARYBqQGp AS4CLgKfAp8C8ALwAhYDFgMUAxQD/gL+At4C3gK4ArgCfwJ/AiUCJQKpAakBCgEKAV8AXwC1/7X/ F/8X/5D+kP4f/h/+vv2+/W39bf0k/ST9/Pz8/PX89fwS/RL9VP1U/aP9o/35/fn9XP5c/tT+1P5b /1v/7v/u/34AfgAPAQ8BjQGNAfwB/AFQAlACmAKYAtAC0AL7AvsCEgMSA/kC+QK4ArgCUAJQAtEB 0QFMAUwBwgDCAEEAQQDI/8j/UP9Q/93+3f5p/mn+Bv4G/rz9vP2O/Y79dv12/Wj9aP1o/Wj9ev16 /a79rv0C/gL+cP5w/u/+7/5m/2b/0f/R/yQAJAB1AHUAxADEACoBKgGgAaABEAIQAm0CbQKoAqgC vAK8ArUCtQKaApoCYgJiAg4CDgKmAaYBMQExAbIAsgAyADIAuv+6/1D/UP/x/vH+nf6d/kj+SP72 /fb9pf2l/W/9b/1U/VT9Yf1h/Yz9jP3U/dT9L/4v/pn+mf4R/xH/i/+L/wsACwCFAIUA7QDtAEUB RQGHAYcBwQHBAfUB9QEpAikCUgJSAl0CXQJNAk0CJQIlAt8B3wGCAYIBGAEYAacApwA4ADgAyP/I /1v/W//s/uz+jv6O/kX+Rf4f/h/+C/4L/g3+Df4Y/hj+Mf4x/lr+Wv6J/on+wv7C/gj/CP9b/1v/ s/+z/wkACQBUAFQAmgCaAOIA4gAvAS8BcAFwAaABoAG2AbYBqwGrAZIBkgFpAWkBNQE1AfsA+wDH AMcAmgCaAGwAbAA7ADsAAgACAMj/yP+P/4//Wf9Z/x7/Hv/o/uj+vf69/qn+qf6m/qb+tv62/tj+ 2P4K/wr/Rf9F/3//f/+s/6z/yP/I/9f/1//n/+f/+//7/xIAEgAyADIAWABYAIgAiAC+AL4A6wDr AAgBCAEWARYBEQERAQEBAQHdAN0AsgCyAIoAigBsAGwAWABYAEQARAAmACYAAAAAANf/1/+z/7P/ kf+R/2n/af85/zn/Dv8O/+/+7/7d/t3+3/7f/u/+7/4T/xP/Qv9C/3L/cv+h/6H/xf/F//D/8P8Z ABkARgBGAGMAYwB8AHwAigCKAJwAnACyALIAxwDHAOIA4gDyAPIA+AD4AO0A7QDQANAApwCnAHwA fABPAE8AJgAmAPf/9//I/8j/kf+R/2L/Yv9C/0L/MP8w/yX/Jf8g/yD/IP8g/x7/Hv8j/yP/Lv8u /0D/QP9b/1v/e/97/5//n//F/8X/7P/s/yIAIgBdAF0AngCeANAA0AD2APYA/QD9AO8A7wDSANIA sgCyAI4AjgBzAHMAXwBfAE0ATQA9AD0AMgAyACkAKQAgACAADgAOAPL/8v/K/8r/n/+f/3j/eP9d /13/Uv9S/1v/W/9t/23/gv+C/43/jf+a/5r/qP+o/7X/tf+//7//v/+//7//v//I/8j/3P/c//7/ /v8tAC0AXQBdAIgAiACwALAAxwDHAMQAxACwALAAkQCRAGwAbABPAE8ALwAvAA4ADgD1//X/4//j /9f/1//O/87/xf/F/7//v/+1/7X/rP+s/5//n/+W/5b/lv+W/5//n/+x/7H/vP+8/7//v/+//7// yv/K/97/3v/5//n/CwALABsAGwAdAB0AHQAdABQAFAAJAAkAAgACAAcABwALAAsAFAAUACIAIgA0 ADQATwBPAF8AXwBjAGMAWABYAD0APQAgACAAAAAAAN7/3v+8/7z/pv+m/53/nf+f/5//of+h/53/ nf+h/6H/rP+s/7//v//R/9H/4P/g/+z/7P/3//f/BQAFAA4ADgAgACAANAA0AEsASwBaAFoAVgBW AD0APQAgACAABwAHAPn/+f/p/+n/3v/e/9H/0f/I/8j/v/+//8H/wf/O/87/5//n/wkACQAmACYA OAA4AC8ALwAZABkABQAFAPD/8P/l/+X/2v/a/9H/0f/R/9H/0//T/+X/5f/+//7/GwAbADQANAA9 AD0ALwAvAAcABwDc/9z/uP+4/5//n/+Y/5j/nf+d/6b/pv+8/7z/3P/c/wIAAgAmACYAOwA7AEEA QQAyADIAFAAUAPX/9f/j/+P/5//n/wIAAgAkACQASABIAF8AXwBjAGMAVgBWADgAOAAUABQA9f/1 /9X/1f+8/7z/r/+v/6r/qv+1/7X/zP/M/+P/4//s/+z/4P/g/8X/xf+j/6P/jf+N/4v/i/+Y/5j/ uv+6/+D/4P8JAAkAKQApAEEAQQBRAFEAaABoAHoAegCBAIEAgQCBAHEAcQBhAGEAVABUAEsASwA7 ADsANAA0AB0AHQAJAAkA5//n/8j/yP+s/6z/pv+m/6//r/+//7//yv/K/8z/zP/I/8j/v/+//7z/ vP+6/7r/v/+//8j/yP/T/9P/2v/a/+f/5//y//L/AgACABIAEgAkACQAMgAyAD8APwBBAEEATwBP AFoAWgBqAGoAcQBxAG8AbwBoAGgAVABUAD0APQAkACQAFAAUAAcABwAAAAAA8P/w/9f/1/+8/7z/ pv+m/5j/mP+P/4//hv+G/33/ff92/3b/dP90/3//f/+W/5b/uP+4/+P/4/8JAAkAJgAmADIAMgA7 ADsAQQBBAEsASwBYAFgAXQBdAGYAZgBoAGgAaABoAGYAZgBhAGEAWgBaAFEAUQA/AD8AKwArAAcA BwDj/+P/xf/F/7P/s/+s/6z/qv+q/6P/o/+a/5r/mv+a/5//n/+j/6P/qP+o/7H/sf+4/7j/wf/B /9H/0f/j/+P/AAAAACIAIgBBAEEAWABYAF8AXwBhAGEAXQBdAFoAWgBUAFQAUQBRAE0ATQBBAEEA NgA2ACIAIgASABIABQAFAAIAAgAHAAcAEAAQAA4ADgD+//7/5//n/9H/0f+8/7z/qv+q/53/nf+P /4//iP+I/5T/lP+v/6//zv/O//f/9/8bABsANAA0AEEAQQBGAEYARgBGAE0ATQBYAFgAaABoAHMA cwB8AHwAegB6AG8AbwBYAFgAOAA4AAsACwDe/97/sf+x/4b/hv9m/2b/VP9U/1n/Wf9t/23/gv+C /5r/mv+v/6//wf/B/9H/0f/c/9z/7v/u/wUABQAdAB0ANgA2AE8ATwBjAGMAeAB4AIMAgwCMAIwA jgCOAIEAgQBxAHEAVgBWAD8APwAtAC0AIAAgABIAEgAAAAAA7P/s/9X/1f+//7//qP+o/5j/mP+R /5H/i/+L/4L/gv97/3v/dv92/3v/e/+P/4//pv+m/8X/xf/l/+X/CQAJAC0ALQBNAE0AagBqAIMA gwCcAJwAowCjAJwAnACMAIwAdQB1AGMAYwBYAFgATwBPAEYARgA4ADgAJgAmABAAEADy//L/1f/V /7X/tf+a/5r/gv+C/3L/cv9p/2n/cv9y/4T/hP+h/6H/uv+6/8z/zP/T/9P/0f/R/9X/1f/e/97/ 9//3/xAAEAAvAC8ATQBNAGoAagB1AHUAegB6AHUAdQBvAG8AZgBmAFgAWAA/AD8AJgAmABIAEgAJ AAkACQAJAAkACQAJAAkAAAAAAOz/7P/X/9f/yv/K/8j/yP/R/9H/2v/a/+P/4//j/+P/5f/l/+f/ 5//y//L/+//7/wUABQAFAAUAAgACAPv/+//+//7/AgACAAsACwAXABcAIgAiAC0ALQAvAC8ALwAv AC0ALQAvAC8ANgA2AD0APQA/AD8AOwA7ADIAMgAkACQAFAAUAAcABwACAAIAEAAQACAAIAAvAC8A NgA2ADgAOAA0ADQAMgAyACQAJAASABIA9//3/+P/4//R/9H/xf/F/8P/w//I/8j/0//T/+P/4//s /+z/6f/p/+X/5f/j/+P/5//n//f/9/8FAAUAGQAZAC8ALwBGAEYAXQBdAGwAbAB6AHoAgwCDAIEA gQB8AHwAYwBjAEQARAAkACQADgAOAAIAAgAAAAAAAAAAAAAAAAD+//7/8v/y/97/3v/F/8X/s/+z /6//r/+z/7P/uv+6/8X/xf/R/9H/5f/l//f/9/8CAAIABQAFAAIAAgAAAAAABQAFABIAEgAmACYA QQBBAF0AXQBzAHMAegB6AHoAegBxAHEAYwBjAFgAWABGAEYALwAvABsAGwALAAsAAgACAP7//v/5 //n/7P/s/9P/0/+4/7j/n/+f/5j/mP+a/5r/rP+s/8H/wf/V/9X/4P/g/97/3v/c/9z/3v/e/+n/ 6f/7//v/DgAOACAAIAAyADIARgBGAFQAVABjAGMAbwBvAHUAdQB4AHgAbABsAFgAWABGAEYAPQA9 ADYANgAyADIAIgAiAAcABwDp/+n/yv/K/7H/sf+h/6H/n/+f/6P/o/+s/6z/tf+1/7//v//I/8j/ 0f/R/9X/1f/c/9z/4//j/+n/6f/1//X/CwALACYAJgBEAEQAXQBdAGwAbABzAHMAagBqAF8AXwBG AEYALwAvAB0AHQAUABQACQAJAAAAAAD3//f/8v/y//D/8P/u/+7/6f/p/+D/4P/T/9P/yv/K/8P/ w//B/8H/xf/F/87/zv/X/9f/4P/g/+D/4P/j/+P/3v/e/9f/1//T/9P/zv/O/9H/0f/X/9f/5f/l //f/9/8LAAsAJAAkADsAOwBNAE0AWABYAF0AXQBaAFoAVgBWAFEAUQBPAE8ATwBPAEsASwA7ADsA KQApABsAGwAOAA4ABwAHAP7//v/y//L/5f/l/87/zv+6/7r/of+h/4//j/99/33/dP90/2n/af9r /2v/dP90/43/jf+x/7H/0//T//L/8v8OAA4AIgAiADIAMgBEAEQAVgBWAGwAbACFAIUAngCeAKwA rAC1ALUAtQC1AKwArACcAJwAgQCBAGMAYwA4ADgAFwAXAPX/9f/a/9r/wf/B/6j/qP+U/5T/e/97 /2T/ZP9J/0n/N/83/yz/LP8u/y7/Pv8+/1f/V/9v/2//lv+W/8H/wf/s/+z/FwAXADsAOwBYAFgA cQBxAIMAgwCRAJEAlwCXAKMAowCwALAAvgC+AMIAwgDCAMIAuQC5AKcApwCFAIUAXwBfACkAKQD7 //v/zP/M/6P/o/94/3j/Wf9Z/0L/Qv81/zX/Nf81/zn/Of9C/0L/Sf9J/1T/VP9k/2T/dv92/5H/ kf+z/7P/3v/e/w4ADgA/AD8AbwBvAJUAlQC7ALsA1ADUAOQA5ADiAOIA1wDXAMIAwgCpAKkAigCK AGwAbABUAFQAPQA9ACsAKwAOAA4A7v/u/8X/xf+m/6b/jf+N/3v/e/9t/23/af9p/2b/Zv9p/2n/ a/9r/3T/dP99/33/lP+U/6j/qP+6/7r/zv/O/+D/4P/3//f/DgAOACYAJgA9AD0AVgBWAGwAbACB AIEAkQCRAJoAmgCgAKAApQClAKMAowCXAJcAhQCFAGoAagBRAFEALQAtAAsACwDs/+z/yP/I/6r/ qv+U/5T/ff99/2//b/9r/2v/a/9r/3L/cv9//3//iP+I/43/jf+R/5H/mv+a/6b/pv+//7//4P/g /wIAAgAiACIAPQA9AFEAUQBaAFoAYwBjAGwAbAB1AHUAeAB4AHUAdQBvAG8AcwBzAHEAcQBxAHEA agBqAF0AXQBEAEQAIgAiAPL/8v/M/8z/rP+s/5j/mP+N/43/iP+I/4j/iP+I/4j/hv+G/4v/i/+N /43/lv+W/6H/of+q/6r/tf+1/8P/w//c/9z/9//3/xcAFwA0ADQATQBNAF0AXQBjAGMAaABoAHEA cQBxAHEAbwBvAGYAZgBaAFoATQBNAEQARAA7ADsAMgAyACYAJgAUABQA/v/+/+P/4//F/8X/sf+x /5//n/+U/5T/i/+L/4j/iP+C/4L/gv+C/4b/hv+U/5T/qv+q/8P/w//T/9P/4P/g/+7/7v8AAAAA FAAUACYAJgA2ADYAQQBBAE0ATQBWAFYAWgBaAGMAYwBqAGoAaABoAF8AXwBPAE8APQA9ACkAKQAU ABQA/v/+/+z/7P/a/9r/zv/O/8j/yP/B/8H/uP+4/6z/rP+h/6H/mv+a/5r/mv+h/6H/rP+s/7// v//T/9P/7P/s/wAAAAALAAsADgAOAAsACwAJAAkACwALABIAEgAgACAAOwA7AE8ATwBhAGEAYwBj AGEAYQBWAFYASwBLADgAOAAgACAACQAJAPn/+f/u/+7/5f/l/9z/3P/T/9P/zv/O/8j/yP/B/8H/ vP+8/7z/vP/B/8H/zv/O/97/3v/p/+n/+f/5/wcABwAUABQAIAAgACYAJgArACsALQAtADIAMgA0 ADQANAA0ADQANAAvAC8AJgAmABsAGwAOAA4AAgACAPf/9//u/+7/7P/s/+z/7P/s/+z/5//n/+X/ 5f/c/9z/0f/R/8P/w/+4/7j/tf+1/7z/vP/I/8j/2v/a/+7/7v8HAAcAIAAgAC8ALwA4ADgAPQA9 ADgAOAAyADIAKQApACIAIgAiACIAJAAkACkAKQAmACYAJAAkAB0AHQASABIAAAAAAOn/6f/R/9H/ uv+6/6z/rP+j/6P/qP+o/7j/uP/O/87/5f/l//n/+f8CAAIABwAHAAAAAADy//L/4//j/+D/4P/l /+X/9f/1/wkACQAiACIANgA2AEsASwBPAE8AVABUAEsASwA9AD0AKwArABkAGQALAAsACQAJAAkA CQAOAA4AEAAQABAAEAAQABAACQAJAPf/9//j/+P/0f/R/7z/vP+v/6//qP+o/6r/qv+x/7H/vP+8 /8H/wf/K/8r/1//X/+X/5f/u/+7/9f/1//n/+f8CAAIABwAHAA4ADgAbABsALwAvAEQARABRAFEA XwBfAGoAagBsAGwAbABsAF8AXwBLAEsANAA0ABcAFwD5//n/4//j/9P/0//M/8z/wf/B/7r/uv+z /7P/rP+s/6H/of+Y/5j/kf+R/5b/lv+d/53/qv+q/7z/vP/a/9r/9//3/xcAFwArACsARgBGAFgA WABoAGgAbABsAGoAagBoAGgAYwBjAGEAYQBaAFoATwBPAEEAQQAvAC8AHQAdAAcABwD3//f/4//j /87/zv+1/7X/n/+f/43/jf+E/4T/gv+C/4T/hP+P/4//o/+j/7z/vP/V/9X/8v/y/wkACQAbABsA KwArADQANAA9AD0ARgBGAEgASABLAEsATQBNAFYAVgBjAGMAaABoAGoAagBmAGYAVgBWADsAOwAd AB0AAgACAOn/6f/T/9P/uv+6/6j/qP+a/5r/mP+Y/5r/mv+f/5//pv+m/6r/qv+q/6r/pv+m/6j/ qP+x/7H/yP/I/+f/5/8JAAkAJgAmADsAOwBLAEsAWgBaAGgAaABxAHEAcQBxAGwAbABhAGEAVgBW AEQARAAvAC8AIAAgABQAFAALAAsAAAAAAO7/7v/c/9z/zP/M/8H/wf+6/7r/tf+1/7P/s/+x/7H/ rP+s/6r/qv+v/6//uv+6/87/zv/j/+P/8v/y//v/+/8FAAUADgAOABkAGQAmACYAMgAyADYANgA9 AD0ARABEAEgASABPAE8AVgBWAFgAWABaAFoAVABUAEgASAA2ADYAKwArAB0AHQAZABkAEAAQAP7/ /v/y//L/4//j/9P/0//F/8X/v/+//7r/uv+1/7X/tf+1/7H/sf+v/6//s/+z/7//v//O/87/5f/l //7//v8QABAAJAAkADIAMgBBAEEATwBPAFoAWgBjAGMAZgBmAGgAaABjAGMAYwBjAGMAYwBmAGYA YwBjAFEAUQA7ADsAJAAkAA4ADgD5//n/5f/l/9H/0f+//7//r/+v/6H/of+W/5b/j/+P/4//j/+P /4//j/+P/5b/lv+j/6P/sf+x/8j/yP/e/97/+f/5/xIAEgAmACYAPQA9AE8ATwBjAGMAegB6AIwA jACaAJoAoACgAKMAowCcAJwAjgCOAHgAeABfAF8AQQBBAB0AHQD5//n/4P/g/8X/xf+1/7X/o/+j /5b/lv+I/4j/gv+C/3b/dv9y/3L/b/9v/3T/dP99/33/j/+P/6j/qP/B/8H/4//j/wUABQAtAC0A TwBPAHEAcQB+AH4AjgCOAJEAkQCaAJoAoACgAKAAoACcAJwAjgCOAHwAfABjAGMARABEACYAJgAQ ABAA9//3/97/3v/B/8H/qP+o/5H/kf+C/4L/eP94/3L/cv9v/2//bf9t/23/bf9v/2//f/9//5H/ kf+x/7H/zv/O//L/8v8XABcANAA0AE8ATwBmAGYAeAB4AIoAigCKAIoAiACIAIUAhQCDAIMAgwCD AH4AfgB4AHgAbwBvAFoAWgA9AD0AIAAgAPv/+//e/97/w//D/6P/o/+N/43/dv92/2b/Zv9d/13/ Wf9Z/13/Xf9k/2T/dv92/4L/gv+U/5T/qv+q/8X/xf/l/+X/DgAOAC8ALwBUAFQAbwBvAIUAhQCX AJcAowCjAK4ArgCwALAAsgCyAKwArACeAJ4AigCKAGwAbABNAE0ALQAtAA4ADgDn/+f/xf/F/6H/ of+I/4j/b/9v/2L/Yv9X/1f/S/9L/0v/S/9S/1L/YP9g/3T/dP+R/5H/tf+1/9f/1//7//v/GwAb AD0APQBUAFQAagBqAHwAfACMAIwAmgCaAKMAowCuAK4AsACwAKwArACeAJ4AjACMAHMAcwBWAFYA NgA2ABIAEgDy//L/2v/a/8H/wf+s/6z/mv+a/4b/hv9y/3L/YP9g/1f/V/9Q/1D/UP9Q/1L/Uv9i /2L/dv92/5T/lP+1/7X/3P/c/wUABQAtAC0AVABUAHMAcwCOAI4ApQClALkAuQDHAMcAzgDOAMcA xwC7ALsAqQCpAIoAigBsAGwARgBGACIAIgAAAAAA3v/e/7z/vP+d/53/f/9//2n/af9Z/1n/UP9Q /1D/UP9S/1L/W/9b/2n/af97/3v/kf+R/6z/rP/K/8r/6f/p/wkACQAiACIAQQBBAF0AXQB1AHUA kQCRAKcApwCwALAAuwC7AMAAwAC3ALcApQClAI4AjgBsAGwASwBLACsAKwALAAsA8P/w/9H/0f+x /7H/lP+U/3v/e/9m/2b/Wf9Z/1T/VP9Q/1D/V/9X/2T/ZP97/3v/mP+Y/7r/uv/X/9f/9//3/xkA GQA0ADQATwBPAGwAbACDAIMAlQCVAKMAowCnAKcApQClAJwAnACOAI4AfgB+AGgAaABNAE0ALwAv ABcAFwD1//X/zv/O/7H/sf+a/5r/iP+I/33/ff92/3b/cv9y/3T/dP94/3j/f/9//4j/iP+d/53/ sf+x/8r/yv/j/+P/AgACABsAGwA9AD0AVgBWAG8AbwB+AH4AjACMAIoAigCKAIoAgQCBAHoAegBx AHEAYwBjAFYAVgA9AD0AKwArABAAEADw//D/zv/O/7X/tf+d/53/hv+G/3b/dv9v/2//b/9v/3j/ eP+C/4L/jf+N/5//n/+x/7H/w//D/9r/2v/w//D/CwALACQAJAA/AD8AVgBWAGYAZgB6AHoAgwCD AIwAjACIAIgAhQCFAHgAeABmAGYATQBNADQANAAXABcA+f/5/+P/4//R/9H/wf/B/7P/s/+s/6z/ pv+m/5//n/+Y/5j/lv+W/4//j/+L/4v/j/+P/5r/mv+m/6b/vP+8/9f/1//3//f/CwALACAAIAAv AC8APwA/AEQARABEAEQARABEAEEAQQA9AD0APQA9AD0APQA7ADsAOAA4ADQANAAtAC0AFwAXAAAA AADn/+f/0//T/8P/w/+8/7z/s/+z/7H/sf+1/7X/uP+4/7j/uP+1/7X/tf+1/7H/sf+v/6//sf+x /7j/uP/F/8X/3P/c//X/9f8LAAsAHQAdACYAJgAtAC0AOAA4AEEAQQBGAEYASwBLAE8ATwBRAFEA TwBPAEgASAA9AD0ALwAvABkAGQACAAIA5//n/9H/0f+//7//s/+z/6//r/+v/6//qv+q/6j/qP+m /6b/qP+o/6//r/+1/7X/wf/B/8z/zP/j/+P/9f/1/wsACwAdAB0ANAA0AEgASABRAFEAWABYAFgA WABaAFoAVgBWAFEAUQBPAE8ASwBLAD0APQAyADIAIAAgABAAEAD+//7/8P/w/+X/5f/X/9f/yv/K /8H/wf/B/8H/w//D/8z/zP/T/9P/3P/c/+P/4//u/+7/6f/p/+7/7v/5//n/AgACAAkACQAOAA4A GQAZACQAJAAvAC8ANgA2AEEAQQBGAEYATwBPAEsASwBIAEgAPQA9ACsAKwAbABsAEgASAAUABQD5 //n/8P/w/+n/6f/j/+P/4P/g/97/3v/g/+D/4//j/+n/6f/s/+z/7P/s/+z/7P/u/+7/7P/s//D/ 8P/u/+7/8v/y//f/9//+//7/CQAJABAAEAAbABsAGQAZABkAGQAbABsAFwAXABkAGQAbABsAJgAm AC0ALQAtAC0AKQApACsAKwAmACYAIAAgABIAEgAJAAkAAAAAAP7//v/+//7/AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" /> </body> </html>