├── scripts ├── test │ ├── api │ │ ├── .gitignore │ │ ├── lib │ │ │ ├── static │ │ │ │ ├── js │ │ │ │ │ └── main.js │ │ │ │ ├── css │ │ │ │ │ └── main.css │ │ │ │ └── images │ │ │ │ │ └── empty.bmp │ │ │ ├── .gitignore │ │ │ ├── views │ │ │ │ ├── partials │ │ │ │ │ ├── header.ejs │ │ │ │ │ ├── footer.ejs │ │ │ │ │ └── head.ejs │ │ │ │ └── pages │ │ │ │ │ └── index.ejs │ │ │ ├── start.js │ │ │ ├── flash.js │ │ │ └── server.js │ │ ├── install.sh │ │ ├── README.md │ │ ├── package.json │ │ └── test │ │ │ └── tests.js │ ├── 010C-LPC21isp-Reset │ ├── 010D-LPC21isp-ISP-MODE │ ├── GRBL-Test-Commands │ ├── 010B-LPC21isp-flash │ ├── 001-comms-test.py │ ├── MegaPinTest │ │ └── MegaPinTest.ino │ └── grbl_v0_9j_atmega328p_16mhz_115200.hex ├── 999-freeSpace.sh ├── wip │ ├── WebAVRFlasher │ │ ├── lib │ │ │ ├── .gitignore │ │ │ ├── static │ │ │ │ ├── css │ │ │ │ │ └── main.css │ │ │ │ ├── images │ │ │ │ │ └── empty.bmp │ │ │ │ └── js │ │ │ │ │ └── main.js │ │ │ ├── views │ │ │ │ ├── partials │ │ │ │ │ ├── header.ejs │ │ │ │ │ ├── footer.ejs │ │ │ │ │ └── head.ejs │ │ │ │ └── pages │ │ │ │ │ └── index.ejs │ │ │ ├── uploads │ │ │ │ └── firmware.hex │ │ │ ├── start.js │ │ │ ├── AVRFlasher.js │ │ │ └── server.js │ │ ├── .gitignore │ │ ├── install.sh │ │ ├── avrdude-rpi │ │ │ ├── avrdude-autoreset │ │ │ ├── install.sh │ │ │ ├── autoreset │ │ │ └── README.md │ │ ├── README.md │ │ ├── package.json │ │ ├── test │ │ │ └── tests.js │ │ └── LICENSE │ ├── 011-octoprint.sh │ ├── CP-STM32F411CE.zip │ ├── trash │ │ ├── 012-WebMenu │ │ ├── _001-avrdude-rpi.sh │ │ └── 001-avrdude.sh │ ├── OpenOCD │ ├── _RPI-bootloader-Flasher │ └── 007-LPC21isp-Setup.sh ├── _Candle ├── 003-install-bCNC.sh ├── _009-pySerialBridge ├── PreImage ├── 006-install-laserweb.sh ├── 008-ChilliPeper.sh ├── 005-install-cncjs.sh ├── _resizeImg ├── 002-install-UniversalGCodeSender.sh ├── # TODO ├── 001-GeneralSetup.sh ├── #ManualUpdates ├── avrdude-rpi │ ├── avrdude-autoreset │ ├── autoreset328 │ └── autoreset2560 ├── 000-UpdateClean.sh ├── 004-install-node.sh ├── _RPi34-Serial-Config.sh ├── 007-install-Arduino.sh └── tcp_serial_redirect.py ├── resources ├── scripts │ ├── RunLaserWeb4.sh │ ├── Run-Flash-GRBL-V1.1H.sh │ ├── Run-Flash-GRBL-V1.1E.sh │ ├── Run-Flash-GRBL-V1.1F.sh │ ├── Run-Flash-GRBL-V0.9J.sh │ ├── Run-Flash-GRBL-Latest.sh │ ├── CommsTest.py │ └── TestSerialPorts.py └── shortcuts │ ├── bCNC.desktop │ ├── LaserWeb4.Desktop │ ├── TestSerialPort.Desktop │ ├── UpdateFirmware │ ├── Upload-GRBL-V0.9J.Desktop │ ├── Upload-GRBL-V1.1E.Desktop │ └── Upload-GRBL-Latest.Desktop │ ├── UGS.Desktop │ ├── Arduino.Desktop │ ├── ChiliPeppr-Serial-Port-JSON-Server │ ├── minicom.desktop │ ├── cncjs.Desktop │ ├── Rpi34SerialConfig.desktop │ └── ProtoneerForum.Desktop ├── setup └── README.md /scripts/test/api/.gitignore: -------------------------------------------------------------------------------- 1 | *.sh~ 2 | -------------------------------------------------------------------------------- /scripts/test/api/lib/static/js/main.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripts/test/api/lib/.gitignore: -------------------------------------------------------------------------------- 1 | *.js~ 2 | -------------------------------------------------------------------------------- /scripts/test/api/lib/static/css/main.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripts/999-freeSpace.sh: -------------------------------------------------------------------------------- 1 | sudo apt-get clean 2 | -------------------------------------------------------------------------------- /scripts/test/api/lib/static/images/empty.bmp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/.gitignore: -------------------------------------------------------------------------------- 1 | *.js~ 2 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/static/css/main.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/static/images/empty.bmp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | -------------------------------------------------------------------------------- /scripts/test/api/lib/views/partials/header.ejs: -------------------------------------------------------------------------------- 1 |
header
-------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/views/partials/header.ejs: -------------------------------------------------------------------------------- 1 |
header
-------------------------------------------------------------------------------- /scripts/wip/011-octoprint.sh: -------------------------------------------------------------------------------- 1 | # Install from https://github.com/foosel/OctoPrint 2 | -------------------------------------------------------------------------------- /resources/scripts/RunLaserWeb4.sh: -------------------------------------------------------------------------------- 1 | cd ~ 2 | cd lw.comm-server 3 | node server.js 4 | -------------------------------------------------------------------------------- /scripts/_Candle: -------------------------------------------------------------------------------- 1 | # https://github.com/Denvi/Candle/wiki/Compiling-for-Raspberry-Pi-4 2 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/install.sh: -------------------------------------------------------------------------------- 1 | sudo apt-get install npm -y 2 | npm install 3 | -------------------------------------------------------------------------------- /scripts/test/api/lib/views/partials/footer.ejs: -------------------------------------------------------------------------------- 1 |
footer
2 | 3 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/views/partials/footer.ejs: -------------------------------------------------------------------------------- 1 |
footer
2 | 3 | -------------------------------------------------------------------------------- /scripts/wip/CP-STM32F411CE.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Protoneer/RPI-CNC-Config-Scripts/HEAD/scripts/wip/CP-STM32F411CE.zip -------------------------------------------------------------------------------- /scripts/wip/trash/012-WebMenu: -------------------------------------------------------------------------------- 1 | Easy way to start all of the apps and system detail. 2 | 3 | 4 | Program MCU 5 | Test MCU comms 6 | -------------------------------------------------------------------------------- /scripts/wip/trash/_001-avrdude-rpi.sh: -------------------------------------------------------------------------------- 1 | sudo git clone https://github.com/Protoneer/avrdude-rpi ~/avrdude-rpi && ~/avrdude-rpi/install 2 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/avrdude-rpi/avrdude-autoreset: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | sudo strace -o "|autoreset" -eioctl /usr/bin/avrdude-original $@ 4 | -------------------------------------------------------------------------------- /scripts/003-install-bCNC.sh: -------------------------------------------------------------------------------- 1 | sudo apt-get install python-pip 2 | sudo pip install pyserial --upgrade 3 | python2 -m pip install --upgrade bCNC 4 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/README.md: -------------------------------------------------------------------------------- 1 | # WebAVRFlasher 2 | Web interface that can be upload hex files to an ATMEGA328 that is connected to a Raspberry Pi 3 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/uploads/firmware.hex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Protoneer/RPI-CNC-Config-Scripts/HEAD/scripts/wip/WebAVRFlasher/lib/uploads/firmware.hex -------------------------------------------------------------------------------- /scripts/_009-pySerialBridge: -------------------------------------------------------------------------------- 1 | # python tcp_serial_redirect.py -P 1234 /dev/ttyAMA0 115200 2 | 3 | # https://github.com/pyserial/pyserial/blob/master/examples/tcp_serial_redirect.py 4 | -------------------------------------------------------------------------------- /scripts/test/api/lib/start.js: -------------------------------------------------------------------------------- 1 | var server = require('./server'); 2 | 3 | server.listen(8108, function () { 4 | console.log('Server listening on port 127.0.0.1:8108'); 5 | }); 6 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/start.js: -------------------------------------------------------------------------------- 1 | var server = require('./server'); 2 | 3 | server.listen(80, function () { 4 | console.log('Server listening on port 127.0.0.1'); 5 | }); 6 | -------------------------------------------------------------------------------- /scripts/test/010C-LPC21isp-Reset: -------------------------------------------------------------------------------- 1 | # RST set low 2 | echo "out" > /sys/class/gpio/gpio17/direction 3 | echo "0" > /sys/class/gpio/gpio17/value 4 | 5 | sleep 0.5 6 | 7 | echo "1" > /sys/class/gpio/gpio17/value 8 | -------------------------------------------------------------------------------- /scripts/PreImage: -------------------------------------------------------------------------------- 1 | 1. create ssh file on the Boot partition. -Adds SSH access 2 | 2. Remove the "init=/usr/lib/raspi-config/init_resize.sh" from the cmdline.txt file in the boot partition. Stops the image from expanding. 3 | -------------------------------------------------------------------------------- /resources/shortcuts/bCNC.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Type=Application 4 | Name=bCNC 5 | Comment=bCNC Controller 6 | Exec=bCNC 7 | Icon=bCNC.png 8 | Terminal=false 9 | StartupNotify=false 10 | Name[en_US]=bCNC 11 | -------------------------------------------------------------------------------- /resources/shortcuts/LaserWeb4.Desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Type=Application 4 | Name=LaserWeb4 Server 5 | Comment=LaserWeb4 Server 6 | Exec=/home/pi/RPI-CNC-Config-Scripts/resources/scripts/RunLaserWeb4.sh 7 | Terminal=true 8 | -------------------------------------------------------------------------------- /setup: -------------------------------------------------------------------------------- 1 | scripts/001-install-updates.sh 2 | scripts/002-install-utilities.sh 3 | scripts/003-install-bCNC.sh 4 | scripts/004-install-node.sh 5 | scripts/005-install-cncjs.sh 6 | scripts/006-copy-shortcuts.sh 7 | scripts/007-LPC21isp-Setup.sh 8 | -------------------------------------------------------------------------------- /resources/shortcuts/TestSerialPort.Desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=TestSerialPort 3 | Version=1.0 4 | Comment=TestSerialPort 5 | Exec=python /home/pi/RPI-CNC-Config-Scripts/resources/scripts/TestSerialPorts.py 6 | Terminal=true 7 | Type=Application 8 | -------------------------------------------------------------------------------- /scripts/006-install-laserweb.sh: -------------------------------------------------------------------------------- 1 | cd ~ 2 | git clone https://github.com/LaserWeb/lw.comm-server.git 3 | cd lw.comm-server 4 | sudo npm install serialport --unsafe-perm --build-from-source 5 | sudo npm install 6 | 7 | echo "RESET_ON_CONNECT=1" >> .env 8 | -------------------------------------------------------------------------------- /resources/shortcuts/UpdateFirmware/Upload-GRBL-V0.9J.Desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Upload-GRBL-V0.9J 3 | Version=1.0 4 | Comment=Upload-GRBL-V0.9J 5 | Exec=/home/pi/RPI-CNC-Config-Scripts/resources/scripts/Run-Flash-GRBL-V0.9J.sh 6 | Terminal=true 7 | Type=Application 8 | -------------------------------------------------------------------------------- /resources/shortcuts/UpdateFirmware/Upload-GRBL-V1.1E.Desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Upload-GRBL-V1.1E 3 | Version=1.0 4 | Comment=Upload-GRBL-V1.1E 5 | Exec=/home/pi/RPI-CNC-Config-Scripts/resources/scripts/Run-Flash-GRBL-V1.1E.sh 6 | Terminal=true 7 | Type=Application 8 | -------------------------------------------------------------------------------- /resources/shortcuts/UGS.Desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Type=Application 4 | Name=Universal G-Code Sender 5 | Comment=Universal G-Code Sender 6 | Exec=/home/pi/ugs/start.sh 7 | Terminal=false 8 | StartupNotify=false 9 | Name[en_US]=Universal G-Code Sender 10 | -------------------------------------------------------------------------------- /resources/shortcuts/UpdateFirmware/Upload-GRBL-Latest.Desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Upload-GRBL-Latest 3 | Version=1.0 4 | Comment=Upload-GRBL-Latest 5 | Exec=/home/pi/RPI-CNC-Config-Scripts/resources/scripts/Run-Flash-GRBL-Latest.sh 6 | Terminal=true 7 | Type=Application 8 | -------------------------------------------------------------------------------- /scripts/008-ChilliPeper.sh: -------------------------------------------------------------------------------- 1 | cd ~ 2 | wget https://github.com/chilipeppr/serial-port-json-server/releases/download/v1.95/serial-port-json-server-1.95_linux_arm.tar.gz 3 | tar -xvzf serial-port-json-server-1.95_linux_arm.tar.gz 4 | rm serial-port-json-server-1.95_linux_arm.tar.gz 5 | -------------------------------------------------------------------------------- /resources/scripts/Run-Flash-GRBL-V1.1H.sh: -------------------------------------------------------------------------------- 1 | /home/pi/arduino/hardware/tools/avr/bin/avrdude -C/home/pi/arduino/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyAMA0 -b115200 -D -Uflash:w:/home/pi/RPI-CNC-Config-Scripts/resources/firmware/grbl_v1.1h.20190825.hex:i 2 | -------------------------------------------------------------------------------- /resources/scripts/Run-Flash-GRBL-V1.1E.sh: -------------------------------------------------------------------------------- 1 | /home/pi/arduino/hardware/tools/avr/bin/avrdude -C/home/pi/arduino/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyAMA0 -b115200 -D -Uflash:w:/home/pi/RPI-CNC-Config-Scripts/resources/firmware/grbl_v1.1e.20170114.hex:i 2 | -------------------------------------------------------------------------------- /resources/scripts/Run-Flash-GRBL-V1.1F.sh: -------------------------------------------------------------------------------- 1 | /home/pi/arduino/hardware/tools/avr/bin/avrdude -C/home/pi/arduino/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyAMA0 -b115200 -D -Uflash:w:/home/pi/RPI-CNC-Config-Scripts/resources/firmware/grbl_v1.1f.20170801.hex:i 2 | -------------------------------------------------------------------------------- /resources/shortcuts/Arduino.Desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Type=Application 4 | Name=Arduino IDE 5 | Comment=Arduino IDE 6 | Exec=/home/pi/arduino/arduino 7 | Icon=lib/icons/32x32/apps/arduino.png 8 | Terminal=false 9 | StartupNotify=false 10 | Name[en_US]=Arduino 11 | -------------------------------------------------------------------------------- /scripts/test/api/install.sh: -------------------------------------------------------------------------------- 1 | sudo npm install 2 | sudo crontab -l -u root 2>/dev/null; echo "@reboot sudo node /home/pi/RPI-CNC-Config-Scripts/scripts/test/api/lib/start.js" | sudo crontab -u root - 3 | 4 | # Find node process -> ps -e|grep node 5 | # Kill process -> sudo kill -9 6 | -------------------------------------------------------------------------------- /resources/shortcuts/ChiliPeppr-Serial-Port-JSON-Server: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=ChiliPeppr-Serial-Port-JSON-Server 3 | Version=1.0 4 | Comment=ChiliPeppr-Serial-Port-JSON-Server 5 | Exec=/home/pi/serial-port-json-server-1.88_linux_arm/serial-port-json-server 6 | Terminal=true 7 | Type=Application 8 | -------------------------------------------------------------------------------- /resources/scripts/Run-Flash-GRBL-V0.9J.sh: -------------------------------------------------------------------------------- 1 | /home/pi/arduino/hardware/tools/avr/bin/avrdude -C/home/pi/arduino/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyAMA0 -b115200 -D -Uflash:w:/home/pi/RPI-CNC-Config-Scripts/resources/firmware/grbl_v0_9j_atmega328p_16mhz_115200.hex:i 2 | -------------------------------------------------------------------------------- /resources/shortcuts/minicom.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Minicom /dev/ttyAMA0 3 | Version=1.0 4 | Comment=Launches application 5 | Exec=minicom -b 115200 -o -D /dev/ttyAMA0 6 | Icon=/usr/share/pixmaps/openbox.xpm 7 | Terminal=true 8 | Type=Application 9 | Categories=Education 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/shortcuts/cncjs.Desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Start CNC.JS(Run once, wait for terminal window to open) 3 | Version=1.0 4 | Comment=Launches application 5 | Exec=/home/pi/.npm/bin/cnc 6 | Icon=/usr/share/pixmaps/openbox.xpm 7 | Terminal=true 8 | Type=Application 9 | Categories=Education 10 | -------------------------------------------------------------------------------- /resources/shortcuts/Rpi34SerialConfig.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Type=Application 4 | Name=RPi 3 and 4 Serial Config 5 | Comment=RPi 3 and 4 Serial Config 6 | Exec=sudo bash /home/pi/RPI-CNC-Config-Scripts/scripts/_RPi34-Serial-Config.sh 7 | Icon=bCNC.png 8 | Terminal=true 9 | StartupNotify=false 10 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/avrdude-rpi/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sudo apt-get install -y avrdude python-dev python-rpi.gpio minicom 4 | sudo cp autoreset /usr/bin 5 | sudo cp avrdude-autoreset /usr/bin 6 | sudo mv /usr/bin/avrdude /usr/bin/avrdude-original 7 | sudo ln -s /usr/bin/avrdude-autoreset /usr/bin/avrdude 8 | -------------------------------------------------------------------------------- /resources/shortcuts/ProtoneerForum.Desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Type=Application 4 | Name=Protoneer Forums 5 | Comment=Protoneer Forums 6 | Exec=epiphany http://forum.protoneer.co.nz 7 | Icon=lib/icons/32x32/apps/arduino.png 8 | Terminal=false 9 | StartupNotify=false 10 | Name[en_US]=Protoneer Forums 11 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/AVRFlasher.js: -------------------------------------------------------------------------------- 1 | var flasher = []; 2 | 3 | flasher.sleep = function (milliseconds) { 4 | var start = new Date().getTime(); 5 | for (var i = 0; i < 1e7; i++) { 6 | if ((new Date().getTime() - start) > milliseconds){ 7 | break; 8 | } 9 | } 10 | } 11 | 12 | module.exports = flasher; -------------------------------------------------------------------------------- /scripts/test/api/README.md: -------------------------------------------------------------------------------- 1 | # basic-express-js-seed 2 | Basic template to get NodeJS and ExpressJS running. 3 | 4 | Includes a few examples pages: 5 | * Home page 6 | * Text only page. (Non-HTML) 7 | * Redirect Example 8 | * Json example 9 | * EJS view engine / template example 10 | 11 | Testing: 12 | * Mocha/Chai testing all of the above end points. -------------------------------------------------------------------------------- /scripts/005-install-cncjs.sh: -------------------------------------------------------------------------------- 1 | echo "prefix=~/.npm" >> ~/.npmrc 2 | cat ~/.npmrc 3 | npm config set user 0 4 | npm config set unsafe-perm true 5 | 6 | 7 | npm install -g socket.io 8 | npm install -g socket.io-parser 9 | #npm install -g serialport 10 | npm install -g cncjs 11 | #sudo npm install --unsafe-perm -g cncjs 12 | export PATH=$PATH:~/.npm/bin/ 13 | -------------------------------------------------------------------------------- /scripts/_resizeImg: -------------------------------------------------------------------------------- 1 | https://liudr.wordpress.com/2016/03/25/back-up-and-clone-raspberry-pi/ 2 | 3 | https://www.htpcguides.com/easy-resize-and-back-up-raspberry-pi-sd-card-with-ubuntu/ 4 | 5 | use gparted to resize to 6gb 6 | 7 | copy image to local driver via 8 | sudo dd if=/dev/mmcblk0 of=/media/ubuntu/Windows8_OS/raspberrypibackup.img bs=1M count=6100 9 | 10 | 11 | -------------------------------------------------------------------------------- /scripts/test/010D-LPC21isp-ISP-MODE: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ########### Put in ISP mode ########### 3 | # ISP set low 4 | echo "out" > /sys/class/gpio/gpio18/direction 5 | echo "0" > /sys/class/gpio/gpio18/value 6 | # RST set low 7 | echo "out" > /sys/class/gpio/gpio17/direction 8 | echo "0" > /sys/class/gpio/gpio17/value 9 | sleep 0.5 10 | echo "1" > /sys/class/gpio/gpio17/value 11 | sleep 0.5 12 | echo "1" > /sys/class/gpio/gpio18/value 13 | -------------------------------------------------------------------------------- /scripts/wip/OpenOCD: -------------------------------------------------------------------------------- 1 | # https://learn.adafruit.com/programming-microcontrollers-using-openocd-on-raspberry-pi/compiling-openocd 2 | 3 | sudo apt-get update 4 | sudo apt-get install git autoconf libtool make pkg-config libusb-1.0-0 libusb-1.0-0-dev -y 5 | git clone git://git.code.sf.net/p/openocd/code openocd-code 6 | cd openocd-code 7 | ./bootstrap 8 | ./configure --enable-sysfsgpio --enable-bcm2835gpio 9 | make 10 | sudo make install 11 | -------------------------------------------------------------------------------- /resources/scripts/Run-Flash-GRBL-Latest.sh: -------------------------------------------------------------------------------- 1 | wget -O /home/pi/RPI-CNC-Config-Scripts/resources/firmware/grbl_latest.hex https://raw.githubusercontent.com/Protoneer/RPI-CNC-Config-Scripts/master/resources/firmware/grbl_latest.hex 2 | /home/pi/arduino/hardware/tools/avr/bin/avrdude -C/home/pi/arduino/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyAMA0 -b115200 -D -Uflash:w:/home/pi/RPI-CNC-Config-Scripts/resources/firmware/grbl_latest.hex:i 3 | -------------------------------------------------------------------------------- /scripts/002-install-UniversalGCodeSender.sh: -------------------------------------------------------------------------------- 1 | # install java 2 | # Java 7 3 | #sudo apt-get install openjdk-7-jre -y 4 | #sudo apt-get install librxtx-java -y 5 | 6 | # Java 8 7 | sudo apt install openjdk-8-jdk openjdk-8-jre -y 8 | 9 | cd ~ 10 | mkdir ugs 11 | cd ugs 12 | 13 | # download UGS 1.09 14 | wget http://bit.ly/1M6z2ys -O ugs.zip 15 | 16 | unzip ugs.zip 17 | jar -xf UniversalGcodeSender.jar 18 | 19 | chmod +x start.sh 20 | 21 | rm ugs.zip 22 | -------------------------------------------------------------------------------- /scripts/wip/_RPI-bootloader-Flasher: -------------------------------------------------------------------------------- 1 | # Upload Bootloader 2 | ## Write Fuses 3 | sudo avrdude -s -c avrispmkII -v -p m328p -e -U efuse:w:0x05:m -U hfuse:w:0xDA:m -U lfuse:w:0xFF:m 4 | 5 | ##Program with AVRISPMKII 6 | sudo avrdude -c avrispmkII -v -p atmega328p -e -U flash:w:optiboot_atmega328.hex 7 | 8 | 9 | 10 | # Flashes the ATMEGA 11 | avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200 -U flash:w:grbl_v0_9i_atmega328p_16mhz_115200.hex 12 | -------------------------------------------------------------------------------- /scripts/test/api/lib/views/pages/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <% include ../partials/head %> 5 | 6 | 7 | 8 | 9 |
10 | <% include ../partials/header %> 11 |
12 | 13 | 14 |
15 | Body 16 |
17 | 18 | 21 | 22 | -------------------------------------------------------------------------------- /scripts/test/api/lib/views/partials/head.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Title 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /scripts/# TODO: -------------------------------------------------------------------------------- 1 | Install Team viewer 2 | http://www.instructables.com/id/TeamViewer-on-Raspberry-Pi/ 3 | 4 | 5 | 6 | Fix issue with firmware updates that does not always work on the first try. 7 | REmove Piping warning message. 8 | 9 | REduce the image size 10 | 11 | Install SAMD Arduino Package 12 | 13 | # Update rpi3 serial script to delete it self before restart. Give notice of restart -- Done 14 | 15 | Add 16 | https://github.com/Denvi/Candle/blob/master/readme.md 17 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/views/partials/head.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Title 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /scripts/001-GeneralSetup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copy shortcuts to desktop 4 | cp -a ~/RPI-CNC-Config-Scripts/resources/shortcuts/. /home/pi/Desktop/ 5 | 6 | # Install utilities to make things easier 7 | sudo apt-get -y --force-yes install minicom tightvncserver xrdp 8 | 9 | sudo apt-get install gparted -y 10 | 11 | 12 | 13 | # Stop the console from outputting ot hardware serial pins 14 | sudo sed -i 's/ console=serial0,115200//g' /boot/cmdline.txt 15 | 16 | sudo shutdown -r now 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RPI-CNC-Config-Scripts 2 | Scripts used to setup a Raspberry Pi for use with the Raspberry Pi CNC board 3 | 4 | * Get latest rpi image and copy to SD card 5 | * edit "sudo nano /boot/cmdline.txt" remove "Console" settings. (Stops the logging of system messages to the serial port) 6 | * SSH to RPI, Expand FS first with "sudo raspi-config" 7 | 8 | ``` 9 | cd ~ 10 | git clone https://github.com/Protoneer/RPI-CNC-Config-Scripts.git 11 | cd RPI-CNC-Config-Scripts/ 12 | sudo ./setup 13 | ``` 14 | -------------------------------------------------------------------------------- /scripts/test/GRBL-Test-Commands: -------------------------------------------------------------------------------- 1 | // Program firmware 2 | wget https://github.com/gnea/grbl/releases/download/v1.1e.20161219/grbl_v1.1e.20161219.hex 3 | /home/pi/arduino/hardware/tools/avr/bin/avrdude -C/home/pi/arduino/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyAMA0 -b115200 -D -Uflash:w:grbl_v1.1e.20161219.hex:i 4 | 5 | 6 | 7 | // Test X Y Z 8 | G0X100Y100Z100 9 | G0X0Y0Z0 10 | 11 | // Test Endstops 12 | $21=1 13 | 14 | // Test Motor Controls 15 | S1000 16 | M3 17 | M4 18 | M5 19 | 20 | 21 | // Test Coolant 22 | M8 23 | M9 24 | -------------------------------------------------------------------------------- /scripts/test/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "uploader", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "./lib/start.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "node lib/start.js" 9 | }, 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "body-parser": "^1.15.0", 14 | "chai": "^3.5.0", 15 | "ejs": "^2.4.1", 16 | "express": "^4.13.4", 17 | "mocha": "^2.4.5", 18 | "request": "^2.71.0", 19 | "exec-sync": "~0.1.6" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /scripts/#ManualUpdates: -------------------------------------------------------------------------------- 1 | create ssh file on boot disk 2 | 3 | from /boot/cmdline.txt remove : 4 | "console=serial0,115200" 5 | "init=/usr/lib/raspi-config/init_resize.sh" 6 | 7 | 8 | Sort desktop icons by name 9 | Set desktop backround black 10 | Arduino set verbatim on 11 | Arduino set serial port to correct port - dev/ttyAMA0 12 | Bcnc Set serial port 13 | UGCS set port 14 | 15 | 16 | Shrinking the image 17 | ------------------- 18 | Install Gparted and shrink the partition on a USb SD card converter 19 | Zip with 7-zip 20 | Test burning it with RPI burn tool 21 | 22 | 23 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "uploader", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "./lib/start.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "nodemon lib/start.js" 9 | }, 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "body-parser": "^1.15.0", 14 | "chai": "^3.5.0", 15 | "ejs": "^2.4.1", 16 | "express": "^4.13.4", 17 | "mocha": "^2.4.5", 18 | "multer": "^1.1.0", 19 | "nodemon": "^1.9.1", 20 | "request": "^2.71.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /scripts/avrdude-rpi/avrdude-autoreset: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [[ $@ == *atmega2560* && $@ == */dev/ttyAMA0* ]] 3 | then 4 | echo "RPI-ATMega2560"; 5 | sudo strace -o "|/home/pi/arduino/hardware/tools/avr/bin/autoreset2560" -eioctl /home/pi/arduino/hardware/tools/avr/bin/avrdude-original $@ 6 | elif [[ $@ == *atmega328* && $@ == */dev/ttyAMA0* ]] 7 | then 8 | echo "RPI-ATMega328"; 9 | sudo strace -o "|/home/pi/arduino/hardware/tools/avr/bin/autoreset328" -eioctl /home/pi/arduino/hardware/tools/avr/bin/avrdude-original $@ 10 | else 11 | sudo /home/pi/arduino/hardware/tools/avr/bin/avrdude-original $@ 12 | fi 13 | -------------------------------------------------------------------------------- /scripts/wip/trash/001-avrdude.sh: -------------------------------------------------------------------------------- 1 | sudo apt-get install avrdude -y 2 | 3 | 4 | ## https://github.com/CisecoPlc/avrdude-rpi 5 | wget https://raw.githubusercontent.com/grbl/grbl-builds/master/builds/grbl_v0_9i_atmega328p_16mhz_115200.hex 6 | 7 | sudo avrdude -c arduino -P /dev/ttyAMA0 -b 57600 -v -p atmega328p -Cavrdude.conf -D -U flash:w:grbl_v0_9i_atmega328p_16mhz_115200.hex 8 | 9 | -Cavrdude.conf 10 | 11 | 12 | Good info!!! 13 | https://github.com/openenergymonitor/avrdude-rpi 14 | 15 | To upload to the emonPi (ATmega328 @ 16Mhz): 16 | $ avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200 -U flash:w:sketch_name.hex 17 | -------------------------------------------------------------------------------- /scripts/000-UpdateClean.sh: -------------------------------------------------------------------------------- 1 | # Remove extras 2 | sudo apt-get -y remove --purge libreoffice-* 3 | sudo apt-get -y remove --purge wolfram-engine 4 | 5 | # Update 6 | sudo apt-get -y update 7 | sudo apt-get -y upgrade 8 | #sudo apt-get -y dist-upgrade 9 | 10 | # Install gui 11 | #sudo apt-get install --no-install-recommends xserver-xorg -y 12 | #sudo apt-get install --no-install-recommends xinit -y 13 | #sudo apt-get install raspberrypi-ui-mods -y 14 | #sudo apt-get install --no-install-recommends rpi-chromium-mods -y 15 | #sudo apt-get install xrdp -y 16 | #sudo apt-get install git -y 17 | 18 | 19 | # Clean out cache 20 | sudo apt-get clean 21 | -------------------------------------------------------------------------------- /scripts/004-install-node.sh: -------------------------------------------------------------------------------- 1 | sudo apt-get -y remove nodejs 2 | 3 | #RPI 3-4 4 | cd ~ 5 | wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-armv7l.tar.xz 6 | tar -xvf node-v8.11.1-linux-armv7l.tar.xz 7 | cd node-v8.11.1-linux-armv7l 8 | sudo cp -R * /usr/local/ 9 | 10 | 11 | # RPI 1+2 12 | cd ~ 13 | wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-armv6l.tar.xz 14 | tar -xvf node-v8.11.1-linux-armv6l.tar.xz 15 | cd node-v8.11.1-linux-armv6l 16 | sudo cp -R * /usr/local/ 17 | 18 | cd ~ 19 | rm node-v8.11.1-linux-armv6l.tar.xz 20 | rm node-v8.11.1-linux-armv6l/ -r 21 | rm node-v8.11.1-linux-armv7l.tar.xz 22 | rm node-v8.11.1-linux-armv7l/ -r 23 | -------------------------------------------------------------------------------- /scripts/wip/007-LPC21isp-Setup.sh: -------------------------------------------------------------------------------- 1 | https://github.com/Protoneer/lpc21isp 2 | make to build 3 | ./lpc21isp to run 4 | http://smoothieware.org/flashing-the-bootloader 5 | 6 | 7 | 8 | 9 | ##### Installs LPC ISP and setup pin 17-18 10 | 11 | sudo apt-get install lpc21isp 12 | 13 | # Setup ISP pin 14 | echo "18" > /sys/class/gpio/export 15 | sudo echo "out" > /sys/class/gpio/gpio18/direction 16 | sudo echo "0" > /sys/class/gpio/gpio18/value 17 | 18 | # Setup RST pin 19 | echo "17" > /sys/class/gpio/export 20 | sudo echo "out" > /sys/class/gpio/gpio17/direction 21 | sudo echo "1" > /sys/class/gpio/gpio17/value 22 | 23 | # Usage: 24 | # lpc21isp -wipe DFU-Bootloader.hex /dev/ttyACM0 230400 12000 25 | 26 | 27 | -------------------------------------------------------------------------------- /scripts/_RPi34-Serial-Config.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # chmod +x filename 3 | 4 | read -p "After the Raspberry Pi settings have been updated the system will restart. Press any key to start..." -n1 -s 5 | 6 | sudo sh -c "echo 'dtoverlay=pi3-miniuart-bt' >> /boot/config.txt" 7 | sudo sh -c "echo 'enable_uart=1' >> /boot/config.txt" 8 | sudo systemctl disable hciuart 9 | 10 | # New os uses Serial0 11 | # good read - http://spellfoundry.com/2016/05/29/configuring-gpio-serial-port-raspbian-jessie-including-pi-3/ 12 | 13 | # RPI 3 and 4 only 14 | sudo systemctl stop serial-getty@ttyS0.service 15 | sudo systemctl disable serial-getty@ttyS0.service 16 | 17 | # Remove shortcut 18 | sudo rm /home/pi/Desktop/Rpi34SerialConfig.desktop 19 | 20 | sudo shutdown -r now 21 | -------------------------------------------------------------------------------- /scripts/test/010B-LPC21isp-flash: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ########### Put in ISP mode ########### 3 | # ISP set low 4 | echo "out" > /sys/class/gpio/gpio18/direction 5 | echo "0" > /sys/class/gpio/gpio18/value 6 | # RST set low 7 | echo "out" > /sys/class/gpio/gpio17/direction 8 | echo "0" > /sys/class/gpio/gpio17/value 9 | sleep 0.5 10 | echo "1" > /sys/class/gpio/gpio17/value 11 | sleep 0.5 12 | echo "1" > /sys/class/gpio/gpio18/value 13 | 14 | ########### Program ########### 15 | wget https://raw.githubusercontent.com/Smoothieware/Smoothieware/edge/bootloader/DFU-Bootloader.hex 16 | lpc21isp -wipe DFU-Bootloader.hex /dev/ttyAMA0 230400 12000 17 | 18 | ########### Restart ########### 19 | echo "0" > /sys/class/gpio/gpio17/value 20 | sleep 0.5 21 | echo "1" > /sys/class/gpio/gpio17/value 22 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/views/pages/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <% include ../partials/head %> 5 | 6 | 7 | 8 | 9 |
10 | <% include ../partials/header %> 11 |
12 | 13 | 14 |
15 |

Flash HEX file

16 |
17 | 18 | 19 |
20 |
21 |
22 | 23 | 27 | 28 | -------------------------------------------------------------------------------- /scripts/test/api/lib/flash.js: -------------------------------------------------------------------------------- 1 | /* 2 | var exec = require('child_process').execSync; 3 | //var download = exec('wget https://raw.githubusercontent.com/grbl/grbl-builds/master/builds/grbl_v0_9j_atmega328p_16mhz_115200.hex -O firmware.hex') 4 | var flashResults = exec('avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200 -U flash:w:./lib/uploads/firmware.hex').toString(); 5 | console.log(flashResults); 6 | */ 7 | 8 | var exec = require('child_process').exec; 9 | var child = exec('avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200 -U flash:w:./lib/uploads/firmware.hex'); 10 | 11 | child.stdout.on('data', function(data) { 12 | console.log('stdout: ' + data); 13 | }); 14 | child.stderr.on('data', function(data) { 15 | console.log('stdout: ' + data); 16 | }); 17 | child.on('close', function(code) { 18 | console.log('closing code: ' + code); 19 | }); 20 | -------------------------------------------------------------------------------- /scripts/007-install-Arduino.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sudo apt-get install -y python-dev python-rpi.gpio 4 | 5 | # install Aruino 6 | wget https://downloads.arduino.cc/arduino-1.8.12-linuxarm.tar.xz -P ~ 7 | tar xf ~/arduino-1.8.12-linuxarm.tar.xz -C ~ 8 | mv ~/arduino-1.8.12 ~/arduino 9 | rm ~/arduino-1.8.12-linuxarm.tar.xz 10 | 11 | # Install avrdude-rpi 12 | cp avrdude-rpi/autoreset2560 ~/arduino/hardware/tools/avr/bin/ 13 | cp avrdude-rpi/autoreset328 ~/arduino/hardware/tools/avr/bin/ 14 | cp avrdude-rpi/avrdude-autoreset ~/arduino/hardware/tools/avr/bin/ 15 | sudo mv ~/arduino/hardware/tools/avr/bin/avrdude ~/arduino/hardware/tools/avr/bin/avrdude-original 16 | sudo ln -s ~/arduino/hardware/tools/avr/bin/avrdude-autoreset ~/arduino/hardware/tools/avr/bin/avrdude 17 | 18 | 19 | sudo chmod +x ~/arduino/hardware/tools/avr/bin/avrdude 20 | sudo chmod +x ~/arduino/hardware/tools/avr/bin/autoreset328 21 | sudo chmod +x ~/arduino/hardware/tools/avr/bin/autoreset2560 22 | 23 | # Make AVRDUDE available for all 24 | sudo ln -s -T ~/arduino/hardware/tools/avr/bin/avrdude /usr/local/bin/avrdude 25 | -------------------------------------------------------------------------------- /scripts/avrdude-rpi/autoreset328: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import RPi.GPIO as GPIO 4 | import sys, os, re, time, fcntl 5 | import errno 6 | 7 | fd = sys.stdin.fileno() 8 | fl = fcntl.fcntl(fd, fcntl.F_GETFL) 9 | fcntl.fcntl(fd, fcntl.F_SETFL, fl | os.O_NONBLOCK) 10 | 11 | GPIO.setwarnings(False) 12 | GPIO.setmode(GPIO.BOARD) 13 | dtr = re.compile('.+TIOCM_DTR.+') 14 | start = time.time() 15 | pin = 11 16 | GPIO.setup(pin, GPIO.OUT) 17 | GPIO.output(pin, GPIO.HIGH) 18 | 19 | def reset(): 20 | GPIO.output(pin, GPIO.LOW) 21 | time.sleep(0.32) 22 | GPIO.output(pin, GPIO.HIGH) 23 | 24 | def process(): 25 | while True: 26 | try: 27 | duration = time.time() - start 28 | input = sys.stdin.readline().strip() 29 | if input is None: # == "": 30 | input = sys.stdin.readline().strip() 31 | if dtr.match(input): 32 | reset() 33 | return 34 | elif duration > 5000: 35 | return 36 | except Exception as e: 37 | if hasattr(e, 'errno'): 38 | if e.errno != 11: # Ignore resource unavailable 39 | raise 40 | else: 41 | raise 42 | 43 | process() 44 | print "avrdude-original: Using autoreset DTR on GPIO Pin " +str(pin) 45 | GPIO.cleanup() 46 | exit 47 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/avrdude-rpi/autoreset: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import RPi.GPIO as GPIO 4 | import sys, os, re, time, fcntl 5 | import errno 6 | 7 | fd = sys.stdin.fileno() 8 | fl = fcntl.fcntl(fd, fcntl.F_GETFL) 9 | fcntl.fcntl(fd, fcntl.F_SETFL, fl | os.O_NONBLOCK) 10 | 11 | GPIO.setwarnings(False) 12 | GPIO.setmode(GPIO.BOARD) 13 | dtr = re.compile('.+TIOCM_DTR.+') 14 | start = time.time() 15 | pin = 11 16 | GPIO.setup(pin, GPIO.OUT) 17 | GPIO.output(pin, GPIO.HIGH) 18 | 19 | def reset(): 20 | GPIO.output(pin, GPIO.LOW) 21 | time.sleep(0.32) 22 | GPIO.output(pin, GPIO.HIGH) 23 | 24 | def process(): 25 | while True: 26 | try: 27 | duration = time.time() - start 28 | input = sys.stdin.readline().strip() 29 | if input is None: # == "": 30 | input = sys.stdin.readline().strip() 31 | if dtr.match(input): 32 | reset() 33 | return 34 | elif duration > 5000: 35 | return 36 | except Exception as e: 37 | if hasattr(e, 'errno'): 38 | if e.errno != 11: # Ignore resource unavailable 39 | raise 40 | else: 41 | raise 42 | 43 | process() 44 | print "avrdude-original: Using autoreset DTR on GPIO Pin " +str(pin) 45 | GPIO.cleanup() 46 | exit 47 | -------------------------------------------------------------------------------- /scripts/avrdude-rpi/autoreset2560: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import RPi.GPIO as GPIO 4 | import sys, os, re, time, fcntl 5 | import errno 6 | 7 | fd = sys.stdin.fileno() 8 | fl = fcntl.fcntl(fd, fcntl.F_GETFL) 9 | fcntl.fcntl(fd, fcntl.F_SETFL, fl | os.O_NONBLOCK) 10 | 11 | GPIO.setwarnings(False) 12 | GPIO.setmode(GPIO.BOARD) 13 | dtr = re.compile('.+TIOCM_DTR.+') 14 | start = time.time() 15 | pin = 11 16 | GPIO.setup(pin, GPIO.OUT) 17 | GPIO.output(pin, GPIO.HIGH) 18 | 19 | def reset(): 20 | GPIO.output(pin, GPIO.LOW) 21 | #time.sleep(0.32) 22 | time.sleep(0.15) 23 | GPIO.output(pin, GPIO.HIGH) 24 | 25 | def process(): 26 | while True: 27 | try: 28 | duration = time.time() - start 29 | input = sys.stdin.readline().strip() 30 | if input is None: # == "": 31 | input = sys.stdin.readline().strip() 32 | if dtr.match(input): 33 | reset() 34 | return 35 | elif duration > 5000: 36 | return 37 | except Exception as e: 38 | if hasattr(e, 'errno'): 39 | if e.errno != 11: # Ignore resource unavailable 40 | raise 41 | else: 42 | raise 43 | 44 | process() 45 | print "avrdude-original: Using autoreset DTR on GPIO Pin " +str(pin) 46 | GPIO.cleanup() 47 | exit 48 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/static/js/main.js: -------------------------------------------------------------------------------- 1 | $( document ).ready(function() { 2 | $('#UploadForm').on('submit', uploadFiles); 3 | $('input[type=file]').on('change', prepareUpload); 4 | 5 | var files; 6 | 7 | function prepareUpload(event) 8 | { 9 | files = event.target.files; 10 | } 11 | 12 | // Catch the form submit and upload the files 13 | function uploadFiles(event) 14 | { 15 | event.stopPropagation(); 16 | event.preventDefault(); 17 | 18 | $('#response').text("Checking new firmware..."); 19 | 20 | 21 | // Create a formdata object and add the files 22 | var data = new FormData(); 23 | $.each(files, function(key, value) 24 | { 25 | data.append(key, value); 26 | }); 27 | 28 | var formData = new FormData($(this)[0]); 29 | 30 | 31 | 32 | console.log(formData); 33 | 34 | 35 | $.ajax({ 36 | url: 'upload', 37 | type: 'POST', 38 | data: formData, 39 | cache: false, 40 | dataType: 'json', 41 | processData: false, 42 | contentType: false 43 | }).then(function(res){ 44 | $('#response').text("Sending firmware to device..."); 45 | return $.ajax({ 46 | url: 'flash', 47 | type: 'POST', 48 | data: data, 49 | cache: false, 50 | dataType: 'json', 51 | processData: false, 52 | contentType: false 53 | }); 54 | }).then(function(res){ 55 | $('#response').text("SUCCESS!!! Firmware uploaded."); 56 | }); 57 | 58 | 59 | } 60 | 61 | 62 | }); 63 | 64 | 65 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/lib/server.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var bodyParser = require('body-parser'); 3 | var flasher = require('./AVRFlasher'); 4 | var fs = require('fs'); 5 | 6 | var server = module.exports = express(); 7 | 8 | server.set('views', __dirname + '/views'); // Views file folder 9 | server.engine('html', require('ejs').renderFile); 10 | server.set('view engine', 'ejs'); 11 | 12 | server.use(express.static('lib/static')); // Static folder 13 | server.use(bodyParser.urlencoded({extended: true})); 14 | 15 | // File uploads 16 | var multer = require('multer'); 17 | var storage = multer.diskStorage({ 18 | destination: function (req, file, callback) { 19 | callback(null, __dirname + '/uploads'); 20 | }, 21 | filename: function (req, file, callback) { 22 | callback(null, 'firmware.hex'); 23 | } 24 | }); 25 | var upload = multer({ storage : storage}).single('firmware'); 26 | 27 | 28 | // Routes 29 | server.get('/', function (req, res) { 30 | res.render('pages/index'); 31 | }); 32 | 33 | server.post('/upload', function (req, res) { 34 | upload(req,res,function(err) { 35 | if(err) { 36 | return res.json({"Status":"ERROR"}); 37 | } 38 | res.json({"Status":"OK"}); 39 | }); 40 | }); 41 | 42 | server.post('/flash', function (req, res) { 43 | var results = {"Test":"Test"}; 44 | 45 | var exec = require('child_process').execSync; 46 | //var download = exec('wget https://raw.githubusercontent.com/grbl/grbl-builds/master/builds/grbl_v0_9j_atmega328p_16mhz_115200.hex -O firmware.hex') 47 | var flashResults = exec('avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200 -U flash:w:./lib/uploads/firmware.hex').toString(); 48 | console.log(flashResults); 49 | res.json(results); 50 | }); -------------------------------------------------------------------------------- /scripts/test/001-comms-test.py: -------------------------------------------------------------------------------- 1 | 2 | import serial 3 | import time 4 | import sys 5 | import smtplib 6 | ser = serial.Serial('/dev/ttyAMA0',115200,timeout=1) 7 | import os 8 | 9 | 10 | 11 | # Reset 12 | print("Reset....") 13 | ser.flushInput() 14 | ser.flushOutput() 15 | ser.write("\030") 16 | ser.write("x0y0z0\n") 17 | time.sleep(5) 18 | print(ser.readline()) 19 | print(ser.readline()) 20 | print(ser.readline()) 21 | 22 | maxTries = 900 23 | 24 | def email(subject,msg): 25 | fromaddr = 'xxx@gmail.com' 26 | toaddrs = 'xxx@gmail.com' 27 | 28 | # Credentials (if needed) 29 | username = 'xxx@gmail.com' 30 | password = 'xxx' 31 | 32 | # The actual mail send 33 | server = smtplib.SMTP('smtp.gmail.com:587') 34 | server.starttls() 35 | server.login(username,password) 36 | 37 | server.sendmail(fromaddr, toaddrs, 'Subject: %s\n\n%s' % (subject, msg)) 38 | server.quit() 39 | 40 | def failed(message): 41 | print(message) 42 | #email("CNC-1 Test Failed",message); 43 | sys.exit() 44 | 45 | 46 | def test(x): 47 | temp = 'x' + str(x) + 'y' + str(x) + 'z'+ str(x) 48 | ser.write(temp + "\n") 49 | print(temp) 50 | time.sleep(1) 51 | ser.readline() 52 | ser.write('?') 53 | time.sleep(0.1) 54 | returned = ser.readline() 55 | expected = "" 56 | result = returned.startswith(expected) 57 | print('Received:'+returned) 58 | if not result: 59 | failed("Received:" + returned + " Expected:"+expected) 60 | 61 | for x in range(0,maxTries+1): 62 | test(x) 63 | 64 | for x in range(maxTries,-1,-1): 65 | test(x) 66 | 67 | 68 | 69 | #email("CNC-1 Test SUCCESS","") 70 | 71 | # 72 | ser.close() 73 | #os.system("sudo shutdown -h now") 74 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/test/tests.js: -------------------------------------------------------------------------------- 1 | // ./test/tests.js 2 | 3 | var server = require('../lib/server.js'); 4 | var expect = require('chai').expect; 5 | var request = require('request'); 6 | 7 | var testServer; 8 | 9 | function testEndpoint(doneObj,url,statusCode,post,body){ 10 | var options = { 11 | url: url, 12 | headers: { 13 | 'Content-Type': 'text/plain' 14 | } 15 | }; 16 | 17 | if(post){ 18 | request.post(options, function (err, res, body) { 19 | expect(res.statusCode).to.equal(statusCode); 20 | if(body){ 21 | expect(res.body).to.equal(body); 22 | } 23 | doneObj(); 24 | }); 25 | } else { 26 | request.get(options, function (err, res, body) { 27 | expect(res.statusCode).to.equal(statusCode); 28 | if(body){ 29 | expect(res.body).to.equal(body); 30 | } 31 | doneObj(); 32 | }); 33 | } 34 | 35 | 36 | } 37 | 38 | describe('server response', function() { 39 | this.timeout(15000); 40 | before(function () { 41 | testServer = server.listen(80); 42 | }); 43 | 44 | after(function () { 45 | testServer.close(); 46 | }); 47 | 48 | it('test index page ', function (done) { 49 | testEndpoint(done,'http://localhost',200); 50 | }); 51 | it('test index(/) page', function (done) { 52 | testEndpoint(done,'http://localhost/',200); 53 | }); 54 | 55 | it('test upload page', function (done) { 56 | testEndpoint(done,'http://localhost/upload',200,1); 57 | }); 58 | 59 | it('test flash page', function (done) { 60 | testEndpoint(done,'http://localhost/flash',200,1); 61 | }); 62 | 63 | it('test js/main.js page', function (done) { 64 | testEndpoint(done,'http://localhost/js/main.js',200); 65 | }); 66 | 67 | it('test css/main.css page', function (done) { 68 | testEndpoint(done,'http://localhost/css/main.css',200); 69 | }); 70 | 71 | }); 72 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/avrdude-rpi/README.md: -------------------------------------------------------------------------------- 1 | Using avrdude with the Raspberry Pi 2 | =================================== 3 | 4 | Since the Raspberry Pi lacks a DTR pin that makes it oh-so-easy to upload your hex files into 5 | the avr, we need this hack to make it just as easy. When you wire up your atmega chip, be sure 6 | to connect one of the digital gpio pins to the reset pin, and then you'll be able to use avrdude 7 | as if your serial cable actually had a dtr pin. 8 | 9 | Instructions: 10 | ------------- 11 | 12 | Install using script: 13 | 14 | $ git clone https://github.com/openenergymonitor/avrdude-rpi.git ~/avrdude-rpi && ~/avrdude-rpi/install 15 | 16 | 17 | Manual Install: 18 | 19 | Copy both files into your /usr/bin directory, then rename the original avrdude to avrdude-original 20 | and symlink avrdude-autoreset to become avrdude. 21 | 22 | $ cp autoreset /usr/bin 23 | $ cp avrdude-autoreset /usr/bin 24 | $ mv /usr/bin/avrdude /usr/bin/avrdude-original 25 | $ ln -s /usr/bin/avrdude-autoreset /usr/bin/avrdude 26 | 27 | Modify the autoreset script to use the pin that you wired up to the reset pin. See the line in 28 | autoreset where we do "pin = 4" and change the 4 to your gpio pin number. 29 | 30 | Now when you run avrdude from anywhere (including via arduino's normal UI) it will flag dtr when 31 | it is about to upload hex data. 32 | 33 | To upload to the RFM12/69Pi (ATmega328 @ 8Mhz): 34 | 35 | $ avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 38400 -U flash:w:sketch_name.hex 36 | 37 | To upload to the emonPi (ATmega328 @ 16Mhz): 38 | 39 | $ avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200 -U flash:w:sketch_name.hex 40 | 41 | http://www.deanmao.com/2012/08/12/fixing-the-dtr-pin/ 42 | 43 | Make sure Python is installed: 44 | 45 | $ sudo apt-get update 46 | $ sudo apt-get install python-dev 47 | $ sudo apt-get install python-rpi.gpio 48 | -------------------------------------------------------------------------------- /resources/scripts/CommsTest.py: -------------------------------------------------------------------------------- 1 | import serial 2 | import time 3 | import sys 4 | import smtplib 5 | import os 6 | 7 | os.system("/home/pi/RPI-CNC-Config-Scripts/scripts/008-GRBL-V1.1E.sh") 8 | time.sleep(2) 9 | os.system("/home/pi/RPI-CNC-Config-Scripts/scripts/008-GRBL-V1.1E.sh") 10 | time.sleep(2) 11 | 12 | ser = serial.Serial('/dev/ttyAMA0',115200,timeout=1) 13 | 14 | 15 | 16 | 17 | # Reset 18 | print("Reset....") 19 | ser.flushInput() 20 | ser.flushOutput() 21 | ser.write("\030") 22 | ser.write("x0y0z0\n") 23 | time.sleep(5) 24 | print(ser.readline()) 25 | print(ser.readline()) 26 | print(ser.readline()) 27 | 28 | maxTries = 900 29 | 30 | def email(subject,msg): 31 | fromaddr = '???' 32 | toaddrs = '???' 33 | 34 | # Credentials (if needed) 35 | username = '???' 36 | password = 'othvpmdvobguhoyw' 37 | 38 | # The actual mail send 39 | server = smtplib.SMTP('smtp.gmail.com:587') 40 | server.starttls() 41 | server.login(username,password) 42 | 43 | server.sendmail(fromaddr, toaddrs, 'Subject: %s\n\n%s' % (subject, msg)) 44 | server.quit() 45 | 46 | def failed(message): 47 | email("CNC-1 Test Failed",message); 48 | sys.exit() 49 | 50 | 51 | def test(x): 52 | temp = 'x' + str(x) + 'y' + str(x) + 'z'+ str(x) 53 | ser.write(temp + "\n") 54 | print(temp) 55 | time.sleep(1) 56 | ser.readline() 57 | ser.write('?') 58 | time.sleep(0.1) 59 | returned = ser.readline() 60 | expected = " 78 | ser.close() 79 | os.system("sudo shutdown -h now") 80 | -------------------------------------------------------------------------------- /resources/scripts/TestSerialPorts.py: -------------------------------------------------------------------------------- 1 | print "How to use: Create a loop back(Short with a jumper) on the Serial Port we are trying to find." 2 | print "" 3 | print "This script will send a character to each serial port and if it receives it back report it as success." 4 | print "" 5 | print "" 6 | print " Hint : Raspberry Pi short GPIO14 and GPIO15. They are the hardware serial pins we want to test." 7 | print "" 8 | print "" 9 | 10 | import sys 11 | import glob 12 | import time 13 | import serial 14 | 15 | serialPortList = ['/dev/ttyAMA0','/dev/ttyS0','/dev/serial0','/dev/serial1','/dev/serial2','/dev/USB0','/dev/USB1'] 16 | 17 | def serial_ports(): 18 | """ Lists serial port names 19 | 20 | :raises EnvironmentError: 21 | On unsupported or unknown platforms 22 | :returns: 23 | A list of the serial ports available on the system 24 | """ 25 | if sys.platform.startswith('win'): 26 | ports = ['COM%s' % (i + 1) for i in range(256)] 27 | elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'): 28 | # this excludes your current terminal "/dev/tty" 29 | ports = glob.glob('/dev/tty[A-Za-z]*') 30 | elif sys.platform.startswith('darwin'): 31 | ports = glob.glob('/dev/tty.*') 32 | else: 33 | raise EnvironmentError('Unsupported platform') 34 | 35 | result = [] 36 | for port in ports: 37 | try: 38 | s = serial.Serial(port) 39 | s.close() 40 | result.append(port) 41 | except (OSError, serial.SerialException): 42 | pass 43 | return result 44 | 45 | def TestSerial(sport): 46 | out = '' 47 | try: 48 | # configure the serial connections (the parameters differs on the device you are connecting to) 49 | ser = serial.Serial( 50 | port=sport, 51 | baudrate=115200 52 | ) 53 | 54 | ser.isOpen() 55 | ser.write('?') 56 | time.sleep(1) 57 | while ser.inWaiting() > 0: 58 | out += ser.read(1) 59 | except: 60 | out = '' 61 | 62 | return '?' in out 63 | 64 | print 'Serial Ports :' + str(serial_ports()) 65 | 66 | for port in serialPortList: 67 | print str(port) + ' : ' + str(TestSerial(port)) 68 | 69 | for port in serial_ports(): 70 | print str(port) + ' : ' + str(TestSerial(port)) 71 | 72 | input("Press Enter to exit...") 73 | -------------------------------------------------------------------------------- /scripts/test/api/test/tests.js: -------------------------------------------------------------------------------- 1 | // ./test/tests.js 2 | 3 | var server = require('../lib/server.js'); 4 | var expect = require('chai').expect; 5 | var request = require('request'); 6 | 7 | var testServer; 8 | 9 | describe('server response', function() { 10 | before(function () { 11 | testServer = server.listen(8000); 12 | }); 13 | 14 | after(function () { 15 | testServer.close(); 16 | }); 17 | 18 | it('test home page', function (done) { 19 | var options = { 20 | url: 'http://localhost:8000', 21 | headers: { 22 | 'Content-Type': 'text/plain' 23 | } 24 | }; 25 | request.get(options, function (err, res, body) { 26 | expect(res.statusCode).to.equal(200); 27 | expect(res.body).to.equal('Home!'); 28 | done(); 29 | }); 30 | }); 31 | 32 | it('test test page', function (done) { 33 | var options = { 34 | url: 'http://localhost:8000/text', 35 | headers: { 36 | 'Content-Type': 'text/plain' 37 | } 38 | }; 39 | request.get(options, function (err, res, body) { 40 | expect(res.statusCode).to.equal(200); 41 | expect(res.body).to.equal('text page'); 42 | done(); 43 | }); 44 | }); 45 | 46 | it('test test page', function (done) { 47 | var options = { 48 | url: 'http://localhost:8000/redirect', 49 | headers: { 50 | 'Content-Type': 'text/plain' 51 | } 52 | }; 53 | request.get(options, function (err, res, body) { 54 | expect(res.statusCode).to.equal(200); 55 | expect(res.body).to.equal('Home!'); 56 | done(); 57 | }); 58 | }); 59 | 60 | it('test test page', function (done) { 61 | var options = { 62 | url: 'http://localhost:8000/json', 63 | headers: { 64 | 'Content-Type': 'text/plain' 65 | } 66 | }; 67 | request.get(options, function (err, res, body) { 68 | expect(res.statusCode).to.equal(200); 69 | expect(res.body).to.equal('{"Name":"Name"}'); 70 | done(); 71 | }); 72 | }); 73 | 74 | it('test test page', function (done) { 75 | var options = { 76 | url: 'http://localhost:8000/index.html', 77 | headers: { 78 | 'Content-Type': 'text/plain' 79 | } 80 | }; 81 | request.get(options, function (err, res, body) { 82 | expect(res.statusCode).to.equal(200); 83 | done(); 84 | }); 85 | }); 86 | 87 | }); 88 | -------------------------------------------------------------------------------- /scripts/test/api/lib/server.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var bodyParser = require('body-parser'); 3 | 4 | var server = module.exports = express(); 5 | 6 | server.use( bodyParser.json() ); // to support JSON-encoded bodies 7 | server.use(bodyParser.urlencoded({ // to support URL-encoded bodies 8 | extended: true 9 | })); 10 | 11 | 12 | server.set('views', __dirname + '/views'); // Views file folder 13 | server.engine('html', require('ejs').renderFile); 14 | server.set('view engine', 'ejs'); 15 | 16 | server.use(express.static(__dirname + '/static')); // Static folder 17 | 18 | 19 | var testEnabled = true; 20 | 21 | // Routes 22 | server.get('/api/enabled', function (req, res) { 23 | var results = {"Enabled":testEnabled}; 24 | res.json(results); 25 | }); 26 | server.post('/api/enabled', function (req, res) { 27 | if(req.body.enable.toUpperCase() === 'TRUE'){ 28 | testEnabled = true; 29 | } else { 30 | testEnabled = false; 31 | } 32 | var results = {"Enabled":testEnabled}; 33 | res.json(results); 34 | }); 35 | 36 | server.get('/api/uploadFirmware', function (req, res) { 37 | var results = {}; 38 | if(!testEnabled){ 39 | results.error = "API not enabled"; 40 | } else { 41 | results.targetFirmware = "firmwaregrbl_v0_9j_atmega328p_16mhz_115200.hex"; 42 | results.result = flash(results.targetFirmware); 43 | } 44 | res.json(results); 45 | }); 46 | 47 | function flash(firmware){ 48 | /* 49 | 50 | var flashResults = ''; 51 | 52 | var exec = require('child_process').exec; 53 | var child = exec('avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200 -U flash:w:./lib/uploads/firmware.hex'); 54 | 55 | child.stdout.on('data', function(data) { 56 | console.log('stdout: ' + data); 57 | flashResults += data; 58 | }); 59 | child.stderr.on('data', function(data) { 60 | console.log('stdout: ' + data); 61 | flashResults += data; 62 | }); 63 | child.on('close', function(code) { 64 | flashResults += 'closing code: ' + code; 65 | return flashResults; 66 | }); 67 | */ 68 | 69 | /* 70 | var execSync = require("exec-sync"); 71 | var results = execSync('avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200 -U flash:w:./lib/uploads/firmware.hex'); 72 | return results; 73 | */ 74 | 75 | const execSync = require('child_process').execSync; 76 | execSync('node -v'); 77 | console.log(execSync.stdout); 78 | return code.toString; 79 | 80 | 81 | }; 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /scripts/test/MegaPinTest/MegaPinTest.ino: -------------------------------------------------------------------------------- 1 | void setup() { 2 | } 3 | 4 | 5 | 6 | void loop() { 7 | 8 | for(int i=0;i<22;i++){ 9 | pinMode(i, OUTPUT); 10 | digitalWrite(i, HIGH); // turn the LED on (HIGH is the voltage level) 11 | delay(200); // wait for a second 12 | digitalWrite(i, LOW); // turn the LED off by making the voltage LOW 13 | } 14 | 15 | for(int i=22;i<53;i=i+2){ 16 | pinMode(i, OUTPUT); 17 | digitalWrite(i, HIGH); // turn the LED on (HIGH is the voltage level) 18 | delay(200); // wait for a second 19 | digitalWrite(i, LOW); // turn the LED off by making the voltage LOW 20 | } 21 | 22 | for(int i=23;i<54;i=i+2){ 23 | pinMode(i, OUTPUT); 24 | digitalWrite(i, HIGH); // turn the LED on (HIGH is the voltage level) 25 | delay(200); // wait for a second 26 | digitalWrite(i, LOW); // turn the LED off by making the voltage LOW 27 | } 28 | 29 | 30 | 31 | pinMode(A0, OUTPUT); 32 | pinMode(A1, OUTPUT); 33 | pinMode(A2, OUTPUT); 34 | pinMode(A3, OUTPUT); 35 | pinMode(A4, OUTPUT); 36 | pinMode(A5, OUTPUT); 37 | pinMode(A6, OUTPUT); 38 | pinMode(A7, OUTPUT); 39 | pinMode(A8, OUTPUT); 40 | pinMode(A9, OUTPUT); 41 | pinMode(A10, OUTPUT); 42 | pinMode(A11, OUTPUT); 43 | pinMode(A12, OUTPUT); 44 | pinMode(A13, OUTPUT); 45 | pinMode(A14, OUTPUT); 46 | pinMode(A15, OUTPUT); 47 | digitalWrite(A0, HIGH);delay(200);digitalWrite(A0, LOW); 48 | digitalWrite(A1, HIGH);delay(200);digitalWrite(A1, LOW); 49 | digitalWrite(A2, HIGH);delay(200);digitalWrite(A2, LOW); 50 | digitalWrite(A3, HIGH);delay(200);digitalWrite(A3, LOW); 51 | digitalWrite(A4, HIGH);delay(200);digitalWrite(A4, LOW); 52 | digitalWrite(A5, HIGH);delay(200);digitalWrite(A5, LOW); 53 | digitalWrite(A6, HIGH);delay(200);digitalWrite(A6, LOW); 54 | digitalWrite(A7, HIGH);delay(200);digitalWrite(A7, LOW); 55 | digitalWrite(A8, HIGH);delay(200);digitalWrite(A8, LOW); 56 | digitalWrite(A9, HIGH);delay(200);digitalWrite(A9, LOW); 57 | digitalWrite(A10, HIGH);delay(200);digitalWrite(A10, LOW); 58 | digitalWrite(A11, HIGH);delay(200);digitalWrite(A11, LOW); 59 | digitalWrite(A12, HIGH);delay(200);digitalWrite(A12, LOW); 60 | digitalWrite(A13, HIGH);delay(200);digitalWrite(A13, LOW); 61 | digitalWrite(A14, HIGH);delay(200);digitalWrite(A14, LOW); 62 | digitalWrite(A15, HIGH);delay(200);digitalWrite(A15, LOW); 63 | 64 | 65 | } -------------------------------------------------------------------------------- /scripts/tcp_serial_redirect.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Redirect data from a TCP/IP connection to a serial port and vice versa. 4 | # 5 | # (C) 2002-2016 Chris Liechti 6 | # 7 | # SPDX-License-Identifier: BSD-3-Clause 8 | 9 | import sys 10 | import socket 11 | import serial 12 | import serial.threaded 13 | import time 14 | 15 | 16 | class SerialToNet(serial.threaded.Protocol): 17 | """serial->socket""" 18 | 19 | def __init__(self): 20 | self.socket = None 21 | 22 | def __call__(self): 23 | return self 24 | 25 | def data_received(self, data): 26 | if self.socket is not None: 27 | self.socket.sendall(data) 28 | 29 | 30 | if __name__ == '__main__': # noqa 31 | import argparse 32 | 33 | parser = argparse.ArgumentParser( 34 | description='Simple Serial to Network (TCP/IP) redirector.', 35 | epilog="""\ 36 | NOTE: no security measures are implemented. Anyone can remotely connect 37 | to this service over the network. 38 | 39 | Only one connection at once is supported. When the connection is terminated 40 | it waits for the next connect. 41 | """) 42 | 43 | parser.add_argument( 44 | 'SERIALPORT', 45 | help="serial port name") 46 | 47 | parser.add_argument( 48 | 'BAUDRATE', 49 | type=int, 50 | nargs='?', 51 | help='set baud rate, default: %(default)s', 52 | default=9600) 53 | 54 | parser.add_argument( 55 | '-q', '--quiet', 56 | action='store_true', 57 | help='suppress non error messages', 58 | default=False) 59 | 60 | parser.add_argument( 61 | '--develop', 62 | action='store_true', 63 | help='Development mode, prints Python internals on errors', 64 | default=False) 65 | 66 | group = parser.add_argument_group('serial port') 67 | 68 | group.add_argument( 69 | "--bytesize", 70 | choices=[5, 6, 7, 8], 71 | type=int, 72 | help="set bytesize, one of {5 6 7 8}, default: 8", 73 | default=8) 74 | 75 | group.add_argument( 76 | "--parity", 77 | choices=['N', 'E', 'O', 'S', 'M'], 78 | type=lambda c: c.upper(), 79 | help="set parity, one of {N E O S M}, default: N", 80 | default='N') 81 | 82 | group.add_argument( 83 | "--stopbits", 84 | choices=[1, 1.5, 2], 85 | type=float, 86 | help="set stopbits, one of {1 1.5 2}, default: 1", 87 | default=1) 88 | 89 | group.add_argument( 90 | '--rtscts', 91 | action='store_true', 92 | help='enable RTS/CTS flow control (default off)', 93 | default=False) 94 | 95 | group.add_argument( 96 | '--xonxoff', 97 | action='store_true', 98 | help='enable software flow control (default off)', 99 | default=False) 100 | 101 | group.add_argument( 102 | '--rts', 103 | type=int, 104 | help='set initial RTS line state (possible values: 0, 1)', 105 | default=None) 106 | 107 | group.add_argument( 108 | '--dtr', 109 | type=int, 110 | help='set initial DTR line state (possible values: 0, 1)', 111 | default=None) 112 | 113 | group = parser.add_argument_group('network settings') 114 | 115 | exclusive_group = group.add_mutually_exclusive_group() 116 | 117 | exclusive_group.add_argument( 118 | '-P', '--localport', 119 | type=int, 120 | help='local TCP port', 121 | default=7777) 122 | 123 | exclusive_group.add_argument( 124 | '-c', '--client', 125 | metavar='HOST:PORT', 126 | help='make the connection as a client, instead of running a server', 127 | default=False) 128 | 129 | args = parser.parse_args() 130 | 131 | # connect to serial port 132 | ser = serial.serial_for_url(args.SERIALPORT, do_not_open=True) 133 | ser.baudrate = args.BAUDRATE 134 | ser.bytesize = args.bytesize 135 | ser.parity = args.parity 136 | ser.stopbits = args.stopbits 137 | ser.rtscts = args.rtscts 138 | ser.xonxoff = args.xonxoff 139 | 140 | if args.rts is not None: 141 | ser.rts = args.rts 142 | 143 | if args.dtr is not None: 144 | ser.dtr = args.dtr 145 | 146 | if not args.quiet: 147 | sys.stderr.write( 148 | '--- TCP/IP to Serial redirect on {p.name} {p.baudrate},{p.bytesize},{p.parity},{p.stopbits} ---\n' 149 | '--- type Ctrl-C / BREAK to quit\n'.format(p=ser)) 150 | 151 | try: 152 | ser.open() 153 | except serial.SerialException as e: 154 | sys.stderr.write('Could not open serial port {}: {}\n'.format(ser.name, e)) 155 | sys.exit(1) 156 | 157 | ser_to_net = SerialToNet() 158 | serial_worker = serial.threaded.ReaderThread(ser, ser_to_net) 159 | serial_worker.start() 160 | 161 | if not args.client: 162 | srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 163 | srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 164 | srv.bind(('', args.localport)) 165 | srv.listen(1) 166 | try: 167 | intentional_exit = False 168 | while True: 169 | if args.client: 170 | host, port = args.client.split(':') 171 | sys.stderr.write("Opening connection to {}:{}...\n".format(host, port)) 172 | client_socket = socket.socket() 173 | try: 174 | client_socket.connect((host, int(port))) 175 | except socket.error as msg: 176 | sys.stderr.write('WARNING: {}\n'.format(msg)) 177 | time.sleep(5) # intentional delay on reconnection as client 178 | continue 179 | sys.stderr.write('Connected\n') 180 | client_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) 181 | #~ client_socket.settimeout(5) 182 | else: 183 | sys.stderr.write('Waiting for connection on {}...\n'.format(args.localport)) 184 | client_socket, addr = srv.accept() 185 | sys.stderr.write('Connected by {}\n'.format(addr)) 186 | # More quickly detect bad clients who quit without closing the 187 | # connection: After 1 second of idle, start sending TCP keep-alive 188 | # packets every 1 second. If 3 consecutive keep-alive packets 189 | # fail, assume the client is gone and close the connection. 190 | try: 191 | client_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 1) 192 | client_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 1) 193 | client_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 3) 194 | client_socket.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) 195 | except AttributeError: 196 | pass # XXX not available on windows 197 | client_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) 198 | try: 199 | ser_to_net.socket = client_socket 200 | # enter network <-> serial loop 201 | while True: 202 | try: 203 | data = client_socket.recv(1024) 204 | if not data: 205 | break 206 | ser.write(data) # get a bunch of bytes and send them 207 | except socket.error as msg: 208 | if args.develop: 209 | raise 210 | sys.stderr.write('ERROR: {}\n'.format(msg)) 211 | # probably got disconnected 212 | break 213 | except KeyboardInterrupt: 214 | intentional_exit = True 215 | raise 216 | except socket.error as msg: 217 | if args.develop: 218 | raise 219 | sys.stderr.write('ERROR: {}\n'.format(msg)) 220 | finally: 221 | ser_to_net.socket = None 222 | sys.stderr.write('Disconnected\n') 223 | client_socket.close() 224 | if args.client and not intentional_exit: 225 | time.sleep(5) # intentional delay on reconnection as client 226 | except KeyboardInterrupt: 227 | pass 228 | 229 | sys.stderr.write('\n--- exit ---\n') 230 | serial_worker.stop() 231 | -------------------------------------------------------------------------------- /scripts/wip/WebAVRFlasher/LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /scripts/test/grbl_v0_9j_atmega328p_16mhz_115200.hex: -------------------------------------------------------------------------------- 1 | :100000000C9426040C9438040C9438040C94622943 2 | :100010000C94FA310C9438040C9438040C94380481 3 | :100020000C9438040C9438040C9438040C94E116A5 4 | :100030000C9438040C9438040C9438040C94380450 5 | :100040000C94FA180C9438040C9471140C94331416 6 | :100050000C9438040C9438040C9438040C94380430 7 | :100060000C9438040C9438043A0B1E131E13440BE2 8 | :10007000510B5E0B6B0B1E136F0B1E137D0B1E13B0 9 | :10008000870B910BC20B1E131E131E139B0BA80B89 10 | :10009000B50BE211F3111212F311161229121C12F0 11 | :1000A00022123E12441253126A128E129812A41295 12 | :1000B000AE12B022B622B922BC22C122C922D3225A 13 | :1000C0003F233F233F23DB22DE22E722F0223F2390 14 | :1000D0003F233F233F233F233F23F82202230E23C6 15 | :1000E0001623192322232B233123552D582D5D2D23 16 | :1000F000602D632D662D692D6C2D6F2D722D752D44 17 | :10010000812D812D812D812D812D812D812D812D7F 18 | :100110007B2D782D7E2DC82DCB2DCE2DD12DD42D00 19 | :10012000D72DDA2DDD2D084AD73B3BCE016E84BC9E 20 | :10013000BFFDC12F3D6C74319ABD56833DDA3D0041 21 | :10014000C77F11BED9E4BB4C3E916BAAAABE00008A 22 | :1001500000803F05A84CCDB2D44EB93836A9020C68 23 | :1001600050B9918688083CA6AAAA2ABE0000008041 24 | :100170003F003E0D0A002C4C696D3A002C52583A53 25 | :10018000002C4275663A002C002C57506F733A00D1 26 | :100190002C002C4D506F733A003C446F6F72003C42 27 | :1001A000436865636B003C416C61726D003C486F55 28 | :1001B0006D65003C486F6C64003C52756E003C49B4 29 | :1001C000646C65005D0D0A005B302E396A2E32309A 30 | :1001D0003136303331363A000D0A003D00244E00EE 31 | :1001E0005D0D0A00205300204600205400204D38A9 32 | :1001F00000204D3900204D3500204D3400204D3376 33 | :1002000000204D3200204D3100204D300020473974 34 | :100210003400204739330020473931002047393036 35 | :10022000002047323000204732310020473139006A 36 | :100230002047313800204731370020470047333806 37 | :100240002E0047383000473300473200473100471F 38 | :1002500030005B005D0D0A005B544C4F3A005D0DB1 39 | :100260000A002C005B4739323A005D0D0A002C0071 40 | :100270003A003330003238005B47005D0D0A003A27 41 | :10028000002C005B5052423A00290D0A00206D619B 42 | :10029000782074726176656C2C206D6D002061632E 43 | :1002A00063656C2C206D6D2F7365635E3200206D6D 44 | :1002B000617820726174652C206D6D2F6D696E0000 45 | :1002C0002C20737465702F6D6D007A0079007800B2 46 | :1002D0002028003D0024002028686F6D696E67208B 47 | :1002E00070756C6C2D6F66662C206D6D290D0A0083 48 | :1002F0002028686F6D696E67206465626F756E6334 49 | :10030000652C206D736563290D0A2432373D00206A 50 | :1003100028686F6D696E67207365656B2C206D6D45 51 | :100320002F6D696E290D0A2432363D002028686F32 52 | :100330006D696E6720666565642C206D6D2F6D6933 53 | :100340006E290D0A2432353D00290D0A2432343D30 54 | :10035000002028686F6D696E672064697220696E7D 55 | :1003600076657274206D61736B3A002028686F6D3A 56 | :10037000696E67206379636C652C20626F6F6C29EE 57 | :100380000D0A2432333D00202868617264206C69B4 58 | :100390006D6974732C20626F6F6C290D0A243232E0 59 | :1003A0003D002028736F6674206C696D6974732C2E 60 | :1003B00020626F6F6C290D0A2432313D00202872B3 61 | :1003C00065706F727420696E636865732C20626F4C 62 | :1003D0006F6C290D0A2432303D00202861726320A1 63 | :1003E000746F6C6572616E63652C206D6D290D0AEA 64 | :1003F0002431333D0020286A756E6374696F6E2066 65 | :10040000646576696174696F6E2C206D6D290D0AC3 66 | :100410002431323D00290D0A2431313D002028735A 67 | :100420007461747573207265706F7274206D61737E 68 | :100430006B3A00202870726F62652070696E2069C7 69 | :100440006E766572742C20626F6F6C290D0A2431F0 70 | :10045000303D0020286C696D69742070696E7320CE 71 | :10046000696E766572742C20626F6F6C290D0A2498 72 | :10047000363D0020287374657020656E61626C657E 73 | :1004800020696E766572742C20626F6F6C290D0A7C 74 | :1004900024353D00290D0A24343D0020286469726A 75 | :1004A00020706F727420696E76657274206D61734E 76 | :1004B0006B3A00290D0A24333D00202873746570BF 77 | :1004C00020706F727420696E76657274206D61732E 78 | :1004D0006B3A002028737465702069646C65206431 79 | :1004E000656C61792C206D736563290D0A24323D9A 80 | :1004F000002028737465702070756C73652C2075EE 81 | :10050000736563290D0A24313D0024303D00242405 82 | :10051000202876696577204772626C207365747451 83 | :10052000696E6773290D0A24232028766965772070 84 | :100530002320706172616D6574657273290D0A24E0 85 | :100540004720287669657720706172736572207321 86 | :1005500074617465290D0A2449202876696577201D 87 | :100560006275696C6420696E666F290D0A244E20DD 88 | :100570002876696577207374617274757020626C77 89 | :100580006F636B73290D0A24783D76616C75652065 90 | :100590002873617665204772626C20736574746994 91 | :1005A0006E67290D0A244E783D6C696E65202873AC 92 | :1005B000617665207374617274757020626C6F630C 93 | :1005C0006B290D0A24432028636865636B206763E9 94 | :1005D0006F6465206D6F6465290D0A245820286BAF 95 | :1005E000696C6C20616C61726D206C6F636B290D9E 96 | :1005F0000A2448202872756E20686F6D696E672026 97 | :100600006379636C65290D0A7E20286379636C65C4 98 | :10061000207374617274290D0A212028666565644F 99 | :1006200020686F6C64290D0A3F202863757272651B 100 | :100630006E7420737461747573290D0A6374726C1F 101 | :100640002D7820287265736574204772626C290DBD 102 | :100650000A000D0A4772626C20302E396A205B272F 103 | :10066000242720666F722068656C705D0D0A005D3E 104 | :100670000D0A00526573746F72696E672064656657 105 | :1006800061756C74730050676D20456E640043683B 106 | :1006900065636B20446F6F720044697361626C65BF 107 | :1006A0006400456E61626C65640043617574696FD6 108 | :1006B0006E3A20556E6C6F636B6564002724482783 109 | :1006C0007C2724582720746F20756E6C6F636B0035 110 | :1006D000526573657420746F20636F6E74696E75F4 111 | :1006E00065005B000D0A00486F6D696E67206661EA 112 | :1006F000696C0050726F6265206661696C004162CE 113 | :100700006F727420647572696E67206379636C65BB 114 | :1007100000536F6674206C696D697400486172647F 115 | :10072000206C696D697400414C41524D3A20000DB6 116 | :100730000A00496E76616C69642067636F646520A6 117 | :1007400049443A00556E646566696E656420666565 118 | :100750006564207261746500556E737570706F7298 119 | :1007600074656420636F6D6D616E64004D6F6461CC 120 | :100770006C2067726F75702076696F6C6174696F39 121 | :100780006E004C696E65206F766572666C6F7700DF 122 | :10079000486F6D696E67206E6F7420656E61626C64 123 | :1007A000656400416C61726D206C6F636B004E6F0D 124 | :1007B000742069646C6500454550524F4D20726548 125 | :1007C0006164206661696C2E205573696E672064D0 126 | :1007D000656661756C74730056616C7565203C20AC 127 | :1007E0003320757365630053657474696E672064A4 128 | :1007F000697361626C65640056616C7565203C20AC 129 | :100800003000496E76616C69642073746174656D43 130 | :10081000656E7400426164206E756D62657220665B 131 | :100820006F726D61740045787065637465642063F0 132 | :100830006F6D6D616E64206C6574746572006572B5 133 | :10084000726F723A20006F6B0D0A000011241FBEF8 134 | :10085000CFEFD8E0DEBFCDBF26E0A0E0B1E001C021 135 | :100860001D92AE3CB207E1F70E943A040C94533853 136 | :100870000C9400000E9401140E944B230E947819DE 137 | :100880000E94E9318EE1E7E2F5E0DF011D928A95F1 138 | :10089000E9F781E08093270578948091BD0684FF75 139 | :1008A00003C081E0809328050E94CF140E94FD08B8 140 | :1008B0000E9450130E94D9130E9411290E940B2DEF 141 | :1008C0000E9491240E944C190E94E1270E940F0966 142 | :1008D00010922705109245051092470510922905A0 143 | :1008E00010922A050E940316DFCFEF92FF921F930A 144 | :1008F000CF93DF9300D000D0CDB7DEB77C01122FAD 145 | :100900008091BD0685FF0BC0C70149835A836B8365 146 | :100910007C830E946F2B7C816B815A8149818091FD 147 | :100920002805823031F149835A836B837C830E948E 148 | :10093000D4148091270581111CC00E94E0244981B4 149 | :100940005A816B817C81882339F00E94FA15498194 150 | :100950005A816B817C81E7CF212FC7010F900F90C7 151 | :100960000F900F90DF91CF911F91FF90EF900C941B 152 | :10097000E8240F900F900F900F90DF91CF911F916F 153 | :10098000FF90EF9008952F923F924F925F926F9257 154 | :100990007F928F929F92AF92BF92CF92DF92EF920F 155 | :1009A000FF920F931F93CF93DF93CDB7DEB7E797F7 156 | :1009B0000FB6F894DEBF0FBECDBF9C8B8B8B1B0197 157 | :1009C0003A0109871A872B873C87AF8A2D961FAD7E 158 | :1009D0002D972E962FAD2E97298B2F963FAD2F97C3 159 | :1009E0003D8B84E0889EA00111245A834983AB8902 160 | :1009F000BC89A40FB51FB98FA88F460D571D5B8FFB 161 | :100A00004A8FFA0180809180A280B3802D913D9120 162 | :100A10004D915C91C501B4010E9401346C8F7D8FB2 163 | :100A20008E8F9F8FF4E01F9F800111242B893C89BA 164 | :100A3000200F311F39A328A3A301400F511F5BA32F 165 | :100A40004AA3DA014D905D906D907C90F901208170 166 | :100A5000318142815381C301B2010E9401346CA3F0 167 | :100A60007DA38EA39FA3A501940150582D873E8797 168 | :100A70004F87588BD301C201B0588D839E83AF83BB 169 | :100A8000B887E981FA81E20DF31D2C8D3D8D4E8DE5 170 | :100A90005F8D60817181828193810E9400342B017E 171 | :100AA0003C01F101E00FF11F2CA13DA14EA15FA17E 172 | :100AB00060817181828193810E9400344B015C01CD 173 | :100AC000A30192016D857E858F8598890E941837D4 174 | :100AD00069837A838B839C83A50194016D817E81D8 175 | :100AE0008F8198850E9418379B01AC0169817A81BA 176 | :100AF0008B819C810E94013469837A838B839C83E0 177 | :100B0000A50194016D857E858F8598890E9418378F 178 | :100B10004B015C01A30192016D817E818F819885DB 179 | :100B20000E9418379B01AC01C501B4010E9400343A 180 | :100B300029813A814B815C810E9474342B013C01F4 181 | :100B40009D89992399F02DEB37E346E055EBC301DE 182 | :100B5000B2010E94DD3687FD1DC02BED3FE049EC60 183 | :100B600050E4C301B2010E94003412C02DEB37E300 184 | :100B700046E055E3C301B2010E94DA34181654F07E 185 | :100B80002BED3FE049EC50E4C301B2010E94013477 186 | :100B90002B013C018090B9069090BA06A090BB064C 187 | :100BA000B090BC0629853A854B855C85CA01B901A0 188 | :100BB0000E940134A50194010E9400349B01AC0104 189 | :100BC000C501B4010E9418370E94A5374B015C0192 190 | :100BD00020E030E040E05FE3C301B2010E9418373B 191 | :100BE00029853A854B855C850E9418379F77A5013A 192 | :100BF00094010E94E1340E94B7350E944E357E8BED 193 | :100C00006D8BDB01AB2B09F486C14B01A12CB12C00 194 | :100C1000BF89BB2361F0C501B4010E947A359B01F5 195 | :100C2000AC01C701B6010E9418376B017C01C501F8 196 | :100C3000B4010E947A354B015C019B01AC01C301F8 197 | :100C4000B2010E94E13469877A878B879C87F98992 198 | :100C5000E4E0FE9FC00111242B893C89280F391F35 199 | :100C60003A8B298BF101E80FF91FD9012D913D91A4 200 | :100C70004D915C9160817181828193810E940034E9 201 | :100C8000A50194010E94E1346CAB7DAB8EAB9FABB0 202 | :100C900029853A854B855C85CA01B9010E941837C0 203 | :100CA0009B01AC0160E070E080E090E40E940034C1 204 | :100CB0004B015C012BEA3AEA4AE25EE369857A85F8 205 | :100CC0008B859C850E9418372B013C0120E030E089 206 | :100CD00040E850E4C501B4010E9401349B01AC011D 207 | :100CE000C301B2010E94183768A779A78AA79BA7FA 208 | :100CF00020E030E040E05FE3C501B4010E94183716 209 | :100D00006CA77DA78EA79FA7198201E010E0ED894F 210 | :100D1000FE890E171F0709F4FEC0B981BC3008F028 211 | :100D20004AC02CA53DA54EA55FA56D817E818F8112 212 | :100D300098850E9418374B015C0128A539A54AA562 213 | :100D40005BA56D857E858F8598890E941837A501E2 214 | :100D500094010E940134B62EA72E982E892E2CA520 215 | :100D60003DA54EA55FA56D857E858F8598890E94DE 216 | :100D700018372B013C0128A539A54AA55BA56D8133 217 | :100D80007E818F8198850E9418379B01AC01C30139 218 | :100D9000B2010E9400346D877E878F87988BE9812E 219 | :100DA000EF5FE9838B2D9A2DA92DB82D8D839E831E 220 | :100DB000AF83B8876EC0B80180E090E00E947A35BA 221 | :100DC00029853A854B855C850E9418374B015C016B 222 | :100DD0000E94DE346D837E838F839887C501B401C2 223 | :100DE0000E949B374B015C01EA8DFB8D80819181D4 224 | :100DF000A281B3819C01AD01505829833A834B8372 225 | :100E00005C83AAA1BBA18D919D910D90BC91A02D59 226 | :100E100088AB99ABAAABBBAB2D813E814F81588586 227 | :100E200069817A818B819C810E9418372B013C015A 228 | :100E3000A501940168A979A98AA99BA90E941837DC 229 | :100E40009B01AC01C301B2010E9401346D877E8712 230 | :100E50008F87988BA501940169817A818B819C8110 231 | :100E60000E9418374B015C012D813E814F815885CE 232 | :100E700068A979A98AA99BA90E9418379B01AC018E 233 | :100E8000C501B4010E9400346D837E838F839887EF 234 | :100E900019822D853E854F8558896C8D7D8D8E8D6F 235 | :100EA0009F8D0E940134E88DF98D60837183828368 236 | :100EB00093832D813E814F8158856CA17DA18EA1A8 237 | :100EC0009FA10E940134A8A1B9A16D937D938D9338 238 | :100ED0009C9313972CA93DA94EA95FA9E989FA898A 239 | :100EE00060817181828193810E940134A989BA89CC 240 | :100EF0006D937D938D939C9313972F89B701A601D2 241 | :100F00008B899C890E94750480912705811121C0DD 242 | :100F10000F5F1F4FFCCE2F89B701A601C101E796D5 243 | :100F20000FB6F894DEBF0FBECDBFDF91CF911F91FA 244 | :100F30000F91FF90EF90DF90CF90BF90AF909F9078 245 | :100F40008F907F906F905F904F903F902F900C9478 246 | :100F50007504E7960FB6F894DEBF0FBECDBFDF91E4 247 | :100F6000CF911F910F91FF90EF90DF90CF90BF90A6 248 | :100F7000AF909F908F907F906F905F904F903F9039 249 | :100F80002F9008958F929F92AF92BF92CF92DF924F 250 | :100F9000EF92FF924B015C0180912805823009F4A9 251 | :100FA00047C020E030E040EA51E4C501B4010E94AE 252 | :100FB00018370E94B7350E944E356B017C010E94A4 253 | :100FC000851620E030E04AE754E4C501B4010E94F0 254 | :100FD00018374B015C0182E38C9DB0018D9D700D33 255 | :100FE000112480E090E00E947A359B01AC01C5019C 256 | :100FF000B4010E9400340E94B7350E944E35CB01E7 257 | :101000000E94D528C114D10499F00E94D41421E083 258 | :10101000C21AD1088091270581110AC08FEF90E78D 259 | :1010200022E0815090402040E1F700C00000EACF6C 260 | :10103000FF90EF90DF90CF90BF90AF909F908F90F8 261 | :1010400008950E94062984E00E94962983E00E9468 262 | :1010500096290E94D41480912705811104C00E9412 263 | :101060000F090C9411290895CF92DF92EF920F93FC 264 | :10107000CF93DF9300D000D01F92CDB7DEB76C01C5 265 | :1010800080912805823009F481C02D8349835A83D9 266 | :101090006B837C830E94851610924305802F0E94EB 267 | :1010A0000E2D0E94202D2D8149815A816B817C81DA 268 | :1010B0008823A1F09FB7F8948091470580618093C1 269 | :1010C00047059FBF2D8349835A836B837C830E948E 270 | :1010D000D4147C816B815A8149812D8180912705AF 271 | :1010E000811154C0C6010E94750481E080934605B9 272 | :1010F0009FB7F894809145058260809345059FBF16 273 | :101100000E94D41480912705811140C08091280548 274 | :101110008111F6CF809146058130A9F4EE2051F07F 275 | :101120008CE0EBE2F5E0A7E3B5E001900D928A9543 276 | :10113000E1F70CC09FB7F8948091470580618093D8 277 | :1011400047059FBF03C081E0809343051092460589 278 | :101150000E94D41480912705811118C00E944C1957 279 | :101160000E9491240E94E1276BE275E0C6010E9473 280 | :10117000E6330F900F900F900F900F90DF91CF916B 281 | :101180000F91EF90DF90CF900C944F2F0F900F9016 282 | :101190000F900F900F90DF91CF910F91EF90DF9014 283 | :1011A000CF9008958091450584FD26C09FB7F8949F 284 | :1011B000809145058061809345059FBF0E944A1339 285 | :1011C0000E94D71380912805982F9C7021F490914C 286 | :1011D0002905913089F49FB7843029F4F8948091DF 287 | :1011E0004705806204C0F894809147058860809329 288 | :1011F00047059FBF0C94B61608958FE3E8E4F5E029 289 | :10120000DF011D928A95E9F76BE675E080E00E94A8 290 | :101210001022811103C087E00C943F2D08956BE2EA 291 | :1012200075E08FE595E00C94E6332F923F924F9254 292 | :101230005F926F927F928F929F92AF92BF92CF9266 293 | :10124000DF92EF92FF920F931F93CF93DF93CDB76F 294 | :10125000DEB7AB970FB6F894DEBF0FBECDBF98A335 295 | :101260008F8F89E3E7E8F5E0DF011D928A95E9F7C2 296 | :101270008AE0E8E4F5E0A8E8B5E001900D928A95EF 297 | :10128000E1F71D8E212C312CA12CB12C19A2512C4F 298 | :101290001E8E66246394712C08E0402E992493944A 299 | :1012A00085E0882E8D8DEF8DF8A1E80FF11D00816E 300 | :1012B000002309F48AC29FEB900F9A3110F00C942E 301 | :1012C00010138F5F8D8FAE01475E5F4FBE01635E6F 302 | :1012D0007F4F8F8D98A10E942328882311F40C94AE 303 | :1012E0001213C98CDA8CEB8CFC8CC701B6010E94FE 304 | :1012F000E6370E944E35162F70E080E090E00E94A5 305 | :101300007C359B01AC01C701B6010E94003420E08E 306 | :1013100030E048EC52E40E9418370E947B370E946C 307 | :101320004E35073421F00D3409F450C192C1183202 308 | :1013300009F432C1E8F4143160F4113108F0D7C077 309 | :10134000143009F45AC008F48EC01A30D9F10C9444 310 | :101350001E131C31B9F128F4163108F4F7C00C94AF 311 | :101360001E131E3179F1163209F47DC00C941E1340 312 | :101370001D3309F40BC1A8F4153309F461C040F41E 313 | :101380001B3209F4ECC0113309F4E9C00C941E13AC 314 | :101390001C3310F00C941E13165310938E0589E025 315 | :1013A00000C11C3540F41A3508F0B0C0103509F4FE 316 | :1013B0009BC00C941E131C3529F01F3508F4BDC0CA 317 | :1013C0000C941E136115710531F4BE8DB1110C948E 318 | :1013D0001413E1E0EE8F1C3199F038F4143069F009 319 | :1013E0001A3009F0DBC082E02CC0153349F11C35FE 320 | :1013F00059F11E3109F0D2C013C090928705CEC0BA 321 | :101400006115710549F06A30710511F00C941E13D5 322 | :1014100024E02093870509C0F3E0F093870505C019 323 | :101420006115710521F48092870580E0BFC06A30A4 324 | :10143000710511F00C941E1336E030938705F5CF3B 325 | :1014400087E080938705AAC06115710549F06A306D 326 | :10145000710511F00C941E1399E090938705E5CF68 327 | :1014600040928705E2CFAE8DA1110C941413B2E027 328 | :10147000BE8F123089F028F4112359F0113081F019 329 | :101480008FC0163281F0103579F1133009F088C021 330 | :1014900007C01092880584C0EE8DE093880580C057 331 | :1014A000109388057DC06E317105B1F048F4643148 332 | :1014B000710511F00C941E13F4E0F093880512C02E 333 | :1014C0006832710561F06233710511F00C941E13DE 334 | :1014D00037E03093880506C08092880503C026E077 335 | :1014E0002093880581E062C04092880559C012317E 336 | :1014F00029F0133139F010928C0502C090928C05BE 337 | :1015000082E04FC082E080938C054BC0611571056D 338 | :1015100049F41A3519F410928B0502C090928B058C 339 | :1015200083E044C06A30710511F00C941E131A3523 340 | :1015300011F40C941E1384E039C01D3519F49092F7 341 | :10154000890502C01092890585E02BC0143119F479 342 | :1015500090928A0502C010928A0586E022C08E8D84 343 | :1015600081110C941413113331F410928D0588E01D 344 | :1015700093E09E8F1BC06A30710511F00C941E130E 345 | :1015800090928D0588E0A3E0AE8F10C0672B11F01C 346 | :101590000C941E138AE00AC087E003C080E001C0FB 347 | :1015A00081E0672B19F087E10C943113F30102C03D 348 | :1015B000EE0FFF1F8A95E2F7CF019F012A213B2101 349 | :1015C000232B09F443C085E10C943113672B59F7A1 350 | :1015D000163018F4133058F017C0183010F40C946B 351 | :1015E0001E131A3000F11E3159F00C941E131230E4 352 | :1015F00039F01E3129F0111120C090928F051DC0C5 353 | :1016000082E080938F0519C0143029F0153039F02D 354 | :101610009092910506C082E08093910502C01092DD 355 | :1016200091058CE00BC0193021F082E08093900589 356 | :1016300002C0109290058DE001C08BE0930102C0C2 357 | :10164000220F331F8A95E2F7C901B8CFA82AB92A19 358 | :1016500029CE802F992787FD9095A92FB92FFC01BE 359 | :10166000E654F109E531F10508F0E8C7EC5CFF4FFD 360 | :101670000C943338C0929205D0929305E092940571 361 | :10168000F092950580E07FC0C0929605D0929705B4 362 | :10169000E0929805F092990539A1316039A381E073 363 | :1016A00072C0C0929A05D0929B05E0929C05F09280 364 | :1016B0009D0589A1826089A382E065C0C0929E05D4 365 | :1016C000D0929F05E092A005F092A10599A19460A7 366 | :1016D00099A383E058C01093A20584E054C0C701C9 367 | :1016E000B6010E9449356093A3057093A4058093C9 368 | :1016F000A5059093A60585E046C0C092A705D092A7 369 | :10170000A805E092A905F092AA0586E03CC0C09227 370 | :10171000AB05D092AC05E092AD05F092AE0587E046 371 | :1017200032C0C092AF05D092B005E092B105F09200 372 | :10173000B20588E028C0C092B405D092B505E09209 373 | :10174000B605F092B705A52DA1605A2E8AE01BC000 374 | :10175000C092B805D092B905E092BA05F092BB05E7 375 | :10176000B52DB2605B2E8BE00EC0C092BC05D0924E 376 | :10177000BD05E092BE05F092BF05E52DE4605E2E4A 377 | :101780008CE001C089E08301082E02C0000F111F08 378 | :101790000A94E2F7980122213321232B09F046C74E 379 | :1017A00021E633E002C0359527958A95E2F720FFC0 380 | :1017B00009C020E030E0A901C701B6010E94DA3477 381 | :1017C00087FD36C7202A312A6DCD552029F03E8D60 382 | :1017D000311102C082E08E8F25FE0EC08091A305DC 383 | :1017E0009091A405A091A505B091A60580389649D1 384 | :1017F000A849B1050CF01EC780918905813031F4EC 385 | :10180000FE8DF230A1F520FE1FC731C08091490541 386 | :1018100081112DC020FE1BC080918A05813039F5D1 387 | :1018200023E333E34BEC51E460919205709193050F 388 | :1018300080919405909195050E94183760939205C8 389 | :1018400070939305809394059093950510C08091B3 390 | :10185000560590915705A0915805B0915905809370 391 | :10186000920590939305A0939405B093950530FC51 392 | :1018700010C08091520590915305A0915405B091EC 393 | :1018800055058093AF059093B005A093B105B09333 394 | :10189000B20580918705813031F426FC02C08CE1CD 395 | :1018A000E0C6E89426F880918C05882341F08130C9 396 | :1018B00061F019A682E088A791E09FA30BC022E007 397 | :1018C00029A731E038A71FA205C0A1E0A9A718A643 398 | :1018D000B2E0BFA380918A05813021F0EE8DE33024 399 | :1018E00091F52AC0B4EBEB2EB5E0FB2E00E010E042 400 | :1018F000C52CD12CC601002E02C0959587950A945F 401 | :10190000E2F780FF10C023E333E34BEC51E4D7014F 402 | :101910006D917D918D919C910E941837F7016083A4 403 | :101920007183828393830F5F1F4FF4E0EF0EF11CEE 404 | :1019300003301105F9F6D2CF80918D05813019F46D 405 | :1019400024E0521279C68CE0EBE6F5E0DE011D964C 406 | :1019500001900D928A95E1F7B1FC09C0309187059D 407 | :101960003F8F3230B9F0383009F4B0C015C18091E2 408 | :101970008E05873010F08DE174C690914E05981752 409 | :1019800069F3BE01635F7F4F0E941022882309F430 410 | :1019900065C6E4CF511002C08AE163C6C1018075FB 411 | :1019A0009927892B09F47BCF6091A7057091A80531 412 | :1019B0008091A9059091AA050E94E6370E944E35B4 413 | :1019C0006730C8F68091A205843129F0823009F091 414 | :1019D00035C627FC33C68FEA2822662319F06150EA 415 | :1019E0006F8F03C090918E059F8FBE016F5F7F4FF9 416 | :1019F0008F8D0E941022882309F430C64090A205E2 417 | :101A00006090830570908405809085059090860590 418 | :101A1000DE0111967D01F4EBCF2EF5E0DF2EAFE570 419 | :101A2000AA2EA5E0BA2E00E010E0E52DF0E0FEA31E 420 | :101A3000EDA38DA19EA1002E02C0959587950A94D5 421 | :101A4000E2F780FF33C0F4E14F1226C0D50158966B 422 | :101A50002D913D914D915C915B976D917D918D9113 423 | :101A60009C910E940034F601208131814281538192 424 | :101A70000E940034D7016D937D938D939C931397AF 425 | :101A80000230A1F4A40193010E940034F7016083A5 426 | :101A90007183828393830AC0F60180819181A28140 427 | :101AA000B381F70180839183A283B3830F5F1F4FBC 428 | :101AB000F4E0EF0EF11C24E0C20ED11C34E0A30EC2 429 | :101AC000B11C0330110509F0B4CF0FC1552009F442 430 | :101AD00063CF609083057090840580908505909019 431 | :101AE000860504EB15E0EFE5CE2EE5E0DE2E5E0187 432 | :101AF0008DE0A80EB11CE12CF12CA52DB0E0B8A30F 433 | :101B0000AF8F8F8D98A10E2C02C0959587950A9462 434 | :101B1000E2F780FF26C0F5012081318142815381A7 435 | :101B2000D6016D917D918D919C910E940034F801B8 436 | :101B300020813181428153810E940034D8016D930C 437 | :101B40007D938D939C931397B2E0EB1214C0A40184 438 | :101B500093010E940034F801608371838283938330 439 | :101B60000AC0F601808D918DA28DB38DF80180831E 440 | :101B70009183A283B383FFEFEF1AFF0A0C5F1F4F1D 441 | :101B800024E0C20ED11C34E0A30EB11C83E0E816A1 442 | :101B9000F10409F0B6CFA8C09E8D933059F4AF8DF3 443 | :101BA000A53009F48FC0A73009F499C0A33009F01B 444 | :101BB0009BC080C0552099F340908B058090830591 445 | :101BC00090908405A0908505B09086057FE5C72E8E 446 | :101BD00075E0D72E04EB15E03E01BDE06B0E711CE5 447 | :101BE000E12CF12CE52DF0E0FEA3EDA38DA19EA14B 448 | :101BF0000E2C02C0959587950A94E2F780FD0BC0E4 449 | :101C0000F60180819181A281B381F8018083918363 450 | :101C1000A283B3833EC0FF8DF730D9F1411028C0B5 451 | :101C2000D60158962D913D914D915C915B97F301B2 452 | :101C300060817181828193810E940134D8012D914C 453 | :101C40003D914D915C910E940134F8016083718354 454 | :101C500082839383F2E0EF121CC0A50194010E94DD 455 | :101C60000134D8016D937D938D939C93139711C08C 456 | :101C7000F6012081318142815381D8016D917D919E 457 | :101C80008D919C910E940134F8016083718382835D 458 | :101C90009383FFEFEF1AFF0A24E0C20ED11C0C5F02 459 | :101CA0001F4F34E0630E711C83E0E816F10409F065 460 | :101CB0009DCF75CF511001C01E8EBE016F5F7F4F4B 461 | :101CC00086E007C0511001C01E8EBE016F5F7F4FBE 462 | :101CD00087E00E941022882309F4C0C405C08091C7 463 | :101CE0008805823008F0ACC41F8E1091880518302A 464 | :101CF00041F4552009F4B3C19E8D913009F0A2C47E 465 | :101D00008BC2AE8DA23009F0AAC11123D9F020E018 466 | :101D100030E0A9016091920570919305809194053E 467 | :101D2000909195050E94DA34882309F48DC414300B 468 | :101D300028F4123058F4113029F06EC2183008F42B 469 | :101D40004DC16AC2511068C21E8E8CC1552009F463 470 | :101D500023CEFFA1EF2FF0E0FEA3EDA338A5232FA4 471 | :101D600030E03BA72AA781E090E03C0108A402C034 472 | :101D7000660C771C0A94E2F70FA002C0880F991F27 473 | :101D80000A94E2F7682A792A852D90E08621972126 474 | :101D9000892B09F45BC4CF01880F991F880F991F05 475 | :101DA000FC01E957FA4FDC01A85BBA4F57962D9119 476 | :101DB0003D914D915C915A9765A576A587A590A90F 477 | :101DC0000E9400346B017C018AA59BA5880F991F96 478 | :101DD000880F991FFC01E957FA4FDC01A85BBA4F45 479 | :101DE00057962D913D914D915C915A9765A576A599 480 | :101DF00087A590A90E9400344B015C0127FE40C0DA 481 | :101E0000E89427F82091B4053091B5054091B605C6 482 | :101E10005091B70560915F057091600580916105F3 483 | :101E2000909162050E94DA34811120C12091B80599 484 | :101E30003091B9054091BA055091BB056091630599 485 | :101E40007091640580916505909166050E94DA3471 486 | :101E500081110CC12091BC053091BD054091BE059A 487 | :101E60005091BF0560916705709168058091690583 488 | :101E700090916A050E94DA348111F8C081E2F1C3C1 489 | :101E8000F9A14F2E512C64207520672809F4E0C376 490 | :101E900021EF222280918A05813009F45AC00AA5D7 491 | :101EA0001BA5000F111F000F111F05571A4FD80156 492 | :101EB0001B962D913D914D915C911E97C501B401EA 493 | :101EC0000E9400342B013C01ADA0BEA0AA0CBB1C9B 494 | :101ED000AA0CBB1CF501E557FA4F5F012385348539 495 | :101EE00045855685C701B6010E940034A3019201C1 496 | :101EF0000E94E0286B017C01D8011B962D913D9139 497 | :101F00004D915C911E97F501638574858585968555 498 | :101F10000E94E0284B015C016093AB057093AC0517 499 | :101F20008093AD059093AE059B01AC01C701B6014E 500 | :101F30000E9400346B017C01E894F7F82AE037ED49 501 | :101F400043EA5BE3C701B6010E94DD3618164CF187 502 | :101F500063C186E9682E85E0782E00E010E0C201BA 503 | :101F6000002E02C0959587950A94E2F780FF10C075 504 | :101F700023E333E34BEC51E4D3016D917D918D91DB 505 | :101F80009C910E941837F30160837183828393834D 506 | :101F90000F5F1F4FF4E06F0E711C03301105F9F64F 507 | :101FA0007ECF20E030E040E05FE3C701B6010E9451 508 | :101FB000DD3618160CF462CF2FE632E143E85AE31F 509 | :101FC000C501B4010E9418379B01AC01C701B601DD 510 | :101FD0000E94DD3618160CF451CF1EC1552009F4AD 511 | :101FE000DBCC2091B4053091B5054091B6055091F8 512 | :101FF000B70560915F0570916005809161059091D2 513 | :1020000062050E94DA34811107C12091B805309130 514 | :10201000B9054091BA055091BB0560916305709177 515 | :10202000640580916505909166050E94DA348111FE 516 | :10203000F3C02091BC053091BD054091BE05509183 517 | :10204000BF05609167057091680580916905909161 518 | :102050006A050E94DA34882309F410CFDDC02E8D82 519 | :102060002111DAC0C1018E7D9C7FD9C080918A0583 520 | :102070008130B1F423E333E34BEC51E46091AB05E1 521 | :102080007091AC058091AD059091AE050E94183716 522 | :102090006093AB057093AC058093AD059093AE054E 523 | :1020A0004090AB055090AC056090AD057090AE05CA 524 | :1020B00020E030E040E850E4C301B2010E9418374C 525 | :1020C000A30192010E9418372B013C01A701960140 526 | :1020D000C701B6010E9418379B01AC01C301B201D0 527 | :1020E0000E9400342B013C01A5019401C501B401FB 528 | :1020F0000E9418379B01AC01C301B2010E94003459 529 | :102100002B013C0120E030E0A9010E94DA3487FD78 530 | :10211000A7C2C301B2010E94A5372B013C01A50152 531 | :102120009401C701B6010E94E0289B01AC01C301E4 532 | :10213000B20190580E94E1342B013C018091880546 533 | :10214000833021F477FA709477F870948091AB051E 534 | :102150009091AC05A091AD05B091AE0589A39AA36D 535 | :10216000ABA3BCA320E030E0A901BC01CD010E94DB 536 | :10217000DA3487FF11C077FA709477F8709489A1E8 537 | :102180009AA1ABA1BCA1B0588093AB059093AC05CC 538 | :10219000A093AD05B093AE050DA11EA1000F111FB8 539 | :1021A000000F111F05571A4FA3019201C501B40179 540 | :1021B0000E9418379B01AC01C701B6010E94003490 541 | :1021C00020E030E040E05FE30E941837D8011B9622 542 | :1021D0006D937D938D939C931E970AA51BA5000F6D 543 | :1021E000111F000F111F05571A4FA3019201C701BC 544 | :1021F000B6010E9418379B01AC01C501B4010E94D1 545 | :10220000013420E030E040E05FE30E941837F8013D 546 | :102210006387748785879687C1018E7D907E892B21 547 | :1022200009F018C28091A3059091A405A091A5057D 548 | :10223000B091A60580935B0590935C05A0935D0526 549 | :10224000B0935E0580918905809349058091920540 550 | :1022500090919305A0919405B091950580935605B2 551 | :1022600090935705A0935805B0935905C090AF05BA 552 | :10227000D090B005E090B105F090B205A7019601AD 553 | :1022800060915205709153058091540590915505C8 554 | :102290000E94DA348823C1F080915105882321F00F 555 | :1022A000B701A6010E94AF138091AF059091B005D0 556 | :1022B000A091B105B091B20580935205909353055A 557 | :1022C000A0935405B09355058091B30580935A05AA 558 | :1022D0008091910590915105981771F040915205A8 559 | :1022E0005091530560915405709155050E94AF13AC 560 | :1022F00080919105809351058091900590915005B2 561 | :10230000981731F00E94E213809190058093500558 562 | :1023100080918705813051F46091A7057091A805DF 563 | :102320008091A9059091AA050E94C20780918C0511 564 | :1023300080934C0580918A0580934A053E8D333009 565 | :10234000F9F480918D0580934D05813089F4809159 566 | :10235000BC059091BD05A091BE05B091BF058093CD 567 | :10236000830590938405A0938505B093860508C0E6 568 | :1023700010928305109284051092850510928605AF 569 | :1023800080918E0590914E05981759F080934E05D7 570 | :102390008CE0FE013D96ABE6B5E001900D928A958A 571 | :1023A000E1F780918B0580934B058091870590E044 572 | :1023B000FC013297E830F10508F04BC0E75BFF4FB6 573 | :1023C0000C943338BE016F5F7F4F8F8D0E94C42005 574 | :1023D00080914E059F8D89133CC08CE0FE013196A3 575 | :1023E000ABE6B5E01AC0AE8DAA2349F020E040E08C 576 | :1023F00050E060E87FEB84EB95E00E94750420E0FC 577 | :1024000040E050E060E87FEBCE0101960E94750449 578 | :102410008CE0FE013196AFE5B5E001900D928A9512 579 | :10242000E1F717C06FE575E086E003C06FE575E082 580 | :1024300087E00E94C4200DC08CE0E4EBF5E0A7E744 581 | :10244000B5E0EBCF8CE0E7E7F5E0DF011D928A9580 582 | :10245000E9F78091880580934805883009F498C091 583 | :10246000BE8DB23009F094C090E08830910508F03C 584 | :1024700086C0FC01EF5AFF4F0C94333820E040E057 585 | :1024800050E060E87FEB0AC0409156055091570537 586 | :1024900060915805709159052091490584EB95E0AC 587 | :1024A0000E9475046CC0C0905605D0905705E0900E 588 | :1024B0005805F09059050091AB051091AC0520919D 589 | :1024C000AD053091AE0581E08F93E9A5EF93F8A5B6 590 | :1024D000FF9315C0C0905605D0905705E090580561 591 | :1024E000F09059050091AB051091AC052091AD0518 592 | :1024F0003091AE051F9289A58F9398A59F938FA0C9 593 | :10250000A090490546E955E064EB75E08FE595E05C 594 | :102510000E94C3040F900F900F9031C04091560558 595 | :10252000509157056091580570915905E12C0AC0EA 596 | :102530004091560550915705609158057091590585 597 | :10254000EE24E39400E015C04091560550915705E4 598 | :102550006091580570915905E12C0AC040915605CB 599 | :10256000509157056091580570915905EE24E394F8 600 | :1025700001E02091490584EB95E00E9434088CE04D 601 | :10258000E4EBF5E0AFE5B5E001900D928A95E1F757 602 | :1025900080918F0580934F05882309F45DC00E94C8 603 | :1025A000851690914F0580912805913069F482300D 604 | :1025B000A1F19FB7F8948091450588608093450507 605 | :1025C0009FBF0E94D41429C091E0909348051092B7 606 | :1025D0004C0510924B051092490510924E05109231 607 | :1025E0005105109250058230A9F0BE01635F7F4F04 608 | :1025F00080E00E941022882389F18CE0FE013D9644 609 | :10260000ABE6B5E001900D928A95E1F70E944A137E 610 | :102610000E94D71387E00E94B72D10924F051CC06F 611 | :1026200081E01FC082E01DC088E11BC089E119C0A4 612 | :1026300084E017C08BE115C085E213C084E111C0AE 613 | :102640008EE10FC08FE10DC086E10BC080E209C0B2 614 | :1026500083E207C084E205C080E003C087E001C0D8 615 | :1026600082E2AB960FB6F894DEBF0FBECDBFDF910E 616 | :10267000CF911F910F91FF90EF90DF90CF90BF907F 617 | :10268000AF909F908F907F906F905F904F903F9012 618 | :102690002F900895E0EBF0E080818F77808308959C 619 | :1026A000239A259A0C944A13CF92DF92EF92FF92CD 620 | :1026B0006A017B01811106C0FF90EF90DF90CF90FF 621 | :1026C0000C944A13813011F42D9801C02D9A83E89F 622 | :1026D0008093B0008091B100887F82608093B100C8 623 | :1026E00020E030E0A901C701B6010E94DA341816D3 624 | :1026F0001CF720E030E0A901C701B6010E94DA34DE 625 | :1027000087FD11C020E030E04AE754E4C701B6017C 626 | :102710000E94DD36181654F4C12CD12C8AE7E82E1D 627 | :1027200084E4F82E03C0C12CD12C76012CE53FE8BF 628 | :1027300042E85EE3C701B6010E94183720E030E0AE 629 | :1027400040E05FE30E9401340E94B7350E944E359D 630 | :102750006093B300FF90EF90DF90CF900895CF93F8 631 | :10276000DF9300D000D01F92CDB7DEB7909128053F 632 | :102770009230A9F04A835B836C837D8389830E94B6 633 | :1027800085164A815B816C817D8189810F900F90D4 634 | :102790000F900F900F90DF91CF910C9454130F90E6 635 | :1027A0000F900F900F900F90DF91CF910895439865 636 | :1027B00008953B9A0C94D713823011F4439A0895EC 637 | :1027C0000C94D713CF93DF931F92CDB7DEB79091C0 638 | :1027D0002805923049F089830E94851689810F90DF 639 | :1027E000DF91CF910C94DC130F90DF91CF9108957E 640 | :1027F0009091020180910301891708F48058891B88 641 | :102800000895E0ECF0E08081826080831092C50042 642 | :1028100080E18093C400E1ECF0E0808180618083FE 643 | :102820008081886080838081806880830895E091C2 644 | :10283000010191E09E0F903409F490E02091000195 645 | :10284000921305C02091450524FFF8CF0895F0E0CC 646 | :10285000E054FA4F8083909301018091C10080621F 647 | :102860008093C10008951F920F920FB60F9211240A 648 | :102870008F939F93EF93FF9380910001E82FF0E0F7 649 | :10288000E054FA4F90819093C6008F5F803409F432 650 | :1028900080E08093000190910101891305C080912F 651 | :1028A000C1008F7D8093C100FF91EF919F918F9127 652 | :1028B0000F900FBE0F901F9018959091020180917C 653 | :1028C0000301891761F0E92FF0E0E050FA4F8081B1 654 | :1028D0009F5F903809F490E09093020108958FEF84 655 | :1028E00008951F920F920FB60F9211242F933F93CA 656 | :1028F0004F935F936F937F938F939F93AF93BF9308 657 | :10290000EF93FF938091C6008F33A9F050F4883184 658 | :1029100009F1813211F59FB7F894809145058860DF 659 | :1029200015C0803471F08E37C1F49FB7F894809150 660 | :10293000450582600BC09FB7F89480914505816082 661 | :1029400005C09FB7F8948091450580628093450546 662 | :102950009FBF14C00E94D20811C0E091030191E012 663 | :102960009E0F903809F490E020910201921731F007 664 | :10297000F0E0E050FA4F808390930301FF91EF91D4 665 | :10298000BF91AF919F918F917F916F915F914F9187 666 | :102990003F912F910F900FBE0F901F90189580912F 667 | :1029A0000301809302010895EF92FF920F931F930A 668 | :1029B000CF93DF93D1E008E080E2F82E10E190E4BD 669 | :1029C000E92EC0914705CC2389F1D0932805C1FF9A 670 | :1029D00002C081E00FC0C2FF02C082E00BC0C3FF93 671 | :1029E00002C083E007C0C4FF02C084E003C0C5FF8B 672 | :1029F00003C085E00E948D2DC0FD08C08FB7F894FC 673 | :102A000090914705109247058FBF10C081E00E944A 674 | :102A1000B72D9FB7F894809145058F7E809345052B 675 | :102A20009FBF8091450584FFFCCFE8CFC09145054D 676 | :102A3000CC2309F4C0C0C4FF04C081E08093270503 677 | :102A4000D2C0C0FF0AC00E94EA309FB7F8948091BC 678 | :102A500045058E7F809345059FBF8C2F887609F4AE 679 | :102A60003CC080912805882349F0982F9C7769F114 680 | :102A7000883021F40E949A19D09329058091280565 681 | :102A8000811103C092E090932905C6FF09C08830E8 682 | :102A900011F4E0922805809129058860809329052A 683 | :102AA000C3FF05C08091280585FF10932805C5FF49 684 | :102AB0000CC086E00E94B72D8091290581FDC4607D 685 | :102AC000846080932905F09228059FB7F89480913F 686 | :102AD00045058779809345059FBFC1FF48C08C2F6E 687 | :102AE0008876E9F580912805882331F08075B9F161 688 | :102AF0008091290581FF33C08091290582FF1CC088 689 | :102B000080915105882371F04091520550915305F1 690 | :102B100060915405709155050E94541380EA9FE01E 691 | :102B20000E94D52880915005882331F00E94DC1343 692 | :102B300088EE93E00E94D5280E94B624892B59F094 693 | :102B40008091290583FD07C0009328050E94BC19C8 694 | :102B50000E94961602C010922805109229059FB770 695 | :102B6000F894809145058D7F809345059FBFC2FFF6 696 | :102B700022C080912805807391F080912A058111EF 697 | :102B80000EC08091290582FF04C00E944A130E9452 698 | :102B9000D7138091290582608093290504C0109283 699 | :102BA0002905109228059FB7F894809145058B7FE1 700 | :102BB000809345059FBF809128058C7711F00E9476 701 | :102BC000BC1980912805803251F48091290581FF3C 702 | :102BD00006C00E943332811102C0109328058091F3 703 | :102BE00029058111EECEDF91CF911F910F91FF90BA 704 | :102BF000EF9008959FB7F894809145058260809387 705 | :102C000045059FBF0895CF93DF930E94E62D8091E5 706 | :102C10002805813021F482E00E94B72D2FC00E9448 707 | :102C20003332882341F080914505806280934505C9 708 | :102C30000E94D41402C01092280584E091E00E9402 709 | :102C400035321CC08D3079F0DD2399F1893221F4C1 710 | :102C5000D13009F04CC0D0E00E945D148F3F09F4E0 711 | :102C600048C08A3079F7EC2FF0E0EC5FFE4F10821D 712 | :102C70000E94D41480912705882311F0C0E0EBCF87 713 | :102C800080910401811103C00E943F2DF7CF84324F 714 | :102C900029F484E091E00E945432F6CF8091280517 715 | :102CA000813011F489E0F0CF84E091E00E941509B1 716 | :102CB000EBCF813288F28F3279F28832B1F08B33E8 717 | :102CC000B1F0CF3428F08BE00E943F2DC0E0C4CF9C 718 | :102CD0002C2F30E0CF5F9FE9980FF901EC5FFE4F9A 719 | :102CE0009A3108F480528083B7CFD1E0B5CFD2E0DB 720 | :102CF000B3CF0E94FA150E94D4148091270588232F 721 | :102D000009F4AACFDF91CF9108950E94FA150E948D 722 | :102D1000D41480912705811108C00E94B624892B04 723 | :102D2000B1F780912805883091F308958091BD0610 724 | :102D300082FF02C0289A01C02898809128058C70D3 725 | :102D4000A1F0809184018093980180918501809306 726 | :102D500097018091B006880F8450819580939601E9 727 | :102D600080916F00826080936F00089580916F0062 728 | :102D70008D7F80936F0080918100887F8160809338 729 | :102D80008100109283018091B3068F3F21F49091CE 730 | :102D90004705992349F090912805943029F090E057 731 | :102DA0000E94D52881E001C080E09091BD0692FF8D 732 | :102DB00002C091E08927882311F0289A0895289865 733 | :102DC00008951F920F920FB60F9211242F933F93E5 734 | :102DD0004F935F936F937F938F939F93AF93BF9323 735 | :102DE000CF93DF93EF93FF93809183018111EFC124 736 | :102DF0009BB180919801807E9F71892B8BB98BB19B 737 | :102E0000837E90919701892B8BB98091960186BD25 738 | :102E100082E085BD81E08093830178948091AA014E 739 | :102E20009091AB01892B09F0A4C080918801909109 740 | :102E30008701981709F492C0E091880186E0E89F25 741 | :102E4000F0011124E455FE4FF093AB01E093AA0189 742 | :102E500083819481909389008093880080819181FF 743 | :102E60009093A6018093A501A2818091A7018A1762 744 | :102E700071F1A093A70181E1A89FD0011124A05373 745 | :102E8000BE4FB093A901A093A8011D968D919D916D 746 | :102E90000D90BC91A02DB695A79597958795809399 747 | :102EA000910190939201A0939301B0939401809328 748 | :102EB0008D0190938E01A0938F01B0939001809328 749 | :102EC000890190938A01A0938B01B0938C01C091EA 750 | :102ED000A801D091A90180918401988189278093CC 751 | :102EE0009801258189819A81AB81BC81022E04C021 752 | :102EF000B695A795979587950A94D2F780939901EF 753 | :102F000090939A01A0939B01B0939C018D819E8127 754 | :102F1000AF81B885022E04C0B695A7959795879581 755 | :102F20000A94D2F780939D0190939E01A0939F01F4 756 | :102F3000B093A00189859A85AB85BC8504C0B69500 757 | :102F4000A795979587952A95D2F78093A10190939D 758 | :102F5000A201A093A301B093A4010BC00E94B616D6 759 | :102F60009FB7F894809145058460809345059FBF85 760 | :102F70002EC10E94262D1092970180919901909167 761 | :102F80009A01A0919B01B0919C01409189015091BF 762 | :102F90008A0160918B0170918C01840F951FA61F8F 763 | :102FA000B71F8093890190938A01A0938B01B093FE 764 | :102FB0008C01E091A801F091A901458556856785AE 765 | :102FC0007089481759076A077B0768F524E0209342 766 | :102FD00097014585568567857089841B950BA60BDF 767 | :102FE000B70B8093890190938A01A0938B01B093D2 768 | :102FF0008C01208180912B0590912C05A0912D05AD 769 | :10300000B0912E0525FF04C00197A109B10903C0A5 770 | :103010000196A11DB11D80932B0590932C05A093C3 771 | :103020002D05B0932E0580919D0190919E01A09158 772 | :103030009F01B091A00140918D0150918E0160914E 773 | :103040008F0170919001840F951FA61FB71F809369 774 | :103050008D0190938E01A0938F01B09390014585CF 775 | :10306000568567857089481759076A077B0778F581 776 | :1030700020919701286020939701458556856785A3 777 | :103080007089841B950BA60BB70B80938D019093D1 778 | :103090008E01A0938F01B0939001208180912F0524 779 | :1030A00090913005A0913105B091320526FF04C002 780 | :1030B0000197A109B10903C00196A11DB11D80931B 781 | :1030C0002F0590933005A0933105B0933205809180 782 | :1030D000A1019091A201A091A301B091A4014091FE 783 | :1030E0009101509192016091930170919401840F2C 784 | :1030F000951FA61FB71F8093910190939201A093F3 785 | :103100009301B0939401458556856785708948176A 786 | :1031100059076A077B0778F5209197012061209372 787 | :1031200097014585568567857089841B950BA60B8D 788 | :10313000B70B8093910190939201A0939301B09368 789 | :10314000940120818091330590913405A09135053B 790 | :10315000B091360527FF04C00197A109B10903C04A 791 | :103160000196A11DB11D8093330590933405A09362 792 | :103170003505B093360580912805843039F4809167 793 | :103180004405909197018923809397018091A5012F 794 | :103190009091A60101979093A6018093A501892B98 795 | :1031A00069F41092AB011092AA01809188018F5F9F 796 | :1031B00080938801863011F41092880180918501F6 797 | :1031C0009091970189278093970110928301FF9135 798 | :1031D000EF91DF91CF91BF91AF919F918F917F91AF 799 | :1031E0006F915F914F913F912F910F900FBE0F9074 800 | :1031F0001F9018951F920F920FB60F9211248F9364 801 | :103200009F939BB1809185018C71937E892B8BB9A3 802 | :1032100015BC9F918F910F900FBE0F901F90189526 803 | :10322000FF920F931F93CF93DF931092850110921B 804 | :103230008401C0E0D0E00C2F1C2F2091B10630E0BB 805 | :103240008C2F0C2E02C0359527950A94E2F720FFAB 806 | :1032500007C0F09085010E9458238F298093850133 807 | :103260002091B20630E002C0359527951A95E2F715 808 | :1032700020FF08C010918401802F0E946223812BBF 809 | :10328000809384012196C330D105A9F6DF91CF91B7 810 | :103290001F910F91FF9008950E94B6168BE2E4E50E 811 | :1032A000F1E0DF011D928A95E9F783E2E9E8F1E0B8 812 | :1032B000DF011D928A95E9F7109282011092810137 813 | :1032C000109288011092870181E08093860110920C 814 | :1032D00083010E9410198BB1837E90918501892B07 815 | :1032E0008BB98BB18F7190918401892B8BB9089523 816 | :1032F0008AB18C618AB9209A8AB1806E8AB9E1E874 817 | :10330000F0E080818F7E8083808188608083E0E828 818 | :10331000F0E080818C7F808380818F708083EEE6F7 819 | :10332000F0E08081887F808314BC15BC808181603F 820 | :1033300080830895CF93DF93C0918101D091820162 821 | :103340002097B9F081E08093550160916B017091F5 822 | :103350006C0180916D0190916E019B01AC010E9406 823 | :103360001837698B7A8B8B8B9C8B10928201109211 824 | :103370008101DF91CF9108952F923F924F925F92FA 825 | :103380006F927F928F929F92AF92BF92CF92DF9275 826 | :10339000EF92FF920F931F93CF93DF93CDB7DEB7DA 827 | :1033A000E5970FB6F894DEBF0FBECDBF809128051C 828 | :1033B000807709F40AC220E030E0A90160916B0136 829 | :1033C00070916C0180916D0190916E010E94DA34D0 830 | :1033D0008111FBC103C68091810190918201892BEB 831 | :1033E00009F4FAC180918701F6E0F89FF0011124F9 832 | :1033F000E455FE4FFE83ED8380915401828320913A 833 | :103400008101309182013E872D87D9019596BC912B 834 | :10341000BCA7F901F6A1FDA7D9019796BC91BEA75B 835 | :10342000F901F0A5FFA720915E0130915F01409165 836 | :103430006001509161016CA57DA58B2F9F2F0E948B 837 | :10344000003468A779A78AA79BA720E030E0A901EC 838 | :103450000E94DA3487FF04C018A619A61AA61BA674 839 | :1034600020917701288F30917801398F409179012F 840 | :103470004A8F50917A015B8F80916F018C8F909170 841 | :1034800070019D8FA0917101AE8FB0917201BF8FBD 842 | :10349000E0917B01E8A3F0917C01F9A320917D01EB 843 | :1034A0002AA330917E013BA3409167014CA3509128 844 | :1034B00068015DA3809169018EA390916A019FA329 845 | :1034C0002091730130917401409175015091760102 846 | :1034D00028AB39AB4AAB5BAB30916B013983409180 847 | :1034E0006C01498720906D0130906E01509166010A 848 | :1034F0005F878CA58C8B9DA59D8BAEA5AE8BBFA544 849 | :10350000BF8B3EE3C32E33ECD32E3EE2E32E39E3F2 850 | :10351000F32E188A198A1A8A1B8A26013701EF8529 851 | :10352000E111B4C3AD85BE8591962D913D914D912C 852 | :103530005C919497C701B6010E9418374B015C015A 853 | :1035400020E030E040E05FE30E9418379B01AC01CF 854 | :1035500069817985C1010E9401349B01AC01C701D9 855 | :10356000B6010E9418379B01AC016C897D898E8958 856 | :103570009F890E9400348B018DAB9CAB288D398DC7 857 | :103580004A8D5B8D0E94DA3487FF86C3288D398D82 858 | :103590004A8D5B8D6CA57DA58EA59FA50E940034EC 859 | :1035A0009B01AC010E9401346B017C012C8D3D8D8F 860 | :1035B0004E8D5F8D69817985C1010E9401349B0127 861 | :1035C000AC01C701B6010E94E1346B017C0128A166 862 | :1035D00039A14AA15BA1688D798D8A8D9B8D0E944E 863 | :1035E000DA34882309F455C3B1E0BF87FC8DF98331 864 | :1035F0002D8D29872E8C3F8C088D198D3A8D3DABF2 865 | :103600004B8D4CABA7019601688979898A899B8982 866 | :103610000E940134688B798B8A8B9B8BA30192016A 867 | :103620000E94DA3487FDF2C328A539A54AA55BA517 868 | :10363000B8018DA99CA90E94DD3618160CF4DCC3D4 869 | :1036400089819985D10180936B0190936C01A0933E 870 | :103650006D01B0936E01FF85F093660140905A01B1 871 | :1036600050905B0160905C0170905D0198014DA9E4 872 | :103670005CA9C301B2010E94183769837A838B83E6 873 | :103680009C830E94C7346B017C016091560170914C 874 | :10369000570180915801909159010E94C7344B0104 875 | :1036A0005C01A70196010E9400340E944E35698793 876 | :1036B0007A878B879C87E985FA85AD81BE81ED93FA 877 | :1036C000FC93309709F4CDC32091620130916301DE 878 | :1036D0004091640150916501688979898A899B8943 879 | :1036E0000E9401342B013C0129813A814B815C818C 880 | :1036F000C501B4010E9400349B01AC01C301B201B9 881 | :103700000E94E1344B015C0129813A814B815C814B 882 | :10371000C701B6010E940034A50194010E94183728 883 | :1037200060936201709363018093640190936501DB 884 | :1037300020EC31EE44E65EE4C501B4010E94183786 885 | :103740000E94C7340E944E35603DB7E07B0781057B 886 | :10375000910508F0ACC3ED81FE811582AD81BE817B 887 | :1037600014967C936E9313978091860180938701C2 888 | :103770008F5F863009F4D4C380938601209167015E 889 | :10378000309168014091690150916A01B8018DA999 890 | :103790009CA90E94DD3618160CF0C5C3E09181018A 891 | :1037A000F0918201C801ADA9BCA985A396A3A7A3E6 892 | :1037B000B0A789819A81AB81BC8180935601909397 893 | :1037C0005701A0935801B0935901909188018091BD 894 | :1037D0008601981300CE02C40E94B6241C01909367 895 | :1037E000820180938101009709F4F8C3809155010B 896 | :1037F00010912805882319F010925501BEC08091C0 897 | :1038000054018F5F853019F08093540102C01092EB 898 | :103810005401E091540121E12E9FF0011124E05365 899 | :10382000FE4FF0938001E0937F01D1018C91808362 900 | :1038300011964D915D916D917C91149703E0440F29 901 | :10384000551F661F771F0A95D1F741835283638303 902 | :10385000748315964D915D916D917C91189783E0DD 903 | :10386000440F551F661F771F8A95D1F745835683EE 904 | :103870006783708719964D915D916D917C911C972E 905 | :1038800093E0440F551F661F771F9A95D1F7418724 906 | :103890005287638774871D966D917D918D919C9160 907 | :1038A00050976B017C0123E0CC0CDD1CEE1CFF1C4F 908 | :1038B0002A95D1F7C586D686E786F08A0E947A35A2 909 | :1038C000609356017093570180935801909359016A 910 | :1038D000F10125A136A147A150A50E94E1349B0129 911 | :1038E000AC0160935A0170935B0180935C019093EB 912 | :1038F0005D0160E070E080EA9FE30E94E134609344 913 | :103900005E0170935F01809360019093610110925A 914 | :103910006201109263011092640110926501812F7F 915 | :103920008077E1F06091730170917401809175016D 916 | :103930009091760160936B0170936C0180936D019F 917 | :1039400090936E019B01AC010E941837D1015196F2 918 | :103950006D937D938D939C9354970FC0F101618972 919 | :103960007289838994890E94A53760936B01709353 920 | :103970006C0180936D0190936E011092670110921B 921 | :1039800068011092690110926A01D10191968D909F 922 | :103990009D90AD90BC909497A501940160E070E07B 923 | :1039A00080E09FE30E94E1342B013C011077F1019C 924 | :1039B000C5A0D6A0E7A0F0A4112309F44DC0F2E001 925 | :1039C000F0936601D10151962D913D914D915C91FD 926 | :1039D00054972D833E834F8358870E9418379B014D 927 | :1039E000AC01C701B6010E9400342B013C0120E06C 928 | :1039F00030E0A9010E94DA3487FF1DC0A5019401BF 929 | :103A0000C501B4010E940134A70196010E94183734 930 | :103A10009B01AC016D817E818F8198850E9400346D 931 | :103A20000E94A537609373017093740180937501B0 932 | :103A300090937601D7CC40926701509268016092D2 933 | :103A4000690170926A0110927301109274011092D0 934 | :103A5000750110927601C6CC10926601C092770172 935 | :103A6000D0927801E0927901F0927A010E94C62406 936 | :103A70004B015C0160937301709374018093750135 937 | :103A8000909376019B01AC010E94183769837A8379 938 | :103A90008B839C830091810110918201D8019596BE 939 | :103AA0002D913D914D915C91989729873A874B874D 940 | :103AB0005C8751962D913D914D915C9154972D834A 941 | :103AC0003E834F8358879B01AC016D817E818F813E 942 | :103AD00098850E9400349B01AC01C301B2010E9491 943 | :103AE00018379B01AC0169857A858B859C850E947E 944 | :103AF000013420E030E040E05FE30E9418376B01C2 945 | :103B00007C0120E030E0A9010E94DD3618160CF09F 946 | :103B1000ACC029853A854B855C85C701B6010E94FA 947 | :103B2000DA3487FF8EC0F801858C968CA78CB0A004 948 | :103B300029813A814B815C81C501B4010E94003426 949 | :103B40009B01AC01C301B2010E94183760937B0155 950 | :103B500070937C0180937D0190937E01A701960173 951 | :103B60000E94DA3487FF3DC0C501B4010E94A53729 952 | :103B700060936F0170937001809371019093720153 953 | :103B8000A50194016D817E818F8198850E94DA3430 954 | :103B9000811104C0F1E0F093660124CC2D813E81B7 955 | :103BA0004F815885C501B4010E9400349B01AC01CE 956 | :103BB000C301B2010E9418379B01AC0160917701EB 957 | :103BC000709178018091790190917A010E9400347E 958 | :103BD00060937701709378018093790190937A01D3 959 | :103BE00001CCC0927701D0927801E0927901F092F5 960 | :103BF0007A01C0927B01D0927C01E0927D01F0922B 961 | :103C00007E01D80191966D917D918D919C919497B3 962 | :103C10009B01AC010E940134A70196010E94183754 963 | :103C200029813A814B815C810E9401340E94A53731 964 | :103C300060936F0170937001809371019093720192 965 | :103C4000D1CBB2E0B093660180916B0190916C0191 966 | :103C5000A0916D01B0916E0180936F0190937001FE 967 | :103C6000A0937101B0937201BDCB109277011092B5 968 | :103C700078011092790110927A0180926F019092EE 969 | :103C80007001A0927101B0927201ACCBE13061F091 970 | :103C900041C0E2E0EF87AACCA50194016981798552 971 | :103CA000C1010E9401347CC0A70196016C8D7D8DFD 972 | :103CB0008E8D9F8D0E9418379B01AC016C897D8988 973 | :103CC0008E899F890E9400348B018DAB9CAB28A10B 974 | :103CD00039A14AA15BA10E94DA3487FF93CC28A1C5 975 | :103CE00039A14AA15BA16C897D898E899F890E9437 976 | :103CF00000342C8D3D8D4E8D5F8D0E94E1346B0123 977 | :103D00007C0108A119A15AA15DAB8BA18CAB92E0FB 978 | :103D10009F8778CCAD85BE8591962D913D914D9133 979 | :103D20005C919497C701B6010E9418374B015C0162 980 | :103D30009B01AC0169817985C1010E94DD361816AD 981 | :103D40009CF520E030E040E05FE3C501B4010E9453 982 | :103D500018379B01AC0169817985C1010E9400344B 983 | :103D60009B01AC01C701B6010E9418379B01AC0151 984 | :103D70006C897D898E899F890E9400348B018DAB6F 985 | :103D80009CAB2CA13DA14EA15FA10E94DD3618166F 986 | :103D90005CF4A501940169817985C1010E94003418 987 | :103DA000698379871C012ECC2CA13DA14EA15FA176 988 | :103DB0006C897D898E899F890E9400349B01AC01AA 989 | :103DC0000E9401346B017C0128A939A94AA95BA989 990 | :103DD00069817985C1010E9401349B01AC01C70151 991 | :103DE000B6010E94E1346B017C010CA11DA1BEA1B2 992 | :103DF000BDABEFA1ECAB06CC2EE333EC4EE259E3C6 993 | :103E0000C301B2010E9401342B013C012889398988 994 | :103E10004A895B89C301B2010E9400346B017C01B5 995 | :103E20002CA13DA14EA15FA1B8018DA99CA90E9422 996 | :103E3000DD3618167CF089819985D10180936B015C 997 | :103E400090936C01A0936D01B0936E013F85309308 998 | :103E5000660104CC0C8B1D8B4DA94E8B5CA95F8B2E 999 | :103E60005ECB80912805807709F42ECC10926B01EF 1000 | :103E700010926C0110926D0110926E01109262010D 1001 | :103E8000109263011092640110926501C092560174 1002 | :103E9000D0925701E0925801F0925901A30192018A 1003 | :103EA000C701B6010E94E134AD85BE8570C0603A9D 1004 | :103EB000FFE07F078105910510F4E1E009C060345F 1005 | :103EC000FFE17F078105910510F4E2E001C0E3E026 1006 | :103ED000AD81BE811596EC93AD81BE8115962C9176 1007 | :103EE0001597022E04C096958795779567950A9445 1008 | :103EF000D2F7E985FA8502C0EE0FFF1F2A95E2F797 1009 | :103F0000ED93FC9361157105F1E08F07910508F4BD 1010 | :103F100025CC2FEF3FEFED81FE813483238324CC2A 1011 | :103F2000109286012BCC20E030E0A901B8018DA9C8 1012 | :103F30009CA90E94DD3618160CF049C010926B0146 1013 | :103F400010926C0110926D0110926E01109262013C 1014 | :103F5000109263011092640110926501C0925601A3 1015 | :103F6000D0925701E0925801F092590100918101DD 1016 | :103F70001091820120915A0130915B0140915C01C6 1017 | :103F800050915D01C701B6010E94E134D8019596B8 1018 | :103F90006D937D938D939C939897E5960FB6F894C7 1019 | :103FA000DEBF0FBECDBFDF91CF911F910F91FF906C 1020 | :103FB000EF90DF90CF90BF90AF909F908F907F90C9 1021 | :103FC0006F905F904F903F902F900C941B28109211 1022 | :103FD0008201109281010E94A224F7CBE5960FB6D0 1023 | :103FE000F894DEBF0FBECDBFDF91CF911F910F912F 1024 | :103FF000FF90EF90DF90CF90BF90AF909F908F9009 1025 | :104000007F906F905F904F903F902F900895F99917 1026 | :10401000FECF92BD81BD81E08FBB80B50895F8943D 1027 | :10402000F999FECF92BD81BD81E08FBB40B5462797 1028 | :10403000842F992787FD9095262F30E082239323A4 1029 | :10404000892B39F06F3F19F060BD84E006C084E130 1030 | :1040500004C0442321F060BD84E28FBBF99A7894B8 1031 | :1040600008959F92AF92BF92CF92DF92EF92FF920C 1032 | :104070000F931F93CF93DF938C017A016B01C40ED2 1033 | :10408000D51EEB01912C5C01A61AB70ACE018A0D50 1034 | :104090009B1DCC15DD0591F0911009C0692D772786 1035 | :1040A00067FD7095272F221F2227221F01C021E0C4 1036 | :1040B0006991922E960E0E940F20E8CF692DC801BB 1037 | :1040C0008E0D9F1DDF91CF911F910F91FF90EF906B 1038 | :1040D000DF90CF90BF90AF909F900C940F209F9255 1039 | :1040E000AF92BF92CF92DF92EF92FF920F931F9306 1040 | :1040F000CF93DF938B017A016C01C40ED51EEC01C6 1041 | :10410000912C5B01A81AB90AC5018C0F9D1FCC1513 1042 | :10411000DD0591F00E940720911009C0292D332759 1043 | :1041200027FD3095232F221F2227221F01C021E0C7 1044 | :10413000922E980E8993E8CFC8018E0D9F1D0E9484 1045 | :10414000072021E030E0981611F020E030E0C901AE 1046 | :10415000DF91CF911F910F91FF90EF90DF90CF9063 1047 | :10416000BF90AF909F90089521E5829FC0011124D8 1048 | :1041700040E550E09D5F0C94312040E550E0BC01EB 1049 | :104180008EEA93E00C9431202DE0829FC00111242F 1050 | :104190004CE050E09E5F0C94312069E080E090E0BC 1051 | :1041A0000E940F204DE450E060E876E081E090E06E 1052 | :1041B0000C943120EF92FF920F931F93CF93DF93D4 1053 | :1041C000CDB7DEB72C970FB6F894DEBF0FBECDBFCC 1054 | :1041D000182F80FFC1C08AE08093B00689E18093E8 1055 | :1041E000B3061092B1061092B20683E08093B40633 1056 | :1041F0008AE097EDA3E2BCE38093B5069093B60600 1057 | :10420000A093B706B093B8068FE692E1A3E0BBE3B4 1058 | :104210008093B9069093BA06A093BB06B093BC06F0 1059 | :104220001092BE0680E090E0A8ECB1E48093BF0657 1060 | :104230009093C006A093C106B093C20640E050E040 1061 | :104240006AEF73E44093C3065093C4066093C506B7 1062 | :104250007093C6068AEF90E09093C8068093C706D5 1063 | :1042600080E090E0A0E8BFE38093C9069093CA067F 1064 | :10427000A093CB06B093CC061092BD0680E090E0F0 1065 | :10428000AAE7B3E48093800690938106A093820608 1066 | :10429000B09383068093840690938506A093860648 1067 | :1042A000B09387068093880690938906A0938A0628 1068 | :1042B000B0938B0640938C0650938D0660938E06C8 1069 | :1042C00070938F06409390065093910660939206E8 1070 | :1042D00070939306409394065093950660939606C8 1071 | :1042E0007093970640E050EA6CE077E440939806BC 1072 | :1042F0005093990660939A0670939B0640939C0690 1073 | :1043000050939D0660939E0670939F064093A0066F 1074 | :104310005093A1066093A2067093A30640E050E07C 1075 | :1043200068E473EC4093A4065093A5066093A60638 1076 | :104330007093A7064093A8065093A9066093AA0617 1077 | :104340007093AB064093AC065093AD066093AE06F7 1078 | :104350007093AF060E94CD2011FF10C0CE010196D0 1079 | :104360007C018CE0F70111928A95E9F700E0B70132 1080 | :10437000802F0E94C4200F5F0830C9F712FF0AC0C7 1081 | :1043800060E080E093E00E940F2060E081E593E030 1082 | :104390000E940F2013FF05C060E08EEA93E00E94A8 1083 | :1043A0000F202C960FB6F894DEBF0FBECDBFDF9165 1084 | :1043B000CF911F910F91FF90EF9008951F93CF938E 1085 | :1043C000DF93182FEB0181E5189FB00111247D5F69 1086 | :1043D00040E550E0CE010E946F20892B39F418820D 1087 | :1043E000BE01812F0E94B42080E001C081E0DF91F6 1088 | :1043F000CF911F910895CF93DF93EC0140E550E0FA 1089 | :104400006EEA73E00E946F20892B31F41882CE018E 1090 | :104410000E94BD2080E001C081E0DF91CF9108952E 1091 | :104420001F93CF93DF93182FEB018DE0189FB001FE 1092 | :1044300011247E5F4CE050E0CE010E946F20892B5A 1093 | :1044400059F48CE0FE0111928A95E9F7BE01812FA3 1094 | :104450000E94C42080E001C081E0DF91CF911F91D4 1095 | :10446000089580E090E00E940720893059F44DE4DF 1096 | :1044700050E061E070E080E896E00E946F2021E06B 1097 | :10448000892B09F420E0822F0895CF92DF92EF92DA 1098 | :10449000FF92CF93DF93C82F6A017B0120E030E0C9 1099 | :1044A000A901C701B6010E94DA3487FDE6C0C4360F 1100 | :1044B00008F445C02CE92C0F80E02330B8F530E03B 1101 | :1044C000823079F0F901EE0FFF1FEE0FFF1F8330EE 1102 | :1044D00011F1813019F0E058F94F23C0E457F94F3A 1103 | :1044E00020C0E901CC0FDD1FCC0FDD1FC856D94F0E 1104 | :1044F00020E030E040E752E4C701B6010E941837DF 1105 | :1045000020E030E040E752E40E9418376883798366 1106 | :104510008A839B83AEC0EC55F94FF7FAF094F7F815 1107 | :10452000F094C082D182E282F382A3C08F5F2A30EE 1108 | :1045300008F4A5C0843009F4A2C02A50BECFC70138 1109 | :10454000B6010E94E6370E944E358C2F90E08C31E8 1110 | :10455000910508F094C0FC01E75AFF4F0C943338E2 1111 | :10456000633008F48EC06093B00683C06093B306D6 1112 | :1045700080C06093B10602C06093B2060E94101919 1113 | :1045800078C08091BD06662311F0846007C08B7FE0 1114 | :1045900005C08091BD06662321F080648093BD062E 1115 | :1045A00068C08F7BFBCF8091BD06662311F08068C9 1116 | :1045B000F5CF8F77F3CF6093B4065BC0C092B5069A 1117 | :1045C000D092B606E092B706F092B80652C0C092FA 1118 | :1045D000B906D092BA06E092BB06F092BC0649C07A 1119 | :1045E0008091BD06662311F08160D8CF8E7FD6CF33 1120 | :1045F0008091BD06662321F084FF45C08062CECF46 1121 | :104600008F7DCCCF8091BD06662311F0886001C0FC 1122 | :10461000877F8093BD060E9411292BC08091BD0623 1123 | :10462000662311F08061BACF8F7CB8CF6093BE064D 1124 | :1046300020C0C092BF06D092C006E092C106F092A0 1125 | :10464000C20617C0C092C306D092C406E092C50647 1126 | :10465000F092C6060EC070E07093C8066093C7065D 1127 | :1046600008C0C092C906D092CA06E092CB06F0926A 1128 | :10467000CC060E94CD2080E007C084E005C083E026 1129 | :1046800003C086E001C08AE0DF91CF91FF90EF90F8 1130 | :10469000DF90CF9008950E943122811108C087E0F9 1131 | :1046A0000E943F2D8FEF0E94DA200C94EE2D08958A 1132 | :1046B000882321F0813021F488E0089584E0089572 1133 | :1046C00080E10895882321F0813021F480E4089569 1134 | :1046D00080E2089580E80895882321F0813021F454 1135 | :1046E00084E0089582E0089580E108954F925F92FA 1136 | :1046F0006F927F928F929F92AF92BF92CF92DF92F2 1137 | :10470000EF92FF920F931F93CF93DF931091430289 1138 | :10471000111101C012E1115000914102101709F46A 1139 | :10472000EFC089E2189FE0011124CB5BDD4F8D883B 1140 | :104730009E88AF88B88C69A17AA18BA19CA19B01AE 1141 | :10474000AC010E9401342DA13EA14FA158A50E94A9 1142 | :1047500018376B017C019B01AC01B401C5010E94BB 1143 | :10476000DA3487FF02C064017501A601B701498BE5 1144 | :104770005A8B6B8B7C8B111101C012E177247A94D8 1145 | :10478000710E701619F029E2622E27C08091440242 1146 | :10479000081351C00E949A194EC0679C80011124D1 1147 | :1047A0000B5B1D4F711002C092E1792E7A948091BB 1148 | :1047B0004402781202C00E949A19F801C588D6886E 1149 | :1047C000E788F08CA70196016189728983899489B1 1150 | :1047D0000E94DA34811106C0E8018091410278120A 1151 | :1047E000DCCF29C0F80161A172A183A194A19B0132 1152 | :1047F000AC010E940134F80125A136A147A150A5C2 1153 | :104800000E94183729893A894B895C890E940134B2 1154 | :104810004B015C01A70196010E94DA34F80187FF81 1155 | :1048200005C0818A928AA38AB48AD6CFC18AD28AE5 1156 | :10483000E38AF48AD1CF60904102F9E26F9E800151 1157 | :1048400011240B5B1D4F77247394760C82E1781250 1158 | :1048500001C0712C5090430289E2482E751409F46E 1159 | :104860004DC0479CE0011124CB5BDD4FF8018188EE 1160 | :104870009288A388B488C988DA88EB88FC88A70165 1161 | :104880009601C501B4010E94DA3487FF23C0F80104 1162 | :1048900061A172A183A194A19B01AC010E9401348A 1163 | :1048A000F80125A136A147A150A50E9418379B0108 1164 | :1048B000AC01C501B4010E9401344B015C01A701A8 1165 | :1048C00096010E94DA3487FF05C0898A9A8AAB8AEA 1166 | :1048D000BC8A672C2D893E894F89588D69897A89D0 1167 | :1048E0008B899C890E94DA34811101C0672C7394F2 1168 | :1048F000F2E17F1201C0712C8E01B0CF60924102B3 1169 | :10490000DF91CF911F910F91FF90EF90DF90CF90AB 1170 | :10491000BF90AF909F908F907F906F905F904F90DF 1171 | :1049200008958CE1E5E2F2E0DF011D928A95E9F756 1172 | :10493000109244021092430281E08093420210924E 1173 | :10494000410208959091440280914302891769F0D1 1174 | :1049500081E0890F823109F480E0209141029213B5 1175 | :1049600002C08093410280934402089580914402E2 1176 | :1049700090914302981739F029E2829FC0011124D7 1177 | :104980008B5B9D4F089580E090E00895E091440294 1178 | :10499000EF5FE23109F4E0E080914302E81761F053 1179 | :1049A00089E2E89FF0011124EB5BFD4F6189728978 1180 | :1049B000838994890C94A53760E070E0CB01089559 1181 | :1049C00081E02091440290914202291380E00895F1 1182 | :1049D0002F923F924F925F926F927F928F929F920F 1183 | :1049E000AF92BF92CF92DF92EF92FF920F931F93FD 1184 | :1049F000CF93DF93CDB7DEB7AD970FB6F894DEBF98 1185 | :104A00000FBECDBF142F052F6B8F7C8F822E209170 1186 | :104A1000430239E2239F10011124F101EB5BFD4FAA 1187 | :104A20001F01158616861786108A15A216A217A2D0 1188 | :104A300010A6108249E956E766E97EE741A352A332 1189 | :104A400063A374A35C0140E8E42E46E0F42E9E01CB 1190 | :104A5000235F3F4F38A32F8F85E292E09E8F8D8F8B 1191 | :104A60006F01FE013196FAA3E9A3912CF501619142 1192 | :104A70007191819191915F01F70120813181428192 1193 | :104A800053810E9418370E94E836EF8DF8A1619398 1194 | :104A9000719381939193F8A3EF8FED8DFE8D4190EB 1195 | :104AA000519061907190FE8FED8F641975098609A0 1196 | :104AB00097092B013C0197FF07C04424552432017C 1197 | :104AC000461A570A680A790AF601418252826382BD 1198 | :104AD0007482F10125853685478550894216530633 1199 | :104AE0006406750610F429013A01F10145865686DF 1200 | :104AF0006786708A0E947C35F7012081318142816E 1201 | :104B000053810E94E1342B013C01E9A1FAA1619398 1202 | :104B1000719381939193FAA3E9A320E030E0A90176 1203 | :104B20000E94DA3487FF0AC0F1019081892D9DA788 1204 | :104B30000E9462239DA5892BF1018083A30192012C 1205 | :104B4000C301B2010E941837F10125A136A147A186 1206 | :104B500050A50E940134F10165A376A387A390A715 1207 | :104B60009394F4E0EF0EF11C24E0C20ED11C33E06C 1208 | :104B700093127CCF0E94A5376B017C01F10165A3E4 1209 | :104B800076A387A390A785859685A785B089892B6D 1210 | :104B90008A2B8B2B09F4FCC120E030E0A901612FA6 1211 | :104BA000702F8B8D9C8D0E94DA3487FD21C0882068 1212 | :104BB00061F0A7019601612F702F8B8D9C8D0E9453 1213 | :104BC0001837162F072F8B8F9C8F20E030E040E89E 1214 | :104BD0005FE3612F702F8B8D9C8D0E94DA3487FFED 1215 | :104BE0000DC010E000E030E83B8F8FE38C8F06C0F3 1216 | :104BF00019E906E7F6E9FB8F2EE72C8FA70196014E 1217 | :104C000060E070E080E89FE30E94E13469A77AA742 1218 | :104C10008BA79CA7E1E3F2E0FAA3E9A32CE836E036 1219 | :104C200038A32F8FCE010D969A8F898FFE01319672 1220 | :104C3000FE8FED8FC12CD12C7601ED8DFE8D808005 1221 | :104C40009180A280B38020E030E0A901C501B401C9 1222 | :104C50000E94DA34882309F47FC029A53AA54BA520 1223 | :104C60005CA5C501B4010E9418374B015C01ED8DB4 1224 | :104C7000FE8D60837183828393839B01AC0160E02E 1225 | :104C800070E080E89FE30E94E1342B013C01E8944E 1226 | :104C900077F8EF8DF8A12081318142815381C301E2 1227 | :104CA000B2010E9418376BA37CA38DA39EA39B0126 1228 | :104CB000AC01612F702F8B8D9C8D0E94DA3487FFA1 1229 | :104CC00006C01BA30CA3FB8DFDA32C8D2EA3F1010D 1230 | :104CD000F1A1FB8FF101F2A1FC8FF101F3A1FFA380 1231 | :104CE000F101F4A1F8A7EF8DF8A12485358546855B 1232 | :104CF0005785C301B2010E9418373B018C019B010B 1233 | :104D0000AC016B8D7C8D8FA198A50E94DA3487FF52 1234 | :104D100004C06B8C7C8C0FA118A5C301D801F101D4 1235 | :104D200081A392A3A3A3B4A3E9A1FAA12081318115 1236 | :104D300042815381C501B4010E9418379B01AC0127 1237 | :104D4000C701B6010E9400346B017C011BA10CA1BC 1238 | :104D5000FDA1FB8F2EA12C8F8D8D9E8D04969E8F95 1239 | :104D60008D8FE9A1FAA13496FAA3E9A32F8D38A17A 1240 | :104D70002C5F3F4F38A32F8FE98DFA8D8E179F0739 1241 | :104D800009F05BCF9091430280914402981306C0D2 1242 | :104D9000F101118A128A138A148A0BC02FEE3FEF99 1243 | :104DA0004FE75FE3C701B6010E94DD36181634F401 1244 | :104DB000F101118E128E138E148E5BC02FEE3FEF19 1245 | :104DC0004FE75FEBC701B6010E94DD36181644F0CD 1246 | :104DD0003FEEC32EDD24DA943FE7E32E3FEBF32EC4 1247 | :104DE000A701960160E070E080E89FE30E94003434 1248 | :104DF00020E030E040E05FE30E9418370E94A537D2 1249 | :104E00006B017C012091B5063091B6064091B70642 1250 | :104E10005091B806F10161A172A183A194A10E94F1 1251 | :104E20001837A70196010E9418374B015C01A701B2 1252 | :104E3000960160E070E080E89FE30E9400349B01EF 1253 | :104E4000AC01C501B4010E94E1346B017C0120E09A 1254 | :104E500030E0A9010E94DA3487FF04C0C12CD12CB4 1255 | :104E6000E12CF12CA601B701F101418F528F638F24 1256 | :104E7000748F212F302F4B8D5C8D612F702F8B8D78 1257 | :104E80009C8D0E941837162F072FF82EE92E862F9B 1258 | :104E9000902FAF2DBE2DF101858F968FA78FB0A3D8 1259 | :104EA000A18CB28CC38CD48C60903D0270903E0279 1260 | :104EB00080903F02909040029301A401612F702FD7 1261 | :104EC0008F2D9E2D0E94DA3487FD0BC09301A40123 1262 | :104ED000B501C6010E94DA3487FD11C05301640197 1263 | :104EE0000EC0212F302F4F2D5E2DB501C6010E941F 1264 | :104EF000DA3487FD04C0A12EB02ECF2CDE2CC501E4 1265 | :104F0000D601F101858B968BA78BB08F8CE0FE01CB 1266 | :104F10003196A1E3B2E001900D928A95E1F7812FDD 1267 | :104F2000902FAF2DBE2D80933D0290933E02A09313 1268 | :104F30003F02B09340028CE0FE013D96A5E2B2E054 1269 | :104F400001900D928A95E1F780914202809343028D 1270 | :104F50008F5F823109F480E080934202AD960FB6F4 1271 | :104F6000F894DEBF0FBECDBFDF91CF911F910F919F 1272 | :104F7000FF90EF90DF90CF90BF90AF909F908F9079 1273 | :104F80007F906F905F904F903F902F900C9476237E 1274 | :104F9000AD960FB6F894DEBF0FBECDBFDF91CF91B7 1275 | :104FA0001F910F91FF90EF90DF90CF90BF90AF9047 1276 | :104FB0009F908F907F906F905F904F903F902F9039 1277 | :104FC000089580912B0590912C05A0912D05B0910D 1278 | :104FD0002E058093250290932602A0932702B0937A 1279 | :104FE000280280912F0590913005A0913105B09154 1280 | :104FF00032058093290290932A02A0932B02B0934A 1281 | :105000002C028091330590913405A0913505B09123 1282 | :10501000360580932D0290932E02A0932F02B09319 1283 | :10502000300208958091430290914402891708F458 1284 | :105030008E5E891B08950E949A1980914402809384 1285 | :1050400041020C9476236F927F928F929F92AF923F 1286 | :10505000BF92CF92DF92EF92FF920F931F93CF9365 1287 | :10506000DF937C018B016A01FB018081F701E80F6E 1288 | :10507000F11D2081EF012D3229F422962181662431 1289 | :10508000639407C02B3211F0219602C02296218131 1290 | :10509000612CA12CB12C712C60E070E0CB01FE01E1 1291 | :1050A00030ED932E920E29E02915C8F0B39428E034 1292 | :1050B0002B1588F0A1107A94A5E0B0E09B01AC011B 1293 | :1050C0000E943938660F771F881F991F690D711D5F 1294 | :1050D000811D911D0BC0A11009C0739407C02EEF54 1295 | :1050E000921207C0A11005C0AA24A3942196208182 1296 | :1050F000D6CFBB2009F449C00E947A354B015C0130 1297 | :1051000020E030E0A9010E94DA34882361F18FEFBA 1298 | :1051100078166CF42AE037ED43E25CE3C501B40194 1299 | :105120000E9418374B015C0173947394F0CF78128E 1300 | :105130000BC02DEC3CEC4CEC5DE3C501B4010E94CE 1301 | :1051400018374B015C010FC0772069F020E030E098 1302 | :1051500040E251E4C501B4010E9418374B015C01E3 1303 | :105160007A9417149CF3662021F0B7FAB094B7F83C 1304 | :10517000B094F60180829182A282B382CE19DF09B7 1305 | :10518000C150F801C08381E001C080E0DF91CF9180 1306 | :105190001F910F91FF90EF90DF90CF90BF90AF9055 1307 | :1051A0009F908F907F906F900895009741F0EFE966 1308 | :1051B000FFE03197F1F700C000000197F6CF0895A6 1309 | :1051C0008F929F92AF92BF92CF92DF92EF92FF9217 1310 | :1051D00069017A019B01AC010E9418374B015C0107 1311 | :1051E000A7019601C701B6010E9418379B01AC01C7 1312 | :1051F000C501B4010E940134FF90EF90DF90CF9081 1313 | :10520000BF90AF909F908F900C94A537EBE6F0E0A5 1314 | :105210008081897E8083E8E6F0E080818E7F8083D4 1315 | :10522000089584B1897E84B985B1866185B98091FC 1316 | :10523000BD0683FF0BC080916B00866180936B007D 1317 | :105240008091680081608093680008950C9406291D 1318 | :10525000CF92DF92FF920F931F93CF93DF931F9212 1319 | :10526000CDB7DEB793B196718091BD0686FD02C0C1 1320 | :1052700086E198279923D9F0C12CD12CF12C01E09B 1321 | :1052800010E08C2D99830E946C239981892339F039 1322 | :1052900098010C2C01C0220F0A94EAF7F22A8FEF32 1323 | :1052A000C81AD80AE3E0CE16D10459F701C0F12C90 1324 | :1052B0008F2D0F90DF91CF911F910F91FF90DF9075 1325 | :1052C000CF9008951F920F920FB60F9211242F9333 1326 | :1052D0003F934F935F936F937F938F939F93AF937E 1327 | :1052E000BF93EF93FF9380912805813071F08091F7 1328 | :1052F000470581110AC00E94D2089FB7F894809197 1329 | :1053000047058360809347059FBFFF91EF91BF9151 1330 | :10531000AF919F918F917F916F915F914F913F914D 1331 | :105320002F910F900FBE0F901F9018952F923F92C4 1332 | :105330004F925F926F927F928F929F92AF92BF92A5 1333 | :10534000CF92DF92EF92FF920F931F93CF93DF9351 1334 | :10535000CDB7DEB767970FB6F894DEBF0FBECDBFEF 1335 | :10536000582E809127058111A1C124EAA22E26E0A2 1336 | :10537000B22E9E01235F3F4F190100E010E0C12CC7 1337 | :10538000D12C7601652C712C802F0E945823D101DD 1338 | :105390008D931D01C301002E02C0959587950A9437 1339 | :1053A000E2F780FF1AC020E030E040EC5FEBF5014F 1340 | :1053B00060817181828193810E941837688B472EAA 1341 | :1053C0004C01262F372FAC01C701B6010E94DD36F4 1342 | :1053D00018161CF0C888D42C74010F5F1F4FF4E01E 1343 | :1053E000AF0EB11C0330110579F68090C306909082 1344 | :1053F000C406A090C506B090C60624E0288B01E044 1345 | :105400006BE275E0CE0101960E94E6332090BE0665 1346 | :10541000312CFE0131968BE295E09F8B8E8B80E0E4 1347 | :1054200090E0412C10E0B701A60170589301082EBE 1348 | :1054300002C0359527950A94E2F720FF28C04394CF 1349 | :10544000AE89BF891D921D921D921C9213979101E6 1350 | :10545000082E02C0359527950A94E2F720FF03C075 1351 | :10546000002319F007C0002329F0C082D182E28214 1352 | :10547000F38204C040835183628373832DE030E064 1353 | :105480002C0F3D1F280F391FD9012C91122B01968B 1354 | :1054900034962E893F892C5F3F4F3F8B2E8B833074 1355 | :1054A000910521F6642D70E080E090E00E947A354D 1356 | :1054B0000E94A5379B01AC01C501B4010E941837B9 1357 | :1054C000AB01BC01109344054A8B5B8B6C8B7D8BCD 1358 | :1054D0000E94E12720E04A895B896C897D89CE01A1 1359 | :1054E00001960E94E8240E94BC190E94961600238F 1360 | :1054F000E9F00E942829FE013D9620E030E090E08E 1361 | :105500006191462F412359F0AC01022E02C05595FE 1362 | :1055100047950A94E2F740FF02C0609516232F5F7B 1363 | :105520003F4F2330310561F7109344050E94BC19A9 1364 | :10553000809145058473C1F080914505807329F001 1365 | :105540000E94D2080E94D414B1C00111AAC00E94C6 1366 | :1055500028298521A9F79FB7F894809145058B7F6D 1367 | :10556000809345059FBF04C0812F8C7109F0BFCF88 1368 | :105570000E944C190E9491248091C7069091C80600 1369 | :105580000E94D52831E00327C9F020E030E040EA4E 1370 | :1055900050E46091C9067091CA068091CB06909143 1371 | :1055A000CC060E9418376B017C018090BF0690905A 1372 | :1055B000C006A090C106B090C20610C0C090C90637 1373 | :1055C000D090CA06E090CB06F090CC068090C3063F 1374 | :1055D0009090C406A090C506B090C60688898150F8 1375 | :1055E000888B81110DCF8091BE06A82FB0E0B98BBA 1376 | :1055F000A88BC090C906D090CA06E090CB06F09068 1377 | :10560000CC061601270157FA509457F8509480E8B9 1378 | :10561000A82E86E0B82E9BE2892E95E0992E00E018 1379 | :1056200010E0C301002E02C0959587950A94E2F719 1380 | :1056300080FF29C088899989002E02C09595879599 1381 | :105640000A94E2F7F50180FF0EC024A135A146A11E 1382 | :1056500057A1C701B6010E940134D5012D913D919A 1383 | :105660004D915C9106C02081318142815381C201FC 1384 | :10567000B1010E9418370E94E836D4016D937D93E2 1385 | :105680008D939C9313970F5F1F4FB4E08B0E911C6B 1386 | :10569000E4E0AE0EB11C0330110519F60E94E127BB 1387 | :1056A00005C08091450582FF56CF4ACF67960FB659 1388 | :1056B000F894DEBF0FBECDBFDF91CF911F910F9148 1389 | :1056C000FF90EF90DF90CF90BF90AF909F908F9022 1390 | :1056D0007F906F905F904F903F902F900895BF9272 1391 | :1056E000CF92DF92EF92FF920F931F93CF93DF93AE 1392 | :1056F0008C01C4EAD6E0BB24B394F801C190D190E8 1393 | :10570000E190F1908F0120E030E0A901C701B601DE 1394 | :105710000E94DD3618164CF0288139814A815B8160 1395 | :10572000C701B6010E94DA3487FDB0922A05809144 1396 | :105730002A05882361F1809128058830A9F00E940C 1397 | :10574000D2089FB7F89480914705856080934705FC 1398 | :105750009FBFDF91CF911F910F91FF90EF90DF904E 1399 | :10576000CF90BF900C94D4149FB7F89480914505C6 1400 | :105770008860809345059FBF0E94D41480912705BF 1401 | :1057800081110BC0809128058111F6CFD8CF2496C6 1402 | :10579000F6E0C03BDF0709F0B0CFDF91CF911F915A 1403 | :1057A0000F91FF90EF90DF90CF90BF900895CF932F 1404 | :1057B000DF93EC018991882319F00E941714FACF26 1405 | :1057C000DF91CF910895CF93DF93FC018491EF0196 1406 | :1057D0002196882321F00E941714FE01F7CFDF9154 1407 | :1057E000CF910895EF92FF920F931F93CF93DF9382 1408 | :1057F0001F92CDB7DEB7262FEDB6FEB66DB77EB7DA 1409 | :10580000641B71090FB6F8947EBF0FBE6DBF0DB754 1410 | :105810001EB70F5F1F4F302FF8019E2F931B941759 1411 | :1058200028F4622F0E9405389193F7CF442361F04A 1412 | :10583000F801E40FF11D31978081805D49830E945A 1413 | :10584000171449814150F2CF0FB6F894FEBE0FBE37 1414 | :10585000EDBE0F90DF91CF911F910F91FF90EF90D0 1415 | :10586000089548E062E00C94F22B8A3020F08436F0 1416 | :1058700020F442E003C041E001C043E06AE00C9440 1417 | :10588000F22B8F929F92AF92BF92CF92DF92EF92C4 1418 | :10589000FF920F931F93CF93DF93CDB7DEB72A9775 1419 | :1058A0000FB6F894DEBF0FBECDBF6B017C01142F85 1420 | :1058B00020E030E0A9010E94DA3487FF07C08DE2C2 1421 | :1058C0000E941714F7FAF094F7F8F094012F0230C1 1422 | :1058D00060F020E030E048EC52E4C701B6010E94DD 1423 | :1058E00018376B017C010250F2CF10FF0AC020E094 1424 | :1058F00030E040E251E4C701B6010E9418376B0165 1425 | :105900007C0120E030E040E05FE3C701B6010E9487 1426 | :1059100001340E944935E1E0F0E0EC0FFD1FE10F9A 1427 | :10592000F11D2EE22083D12C5AE0852E912CA12C42 1428 | :10593000B12C6115710581059105A9F0D11201C045 1429 | :10594000D394EE24E394F12CEC0EFD1EED0CF11C2F 1430 | :10595000A50194010E941138605DF7016083B901CF 1431 | :10596000CA01D394E6CF80E3D11648F4E1E0F0E039 1432 | :10597000EC0FFD1FED0DF11D8083D394F5CF8D2D20 1433 | :10598000D1120BC0D394D3948F5FE1E0F0E0EC0F21 1434 | :10599000FD1FE80FF11D80E38083DD2041F0FE0153 1435 | :1059A000ED0DF11D80810E941714DA94F6CF2A962E 1436 | :1059B0000FB6F894DEBF0FBECDBFDF91CF911F9120 1437 | :1059C0000F91FF90EF90DF90CF90BF90AF909F909E 1438 | :1059D0008F9008952091BD0620FF08C02BE832E487 1439 | :1059E00041E25DE30E94183744E001C043E00C94BB 1440 | :1059F000412C2091BD0620FF08C02BE832E441E293 1441 | :105A00005DE30E94183741E001C040E00C94412C56 1442 | :105A100043E00C94412C3D98459A08951092CD0690 1443 | :105A20009091BD0697FD03C090E29093CD06882328 1444 | :105A300031F08091CD0690E289278093CD060895BC 1445 | :105A400086B180729091CD06892708958091460590 1446 | :105A50008130A1F40E94202D882381F01092460508 1447 | :105A60008CE0EBE2F5E0A7E3B5E001900D928A95BA 1448 | :105A7000E1F7809145058064809345050895CF93B3 1449 | :105A8000C82F811103C086E498E044C08EE398E0FB 1450 | :105A90000E94E32B4C2F50E0FA013197E631F105DB 1451 | :105AA00080F5EB58FF4F0C94333886E298E002C043 1452 | :105AB00084E198E00E94E32B2BC082E098E0FACFCB 1453 | :105AC00088EF97E0F7CF87EE97E0F4CF88ED97E087 1454 | :105AD000F1CF87EB97E0EECF8EEA97E0EBCF83EA4A 1455 | :105AE00097E0E8CF80E997E0E5CF82E897E0E2CF62 1456 | :105AF0008CE697E0DFCF88E597E0DCCF84E497E0A1 1457 | :105B0000D9CF82E397E00E94E32B8C2F0E94352CA3 1458 | :105B10008FE297E0CF910C94E32BCF93C82F87E2CD 1459 | :105B200097E00E94E32BC33091F03CF4C13061F068 1460 | :105B3000C230A1F481E197E00FC0C43059F0C53004 1461 | :105B400069F487EE96E008C08CE197E005C08EEF1F 1462 | :105B500096E002C083EF96E00E94E32B84EE96E08D 1463 | :105B60000E94E32B84EF91E0CF910C94D528CF9342 1464 | :105B7000C82F82EE96E00E94E32B8C2F90E0FC0170 1465 | :105B80003197E830F105E8F4E557FF4F0C943338CE 1466 | :105B900080ED96E014C08CEB96E011C08AEA96E0A6 1467 | :105BA0000EC082EA96E00BC089E996E008C08EE854 1468 | :105BB00096E005C086E896E002C083E796E00E9482 1469 | :105BC000E32B8FE696E0CF910C94E32B82E596E0F1 1470 | :105BD0000C94E32B8EE095E00C94E32BFF920F9353 1471 | :105BE0001F93CF93DF938AE095E00E94E32B80918F 1472 | :105BF000B0060E94352C81EF94E00E94E32B809147 1473 | :105C0000B3060E94352C83ED94E00E94E32B809133 1474 | :105C1000B1060E94352C8AEB94E00E94E32B809120 1475 | :105C2000B1060E94312C83EB94E00E94E32B80911B 1476 | :105C3000B2060E94352C8BE994E00E94E32B809100 1477 | :105C4000B2060E94312C84E994E00E94E32B8091FB 1478 | :105C5000BD0682FB882780F90E94352C83E794E0FB 1479 | :105C60000E94E32B8091BD0686FB882780F90E9465 1480 | :105C7000352C83E594E00E94E32B8091BD06881FBC 1481 | :105C80008827881F0E94352C83E394E00E94E32B31 1482 | :105C90008091B4060E94352C8DE194E00E94E32BA4 1483 | :105CA0008091B4060E94312C85E194E00E94E32BA0 1484 | :105CB0006091B5067091B6068091B7069091B806CE 1485 | :105CC0000E94082D85EF93E00E94E32B6091B906B6 1486 | :105CD0007091BA068091BB069091BC060E94082D77 1487 | :105CE0008AED93E00E94E32B8091BD0681700E94B3 1488 | :105CF000352C8DEB93E00E94E32B8091BD0685FB54 1489 | :105D0000882780F90E94352C82EA93E00E94E32BD9 1490 | :105D10008091BD0683FB882780F90E94352C87E897 1491 | :105D200093E00E94E32B8091BD06829581700E94D2 1492 | :105D3000352C8BE693E00E94E32B8091BE060E94F7 1493 | :105D4000352C81E593E00E94E32B8091BE060E94F2 1494 | :105D5000312C89E493E00E94E32B6091BF0670919F 1495 | :105D6000C0068091C1069091C2060E94082D8CE267 1496 | :105D700093E00E94E32B6091C3067091C40680916A 1497 | :105D8000C5069091C6060E94082D8FE093E00E9400 1498 | :105D9000E32B8091C7060E94352C80EF92E00E9491 1499 | :105DA000E32B6091C9067091CA068091CB06909151 1500 | :105DB000CC060E94082D87ED92E00E94E32B84E63A 1501 | :105DC000F82E10E0C0E8D6E000E085ED92E00E94F9 1502 | :105DD000E32B802F8F0D0E94352C83ED92E00E94E3 1503 | :105DE000E32B123071F01330B9F0113029F06881D3 1504 | :105DF00079818A819B8117C06C857D858E859F8581 1505 | :105E000012C020E030E041E655E4688D798D8A8D3E 1506 | :105E10009B8D0E94E13407C08CA19DA1AEA1BFA1C2 1507 | :105E2000BC01CD0190580E94082D80ED92E00E94A7 1508 | :105E3000E32B013029F0023031F08EEC92E005C006 1509 | :105E40008CEC92E002C08AEC92E00E94E32B1230CC 1510 | :105E500051F0133059F0113019F080EC92E008C085 1511 | :105E60008EEA92E005C08DE992E002C08DE892E0F2 1512 | :105E70000E94E32B89E892E00E94E32B0F5F2496B7 1513 | :105E8000033009F0A2CF8AE0F80E1F5F8CE8F81209 1514 | :105E900099CFDF91CF911F910F91FF900895CF93EC 1515 | :105EA00083E892E00E94E32BC0E06C2F87E395E04B 1516 | :105EB0000E94CC330E94EA2CC23021F081E892E0AB 1517 | :105EC0000E94E32BCF5FC33081F78FE792E00E94FF 1518 | :105ED000E32B809143050E94352C8BE792E0CF9114 1519 | :105EE0000C94E32BEF92FF920F931F93CF93DF93CA 1520 | :105EF000CDB7DEB72C970FB6F894DEBF0FBECDBF7F 1521 | :105F0000F12CBE016F5F7F4F8F2D0E9410228111F7 1522 | :105F100004C087E00E943F2D69C088E792E00E949C 1523 | :105F2000E32B86E0F81631F0E7E0FE1208C082E7C6 1524 | :105F300092E002C085E792E00E94E32B04C086E372 1525 | :105F40008F0D0E94352C80E792E00E94E32B8E019A 1526 | :105F50000F5F1F4FE12CF801619171918191919137 1527 | :105F60008F010E94EA2CF2E0EF1619F08EE692E023 1528 | :105F700002C08AE692E00E94E32BE39483E0E812F9 1529 | :105F8000EACFF394E8E0FE12BCCF84E692E00E94F0 1530 | :105F9000E32B07E715E0F12CF801619171918191F4 1531 | :105FA00091918F010E94EA2CF2E0FF1619F082E62F 1532 | :105FB00092E002C08EE592E00E94E32BF39483E02E 1533 | :105FC000F812EACF88E592E00E94E32B6091830506 1534 | :105FD0007091840580918505909186050E94EA2C38 1535 | :105FE00084E592E00E94E32B0E944F2F2C960FB67F 1536 | :105FF000F894DEBF0FBECDBFDF91CF911F910F91FF 1537 | :10600000FF90EF90089582E592E00E94E32B80914B 1538 | :106010004805823091F038F4882361F08130A9F48A 1539 | :106020008CE492E00CC0833069F0883071F482E433 1540 | :1060300092E005C08FE492E002C089E492E00E9401 1541 | :10604000E32B0CC086E492E0FACF8DE392E00E944D 1542 | :10605000E32B8091480582500E94352C8AE392E020 1543 | :106060000E94E32B80914E058A5C0E94352C809122 1544 | :106070004C05813049F028F0823051F48BE292E0F7 1545 | :1060800005C085E392E002C080E392E00E94E32B2A 1546 | :1060900080914A05811103C086E292E002C081E24C 1547 | :1060A00092E00E94E32B80914B05811103C08CE1AB 1548 | :1060B00092E002C087E192E00E94E32B80914905C3 1549 | :1060C000813019F482E192E002C08DE092E00E94FA 1550 | :1060D000E32B80914F05813049F028F0823051F454 1551 | :1060E00081E092E005C089E092E002C085E092E0A4 1552 | :1060F0000E94E32B80915105813031F040F08230D5 1553 | :1061000051F489EF91E005C08DEF91E002C085EF79 1554 | :1061100091E00E94E32B80915005882329F0823082 1555 | :1061200039F48DEE91E002C081EF91E00E94E32B03 1556 | :106130008AEE91E00E94E32B80915A050E94352C53 1557 | :1061400087EE91E00E94E32B609156057091570510 1558 | :1061500080915805909159050E94F92C84EE91E0A8 1559 | :106160000E94E32B60915205709153058091540574 1560 | :10617000909155050E94F92C80EE91E00C94E32B50 1561 | :106180001F93CF93DF93182FEB018DED91E00E94C9 1562 | :10619000E32B812F0E94352C8BED91E00E94E32BA5 1563 | :1061A000CE010E94D72B88ED91E0DF91CF911F9116 1564 | :1061B0000C94E32BCF93DF93EC0188EC91E00E94E9 1565 | :1061C000E32BCE010E94D72B84EC91E0DF91CF919D 1566 | :1061D0000C94E32BBF92CF92DF92EF92FF920F933A 1567 | :1061E0001F93CF93DF93CDB7DEB768970FB6F894C0 1568 | :1061F000DEBF0FBECDBF8CE0EBE2F5E0DE011D9609 1569 | :1062000001900D928A95E1F7809128058430E9F09C 1570 | :1062100040F48130E9F080F0823009F58FE991E0B7 1571 | :106220001CC0803179F018F4883049F018C08032F1 1572 | :1062300091F0803421F013C08EEB91E00EC089EB19 1573 | :1062400091E00BC083EB91E008C08DEA91E005C0BE 1574 | :1062500086EA91E002C089E991E00E94E32B8091F7 1575 | :10626000B406837039F0BE01635F7F4FCE010196A3 1576 | :106270000E94E6338091B40680FD05C08091B4068B 1577 | :1062800081FF6DC01FC082E991E00E94E32B69810C 1578 | :106290007A818B819C810E94EA2C80E991E00E94A6 1579 | :1062A000E32B6D817E818F8198850E94EA2C80E9A5 1580 | :1062B00091E00E94E32B69857A858B859C850E94FD 1581 | :1062C000EA2CDCCF89E891E00E94E32B9BE6E92EE3 1582 | :1062D00095E0F92E8E010F5F1F4FB12C6801F70179 1583 | :1062E00061917191819191917F01208531854285E4 1584 | :1062F00053850E9401349B01AC01F80160817181DA 1585 | :10630000828193810E940034F801608371838283CB 1586 | :106310009383F2E0BF120FC0209183053091840572 1587 | :1063200040918505509186050E940034F8016083F4 1588 | :106330007183828393830C5F1F4FF60160817181AB 1589 | :10634000828193810E94EA2CF2E0BF1621F087E857 1590 | :1063500091E00E94E32BB39423E0B212BFCF80916F 1591 | :10636000B40682FF08C081E891E00E94E32B0E94FE 1592 | :1063700012280E94352C8091B40683FF08C08CE758 1593 | :1063800091E00E94E32B0E94F8130E94352C80912B 1594 | :10639000B40684FF0AC086E791E00E94E32B0E94C6 1595 | :1063A000282943E062E00E94F22B82E791E00E94FC 1596 | :1063B000E32B68960FB6F894DEBF0FBECDBFDF911A 1597 | :1063C000CF911F910F91FF90EF90DF90CF90BF90F2 1598 | :1063D000089587B1887F87B988B1876088B9ECE66E 1599 | :1063E000F0E0808187608083E8E6F0E08081826071 1600 | :1063F000808308951F920F920FB60F9211242F934E 1601 | :106400003F934F935F936F937F938F939F93AF933C 1602 | :10641000BF93EF93FF9386B18095877099F080FFCB 1603 | :1064200003C00E94D2080EC0982F947021F0809172 1604 | :106430004505826005C081FF05C0809145058860E3 1605 | :1064400080934505FF91EF91BF91AF919F918F91FF 1606 | :106450007F916F915F914F913F912F910F900FBE60 1607 | :106460000F901F90189580E008951F93CF93DF93AE 1608 | :10647000EC0110E0BE01812F0E94DE21811102C0DB 1609 | :1064800087E009C08881882341F0CE010E94D72B84 1610 | :10649000CE010E9415090E943F2D1F5F123051F757 1611 | :1064A000DF91CF911F9108958F929F92AF92BF92EB 1612 | :1064B000CF92DF92EF92FF921F93CF93DF93CDB7EE 1613 | :1064C000DEB729970FB6F894DEBF0FBECDBF7C01B3 1614 | :1064D00081E08987F7018181833479F034F488235E 1615 | :1064E00049F0843209F040C008C0873431F0883563 1616 | :1064F000D9F503C00E94EA2D1AC0F70192819111CB 1617 | :1065000038C18334B1F01CF4843231F010C08734C8 1618 | :1065100061F08835F9F00BC080912805887111F081 1619 | :1065200088E028C10E94EE2D02C00E94033080E066 1620 | :1065300021C180912805823021F40E94D20885E093 1621 | :1065400006C08111EDCF82E08093280584E00E948F 1622 | :10655000B72DEDCF80912805813049F783E00E9467 1623 | :10656000B72D10922805E3CF909128059230C0F600 1624 | :10657000893459F12CF4833251F0883489F08AC07F 1625 | :106580008E3409F46AC0823509F440C083C082E0C9 1626 | :106590008987F70182818111ECC00E94722FC7CFD9 1627 | :1065A0008091BD0684FFE3C084E0809328050E94AB 1628 | :1065B0002108809127058111BACF109228050E94E9 1629 | :1065C000B616C7010E943532B2CF82E08987F70143 1630 | :1065D0008281811107C0C7010E94FB21C7010E946F 1631 | :1065E000DA30A5CF8D3309F0C4C083E0F701E80F9E 1632 | :1065F000F11D9081DF0113979C938F5F9081911122 1633 | :10660000F5CF8987C7010E94BD2091CFF701828114 1634 | :10661000833509F0AEC08381843509F0AAC0848136 1635 | :106620008D3309F0A6C086818111A3C085E08987DA 1636 | :106630008581843239F08A3239F0833209F099C089 1637 | :1066400082E003C081E001C08FEF0E94DA2088E081 1638 | :106650000E94B72D0E94D2086ACF82E08987F70195 1639 | :106660008281811113C010E0B701812F0E94DE21C9 1640 | :10667000811104C087E00E943F2D04C0B701812F23 1641 | :106680000E94C0301F5F123079F751CF911148CF6F 1642 | :1066900011E001C010E0AE014B5F5F4FBE01675FCC 1643 | :1066A0007F4FC7010E942328811102C082E062C08F 1644 | :1066B000898521E0280F2987F701E80FF11D8081E6 1645 | :1066C0008D3309F056C0112321F1822F90E0E22F83 1646 | :1066D000F0E0D701AE0FBF1F3C91E81BF90BEE0DA8 1647 | :1066E000FF1D30832F5F3C913111F1CF2987C70106 1648 | :1066F0000E94150981113EC06D817E818F81988530 1649 | :106700000E94E6370E944E35862FB7010E94B420C2 1650 | :106710000ECFAE014F5F5F4FBE01675F7F4FC70176 1651 | :106720000E942328882311F28985F701E80FF11DC3 1652 | :10673000808181111EC0CD80DE80EF80F88420E052 1653 | :1067400030E04FE753E4C701B6010E94DD3618166A 1654 | :1067500084F089809A80AB80BC80C701B6010E941A 1655 | :106760004E35862FB501A4010E94452203C085E065 1656 | :1067700001C083E029960FB6F894DEBF0FBECDBFEF 1657 | :10678000DF91CF911F91FF90EF90DF90CF90BF905E 1658 | :10679000AF909F908F900895CF93DF9324E0629FF6 1659 | :1067A000E00111248C0F9D1FFC01608171818281A9 1660 | :1067B00093810E947C35C058D94F288139814A8104 1661 | :1067C0005B810E94E134DF91CF910895FF920F9396 1662 | :1067D0001F93CF93DF938B01EC01F12C6F2DC80138 1663 | :1067E0000E94CC336993799389939993F39483E0CE 1664 | :1067F000F812F4CFDF91CF911F910F91FF90089580 1665 | :106800005058BB27AA270ED076C23FD230F044D2D0 1666 | :1068100020F031F49F3F11F41EF40FC20EF4E09506 1667 | :10682000E7FBDCC1E92F89D280F3BA17620773074F 1668 | :106830008407950718F071F49EF5B8C20EF4E09540 1669 | :106840000B2EBA2FA02D0B01B90190010C01CA012A 1670 | :10685000A0011124FF27591B99F0593F50F4503ED5 1671 | :1068600068F11A16F040A22F232F342F4427585FC7 1672 | :10687000F3CF469537952795A795F0405395C9F7DF 1673 | :106880007EF41F16BA0B620B730B840BBAF0915097 1674 | :10689000A1F0FF0FBB1F661F771F881FC2F70EC036 1675 | :1068A000BA0F621F731F841F48F487957795679509 1676 | :1068B000B795F7959E3F08F0B3CF9395880F08F0F2 1677 | :1068C0009927EE0F979587950895DFD158F080E8C6 1678 | :1068D00091E009F49EEFE0D128F040E851E059F44E 1679 | :1068E0005EEF09C0AAC162C2E92FE07826D268F340 1680 | :1068F000092E052AC1F3261737074807590738F02C 1681 | :106900000E2E07F8E02569F0E025E0640AC0EF6389 1682 | :1069100007F8009407FADB01B9019D01DC01CA0107 1683 | :10692000AD01EF935DD0E7D10AD05F91552331F0EF 1684 | :106930002BED3FE049E450FD49EC63CF0895DF9330 1685 | :10694000DD27B92FBF7740E85FE316161706480723 1686 | :106950005B0710F4D92F35D29F938F937F936F935A 1687 | :1069600032D3E6E2F1E06CD1C6D12F913F914F9145 1688 | :106970005F916AD2DD2349F09058A2EA2AED3FE008 1689 | :1069800049EC5FE3D0785D274DDFDF91B4C1F7D1EB 1690 | :1069900080F09F3740F491110EF409C260E070E07E 1691 | :1069A00080E89FE3089526F01B16611D711D811D6F 1692 | :1069B0001BC135C1EFD008F481E0089575D1E3958E 1693 | :1069C000ABC10CD098C168D140F05FD130F021F458 1694 | :1069D0005F3F19F003C15111EAC12FC1AED198F345 1695 | :1069E0009923C9F35523B1F3951B550BBB27AA2750 1696 | :1069F00062177307840738F09F5F5F4F220F331FC2 1697 | :106A0000441FAA1FA9F333D00E2E3AF0E0E830D08D 1698 | :106A100091505040E695001CCAF729D0FE2F27D090 1699 | :106A2000660F771F881FBB1F261737074807AB075E 1700 | :106A3000B0E809F0BB0B802DBF01FF2793585F4FD3 1701 | :106A40002AF09E3F510568F0C9C0B1C15F3FECF329 1702 | :106A5000983EDCF3869577956795B795F7959F5F98 1703 | :106A6000C9F7880F911D9695879597F90895E1E0EC 1704 | :106A7000660F771F881FBB1F621773078407BA074B 1705 | :106A800020F0621B730B840BBA0BEE1F88F7E095A6 1706 | :106A9000089504D06894B1118AC1089556D188F040 1707 | :106AA0009F5790F0B92F9927B751A0F0D1F0660FFA 1708 | :106AB000771F881F991F1AF0BA95C9F712C0B13015 1709 | :106AC00081F074D1B1E0089571C1672F782F8827C4 1710 | :106AD000B85F39F0B93FCCF3869577956795B39554 1711 | :106AE000D9F73EF490958095709561957F4F8F4FC3 1712 | :106AF0009F4F0895E89409C097FB3EF490958095C8 1713 | :106B0000709561957F4F8F4F9F4F9923A9F0F92F73 1714 | :106B100096E9BB279395F695879577956795B795F1 1715 | :106B2000F111F8CFFAF4BB0F11F460FF1BC06F5FD7 1716 | :106B30007F4F8F4F9F4F16C0882311F096E911C0E9 1717 | :106B4000772321F09EE8872F762F05C0662371F00A 1718 | :106B500096E8862F70E060E02AF09A95660F771F1E 1719 | :106B6000881FDAF7880F9695879597F9089507D1CA 1720 | :106B700080F09F3740F491110EF019C160E070E091 1721 | :106B800080E89FEB089526F41B16611D711D811D81 1722 | :106B90002BC045C0990F0008550FAA0BE0E8FEEF87 1723 | :106BA00016161706E807F907C0F012161306E407D1 1724 | :106BB000F50798F0621B730B840B950B39F40A26CA 1725 | :106BC00061F0232B242B252B21F408950A2609F4A8 1726 | :106BD000A140A6958FEF811D811D089597F99F67AC 1727 | :106BE00080E870E060E00895882371F4772321F055 1728 | :106BF0009850872B762F07C0662311F499270DC074 1729 | :106C00009051862B70E060E02AF09A95660F771F0E 1730 | :106C1000881FDAF7880F9695879597F908959F3F13 1731 | :106C200031F0915020F4879577956795B795880F47 1732 | :106C3000911D9695879597F908959FEF80EC08959B 1733 | :106C4000DF93CF931F930F93FF92EF92DF927B011D 1734 | :106C50008C01689405C0DA2EEF01F6D0FE01E894AD 1735 | :106C6000A5912591359145915591AEF3EF01DADD6E 1736 | :106C7000FE019701A801DA9479F7DF90EF90FF9079 1737 | :106C80000F911F91CF91DF91089500240A94161659 1738 | :106C9000170618060906089500240A94121613060A 1739 | :106CA000140605060895C9CF50D0E8F3E894E0E053 1740 | :106CB000BB279F57F0F02AED3FE049EC06C0EE0FEE 1741 | :106CC000BB0F661F771F881F28F0B23A6207730751 1742 | :106CD000840728F0B25A620B730B840BE3959A95E4 1743 | :106CE00072F7803830F49A95BB0F661F771F881FA4 1744 | :106CF000D2F7904896CF092E0394000C11F4882304 1745 | :106D000052F0BB0F40F4BF2B11F460FF04C06F5F63 1746 | :106D10007F4F8F4F9F4F0895EF93E0FF06C0A2EA89 1747 | :106D20002AED3FE049EC5FEB7DDDE5DF0F9003945A 1748 | :106D300001FC9058E3E5F1E057C157FD9058440F2E 1749 | :106D4000551F59F05F3F71F04795880F97FB991FCA 1750 | :106D500061F09F3F79F08795089512161306140687 1751 | :106D6000551FF2CF4695F1DF08C016161706180614 1752 | :106D7000991FF1CF86957105610508940895E5DFA7 1753 | :106D8000A0F0BEE7B91788F4BB279F3860F4161649 1754 | :106D9000B11D672F782F8827985FF7CF8695779555 1755 | :106DA0006795B11D93959639C8F30895E894BB276C 1756 | :106DB00066277727CB0197F90895ECDE08F48FEF6B 1757 | :106DC00008959B01AC0160E070E080E89FE3F9CD9D 1758 | :106DD000BCDF58F19E5758F19851A0F0E9F0983077 1759 | :106DE00020F5092E9927660F771F881F991F0A948F 1760 | :106DF000D1F712C0062E672F782F8827985F11F4DD 1761 | :106E0000000C07C0993FB4F38695779567959395E5 1762 | :106E1000D9F7611D711D811D3EF490958095709587 1763 | :106E200061957F4F8F4F9F4F08956894C0CFBECF1D 1764 | :106E30000BD061CF2ADF28F02FDF18F0952309F05F 1765 | :106E4000CDCEFBCE1124B3CF78DFA0F3959FD1F345 1766 | :106E5000950F50E0551F629FF001729FBB27F00D08 1767 | :106E6000B11D639FAA27F00DB11DAA1F649F66275D 1768 | :106E7000B00DA11D661F829F2227B00DA11D621FAC 1769 | :106E8000739FB00DA11D621F839FA00D611D221F66 1770 | :106E9000749F3327A00D611D231F849F600D211D4A 1771 | :106EA000822F762F6A2F11249F5750408AF0E1F0ED 1772 | :106EB00088234AF0EE0FFF1FBB1F661F771F881F36 1773 | :106EC00091505040A9F79E3F510570F087CE6FCF8B 1774 | :106ED0005F3FECF3983EDCF3869577956795B79521 1775 | :106EE000F795E7959F5FC1F7FE2B880F911D96954B 1776 | :106EF000879597F9089529DFE0F09E37D8F0963905 1777 | :106F0000B8F49E3848F4672F782F8827985FF9CF18 1778 | :106F100086957795679593959539D0F3B62FB1708F 1779 | :106F20006B0F711D811D20F487957795679593955B 1780 | :106F30005BCE75CE3CCF9F93B7DE0F9007FCEE5F24 1781 | :106F4000EBCE11F40EF479CE6ACEFFDED0F39923A6 1782 | :106F5000D9F3CEF39F57550B87FF3FD00024A0E60F 1783 | :106F600040EA900180585695979528F4805C660F0A 1784 | :106F7000771F881F20F026173707480730F4621B59 1785 | :106F8000730B840B202931294A2BA695179407945B 1786 | :106F9000202531254A2758F7660F771F881F20F0D4 1787 | :106FA00026173707480730F4620B730B840B200D4C 1788 | :106FB000311D411DA09581F7B901842F9158880F8B 1789 | :106FC0009695879508959B01AC0132CFD8DE20F0CD 1790 | :106FD0009F3708F4ECCE08CE22CE91505040660F79 1791 | :106FE000771F881FD2F708959F938F937F936F9396 1792 | :106FF000FF93EF939B01AC011BDFEF91FF9120DE2C 1793 | :107000002F913F914F915F9113CF991B79E004C06D 1794 | :10701000991F961708F0961B881F7A95C9F78095D7 1795 | :107020000895A1E21A2EAA1BBB1BFD010DC0AA1FC9 1796 | :10703000BB1FEE1FFF1FA217B307E407F50720F0E1 1797 | :10704000A21BB30BE40BF50B661F771F881F991F5C 1798 | :107050001A9469F760957095809590959B01AC01A5 1799 | :10706000BD01CF010895EE0FFF1F0590F491E02DB3 1800 | :1070700009940E944438A59F900DB49F900DA49F41 1801 | :10708000800D911D11240895A29FB001B39FC001EE 1802 | :10709000A39F700D811D1124911DB29F700D811D44 1803 | :0A70A0001124911D0895F894FFCF0C 1804 | :00000001FF 1805 | --------------------------------------------------------------------------------