├── LICENSE ├── OpenEnergyMonitor ├── ArduinoShield │ ├── ArduinoShield.ino │ ├── CalVref.ino │ ├── EmonLib.cpp │ └── EmonLib.h ├── emonPi │ ├── src.ino │ ├── src.ino.standard.hex │ └── src.ino.with_bootloader.standard.hex └── emonTx │ ├── config.ino │ ├── emontx3-3.0.ino.standard.hex │ ├── emontx3-3.0.ino.with_bootloader.standard.hex │ └── emontx3-30.ino ├── README.md └── images ├── Consumer unit with CT.jpg ├── Consumer unit with current transformer.jpg ├── ESPproMon 4 Tabs.png ├── ESPproMon Tab 1 and 2 dark halfsize.png ├── ESPproMon Tab 3 and 4 dark halfsize.png ├── ESPproMon pages 1 and 2 half size.png ├── ESPproMon pages 3 and 4 half size.png ├── EnergyMonitoring.txt ├── PZEM-004 from PeaceFair installed in a domestic electrical consumer unit.jpg ├── emonPi PCB with Raspberry Pi.jpg ├── emonPi complete with enclosure.jpg ├── emonTx Arduino shield components.jpg ├── emonTx Arduino shield with Leonardo DS18B20 and TTL.jpg └── emonTx with TTL.jpg /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 theCHARioT 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /OpenEnergyMonitor/ArduinoShield/ArduinoShield.ino: -------------------------------------------------------------------------------- 1 | /* 2 | USE CT4 !!!!! 3 | ArduinoShieldV3.ino for Leonardo or Uno WAS LeoShieldCT1234v3.ino with DS18B20 option from: 4 | https://github.com/openenergymonitor/emontx-shield/blob/master/firmware/Shield_CT1234_Voltage_SerialOnly/Shield_CT1234_Voltage_SerialOnly.ino 5 | Use micro USB to upload new sketches NOT TTL, TTL is just to receive data and only requires 2 pins GND and TX (labelled RX on shield as it 6 | goes to RX allocated pin on the ESP). 7 | EmonTx CT1234 Voltage Serial Only example 8 | Part of the openenergymonitor.org project 9 | Licence: GNU GPL V3 10 | Author: Trystan Lea and minor mods by ESPproMon© 11 | */ 12 | 13 | #include "EmonLib.h" 14 | 15 | EnergyMonitor ct1,ct2,ct3,ct4; // Create instances for each CT channel 16 | bool DEBUG = 1; // Print serial debug 17 | #ifdef ARDUINO_AVR_LEONARDO 18 | #define FOUND_LEONARDO 19 | #endif // not a LEONARDO so must be an UNO 20 | 21 | #include //http://www.pjrc.com/teensy/td_libs_OneWire.html 22 | #include //http://download.milesburton.com/Arduino/MaximTemperature/DallasTemperature_LATEST.zip 23 | const int TEMPERATURE_PRECISION= 11; //9 (93.8ms),10 (187.5ms) ,11 (375ms) or 12 (750ms) bits equal to resplution of 0.5C, 0.25C, 0.125C and 0.0625C 24 | const byte MaxOnewire= 2; // assume no more than 2 sensors 25 | #define ASYNC_DELAY 375 // DS18B20 conversion delay - 9bit requres 95ms, 10bit 187ms, 11bit 375ms and 12bit resolution takes 750ms 26 | #define ONE_WIRE_BUS 4 // DS18B20 Data 27 | int temp[MaxOnewire]; 28 | //------------------------------------------------------------------------------------------------------------------------------------------- 29 | 30 | //Setup DS128B20 31 | bool DS18B20_STATUS; 32 | OneWire oneWire(ONE_WIRE_BUS); 33 | DallasTemperature sensors(&oneWire); 34 | byte allAddress [MaxOnewire][8]; // 8 bytes per address 35 | byte numSensors; 36 | 37 | //------------------------------------------------------------------------------------------------------------------------------------------- 38 | 39 | const int LEDpin = 9; // On-board emonTx LED 40 | 41 | typedef struct { 42 | int temp[MaxOnewire]; 43 | unsigned long pulseCount; 44 | } PayloadTX; // create structure - a neat way of packaging data for RF comms 45 | 46 | PayloadTX emontx; 47 | 48 | void setup() 49 | { 50 | Serial.begin(115200); 51 | //while (!Serial) {} // wait for serial port to connect. Normally for Leonardo but not needed 52 | Serial.println("emonTX Shield CT1234 with Voltage & DS18B20 - Serial Only example"); 53 | Serial.println("OpenEnergyMonitor.org"); 54 | #ifdef FOUND_LEONARDO 55 | Serial1.begin(115200); // start Serial1 on Leonardo 56 | #endif 57 | // Calibration factor = CT ratio / burden resistance = (100A / 0.05A) / 33 Ohms = 60.606 58 | ct1.current(1, 60.606); // range of 58.18 to 63.02 for shield [default 90.9 with range 86.35 – 95.45 for emonTx 22 Ohms] 59 | ct2.current(2, 60.606); 60 | ct3.current(3, 60.606); 61 | // CT 4 is high accuracy @ low power - 4.5kW Max for emonTx but NOT shield (2000 turns / 120 Ohm burden resistor = 16.66 for emonTx) 62 | ct4.current(4, 58.50); // shield doesn't have high accuracy CT4, normal 33 Ohms 63 | 64 | /* (ADC input, calibration, phase_shift) // use CalVRef.ino sketch to get READVCC_CALIBRATION_CONST 1115000L for Leonardo 65 | default normally: ct1.voltage(0, 300.6, 1.7); // Robert thinks new CT's might need 1.85 66 | */ 67 | ct1.voltage(0, 268.97, 1.205); // phase 1.7 default is calculated by comparing real and apparent with 100% PF device 68 | ct2.voltage(0, 268.97, 1.205); // was 265.8, 1.25 69 | ct3.voltage(0, 268.97, 1.205); // 268.97 per https://learn.openenergymonitor.org/electricity-monitoring/ctac/calibration 70 | ct4.voltage(0, 268.97, 1.205); 71 | 72 | // Setup indicator LED 73 | pinMode(LEDpin, OUTPUT); 74 | digitalWrite(LEDpin, HIGH); 75 | 76 | //################################################################################################################################ 77 | //Setup and test for presence of DS18B20 78 | //################################################################################################################################ 79 | 80 | sensors.begin(); 81 | sensors.setWaitForConversion(false); // disable automatic temperature conversion to reduce time spent awake, conversion will be implemented manually in sleeping 82 | // http://harizanov.com/2013/07/optimizing-ds18b20-code-for-low-power-applications/ 83 | numSensors=(sensors.getDeviceCount()); 84 | if (numSensors > MaxOnewire) numSensors=MaxOnewire; //Limit number of sensors to max number of sensors 85 | 86 | byte j=0; // search for one wire devices and 87 | // copy to device address arrays. 88 | while ((j < numSensors) && (oneWire.search(allAddress[j]))) j++; 89 | 90 | if (numSensors==0) DS18B20_STATUS=0; 91 | else DS18B20_STATUS=1; 92 | 93 | //################################################################################################################################ 94 | 95 | if (DS18B20_STATUS==1) { 96 | Serial.print("Detected Temp Sensors: "); 97 | Serial.println(numSensors); 98 | } else { 99 | Serial.println("No temperature sensor"); 100 | } 101 | 102 | Serial.print("CT1 CT2 CT3 CT4 VRMS PULSE"); 103 | 104 | if (DS18B20_STATUS==1){Serial.print(" Temperature 1-"); Serial.print(numSensors);} 105 | 106 | for(byte j=0;j-55.0)) return(temp*10); //if reading is within range for the sensor convert float to int ready to send via TTL 178 | } 179 | -------------------------------------------------------------------------------- /OpenEnergyMonitor/ArduinoShield/CalVref.ino: -------------------------------------------------------------------------------- 1 | /* 2 | CalVref.ino from https://github.com/openenergymonitor/emontx2/blob/master/firmware/CalVref/CalVref.ino 3 | 4 | A test sketch to allow the internal 1.1 V reference to be accurately calibrated. 5 | 6 | The internal reference in the AVR is nominally 1.1 V, within the range 1.0 - 1.2 V. This represents more than 9% uncertainty that is 7 | reflected in the measurement of Vcc in the standard emonLib library method. This directly affects the battery voltage measurement 8 | when the emonTx is battery powered, it also is reflected in the calibration of the voltage and current sensors. 9 | 10 | If the constant is changed in readVcc( ) , the voltage and current sensors must be recalibrated. 11 | 12 | The theoretical constant, i.e. 1.1 V in mV times 1024 is 1126400 13 | The normal range should be 1024000 - 1228800 14 | 15 | Part of the openenergymonitor.org project 16 | Licence: GNU GPL V3 17 | 18 | Authors: Glyn Hudson, Trystan Lea 19 | Builds upon JeeLabs RF12 library and Arduino 20 | Credit to http://hacking.majenko.co.uk/making-accurate-adc-readings-on-arduino 21 | and J�r�me who alerted us to http://provideyourown.com/2012/secret-arduino-voltmeter-measure-battery-voltage/ 22 | Adapted from the above by Robert Wall. 23 | 24 | (And J�r�me's name generates a "unrecognized characters" compiler warning - ignore it.) 25 | */ 26 | 27 | 28 | 29 | #if defined(ARDUINO) && ARDUINO >= 100 30 | 31 | #include "Arduino.h" 32 | 33 | #else 34 | 35 | #include "WProgram.h" 36 | 37 | #endif 38 | 39 | bool done = false; 40 | 41 | void setup() 42 | { 43 | Serial.begin(9600); 44 | while (!Serial) {} // wait for serial port to connect. Needed for Leonardo only 45 | for (int i=0; i<7; i++,delay(1000)) 46 | Serial.print("."); 47 | Serial.println("\nemonTX Internal Voltage Calibration"); 48 | Serial.println("OpenEnergyMonitor.org"); 49 | 50 | Serial.println("\nInstructions:\nMeasure the 3.3 V supply with your multimeter at the + and - \"Batt\" pads and enter now the voltage you measure.\n(You can repeat this as often as you wish.)"); 51 | 52 | 53 | } 54 | 55 | void loop() 56 | { 57 | char inbuf[10]; 58 | char nChar; 59 | float Vs; 60 | long Vref; 61 | long RefConstant; 62 | 63 | done = false; 64 | while (!done) { 65 | nChar = Serial.available(); 66 | if (nChar > 0) 67 | { 68 | done = true; 69 | for (int i = 0; i < 10; i++) 70 | { 71 | inbuf[i] = 0; 72 | } 73 | Serial.readBytes(inbuf, nChar); 74 | Vs = atof(inbuf); 75 | Serial.print("You measured "); 76 | Serial.print(Vs); 77 | Vref = readVcc(); 78 | Serial.print(" V.\nThat means your internal reference is "); 79 | Serial.print(Vref); 80 | Serial.print(" counts or "); 81 | Serial.print(Vs / 1024.0 * Vref,3); 82 | Serial.print(" V if measured with your meter."); 83 | RefConstant = (long)(Vs * Vref * 1000); 84 | Serial.print("\nThe constant for that is "); 85 | Serial.print(RefConstant); 86 | Serial.print("L\nUsing that in \"readVcc( )\", it will return "); 87 | Serial.print(RefConstant / Vref); 88 | Serial.print(" mV."); 89 | if (RefConstant / Vref != Vs * 1000) 90 | Serial.print(" The difference is due to integer rounding."); 91 | 92 | if (RefConstant > 1228800L || RefConstant < 1024000) 93 | Serial.print("\nThe normal range should be 1024000L - 1228800L"); 94 | Serial.println("\n"); 95 | } 96 | 97 | else 98 | delay(100); 99 | } 100 | 101 | 102 | } 103 | 104 | 105 | long readVcc(void) { 106 | // Not quite the same as the emonLib version 107 | long result; 108 | 109 | #if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328__) || defined (__AVR_ATmega328P__) 110 | ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); 111 | #elif defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) 112 | ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); 113 | ADCSRB &= ~_BV(MUX5); // Without this the function always returns -1 on the ATmega2560 http://openenergymonitor.org/emon/node/2253#comment-11432 114 | #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) 115 | ADMUX = _BV(MUX5) | _BV(MUX0); 116 | #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) 117 | ADMUX = _BV(MUX3) | _BV(MUX2); 118 | #endif 119 | 120 | delay(2); // Wait for Vref to settle 121 | ADCSRA |= _BV(ADSC); // Convert 122 | while (bit_is_set(ADCSRA,ADSC)); 123 | result = ADCL; 124 | result |= ADCH<<8; 125 | // return the raw count - that's more useful here 126 | return result; 127 | } 128 | -------------------------------------------------------------------------------- /OpenEnergyMonitor/ArduinoShield/EmonLib.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Emon.cpp - Library for openenergymonitor 3 | Created by Trystan Lea, April 27 2010 4 | GNU GPL 5 | modified to use up to 12 bits ADC resolution (ex. Arduino Due) 6 | by boredman@boredomprojects.net 26.12.2013 7 | Low Pass filter for offset removal replaces HP filter 1/1/2015 - RW 8 | */ 9 | 10 | // Proboscide99 10/08/2016 - Added ADMUX settings for ATmega1284 e 1284P (644 / 644P also, but not tested) in readVcc function 11 | 12 | //#include "WProgram.h" un-comment for use on older versions of Arduino IDE 13 | #include "EmonLib.h" 14 | 15 | #if defined(ARDUINO) && ARDUINO >= 100 16 | #include "Arduino.h" 17 | #else 18 | #include "WProgram.h" 19 | #endif 20 | 21 | 22 | //-------------------------------------------------------------------------------------- 23 | // Sets the pins to be used for voltage and current sensors 24 | //-------------------------------------------------------------------------------------- 25 | void EnergyMonitor::voltage(unsigned int _inPinV, double _VCAL, double _PHASECAL) 26 | { 27 | inPinV = _inPinV; 28 | VCAL = _VCAL; 29 | PHASECAL = _PHASECAL; 30 | offsetV = ADC_COUNTS>>1; 31 | } 32 | 33 | void EnergyMonitor::current(unsigned int _inPinI, double _ICAL) 34 | { 35 | inPinI = _inPinI; 36 | ICAL = _ICAL; 37 | offsetI = ADC_COUNTS>>1; 38 | } 39 | 40 | //-------------------------------------------------------------------------------------- 41 | // Sets the pins to be used for voltage and current sensors based on emontx pin map 42 | //-------------------------------------------------------------------------------------- 43 | void EnergyMonitor::voltageTX(double _VCAL, double _PHASECAL) 44 | { 45 | inPinV = 2; 46 | VCAL = _VCAL; 47 | PHASECAL = _PHASECAL; 48 | offsetV = ADC_COUNTS>>1; 49 | } 50 | 51 | void EnergyMonitor::currentTX(unsigned int _channel, double _ICAL) 52 | { 53 | if (_channel == 1) inPinI = 3; 54 | if (_channel == 2) inPinI = 0; 55 | if (_channel == 3) inPinI = 1; 56 | ICAL = _ICAL; 57 | offsetI = ADC_COUNTS>>1; 58 | } 59 | 60 | //-------------------------------------------------------------------------------------- 61 | // emon_calc procedure 62 | // Calculates realPower,apparentPower,powerFactor,Vrms,Irms,kWh increment 63 | // From a sample window of the mains AC voltage and current. 64 | // The Sample window length is defined by the number of half wavelengths or crossings we choose to measure. 65 | //-------------------------------------------------------------------------------------- 66 | void EnergyMonitor::calcVI(unsigned int crossings, unsigned int timeout) 67 | { 68 | #if defined emonTxV3 69 | int SupplyVoltage=3300; 70 | #else 71 | int SupplyVoltage = readVcc(); 72 | #endif 73 | 74 | unsigned int crossCount = 0; //Used to measure number of times threshold is crossed. 75 | unsigned int numberOfSamples = 0; //This is now incremented 76 | 77 | //------------------------------------------------------------------------------------------------------------------------- 78 | // 1) Waits for the waveform to be close to 'zero' (mid-scale adc) part in sin curve. 79 | //------------------------------------------------------------------------------------------------------------------------- 80 | boolean st=false; //an indicator to exit the while loop 81 | 82 | unsigned long start = millis(); //millis()-start makes sure it doesnt get stuck in the loop if there is an error. 83 | 84 | while(st==false) //the while loop... 85 | { 86 | startV = analogRead(inPinV); //using the voltage waveform 87 | if ((startV < (ADC_COUNTS*0.55)) && (startV > (ADC_COUNTS*0.45))) st=true; //check its within range 88 | if ((millis()-start)>timeout) st = true; 89 | } 90 | 91 | //------------------------------------------------------------------------------------------------------------------------- 92 | // 2) Main measurement loop 93 | //------------------------------------------------------------------------------------------------------------------------- 94 | start = millis(); 95 | 96 | while ((crossCount < crossings) && ((millis()-start) startV) checkVCross = true; 146 | else checkVCross = false; 147 | if (numberOfSamples==1) lastVCross = checkVCross; 148 | 149 | if (lastVCross != checkVCross) crossCount++; 150 | } 151 | 152 | //------------------------------------------------------------------------------------------------------------------------- 153 | // 3) Post loop calculations 154 | //------------------------------------------------------------------------------------------------------------------------- 155 | //Calculation of the root of the mean of the voltage and current squared (rms) 156 | //Calibration coefficients applied. 157 | 158 | double V_RATIO = VCAL *((SupplyVoltage/1000.0) / (ADC_COUNTS)); 159 | Vrms = V_RATIO * sqrt(sumV / numberOfSamples); 160 | 161 | double I_RATIO = ICAL *((SupplyVoltage/1000.0) / (ADC_COUNTS)); 162 | Irms = I_RATIO * sqrt(sumI / numberOfSamples); 163 | 164 | //Calculation power values 165 | realPower = V_RATIO * I_RATIO * sumP / numberOfSamples; 166 | apparentPower = Vrms * Irms; 167 | powerFactor=realPower / apparentPower; 168 | 169 | //Reset accumulators 170 | sumV = 0; 171 | sumI = 0; 172 | sumP = 0; 173 | //-------------------------------------------------------------------------------------- 174 | } 175 | 176 | //-------------------------------------------------------------------------------------- 177 | double EnergyMonitor::calcIrms(unsigned int Number_of_Samples) 178 | { 179 | 180 | #if defined emonTxV3 181 | int SupplyVoltage=3300; 182 | #else 183 | int SupplyVoltage = readVcc(); 184 | #endif 185 | 186 | 187 | for (unsigned int n = 0; n < Number_of_Samples; n++) 188 | { 189 | sampleI = analogRead(inPinI); 190 | 191 | // Digital low pass filter extracts the 2.5 V or 1.65 V dc offset, 192 | // then subtract this - signal is now centered on 0 counts. 193 | offsetI = (offsetI + (sampleI-offsetI)/1024); 194 | filteredI = sampleI - offsetI; 195 | 196 | // Root-mean-square method current 197 | // 1) square current values 198 | sqI = filteredI * filteredI; 199 | // 2) sum 200 | sumI += sqI; 201 | } 202 | 203 | double I_RATIO = ICAL *((SupplyVoltage/1000.0) / (ADC_COUNTS)); 204 | Irms = I_RATIO * sqrt(sumI / Number_of_Samples); 205 | 206 | //Reset accumulators 207 | sumI = 0; 208 | //-------------------------------------------------------------------------------------- 209 | 210 | return Irms; 211 | } 212 | 213 | void EnergyMonitor::serialprint() 214 | { 215 | Serial.print(realPower); 216 | Serial.print(' '); 217 | Serial.print(apparentPower); 218 | Serial.print(' '); 219 | Serial.print(Vrms); 220 | Serial.print(' '); 221 | Serial.print(Irms); 222 | Serial.print(' '); 223 | Serial.print(powerFactor); 224 | Serial.println(' '); 225 | delay(100); 226 | } 227 | 228 | //thanks to http://hacking.majenko.co.uk/making-accurate-adc-readings-on-arduino 229 | //and Jérôme who alerted us to http://provideyourown.com/2012/secret-arduino-voltmeter-measure-battery-voltage/ 230 | 231 | long EnergyMonitor::readVcc() { 232 | long result; 233 | 234 | //not used on emonTx V3 - as Vcc is always 3.3V - eliminates bandgap error and need for calibration http://harizanov.com/2013/09/thoughts-on-avr-adc-accuracy/ 235 | 236 | #if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328__) || defined (__AVR_ATmega328P__) 237 | ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); 238 | #elif defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) 239 | ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); 240 | #elif defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB1286__) 241 | ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); 242 | ADCSRB &= ~_BV(MUX5); // Without this the function always returns -1 on the ATmega2560 http://openenergymonitor.org/emon/node/2253#comment-11432 243 | #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) 244 | ADMUX = _BV(MUX5) | _BV(MUX0); 245 | #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) 246 | ADMUX = _BV(MUX3) | _BV(MUX2); 247 | 248 | #endif 249 | 250 | 251 | #if defined(__AVR__) 252 | delay(2); // Wait for Vref to settle 253 | ADCSRA |= _BV(ADSC); // Convert 254 | while (bit_is_set(ADCSRA,ADSC)); 255 | result = ADCL; 256 | result |= ADCH<<8; 257 | result = READVCC_CALIBRATION_CONST / result; //1100mV*1024 ADC steps http://openenergymonitor.org/emon/node/1186 258 | return result; 259 | #elif defined(__arm__) 260 | return (3300); //Arduino Due 261 | #else 262 | return (3300); //Guess that other un-supported architectures will be running a 3.3V! 263 | #endif 264 | } 265 | -------------------------------------------------------------------------------- /OpenEnergyMonitor/ArduinoShield/EmonLib.h: -------------------------------------------------------------------------------- 1 | /* 2 | Emon.h - Library for openenergymonitor 3 | Created by Trystan Lea, April 27 2010 4 | GNU GPL 5 | modified to use up to 12 bits ADC resolution (ex. Arduino Due) 6 | by boredman@boredomprojects.net 26.12.2013 7 | Low Pass filter for offset removal replaces HP filter 1/1/2015 - RW 8 | */ 9 | 10 | #ifndef EmonLib_h 11 | #define EmonLib_h 12 | 13 | #if defined(ARDUINO) && ARDUINO >= 100 14 | 15 | #include "Arduino.h" 16 | 17 | #else 18 | 19 | #include "WProgram.h" 20 | 21 | #endif 22 | 23 | // define theoretical vref calibration constant for use in readvcc() 24 | // 1100mV*1024 ADC steps http://openenergymonitor.org/emon/node/1186 25 | // override in your code with value for your specific AVR chip 26 | // determined by procedure described under "Calibrating the internal reference voltage" at 27 | // http://openenergymonitor.org/emon/buildingblocks/calibration 28 | #ifndef READVCC_CALIBRATION_CONST 29 | //#define READVCC_CALIBRATION_CONST 1126400L // this is the default setting 30 | #define READVCC_CALIBRATION_CONST 1115000L // this is our setting from vCalRef.ino 31 | /* 32 | You measured 5.00 V. 33 | That means your internal reference is 223 counts or 1.089 V if measured with your meter. 34 | The constant for that is 1115000L 35 | Using that in "readVcc( )", it will return 5000 mV. 36 | */ 37 | #endif 38 | 39 | // to enable 12-bit ADC resolution on Arduino Due, 40 | // include the following line in main sketch inside setup() function: 41 | // analogReadResolution(ADC_BITS); 42 | // otherwise will default to 10 bits, as in regular Arduino-based boards. 43 | #if defined(__arm__) 44 | #define ADC_BITS 12 45 | #else 46 | #define ADC_BITS 10 47 | #endif 48 | 49 | #define ADC_COUNTS (1< // https://github.com/openenergymonitor/jeelib 59 | #include 60 | #include 61 | ISR(WDT_vect) { Sleepy::watchdogEvent(); } // Attached JeeLib sleep function to Atmega328 watchdog -enables MCU to be put into sleep mode inbetween readings to reduce power consumption 62 | 63 | #include "EmonLib.h" // Include EmonLib energy monitoring library https://github.com/openenergymonitor/EmonLib 64 | EnergyMonitor ct1, ct2; 65 | 66 | #include // http://www.pjrc.com/teensy/td_libs_OneWire.html 67 | #include // http://download.milesburton.com/Arduino/MaximTemperature/DallasTemperature_LATEST.zip 68 | 69 | #include // Arduino I2C library 70 | #include // https://github.com/openenergymonitor/LiquidCrystal_I2C 71 | 72 | int i2c_lcd_address[2]={0x27, 0x3f}; // I2C addresses to test for I2C LCD device 73 | int current_lcd_i2c_addr; // Used to store current I2C address as found by i2_lcd_detect() 74 | // LiquidCrystal_I2C lcd(0x27,16,2); // Placeholder 75 | LiquidCrystal_I2C lcd(0,0,0); 76 | 77 | 78 | //----------------------------emonPi Firmware Version--------------------------------------------------------------------------------------------------------------- 79 | // Changelog: https://github.com/openenergymonitor/emonpi/blob/master/firmware/readme.md 80 | const int firmware_version = 283; //firmware version x 100 e.g 100 = V1.00 81 | 82 | //----------------------------emonPi Settings--------------------------------------------------------------------------------------------------------------- 83 | boolean debug = TRUE; 84 | const unsigned long BAUD_RATE= 38400; 85 | 86 | const byte Vrms_EU= 230; // Vrms for apparent power readings (when no AC-AC voltage sample is present) 87 | const byte Vrms_USA= 110; // USA apparent power VRMS 88 | const int TIME_BETWEEN_READINGS= 5000; // Time between readings (ms) 89 | const int RF_RESET_PERIOD= 60000; // Time (ms) between RF resets (hack to keep RFM60CW alive) 90 | 91 | 92 | //http://openenergymonitor.org/emon/buildingblocks/calibration 93 | 94 | const float Ical1= 90.9; // (2000 turns / 22 Ohm burden) = 90.9 95 | const float Ical2= 90.9; 96 | float Vcal_EU= 256.8; // (230V x 13) / (9V x 1.2) = 276.9 - Calibration for EU AC-AC adapter 77DE-06-09 97 | const float Vcal_USA= 130.0; // Calibration for US AC-AC adapter 77DA-10-09 98 | boolean USA= FALSE; 99 | const byte min_pulsewidth= 60; // minimum width of interrupt pulse 100 | 101 | const float phase_shift= 1.7; 102 | const int no_of_samples= 1480; 103 | const byte no_of_half_wavelengths= 20; 104 | const int timeout= 2000; // emonLib timeout 105 | const int ACAC_DETECTION_LEVEL= 3000; 106 | 107 | const byte TEMPERATURE_PRECISION= 12; // 9 (93.8ms),10 (187.5ms) ,11 (375ms) or 12 (750ms) bits equal to resplution of 0.5C, 0.25C, 0.125C and 0.0625C 108 | const byte MaxOnewire= 6; // maximum number of DS18B20 one wire sensors 109 | boolean RF_STATUS= 1; // Turn RF on and off 110 | //------------------------------------------------------------------------------------------------------------------------------------------- 111 | //------------------------------------------------------------------------------------------------------------------------------------------- 112 | 113 | 114 | //----------------------------emonPi V3 hard-wired connections--------------------------------------------------------------------------------------------------------------- 115 | const byte LEDpin= 9; // emonPi LED - on when HIGH 116 | const byte shutdown_switch_pin = 8; // Push-to-make - Low when pressed 117 | const byte emonpi_GPIO_pin= 5; // Connected to Pi GPIO 17, used to activate Pi Shutdown when HIGH 118 | //const byte emonpi_OKK_Tx= 6; // On-off keying transmission Pin - not populated by default 119 | //const byte emonPi_RJ45_8_IO= A6; // RJ45 pin 8 - Analog 6 (D19) - Aux I/O 120 | const byte emonPi_int1= 1; // RJ45 pin 6 - INT1 - PWM - Dig 3 - default pulse count input 121 | const byte emonPi_int1_pin= 3; // RJ45 pin 6 - INT1 - PWM - Dig 3 - default pulse count input 122 | //const byte emonPi_int0= 2; // Default RFM INT (Dig2) - Can be jumpered used JP5 to RJ45 pin 7 - PWM - D2 123 | #define ONE_WIRE_BUS 4 // DS18B20 Data, RJ45 pin 4 124 | //------------------------------------------------------------------------------------------------------------------------------------------- 125 | 126 | //Setup DS18B20 127 | OneWire oneWire(ONE_WIRE_BUS); 128 | DallasTemperature sensors(&oneWire); 129 | byte allAddress [MaxOnewire][8]; // 8 bytes per address 130 | byte numSensors; 131 | //------------------------------------------------------------------------------------------------------------------------------------------- 132 | 133 | //-----------------------RFM12B / RFM69CW SETTINGS---------------------------------------------------------------------------------------------------- 134 | byte RF_freq=RF12_433MHZ; // Frequency of RF69CW module can be RF12_433MHZ, RF12_868MHZ or RF12_915MHZ. You should use the one matching the module you have. 135 | byte nodeID = 5; // emonpi node ID 136 | int networkGroup = 210; 137 | 138 | typedef struct { 139 | int power1; 140 | int power2; 141 | int power1_plus_2; 142 | int Vrms; 143 | int temp[MaxOnewire]; 144 | unsigned long pulseCount; 145 | } PayloadTX; // create JeeLabs RF packet structure - a neat way of packaging data for RF comms 146 | PayloadTX emonPi; 147 | //------------------------------------------------------------------------------------------------------------------------------------------- 148 | //------------------------------------------------------------------------------------------------------------------------------------------- 149 | 150 | 151 | //Global Variables Energy Monitoring 152 | double Vcal, vrms; 153 | boolean CT1, CT2, ACAC, DS18B20_STATUS; 154 | byte CT_count, Vrms; 155 | unsigned long last_sample=0; // Record millis time of last discrete sample 156 | byte flag; // flag to record shutdown push button press 157 | volatile byte pulseCount = 0; 158 | unsigned long now =0; 159 | unsigned long pulsetime=0; // Record time of interrupt pulse 160 | unsigned long last_rf_rest=0; // Record time of last RF reset 161 | 162 | // RF Global Variables 163 | static byte stack[RF12_MAXDATA+4], top, sendLen, dest; // RF variables 164 | static char cmd; 165 | static word value; // Used to store serial input 166 | long unsigned int start_press=0; // Record time emonPi shutdown push switch is pressed 167 | boolean quiet_mode = 1; 168 | 169 | const char helpText1[] PROGMEM = // Available Serial Commands 170 | "\n" 171 | "Available commands:\n" 172 | " i - set node IDs (standard node ids are 1..30)\n" 173 | " b - set MHz band (4 = 433, 8 = 868, 9 = 915)\n" 174 | " g - set network group (RFM12 only allows 212, 0 = any)\n" 175 | " c - set collect mode (advanced, normally 0)\n" 176 | " ..., a - send data packet to node , request ack\n" 177 | " ..., s - send data packet to node , no ack\n" 178 | " ..., p - Set AC Adapter Vcal 1p = UK, 2p = USA\n" 179 | " v - Show firmware version\n" 180 | " q - set quiet mode (1 = don't report bad packets)\n" 181 | ; 182 | 183 | //------------------------------------------------------------------------------------------------------------------------------------------- 184 | // SETUP ******************************************************************************************** 185 | //------------------------------------------------------------------------------------------------------------------------------------------- 186 | void setup() 187 | { 188 | 189 | delay(100); 190 | 191 | if (USA==TRUE) 192 | { 193 | Vcal = Vcal_USA; // Assume USA AC/AC adatper is being used, set calibration accordingly 194 | Vrms = Vrms_USA; 195 | } 196 | else 197 | { 198 | Vcal = Vcal_EU; 199 | Vrms = Vrms_EU; 200 | } 201 | 202 | emonPi_startup(); // emonPi startup proceadure, check for AC waveform and print out debug 203 | if (RF_STATUS==1) RF_Setup(); 204 | byte numSensors = check_for_DS18B20(); // check for presence of DS18B20 and return number of sensors 205 | 206 | // Detect and startup I2C LCD 207 | current_lcd_i2c_addr = i2c_lcd_detect(i2c_lcd_address); 208 | LiquidCrystal_I2C lcd(current_lcd_i2c_addr,16,2); // LCD I2C address to 0x27, 16x2 line display 209 | emonPi_LCD_Startup(current_lcd_i2c_addr); 210 | 211 | delay(2000); 212 | CT_Detect(); 213 | serial_print_startup(current_lcd_i2c_addr); 214 | 215 | attachInterrupt(emonPi_int1, onPulse, FALLING); // Attach pulse counting interrupt on RJ45 (Dig 3 / INT 1) 216 | emonPi.pulseCount = 0; // Reset Pulse Count 217 | 218 | 219 | 220 | ct1.current(1, Ical1); // CT ADC channel 1, calibration. calibration (2000 turns / 22 Ohm burden resistor = 90.909) 221 | ct2.current(2, Ical2); // CT ADC channel 2, calibration. 222 | 223 | if (ACAC) //If AC wavefrom has been detected 224 | { 225 | ct1.voltage(0, Vcal, phase_shift); // ADC pin, Calibration, phase_shift 226 | ct2.voltage(0, Vcal, phase_shift); // ADC pin, Calibration, phase_shift 227 | } 228 | 229 | } //end setup 230 | 231 | 232 | //------------------------------------------------------------------------------------------------------------------------------------------- 233 | // LOOP ******************************************************************************************** 234 | //------------------------------------------------------------------------------------------------------------------------------------------- 235 | void loop() 236 | { 237 | now = millis(); 238 | 239 | if (USA==TRUE) 240 | { 241 | Vcal = Vcal_USA; // Assume USA AC/AC adatper is being used, set calibration accordingly 242 | Vrms = Vrms_USA; 243 | } 244 | else 245 | { 246 | Vcal = Vcal_EU; 247 | Vrms = Vrms_EU; 248 | } 249 | 250 | // Update Vcal 251 | ct1.voltage(0, Vcal, phase_shift); // ADC pin, Calibration, phase_shift 252 | ct2.voltage(0, Vcal, phase_shift); // ADC pin, Calibration, phase_shift 253 | 254 | if (digitalRead(shutdown_switch_pin) == 0 ) 255 | digitalWrite(emonpi_GPIO_pin, HIGH); // if emonPi shutdown butten pressed then send signal to the Pi on GPIO 11 256 | else 257 | digitalWrite(emonpi_GPIO_pin, LOW); 258 | 259 | if (Serial.available()){ 260 | handleInput(Serial.read()); // If serial input is received 261 | double_LED_flash(); 262 | } 263 | 264 | 265 | if (RF_STATUS==1){ // IF RF module is present and enabled then perform RF tasks 266 | if (RF_Rx_Handle()==1) { // Returns true if RF packet is received 267 | double_LED_flash(); 268 | } 269 | 270 | send_RF(); // Transmitt data packets if needed 271 | 272 | if ((now - last_rf_rest) > RF_RESET_PERIOD) { 273 | rf12_initialize(nodeID, RF_freq, networkGroup); // Periodically reset RFM69CW to keep it alive :-( 274 | } 275 | 276 | } 277 | 278 | 279 | if ((now - last_sample) > TIME_BETWEEN_READINGS) 280 | { 281 | single_LED_flash(); // single flash of LED on local CT sample 282 | 283 | if (ACAC && CT1) // Read from CT 1 284 | { 285 | ct1.calcVI(no_of_half_wavelengths,timeout); emonPi.power1=ct1.realPower; 286 | emonPi.Vrms=ct1.Vrms*100; 287 | } 288 | else 289 | { 290 | if (CT1) emonPi.power1 = ct1.calcIrms(no_of_samples)*Vrms; // Calculate Apparent Power 1 1480 is number of samples 291 | } 292 | 293 | if (ACAC && CT2) // Read from CT 2 294 | { 295 | ct2.calcVI(no_of_half_wavelengths,timeout); emonPi.power2=ct2.realPower; 296 | emonPi.Vrms=ct2.Vrms*100; 297 | } 298 | else 299 | { 300 | if (CT2) emonPi.power2 = ct2.calcIrms(no_of_samples)*Vrms; // Calculate Apparent Power 1 1480 is number of samples 301 | } 302 | 303 | emonPi.power1_plus_2=emonPi.power1 + emonPi.power2; //Create power 1 plus power 2 variable for US and solar PV installs 304 | 305 | if ((ACAC==0) && (CT_count > 0)) emonPi.Vrms=Vrms*100; // If no AC wave detected set VRMS constant 306 | 307 | if ((ACAC==1) && (CT_count==0)) { // If only AC-AC is connected then return just VRMS calculation 308 | ct1.calcVI(no_of_half_wavelengths,timeout); 309 | emonPi.Vrms=ct1.Vrms*100; 310 | } 311 | 312 | //Serial.print(emonPi.pulseCount); Serial.print(" ");delay(5); 313 | // if (debug==1) {Serial.print(emonPi.power2); Serial.print(" ");delay(5);} 314 | 315 | 316 | if (DS18B20_STATUS==1) 317 | { 318 | sensors.requestTemperatures(); // Send the command to get temperatures 319 | for(byte j=0;j 4 | 5 | byte value; 6 | 7 | static void load_config(){ 8 | 9 | byte flag=0; 10 | // Read nodeID 11 | if (EEPROM.read(0) != 255){ // 255 = EEPROM default (blank) value 12 | nodeID = EEPROM.read(0); 13 | flag++; 14 | } 15 | if (EEPROM.read(1) != 255){ 16 | RF_freq = EEPROM.read(1); 17 | flag++; 18 | } 19 | if (EEPROM.read(2) != 255){ 20 | networkGroup = EEPROM.read(2); 21 | flag++; 22 | } 23 | 24 | if (flag > 0){ 25 | Serial.println("Loaded EEPROM RF config >"); 26 | } 27 | else { 28 | Serial.println("No EEPROM config"); 29 | } 30 | 31 | } 32 | 33 | static void config (char c) { 34 | 35 | if ('0' <= c && c <= '9') { 36 | value = 10 * value + c - '0'; 37 | return; 38 | } 39 | 40 | if (c > ' ') { 41 | 42 | switch (c) { 43 | 44 | case 'i': //set node ID 45 | if (value){ 46 | nodeID = value; 47 | break; 48 | } 49 | 50 | case 'b': // set band: 4 = 433, 8 = 868, 9 = 915 51 | value = bandToFreq(value); 52 | if (value){ 53 | RF_freq = value; 54 | } 55 | break; 56 | 57 | case 'g': // set network group 58 | if (value>=0){ 59 | networkGroup = value; 60 | } 61 | break; 62 | 63 | case 's': // Save to EEPROM. Atemga328p has 1kb EEPROM 64 | save_config(); 65 | break; 66 | 67 | case 'v': // print firmware version 68 | Serial.print(F("[emonTx FW: V")); Serial.print(version*0.1); Serial.print(F("]")); 69 | break; 70 | 71 | default: 72 | showString(helpText1); 73 | } //end case 74 | 75 | //Print Current RF config 76 | if (RF_STATUS==1) { 77 | Serial.print(F(" ")); 78 | // Serial.print((char) ('@' + (nodeID & RF12_HDR_MASK))); 79 | Serial.print(F(" i")); 80 | Serial.print(nodeID & RF12_HDR_MASK); 81 | Serial.print(F(" g")); 82 | Serial.print(networkGroup); 83 | Serial.print(F(" @ ")); 84 | Serial.print(RF_freq == RF12_433MHZ ? 433 : 85 | RF_freq == RF12_868MHZ ? 868 : 86 | RF_freq == RF12_915MHZ ? 915 : 0); 87 | Serial.print(F(" MHz")); 88 | } 89 | 90 | Serial.print(F(" USA ")); Serial.print(USA); 91 | Serial.println(F(" ")); 92 | 93 | } // end c > ' ' 94 | value = 0; 95 | 96 | } 97 | 98 | static void save_config(){ 99 | Serial.println("Saving..."); 100 | // Clear any old EEPROM settings 101 | for (int i = 0 ; i < EEPROM.length() ; i++) { 102 | EEPROM.write(i, 0); 103 | } 104 | //Save new settings 105 | EEPROM.write(0, nodeID); 106 | EEPROM.write(1, RF_freq); 107 | EEPROM.write(2, networkGroup); 108 | Serial.println("Done. New config saved to EEPROM"); 109 | } 110 | 111 | static byte bandToFreq (byte band) { 112 | return band == 4 ? RF12_433MHZ : band == 8 ? RF12_868MHZ : band == 9 ? RF12_915MHZ : 0; 113 | } 114 | 115 | static void showString (PGM_P s) { 116 | for (;;) { 117 | char c = pgm_read_byte(s++); 118 | if (c == 0) 119 | break; 120 | if (c == '\n') 121 | Serial.print('\r'); 122 | Serial.print(c); 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /OpenEnergyMonitor/emonTx/emontx3-3.0.ino.standard.hex: -------------------------------------------------------------------------------- 1 | :100000000C9478010C9424050C94FD040C94A0012C 2 | :100010000C94A0010C94A0010C941C080C94A00159 3 | :100020000C94A0010C94A0010C94A0010C94A001CC 4 | :100030000C94A0010C94A0010C94A0010C94A001BC 5 | :100040000C94B3040C94A0010C9466030C9440032C 6 | :100050000C94A0010C94A0010C94A0010C94A0019C 7 | :100060000C94A0010C94A0012000205553412000C5 8 | :100070005D005B656D6F6E54782046573A205600E0 9 | :1000800000000000240027002A00000000002500D6 10 | :1000900028002B00000000080002010000030407F4 11 | :1000A0000000000000000000005EBCE2613FDD8354 12 | :1000B000C29C7E20A3FD1F419DC3217FFCA2401E48 13 | :1000C0005F01E3BD3E6082DC237D9FC1421CFEA038 14 | :1000D000E1BF5D0380DE3C62BEE0025CDF81633D28 15 | :1000E0007C22C09E1D43A1FF4618FAA427799BC518 16 | :1000F00084DA3866E5BB5907DB856739BAE4065808 17 | :100100001947A5FB7826C49A653BD987045AB8E6F7 18 | :10011000A7F91B45C6987A24F8A6441A99C7257BE7 19 | :100120003A6486D85B05E7B98CD2306EEDB3510FD7 20 | :100130004E10F2AC2F7193CD114FADF3702ECC92C7 21 | :10014000D38D6F31B2EC0E50AFF1134DCE90722CB7 22 | :100150006D33D18F0C52B0EE326C8ED0530DEFB1A7 23 | :10016000F0AE4C1291CF2D73CA947628ABF5174997 24 | :100170000856B4EA6937D58B5709EBB536688AD487 25 | :1001800095CB2977F4AA4816E9B7550B88D6346A77 26 | :100190002B7597C94A14F6A8742AC896154BA9F767 27 | :1001A000B6E80A54D7896B350A417661696C616299 28 | :1001B0006C6520636F6D6D616E64733A0A20203C3C 29 | :1001C0006E6E3E206920202020202D207365742033 30 | :1001D0006E6F64652049447320287374616E646196 31 | :1001E0007264206E6F64652069647320617265209B 32 | :1001F000312E2E3330290A20203C6E3E20622020F2 33 | :10020000202020202D20736574204D487A206261C3 34 | :100210006E64202834203D203433332C2038203D98 35 | :10022000203836382C2039203D20393135290A2014 36 | :10023000203C6E6E6E3E2067202020202D207365AE 37 | :1002400074206E6574776F726B2067726F757020A3 38 | :100250002852464D3132206F6E6C7920616C6C6F84 39 | :100260007773203231322C2030203D20616E792985 40 | :100270000A202073202020202020202020202D2034 41 | :100280007361766520636F6E66696720746F2045C1 42 | :100290004550524F4D0A202076202020202020203B 43 | :1002A0002020202D2053686F77206669726D77615A 44 | :1002B00072652076657273696F6E0A000000000037 45 | :1002C0002300260029000404040404040404020298 46 | :1002D00002020202030303030303010204081020C5 47 | :1002E0004080010204081020010204081020731845 48 | :1002F00011241FBECFEFD8E0DEBFCDBF27E0A4E0C2 49 | :10030000B4E001C01D92AC33B207E1F714E0A0E005 50 | :10031000B1E0E2EFFCE302C005900D92A430B1071A 51 | :10032000D9F711E0C8E7D1E004C02197FE010E948F 52 | :100330005C1CC737D107C9F70E94DB0F0C94771EEE 53 | :100340000C940000CF92DF92EF92FF920F931F93D5 54 | :10035000CF93DF936C017A018B01C0E0D0E0CE1522 55 | :10036000DF0589F0D8016D918D01D601ED91FC91E9 56 | :100370000190F081E02DC6010995892B11F47E01D1 57 | :1003800002C02196ECCFC701DF91CF911F910F9151 58 | :10039000FF90EF90DF90CF900895FC01538D448D36 59 | :1003A000252F30E0842F90E0821B930B541710F020 60 | :1003B000CF96089501970895FC01918D828D98172D 61 | :1003C00061F0828DDF01A80FB11D5D968C91928D39 62 | :1003D0009F5F9F73928F90E008958FEF9FEF089536 63 | :1003E000FC01918D828D981731F0828DE80FF11DFF 64 | :1003F000858D90E008958FEF9FEF0895FC01918D1A 65 | :10040000228D892F90E0805C9F4F821B91098F7312 66 | :100410009927089588E796E00E94FE0121E0892B44 67 | :1004200009F420E0822F0895FC01848DDF01A80FDC 68 | :10043000B11DA35ABF4F2C91848D90E001968F730C 69 | :100440009927848FA689B7892C93A089B1898C912B 70 | :1004500080648C93938D848D981306C00288F389F1 71 | :10046000E02D80818F7D80830895EF92FF920F931E 72 | :100470001F93CF93DF93EC0181E0888F9B8D8C8D50 73 | :10048000981305C0E889F989808185FD24C0F62E7E 74 | :100490000B8D10E00F5F1F4F0F731127E02E8C8D17 75 | :1004A000E8120CC00FB607FCFACFE889F989808101 76 | :1004B00085FFF5CFCE010E941402F1CF8B8DFE0196 77 | :1004C000E80FF11DE35AFF4FF0820B8FEA89FB8999 78 | :1004D0008081806207C0EE89FF896083E889F9899D 79 | :1004E00080818064808381E090E0DF91CF911F91D3 80 | :1004F0000F91FF90EF900895CF93DF93EC01888DDB 81 | :100500008823C9F0EA89FB89808185FD05C0A88917 82 | :10051000B9898C9186FD0FC00FB607FCF5CF80819D 83 | :1005200085FFF2CFA889B9898C9185FFEDCFCE01E7 84 | :100530000E941402E7CFDF91CF91089580E090E010 85 | :10054000892B29F00E940A0281110C940000089561 86 | :10055000833081F028F4813099F08230A1F0089541 87 | :100560008730A9F08830B9F08430D1F480918000D0 88 | :100570008F7D03C0809180008F77809380000895E5 89 | :1005800084B58F7702C084B58F7D84BD0895809136 90 | :10059000B0008F7703C08091B0008F7D8093B00052 91 | :1005A00008953FB7F89480910A0690910B06A091A8 92 | :1005B0000C06B0910D0626B5A89B05C02F3F19F07B 93 | :1005C0000196A11DB11D3FBFBA2FA92F982F8827D3 94 | :1005D000820F911DA11DB11DBC01CD0142E0660F2E 95 | :1005E000771F881F991F4A95D1F708950895089598 96 | :1005F000089583FF02C098E2892787FD06C08064C2 97 | :10060000909160009093020602C08091020694B718 98 | :10061000977F94BFF89490916000986190936000E8 99 | :10062000809360007894089580E090E008950E949F 100 | :10063000591E0F931F93CF93DF93EC01888199810B 101 | :10064000009729F02A813B812617370788F48B0110 102 | :100650006F5F7F4F0E948F1D009761F099838883A1 103 | :100660001B830A832C813D81232B11F4FC01108212 104 | :1006700081E001C080E0DF91CF911F910F9108953B 105 | :100680001F920F920FB60F9211242F933F934F9307 106 | :100690005F936F937F938F939F93AF93BF93EF93EA 107 | :1006A000FF9388E796E00E941402FF91EF91BF91BB 108 | :1006B000AF919F918F917F916F915F914F913F91FA 109 | :1006C0002F910F900FBE0F901F9018951F920F92B1 110 | :1006D0000FB60F9211242F938F939F93EF93FF9355 111 | :1006E000E0918806F09189068081E0918E06F09174 112 | :1006F0008F0682FD12C09081809191068F5F8F736B 113 | :1007000020919206821751F0E0919106F0E0E858AE 114 | :10071000F94F958F8093910601C08081FF91EF91F1 115 | :100720009F918F912F910F900FBE0F901F90189552 116 | :10073000CF93DF93282F30E0F901EC56FF4F8491DF 117 | :10074000F901E652FD4FD491F901EA53FD4FC491EE 118 | :10075000CC2391F081110E94A802EC2FF0E0EE0F63 119 | :10076000FF1FE454FD4FA591B491EC91ED2381E07E 120 | :1007700090E021F480E002C080E090E0DF91CF9132 121 | :1007800008951F93CF93DF93282F30E0F901EC56A3 122 | :10079000FF4F8491F901E652FD4FD491F901EA53DC 123 | :1007A000FD4FC491CC23C9F0162F81110E94A802DD 124 | :1007B000EC2FF0E0EE0FFF1FE657FF4FA591B4912D 125 | :1007C0008FB7F894111105C09C91ED2FE095E923A6 126 | :1007D00002C0EC91ED2BEC938FBFDF91CF911F9175 127 | :1007E0000895CF93DF9390E0FC01E652FD4F2491F2 128 | :1007F000FC01EA53FD4F8491882361F190E0880F5A 129 | :10080000991FFC01E058FF4FC591D491FC01E657B8 130 | :10081000FF4FA591B491611109C09FB7F8948881E9 131 | :10082000209582238883EC912E230BC0623061F4E3 132 | :100830009FB7F8943881822F809583238883EC9129 133 | :100840002E2B2C939FBF06C08FB7F894E8812E2BD8 134 | :1008500028838FBFDF91CF9108958E3008F08E509E 135 | :100860008770806480937C0080917A00806480939C 136 | :100870007A0080917A0086FDFCCF809178002091EB 137 | :10088000790090E0922B08958F929F92AF92BF9241 138 | :10089000CF92DF92EF92FF926B017C010E94D10216 139 | :1008A0004B015C01C114D104E104F104F1F00E9498 140 | :1008B000D102DC01CB0188199909AA09BB09883E3C 141 | :1008C0009340A105B10570F321E0C21AD108E108F7 142 | :1008D000F10888EE880E83E0981EA11CB11CC1149B 143 | :1008E000D104E104F10419F7DDCFFF90EF90DF9020 144 | :1008F000CF90BF90AF909F908F9008952FB7F894AE 145 | :10090000609106067091070680910806909109068D 146 | :100910002FBF08950F931F930E947E040091FD0541 147 | :100920001091FE052091FF0530910006DC01CB01FE 148 | :10093000801B910BA20BB30B8F369105A105B1055E 149 | :1009400028F0809105048F5F809305040E947E0447 150 | :100950006093FD057093FE058093FF05909300065C 151 | :100960001F910F9108951F920F920FB60F921124AD 152 | :100970002F933F938F939F93AF93BF9380910606DE 153 | :1009800090910706A0910806B091090630910506DE 154 | :1009900023E0230F2D3720F40196A11DB11D05C0C2 155 | :1009A00026E8230F0296A11DB11D20930506809312 156 | :1009B000060690930706A0930806B0930906809157 157 | :1009C0000A0690910B06A0910C06B0910D060196B7 158 | :1009D000A11DB11D80930A0690930B06A0930C06EF 159 | :1009E000B0930D06BF91AF919F918F913F912F9141 160 | :1009F0000F900FBE0F901F9018951F920F920FB679 161 | :100A00000F9211242F933F934F935F936F937F9394 162 | :100A10008F939F93AF93BF93EF93FF93E091020166 163 | :100A2000F09103010995FF91EF91BF91AF919F91D3 164 | :100A30008F917F916F915F914F913F912F910F9087 165 | :100A40000FBE0F901F9018951F920F920FB60F9226 166 | :100A500011242F933F934F935F936F937F938F93C3 167 | :100A60009F93AF93BF93EF93FF93E0910001F091B9 168 | :100A700001010995FF91EF91BF91AF919F918F91E6 169 | :100A80007F916F915F914F913F912F910F900FBE8A 170 | :100A90000F901F901895FC0190810180F281E02D4C 171 | :100AA000F8948181892B81832281892F8095282345 172 | :100AB0002283A7E0B0E01197F1F72181822381839F 173 | :100AC000A3E2B0E01197F1F780817894EFECF0E0C9 174 | :100AD0003197F1F7982381E009F480E00895FC0153 175 | :100AE00090810180F281E02D892F809560FF12C0F6 176 | :100AF000F8942281822382838181892B8183A3E2DE 177 | :100B0000B0E01197F1F78281982B9283789487ED6A 178 | :100B100090E011C0F8942281822382838181892B05 179 | :100B20008183AFEFB0E01197F1F78281982B928328 180 | :100B300078948FE090E00197F1F70895CF92DF92DB 181 | :100B4000EF92FF920F931F93CF93DF931F92CDB736 182 | :100B5000DEB76C01E62E08E010E0FF24F39461E0BC 183 | :100B60008F2D8E2109F460E0C60149830E946F0534 184 | :100B7000FF0C0150110949810115110581F741113F 185 | :100B800015C0F894D6011196ED91FC9112979181C0 186 | :100B90008C918095892381831196ED91FC91129718 187 | :100BA00092818C9180958923828378940F90DF9134 188 | :100BB000CF911F910F91FF90EF90DF90CF9008950C 189 | :100BC000CF92DF92EF92FF920F931F93CF93DF9319 190 | :100BD0001F92CDB7DEB78C01F62E40E065E5798334 191 | :100BE0000E949E05CF2C7981D72E760188E0E80EF1 192 | :100BF000F11CF60161916F0140E0C8010E949E0561 193 | :100C0000CE14DF04B1F70F90DF91CF911F910F91B8 194 | :100C1000FF90EF90DF90CF900895FC0190810180CC 195 | :100C2000F281E02DF8948181292F20958223818300 196 | :100C300078948DE743E050E0815021F1DA0111977B 197 | :100C4000F1F730813923C1F3F894828182238283C2 198 | :100C50008181892B81837894ABE7B7E01197F1F715 199 | :100C6000F894818128232183A3E1B1E01197F1F762 200 | :100C70008081982381E009F080E07894E3E6F6E053 201 | :100C80003197F1F708958EE480937C0062E070E084 202 | :100C900080E090E00E94440480917A008064809318 203 | :100CA0007A0080917A0086FDFCCF809178002091B7 204 | :100CB000790030E0322F2227A901330F660B770B22 205 | :100CC0009A01AB01282B60E070E381E190E00E9483 206 | :100CD0001A1CCA01B9010895E8982A988EBD0DB46E 207 | :100CE00007FEFDCF8EB56EBD0DB407FEFDCF8EB5F0 208 | :100CF0002A9AE89A089560E00C946C06CF93C82F66 209 | :100D000081E00E947B06837E682F6C2B81E8CF9167 210 | :100D10000C946C0688E20E947B06807521F080E0CE 211 | :100D20000E947B06F7CF08958627682F6295682773 212 | :100D3000062E669566956025062E66956025677079 213 | :100D4000082E892F669507946795902D862706941F 214 | :100D50006795902586270895CF93809177068530F3 215 | :100D600009F054C060E485EA0E946C0684E20E94A7 216 | :100D70007B06809304067894C8E488E20E947B0690 217 | :100D80008075D9F38091140681110FC0E0910F0690 218 | :100D9000F09110068091140691E0980F909314063C 219 | :100DA00090911306E80FF11D908380E00E947B066E 220 | :100DB000E0910F06F09110069091140621E0290FA2 221 | :100DC00020931406E90FF11D8083682F809111068E 222 | :100DD000909112060E949406909312068093110639 223 | :100DE00080911706833410F0C09314068091170683 224 | :100DF0002091140690E0049630E082179307ACF03F 225 | :100E000080911406883408F4B8CF0FC088E20E949D 226 | :100E10007B0683FF0AC084E0809377060E947E06EB 227 | :100E200060E885EACF910C946C06CF910895CF923B 228 | :100E3000DF92EF92FF921F93CF93DF936C01EC014F 229 | :100E400038E0E32EF12CC031D10508F441C0CE01C9 230 | :100E500010E08032910530F01F5F193019F096953F 231 | :100E60008795F7CF10920306812F0E94F9022091F7 232 | :100E70007A0080917A008F7780937A0093B7917F80 233 | :100E8000946093BFF89483B7816083BF85B7806611 234 | :100E900085BF95B79F79906495BF7894889583B7FF 235 | :100EA0008E7F83BF20937A008FEF0E94F902C701E3 236 | :100EB00002C0880F991F1A95E2F7C81BD90B209121 237 | :100EC0000306222319F0C81BD90BBDCF80E001C057 238 | :100ED00081E04091060650910706609108067091E6 239 | :100EE0000906CC1ADD0A4C0D5D1D611D711D409374 240 | :100EF0000606509307066093080670930906DF9173 241 | :100F0000CF911F91FF90EF90DF90CF900895CF93F6 242 | :100F1000DF9390ED980F9A3060F490910106990F4D 243 | :100F2000292F220F220F920F9053890F80930106D1 244 | :100F300080C081320CF47BC0893619F16CF48236A2 245 | :100F400039F1873609F060C08091010690E09093F6 246 | :100F50000901809308015AC0833781F1863709F06F 247 | :100F600053C082E790E00E94DB0D42E060E070E059 248 | :100F700080E490E40E94FC0D80E790E00E94DB0D8D 249 | :100F800045C080910106882319F080930B013EC073 250 | :100F900080910106843031F0883031F0893031F0B1 251 | :100FA00080E005C081E003C082E001C083E080935F 252 | :100FB0000106882359F180930A0128C08DEC93E043 253 | :100FC0000E94CD0DC0E0D0E060E0CE010E94161A74 254 | :100FD0002196C11584E0D807B9F760910B0180E034 255 | :100FE00090E00E94161A60910A0181E090E00E9450 256 | :100FF000161A6091080182E090E00E94161A87EDAF 257 | :1010000093E00E94CD0D02C00E9438088AE690E06D 258 | :101010000E94DB0D8091040490E00E941B0A88E688 259 | :1010200090E00E94DB0D8DE991E00E94C8091092CA 260 | :101030000106DF91CF9108951F920F920FB60F9284 261 | :1010400011248F93809103068F5F809303068F9105 262 | :101050000F900FBE0F901F901895E0917806F091B9 263 | :1010600079060190F081E02D682F88E796E00994D9 264 | :101070001F93CF93DF93C8EAD1E0FE0114911123AF 265 | :1010800051F01A3019F48DE00E942D08812F0E9432 266 | :101090002D082196F2CFDF91CF911F910895809175 267 | :1010A0007706843064F483B7817F8C6083BF83B715 268 | :1010B000816083BF889583B78E7F83BFF0CF08950B 269 | :1010C0000F931F93CF93DF9314E0C5E1D6E005E0C3 270 | :1010D00080917706853009F076C0809114068111E1 271 | :1010E00072C084E0809377060E947E068AE1809336 272 | :1010F0001706EDE5F6E080E090E0DC01A85EB94F70 273 | :1011000021912C9301968A319105B9F780910E06B1 274 | :1011100080931606609113068FEF9FEF0E9494064E 275 | :101120009093120680931106909117068EEF891BFB 276 | :10113000809377060E948A068CE00E947E0660E01B 277 | :1011400085EA0E946C068091770683300CF0A6C079 278 | :1011500088E20E947B0687FDF6CF8091770687FFA5 279 | :101160001BC09091170680917706E0910F06F091D1 280 | :101170001006E90FF11DE80FF11D87FDFA95C381F7 281 | :101180006C2F80911106909112060E949406909304 282 | :101190001206809311060DC080917706882329F0EE 283 | :1011A000813031F4C091120604C0C091110601C013 284 | :1011B000CAEA6C2F80E80E946C06809177068F5FE8 285 | :1011C00080937706C0CF80917706843011F5109216 286 | :1011D000170610921406609113068FEF9FEF0E947E 287 | :1011E00094069093120680931106D0931006C09334 288 | :1011F0000F06009377060E948A0660E885EA0E943F 289 | :101200006C0680E10E947E0662E08EE90E946C0618 290 | :1012100010C0853071F4809117062091140690E07B 291 | :10122000049630E0821793077CF08091140688348E 292 | :1012300058F48FEF9FEF9093370780933607809194 293 | :1012400036079091370744CF1093770684E00E94C9 294 | :101250007E0680911706833418F081E090E0EBCF92 295 | :101260008091110690911206892BB9F7809116068C 296 | :1012700086FF11C030910E063F3169F020911606AD 297 | :101280002F7181E090E0231302C080E090E09195FF 298 | :1012900081959109D0CF80E090E0CDCFDF91CF91C3 299 | :1012A0001F910F910895AF92BF92CF92DF92EF926C 300 | :1012B000FF920F931F93CF93DF938B01BC0180911B 301 | :1012C0001A0790911B070E94E00540E06EEB8091A9 302 | :1012D0001A0790911B070E949E05E801680189E0AA 303 | :1012E000C80ED11CA0901A07B0901B0788E0E82E0A 304 | :1012F000F12C01E010E0C5010E944B058111102B7B 305 | :10130000000F81E0E81AF108B1F71993CC15DD055B 306 | :1013100049F780911A0790911B070E940D0691E0F2 307 | :10132000813009F090E0892FDF91CF911F910F91CB 308 | :10133000FF90EF90DF90CF90BF90AF9008950F9304 309 | :101340001F93CF93DF938C01EB0180911A0790914B 310 | :101350001B070E940D068823A9F0BE01C8010E9448 311 | :101360005309882379F0DE0189E0E0E0815039F00B 312 | :101370009D91E927F0E0E855FF4FE491F7CF81E038 313 | :101380009885E91380E0DF91CF911F910F91089527 314 | :10139000009769F0FC0101900020E9F73197AF0157 315 | :1013A000481B590BBC0188E796E00C94A20180E031 316 | :1013B00090E008958F929F92AF92BF920F931F93E8 317 | :1013C000CF93DF93CDB7DEB7A1970FB6F894DEBF0A 318 | :1013D0000FBECDBF19A2423008F44AE08E010F5D66 319 | :1013E0001F4F842E912CA12CB12CA50194010E9499 320 | :1013F000F81BE62FB901CA0101501109EA3014F4B3 321 | :10140000E05D01C0E95CD801EC93232B242B252B54 322 | :1014100061F7C8010E94C809A1960FB6F894DEBF13 323 | :101420000FBECDBFDF91CF911F910F91BF90AF90B5 324 | :101430009F908F900895CF92DF92EF92FF92CF937B 325 | :10144000DF936C01990FEE08FF08F7FE17C08DE2DD 326 | :101450000E942D08EC0166277727CB016C197D09C6 327 | :101460008E099F094AE00E94DA098C0F9D1FDF91C7 328 | :10147000CF91FF90EF90DF90CF9008954AE0C701A1 329 | :10148000B601DF91CF91FF90EF90DF90CF900C9459 330 | :10149000DA090C94C8092F923F924F925F926F9293 331 | :1014A0007F928F929F92AF92BF92CF92DF92EF92F4 332 | :1014B000FF920F931F93CF93DF9300D000D0CDB74F 333 | :1014C000DEB79C838B830E9443066B017C010EE791 334 | :1014D00016E08B819C81885B9F4F9A8389832B8048 335 | :1014E0003C809CE4290E311CEB81FC8186890E94A2 336 | :1014F0002D04EB81FC8197A386A3BC01990F880B77 337 | :10150000990B0E94F9184B015C01EB81FC8140AC06 338 | :1015100051AC62AC73ACA30192010E946A1A20E044 339 | :1015200030E040E85AE30E9458199B01AC01C30126 340 | :10153000B2010E946B1A9B01AC01EB81FC8160AF90 341 | :1015400071AF82AF93AFC501B4010E946A1AEB81FB 342 | :10155000FC8160AB71AB82AB93AB9B01AC010E9491 343 | :101560005819E981FA816083718382839383F10141 344 | :1015700020813181428153810E946B1AF101608385 345 | :101580007183828393830150110909F0ADCF20E06C 346 | :1015900030EC4FEC54E40E94D71A0E948A1B4B0196 347 | :1015A0005C01B601DD0C880B990B0E94F91820E054 348 | :1015B00030E04AE754E40E94D71A20E030E040E8E7 349 | :1015C0005AE30E945819EB81FC81248D358D468D9C 350 | :1015D000578D0E945819A50194010E945819EB815A 351 | :1015E000FC81608B718B828B938BF1011082118255 352 | :1015F000128213820F900F900F900F90DF91CF9176 353 | :101600001F910F91FF90EF90DF90CF90BF90AF9020 354 | :101610009F908F907F906F905F904F903F902F9012 355 | :1016200008952F923F924F925F926F927F928F9286 356 | :101630009F92AF92BF92CF92DF92EF92FF920F9361 357 | :101640001F93CF93DF93CDB7DEB7A2970FB6F89471 358 | :10165000DEBF0FBECDBF9AA389A30E944306698B4C 359 | :101660007A8B8B8B9C8B0E947E044B015C0169A062 360 | :101670007AA028E5620E711CA9A1BAA154968C919A 361 | :101680000E942D04F30191838083BC01990F880B84 362 | :10169000990B0E94F9186B017C012DEC3CEC4CE09D 363 | :1016A00054E40E94F21887FF0BC011E026E636E6EC 364 | :1016B00046EE53E4C701B6010E947F1B18160CF0DA 365 | :1016C00010E00E947E04DC01CB0188199909AA0967 366 | :1016D000BB09813D9740A105B10510F4112361F2CA 367 | :1016E0000E947E046D8B7E8B8F8B988F00E010E0C4 368 | :1016F0001A82198229A13AA1205C3F4F3A8F298F83 369 | :1017000049A15AA14C5B5F4F5C874B8789A19AA185 370 | :10171000885B9F4F9C8F8B8FA9A1BAA1A45BBF4F01 371 | :10172000BE87AD87E9A1FAA1E05BFF4FFE8FED8F89 372 | :1017300029A13AA12C5A3F4F388B2F8749A15AA192 373 | :10174000465A5F4F5E834D8329A03AA05BE5250E84 374 | :10175000311C89A19AA1885A9F4F98A38F8F0E940C 375 | :101760007E04DC01CB012D893E894F89588D821B77 376 | :10177000930BA40BB50B803D9740A105B10508F470 377 | :10178000DAC049895A89BA01550F880B990B0E9412 378 | :10179000F91820E030E04AE754E40E94D71A20E02C 379 | :1017A00030E040E85AE30E9458192B013C01A9A1FE 380 | :1017B000BAA158962D913D914D915C915B970E94F5 381 | :1017C00058194B015C01E981FA81BF0180E090E08A 382 | :1017D0000E94F7186B017C0129A03AA0F4E42F0EB7 383 | :1017E000311C9B01AC01D1016D917D918D919C913A 384 | :1017F0000E94D71A0E948A1B9B01AC01C501B4014B 385 | :101800000E94581969837A838B839C83E9A1FAA18A 386 | :101810006487758786879787248D358D468D578D8C 387 | :10182000C301B2010E9458192B013C0109A11AA160 388 | :10183000045B1F4FA7019601D8016D917D918D9199 389 | :101840009C910E94D71A0E948A1B9B01AC01C30184 390 | :10185000B2010E9458196D837E838F839887E9A116 391 | :10186000FAA1608B718B828B938BA3019201C501CE 392 | :10187000B4010E945819A9A0BAA0F4E5AF0EB11C9A 393 | :10188000D5012D913D914D915C910E945819A70170 394 | :1018900096010E94D71A6B017C01E9A1FAA160832D 395 | :1018A0007183828393832D813E814F815885698125 396 | :1018B0007A818B819C810E9458199B01AC01A9A15E 397 | :1018C000BAA114966D937D938D939C931797C7013E 398 | :1018D000B6010E94D71AE9A1FAA1608771878287B1 399 | :1018E0009387D1011D921D921D921C921397F801AE 400 | :1018F0001082118212821382D5011D921D921D92B7 401 | :101900001C921397A2960FB6F894DEBF0FBECDBF00 402 | :10191000DF91CF911F910F91FF90EF90DF90CF90CB 403 | :10192000BF90AF909F908F907F906F905F904F90FF 404 | :101930003F902F900895E981FA813196FA83E983E7 405 | :10194000E9A1FAA184A595A5A6A5B7A580A791A709 406 | :10195000A2A7B3A784890E942D04A9A1BAA1959634 407 | :101960009C938E93949756968C910E942D043C01E3 408 | :10197000E9A1FAA197A386A324A135A13A872987D3 409 | :10198000B901330F880B990B0E94F9186B017C0188 410 | :10199000A9A1BAA1D4968D909D90AD90BC90D797F7 411 | :1019A000A50194010E946A1A20E030E040E85AE361 412 | :1019B0000E9458199B01AC01C501B4010E946B1A29 413 | :1019C0009B01AC01E9A1FAA164AB75AB86AB97AB07 414 | :1019D000C701B6010E946A1A4B015C01A9A1BAA114 415 | :1019E0009C966D937D938D939C939F97B301770CF9 416 | :1019F000880B990B0E94F9186B017C01E9A1FAA1EF 417 | :101A000040AC51AC62AC73ACA30192010E946A1A63 418 | :101A100020E030E040E85AE30E9458199B01AC01F5 419 | :101A2000C301B2010E946B1A9B01AC01A9A1BAA12A 420 | :101A3000D8966D937D938D939C93DB97C701B601E8 421 | :101A40000E946A1A6B017C01E9A1FAA160AB71AB3B 422 | :101A500082AB93ABA5019401C501B4010E94581952 423 | :101A60009B01AC01A98DBA8D6D937D938D939C9351 424 | :101A70001397EB85FC8560817181828193810E943F 425 | :101A80006B1AAB85BC856D937D938D939C93139757 426 | :101A9000A7019601C701B6010E9458199B01AC012C 427 | :101AA000EB8DFC8D6083718382839383AD85BE85CE 428 | :101AB0006D917D918D919C910E946B1AED85FE85B3 429 | :101AC0006083718382839383A9A1BAA198964D9074 430 | :101AD0005D906D907C909B97A3019201C501B4012C 431 | :101AE0000E946A1AE9A1FAA120A131A142A153A141 432 | :101AF0000E9458199B01AC01C301B2010E946B1AEC 433 | :101B0000A9A1BAA1DC966D937D938D939C93DF97E9 434 | :101B1000A70196010E9458199B01AC01ED8DFE8D25 435 | :101B20006083718382839383AF85B8896D917D9142 436 | :101B30008D919C910E946B1AEF85F8896083718367 437 | :101B400082839383D1018C91ED81FE818083AF8D5F 438 | :101B5000B8A18D919C91E985FA858E179F0724F491 439 | :101B6000E1E0D101EC9302C0D1011C92E981FA813C 440 | :101B7000319729F4D1018C91ED81FE818083AD8173 441 | :101B8000BE819C91F1018081981711F00F5F1F4F6A 442 | :101B90000E31110508F0F5CDE2CDCF93DF930E9411 443 | :101BA000C809EC018DE991E00E94C8098C0F9D1FC6 444 | :101BB000DF91CF9108950F931F93CF93DF938C0103 445 | :101BC000C0E0D0E0F801EC0FFD1F6491662371F0D6 446 | :101BD000E0917806F09179060190F081E02D88E798 447 | :101BE00096E00995892B11F02196ECCFCE01DF917B 448 | :101BF000CF911F910F9108954F925F926F927F92B4 449 | :101C00008F929F92AF92BF92CF92DF92EF92FF920C 450 | :101C10006B017C01B42E9B01AC010E94CA1B88237E 451 | :101C200019F088EF93E027C026013701E89477F890 452 | :101C30002FEF3FEF4FE75FE7C301B2010E94CA1BDE 453 | :101C400081110DC02FEF3FEF4FE75FE7C301B201F6 454 | :101C50000E94F21818161CF48CEF93E00CC02FEFC2 455 | :101C60003FEF4FE75FE4C701B6010E947F1B1816E4 456 | :101C700084F480E094E0FF90EF90DF90CF90BF90ED 457 | :101C8000AF909F908F907F906F905F904F900C944B 458 | :101C9000C8092FEF3FEF4FE75FECC701B6010E9485 459 | :101CA000F21887FDE6CF20E030E0A901C701B601B8 460 | :101CB0000E94F21887FF09C08DE20E942D084C0196 461 | :101CC000F7FAF094F7F8F09402C0812C912CA12C33 462 | :101CD00060E070E080E09FE3AB1441F020E030E092 463 | :101CE00040E251E40E94D71AA394F6CF9B01AC01C5 464 | :101CF000C701B6010E946B1A2B013C010E94501BC8 465 | :101D00006B017C010E94F7189B01AC01C301B20179 466 | :101D10000E946A1A2B013C014AE0C701B6010E94E9 467 | :101D2000DA097C01E80CF91CBB2029F08EE20E9444 468 | :101D30002D08E80EF91EDB2CDD2021F120E030E03B 469 | :101D400040E251E4C301B2010E9458192B013C0149 470 | :101D50000E94501B4B01A12CB12C4AE0C501B401DB 471 | :101D60000E94DA09E80EF91EC501B4010E94F718B5 472 | :101D70009B01AC01C301B2010E946A1A2B013C0114 473 | :101D8000DA94DACFC701FF90EF90DF90CF90BF9049 474 | :101D9000AF909F908F907F906F905F904F9008953D 475 | :101DA000CF93DF9342E00E94FC0DEC018DE991E0BE 476 | :101DB0000E94C8098C0F9D1FDF91CF910895AF92AB 477 | :101DC000BF92CF92DF92EF92FF920F931F93CF9328 478 | :101DD000DF931F92CDB7DEB75C01D62EE72EFC0154 479 | :101DE0008585811105C0C5010E940D06811106C0BF 480 | :101DF000F50113861586148680E065C040E060EF2B 481 | :101E0000C5010E949E0501E0F12CC12C11E0C50125 482 | :101E10000E944B05682FC50169830E944B056981AB 483 | :101E2000613019F48130B9F433C04F2D50E068139C 484 | :101E30001BC0F5018385181730F4E40FF51F83816B 485 | :101E4000802349F402C0181731F060E0193058F4CB 486 | :101E5000F501148708C0F501EF0DF11D8381802B7A 487 | :101E6000838361E009C0C12EF501E40FF51F938162 488 | :101E7000802F809589238383C5010E946F051F5F92 489 | :101E8000000F11F4F39401E0F7E0FF1508F0BFCF65 490 | :101E9000113408F4ADCFF501C386C11002C081E052 491 | :101EA0008587F5018381882309F4A2CFD501139694 492 | :101EB000ED2DFE2D9501255F3F4F8D918193A2174A 493 | :101EC000B307D9F781E00F90DF91CF911F910F9168 494 | :101ED000FF90EF90DF90CF90BF90AF900895CF9399 495 | :101EE000DF93CDB7DEB729970FB6F894DEBF0FBEEC 496 | :101EF000CDBFFC0120812031D1F0BE016F5F7F4F4B 497 | :101F00000E949F09882389F08D818F3361F020F42E 498 | :101F10008F3159F489E00CC08F3519F08F3739F0C3 499 | :101F200004C08BE005C08AE003C080E001C08CE003 500 | :101F300029960FB6F894DEBF0FBECDBFDF91CF91CB 501 | :101F400008950F931F930E947E0460938006709300 502 | :101F500081068093820690938306E0917806F09143 503 | :101F600079060284F385E02D88E796E0099597FFCE 504 | :101F70001FC00E947E04009180061091810620916E 505 | :101F8000820630918306DC01CB01801B910BA20BF2 506 | :101F9000B30B00917C0610917D0620917E06309156 507 | :101FA0007F0680179107A207B307B8F28FEF9FEF64 508 | :101FB0001F910F910895CF93DF93CDB7DEB762974E 509 | :101FC0000FB6F894DEBF0FBECDBF789484B58260A3 510 | :101FD00084BD84B5816084BD85B5826085BD85B5CD 511 | :101FE000816085BD80916E00816080936E0010924B 512 | :101FF00081008091810082608093810080918100C6 513 | :102000008160809381008091800081608093800056 514 | :102010008091B10084608093B1008091B0008160B4 515 | :102020008093B00080917A00846080937A008091E0 516 | :102030007A00826080937A0080917A008160809338 517 | :102040007A0080917A00806880937A001092C100B3 518 | :1020500061E086E00E94F10361E083E10E94F10308 519 | :1020600062E083E00E94F1031092730610927406FE 520 | :10207000109275061092760661E086E00E94C10318 521 | :1020800062E088E00E94F10362E089E00E94F103CF 522 | :10209000E0918806F091890682E08083E0918406D1 523 | :1020A000F09185061082E0918606F091870680E126 524 | :1020B000808310929006E0918C06F0918D0686E068 525 | :1020C0008083E0918A06F0918B0680818061808315 526 | :1020D000E0918A06F0918B06808188608083E09190 527 | :1020E0008A06F0918B06808180688083E0918A0661 528 | :1020F000F0918B0680818F7D80838CE291E00E943D 529 | :10210000490A60E070E080E490E40E94D00E8CE424 530 | :1021100091E00E94CD0D8EE493E00E94CD0D82E609 531 | :1021200091E00E94CD0D84E791E00E94CD0D89E001 532 | :102130000E949803892B19F481E080930404809114 533 | :102140000404882379F080E090E0A2E0B3E4809377 534 | :10215000040190930501A0930601B093070188E75D 535 | :1021600080930C016AE070E080E090E00E944404FB 536 | :1021700081E00E942D04181619064CF481E080932A 537 | :10218000AC05809106048F5F8093060402C0109214 538 | :10219000AC0582E00E942D04181619064CF481E06B 539 | :1021A00080934F05809106048F5F8093060402C0E0 540 | :1021B00010924F0583E00E942D04181619064CF466 541 | :1021C00081E08093F204809106048F5F809306047F 542 | :1021D00002C01092F20484E00E942D041816190621 543 | :1021E0004CF481E080939504809106048F5F809386 544 | :1021F000060402C01092950480910604811103C068 545 | :1022000081E08093AC050E947E046093AE057093DC 546 | :10221000AF058093B0059093B1050E947E040091B4 547 | :10222000AE051091AF052091B0053091B105005F6A 548 | :10223000184D2F4F3F4F601771078207930708F023 549 | :1022400070C088E796E00E94FE01892B31F31A8264 550 | :1022500019821C821B821E821D8260E070E0CE010A 551 | :1022600001960E94190329813A8181110DC021151F 552 | :10227000310519F0C9010E94F71C1A8219821E82C9 553 | :102280001D821C821B8220C01E821D826FE971E0AC 554 | :10229000C9010E94701E18C08A871B860F5F1F4FDE 555 | :1022A000B801CE0101960E941903882369F02981A3 556 | :1022B0003A818D819E81BE01665F7F4F820F931FA1 557 | :1022C0000E94701E1E830D830E94A10F0D811E812E 558 | :1022D00097FFE2CFE980FA80012B41F06AE971E0D3 559 | :1022E000C7010E94671E11E0892B09F010E0C701A9 560 | :1022F0000E94F71C112309F490CF80EA91E00E941C 561 | :10230000CD0D0E94380886E70E94870788E796E08F 562 | :102310000E94FE01892BD1F388E796E00E94DC0140 563 | :10232000F3CF60E086E00E94C10304EF16E0812C49 564 | :10233000912C540180E00E942D04DC01B2509D01DB 565 | :102340000E94391C860E971EA81EB91E0150110945 566 | :1023500089F7C501B4010E94F71820E030E84EED7E 567 | :1023600054E40E94D71A0E948A1B4B015C0123E3AC 568 | :1023700033E343E55BE360910401709105018091D3 569 | :102380000601909107010E9458199B01AC01C501FB 570 | :10239000B4010E9458194B015C0120E030E044EB8D 571 | :1023A00052E40E947F1B181624F481E08093AD054F 572 | :1023B00002C01092AD058091AD058823D1F00AE0EE 573 | :1023C00010E061E086E00E94C10368EC70E080E00C 574 | :1023D00090E00E94440460E086E00E94C1036CE249 575 | :1023E00071E080E090E00E9444040150110949F737 576 | :1023F00014C068EE73E080E090E00E94440461E065 577 | :1024000086E00E94C10360ED77E080E090E00E94EA 578 | :10241000440460E086E00E94C10361E083E10E9421 579 | :10242000C10364E670E080E090E00E944404E09123 580 | :102430001A07F0911B07138615861486DF011B9679 581 | :1024400033961E92AE17BF07E1F7109219078E015F 582 | :10245000065F1F4F87E0E82EE00EFF24F394B801DB 583 | :1024600080911A0790911B070E94DF0E882309F4C0 584 | :102470005AC0D801E0E0EA1639F08D91E827F0E083 585 | :10248000E855FF4FE491F7CF8989E813E8CF8091B1 586 | :102490001507811125C080911A0790911B070E9492 587 | :1024A0000D06B80180911A0790911B070E94E00564 588 | :1024B00040E064EB80911A0790911B070E949E05F3 589 | :1024C00080911A0790911B070E944B05782E8091EE 590 | :1024D0001A0790911B070E940D06772009F441C04E 591 | :1024E00080911A0790911B070E940D06882331F0F6 592 | :1024F000BE016F5F7F4FC8010E945309709016079D 593 | :10250000C8010E946F0F871518F48091160703C049 594 | :10251000C8010E946F0F80931607809119078F5F83 595 | :10252000809319079CCF1092170780911907809309 596 | :102530000704873018F086E08093070410E00091CC 597 | :102540000704101788F428E0129FB0011124685F77 598 | :102550007B4F88E297E00E94DF0E882329F01F5FFF 599 | :10256000EECFF0921507BCCF64EF71E080E090E011 600 | :102570000E94440460E083E10E94C103011103C092 601 | :102580001092380403C081E08093380488EB91E016 602 | :102590000E94490A6DEC7CEC85EB92E40E94D00E1F 603 | :1025A00082EC91E00E94490A6DEC7CEC85EB92E4B0 604 | :1025B0000E94D00E8CEC91E00E94490A6DEC7CECFC 605 | :1025C00085EB92E40E94D00E86ED91E00E94490ACC 606 | :1025D00069E27CE585E891E40E94D00E68EE73E044 607 | :1025E00080E090E00E94440480EE91E00E94490A5D 608 | :1025F00040E0C501B4010E94FC0D8AE491E00E9414 609 | :10260000CD0D8091AD05882349F18CEF91E00E94BA 610 | :10261000CD0D88E292E00E94CD0D809104048823C4 611 | :1026200021F080E592E00E94CD0D80E692E00E94CC 612 | :10263000490A609104017091050180910601909111 613 | :1026400007010E94D00E87E692E00E94490A6DECD5 614 | :102650007CEC8CEE9FE30E94D00E18C085E792E0E0 615 | :102660000E94CD0D87EA92E00E94490A60910C0118 616 | :1026700070E080E090E04AE00E94DA098AE491E0AC 617 | :102680000E94CD0D87EB92E00E94CD0D8091060453 618 | :10269000811103C08EEE92E01EC08091AC058823AC 619 | :1026A00021F08FEF92E00E94CD0D80914F0588239D 620 | :1026B00021F08DE093E00E94CD0D8091F2048823FB 621 | :1026C00021F08BE193E00E94CD0D80919504882349 622 | :1026D00021F089E293E00E94CD0D80913804882397 623 | :1026E00089F087E393E00E94490A6091070470E053 624 | :1026F00080E090E04AE00E94DA098DE991E00E94D2 625 | :10270000C80904C080E593E00E94CD0D86E693E001 626 | :102710000E94490A80913804882361F086E893E09A 627 | :102720000E94490A6091070470E080E090E04AE06E 628 | :102730000E94DA0986E993E00E94490A8EE493E058 629 | :102740000E94CD0D64EF71E080E090E00E944404AF 630 | :102750003091AC053323F1F081E090E09093670570 631 | :10276000809366058DEC9CECA5EBB2E480936C0540 632 | :1027700090936D05A0936E05B0936F0580E090E097 633 | :10278000A0E0B4E48093880590938905A0938A051E 634 | :10279000B0938B0520914F052223F1F082E090E069 635 | :1027A00090930A05809309058DEC9CECA5EBB2E4AF 636 | :1027B00080930F0590931005A0931105B093120517 637 | :1027C00080E090E0A0E0B4E480932B0590932C058A 638 | :1027D000A0932D05B0932E059091F2049923F1F06A 639 | :1027E00043E050E05093AD044093AC044DEC5CECFE 640 | :1027F00065EB72E44093B2045093B3046093B40465 641 | :102800007093B50440E050E060E074E44093CE047F 642 | :102810005093CF046093D0047093D10480919504B9 643 | :102820008823F1F044E050E05093500440934F046B 644 | :1028300049E25CE565E871E4409355045093560421 645 | :10284000609357047093580440E050E060E074E4F3 646 | :1028500040937104509372046093730470937404F2 647 | :102860004091AD05442309F4B8C0332361F1409190 648 | :1028700004015091050160910601709107011092C9 649 | :10288000650510926405409368055093690560934F 650 | :102890006A0570936B054DEC5CEC6CEE7FE3409346 651 | :1028A000700550937105609372057093730540E055 652 | :1028B00050E060E074E44093840550938505609394 653 | :1028C000860570938705222361F1409104015091A0 654 | :1028D00005016091060170910701109208051092A0 655 | :1028E000070540930B0550930C0560930D057093FD 656 | :1028F0000E054DEC5CEC6CEE7FE3409313055093BA 657 | :102900001405609315057093160540E050E060E0F3 658 | :1029100074E440932705509328056093290570932C 659 | :102920002A05992361F140910401509105016091BC 660 | :102930000601709107011092AB041092AA04409313 661 | :10294000AE045093AF046093B0047093B1044DECA7 662 | :102950005CEC6CEE7FE34093B6045093B704609355 663 | :10296000B8047093B90440E050E060E074E4409330 664 | :10297000CA045093CB046093CC047093CD04882395 665 | :1029800061F18091040190910501A0910601B0913F 666 | :10299000070110924E0410924D04809351049093BD 667 | :1029A0005204A0935304B09354048DEC9CECACEE11 668 | :1029B000BFE38093590490935A04A0935B04B093AF 669 | :1029C0005C0480E090E0A0E0B4E480936D04909318 670 | :1029D0006E04A0936F04B09370048AE894E090931F 671 | :1029E00003018093020180916900837F8860809356 672 | :1029F0006900E99A88EB9BE09093680680936706EC 673 | :102A000090936A068093690690936C0680936B0698 674 | :102A100090936E0680936D069093700680936F0678 675 | :102A200090937206809371061FE5312E0CE6402EBE 676 | :102A300007E0502E612C712C0E947E046093AE053D 677 | :102A40007093AF058093B0059093B1051091AD05DB 678 | :102A5000112351F068EC70E080E090E00E944404A3 679 | :102A600010926606109265068091AC05882309F4E1 680 | :102A700040C080E595E0112329F10E94110B60917F 681 | :102A800050057091510580915205909153050E9417 682 | :102A9000491B70935E0660935D0620E030E048ECD1 683 | :102AA00052E460915C0570915D0580915E059091A6 684 | :102AB0005F050E9458190E94491B70936606609337 685 | :102AC000650617C00E944B0A4B015C0160910C0126 686 | :102AD00070E080E090E00E94F9189B01AC01C50114 687 | :102AE000B4010E9458190E94491B70935E066093BE 688 | :102AF0005D0680914F05882309F440C083EF94E080 689 | :102B0000112329F10E94110B6091F3047091F404D8 690 | :102B10008091F5049091F6040E94491B7093600621 691 | :102B200060935F0620E030E048EC52E46091FF04DF 692 | :102B30007091000580910105909102050E9458193D 693 | :102B40000E94491B709366066093650617C00E9439 694 | :102B50004B0A4B015C0160910C0170E080E090E059 695 | :102B60000E94F9189B01AC01C501B4010E945819DB 696 | :102B70000E94491B7093600660935F068091F20487 697 | :102B8000882309F440C086E994E0112329F10E94CA 698 | :102B9000110B609196047091970480919804909124 699 | :102BA00099040E94491B709362066093610620E0BD 700 | :102BB00030E048EC52E46091A2047091A30480914B 701 | :102BC000A4049091A5040E9458190E94491B709377 702 | :102BD00066066093650617C00E944B0A4B015C01B4 703 | :102BE00060910C0170E080E090E00E94F9189B0178 704 | :102BF000AC01C501B4010E9458190E94491B709391 705 | :102C0000620660936106809195048823D1F189E37F 706 | :102C100094E01123E9F00E94110B60913904709146 707 | :102C20003A0480913B0490913C040E94491B7093AC 708 | :102C300064066093630620E030E048EC52E4609163 709 | :102C4000450470914604809147049091480428C03F 710 | :102C50000E944B0A4B015C0180910C01682F70E0CF 711 | :102C600080E090E00E94F9189B01AC01C501B4011D 712 | :102C70000E9458190E94491B709364066093630672 713 | :102C800002C0111115C087E00E942D04BC01990FEC 714 | :102C9000880B990B0E94F9182BE23BE64EE25FE3AA 715 | :102CA0000E9458190E94491B70936606609365063E 716 | :102CB00080913804882309F43AC161E083E10E94DD 717 | :102CC000C10382E390E00E941707B8E0EB2EB4E066 718 | :102CD000FB2E8701A12CB12C20900704822D90E0BF 719 | :102CE000A816B9060CF072C0BE016F5F7F4FC80115 720 | :102CF0000E949F09882309F463C0F8018081803114 721 | :102D000009F45EC03D8280911A0790911B070E94D2 722 | :102D10000D06B80180911A0790911B070E94E005EB 723 | :102D200040E06EE480911A0790911B070E949E0577 724 | :102D300040E06B8180911A0790911B070E949E05CD 725 | :102D400040E06C8180911A0790911B070E949E05BC 726 | :102D5000F8018081803141F040E06D8180911A0757 727 | :102D600090911B070E949E0580911A0790911B0766 728 | :102D70000E940D06B80180911A0790911B070E94CE 729 | :102D8000E0054091150768E480911A0790911B07B0 730 | :102D90000E949E0564E170E080E090E00E9444049F 731 | :102DA00080911507882331F06AE070E080E090E0C0 732 | :102DB0000E94440480911A0790911B070E940D06FF 733 | :102DC000FFEFAF1ABF0A085F1F4F86CF80911A0727 734 | :102DD00090911B070E940D0640E06CEC80911A0751 735 | :102DE00090911B070E949E054091150764E4809115 736 | :102DF0001A0790911B070E949E0580911707882350 737 | :102E0000A9F0E0911607E950E33040F4F0E0EE0F4E 738 | :102E1000FF1FED5EFE4F6081718102C06EEE72E0B9 739 | :102E2000072E000C880B990B0E94440487E791E061 740 | :102E30000E94170707E616E01A8A3A89321509F444 741 | :102E400072C0BE016F5F7F4FC7010E949F09882338 742 | :102E500061F1698128E0629FB00111248A81282FE5 743 | :102E600030E0322F2227330F330F330F262B372B2F 744 | :102E7000F70180818031E1F4688570E08F81AB01DA 745 | :102E8000481B5109CA019695982F882797958795D1 746 | :102E90000E94E41B60517109207F53E0220F331F11 747 | :102EA0005A95E1F7620F731F04C060E874EE01C029 748 | :102EB000B901613854EE75075CF1072E000C880BE0 749 | :102EC000990B0E94F91820E030E040E05CE30E949A 750 | :102ED00058194B015C0120E030E04AEF52E40E94B7 751 | :102EE000F21887FF15C020E030E04CE552ECC50138 752 | :102EF000B4010E947F1B18165CF420E030E040E231 753 | :102F000051E4C501B4010E9458190E94491B6B018C 754 | :102F1000F801C192D1928F01FA89FF5FFA8B28E004 755 | :102F2000E20EF11C8ACF60E083E10E94C103809130 756 | :102F300005048823D1F0F89420910504809173064C 757 | :102F400090917406A0917506B0917606820F911D3E 758 | :102F5000A11DB11D8093730690937406A09375060E 759 | :102F6000B09376061092050478948FE993E00E945E 760 | :102F7000490A80915D0690915E060E941B0A84EAD0 761 | :102F800093E00E94490A80915F06909160060E943A 762 | :102F90001B0A8AEA93E00E94490A80916106909197 763 | :102FA00062060E941B0A80EB93E00E94490A80910E 764 | :102FB0006306909164060E941B0A86EB93E00E94D0 765 | :102FC000490A80916506909166060E941B0A8DEB66 766 | :102FD00093E00E94490A6091730670917406809193 767 | :102FE0007506909176064AE00E94DA0980913804CD 768 | :102FF000811134C085EC93E00E94490A20E030E062 769 | :103000004AE754E46091A6047091A7048091A80453 770 | :103010009091A9040E9458190E94491BCB010E945B 771 | :103020001B0A8DE991E00E94C80962E370E080E02C 772 | :1030300090E00E9444041091AD05112379F161E004 773 | :1030400086E00E94C10368EC70E080E090E00E949E 774 | :10305000440460E086E00E94C10320C010E080913B 775 | :103060000704181738F68AEC93E00E94490A612F8A 776 | :1030700070E080E090E04AE00E94DA0982EA93E0A2 777 | :103080000E94490AE12FF0E0EE0FFF1FE959F94FC6 778 | :10309000808191810E941B0A1F5FE1CF0E947E0404 779 | :1030A0002091AE053091AF054091B0055091B1052A 780 | :1030B000DC01CB01821B930BA40BB50BA301920186 781 | :1030C000281B390B4A0B5B0BCA01B901112319F0FC 782 | :1030D0000E94440405C0C901845F91400E94170703 783 | :1030E0000E949E02A9CC10927B0610927A0688EE6E 784 | :1030F00093E0A0E0B0E080937C0690937D06A093DF 785 | :103100007E06B0937F068EE191E0909379068093DE 786 | :10311000780685EC90E0909385068093840684EC95 787 | :1031200090E0909387068093860680EC90E09093E1 788 | :1031300089068093880681EC90E090938B068093BB 789 | :103140008A0682EC90E090938D0680938C0686EC44 790 | :1031500090E090938F0680938E06109291061092C5 791 | :103160009206109293061092940660E085E00E9409 792 | :10317000F103EFEDF2E0E491E0932807EBECF2E0ED 793 | :10318000E491F0E0EE0FFF1FE454FD4F8591949120 794 | :1031900090932A07809329071092330710923507DE 795 | :1031A00010923407E3E3F7E0129287E0EB32F8077E 796 | :1031B000D9F787EF92E0909327078093260788E25C 797 | :1031C00097E090931B0780931A07109219071092AB 798 | :1031D000150789E08093160781E080931707809395 799 | :1031E000180708950E94341908F481E00895E894BE 800 | :1031F00009C097FB3EF490958095709561957F4F3F 801 | :103200008F4F9F4F9923A9F0F92F96E9BB279395EC 802 | :10321000F695879577956795B795F111F8CFFAF4FC 803 | :10322000BB0F11F460FF1BC06F5F7F4F8F4F9F4F2D 804 | :1032300016C0882311F096E911C0772321F09EE88B 805 | :10324000872F762F05C0662371F096E8862F70E0F1 806 | :1032500060E02AF09A95660F771F881FDAF7880FCB 807 | :103260009695879597F90895990F0008550FAA0B21 808 | :10327000E0E8FEEF16161706E807F907C0F0121689 809 | :103280001306E407F50798F0621B730B840B950B8C 810 | :1032900039F40A2661F0232B242B252B21F40895E1 811 | :1032A0000A2609F4A140A6958FEF811D811D08957E 812 | :1032B0000E946B190C94DC190E94CE1938F00E9400 813 | :1032C000D51920F0952311F00C94C5190C94CB1945 814 | :1032D00011240C94101A0E94ED1970F3959FC1F3FC 815 | :1032E000950F50E0551F629FF001729FBB27F00DB4 816 | :1032F000B11D639FAA27F00DB11DAA1F649F662709 817 | :10330000B00DA11D661F829F2227B00DA11D621F57 818 | :10331000739FB00DA11D621F839FA00D611D221F11 819 | :10332000749F3327A00D611D231F849F600D211DF5 820 | :10333000822F762F6A2F11249F5750409AF0F1F078 821 | :1033400088234AF0EE0FFF1FBB1F661F771F881FE1 822 | :1033500091505040A9F79E3F510580F00C94C5193B 823 | :103360000C94101A5F3FE4F3983ED4F3869577955A 824 | :103370006795B795F795E7959F5FC1F7FE2B880F87 825 | :10338000911D9695879597F9089597F99F6780E81D 826 | :1033900070E060E008959FEF80EC089500240A94A7 827 | :1033A0001616170618060906089500240A94121620 828 | :1033B0001306140605060895092E0394000C11F453 829 | :1033C000882352F0BB0F40F4BF2B11F460FF04C000 830 | :1033D0006F5F7F4F8F4F9F4F089557FD9058440F59 831 | :1033E000551F59F05F3F71F04795880F97FB991F64 832 | :1033F00061F09F3F79F08795089512161306140621 833 | :10340000551FF2CF4695F1DF08C0161617061806AD 834 | :10341000991FF1CF86957105610508940895E89488 835 | :10342000BB2766277727CB0197F90895262FF999AF 836 | :10343000FECF1FBA92BD81BD20BD0FB6F894FA9A97 837 | :10344000F99A0FBE019608952F923F924F925F9284 838 | :103450006F927F928F929F92AF92BF92CF92DF92A4 839 | :10346000EF92FF920F931F93CF93DF93CDB7DEB709 840 | :10347000CA1BDB0B0FB6F894DEBF0FBECDBF09949D 841 | :103480002A88398848885F846E847D848C849B84F4 842 | :10349000AA84B984C884DF80EE80FD800C811B8102 843 | :1034A000AA81B981CE0FD11D0FB6F894DEBF0FBE31 844 | :1034B000CDBFED010895A29FB001B39FC001A39FAE 845 | :1034C000700D811D1124911DB29F700D811D11245D 846 | :1034D000911D08955058BB27AA270E94821A0C9468 847 | :1034E000DC190E94CE1938F00E94D51920F039F469 848 | :1034F0009F3F19F426F40C94CB190EF4E095E7FBEA 849 | :103500000C94C519E92F0E94ED1958F3BA176207F8 850 | :1035100073078407950720F079F4A6F50C940F1A29 851 | :103520000EF4E0950B2EBA2FA02D0B01B9019001DE 852 | :103530000C01CA01A0011124FF27591B99F0593F22 853 | :1035400050F4503E68F11A16F040A22F232F342F6A 854 | :103550004427585FF3CF469537952795A795F040B8 855 | :103560005395C9F77EF41F16BA0B620B730B840BCD 856 | :10357000BAF09150A1F0FF0FBB1F661F771F881F85 857 | :10358000C2F70EC0BA0F621F731F841F48F48795DD 858 | :1035900077956795B795F7959E3F08F0B0CF9395CF 859 | :1035A000880F08F09927EE0F9795879508950E9448 860 | :1035B000EB1A0C94DC190E94D51958F00E94CE1910 861 | :1035C00040F029F45F3F29F00C94C51951110C9477 862 | :1035D000101A0C94CB190E94ED1968F39923B1F3DA 863 | :1035E000552391F3951B550BBB27AA276217730729 864 | :1035F000840738F09F5F5F4F220F331F441FAA1FBD 865 | :10360000A9F335D00E2E3AF0E0E832D09150504078 866 | :10361000E695001CCAF72BD0FE2F29D0660F771F26 867 | :10362000881FBB1F261737074807AB07B0E809F00C 868 | :10363000BB0B802DBF01FF2793585F4F3AF09E3F91 869 | :10364000510578F00C94C5190C94101A5F3FE4F3FF 870 | :10365000983ED4F3869577956795B795F7959F5FD4 871 | :10366000C9F7880F911D9695879597F90895E1E020 872 | :10367000660F771F881FBB1F621773078407BA077F 873 | :1036800020F0621B730B840BBA0BEE1F88F7E095DA 874 | :1036900008950E94501B6894B1110C94101A08955B 875 | :1036A0000E94F51988F09F5798F0B92F9927B751C4 876 | :1036B000B0F0E1F0660F771F881F991F1AF0BA95D6 877 | :1036C000C9F714C0B13091F00E940F1AB1E008950B 878 | :1036D0000C940F1A672F782F8827B85F39F0B93FFD 879 | :1036E000CCF3869577956795B395D9F73EF4909589 880 | :1036F0008095709561957F4F8F4F9F4F08950E94E1 881 | :10370000341908F48FEF089519F416F40C94CB19BA 882 | :103710000C94CF1B0E94F519B8F39923C9F3B6F3A3 883 | :103720009F57550B87FF0E94DD1B0024A0E640EA4F 884 | :10373000900180585695979528F4805C660F771F06 885 | :10374000881F20F026173707480730F4621B730BD9 886 | :10375000840B202931294A2BA695179407942025FC 887 | :1037600031254A2758F7660F771F881F20F0261744 888 | :103770003707480730F4620B730B840B200D311DA3 889 | :10378000411DA09581F7B901842F9158880F969516 890 | :10379000879508950E943419880B990B08959F3FCF 891 | :1037A00031F0915020F4879577956795B795880FFC 892 | :1037B000911D9695879597F9089591505040660F01 893 | :1037C000771F881FD2F7089597FB072E16F40094F1 894 | :1037D00007D077FD09D00E94481C07FC05D03EF4B5 895 | :1037E000909581959F4F0895709561957F4F0895AD 896 | :1037F000A1E21A2EAA1BBB1BFD010DC0AA1FBB1FF5 897 | :10380000EE1FFF1FA217B307E407F50720F0A21B66 898 | :10381000B30BE40BF50B661F771F881F991F1A94D3 899 | :1038200069F760957095809590959B01AC01BD01FD 900 | :10383000CF010895052E97FB1EF400940E94311CC1 901 | :1038400057FD07D00E94F81B07FC03D04EF40C94E0 902 | :10385000311C50954095309521953F4F4F4F5F4F0C 903 | :10386000089590958095709561957F4F8F4F9F4FEC 904 | :1038700008950E945B1A332312F48A1B9B0B0C944D 905 | :10388000431C0E945B1AB7FF0895821B930B089597 906 | :10389000AA1BBB1B51E107C0AA1FBB1FA617B70776 907 | :1038A00010F0A61BB70B881F991F5A95A9F7809592 908 | :1038B0009095BC01CD010895EE0FFF1F0590F49186 909 | :1038C000E02D0994CF93DF938230910510F482E0CC 910 | :1038D00090E0E0913A07F0913B0720E030E0C0E053 911 | :1038E000D0E0309711F14081518148175907C0F05D 912 | :1038F0004817590761F482819381209719F09B83BF 913 | :103900008A832BC090933B0780933A0726C02115EA 914 | :10391000310519F04217530718F49A01BE01DF016F 915 | :10392000EF010280F381E02DDCCF2115310509F193 916 | :10393000281B390B2430310590F412968D919C91FF 917 | :1039400013976115710521F0FB019383828304C0F5 918 | :1039500090933B0780933A07FD01329644C0FD01E6 919 | :10396000E20FF31F81939193225031092D933C93E1 920 | :103970003AC02091380730913907232B41F4209128 921 | :103980000F013091100130933907209338072091AF 922 | :103990000D0130910E012115310541F42DB73EB7CF 923 | :1039A0004091110150911201241B350BE091380711 924 | :1039B000F0913907E217F307A0F42E1B3F0B2817ED 925 | :1039C000390778F0AC014E5F5F4F2417350748F098 926 | :1039D0004E0F5F1F5093390740933807819391939F 927 | :1039E00002C0E0E0F0E0CF01DF91CF9108950F93A6 928 | :1039F0001F93CF93DF93009709F48CC0FC0132979B 929 | :103A00001382128200913A0710913B0701151105AC 930 | :103A100081F420813181820F931F209138073091EA 931 | :103A200039072817390779F5F0933907E0933807F4 932 | :103A300071C0D80140E050E0AE17BF0750F41296B5 933 | :103A40002D913C911397AD012115310509F1D90153 934 | :103A5000F3CF9D01DA013383228360817181860F68 935 | :103A6000971F8217930769F4EC0128813981260F8B 936 | :103A7000371F2E5F3F4F318320838A819B81938341 937 | :103A80008283452B29F4F0933B07E0933A0742C029 938 | :103A90001396FC93EE931297ED01499159919E0173 939 | :103AA000240F351FE217F30771F480819181840F91 940 | :103AB000951F029611969C938E9382819381139603 941 | :103AC0009C938E931297E0E0F0E0D80112968D91CE 942 | :103AD0009C911397009719F0F8018C01F6CF8D9106 943 | :103AE0009C9198012E5F3F4F820F931F20913807C2 944 | :103AF000309139072817390769F4309729F4109263 945 | :103B00003B0710923A0702C01382128210933907C2 946 | :103B100000933807DF91CF911F910F910895A0E096 947 | :103B2000B0E0E5E9FDE10C94281AEC01009721F4DE 948 | :103B3000CB010E94621CB8C0FC01E60FF71F9C017C 949 | :103B400022503109E217F30708F4ACC0D9010D91F6 950 | :103B50001C91119706171707B0F00530110508F4EE 951 | :103B60009FC0C80104978617970708F499C00250B0 952 | :103B70001109061B170B019311936D937C93CF01D1 953 | :103B80000E94F71C8DC05B01A01AB10A4C01800E87 954 | :103B9000911EA0913A07B0913B0740E050E0E12C24 955 | :103BA000F12C109709F44AC0A815B905D1F56D900C 956 | :103BB0007C901197630182E0C80ED11CCA14DB040B 957 | :103BC00080F1A3014A195B096A0182E0C80ED11C89 958 | :103BD0001296BC9012971396AC91B5E0CB16D10417 959 | :103BE00040F0B282A38351834083D9016D937C93CB 960 | :103BF0000AC00E5F1F4FC301800F911FF90191830F 961 | :103C00008083EB2DFA2FE114F10431F0D7011396E4 962 | :103C1000FC93EE93129744C0F0933B07E0933A076E 963 | :103C20003FC08D919C9111974817590708F4AC013A 964 | :103C30007D0112960D90BC91A02DB3CF80913807D5 965 | :103C40009091390788159905E1F446175707C8F48C 966 | :103C500080910D0190910E01009741F48DB79EB7B0 967 | :103C60004091110150911201841B950BE817F9073F 968 | :103C7000C8F4F0933907E0933807F9017183608342 969 | :103C80000FC0CB010E94621C7C01009759F0A80173 970 | :103C9000BE010E945E1ECE010E94F71CC70104C037 971 | :103CA000CE0102C080E090E0CDB7DEB7EEE00C942C 972 | :103CB000441A81E090E0F8940C94771EFB01DC013B 973 | :103CC00002C001900D9241505040D8F70895FB0179 974 | :103CD000DC018D91019080190110D9F3990B0895A1 975 | :103CE000FB01DC0101900D920020E1F70895F894AA 976 | :023CF000FFCF04 977 | :103CF200F602F602297C8643D2000108E600003C67 978 | :103D02000780005E00BC0077010000000000350261 979 | :103D1200A201CD017C02FE01DC01F001656D6F6E36 980 | :103D220054782056332E3420446973637265746567 981 | :103D32002053616D706C696E672056004F70656E1E 982 | :103D4200456E657267794D6F6E69746F722E6F7210 983 | :103D52006700504F53542E2E2E2E2E7761697420F9 984 | :103D620031307300272B2B2B27207468656E205B64 985 | :103D7200456E7465725D20666F7220524620636FD5 986 | :103D82006E666967206D6F6465002B2B2B0D0A0030 987 | :103D9200456E746572696E6720636F6E666967202F 988 | :103DA2006D6F64652E2E2E00435420312043616CCA 989 | :103DB2002000435420322043616C200043542033BE 990 | :103DC2002043616C2000435420342043616C200066 991 | :103DD200524D5320566F6C74616765206F6E20419F 992 | :103DE200432D4143202069733A207E0041432D41F7 993 | :103DF20043206465746563746564202D2052656197 994 | :103E02006C20506F776572206D65617375726520E5 995 | :103E1200656E61626C656400617373756D696E676E 996 | :103E2200207077722066726F6D2041432D414320CE 997 | :103E3200286A756D70657220636C6F736564290002 998 | :103E4200555341206D6F6465206163746976650026 999 | :103E52005663616C3A20005068617365205368694B 1000 | :103E620066743A200041432D4143204E4F54206452 1001 | :103E720065746563746564202D204170706172659C 1002 | :103E82006E7420507772206D65617375726520655E 1003 | :103E92006E61626C656400417373756D696E672053 1004 | :103EA20056524D533A2000417373756D696E672007 1005 | :103EB200706F7765722066726F6D20626174742014 1006 | :103EC2002F20355620555342202D20706F77657272 1007 | :103ED200207361766520656E61626C6564004E4F89 1008 | :103EE20020435427732064657465637465640043DA 1009 | :103EF2005420312064657465637465640043542002 1010 | :103F02003220646574656374656400435420332011 1011 | :103F12006465746563746564004354203420646589 1012 | :103F220074656374656400446574656374656420D4 1013 | :103F320054656D702053656E736F72733A20200062 1014 | :103F42004E6F2074656D7065726174757265207351 1015 | :103F5200656E736F720043543120435432204354D0 1016 | :103F620033204354342056524D532F42415454204F 1017 | :103F720050554C5345002054656D706572617475DF 1018 | :103F8200726520312D0020204354312D6D41006394 1019 | :103F920074313A002C6374323A002C6374333A0061 1020 | :103FA2002C6374343A002C76726D733A002C70755F 1021 | :103FB2006C73653A002C6D413A002C7400536176A3 1022 | :103FC200696E672E2E2E00446F6E652E204E657729 1023 | :103FD20020636F6E66696720736176656420746F13 1024 | :103FE20020454550524F4D006E616E00696E66006D 1025 | :043FF2006F76660080 1026 | :00000001FF 1027 | -------------------------------------------------------------------------------- /OpenEnergyMonitor/emonTx/emontx3-3.0.ino.with_bootloader.standard.hex: -------------------------------------------------------------------------------- 1 | :100000000C9478010C9424050C94FD040C94A0012C 2 | :100010000C94A0010C94A0010C941C080C94A00159 3 | :100020000C94A0010C94A0010C94A0010C94A001CC 4 | :100030000C94A0010C94A0010C94A0010C94A001BC 5 | :100040000C94B3040C94A0010C9466030C9440032C 6 | :100050000C94A0010C94A0010C94A0010C94A0019C 7 | :100060000C94A0010C94A0012000205553412000C5 8 | :100070005D005B656D6F6E54782046573A205600E0 9 | :1000800000000000240027002A00000000002500D6 10 | :1000900028002B00000000080002010000030407F4 11 | :1000A0000000000000000000005EBCE2613FDD8354 12 | :1000B000C29C7E20A3FD1F419DC3217FFCA2401E48 13 | :1000C0005F01E3BD3E6082DC237D9FC1421CFEA038 14 | :1000D000E1BF5D0380DE3C62BEE0025CDF81633D28 15 | :1000E0007C22C09E1D43A1FF4618FAA427799BC518 16 | :1000F00084DA3866E5BB5907DB856739BAE4065808 17 | :100100001947A5FB7826C49A653BD987045AB8E6F7 18 | :10011000A7F91B45C6987A24F8A6441A99C7257BE7 19 | :100120003A6486D85B05E7B98CD2306EEDB3510FD7 20 | :100130004E10F2AC2F7193CD114FADF3702ECC92C7 21 | :10014000D38D6F31B2EC0E50AFF1134DCE90722CB7 22 | :100150006D33D18F0C52B0EE326C8ED0530DEFB1A7 23 | :10016000F0AE4C1291CF2D73CA947628ABF5174997 24 | :100170000856B4EA6937D58B5709EBB536688AD487 25 | :1001800095CB2977F4AA4816E9B7550B88D6346A77 26 | :100190002B7597C94A14F6A8742AC896154BA9F767 27 | :1001A000B6E80A54D7896B350A417661696C616299 28 | :1001B0006C6520636F6D6D616E64733A0A20203C3C 29 | :1001C0006E6E3E206920202020202D207365742033 30 | :1001D0006E6F64652049447320287374616E646196 31 | :1001E0007264206E6F64652069647320617265209B 32 | :1001F000312E2E3330290A20203C6E3E20622020F2 33 | :10020000202020202D20736574204D487A206261C3 34 | :100210006E64202834203D203433332C2038203D98 35 | :10022000203836382C2039203D20393135290A2014 36 | :10023000203C6E6E6E3E2067202020202D207365AE 37 | :1002400074206E6574776F726B2067726F757020A3 38 | :100250002852464D3132206F6E6C7920616C6C6F84 39 | :100260007773203231322C2030203D20616E792985 40 | :100270000A202073202020202020202020202D2034 41 | :100280007361766520636F6E66696720746F2045C1 42 | :100290004550524F4D0A202076202020202020203B 43 | :1002A0002020202D2053686F77206669726D77615A 44 | :1002B00072652076657273696F6E0A000000000037 45 | :1002C0002300260029000404040404040404020298 46 | :1002D00002020202030303030303010204081020C5 47 | :1002E0004080010204081020010204081020731845 48 | :1002F00011241FBECFEFD8E0DEBFCDBF27E0A4E0C2 49 | :10030000B4E001C01D92AC33B207E1F714E0A0E005 50 | :10031000B1E0E2EFFCE302C005900D92A430B1071A 51 | :10032000D9F711E0C8E7D1E004C02197FE010E948F 52 | :100330005C1CC737D107C9F70E94DB0F0C94771EEE 53 | :100340000C940000CF92DF92EF92FF920F931F93D5 54 | :10035000CF93DF936C017A018B01C0E0D0E0CE1522 55 | :10036000DF0589F0D8016D918D01D601ED91FC91E9 56 | :100370000190F081E02DC6010995892B11F47E01D1 57 | :1003800002C02196ECCFC701DF91CF911F910F9151 58 | :10039000FF90EF90DF90CF900895FC01538D448D36 59 | :1003A000252F30E0842F90E0821B930B541710F020 60 | :1003B000CF96089501970895FC01918D828D98172D 61 | :1003C00061F0828DDF01A80FB11D5D968C91928D39 62 | :1003D0009F5F9F73928F90E008958FEF9FEF089536 63 | :1003E000FC01918D828D981731F0828DE80FF11DFF 64 | :1003F000858D90E008958FEF9FEF0895FC01918D1A 65 | :10040000228D892F90E0805C9F4F821B91098F7312 66 | :100410009927089588E796E00E94FE0121E0892B44 67 | :1004200009F420E0822F0895FC01848DDF01A80FDC 68 | :10043000B11DA35ABF4F2C91848D90E001968F730C 69 | :100440009927848FA689B7892C93A089B1898C912B 70 | :1004500080648C93938D848D981306C00288F389F1 71 | :10046000E02D80818F7D80830895EF92FF920F931E 72 | :100470001F93CF93DF93EC0181E0888F9B8D8C8D50 73 | :10048000981305C0E889F989808185FD24C0F62E7E 74 | :100490000B8D10E00F5F1F4F0F731127E02E8C8D17 75 | :1004A000E8120CC00FB607FCFACFE889F989808101 76 | :1004B00085FFF5CFCE010E941402F1CF8B8DFE0196 77 | :1004C000E80FF11DE35AFF4FF0820B8FEA89FB8999 78 | :1004D0008081806207C0EE89FF896083E889F9899D 79 | :1004E00080818064808381E090E0DF91CF911F91D3 80 | :1004F0000F91FF90EF900895CF93DF93EC01888DDB 81 | :100500008823C9F0EA89FB89808185FD05C0A88917 82 | :10051000B9898C9186FD0FC00FB607FCF5CF80819D 83 | :1005200085FFF2CFA889B9898C9185FFEDCFCE01E7 84 | :100530000E941402E7CFDF91CF91089580E090E010 85 | :10054000892B29F00E940A0281110C940000089561 86 | :10055000833081F028F4813099F08230A1F0089541 87 | :100560008730A9F08830B9F08430D1F480918000D0 88 | :100570008F7D03C0809180008F77809380000895E5 89 | :1005800084B58F7702C084B58F7D84BD0895809136 90 | :10059000B0008F7703C08091B0008F7D8093B00052 91 | :1005A00008953FB7F89480910A0690910B06A091A8 92 | :1005B0000C06B0910D0626B5A89B05C02F3F19F07B 93 | :1005C0000196A11DB11D3FBFBA2FA92F982F8827D3 94 | :1005D000820F911DA11DB11DBC01CD0142E0660F2E 95 | :1005E000771F881F991F4A95D1F708950895089598 96 | :1005F000089583FF02C098E2892787FD06C08064C2 97 | :10060000909160009093020602C08091020694B718 98 | :10061000977F94BFF89490916000986190936000E8 99 | :10062000809360007894089580E090E008950E949F 100 | :10063000591E0F931F93CF93DF93EC01888199810B 101 | :10064000009729F02A813B812617370788F48B0110 102 | :100650006F5F7F4F0E948F1D009761F099838883A1 103 | :100660001B830A832C813D81232B11F4FC01108212 104 | :1006700081E001C080E0DF91CF911F910F9108953B 105 | :100680001F920F920FB60F9211242F933F934F9307 106 | :100690005F936F937F938F939F93AF93BF93EF93EA 107 | :1006A000FF9388E796E00E941402FF91EF91BF91BB 108 | :1006B000AF919F918F917F916F915F914F913F91FA 109 | :1006C0002F910F900FBE0F901F9018951F920F92B1 110 | :1006D0000FB60F9211242F938F939F93EF93FF9355 111 | :1006E000E0918806F09189068081E0918E06F09174 112 | :1006F0008F0682FD12C09081809191068F5F8F736B 113 | :1007000020919206821751F0E0919106F0E0E858AE 114 | :10071000F94F958F8093910601C08081FF91EF91F1 115 | :100720009F918F912F910F900FBE0F901F90189552 116 | :10073000CF93DF93282F30E0F901EC56FF4F8491DF 117 | :10074000F901E652FD4FD491F901EA53FD4FC491EE 118 | :10075000CC2391F081110E94A802EC2FF0E0EE0F63 119 | :10076000FF1FE454FD4FA591B491EC91ED2381E07E 120 | :1007700090E021F480E002C080E090E0DF91CF9132 121 | :1007800008951F93CF93DF93282F30E0F901EC56A3 122 | :10079000FF4F8491F901E652FD4FD491F901EA53DC 123 | :1007A000FD4FC491CC23C9F0162F81110E94A802DD 124 | :1007B000EC2FF0E0EE0FFF1FE657FF4FA591B4912D 125 | :1007C0008FB7F894111105C09C91ED2FE095E923A6 126 | :1007D00002C0EC91ED2BEC938FBFDF91CF911F9175 127 | :1007E0000895CF93DF9390E0FC01E652FD4F2491F2 128 | :1007F000FC01EA53FD4F8491882361F190E0880F5A 129 | :10080000991FFC01E058FF4FC591D491FC01E657B8 130 | :10081000FF4FA591B491611109C09FB7F8948881E9 131 | :10082000209582238883EC912E230BC0623061F4E3 132 | :100830009FB7F8943881822F809583238883EC9129 133 | :100840002E2B2C939FBF06C08FB7F894E8812E2BD8 134 | :1008500028838FBFDF91CF9108958E3008F08E509E 135 | :100860008770806480937C0080917A00806480939C 136 | :100870007A0080917A0086FDFCCF809178002091EB 137 | :10088000790090E0922B08958F929F92AF92BF9241 138 | :10089000CF92DF92EF92FF926B017C010E94D10216 139 | :1008A0004B015C01C114D104E104F104F1F00E9498 140 | :1008B000D102DC01CB0188199909AA09BB09883E3C 141 | :1008C0009340A105B10570F321E0C21AD108E108F7 142 | :1008D000F10888EE880E83E0981EA11CB11CC1149B 143 | :1008E000D104E104F10419F7DDCFFF90EF90DF9020 144 | :1008F000CF90BF90AF909F908F9008952FB7F894AE 145 | :10090000609106067091070680910806909109068D 146 | :100910002FBF08950F931F930E947E040091FD0541 147 | :100920001091FE052091FF0530910006DC01CB01FE 148 | :10093000801B910BA20BB30B8F369105A105B1055E 149 | :1009400028F0809105048F5F809305040E947E0447 150 | :100950006093FD057093FE058093FF05909300065C 151 | :100960001F910F9108951F920F920FB60F921124AD 152 | :100970002F933F938F939F93AF93BF9380910606DE 153 | :1009800090910706A0910806B091090630910506DE 154 | :1009900023E0230F2D3720F40196A11DB11D05C0C2 155 | :1009A00026E8230F0296A11DB11D20930506809312 156 | :1009B000060690930706A0930806B0930906809157 157 | :1009C0000A0690910B06A0910C06B0910D060196B7 158 | :1009D000A11DB11D80930A0690930B06A0930C06EF 159 | :1009E000B0930D06BF91AF919F918F913F912F9141 160 | :1009F0000F900FBE0F901F9018951F920F920FB679 161 | :100A00000F9211242F933F934F935F936F937F9394 162 | :100A10008F939F93AF93BF93EF93FF93E091020166 163 | :100A2000F09103010995FF91EF91BF91AF919F91D3 164 | :100A30008F917F916F915F914F913F912F910F9087 165 | :100A40000FBE0F901F9018951F920F920FB60F9226 166 | :100A500011242F933F934F935F936F937F938F93C3 167 | :100A60009F93AF93BF93EF93FF93E0910001F091B9 168 | :100A700001010995FF91EF91BF91AF919F918F91E6 169 | :100A80007F916F915F914F913F912F910F900FBE8A 170 | :100A90000F901F901895FC0190810180F281E02D4C 171 | :100AA000F8948181892B81832281892F8095282345 172 | :100AB0002283A7E0B0E01197F1F72181822381839F 173 | :100AC000A3E2B0E01197F1F780817894EFECF0E0C9 174 | :100AD0003197F1F7982381E009F480E00895FC0153 175 | :100AE00090810180F281E02D892F809560FF12C0F6 176 | :100AF000F8942281822382838181892B8183A3E2DE 177 | :100B0000B0E01197F1F78281982B9283789487ED6A 178 | :100B100090E011C0F8942281822382838181892B05 179 | :100B20008183AFEFB0E01197F1F78281982B928328 180 | :100B300078948FE090E00197F1F70895CF92DF92DB 181 | :100B4000EF92FF920F931F93CF93DF931F92CDB736 182 | :100B5000DEB76C01E62E08E010E0FF24F39461E0BC 183 | :100B60008F2D8E2109F460E0C60149830E946F0534 184 | :100B7000FF0C0150110949810115110581F741113F 185 | :100B800015C0F894D6011196ED91FC9112979181C0 186 | :100B90008C918095892381831196ED91FC91129718 187 | :100BA00092818C9180958923828378940F90DF9134 188 | :100BB000CF911F910F91FF90EF90DF90CF9008950C 189 | :100BC000CF92DF92EF92FF920F931F93CF93DF9319 190 | :100BD0001F92CDB7DEB78C01F62E40E065E5798334 191 | :100BE0000E949E05CF2C7981D72E760188E0E80EF1 192 | :100BF000F11CF60161916F0140E0C8010E949E0561 193 | :100C0000CE14DF04B1F70F90DF91CF911F910F91B8 194 | :100C1000FF90EF90DF90CF900895FC0190810180CC 195 | :100C2000F281E02DF8948181292F20958223818300 196 | :100C300078948DE743E050E0815021F1DA0111977B 197 | :100C4000F1F730813923C1F3F894828182238283C2 198 | :100C50008181892B81837894ABE7B7E01197F1F715 199 | :100C6000F894818128232183A3E1B1E01197F1F762 200 | :100C70008081982381E009F080E07894E3E6F6E053 201 | :100C80003197F1F708958EE480937C0062E070E084 202 | :100C900080E090E00E94440480917A008064809318 203 | :100CA0007A0080917A0086FDFCCF809178002091B7 204 | :100CB000790030E0322F2227A901330F660B770B22 205 | :100CC0009A01AB01282B60E070E381E190E00E9483 206 | :100CD0001A1CCA01B9010895E8982A988EBD0DB46E 207 | :100CE00007FEFDCF8EB56EBD0DB407FEFDCF8EB5F0 208 | :100CF0002A9AE89A089560E00C946C06CF93C82F66 209 | :100D000081E00E947B06837E682F6C2B81E8CF9167 210 | :100D10000C946C0688E20E947B06807521F080E0CE 211 | :100D20000E947B06F7CF08958627682F6295682773 212 | :100D3000062E669566956025062E66956025677079 213 | :100D4000082E892F669507946795902D862706941F 214 | :100D50006795902586270895CF93809177068530F3 215 | :100D600009F054C060E485EA0E946C0684E20E94A7 216 | :100D70007B06809304067894C8E488E20E947B0690 217 | :100D80008075D9F38091140681110FC0E0910F0690 218 | :100D9000F09110068091140691E0980F909314063C 219 | :100DA00090911306E80FF11D908380E00E947B066E 220 | :100DB000E0910F06F09110069091140621E0290FA2 221 | :100DC00020931406E90FF11D8083682F809111068E 222 | :100DD000909112060E949406909312068093110639 223 | :100DE00080911706833410F0C09314068091170683 224 | :100DF0002091140690E0049630E082179307ACF03F 225 | :100E000080911406883408F4B8CF0FC088E20E949D 226 | :100E10007B0683FF0AC084E0809377060E947E06EB 227 | :100E200060E885EACF910C946C06CF910895CF923B 228 | :100E3000DF92EF92FF921F93CF93DF936C01EC014F 229 | :100E400038E0E32EF12CC031D10508F441C0CE01C9 230 | :100E500010E08032910530F01F5F193019F096953F 231 | :100E60008795F7CF10920306812F0E94F9022091F7 232 | :100E70007A0080917A008F7780937A0093B7917F80 233 | :100E8000946093BFF89483B7816083BF85B7806611 234 | :100E900085BF95B79F79906495BF7894889583B7FF 235 | :100EA0008E7F83BF20937A008FEF0E94F902C701E3 236 | :100EB00002C0880F991F1A95E2F7C81BD90B209121 237 | :100EC0000306222319F0C81BD90BBDCF80E001C057 238 | :100ED00081E04091060650910706609108067091E6 239 | :100EE0000906CC1ADD0A4C0D5D1D611D711D409374 240 | :100EF0000606509307066093080670930906DF9173 241 | :100F0000CF911F91FF90EF90DF90CF900895CF93F6 242 | :100F1000DF9390ED980F9A3060F490910106990F4D 243 | :100F2000292F220F220F920F9053890F80930106D1 244 | :100F300080C081320CF47BC0893619F16CF48236A2 245 | :100F400039F1873609F060C08091010690E09093F6 246 | :100F50000901809308015AC0833781F1863709F06F 247 | :100F600053C082E790E00E94DB0D42E060E070E059 248 | :100F700080E490E40E94FC0D80E790E00E94DB0D8D 249 | :100F800045C080910106882319F080930B013EC073 250 | :100F900080910106843031F0883031F0893031F0B1 251 | :100FA00080E005C081E003C082E001C083E080935F 252 | :100FB0000106882359F180930A0128C08DEC93E043 253 | :100FC0000E94CD0DC0E0D0E060E0CE010E94161A74 254 | :100FD0002196C11584E0D807B9F760910B0180E034 255 | :100FE00090E00E94161A60910A0181E090E00E9450 256 | :100FF000161A6091080182E090E00E94161A87EDAF 257 | :1010000093E00E94CD0D02C00E9438088AE690E06D 258 | :101010000E94DB0D8091040490E00E941B0A88E688 259 | :1010200090E00E94DB0D8DE991E00E94C8091092CA 260 | :101030000106DF91CF9108951F920F920FB60F9284 261 | :1010400011248F93809103068F5F809303068F9105 262 | :101050000F900FBE0F901F901895E0917806F091B9 263 | :1010600079060190F081E02D682F88E796E00994D9 264 | :101070001F93CF93DF93C8EAD1E0FE0114911123AF 265 | :1010800051F01A3019F48DE00E942D08812F0E9432 266 | :101090002D082196F2CFDF91CF911F910895809175 267 | :1010A0007706843064F483B7817F8C6083BF83B715 268 | :1010B000816083BF889583B78E7F83BFF0CF08950B 269 | :1010C0000F931F93CF93DF9314E0C5E1D6E005E0C3 270 | :1010D00080917706853009F076C0809114068111E1 271 | :1010E00072C084E0809377060E947E068AE1809336 272 | :1010F0001706EDE5F6E080E090E0DC01A85EB94F70 273 | :1011000021912C9301968A319105B9F780910E06B1 274 | :1011100080931606609113068FEF9FEF0E9494064E 275 | :101120009093120680931106909117068EEF891BFB 276 | :10113000809377060E948A068CE00E947E0660E01B 277 | :1011400085EA0E946C068091770683300CF0A6C079 278 | :1011500088E20E947B0687FDF6CF8091770687FFA5 279 | :101160001BC09091170680917706E0910F06F091D1 280 | :101170001006E90FF11DE80FF11D87FDFA95C381F7 281 | :101180006C2F80911106909112060E949406909304 282 | :101190001206809311060DC080917706882329F0EE 283 | :1011A000813031F4C091120604C0C091110601C013 284 | :1011B000CAEA6C2F80E80E946C06809177068F5FE8 285 | :1011C00080937706C0CF80917706843011F5109216 286 | :1011D000170610921406609113068FEF9FEF0E947E 287 | :1011E00094069093120680931106D0931006C09334 288 | :1011F0000F06009377060E948A0660E885EA0E943F 289 | :101200006C0680E10E947E0662E08EE90E946C0618 290 | :1012100010C0853071F4809117062091140690E07B 291 | :10122000049630E0821793077CF08091140688348E 292 | :1012300058F48FEF9FEF9093370780933607809194 293 | :1012400036079091370744CF1093770684E00E94C9 294 | :101250007E0680911706833418F081E090E0EBCF92 295 | :101260008091110690911206892BB9F7809116068C 296 | :1012700086FF11C030910E063F3169F020911606AD 297 | :101280002F7181E090E0231302C080E090E09195FF 298 | :1012900081959109D0CF80E090E0CDCFDF91CF91C3 299 | :1012A0001F910F910895AF92BF92CF92DF92EF926C 300 | :1012B000FF920F931F93CF93DF938B01BC0180911B 301 | :1012C0001A0790911B070E94E00540E06EEB8091A9 302 | :1012D0001A0790911B070E949E05E801680189E0AA 303 | :1012E000C80ED11CA0901A07B0901B0788E0E82E0A 304 | :1012F000F12C01E010E0C5010E944B058111102B7B 305 | :10130000000F81E0E81AF108B1F71993CC15DD055B 306 | :1013100049F780911A0790911B070E940D0691E0F2 307 | :10132000813009F090E0892FDF91CF911F910F91CB 308 | :10133000FF90EF90DF90CF90BF90AF9008950F9304 309 | :101340001F93CF93DF938C01EB0180911A0790914B 310 | :101350001B070E940D068823A9F0BE01C8010E9448 311 | :101360005309882379F0DE0189E0E0E0815039F00B 312 | :101370009D91E927F0E0E855FF4FE491F7CF81E038 313 | :101380009885E91380E0DF91CF911F910F91089527 314 | :10139000009769F0FC0101900020E9F73197AF0157 315 | :1013A000481B590BBC0188E796E00C94A20180E031 316 | :1013B00090E008958F929F92AF92BF920F931F93E8 317 | :1013C000CF93DF93CDB7DEB7A1970FB6F894DEBF0A 318 | :1013D0000FBECDBF19A2423008F44AE08E010F5D66 319 | :1013E0001F4F842E912CA12CB12CA50194010E9499 320 | :1013F000F81BE62FB901CA0101501109EA3014F4B3 321 | :10140000E05D01C0E95CD801EC93232B242B252B54 322 | :1014100061F7C8010E94C809A1960FB6F894DEBF13 323 | :101420000FBECDBFDF91CF911F910F91BF90AF90B5 324 | :101430009F908F900895CF92DF92EF92FF92CF937B 325 | :10144000DF936C01990FEE08FF08F7FE17C08DE2DD 326 | :101450000E942D08EC0166277727CB016C197D09C6 327 | :101460008E099F094AE00E94DA098C0F9D1FDF91C7 328 | :10147000CF91FF90EF90DF90CF9008954AE0C701A1 329 | :10148000B601DF91CF91FF90EF90DF90CF900C9459 330 | :10149000DA090C94C8092F923F924F925F926F9293 331 | :1014A0007F928F929F92AF92BF92CF92DF92EF92F4 332 | :1014B000FF920F931F93CF93DF9300D000D0CDB74F 333 | :1014C000DEB79C838B830E9443066B017C010EE791 334 | :1014D00016E08B819C81885B9F4F9A8389832B8048 335 | :1014E0003C809CE4290E311CEB81FC8186890E94A2 336 | :1014F0002D04EB81FC8197A386A3BC01990F880B77 337 | :10150000990B0E94F9184B015C01EB81FC8140AC06 338 | :1015100051AC62AC73ACA30192010E946A1A20E044 339 | :1015200030E040E85AE30E9458199B01AC01C30126 340 | :10153000B2010E946B1A9B01AC01EB81FC8160AF90 341 | :1015400071AF82AF93AFC501B4010E946A1AEB81FB 342 | :10155000FC8160AB71AB82AB93AB9B01AC010E9491 343 | :101560005819E981FA816083718382839383F10141 344 | :1015700020813181428153810E946B1AF101608385 345 | :101580007183828393830150110909F0ADCF20E06C 346 | :1015900030EC4FEC54E40E94D71A0E948A1B4B0196 347 | :1015A0005C01B601DD0C880B990B0E94F91820E054 348 | :1015B00030E04AE754E40E94D71A20E030E040E8E7 349 | :1015C0005AE30E945819EB81FC81248D358D468D9C 350 | :1015D000578D0E945819A50194010E945819EB815A 351 | :1015E000FC81608B718B828B938BF1011082118255 352 | :1015F000128213820F900F900F900F90DF91CF9176 353 | :101600001F910F91FF90EF90DF90CF90BF90AF9020 354 | :101610009F908F907F906F905F904F903F902F9012 355 | :1016200008952F923F924F925F926F927F928F9286 356 | :101630009F92AF92BF92CF92DF92EF92FF920F9361 357 | :101640001F93CF93DF93CDB7DEB7A2970FB6F89471 358 | :10165000DEBF0FBECDBF9AA389A30E944306698B4C 359 | :101660007A8B8B8B9C8B0E947E044B015C0169A062 360 | :101670007AA028E5620E711CA9A1BAA154968C919A 361 | :101680000E942D04F30191838083BC01990F880B84 362 | :10169000990B0E94F9186B017C012DEC3CEC4CE09D 363 | :1016A00054E40E94F21887FF0BC011E026E636E6EC 364 | :1016B00046EE53E4C701B6010E947F1B18160CF0DA 365 | :1016C00010E00E947E04DC01CB0188199909AA0967 366 | :1016D000BB09813D9740A105B10510F4112361F2CA 367 | :1016E0000E947E046D8B7E8B8F8B988F00E010E0C4 368 | :1016F0001A82198229A13AA1205C3F4F3A8F298F83 369 | :1017000049A15AA14C5B5F4F5C874B8789A19AA185 370 | :10171000885B9F4F9C8F8B8FA9A1BAA1A45BBF4F01 371 | :10172000BE87AD87E9A1FAA1E05BFF4FFE8FED8F89 372 | :1017300029A13AA12C5A3F4F388B2F8749A15AA192 373 | :10174000465A5F4F5E834D8329A03AA05BE5250E84 374 | :10175000311C89A19AA1885A9F4F98A38F8F0E940C 375 | :101760007E04DC01CB012D893E894F89588D821B77 376 | :10177000930BA40BB50B803D9740A105B10508F470 377 | :10178000DAC049895A89BA01550F880B990B0E9412 378 | :10179000F91820E030E04AE754E40E94D71A20E02C 379 | :1017A00030E040E85AE30E9458192B013C01A9A1FE 380 | :1017B000BAA158962D913D914D915C915B970E94F5 381 | :1017C00058194B015C01E981FA81BF0180E090E08A 382 | :1017D0000E94F7186B017C0129A03AA0F4E42F0EB7 383 | :1017E000311C9B01AC01D1016D917D918D919C913A 384 | :1017F0000E94D71A0E948A1B9B01AC01C501B4014B 385 | :101800000E94581969837A838B839C83E9A1FAA18A 386 | :101810006487758786879787248D358D468D578D8C 387 | :10182000C301B2010E9458192B013C0109A11AA160 388 | :10183000045B1F4FA7019601D8016D917D918D9199 389 | :101840009C910E94D71A0E948A1B9B01AC01C30184 390 | :10185000B2010E9458196D837E838F839887E9A116 391 | :10186000FAA1608B718B828B938BA3019201C501CE 392 | :10187000B4010E945819A9A0BAA0F4E5AF0EB11C9A 393 | :10188000D5012D913D914D915C910E945819A70170 394 | :1018900096010E94D71A6B017C01E9A1FAA160832D 395 | :1018A0007183828393832D813E814F815885698125 396 | :1018B0007A818B819C810E9458199B01AC01A9A15E 397 | :1018C000BAA114966D937D938D939C931797C7013E 398 | :1018D000B6010E94D71AE9A1FAA1608771878287B1 399 | :1018E0009387D1011D921D921D921C921397F801AE 400 | :1018F0001082118212821382D5011D921D921D92B7 401 | :101900001C921397A2960FB6F894DEBF0FBECDBF00 402 | :10191000DF91CF911F910F91FF90EF90DF90CF90CB 403 | :10192000BF90AF909F908F907F906F905F904F90FF 404 | :101930003F902F900895E981FA813196FA83E983E7 405 | :10194000E9A1FAA184A595A5A6A5B7A580A791A709 406 | :10195000A2A7B3A784890E942D04A9A1BAA1959634 407 | :101960009C938E93949756968C910E942D043C01E3 408 | :10197000E9A1FAA197A386A324A135A13A872987D3 409 | :10198000B901330F880B990B0E94F9186B017C0188 410 | :10199000A9A1BAA1D4968D909D90AD90BC90D797F7 411 | :1019A000A50194010E946A1A20E030E040E85AE361 412 | :1019B0000E9458199B01AC01C501B4010E946B1A29 413 | :1019C0009B01AC01E9A1FAA164AB75AB86AB97AB07 414 | :1019D000C701B6010E946A1A4B015C01A9A1BAA114 415 | :1019E0009C966D937D938D939C939F97B301770CF9 416 | :1019F000880B990B0E94F9186B017C01E9A1FAA1EF 417 | :101A000040AC51AC62AC73ACA30192010E946A1A63 418 | :101A100020E030E040E85AE30E9458199B01AC01F5 419 | :101A2000C301B2010E946B1A9B01AC01A9A1BAA12A 420 | :101A3000D8966D937D938D939C93DB97C701B601E8 421 | :101A40000E946A1A6B017C01E9A1FAA160AB71AB3B 422 | :101A500082AB93ABA5019401C501B4010E94581952 423 | :101A60009B01AC01A98DBA8D6D937D938D939C9351 424 | :101A70001397EB85FC8560817181828193810E943F 425 | :101A80006B1AAB85BC856D937D938D939C93139757 426 | :101A9000A7019601C701B6010E9458199B01AC012C 427 | :101AA000EB8DFC8D6083718382839383AD85BE85CE 428 | :101AB0006D917D918D919C910E946B1AED85FE85B3 429 | :101AC0006083718382839383A9A1BAA198964D9074 430 | :101AD0005D906D907C909B97A3019201C501B4012C 431 | :101AE0000E946A1AE9A1FAA120A131A142A153A141 432 | :101AF0000E9458199B01AC01C301B2010E946B1AEC 433 | :101B0000A9A1BAA1DC966D937D938D939C93DF97E9 434 | :101B1000A70196010E9458199B01AC01ED8DFE8D25 435 | :101B20006083718382839383AF85B8896D917D9142 436 | :101B30008D919C910E946B1AEF85F8896083718367 437 | :101B400082839383D1018C91ED81FE818083AF8D5F 438 | :101B5000B8A18D919C91E985FA858E179F0724F491 439 | :101B6000E1E0D101EC9302C0D1011C92E981FA813C 440 | :101B7000319729F4D1018C91ED81FE818083AD8173 441 | :101B8000BE819C91F1018081981711F00F5F1F4F6A 442 | :101B90000E31110508F0F5CDE2CDCF93DF930E9411 443 | :101BA000C809EC018DE991E00E94C8098C0F9D1FC6 444 | :101BB000DF91CF9108950F931F93CF93DF938C0103 445 | :101BC000C0E0D0E0F801EC0FFD1F6491662371F0D6 446 | :101BD000E0917806F09179060190F081E02D88E798 447 | :101BE00096E00995892B11F02196ECCFCE01DF917B 448 | :101BF000CF911F910F9108954F925F926F927F92B4 449 | :101C00008F929F92AF92BF92CF92DF92EF92FF920C 450 | :101C10006B017C01B42E9B01AC010E94CA1B88237E 451 | :101C200019F088EF93E027C026013701E89477F890 452 | :101C30002FEF3FEF4FE75FE7C301B2010E94CA1BDE 453 | :101C400081110DC02FEF3FEF4FE75FE7C301B201F6 454 | :101C50000E94F21818161CF48CEF93E00CC02FEFC2 455 | :101C60003FEF4FE75FE4C701B6010E947F1B1816E4 456 | :101C700084F480E094E0FF90EF90DF90CF90BF90ED 457 | :101C8000AF909F908F907F906F905F904F900C944B 458 | :101C9000C8092FEF3FEF4FE75FECC701B6010E9485 459 | :101CA000F21887FDE6CF20E030E0A901C701B601B8 460 | :101CB0000E94F21887FF09C08DE20E942D084C0196 461 | :101CC000F7FAF094F7F8F09402C0812C912CA12C33 462 | :101CD00060E070E080E09FE3AB1441F020E030E092 463 | :101CE00040E251E40E94D71AA394F6CF9B01AC01C5 464 | :101CF000C701B6010E946B1A2B013C010E94501BC8 465 | :101D00006B017C010E94F7189B01AC01C301B20179 466 | :101D10000E946A1A2B013C014AE0C701B6010E94E9 467 | :101D2000DA097C01E80CF91CBB2029F08EE20E9444 468 | :101D30002D08E80EF91EDB2CDD2021F120E030E03B 469 | :101D400040E251E4C301B2010E9458192B013C0149 470 | :101D50000E94501B4B01A12CB12C4AE0C501B401DB 471 | :101D60000E94DA09E80EF91EC501B4010E94F718B5 472 | :101D70009B01AC01C301B2010E946A1A2B013C0114 473 | :101D8000DA94DACFC701FF90EF90DF90CF90BF9049 474 | :101D9000AF909F908F907F906F905F904F9008953D 475 | :101DA000CF93DF9342E00E94FC0DEC018DE991E0BE 476 | :101DB0000E94C8098C0F9D1FDF91CF910895AF92AB 477 | :101DC000BF92CF92DF92EF92FF920F931F93CF9328 478 | :101DD000DF931F92CDB7DEB75C01D62EE72EFC0154 479 | :101DE0008585811105C0C5010E940D06811106C0BF 480 | :101DF000F50113861586148680E065C040E060EF2B 481 | :101E0000C5010E949E0501E0F12CC12C11E0C50125 482 | :101E10000E944B05682FC50169830E944B056981AB 483 | :101E2000613019F48130B9F433C04F2D50E068139C 484 | :101E30001BC0F5018385181730F4E40FF51F83816B 485 | :101E4000802349F402C0181731F060E0193058F4CB 486 | :101E5000F501148708C0F501EF0DF11D8381802B7A 487 | :101E6000838361E009C0C12EF501E40FF51F938162 488 | :101E7000802F809589238383C5010E946F051F5F92 489 | :101E8000000F11F4F39401E0F7E0FF1508F0BFCF65 490 | :101E9000113408F4ADCFF501C386C11002C081E052 491 | :101EA0008587F5018381882309F4A2CFD501139694 492 | :101EB000ED2DFE2D9501255F3F4F8D918193A2174A 493 | :101EC000B307D9F781E00F90DF91CF911F910F9168 494 | :101ED000FF90EF90DF90CF90BF90AF900895CF9399 495 | :101EE000DF93CDB7DEB729970FB6F894DEBF0FBEEC 496 | :101EF000CDBFFC0120812031D1F0BE016F5F7F4F4B 497 | :101F00000E949F09882389F08D818F3361F020F42E 498 | :101F10008F3159F489E00CC08F3519F08F3739F0C3 499 | :101F200004C08BE005C08AE003C080E001C08CE003 500 | :101F300029960FB6F894DEBF0FBECDBFDF91CF91CB 501 | :101F400008950F931F930E947E0460938006709300 502 | :101F500081068093820690938306E0917806F09143 503 | :101F600079060284F385E02D88E796E0099597FFCE 504 | :101F70001FC00E947E04009180061091810620916E 505 | :101F8000820630918306DC01CB01801B910BA20BF2 506 | :101F9000B30B00917C0610917D0620917E06309156 507 | :101FA0007F0680179107A207B307B8F28FEF9FEF64 508 | :101FB0001F910F910895CF93DF93CDB7DEB762974E 509 | :101FC0000FB6F894DEBF0FBECDBF789484B58260A3 510 | :101FD00084BD84B5816084BD85B5826085BD85B5CD 511 | :101FE000816085BD80916E00816080936E0010924B 512 | :101FF00081008091810082608093810080918100C6 513 | :102000008160809381008091800081608093800056 514 | :102010008091B10084608093B1008091B0008160B4 515 | :102020008093B00080917A00846080937A008091E0 516 | :102030007A00826080937A0080917A008160809338 517 | :102040007A0080917A00806880937A001092C100B3 518 | :1020500061E086E00E94F10361E083E10E94F10308 519 | :1020600062E083E00E94F1031092730610927406FE 520 | :10207000109275061092760661E086E00E94C10318 521 | :1020800062E088E00E94F10362E089E00E94F103CF 522 | :10209000E0918806F091890682E08083E0918406D1 523 | :1020A000F09185061082E0918606F091870680E126 524 | :1020B000808310929006E0918C06F0918D0686E068 525 | :1020C0008083E0918A06F0918B0680818061808315 526 | :1020D000E0918A06F0918B06808188608083E09190 527 | :1020E0008A06F0918B06808180688083E0918A0661 528 | :1020F000F0918B0680818F7D80838CE291E00E943D 529 | :10210000490A60E070E080E490E40E94D00E8CE424 530 | :1021100091E00E94CD0D8EE493E00E94CD0D82E609 531 | :1021200091E00E94CD0D84E791E00E94CD0D89E001 532 | :102130000E949803892B19F481E080930404809114 533 | :102140000404882379F080E090E0A2E0B3E4809377 534 | :10215000040190930501A0930601B093070188E75D 535 | :1021600080930C016AE070E080E090E00E944404FB 536 | :1021700081E00E942D04181619064CF481E080932A 537 | :10218000AC05809106048F5F8093060402C0109214 538 | :10219000AC0582E00E942D04181619064CF481E06B 539 | :1021A00080934F05809106048F5F8093060402C0E0 540 | :1021B00010924F0583E00E942D04181619064CF466 541 | :1021C00081E08093F204809106048F5F809306047F 542 | :1021D00002C01092F20484E00E942D041816190621 543 | :1021E0004CF481E080939504809106048F5F809386 544 | :1021F000060402C01092950480910604811103C068 545 | :1022000081E08093AC050E947E046093AE057093DC 546 | :10221000AF058093B0059093B1050E947E040091B4 547 | :10222000AE051091AF052091B0053091B105005F6A 548 | :10223000184D2F4F3F4F601771078207930708F023 549 | :1022400070C088E796E00E94FE01892B31F31A8264 550 | :1022500019821C821B821E821D8260E070E0CE010A 551 | :1022600001960E94190329813A8181110DC021151F 552 | :10227000310519F0C9010E94F71C1A8219821E82C9 553 | :102280001D821C821B8220C01E821D826FE971E0AC 554 | :10229000C9010E94701E18C08A871B860F5F1F4FDE 555 | :1022A000B801CE0101960E941903882369F02981A3 556 | :1022B0003A818D819E81BE01665F7F4F820F931FA1 557 | :1022C0000E94701E1E830D830E94A10F0D811E812E 558 | :1022D00097FFE2CFE980FA80012B41F06AE971E0D3 559 | :1022E000C7010E94671E11E0892B09F010E0C701A9 560 | :1022F0000E94F71C112309F490CF80EA91E00E941C 561 | :10230000CD0D0E94380886E70E94870788E796E08F 562 | :102310000E94FE01892BD1F388E796E00E94DC0140 563 | :10232000F3CF60E086E00E94C10304EF16E0812C49 564 | :10233000912C540180E00E942D04DC01B2509D01DB 565 | :102340000E94391C860E971EA81EB91E0150110945 566 | :1023500089F7C501B4010E94F71820E030E84EED7E 567 | :1023600054E40E94D71A0E948A1B4B015C0123E3AC 568 | :1023700033E343E55BE360910401709105018091D3 569 | :102380000601909107010E9458199B01AC01C501FB 570 | :10239000B4010E9458194B015C0120E030E044EB8D 571 | :1023A00052E40E947F1B181624F481E08093AD054F 572 | :1023B00002C01092AD058091AD058823D1F00AE0EE 573 | :1023C00010E061E086E00E94C10368EC70E080E00C 574 | :1023D00090E00E94440460E086E00E94C1036CE249 575 | :1023E00071E080E090E00E9444040150110949F737 576 | :1023F00014C068EE73E080E090E00E94440461E065 577 | :1024000086E00E94C10360ED77E080E090E00E94EA 578 | :10241000440460E086E00E94C10361E083E10E9421 579 | :10242000C10364E670E080E090E00E944404E09123 580 | :102430001A07F0911B07138615861486DF011B9679 581 | :1024400033961E92AE17BF07E1F7109219078E015F 582 | :10245000065F1F4F87E0E82EE00EFF24F394B801DB 583 | :1024600080911A0790911B070E94DF0E882309F4C0 584 | :102470005AC0D801E0E0EA1639F08D91E827F0E083 585 | :10248000E855FF4FE491F7CF8989E813E8CF8091B1 586 | :102490001507811125C080911A0790911B070E9492 587 | :1024A0000D06B80180911A0790911B070E94E00564 588 | :1024B00040E064EB80911A0790911B070E949E05F3 589 | :1024C00080911A0790911B070E944B05782E8091EE 590 | :1024D0001A0790911B070E940D06772009F441C04E 591 | :1024E00080911A0790911B070E940D06882331F0F6 592 | :1024F000BE016F5F7F4FC8010E945309709016079D 593 | :10250000C8010E946F0F871518F48091160703C049 594 | :10251000C8010E946F0F80931607809119078F5F83 595 | :10252000809319079CCF1092170780911907809309 596 | :102530000704873018F086E08093070410E00091CC 597 | :102540000704101788F428E0129FB0011124685F77 598 | :102550007B4F88E297E00E94DF0E882329F01F5FFF 599 | :10256000EECFF0921507BCCF64EF71E080E090E011 600 | :102570000E94440460E083E10E94C103011103C092 601 | :102580001092380403C081E08093380488EB91E016 602 | :102590000E94490A6DEC7CEC85EB92E40E94D00E1F 603 | :1025A00082EC91E00E94490A6DEC7CEC85EB92E4B0 604 | :1025B0000E94D00E8CEC91E00E94490A6DEC7CECFC 605 | :1025C00085EB92E40E94D00E86ED91E00E94490ACC 606 | :1025D00069E27CE585E891E40E94D00E68EE73E044 607 | :1025E00080E090E00E94440480EE91E00E94490A5D 608 | :1025F00040E0C501B4010E94FC0D8AE491E00E9414 609 | :10260000CD0D8091AD05882349F18CEF91E00E94BA 610 | :10261000CD0D88E292E00E94CD0D809104048823C4 611 | :1026200021F080E592E00E94CD0D80E692E00E94CC 612 | :10263000490A609104017091050180910601909111 613 | :1026400007010E94D00E87E692E00E94490A6DECD5 614 | :102650007CEC8CEE9FE30E94D00E18C085E792E0E0 615 | :102660000E94CD0D87EA92E00E94490A60910C0118 616 | :1026700070E080E090E04AE00E94DA098AE491E0AC 617 | :102680000E94CD0D87EB92E00E94CD0D8091060453 618 | :10269000811103C08EEE92E01EC08091AC058823AC 619 | :1026A00021F08FEF92E00E94CD0D80914F0588239D 620 | :1026B00021F08DE093E00E94CD0D8091F2048823FB 621 | :1026C00021F08BE193E00E94CD0D80919504882349 622 | :1026D00021F089E293E00E94CD0D80913804882397 623 | :1026E00089F087E393E00E94490A6091070470E053 624 | :1026F00080E090E04AE00E94DA098DE991E00E94D2 625 | :10270000C80904C080E593E00E94CD0D86E693E001 626 | :102710000E94490A80913804882361F086E893E09A 627 | :102720000E94490A6091070470E080E090E04AE06E 628 | :102730000E94DA0986E993E00E94490A8EE493E058 629 | :102740000E94CD0D64EF71E080E090E00E944404AF 630 | :102750003091AC053323F1F081E090E09093670570 631 | :10276000809366058DEC9CECA5EBB2E480936C0540 632 | :1027700090936D05A0936E05B0936F0580E090E097 633 | :10278000A0E0B4E48093880590938905A0938A051E 634 | :10279000B0938B0520914F052223F1F082E090E069 635 | :1027A00090930A05809309058DEC9CECA5EBB2E4AF 636 | :1027B00080930F0590931005A0931105B093120517 637 | :1027C00080E090E0A0E0B4E480932B0590932C058A 638 | :1027D000A0932D05B0932E059091F2049923F1F06A 639 | :1027E00043E050E05093AD044093AC044DEC5CECFE 640 | :1027F00065EB72E44093B2045093B3046093B40465 641 | :102800007093B50440E050E060E074E44093CE047F 642 | :102810005093CF046093D0047093D10480919504B9 643 | :102820008823F1F044E050E05093500440934F046B 644 | :1028300049E25CE565E871E4409355045093560421 645 | :10284000609357047093580440E050E060E074E4F3 646 | :1028500040937104509372046093730470937404F2 647 | :102860004091AD05442309F4B8C0332361F1409190 648 | :1028700004015091050160910601709107011092C9 649 | :10288000650510926405409368055093690560934F 650 | :102890006A0570936B054DEC5CEC6CEE7FE3409346 651 | :1028A000700550937105609372057093730540E055 652 | :1028B00050E060E074E44093840550938505609394 653 | :1028C000860570938705222361F1409104015091A0 654 | :1028D00005016091060170910701109208051092A0 655 | :1028E000070540930B0550930C0560930D057093FD 656 | :1028F0000E054DEC5CEC6CEE7FE3409313055093BA 657 | :102900001405609315057093160540E050E060E0F3 658 | :1029100074E440932705509328056093290570932C 659 | :102920002A05992361F140910401509105016091BC 660 | :102930000601709107011092AB041092AA04409313 661 | :10294000AE045093AF046093B0047093B1044DECA7 662 | :102950005CEC6CEE7FE34093B6045093B704609355 663 | :10296000B8047093B90440E050E060E074E4409330 664 | :10297000CA045093CB046093CC047093CD04882395 665 | :1029800061F18091040190910501A0910601B0913F 666 | :10299000070110924E0410924D04809351049093BD 667 | :1029A0005204A0935304B09354048DEC9CECACEE11 668 | :1029B000BFE38093590490935A04A0935B04B093AF 669 | :1029C0005C0480E090E0A0E0B4E480936D04909318 670 | :1029D0006E04A0936F04B09370048AE894E090931F 671 | :1029E00003018093020180916900837F8860809356 672 | :1029F0006900E99A88EB9BE09093680680936706EC 673 | :102A000090936A068093690690936C0680936B0698 674 | :102A100090936E0680936D069093700680936F0678 675 | :102A200090937206809371061FE5312E0CE6402EBE 676 | :102A300007E0502E612C712C0E947E046093AE053D 677 | :102A40007093AF058093B0059093B1051091AD05DB 678 | :102A5000112351F068EC70E080E090E00E944404A3 679 | :102A600010926606109265068091AC05882309F4E1 680 | :102A700040C080E595E0112329F10E94110B60917F 681 | :102A800050057091510580915205909153050E9417 682 | :102A9000491B70935E0660935D0620E030E048ECD1 683 | :102AA00052E460915C0570915D0580915E059091A6 684 | :102AB0005F050E9458190E94491B70936606609337 685 | :102AC000650617C00E944B0A4B015C0160910C0126 686 | :102AD00070E080E090E00E94F9189B01AC01C50114 687 | :102AE000B4010E9458190E94491B70935E066093BE 688 | :102AF0005D0680914F05882309F440C083EF94E080 689 | :102B0000112329F10E94110B6091F3047091F404D8 690 | :102B10008091F5049091F6040E94491B7093600621 691 | :102B200060935F0620E030E048EC52E46091FF04DF 692 | :102B30007091000580910105909102050E9458193D 693 | :102B40000E94491B709366066093650617C00E9439 694 | :102B50004B0A4B015C0160910C0170E080E090E059 695 | :102B60000E94F9189B01AC01C501B4010E945819DB 696 | :102B70000E94491B7093600660935F068091F20487 697 | :102B8000882309F440C086E994E0112329F10E94CA 698 | :102B9000110B609196047091970480919804909124 699 | :102BA00099040E94491B709362066093610620E0BD 700 | :102BB00030E048EC52E46091A2047091A30480914B 701 | :102BC000A4049091A5040E9458190E94491B709377 702 | :102BD00066066093650617C00E944B0A4B015C01B4 703 | :102BE00060910C0170E080E090E00E94F9189B0178 704 | :102BF000AC01C501B4010E9458190E94491B709391 705 | :102C0000620660936106809195048823D1F189E37F 706 | :102C100094E01123E9F00E94110B60913904709146 707 | :102C20003A0480913B0490913C040E94491B7093AC 708 | :102C300064066093630620E030E048EC52E4609163 709 | :102C4000450470914604809147049091480428C03F 710 | :102C50000E944B0A4B015C0180910C01682F70E0CF 711 | :102C600080E090E00E94F9189B01AC01C501B4011D 712 | :102C70000E9458190E94491B709364066093630672 713 | :102C800002C0111115C087E00E942D04BC01990FEC 714 | :102C9000880B990B0E94F9182BE23BE64EE25FE3AA 715 | :102CA0000E9458190E94491B70936606609365063E 716 | :102CB00080913804882309F43AC161E083E10E94DD 717 | :102CC000C10382E390E00E941707B8E0EB2EB4E066 718 | :102CD000FB2E8701A12CB12C20900704822D90E0BF 719 | :102CE000A816B9060CF072C0BE016F5F7F4FC80115 720 | :102CF0000E949F09882309F463C0F8018081803114 721 | :102D000009F45EC03D8280911A0790911B070E94D2 722 | :102D10000D06B80180911A0790911B070E94E005EB 723 | :102D200040E06EE480911A0790911B070E949E0577 724 | :102D300040E06B8180911A0790911B070E949E05CD 725 | :102D400040E06C8180911A0790911B070E949E05BC 726 | :102D5000F8018081803141F040E06D8180911A0757 727 | :102D600090911B070E949E0580911A0790911B0766 728 | :102D70000E940D06B80180911A0790911B070E94CE 729 | :102D8000E0054091150768E480911A0790911B07B0 730 | :102D90000E949E0564E170E080E090E00E9444049F 731 | :102DA00080911507882331F06AE070E080E090E0C0 732 | :102DB0000E94440480911A0790911B070E940D06FF 733 | :102DC000FFEFAF1ABF0A085F1F4F86CF80911A0727 734 | :102DD00090911B070E940D0640E06CEC80911A0751 735 | :102DE00090911B070E949E054091150764E4809115 736 | :102DF0001A0790911B070E949E0580911707882350 737 | :102E0000A9F0E0911607E950E33040F4F0E0EE0F4E 738 | :102E1000FF1FED5EFE4F6081718102C06EEE72E0B9 739 | :102E2000072E000C880B990B0E94440487E791E061 740 | :102E30000E94170707E616E01A8A3A89321509F444 741 | :102E400072C0BE016F5F7F4FC7010E949F09882338 742 | :102E500061F1698128E0629FB00111248A81282FE5 743 | :102E600030E0322F2227330F330F330F262B372B2F 744 | :102E7000F70180818031E1F4688570E08F81AB01DA 745 | :102E8000481B5109CA019695982F882797958795D1 746 | :102E90000E94E41B60517109207F53E0220F331F11 747 | :102EA0005A95E1F7620F731F04C060E874EE01C029 748 | :102EB000B901613854EE75075CF1072E000C880BE0 749 | :102EC000990B0E94F91820E030E040E05CE30E949A 750 | :102ED00058194B015C0120E030E04AEF52E40E94B7 751 | :102EE000F21887FF15C020E030E04CE552ECC50138 752 | :102EF000B4010E947F1B18165CF420E030E040E231 753 | :102F000051E4C501B4010E9458190E94491B6B018C 754 | :102F1000F801C192D1928F01FA89FF5FFA8B28E004 755 | :102F2000E20EF11C8ACF60E083E10E94C103809130 756 | :102F300005048823D1F0F89420910504809173064C 757 | :102F400090917406A0917506B0917606820F911D3E 758 | :102F5000A11DB11D8093730690937406A09375060E 759 | :102F6000B09376061092050478948FE993E00E945E 760 | :102F7000490A80915D0690915E060E941B0A84EAD0 761 | :102F800093E00E94490A80915F06909160060E943A 762 | :102F90001B0A8AEA93E00E94490A80916106909197 763 | :102FA00062060E941B0A80EB93E00E94490A80910E 764 | :102FB0006306909164060E941B0A86EB93E00E94D0 765 | :102FC000490A80916506909166060E941B0A8DEB66 766 | :102FD00093E00E94490A6091730670917406809193 767 | :102FE0007506909176064AE00E94DA0980913804CD 768 | :102FF000811134C085EC93E00E94490A20E030E062 769 | :103000004AE754E46091A6047091A7048091A80453 770 | :103010009091A9040E9458190E94491BCB010E945B 771 | :103020001B0A8DE991E00E94C80962E370E080E02C 772 | :1030300090E00E9444041091AD05112379F161E004 773 | :1030400086E00E94C10368EC70E080E090E00E949E 774 | :10305000440460E086E00E94C10320C010E080913B 775 | :103060000704181738F68AEC93E00E94490A612F8A 776 | :1030700070E080E090E04AE00E94DA0982EA93E0A2 777 | :103080000E94490AE12FF0E0EE0FFF1FE959F94FC6 778 | :10309000808191810E941B0A1F5FE1CF0E947E0404 779 | :1030A0002091AE053091AF054091B0055091B1052A 780 | :1030B000DC01CB01821B930BA40BB50BA301920186 781 | :1030C000281B390B4A0B5B0BCA01B901112319F0FC 782 | :1030D0000E94440405C0C901845F91400E94170703 783 | :1030E0000E949E02A9CC10927B0610927A0688EE6E 784 | :1030F00093E0A0E0B0E080937C0690937D06A093DF 785 | :103100007E06B0937F068EE191E0909379068093DE 786 | :10311000780685EC90E0909385068093840684EC95 787 | :1031200090E0909387068093860680EC90E09093E1 788 | :1031300089068093880681EC90E090938B068093BB 789 | :103140008A0682EC90E090938D0680938C0686EC44 790 | :1031500090E090938F0680938E06109291061092C5 791 | :103160009206109293061092940660E085E00E9409 792 | :10317000F103EFEDF2E0E491E0932807EBECF2E0ED 793 | :10318000E491F0E0EE0FFF1FE454FD4F8591949120 794 | :1031900090932A07809329071092330710923507DE 795 | :1031A00010923407E3E3F7E0129287E0EB32F8077E 796 | :1031B000D9F787EF92E0909327078093260788E25C 797 | :1031C00097E090931B0780931A07109219071092AB 798 | :1031D000150789E08093160781E080931707809395 799 | :1031E000180708950E94341908F481E00895E894BE 800 | :1031F00009C097FB3EF490958095709561957F4F3F 801 | :103200008F4F9F4F9923A9F0F92F96E9BB279395EC 802 | :10321000F695879577956795B795F111F8CFFAF4FC 803 | :10322000BB0F11F460FF1BC06F5F7F4F8F4F9F4F2D 804 | :1032300016C0882311F096E911C0772321F09EE88B 805 | :10324000872F762F05C0662371F096E8862F70E0F1 806 | :1032500060E02AF09A95660F771F881FDAF7880FCB 807 | :103260009695879597F90895990F0008550FAA0B21 808 | :10327000E0E8FEEF16161706E807F907C0F0121689 809 | :103280001306E407F50798F0621B730B840B950B8C 810 | :1032900039F40A2661F0232B242B252B21F40895E1 811 | :1032A0000A2609F4A140A6958FEF811D811D08957E 812 | :1032B0000E946B190C94DC190E94CE1938F00E9400 813 | :1032C000D51920F0952311F00C94C5190C94CB1945 814 | :1032D00011240C94101A0E94ED1970F3959FC1F3FC 815 | :1032E000950F50E0551F629FF001729FBB27F00DB4 816 | :1032F000B11D639FAA27F00DB11DAA1F649F662709 817 | :10330000B00DA11D661F829F2227B00DA11D621F57 818 | :10331000739FB00DA11D621F839FA00D611D221F11 819 | :10332000749F3327A00D611D231F849F600D211DF5 820 | :10333000822F762F6A2F11249F5750409AF0F1F078 821 | :1033400088234AF0EE0FFF1FBB1F661F771F881FE1 822 | :1033500091505040A9F79E3F510580F00C94C5193B 823 | :103360000C94101A5F3FE4F3983ED4F3869577955A 824 | :103370006795B795F795E7959F5FC1F7FE2B880F87 825 | :10338000911D9695879597F9089597F99F6780E81D 826 | :1033900070E060E008959FEF80EC089500240A94A7 827 | :1033A0001616170618060906089500240A94121620 828 | :1033B0001306140605060895092E0394000C11F453 829 | :1033C000882352F0BB0F40F4BF2B11F460FF04C000 830 | :1033D0006F5F7F4F8F4F9F4F089557FD9058440F59 831 | :1033E000551F59F05F3F71F04795880F97FB991F64 832 | :1033F00061F09F3F79F08795089512161306140621 833 | :10340000551FF2CF4695F1DF08C0161617061806AD 834 | :10341000991FF1CF86957105610508940895E89488 835 | :10342000BB2766277727CB0197F90895262FF999AF 836 | :10343000FECF1FBA92BD81BD20BD0FB6F894FA9A97 837 | :10344000F99A0FBE019608952F923F924F925F9284 838 | :103450006F927F928F929F92AF92BF92CF92DF92A4 839 | :10346000EF92FF920F931F93CF93DF93CDB7DEB709 840 | :10347000CA1BDB0B0FB6F894DEBF0FBECDBF09949D 841 | :103480002A88398848885F846E847D848C849B84F4 842 | :10349000AA84B984C884DF80EE80FD800C811B8102 843 | :1034A000AA81B981CE0FD11D0FB6F894DEBF0FBE31 844 | :1034B000CDBFED010895A29FB001B39FC001A39FAE 845 | :1034C000700D811D1124911DB29F700D811D11245D 846 | :1034D000911D08955058BB27AA270E94821A0C9468 847 | :1034E000DC190E94CE1938F00E94D51920F039F469 848 | :1034F0009F3F19F426F40C94CB190EF4E095E7FBEA 849 | :103500000C94C519E92F0E94ED1958F3BA176207F8 850 | :1035100073078407950720F079F4A6F50C940F1A29 851 | :103520000EF4E0950B2EBA2FA02D0B01B9019001DE 852 | :103530000C01CA01A0011124FF27591B99F0593F22 853 | :1035400050F4503E68F11A16F040A22F232F342F6A 854 | :103550004427585FF3CF469537952795A795F040B8 855 | :103560005395C9F77EF41F16BA0B620B730B840BCD 856 | :10357000BAF09150A1F0FF0FBB1F661F771F881F85 857 | :10358000C2F70EC0BA0F621F731F841F48F48795DD 858 | :1035900077956795B795F7959E3F08F0B0CF9395CF 859 | :1035A000880F08F09927EE0F9795879508950E9448 860 | :1035B000EB1A0C94DC190E94D51958F00E94CE1910 861 | :1035C00040F029F45F3F29F00C94C51951110C9477 862 | :1035D000101A0C94CB190E94ED1968F39923B1F3DA 863 | :1035E000552391F3951B550BBB27AA276217730729 864 | :1035F000840738F09F5F5F4F220F331F441FAA1FBD 865 | :10360000A9F335D00E2E3AF0E0E832D09150504078 866 | :10361000E695001CCAF72BD0FE2F29D0660F771F26 867 | :10362000881FBB1F261737074807AB07B0E809F00C 868 | :10363000BB0B802DBF01FF2793585F4F3AF09E3F91 869 | :10364000510578F00C94C5190C94101A5F3FE4F3FF 870 | :10365000983ED4F3869577956795B795F7959F5FD4 871 | :10366000C9F7880F911D9695879597F90895E1E020 872 | :10367000660F771F881FBB1F621773078407BA077F 873 | :1036800020F0621B730B840BBA0BEE1F88F7E095DA 874 | :1036900008950E94501B6894B1110C94101A08955B 875 | :1036A0000E94F51988F09F5798F0B92F9927B751C4 876 | :1036B000B0F0E1F0660F771F881F991F1AF0BA95D6 877 | :1036C000C9F714C0B13091F00E940F1AB1E008950B 878 | :1036D0000C940F1A672F782F8827B85F39F0B93FFD 879 | :1036E000CCF3869577956795B395D9F73EF4909589 880 | :1036F0008095709561957F4F8F4F9F4F08950E94E1 881 | :10370000341908F48FEF089519F416F40C94CB19BA 882 | :103710000C94CF1B0E94F519B8F39923C9F3B6F3A3 883 | :103720009F57550B87FF0E94DD1B0024A0E640EA4F 884 | :10373000900180585695979528F4805C660F771F06 885 | :10374000881F20F026173707480730F4621B730BD9 886 | :10375000840B202931294A2BA695179407942025FC 887 | :1037600031254A2758F7660F771F881F20F0261744 888 | :103770003707480730F4620B730B840B200D311DA3 889 | :10378000411DA09581F7B901842F9158880F969516 890 | :10379000879508950E943419880B990B08959F3FCF 891 | :1037A00031F0915020F4879577956795B795880FFC 892 | :1037B000911D9695879597F9089591505040660F01 893 | :1037C000771F881FD2F7089597FB072E16F40094F1 894 | :1037D00007D077FD09D00E94481C07FC05D03EF4B5 895 | :1037E000909581959F4F0895709561957F4F0895AD 896 | :1037F000A1E21A2EAA1BBB1BFD010DC0AA1FBB1FF5 897 | :10380000EE1FFF1FA217B307E407F50720F0A21B66 898 | :10381000B30BE40BF50B661F771F881F991F1A94D3 899 | :1038200069F760957095809590959B01AC01BD01FD 900 | :10383000CF010895052E97FB1EF400940E94311CC1 901 | :1038400057FD07D00E94F81B07FC03D04EF40C94E0 902 | :10385000311C50954095309521953F4F4F4F5F4F0C 903 | :10386000089590958095709561957F4F8F4F9F4FEC 904 | :1038700008950E945B1A332312F48A1B9B0B0C944D 905 | :10388000431C0E945B1AB7FF0895821B930B089597 906 | :10389000AA1BBB1B51E107C0AA1FBB1FA617B70776 907 | :1038A00010F0A61BB70B881F991F5A95A9F7809592 908 | :1038B0009095BC01CD010895EE0FFF1F0590F49186 909 | :1038C000E02D0994CF93DF938230910510F482E0CC 910 | :1038D00090E0E0913A07F0913B0720E030E0C0E053 911 | :1038E000D0E0309711F14081518148175907C0F05D 912 | :1038F0004817590761F482819381209719F09B83BF 913 | :103900008A832BC090933B0780933A0726C02115EA 914 | :10391000310519F04217530718F49A01BE01DF016F 915 | :10392000EF010280F381E02DDCCF2115310509F193 916 | :10393000281B390B2430310590F412968D919C91FF 917 | :1039400013976115710521F0FB019383828304C0F5 918 | :1039500090933B0780933A07FD01329644C0FD01E6 919 | :10396000E20FF31F81939193225031092D933C93E1 920 | :103970003AC02091380730913907232B41F4209128 921 | :103980000F013091100130933907209338072091AF 922 | :103990000D0130910E012115310541F42DB73EB7CF 923 | :1039A0004091110150911201241B350BE091380711 924 | :1039B000F0913907E217F307A0F42E1B3F0B2817ED 925 | :1039C000390778F0AC014E5F5F4F2417350748F098 926 | :1039D0004E0F5F1F5093390740933807819391939F 927 | :1039E00002C0E0E0F0E0CF01DF91CF9108950F93A6 928 | :1039F0001F93CF93DF93009709F48CC0FC0132979B 929 | :103A00001382128200913A0710913B0701151105AC 930 | :103A100081F420813181820F931F209138073091EA 931 | :103A200039072817390779F5F0933907E0933807F4 932 | :103A300071C0D80140E050E0AE17BF0750F41296B5 933 | :103A40002D913C911397AD012115310509F1D90153 934 | :103A5000F3CF9D01DA013383228360817181860F68 935 | :103A6000971F8217930769F4EC0128813981260F8B 936 | :103A7000371F2E5F3F4F318320838A819B81938341 937 | :103A80008283452B29F4F0933B07E0933A0742C029 938 | :103A90001396FC93EE931297ED01499159919E0173 939 | :103AA000240F351FE217F30771F480819181840F91 940 | :103AB000951F029611969C938E9382819381139603 941 | :103AC0009C938E931297E0E0F0E0D80112968D91CE 942 | :103AD0009C911397009719F0F8018C01F6CF8D9106 943 | :103AE0009C9198012E5F3F4F820F931F20913807C2 944 | :103AF000309139072817390769F4309729F4109263 945 | :103B00003B0710923A0702C01382128210933907C2 946 | :103B100000933807DF91CF911F910F910895A0E096 947 | :103B2000B0E0E5E9FDE10C94281AEC01009721F4DE 948 | :103B3000CB010E94621CB8C0FC01E60FF71F9C017C 949 | :103B400022503109E217F30708F4ACC0D9010D91F6 950 | :103B50001C91119706171707B0F00530110508F4EE 951 | :103B60009FC0C80104978617970708F499C00250B0 952 | :103B70001109061B170B019311936D937C93CF01D1 953 | :103B80000E94F71C8DC05B01A01AB10A4C01800E87 954 | :103B9000911EA0913A07B0913B0740E050E0E12C24 955 | :103BA000F12C109709F44AC0A815B905D1F56D900C 956 | :103BB0007C901197630182E0C80ED11CCA14DB040B 957 | :103BC00080F1A3014A195B096A0182E0C80ED11C89 958 | :103BD0001296BC9012971396AC91B5E0CB16D10417 959 | :103BE00040F0B282A38351834083D9016D937C93CB 960 | :103BF0000AC00E5F1F4FC301800F911FF90191830F 961 | :103C00008083EB2DFA2FE114F10431F0D7011396E4 962 | :103C1000FC93EE93129744C0F0933B07E0933A076E 963 | :103C20003FC08D919C9111974817590708F4AC013A 964 | :103C30007D0112960D90BC91A02DB3CF80913807D5 965 | :103C40009091390788159905E1F446175707C8F48C 966 | :103C500080910D0190910E01009741F48DB79EB7B0 967 | :103C60004091110150911201841B950BE817F9073F 968 | :103C7000C8F4F0933907E0933807F9017183608342 969 | :103C80000FC0CB010E94621C7C01009759F0A80173 970 | :103C9000BE010E945E1ECE010E94F71CC70104C037 971 | :103CA000CE0102C080E090E0CDB7DEB7EEE00C942C 972 | :103CB000441A81E090E0F8940C94771EFB01DC013B 973 | :103CC00002C001900D9241505040D8F70895FB0179 974 | :103CD000DC018D91019080190110D9F3990B0895A1 975 | :103CE000FB01DC0101900D920020E1F70895F894AA 976 | :023CF000FFCF04 977 | :103CF200F602F602297C8643D2000108E600003C67 978 | :103D02000780005E00BC0077010000000000350261 979 | :103D1200A201CD017C02FE01DC01F001656D6F6E36 980 | :103D220054782056332E3420446973637265746567 981 | :103D32002053616D706C696E672056004F70656E1E 982 | :103D4200456E657267794D6F6E69746F722E6F7210 983 | :103D52006700504F53542E2E2E2E2E7761697420F9 984 | :103D620031307300272B2B2B27207468656E205B64 985 | :103D7200456E7465725D20666F7220524620636FD5 986 | :103D82006E666967206D6F6465002B2B2B0D0A0030 987 | :103D9200456E746572696E6720636F6E666967202F 988 | :103DA2006D6F64652E2E2E00435420312043616CCA 989 | :103DB2002000435420322043616C200043542033BE 990 | :103DC2002043616C2000435420342043616C200066 991 | :103DD200524D5320566F6C74616765206F6E20419F 992 | :103DE200432D4143202069733A207E0041432D41F7 993 | :103DF20043206465746563746564202D2052656197 994 | :103E02006C20506F776572206D65617375726520E5 995 | :103E1200656E61626C656400617373756D696E676E 996 | :103E2200207077722066726F6D2041432D414320CE 997 | :103E3200286A756D70657220636C6F736564290002 998 | :103E4200555341206D6F6465206163746976650026 999 | :103E52005663616C3A20005068617365205368694B 1000 | :103E620066743A200041432D4143204E4F54206452 1001 | :103E720065746563746564202D204170706172659C 1002 | :103E82006E7420507772206D65617375726520655E 1003 | :103E92006E61626C656400417373756D696E672053 1004 | :103EA20056524D533A2000417373756D696E672007 1005 | :103EB200706F7765722066726F6D20626174742014 1006 | :103EC2002F20355620555342202D20706F77657272 1007 | :103ED200207361766520656E61626C6564004E4F89 1008 | :103EE20020435427732064657465637465640043DA 1009 | :103EF2005420312064657465637465640043542002 1010 | :103F02003220646574656374656400435420332011 1011 | :103F12006465746563746564004354203420646589 1012 | :103F220074656374656400446574656374656420D4 1013 | :103F320054656D702053656E736F72733A20200062 1014 | :103F42004E6F2074656D7065726174757265207351 1015 | :103F5200656E736F720043543120435432204354D0 1016 | :103F620033204354342056524D532F42415454204F 1017 | :103F720050554C5345002054656D706572617475DF 1018 | :103F8200726520312D0020204354312D6D41006394 1019 | :103F920074313A002C6374323A002C6374333A0061 1020 | :103FA2002C6374343A002C76726D733A002C70755F 1021 | :103FB2006C73653A002C6D413A002C7400536176A3 1022 | :103FC200696E672E2E2E00446F6E652E204E657729 1023 | :103FD20020636F6E66696720736176656420746F13 1024 | :103FE20020454550524F4D006E616E00696E66006D 1025 | :043FF2006F76660080 1026 | :107E0000112484B714BE81FFF0D085E080938100F7 1027 | :107E100082E08093C00088E18093C10086E0809377 1028 | :107E2000C20080E18093C4008EE0C9D0259A86E02C 1029 | :107E300020E33CEF91E0309385002093840096BBD3 1030 | :107E4000B09BFECF1D9AA8958150A9F7CC24DD24C4 1031 | :107E500088248394B5E0AB2EA1E19A2EF3E0BF2EE7 1032 | :107E6000A2D0813461F49FD0082FAFD0023811F036 1033 | :107E7000013811F484E001C083E08DD089C08234E0 1034 | :107E800011F484E103C0853419F485E0A6D080C0E4 1035 | :107E9000853579F488D0E82EFF2485D0082F10E0AE 1036 | :107EA000102F00270E291F29000F111F8ED06801E7 1037 | :107EB0006FC0863521F484E090D080E0DECF843638 1038 | :107EC00009F040C070D06FD0082F6DD080E0C81688 1039 | :107ED00080E7D80618F4F601B7BEE895C0E0D1E017 1040 | :107EE00062D089930C17E1F7F0E0CF16F0E7DF06D8 1041 | :107EF00018F0F601B7BEE89568D007B600FCFDCFD4 1042 | :107F0000A601A0E0B1E02C9130E011968C91119780 1043 | :107F100090E0982F8827822B932B1296FA010C0160 1044 | :107F200087BEE89511244E5F5F4FF1E0A038BF0790 1045 | :107F300051F7F601A7BEE89507B600FCFDCF97BE46 1046 | :107F4000E89526C08437B1F42ED02DD0F82E2BD052 1047 | :107F50003CD0F601EF2C8F010F5F1F4F84911BD097 1048 | :107F6000EA94F801C1F70894C11CD11CFA94CF0C13 1049 | :107F7000D11C0EC0853739F428D08EE10CD085E9AC 1050 | :107F80000AD08FE07ACF813511F488E018D01DD067 1051 | :107F900080E101D065CF982F8091C00085FFFCCF94 1052 | :107FA0009093C60008958091C00087FFFCCF809118 1053 | :107FB000C00084FD01C0A8958091C6000895E0E648 1054 | :107FC000F0E098E1908380830895EDDF803219F02E 1055 | :107FD00088E0F5DFFFCF84E1DECF1F93182FE3DFCA 1056 | :107FE0001150E9F7F2DF1F91089580E0E8DFEE27F6 1057 | :047FF000FF270994CA 1058 | :027FFE00040479 1059 | :0400000300007E007B 1060 | :00000001FF 1061 | -------------------------------------------------------------------------------- /OpenEnergyMonitor/emonTx/emontx3-30.ino: -------------------------------------------------------------------------------- 1 | /* 2 | USE CT3 !!!!! (CT4 for shield) and requires config.ino file or config tab in same folder 3 | emontx3-30.ino file originally from https://github.com/openenergymonitor/emontx3/tree/2.9.0/firmware/src 4 | emonTxV3.4 Discrete Sampling with RF disabled and sending data to ESP 5 | 6 | If AC-AC adapter is detected assume emonTx is also powered from adapter (jumper shorted) and take Real Power Readings and disable sleep mode to keep load on power supply constant 7 | If AC-AC addapter is not detected assume powering from battereis / USB 5V AC sample is not present so take Apparent Power Readings and enable sleep mode 8 | 9 | Transmitt values via RFM69CW radio 10 | 11 | ----------------------------------------- 12 | Part of the openenergymonitor.org project 13 | 14 | Authors: Glyn Hudson & Trystan Lea and minor mods by ESPproMon© 15 | Builds upon JCW JeeLabs RF12 library and Arduino 16 | 17 | Licence: GNU GPL V3 18 | 19 | */ 20 | 21 | /*Recommended node ID allocation 22 | ------------------------------------------------------------------------------------------------------------ 23 | -ID- -Node Type- 24 | 0 - Special allocation in JeeLib RFM12 driver - reserved for OOK use 25 | 1-4 - Control nodes 26 | 5-10 - Energy monitoring nodes 27 | 11-14 --Un-assigned -- 28 | 15-16 - Base Station & logging nodes 29 | 17-30 - Environmental sensing nodes (temperature humidity etc.) 30 | 31 - Special allocation in JeeLib RFM12 driver - Node31 can communicate with nodes on any network group 31 | ------------------------------------------------------------------------------------------------------------- 32 | 33 | 34 | Change Log: 35 | v3.0 22/10/17 Add amps, set RF_STATUS=0 etc 36 | v2.9 30/03/17 Correct RMS voltage calc at startup when USA mode is enabled 37 | v2.8 27/02/17 Correct USA voltage to 120V 38 | v2.7 24/02/17 Fix USA apparent power readings (assuming 110VRMS when no AC-AC voltage sample adapter is present). Fix DIP switch nodeID config serial print if node ID has been set via serial config 39 | v2.6 31/10/16 Add RF config via serial & save to EEPROM feature. Allows RF setings (nodeID, freq, group) via serial 40 | v2.5 19/09/16 Increase baud 9600 > 115200 to emonesp compatiability 41 | v2.4 06/09/16 Update serial output to use CSV string pairs to work with emonESP e.g. 'ct1:100,ct2:329' 42 | v2.3 16/11/15 Change to unsigned long for pulse count and make default node ID 8 to avoid emonHub node decoder conflict & fix counting pulses faster than 110ms, strobed meter LED http://openenergymonitor.org/emon/node/11490 43 | v2.2 12/11/15 Remove DEBUG timming serial print code 44 | v2.1 24/10/15 Improved timing so that packets are sent just under 10s, reducing resulting data gaps in feeds + default status code for no temp sensors of 3000 which reduces corrupt packets improving data reliability 45 | V2.0 30/09/15 Update number of samples 1480 > 1662 to improve sampling accurancy: 1662 samples take 300 mS, which equates to 15 cycles @ 50 Hz or 18 cycles @ 60 Hz. 46 | V1.9 25/08/15 Fix spurious pulse readings from RJ45 port when DS18B20 but no pulse counter is connected (enable internal pull-up) 47 | V1.8 - 18/06/15 Increase max pulse width to 110ms 48 | V1.7 - 12/06/15 Fix pulse count debounce issue & enable pulse count pulse temperature 49 | V1.6 - Add support for multiple DS18B20 temperature sensors 50 | V1.5 - Add interrupt pulse counting - simplify serial print DEBUG 51 | V1.4.1 - Remove filter settle routine as latest emonLib 19/01/15 does not require 52 | V1.4 - Support for RFM69CW, DIP switches and battery voltage reading on emonTx V3.4 53 | V1.3 - fix filter settle time to eliminate large inital reading 54 | V1.2 - fix bug which caused Vrms to be returned as zero if CT1 was not connected 55 | V1.1 - fix bug in startup Vrms calculation, startup Vrms startup calculation is now more accuratre 56 | 57 | emonhub.conf node decoder (nodeid is 8 when switch is off, 7 when switch is on) 58 | See: https://github.com/openenergymonitor/emonhub/blob/emon-pi/configuration.md 59 | 60 | [[8]] 61 | nodename = emonTx_3 62 | firmware =V2_3_emonTxV3_4_DiscreteSampling 63 | hardware = emonTx_(NodeID_DIP_Switch1:OFF) 64 | [[[rx]]] 65 | names = power1, power2, power3, power4, Vrms, temp1, temp2, temp3, temp4, temp5, temp6, pulse 66 | datacodes = h,h,h,h,h,h,h,h,h,h,h,L 67 | scales = 1,1,1,1,0.01,0.1,0.1, 0.1,0.1,0.1,0.1,1 68 | units =W,W,W,W,V,C,C,C,C,C,C,p 69 | 70 | */ 71 | 72 | #define emonTxV3 // Tell emonLib this is the emonTx V3 - don't read Vcc assume Vcc = 3.3V as is always the case on emonTx V3 eliminates bandgap error and need for calibration http://harizanov.com/2013/09/thoughts-on-avr-adc-accuracy/ 73 | #define RF69_COMPAT 1 // Set to 1 if using RFM69CW or 0 is using RFM12B 74 | #include //https://github.com/jcw/jeelib - Tested with JeeLib 3/11/14 75 | ISR(WDT_vect) { Sleepy::watchdogEvent(); } // Attached JeeLib sleep function to Atmega328 watchdog -enables MCU to be put into sleep mode inbetween readings to reduce power consumption 76 | 77 | #include "EmonLib.h" // Include EmonLib energy monitoring library https://github.com/openenergymonitor/EmonLib 78 | EnergyMonitor ct1, ct2, ct3, ct4; 79 | 80 | #include //http://www.pjrc.com/teensy/td_libs_OneWire.html 81 | #include //http://download.milesburton.com/Arduino/MaximTemperature/DallasTemperature_LATEST.zip 82 | 83 | 84 | const byte version = 30; // WAS 29; // firmware version divided by 10 e,g 16 = V1.6 85 | boolean DEBUG = 1; // Print serial debug 86 | 87 | //----------------------------emonTx V3 Settings--------------------------------------------------------------------------------------------------------------- 88 | byte Vrms= 230; // Vrms for apparent power readings (when no AC-AC voltage sample is present) 89 | const byte Vrms_USA= 120; // VRMS for USA apparent power 90 | //const byte TIME_BETWEEN_READINGS = 10; //Time between readings becomes 10S later i.e. multipled by 1000 91 | const byte TIME_BETWEEN_READINGS = 2; //Time between readings becomes 2S later i.e. multipled by 1000 92 | 93 | //http://openenergymonitor.org/emon/buildingblocks/calibration 94 | 95 | const float Ical1= 90.9; // (2000 turns / 22 Ohm burden) = 90.9 96 | const float Ical2= 90.9; // (2000 turns / 22 Ohm burden) = 90.9 97 | const float Ical3= 90.9; // (2000 turns / 22 Ohm burden) = 90.9 98 | const float Ical4= 16.67; // (2000 turns / 120 Ohm burden) = 16.67 99 | //const float Ical4= 15.00; // (1800 turns / 120 Ohm burden) = 15.0 100 | 101 | float Vcal= 268.97; // (230V x 13) / (9V x 1.2) = 276.9 Calibration for UK AC-AC adapter 77DB-06-09 102 | //float Vcal=276.9; 103 | //const float Vcal= 260; // Calibration for EU AC-AC adapter 77DE-06-09 104 | const float Vcal_USA= 130.0; //Calibration for US AC-AC adapter 77DA-10-09 105 | boolean USA=FALSE; 106 | 107 | const float phase_shift= 1.85; // was 1.7 but could be 1.85 or even 1.205 108 | const int no_of_samples= 1662; 109 | const int no_of_half_wavelengths= 30; 110 | const int timeout= 2000; //emonLib timeout 111 | const int ACAC_DETECTION_LEVEL= 3000; 112 | const byte min_pulsewidth= 110; // minimum width of interrupt pulse (default pulse output meters = 100ms) 113 | const int TEMPERATURE_PRECISION= 11; //9 (93.8ms),10 (187.5ms) ,11 (375ms) or 12 (750ms) bits equal to resplution of 0.5C, 0.25C, 0.125C and 0.0625C 114 | const byte MaxOnewire= 6; 115 | #define ASYNC_DELAY 375 // DS18B20 conversion delay - 9bit requres 95ms, 10bit 187ms, 11bit 375ms and 12bit resolution takes 750ms 116 | //------------------------------------------------------------------------------------------------------------------------------------------- 117 | //------------------------------------------------------------------------------------------------------------------------------------------- 118 | 119 | 120 | //----------------------------emonTx V3 hard-wired connections--------------------------------------------------------------------------------------------------------------- 121 | const byte LEDpin= 6; // emonTx V3 LED 122 | const byte DS18B20_PWR= 19; // DS18B20 Power 123 | const byte DIP_switch1= 8; // RF node ID (default no chance in node ID, switch on for nodeID -1) switch off D9 is HIGH from internal pullup 124 | const byte DIP_switch2= 9; // Voltage selection 230 / 110 V AC (default switch off 230V) - switch off D8 is HIGH from internal pullup 125 | const byte battery_voltage_pin= 7; // Battery Voltage sample from 3 x AA 126 | const byte pulse_countINT= 1; // INT 1 / Dig 3 Terminal Block / RJ45 Pulse counting pin(emonTx V3.4) - (INT0 / Dig2 emonTx V3.2) 127 | const byte pulse_count_pin= 3; // INT 1 / Dig 3 Terminal Block / RJ45 Pulse counting pin(emonTx V3.4) - (INT0 / Dig2 emonTx V3.2) 128 | #define ONE_WIRE_BUS 5 // DS18B20 Data 129 | //------------------------------------------------------------------------------------------------------------------------------------------- 130 | 131 | //Setup DS128B20 132 | OneWire oneWire(ONE_WIRE_BUS); 133 | DallasTemperature sensors(&oneWire); 134 | byte allAddress [MaxOnewire][8]; // 8 bytes per address 135 | byte numSensors; 136 | //------------------------------------------------------------------------------------------------------------------------------------------- 137 | 138 | //-----------------------RFM12B / RFM69CW SETTINGS---------------------------------------------------------------------------------------------------- 139 | byte RF_freq=RF12_433MHZ; // Frequency of RF69CW module can be RF12_433MHZ, RF12_868MHZ or RF12_915MHZ. You should use the one matching the module you have. 140 | byte nodeID = 8; // emonTx RFM12B node ID 141 | int networkGroup = 210; 142 | //boolean RF_STATUS = 1; // Enable RF 143 | boolean RF_STATUS = 0; // disable RF 144 | 145 | // Note: Please update emonhub configuration guide on OEM wide packet structure change: 146 | // https://github.com/openenergymonitor/emonhub/blob/emon-pi/configuration.md 147 | typedef struct { 148 | int power1, power2, power3, power4, Vrms, temp[MaxOnewire]; 149 | unsigned long pulseCount; 150 | } PayloadTX; // create structure - a neat way of packaging data for RF comms 151 | 152 | PayloadTX emontx; 153 | 154 | //------------------------------------------------------------------------------------------------------------------------------------------- 155 | //------------------------------------------------------------------------------------------------------------------------------------------- 156 | 157 | //Random Variables 158 | //boolean settled = false; 159 | boolean CT1, CT2, CT3, CT4, ACAC, DS18B20_STATUS; 160 | byte CT_count=0; 161 | volatile byte pulseCount = 0; 162 | unsigned long pulsetime=0; // Record time of interrupt pulse 163 | unsigned long start=0; 164 | 165 | const char helpText1[] PROGMEM = // Available Serial Commands 166 | "\n" 167 | "Available commands:\n" 168 | " i - set node IDs (standard node ids are 1..30)\n" 169 | " b - set MHz band (4 = 433, 8 = 868, 9 = 915)\n" 170 | " g - set network group (RFM12 only allows 212, 0 = any)\n" 171 | " s - save config to EEPROM\n" 172 | " v - Show firmware version\n" 173 | ; 174 | 175 | 176 | #ifndef UNIT_TEST // IMPORTANT LINE! 177 | //------------------------------------------------------------------------------------------------------------------------------------------- 178 | //------------------------------------------------------------------------------------------------------------------------------------------- 179 | //SETUP 180 | //------------------------------------------------------------------------------------------------------------------------------------------- 181 | //------------------------------------------------------------------------------------------------------------------------------------------- 182 | void setup() 183 | { 184 | pinMode(LEDpin, OUTPUT); 185 | pinMode(DS18B20_PWR, OUTPUT); 186 | 187 | pinMode(pulse_count_pin, INPUT_PULLUP); // Set emonTx V3.4 interrupt pulse counting pin as input (Dig 3 / INT1) 188 | emontx.pulseCount=0; // Make sure pulse count starts at zero 189 | 190 | digitalWrite(LEDpin,HIGH); 191 | 192 | //DIP SWITCHES 193 | pinMode(DIP_switch1, INPUT_PULLUP); 194 | pinMode(DIP_switch2, INPUT_PULLUP); 195 | 196 | Serial.begin(115200); 197 | Serial.print("emonTx V3.4 Discrete Sampling V"); Serial.println(version*0.1); 198 | Serial.println("OpenEnergyMonitor.org"); 199 | Serial.println(" "); 200 | if (RF_STATUS==1){ 201 | load_config(); // Load RF config from EEPROM (if any exists) 202 | #if (RF69_COMPAT) 203 | Serial.print("RFM69CW"); 204 | #else 205 | Serial.print("RFM12B"); 206 | #endif 207 | if (digitalRead(DIP_switch1)==LOW) nodeID--; // IF DIP switch 1 is switched on then subtract 1 from nodeID 208 | Serial.print(" Node: "); Serial.print(nodeID); 209 | Serial.print(" Freq: "); 210 | if (RF_freq == RF12_433MHZ) Serial.print("433Mhz"); 211 | if (RF_freq == RF12_868MHZ) Serial.print("868Mhz"); 212 | if (RF_freq == RF12_915MHZ) Serial.print("915Mhz"); 213 | Serial.print(" Group: "); Serial.println(networkGroup); 214 | Serial.println(" "); 215 | } 216 | Serial.println("POST.....wait 10s"); 217 | Serial.println("'+++' then [Enter] for RF config mode"); 218 | 219 | 220 | 221 | if (digitalRead(DIP_switch2)==LOW) USA=TRUE; // IF DIP switch 2 is switched on then activate USA mode 222 | 223 | 224 | if (USA==TRUE){ // if USA mode is true 225 | Vcal=Vcal_USA; // Assume USA AC/AC adatper is being used, set calibration accordingly 226 | Vrms = Vrms_USA; /// USE 110V for USA apparent power 227 | } 228 | 229 | delay(10); 230 | 231 | if (RF_STATUS==1){ 232 | rf12_initialize(nodeID, RF_freq, networkGroup); // initialize RFM12B/rfm69CW 233 | for (int i=10; i>=0; i--) // Send RF test sequence (for factory testing) 234 | { 235 | emontx.power1=i; 236 | rf12_sendNow(0, &emontx, sizeof emontx); 237 | delay(100); 238 | } 239 | rf12_sendWait(2); 240 | emontx.power1=0; 241 | } 242 | 243 | if (analogRead(1) > 0) {CT1 = 1; CT_count++;} else CT1=0; // check to see if CT is connected to CT1 input, if so enable that channel 244 | if (analogRead(2) > 0) {CT2 = 1; CT_count++;} else CT2=0; // check to see if CT is connected to CT2 input, if so enable that channel 245 | if (analogRead(3) > 0) {CT3 = 1; CT_count++;} else CT3=0; // check to see if CT is connected to CT3 input, if so enable that channel 246 | if (analogRead(4) > 0) {CT4 = 1; CT_count++;} else CT4=0; // check to see if CT is connected to CT4 input, if so enable that channel 247 | 248 | if ( CT_count == 0) CT1=1; // If no CT's are connect ed CT1-4 then by default read from CT1 249 | 250 | // Quick check to see if there is a voltage waveform present on the ACAC Voltage input 251 | // Check consists of calculating the RMS from 100 samples of the voltage input. 252 | start = millis(); 253 | while (millis() < (start + 10000)){ 254 | // If serial input of keyword string '+++' is entered during 10s POST then enter config mode 255 | if (Serial.available()){ 256 | if ( Serial.readString() == "+++\r\n"){ 257 | Serial.println("Entering config mode..."); 258 | showString(helpText1); 259 | // char c[]="v" 260 | config(char('v')); 261 | while(1){ 262 | if (Serial.available()){ 263 | config(Serial.read()); 264 | } 265 | } 266 | } 267 | } 268 | } 269 | 270 | digitalWrite(LEDpin,LOW); 271 | 272 | // Calculate if there is an ACAC adapter on analog input 0 273 | double vrms = calc_rms(0,1780) * (Vcal * (3.3/1024) ); 274 | if (vrms>90) ACAC = 1; else ACAC=0; 275 | 276 | if (ACAC) 277 | { 278 | for (int i=0; i<10; i++) // indicate AC has been detected by flashing LED 10 times 279 | { 280 | digitalWrite(LEDpin, HIGH); delay(200); 281 | digitalWrite(LEDpin, LOW); delay(300); 282 | } 283 | } 284 | else 285 | { 286 | delay(1000); 287 | digitalWrite(LEDpin, HIGH); delay(2000); digitalWrite(LEDpin, LOW); // indicate DC power has been detected by turing LED on then off 288 | } 289 | 290 | 291 | //################################################################################################################################ 292 | //Setup and for presence of DS18B20 293 | //################################################################################################################################ 294 | digitalWrite(DS18B20_PWR, HIGH); delay(100); 295 | sensors.begin(); 296 | sensors.setWaitForConversion(false); // disable automatic temperature conversion to reduce time spent awake, conversion will be implemented manually in sleeping 297 | // http://harizanov.com/2013/07/optimizing-ds18b20-code-for-low-power-applications/ 298 | numSensors=(sensors.getDeviceCount()); 299 | if (numSensors > MaxOnewire) numSensors=MaxOnewire; //Limit number of sensors to max number of sensors 300 | 301 | byte j=0; // search for one wire devices and 302 | // copy to device address arrays. 303 | while ((j < numSensors) && (oneWire.search(allAddress[j]))) j++; 304 | 305 | delay(500); 306 | digitalWrite(DS18B20_PWR, LOW); 307 | 308 | if (numSensors==0) DS18B20_STATUS=0; 309 | else DS18B20_STATUS=1; 310 | 311 | //################################################################################################################################ 312 | 313 | if (DEBUG==1) 314 | { 315 | Serial.print("CT 1 Cal "); Serial.println(Ical1); 316 | Serial.print("CT 2 Cal "); Serial.println(Ical2); 317 | Serial.print("CT 3 Cal "); Serial.println(Ical3); 318 | Serial.print("CT 4 Cal "); Serial.println(Ical4); 319 | delay(1000); 320 | 321 | Serial.print("RMS Voltage on AC-AC is: ~"); 322 | Serial.print(vrms,0); Serial.println("V"); 323 | 324 | if (ACAC) { 325 | Serial.println("AC-AC detected - Real Power measure enabled"); 326 | Serial.println("assuming pwr from AC-AC (jumper closed)"); 327 | if (USA==TRUE) Serial.println("USA mode active"); 328 | Serial.print("Vcal: "); Serial.println(Vcal); 329 | Serial.print("Phase Shift: "); Serial.println(phase_shift); 330 | } else { 331 | Serial.println("AC-AC NOT detected - Apparent Pwr measure enabled"); 332 | Serial.print("Assuming VRMS: "); Serial.print(Vrms); Serial.println("V"); 333 | Serial.println("Assuming power from batt / 5V USB - power save enabled"); 334 | } 335 | 336 | if (CT_count==0) { 337 | Serial.println("NO CT's detected"); 338 | } else { 339 | if (CT1) Serial.println("CT 1 detected"); 340 | if (CT2) Serial.println("CT 2 detected"); 341 | if (CT3) Serial.println("CT 3 detected"); 342 | if (CT4) Serial.println("CT 4 detected"); 343 | } 344 | 345 | if (DS18B20_STATUS==1) { 346 | Serial.print("Detected Temp Sensors: "); 347 | Serial.println(numSensors); 348 | } else { 349 | Serial.println("No temperature sensor"); 350 | } 351 | 352 | Serial.print("CT1 CT2 CT3 CT4 VRMS/BATT PULSE"); 353 | if (DS18B20_STATUS==1){Serial.print(" Temperature 1-"); Serial.print(numSensors);} 354 | Serial.print(" CT1-mA"); 355 | Serial.println(" "); 356 | delay(500); 357 | 358 | } 359 | else 360 | { 361 | Serial.end(); 362 | } 363 | 364 | 365 | if (CT1) ct1.current(1, Ical1); // CT ADC channel 1, calibration. calibration (2000 turns / 22 Ohm burden resistor = 90.909) 366 | if (CT2) ct2.current(2, Ical2); // CT ADC channel 2, calibration. 367 | if (CT3) ct3.current(3, Ical3); // CT ADC channel 3, calibration. 368 | if (CT4) ct4.current(4, Ical4); // CT ADC channel 4, calibration. calibration (2000 turns / 120 Ohm burden resistor = 16.66) high accuracy @ low power - 4.5kW Max @ 240V 369 | 370 | if (ACAC) 371 | { 372 | if (CT1) ct1.voltage(0, Vcal, phase_shift); // ADC pin, Calibration, phase_shift 373 | if (CT2) ct2.voltage(0, Vcal, phase_shift); // ADC pin, Calibration, phase_shift 374 | if (CT3) ct3.voltage(0, Vcal, phase_shift); // ADC pin, Calibration, phase_shift 375 | if (CT4) ct4.voltage(0, Vcal, phase_shift); // ADC pin, Calibration, phase_shift 376 | } 377 | 378 | attachInterrupt(pulse_countINT, onPulse, FALLING); // Attach pulse counting interrupt pulse counting 379 | 380 | for(byte j=0;j min_pulsewidth) { 542 | pulseCount++; //calculate wh elapsed from time between pulses 543 | } 544 | pulsetime=millis(); 545 | } 546 | 547 | int get_temperature(byte sensor) 548 | { 549 | float temp=(sensors.getTempC(allAddress[sensor])); 550 | if ((temp<125.0) && (temp>-55.0)) return(temp*10); //if reading is within range for the sensor convert float to int ready to send via RF 551 | } 552 | //------------------------------------------------------------------------------------------------------------------------------------------- 553 | 554 | 555 | #endif // IMPORTANT LINE! 556 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ESPproMon 2 | ESPproMon Smartphone App for Energy Monitoring and Control with **Appp Technology** 3 | 4 | What is Appp Technology? 5 | 6 | It's **app**liance **p**rofiling which allows you to identify when specific appliances are powered up or powered down etc. It's very much in it's infancy but fully expected to be the **next big thing in Smart Energy Monitoring**. 7 | 8 |

9 | ESPproMon Smartphone Energy Monitoring and Control app tabs 1 and 2 10 |

11 | 12 |

13 | ESPproMon Smartphone Energy Monitoring and Control app tabs 3 and 4 14 |

15 | 16 | **PeaceFair** make some very reasonably priced energy monitors and they have a **user friendly interface** for the ESPproMon system. You will however need the services of a qualified electrician to safely wire up the PeaceFair products. Below is one of their products wired up in our consumer unit and providing **very accurate data**. 17 | 18 |

19 | PZEM-004 Energy Monitor 20 |

21 | 22 | The picture below is a simple **plug and play CT (current transformer)** clipped around the live feed of our consumer unit. The other end of the CT is hooked up to your chosen energy monitoring hardware and the Smartphone app does the rest. 23 | 24 |

25 | Consumer unit with current transformer 26 |

27 | 28 | Included in this repository are files for the **emonTx** and **Arduino Shield** supplied by [Open Energy Monitor](https://community.openenergymonitor.org/) in **Wales**. You will find the sketches in [this](https://github.com/pieman64/ESPproMon/tree/master/OpenEnergyMonitor) directory. 29 | 30 | The **emonTx** is available in kit form for the Arduino Uno and Leonardo. This is the kit we received and found the build procedure to be very straightforward. 31 | 32 |

33 | emonTx Arduino shield in kit form 34 |

35 | 36 | This is the completed shield fitted to a Leonardo with a DS18B20 sensor and USB2TTL adaptor. It also has the **AC - AC** adaptor that's **essential** if you want to accurately measure Real Power and therefore real Energy costs. 37 | 38 |

39 | emonTx shield with USB2TTL 40 |

41 | 42 | Actually the shield is not technically complete as we only fitted CT1 and CT4. Please note CT4 is a **regular current transformer port** on the shield, unlike the emonTx where CT4 is a **high precision port** up to a maximum of 4.5KW. Although you might use less than 4.5KW most of the time, there will be times when your whole house consumption goes above this figure so the emonTx firmware is set to use CT3. 43 | **For the shield the firmware is set to use CT4**. 44 | 45 | Below is a photograph of the emonTx (not shield) and you can just see the USB2TTL connector cables. Only 2 pins are required to be connected to the ESP for use with ESPproMon but you will need a full USB2TTL adaptor to flash the modified sketch to your emonTx. We recommend this [adaptor](https://shop.openenergymonitor.com/programmer-usb-to-serial-uart/) from Open Energy Monitor or at least one with a RST pin. We have included the modified hex files for the emonTx (not shield) so you can flash the firmware wih **avrdude** (Windows or Linux) if you don't already have the Arduino IDE installed. 46 | 47 |

48 | emonTx with USB2TTL 49 |

50 | 51 | We have included the hex and ino files for the **emonPi** but as we don't have an emonPi it's untested and you use the files at your own risk. The emonPi from [Open Energy Monitor](https://shop.openenergymonitor.com/emonpi-3/) is probably the **safest Energy Monitoring system currently available** and it offers a plug and play solution for anyone that doesn't have formal training with electrical installations. 52 |

53 | emonPi from Open Energy Monitor 54 | emonPi circuit board 55 |

56 | If you haven't used the Serial port on your **Raspberry Pi** before you might want to take a look at these two web pages: 57 | 58 | [THE RASPBERRY PI UARTS](https://www.raspberrypi.org/documentation/configuration/uart.md) and 59 | [Configuring The GPIO Serial Port On Raspbian Jessie](https://spellfoundry.com/2016/05/29/configuring-gpio-serial-port-raspbian-jessie-including-pi-3/) 60 | 61 | ESPproMon can also be used with the **ACS712** (5A, 20 and 30A) from **Allegro MicroSystems** and details are available at [ESPecoMon](https://github.com/pieman64/ESPecoMon) 62 | 63 | If you have any questions you can open a GitHub issue or contact us via our website at [ESPproMon](https://ESPproMon.com/). 64 | -------------------------------------------------------------------------------- /images/Consumer unit with CT.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/Consumer unit with CT.jpg -------------------------------------------------------------------------------- /images/Consumer unit with current transformer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/Consumer unit with current transformer.jpg -------------------------------------------------------------------------------- /images/ESPproMon 4 Tabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/ESPproMon 4 Tabs.png -------------------------------------------------------------------------------- /images/ESPproMon Tab 1 and 2 dark halfsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/ESPproMon Tab 1 and 2 dark halfsize.png -------------------------------------------------------------------------------- /images/ESPproMon Tab 3 and 4 dark halfsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/ESPproMon Tab 3 and 4 dark halfsize.png -------------------------------------------------------------------------------- /images/ESPproMon pages 1 and 2 half size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/ESPproMon pages 1 and 2 half size.png -------------------------------------------------------------------------------- /images/ESPproMon pages 3 and 4 half size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/ESPproMon pages 3 and 4 half size.png -------------------------------------------------------------------------------- /images/EnergyMonitoring.txt: -------------------------------------------------------------------------------- 1 | Directory containing various images related to energy monitoring. 2 | -------------------------------------------------------------------------------- /images/PZEM-004 from PeaceFair installed in a domestic electrical consumer unit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/PZEM-004 from PeaceFair installed in a domestic electrical consumer unit.jpg -------------------------------------------------------------------------------- /images/emonPi PCB with Raspberry Pi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/emonPi PCB with Raspberry Pi.jpg -------------------------------------------------------------------------------- /images/emonPi complete with enclosure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/emonPi complete with enclosure.jpg -------------------------------------------------------------------------------- /images/emonTx Arduino shield components.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/emonTx Arduino shield components.jpg -------------------------------------------------------------------------------- /images/emonTx Arduino shield with Leonardo DS18B20 and TTL.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/emonTx Arduino shield with Leonardo DS18B20 and TTL.jpg -------------------------------------------------------------------------------- /images/emonTx with TTL.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pieman64/ESPproMon/a9b9e8914e1982530cdbba9d757453d653479048/images/emonTx with TTL.jpg --------------------------------------------------------------------------------