birdcage/docs/K60-refman-vectors/K60-reference-manual_page_403.svg
Ryan Malloy 5252d1d73c Add hardware reference docs (A3981, K60, RYS352A)
Allegro A3981 stepper motor driver: datasheet, KiCad symbols/footprint,
3D model (TSSOP-28). Two per G2 board, SPI-controlled, AUTO microstep.

NXP MK60DN512VLQ10 (Kinetis K60): datasheet and 1300-page reference
manual. Cortex-M4 96MHz MCU running the G2 firmware.

Reyax RYS352A GPS module: datasheet and PAIR command guide.
GPS receiver on the G2 board (used for auto-location/satellite lookup).

All extracted as markdown + page images + vector SVGs for LLM context.
Binary assets (PDFs, PNGs, SVGs, STEP, WRL) stored via git-lfs.
2026-02-14 18:36:42 -07:00

120 lines
20 KiB (Stored with Git LFS)
XML

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" width="612" height="777.60006" viewBox="0 0 612 777.60006">
<defs>
<clipPath id="clip_1">
<path transform="matrix(1,0,0,1,54,19)" d="M0 0H504V8.50394H0Z" clip-rule="evenodd"/>
</clipPath>
<clipPath id="clip_2">
<path transform="matrix(1,0,0,1,54,742.88668)" d="M0 0V-1.61732H166.42002V0 1.61732H0" clip-rule="evenodd"/>
</clipPath>
<clipPath id="clip_3">
<path transform="matrix(1,0,0,1,54,742.88668)" d="M166.22 0V-1.61732H337.78V0 1.61732H166.22" clip-rule="evenodd"/>
</clipPath>
<clipPath id="clip_4">
<path transform="matrix(1,0,0,1,54,742.88668)" d="M337.58 0V-1.61732H504V0 1.61732H337.58" clip-rule="evenodd"/>
</clipPath>
</defs>
<text xml:space="preserve" transform="matrix(1 0 0 1 54 72)" font-size="20" font-family="HelveticaLTStd" font-weight="bold"><tspan y="88.19531" x="0 14.4400019 26.660002 37.780004 50.000005 56.660005 67.78001 75.560009 81.12 92.240009">Chapter 19</tspan><tspan y="110.19531" x="0 16.660002 27.780003 45.560007 57.780008 65.560009 76.68001 82.240009 95.58001 103.36001 115.58001 122.240009 133.36 144.48 151.14 156.7 168.92 181.14 186.7 201.14 213.36 218.92 225.58 231.14 237.8 254.46 267.80003 282.24003">Memory Protection Unit (MPU)</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 54 221.8)" font-size="17" font-family="HelveticaLTStd" font-weight="bold"><tspan y="12.91602" x=".00199 9.453991 18.90599 23.63199">19.1</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 101.25537 221.8)" font-size="17" font-family="HelveticaLTStd" font-weight="bold"><tspan y="12.91602" x=".00199 4.72799 15.11499 20.77599 27.38899 37.77599 48.16299 58.54999 68.00199 73.662998 78.38899 88.77599">Introduction</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 54 72)" font-size="14" font-family="HelveticaLTStd" font-weight="bold"><tspan y="186.83672" x="232.555 242.663 253.555 262.10899">NOTE</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 54 72)" font-size="14" font-family="TimesLTStd"><tspan y="211.45" x="72.00296 79.786968 86.786968 91.44897 94.94897 98.840969 105.840969 112.05697 115.55697 121.77297 128.77298 132.66498 139.66498 144.32698 149.77298 156.77298 162.98899 169.20499 173.09699 177.75899 181.65099 187.86699 191.36699 195.25899 206.15099 213.15099 217.04299 223.25899 234.15099 240.36699 247.36699 251.25899 257.47499 261.36698 265.25898 272.25898 279.25898 282.75898 289.75898 295.97499 299.86698 306.08299 309.97499 313.86698 319.313 322.813 329.813 334.47499 337.97499 341.86698 348.86698 352.75898 358.205 361.705 372.597 379.597 386.597 393.597 397.48899 403.705 406.22499">For the chip-specific implementation details of this module's</tspan><tspan y="227.45" x="72.00298 75.89498 82.89498 88.34098 92.23298 98.44898 105.44898 111.664989 117.88099 123.32699 126.82699 132.273 138.489 144.705 148.205 152.097 159.097 165.313 168.813 175.029 182.029 185.921 192.921 196.421 202.63701 209.63701 216.63701 221.29901 225.19101 232.19101 239.19101 243.85301 250.06902 253.96102 257.85304 264.85304 271.85304 275.35304 279.24504 286.24504 290.907 297.907 302.569 313.461 319.677 323.569 327.461 334.461 341.461">instances see the chip configuration information.</tspan><tspan y="251.84999" x="72.003009 79.78701 89.89501 99.23302 107.78702 112.44902 121.78702 131.89502 140.44902 145.11103 155.21903 165.32703 168.82703 177.38103 186.71903 196.05702 206.16503 215.50302 219.39502 222.89502 227.55702 234.55702 238.05702 248.94902 255.94902 262.94905 269.94905 273.84104 280.05705 283.55705 294.44905 300.66505 311.55705 318.55705 323.21903 330.21903 333.71903 344.61103 350.82704 357.82704 361.32704 365.21903 371.43504 378.43504 382.32704 388.54304 393.98905">PUBLICATION ERROR: In module memory map tables,</tspan><tspan y="267.85" x="72.00304 76.66504 82.88104 89.88104 93.77304 99.21904 103.11104 109.32704 113.989048 117.489048 122.15105 128.36705 133.81305 140.02906 143.92105 147.42105 154.42105 160.63706 164.52906 171.52906 177.74506 183.19106 186.69106 197.58306 203.79906 210.79906 214.29906 221.29906 227.51506 231.01506 234.90706 241.90706 248.12306 255.12306 259.78507 264.44706 270.66307 276.87907 280.77107 284.27107 287.77107 295.55506 301.77107 307.98707 311.48707 315.37907 322.37907 328.59507 332.09507 335.98707 342.98707 349.98707 353.87907 360.87907 364.77107 371.77107 378.77107 384.98707">register reset values may be incorrect. See the individual</tspan><tspan y="283.85" x="72.00304 76.66504 82.88104 89.88104 93.77304 99.21904 103.11104 109.32704 113.989048 117.489048 124.489048 128.38105 134.59705 141.59705 146.25905 152.47505 163.36705 168.81305 172.31305 176.97505 183.97505 188.63706 192.13706 198.35306 204.56906 210.78507 217.78507 222.44707 228.66307 232.55507 238.77108 242.27108 246.93308 253.14908 258.5951 264.8111 268.7031 272.2031 276.0951 283.0951 287.75709 294.75709 299.41908 310.31108 316.52708 320.41908 324.31108 331.31108 338.31108">register diagrams for accurate reset information.</tspan><tspan y="308.25" x=".0010375977 8.5550379 15.5550379 21.771039 25.271039 36.16304 42.37904 53.27104 60.27104 64.933048 71.933048 75.433048 82.433048 87.09505 94.09505 97.987049 104.20305 110.41905 114.31105 118.20305 125.20305 132.20305 135.70305 142.70305 149.70305 153.59505 157.48705 160.98705 165.64905 178.09505 185.87905 195.98705 200.64905 204.14905 211.14905 215.81105 222.81105 229.81105 233.70305 240.70305 246.91905 252.36505 255.86505 262.86506 269.08106 273.74305 280.74305 290.85105 297.06706 301.72904 307.94505 311.44505 317.66105 323.87705 330.09306 336.30906 341.75508 347.20109 350.70109 356.91709 363.91709 370.91709 374.80909 379.47108 386.47108 390.36308 393.86308 398.52507 405.52507 410.18705 413.68705 419.90306 423.79505 427.68705 431.18705 442.07905 448.29505 459.18705 466.18705 470.84904">The memory protection unit (MPU) provides hardware access control for all memory</tspan><tspan y="324.25" x=".0010375977 4.663038 10.879038 15.5410389 21.757039 26.419039 32.63504 39.63504 45.85104 52.06704 57.51304 61.01304 68.01304 74.22904 81.22904 87.445049 92.10705 98.32305 102.21505 108.43105 115.43105 118.93105 122.82305 129.82306 133.32306 137.21506 144.21506 150.43106 153.93106 160.93106 167.14707 174.14707 178.03907 184.25507 190.47107">references generated in the device.</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 54 442.59999)" font-size="17" font-family="HelveticaLTStd" font-weight="bold"><tspan y="12.91602" x=".00105 9.453051 18.905053 23.631052">19.2</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 101.25537 442.59999)" font-size="17" font-family="HelveticaLTStd" font-weight="bold"><tspan y="12.91602" x=".00105 13.227051 22.67905 32.13105 38.74405 48.19605 52.92205 62.37405">Overview</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 54 72)" font-size="14" font-family="TimesLTStd"><tspan y="407.84999" x=".00005 8.5540499 15.5540499 21.77005 25.27005 37.71605 45.50005 55.60805 59.10805 65.32405 72.32405 79.32405 85.540058 92.540058 97.20206 101.86406 108.08006 115.08006 118.97206 122.86406 129.86406 133.36406 144.25606 151.25606 158.25606 162.14806 166.04006 173.04006 177.70206 183.14806 186.64806 192.86406 196.75606 200.64806 204.14806 209.59406 216.59406 222.04006 225.93206 232.14806 243.04006 246.54006 253.54006 260.54005 265.98606 269.48606 273.37806 278.04005 284.25605 291.25605 296.70207 302.91807 309.13407 313.02607 316.91807 323.91807 330.91807 336.36408 339.86408 346.08009 353.08009 360.08009 363.58009 369.79609 376.79609 383.0121 386.90409 393.90409 400.1201 404.0121 410.2281 415.6741 419.1741 423.0661 430.0661 436.2821 440.1741">The MPU concurrently monitors all system bus transactions and evaluates their</tspan><tspan y="423.84999" x=".00008 6.2160809 13.216081 20.21608 24.87808 31.87808 38.878084 43.54008 47.432085 53.648084 57.540086 63.756086 70.75609 76.97209 82.41809 87.86409 91.36409 98.36409 103.81009 107.70209 114.70209 121.70209 125.20209 132.20209 136.86409 143.0801 147.7421 154.7421 159.4041 166.4041 173.4041 178.0661 184.2821 195.1741 206.0661 212.2821 219.2821 222.7821 227.4441 233.66011 240.66011 244.55211 251.55211 258.55213 262.05213 269.05213 275.26814 280.71415 286.93016 291.59214 295.48414 302.48414 306.37614 313.37614 318.03813 323.48414 326.98414 330.87614 337.87614 344.09214 347.98414 351.48414 358.48414 364.70014 369.36213 373.25413 380.25413 386.47013 389.97013 400.86213 407.07814 417.97013 424.97013 429.6321 436.6321 440.1321 445.57814 452.57814 458.79414 465.01014 471.22615 476.67216 480.17216 486.38816 493.38816">appropriateness using pre-programmed region descriptors that define memory spaces and</tspan><tspan y="439.84999" x=".00010999999 3.8921104 10.892111 17.108113 21.000113 25.662114 29.162114 35.378114 41.594114 47.810113 54.02611 59.47211 64.91811 68.41811 73.08012 76.972118 83.972118 90.972118 94.86411 100.31011 103.81011 107.31011 119.75611 125.972118 136.86412 143.86412 148.52613 155.52613 159.02613 163.68813 169.90413 174.56613 180.78214 185.44414 191.66014 198.66014 204.87615 211.09215 216.53815 220.03815 223.93015 230.93015 237.14615 241.03815 244.53815 251.53815 257.75416 264.75416 270.97016 274.47016 279.91618 286.91618 291.57817 296.24015 300.13215 306.34815 310.24015 316.45616 323.45616 327.34815 330.84815 337.06416 343.28016 349.49617 355.71217 361.15818 366.6042 370.1042 376.3202 383.3202 390.3202 394.2122 398.87419 405.87419 409.76618 413.26618 417.92817 421.82017 428.82017 435.82017 439.71217 445.15818 448.65818 454.87419 459.53617">their access rights. Memory references that have sufficient access control rights are</tspan><tspan y="455.84999" x=".00016 6.216161 10.108161 14.000161 21.00016 31.108162 37.32416 44.32416 47.82416 51.716165 58.716165 62.216165 68.43217 75.43217 86.324169 93.324169 97.21616 103.43217 107.324169 113.54017 117.04017 120.54017 130.64817 137.64817 141.54016 145.43216 151.64817 155.14817 159.81017 166.02617 170.68817 176.90418 181.56618 187.78218 194.78218 200.99819 207.21419 212.66019 216.16019 220.05219 227.05219 233.26819 237.16019 240.66019 246.87619 251.5382 257.75419 261.25419 268.25419 275.25419 279.14619 282.64619 293.53819 299.75419 306.75419 313.75419 319.97019 326.97019 330.47019 334.36219 341.36219 344.86219 351.0782 358.0782 365.0782 368.5782 373.24018 379.45619 386.45619 390.34819 397.34819 404.34819 407.84819 414.84819 421.06419 426.5102 432.7262 437.38819 441.28019 448.28019 452.17219 459.17219 463.83418 467.33418 474.33418">allowed to complete, while references that are not mapped to any region descriptor or</tspan><tspan y="471.84999" x=".00016 7.00016 13.216161 20.21616 26.43216 29.93216 33.82416 40.82416 46.27016 53.27016 57.93216 62.59416 66.48616 72.70216 76.59416 82.810169 89.810169 93.70216 97.20216 101.86417 105.756168 112.756168 119.756168 123.64816 129.09416 132.59416 138.81017 143.47217 149.68817 153.18817 157.08017 163.29618 167.95818 178.85018 182.74217 189.74217 195.95818 199.85018 206.06618 213.06618 216.56618 226.67418 230.56618 234.45818 241.45818 244.95818 251.17418 254.67418 261.6742 266.33619 273.33619 277.22819 283.44419 289.6602 293.5522 297.44419 304.44419 311.44419 314.94419 321.1602 325.82218 330.48417 337.48417 342.14616 345.64616 350.30815 356.52415 361.97016 368.97016 375.97016 382.97016 388.41618 394.63218">have insufficient rights are terminated with a protection error response.</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 54 585.39999)" font-size="16" font-family="HelveticaLTStd" font-weight="bold"><tspan y="12.65625" x=".00416 8.900161 17.796162 22.244162 31.140164 35.588167">19.2.1</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 112.65332 585.39999)" font-size="16" font-family="HelveticaLTStd" font-weight="bold"><tspan y="12.65625" x=".00416 11.556161 16.004162 25.780163 34.676164 43.572164 48.020166 57.796167 62.244169 71.14017 80.91617 87.14017 96.03617">Block diagram</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 54 72)" font-size="14" font-family="TimesLTStd"><tspan y="550.64999" x="-.00384 10.10416 13.60416 19.050162 22.942162 33.834165 40.834165 44.726167 48.618169 53.280168 57.17217 63.38817 70.38817 73.88817 80.88817 84.78017 91.78017 97.99617 104.99617 108.49617 115.49617 119.38817 125.60417 132.60417 137.26618 143.48218 154.37418 157.87418 164.87418 169.53618 173.03618 176.92818 183.92818 190.14418 193.64418 206.09018 213.87418 223.98218 227.48218 238.37418 245.37418 252.37418 259.37419 263.26618 269.48219 272.98219 276.87419 282.3202 285.8202 291.2662 298.2662 305.2662 315.3742 322.3742 325.8742 329.7662 336.7662 340.2662 344.1582 351.1582 357.3742 360.8742 365.5362 372.5362 376.4282 380.3202 387.3202 397.4282 401.3202 408.3202 415.3202 418.8202 423.48219 427.37419 434.37419 441.37419 446.03617 452.25218">A simplified block diagram of the MPU module is shown in the following figure.</tspan></text>
<g clip-path="url(#clip_1)">
<path transform="matrix(1,0,0,1,54,19)" d="M0 0H504L488 16H0V0Z" fill="#666666"/>
<path transform="matrix(1,0,0,1,54,19)" stroke-width=".8" stroke-linecap="butt" stroke-miterlimit="4" stroke-linejoin="miter" fill="none" stroke="#666666" d="M0 0H504L488 16H0V0Z"/>
</g>
<text xml:space="preserve" transform="matrix(1 0 0 1 54 729.26937)" font-size="10" font-family="HelveticaLTStd" font-weight="bold"><tspan y="8.59766" x="130.01001 137.23001 142.79001 148.35 151.13 157.8 163.91 170.02 173.35 179.46 185.02 193.91 196.69 199.47 205.03 207.81 215.03 220.59 223.92 229.48 233.37 238.93 245.04 250.59999 256.16 258.94 267.27 272.83 278.93998 285.04997 290.60997 293.38996 296.16996 298.94996 306.16996 311.72996 317.28996 320.06996 322.84996 328.40995 331.18995 336.74995 342.85993 348.9699 351.7499 357.3099 362.8699 368.4299">K60 Sub-Family Reference Manual, Rev. 2 Jun 2012</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 54 746.0867)" font-size="9" font-family="HelveticaLTStd"><tspan y="7.83789" x=".00401 5.5030105 8.5000109 13.504011 18.50801 23.00801 27.50801 32.512014 34.510015 39.514017 42.016016 48.019014 53.023015 60.520017 62.518018 67.01802 72.02202 77.02602 82.030017 87.03401 91.53401 94.03601 99.04001 102.03701 104.53901 107.04101 109.54301 114.547008 119.047008">Freescale Semiconductor, Inc.</tspan></text>
<text fill="#ff0000" xml:space="preserve" transform="matrix(1 0 0 1 220.32 746.0867)" font-size="10" font-family="HelveticaLTStd" font-weight="bold"><tspan y="8.59766" x="58.45 65.12 69.01 74.57 77.35 80.13 89.02 91.799999 97.909999 103.46999 107.35999">Preliminary</tspan></text>
<text xml:space="preserve" transform="matrix(1 0 0 1 391.68 746.0867)" font-size="9" font-family="HelveticaLTStd"><tspan y="7.83789" x="151.308 156.312 161.316">403</tspan></text>
<text fill="#ff0000" xml:space="preserve" transform="matrix(1 0 0 1 54 758.0867)" font-size="10" font-family="HelveticaLTStd" font-weight="bold"><tspan y="8.59766" x="180.87 188.65 194.20999 200.31999 205.87999 209.76999 215.32999 218.10999 220.88999 228.10999 234.21999 239.77999 242.55998 248.66999 254.22998 259.78999 265.34999 268.12998 270.90998 277.01997 280.34996 286.45994 290.34996 299.23997 304.79997 308.12995 310.90995 317.01994">General Business Information</tspan></text>
<g clip-path="url(#clip_2)">
<path transform="matrix(1,0,0,1,54,742.88668)" stroke-width=".4" stroke-linecap="round" stroke-miterlimit="10" stroke-linejoin="miter" fill="none" stroke="#000000" d="M0 0H166.42002"/>
</g>
<g clip-path="url(#clip_3)">
<path transform="matrix(1,0,0,1,54,742.88668)" stroke-width=".4" stroke-linecap="round" stroke-miterlimit="10" stroke-linejoin="miter" fill="none" stroke="#000000" d="M166.22 0H337.78"/>
</g>
<g clip-path="url(#clip_4)">
<path transform="matrix(1,0,0,1,54,742.88668)" stroke-width=".4" stroke-linecap="round" stroke-miterlimit="10" stroke-linejoin="miter" fill="none" stroke="#000000" d="M337.58 0H504"/>
</g>
<g transform="matrix(.26,0,0,.26,0,-.000019073487)">
<image id="image_5" width="288" height="154" xlink:href="data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAASAAAACaCAIAAACGxwJwAAAACXBIWXMAAA7EAAAO
xAGVKw4bAAAM5klEQVR4nO2d22sd1xWHDYYaDC0uxaWUlogGAn4wCFroq/8E/wl+
aaFvAj009EBEm0JoSeKA01BTtQ5VLjg4luP2GFxfiyMaxfcYy0ZFvqqyghzZMr4o
RmW6rFMfjs6Z2bMv6zf7zMzvYz3r7Dlnf5rZa63Ze11CCIGxLvYACKkyFIwQIBSM
ECAUjBAgFIwQIBSMECAUjBAgFIwQIBSMECAUjBAgFIwQIBSMECAUjBAgFIwQIBSM
ECAUjBAgFIwQIBSMECAUjBAgFIwQIBSMECAUjBAgFIwQIBSMECAUjBAgFIwQIBSM
ECAUjBAgFIwQIBSMECAUjBAgFIwQIBSMECAYwW7vSaZH1OLaTsggnbh74vN//kkx
jl39qh0TM/eKuYi5+8udn3vki1OHT+/WismpnbPzI1HizsLOpYcnWlHMN2kPRrDP
tiXNdZoR3bHpkc///IM//PanWtH45N+dUYxjb5+81fmhv3z/teE//lglXh4dPH76
G5NfrOuHOHN505WZbTfnhhYW9zx6cr6AL9ZASQSTkLtiRKZHlg+u/+vvB0GCvXpo
5snT/0KvQG5ZXR+qKNhfmt+P7lVWXLg6MHN7x+LSOPTrzaI8gkksxftvJE+qzXXX
Pvg2SDCJj899iRv+4qOn4jBIsFf2bI1ukaVp8jy5slLQA3mLUgn2j03RHFsVTOLQ
rpdAgklcW3gMGv7oxGzvx2kJ9vdPvxldHvuQB8giNSuVYBKnBpOnhf4H+j/PBXsw
vmH0tZ+ABHv9yA3E2KfuPEz9OBXBdu0fiO6M392smIxI2QRrOVY8zwWTUMl2pM54
CVkp6Q5clnbiLUiwl0cHPz23Prot3iG3Mt1vu5cSCiZxcQdk2AY6BJPY+8ZWkGAS
sl5SHHjz0kLWB4ULNnb4u9ElCYyZ29i5VE7BJGTGF8lawf6z91s4wWS9pDXqufvL
hg8KFOx3H74UXY/+d6y0gjWLTdyvFUzi2Ds/AgkmcfbWksqouwpfuoId/tfG6G5o
xc25IZUvvJcyC9YsMHHfI9jywfUh2Q6zYCplsYmZe+ZPCRFs9yc/jG6FboAKZSUX
rLDEfY9gElfGNoMEawSXxVILX1qClT23kRpnLm9C5O5LLpjE8YEiEvdpgkkceGsL
SLBGWFnsvcm53L/vLdj+k5ui+4AIRFKx/II1CymOZQi2sG8jTjDvslhW4UtFsMrk
NlJj+evrqvOmGoI18Yn7DMEkTu1+ASRYw6ssZih8qQjWP029iFC/iVVFMIkpVCLo
GdmC+TUBWwrWcC+LGQpf4YL1c1OvSshKTHfiVEiwJjJxny1Y4tUEbC+YU1nMXPgK
FKwsTb2BoZtOrJZgEndPQK7IKFjinu2w16DhUhYzF74CBStXU6936NadKycYKHGf
J5hrE7CTYJZlsdzCV4hgb370YvSpX0xcuDqgOHEqJ1gTk7jPEyxxbAJ2MqFhURaz
KXx5C1bJwpchFHOJVRSsCUjcWwgmYZ/tcBWskVcWsyl8eQtWgaZep1BchlVUsKZ2
4t5OMPsmYA/BDGUxy8KXn2Cvjm2xnJdXZrahQ57fChBMMVlfXcF0HbMTLLFuAvbw
oZFRFrMvfPkJZt/Uq/ZtW/DoyfmFxT3TN7YjBFPMc1RasKZe4t5aMMsmYD/BGmll
MfvCl4dgTk29Ol+1I7JekjubrmDyB7WGV3XBJOY1nqetBZO4+O73cIJ1lcWcCl+u
grnmNhS+Z1/knqMo2KVptbfmayCYSuLeRbDE4pVnbyskZMXVHpdT4ctVsL1Hv+M0
L0O/5ABWVu7pLs+0BlYDwVqOBSYVHQXLbQIOEaxdFnMtfDkJ5tHUqzN5fJElGQWL
F4GJe0fBkrwm4BAxJGTdJY65Fr6cBPNo6tWbQJ6cuaz2Ho3WkGojmMSZ7f5X5C6Y
OdsRKJhEyMNhrmB+Tb16E8gTxWyH1pDqJFgzIHHvLlhibAIOFyw8sgR7Zc9Wv74N
1Tnkw825IQoWO/wS916CJdlNwNHtMgjm3dSrPIvcmZ0foWB9EB6O+Qr2YHxDuQQL
aerVn0iOULD+CI/Eva9gSUYTcHS7UgULPIUIMpdcoGB9E+LY4+sOVxQgWJLWBBzd
rlTBApt6IXPJBQrWT+GUuA8TrLcJOLpdvYLZN/VSMHvKIJj8tYs7II59Zt1yFiZY
0nPuUXS7egULf2EZMpdcoGABGsgNB+GYZeI+WLCuslh0u7oEU9mpFzKXXFDsSNQa
UnkEk8c5kGM2B0AHC5asbQKOblenYFovLEPmkgssNAcIJiydf5acQDiWm7jXECzp
aAKOblenYK5NvX0rmJZddRUsWXUMIVhu4l5JsHa2I7pdbcEUd+qFzCVrFpfGKViw
YILcbUCOGRL3SoIlz5uAo9vVFkzxFCLIXLJG95UwrVGVULBEc7qvCUPiXu8TW9mO
6Ha1BNPdqRcyl+xY/vq64oXUXjABlLjPOgBaVekrY5uj2yXxm32/1t2MDTKX7FDf
NUBrYKUVLCk2ca8q2MK+jdHtknjjb7/qz0npiu7D4aTqDvVlFgyXuO89AFpVsANv
bYluV2P1EVH3pC/IXDKC2PFmsnab3hj6LR5fLyhxrydYqxoW3a6WYLpb9i49PFFM
LC6Nz86PgPZso2BrwRXHOhP3SoK1+zmi29V4nkWs3mnL4VGzjUdzOwZxifu2Y0qC
tbcljW5Xo6PQrJipr0bUbOtsm5bcazshjrUT9xqCdfbUR7erU7DwPvqKRc0Of7Ds
eYcm7jUE63wrLLpdjbXNvnU73sEQ9Tu+yP6lEtB7aKJusGBd7zVHt6tLsLodUGSI
+h3AZy8YLnEflkfpPZ4vul2NnvfBdu0fiD65+yHqd4SsvWAJMnEfEF1vW/anYCrv
XJY9ankIupNgCTJx7xWpuyNGtytVsJocc26Im3NDuipUUTBhfjy6V61YPrg+9djL
6HalCua9p29lQjF/2KKigiWw4phjZB3cHN2uLMECd24rdeimN1pUV7AElri3DsMZ
K9HtyhJM9xXMEoWsvlZWVM/1XqXSgglntkcULGvf7D4XTEK3CbgUcWfBYmsWd6ou
GC5xnxdXxjbjji8anZi9tvAYJ5j3+Q8lDcXu3i6qLliy6ljhScXck5oD3Zi7vyxX
9vG5L0GC1aoJ+NL0IOLhsEUNBEsiJO7bTb0IwZqXFlqXFXgGX+4RsnVoApal16Mn
wScMZ1MPwZJCE/e9G2UrCvb6kRut82NbnL21hBOs8tmOC1cHoHYlNRIsKS5xn3sC
eohgnSegt5D1GEiwajcBy7oL92TYpk6CJUUk7rMKXyqCvTc513tNi4+e4gSrZBOw
PBaCcoa91EywBOtYb1OvomCy3BKXUq/p2NWvQIJVrAlY1Jq5vaOAG1eb+gmGTNz3
NvUqCjYxY5oWsjYDCVaNJuBL04Ny1ypSrRb1EyxZdez4gLpdNrkNb8HePnnLfE0e
ZTF7wcr4yrMssSRm50cWl8aL96pNLQVL9BP3WU29WoK1Cl9mXMti9oIN2zUB6/9M
5aeuggl3TygO0jK34SdYu/BlxrUs5iSYTRMw5GcqOTUWLFFL3D8Y3+Bkl5NgXYUv
M05lMSfBJN786EUK5kq9BROmhsJHaGjqDRest/Blxr4s5irYcF4TMOgnKjW1FywJ
Tdybm3oDBUstfJmxL4t5CGZuAkb8OGWHggUl7nObekMEMxS+zFiWxTwEM2c71H+Z
CkDBVvF1rHWaHkgwc+HLjE1ZzE+w4ewmYMUfpDJQsOe4J+6dCl+uguUWvszYlMW8
BctqAtb6KaoEBevA8QBom6Zeb8FsCl9mcsti3oINZ5ybrvIjVAwKthbrxH3rFCKQ
YJaFLzO5ZbEQwVKbgMPHXD0oWA8Wu2TbN/V6COZU+DJjLouFCDac1gSsMuaKQcHS
yEvc2zf1egjmWvgyYyiLBQo23NMErDjsykDBMshOKobkNnIF8yh8mZG1HE6wriZg
3ZFXAwqWQXbi3qmp10kw78KXmayyWLhgw2tfeVYfeQWgYNmkJe5dm3qdBBMTENch
K7rUspiKYJ1NwIjBlx0KZmRt4t6jqddesMDCl5nUspiKYMMdTcC48ZcXCpZHR+Le
o6nXXjBxAHodsroDCdbOdkDHX1IomAWrB0CnnkKkJZhK4ctMb1lMUbBWEzD6EsoI
RrCpoWdWaMWU8pFNfld06IOfHRj7hVaMTsx2hlbhy8zZW0udH7r76PvvHPy5Vhw9
vb2ASygdvK0TAoSCEQKEghEChIIRAoSCEQKEghEChIIRAoSCEQKEghEChIIRAoSC
EQKEghEChIIRAoSCEQKEghEChIIRAoSCEQKEghEChIIRAoSCEQKEghEChIIRAoSC
EQKEghEChIIRAoSCEQKEghEChIIRAoSCEQKEghEChIIRAoSCEQKEghEChIIRAuR/
5TMAQ7zJBDQAAAAASUVORK5CYII="/>
</g>
</svg>