diff --git a/app/firmwares/examples/thinkboard/thinkboard.ino b/app/firmwares/examples/thinkboard/thinkboard.ino index e212d283c..ab97f04ea 100644 --- a/app/firmwares/examples/thinkboard/thinkboard.ino +++ b/app/firmwares/examples/thinkboard/thinkboard.ino @@ -16,6 +16,7 @@ 2019/01/14 Add Servo Motor Control SG90/180 support 2019/01/15 Fixed bug on Servo Motor Setting 2019/01/19 Final Version + 2024/02/20 Fixed errors in final version ___ Saycheese... */ @@ -54,6 +55,7 @@ #define WRT_BT 10 #define RGBLED 11 #define MOTOR 12 +#define LASER 13 // Control Command #define GET 1 @@ -79,24 +81,25 @@ union #define MOTOR_CW 2 // 정방향 #define MOTOR_CCW 1 // 역방향 #define MOTOR_STOP 3 // 정지 -int motorSpeed = 127; +int motorSpeed = 100; int motor_dir = 0; // Temp Sensor -int dhtpin = 2; +int dhtPin = 0; int dhtmode = 0; + // Buzzer State int BuzzerState = BUZZER_OFF; // Servo Motor Objects Servo servos[8]; -Servo sv; int angle; +int servo_speed = 0; // Ultrasonic Sensor -int trigPin = 6; -int echoPin = 2; +int trigPin=0; +int echoPin=0; // RGB LED 모듈 const int BLED = 13; @@ -109,7 +112,7 @@ int digitals[14]={0,0,0,0,0,0,0,0,0,0,0,0,0,0}; int servo_pins[8]={0,0,0,0,0,0,0,0}; // Variables -float lastUltrasonic = 0; +float lastUltrasonic[4] = {0, 0, 0, 0}; // 버퍼 char buffer[52]; @@ -141,7 +144,7 @@ void setup() delay(200); } -// +// Port Init void initPorts() { for (int pinNumber = 0; pinNumber < 14; pinNumber++) @@ -153,7 +156,7 @@ void initPorts() // void loop() -{ +{ while (Serial.available()) { if (Serial.available() > 0) @@ -162,13 +165,12 @@ void loop() setPinValue(serialRead&0xff); } } - delay(15); sendPinValues(); delay(10); } -// +// Pin setting & Parse void setPinValue(unsigned char c) { if(c == 0x55 && isStart == false) @@ -205,34 +207,34 @@ void setPinValue(unsigned char c) } } -// +// Read Buffer unsigned char readBuffer(int index) { return buffer[index]; } -// +// UltraSonic Setting void setUltrasonicMode(boolean mode) { isUltrasonic = mode; - if(!mode) lastUltrasonic = 0; + if(!mode) lastUltrasonic[port] = 0; } -// +// TempHumidity Setting void setTempHumidityMode(boolean mode) { isTempSensor = mode; if(!mode) isTempSensor = 0; } -// +// Sevor Setting void setServoMode(boolean mode) { isServoMode = mode; if(!mode) isServoMode = 0; } -// +// Data Parsing void parseData() { isStart = false; @@ -242,11 +244,12 @@ void parseData() port = readBuffer(6); mode = readBuffer(7); - // + /* if(device == SERVO) { - setPortWritable(port); - sv = servos[searchServoPin(port)]; + port += 2; + setPortWritable(port); + Servo sv = servos[searchServoPin(port)]; switch(cmdtype) { @@ -257,43 +260,62 @@ void parseData() case SET: if(mode < 4) sv.attach(port, SERVO_MIN, SERVO_MAX); else sv.attach(port); - break; + break; } } - - // +*/ switch(cmdtype) { case GET: - if(device == TEMP) + if(device == TEMP) // Get TempHunidity Sensor value { - setTempHumidityMode(true); - dhtpin = port; - dhtmode = mode; + if (!isTempSensor) { + setTempHumidityMode(true); + dhtPin = port + 2; + DHT dht(dhtPin, DHT11); + dht.begin(); + } else { + if (dhtPin != port + 2){ + dhtPin = port + 2; + DHT dht(dhtPin, DHT11); + dht.begin(); + } + } } - else if(device == SERVO) + else if(device == SERVO) // Get Servor Angle { - setServoMode(true); - angle = sv.read(); - } - else if(device == USONIC) + + if (!isServoMode){ + Servo sv = servos[searchServoPin(port+2)]; + angle = sv.read(); + delay(15); + } +// if (mode == 1) { +// angle = servo_speed; +// break; +// } +// setPortWritable(port); + +// setServoMode(true); +// angle = sv.read(); + } + else if(device == USONIC) // Get Ultra Sonic Sensor Value { setTempHumidityMode(false); - if(!isUltrasonic) + if(!isUltrasonic) // Ultra Sonic Sensor init Setting { setUltrasonicMode(true); - trigPin = readBuffer(6); - echoPin = readBuffer(7); + trigPin = readBuffer(6) + 6; + echoPin = readBuffer(6) + 2; digitals[trigPin] = 1; digitals[echoPin] = 1; pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); - delay(30); } else { - int trig = readBuffer(6); - int echo = readBuffer(7); + int trig = readBuffer(6) + 6; + int echo = readBuffer(6) + 2; if(trig != trigPin || echo != echoPin) { digitals[trigPin] = 0; @@ -304,26 +326,19 @@ void parseData() digitals[echoPin] = 1; pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); - delay(30); } } } - else if(port == trigPin || port == echoPin) - { - setTempHumidityMode(false); - setUltrasonicMode(false); - digitals[port] = 0; - } - else + else { setTempHumidityMode(false); setUltrasonicMode(false); - setServoMode(false); + setServoMode(false); digitals[port] = 0; } break; - case SET: + case SET: // Run Module runModule(device); callOK(); break; @@ -334,21 +349,102 @@ void parseData() } } -// +// SET void runModule(int device) { //0xff 0x55 0x6 0x0 0x1 0xa 0x9 0x0 0x0 0xa int hz = 0, ms = 0, v = 0; if(port == trigPin || port == echoPin) setUltrasonicMode(false); + switch(device) - { - case DIGITAL: - setPortWritable(port); - digitalWrite(port, mode); - break; + { + case DIGITAL : + case LASER: // Digital Ouput Setting + { + setPortWritable(port); + digitalWrite(port, mode); + } + break; + case RGBLED: // RGBLED Ouput Setting R:11, G:12, B:13 + { + setPortWritable(RLED); + setPortWritable(GLED); + setPortWritable(BLED); + analogWrite(RLED, readBuffer(7)); + analogWrite(GLED, readBuffer(8)); + analogWrite(BLED, readBuffer(9)); + } + break; + case MOTOR: // DC Motor Setting + { + int motorPinA = readBuffer(6) + 2; + int motorPinB = readBuffer(6) + 6; + int motorPWM; + pinMode(motorPinA, OUTPUT); // CW + pinMode(motorPinB, OUTPUT); // CCW + digitalWrite(motorPinA, HIGH); + digitalWrite(motorPinB, HIGH); + setPortWritable(motorPinA); + setPortWritable(motorPinB); + mode = readBuffer(7); + switch(mode) + { + case 1: motor_dir = readBuffer(8); // DC 모터 방향 설정하기 + if(motorPinA != 3){ + if(motor_dir == MOTOR_CCW) // 반시계 (역방향) + { + digitalWrite(motorPinA, LOW); + digitalWrite(motorPinB, HIGH); + analogWrite(motorPinB, motorSpeed); + } + else // 시계 (정방향) + { + digitalWrite(motorPinA, HIGH); + digitalWrite(motorPinB, LOW); + analogWrite(motorPinA, motorSpeed); + } + } + else // Port 2의 역방향 설정 금지... + { + digitalWrite(motorPinA, LOW); + digitalWrite(motorPinB, HIGH); + analogWrite(motorPinA, motorSpeed); + } + + break; + case 2: motorSpeed = readBuffer(8)*2.5; // DC 모터 속도 정하기 + + if(motorSpeed == 0) + { + digitalWrite(motorPinA, HIGH); + digitalWrite(motorPinB, HIGH); + } //end of if(motorSpeed == 0) + else if(motorPinA != 3){ + if(motor_dir == MOTOR_CCW) + { + digitalWrite(motorPinA, LOW); + digitalWrite(motorPinB, HIGH); + analogWrite(motorPinB, motorSpeed); + } else { + digitalWrite(motorPinA, HIGH); + digitalWrite(motorPinB, LOW); + analogWrite(motorPinA, motorSpeed); + } + } else { + digitalWrite(motorPinA, HIGH); + digitalWrite(motorPinB, LOW); + analogWrite(motorPinA, motorSpeed); + } //end of if(motor_dir == MOTOR_CCW) else + break; + case 3: digitalWrite(motorPinA, HIGH); + digitalWrite(motorPinB, HIGH); + break; + } // end of switch(mode) + } + break; - case BUZZER: + case BUZZER: // BUZZER Setting setPortWritable(BUZ_PORT); if((BuzzerState == BUZZER_OFF) && (mode == 1)) { @@ -362,111 +458,67 @@ void runModule(int device) } break; - case TONE: + case TONE: // Launch tone menu with buzzer setPortWritable(port); hz = readShort(7); ms = readShort(9); if(ms > 0) tone(port, hz, ms); else noTone(port); break; - - case SERVO: - if(mode == 0) break; - dir = readBuffer(8); - switch(mode) + + case SERVO: // Launch Servo + if(mode == 0 ) break; + if (port == 1) + port = 3; + else + port = 5; + setPortWritable(port); + mode = readBuffer(7); + Servo sv = servos[searchServoPin(port)]; + sv.attach(port); + + // thinkboard_digital_set_servo_angle + if (mode == 2) + angle = readBuffer(8); + + // thinkboard_digital_set_servo_direction + else if (mode == 3) + { + int direction = readBuffer(8); + angle = sv.read(); + if (direction == 0) { - case 1: - case 4: angle = readBuffer(8); - if(angle >= 0 && angle <= 180) - { - sv.write(angle); - delay(15); - } - break; - case 2: - case 5: angle = sv.read(); - if(dir == 1) // LEFT(?�계 방향) - { - if(angle <= 0) return; - sv.write(--angle); - delay(15); - } - else // RIGHT(반시�?방향) - { - if(angle >= 180) return; - sv.write(++angle); - delay(15); - } - break; - case 3: - case 6: sv.write(90); - delay(15); - break; - } - break; + angle = angle + 1; + if (angle > 180) angle = 180; + } else { + angle = angle - 1; + if (angle < 0) angle = 0; + } + } + + // thinkboard_digital_set_servo_stop + else if (mode == 4) + angle = 90; + + // thinkboard_digital_set_servo_360_angle + else if (mode == 5) + { + servo_speed = readBuffer(8); + angle = servo_speed; + // thinkboard_digital_set_servo_360_stop + } else if(mode == 6) + angle = 91; + sv.write(angle); + delay(15); + break; + + case TIMER: lastTime = millis()/1000.0; break; - - case RGBLED: - setPortWritable(port); - setPortWritable(port+1); - setPortWritable(port+2); - analogWrite(RLED, readBuffer(7)); - analogWrite(GLED, readBuffer(8)); - analogWrite(BLED, readBuffer(9)); - break; - - case MOTOR: - setPortWritable(port); - setPortWritable(port+4); - pinMode(port+4, OUTPUT); // CW - pinMode(port, OUTPUT); // CCW - digitalWrite(port+4, HIGH); - digitalWrite(port, HIGH); - - mode = readBuffer(7); - switch(mode) - { - case 1: motor_dir = readBuffer(8); // DC 모터 방향 설정하기 - if(motor_dir == MOTOR_CCW) // 반시계 (역방향) - { - digitalWrite(port+4, LOW); - analogWrite(port, motorSpeed); - } - else // 시계 (정방향) - { - digitalWrite(port, LOW); - analogWrite(port+4, motorSpeed); - } - break; - case 2: motorSpeed = readBuffer(8); // DC 모터 속도 정하기 - if(motorSpeed == 0) - { - digitalWrite(port+4, HIGH); - digitalWrite(port+4, HIGH); - } - else - { - if(motor_dir == MOTOR_CCW) - { - digitalWrite(port+4, LOW); - analogWrite(port, motorSpeed); - } - else - { - digitalWrite(port, LOW); - analogWrite(port+4, motorSpeed); - } - } - break; - case 3: digitalWrite(port+4, HIGH); - digitalWrite(port+4, HIGH); - break; - } - break; - } + + } } // @@ -477,7 +529,7 @@ void callOK() writeEnd(); } -// +// Digital Pin value Setting void sendPinValues() { int pinNumber = 0; @@ -533,68 +585,68 @@ void sendPinValues() */ } -// +// Get Ultra Sonic Sensor Value & Transfer void sendUltrasonic() { +// trigPin = 9; +// echoPin = 5; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); - float value = pulseIn(echoPin, HIGH, 30000) / 29.0 / 2.0; + unsigned long duration = pulseIn(echoPin, HIGH); + float value = ((float) (340*duration) / 10000) / 2; - if(value == 0) value = lastUltrasonic; - else lastUltrasonic = value; + lastUltrasonic[port] = value; writeHead(); - sendFloat(value); - writeSerial(trigPin); - writeSerial(echoPin); + for (int i =0 ;i<4;i++){ + sendFloat(lastUltrasonic[i]); + } + writeSerial(port); writeSerial(USONIC); writeEnd(); + } -// +// Get TempHumidity Sensor Value & Transfer void sendTempHumidity() { - int value; - DHT dht(dhtpin, DHTTYPE); + int humi, temp; + DHT dht(dhtPin, DHTTYPE); delay(30); - - switch(dhtmode) - { - case _HUMID: - value = dht.readHumidity(); - break; - case _TEMP_F: - value = dht.readTemperature(); - value = value*(9/5)+32; - break; - case _TEMP_C: - value = dht.readTemperature(); - break; - } + humi = dht.readHumidity(); + temp = dht.readTemperature(); writeHead(); - sendFloat(value); - writeSerial(dhtpin); - writeSerial(dhtmode); + + sendFloat(temp); + sendFloat(humi); + sendFloat(temp); + sendFloat(humi); + sendFloat(temp); + sendFloat(humi); + sendFloat(temp); + sendFloat(humi); + writeSerial(port); + writeSerial(dhtmode); writeSerial(TEMP); - writeEnd(); + writeEnd(); } -// +// Get Servo angle Transfer void sendServoAngle() { writeHead(); sendFloat(angle); - writeSerial(port); + writeSerial(port+2); writeSerial(SERVO); writeEnd(); } -// +// Get Digital Pin Value & Transfer void sendDigitalValue(int pinNumber) { pinMode(pinNumber,INPUT); @@ -605,7 +657,7 @@ void sendDigitalValue(int pinNumber) writeEnd(); } -// +// Get Anglog Pin Value(Light, Sound, variable resistance ... ) & Transfer void sendAnalogValue(int pinNumber) { writeHead(); @@ -621,19 +673,19 @@ void writeBuffer(int index,unsigned char c) buffer[index] = c; } -// +// transmission data head void writeHead() { writeSerial(0xff); writeSerial(0x55); } -// +// transmission data end void writeEnd(){ Serial.println(); } -// +// Charater Transfer void writeSerial(unsigned char c) { Serial.write(c); @@ -730,4 +782,3 @@ void callDebug(char c) writeEnd(); } - diff --git a/app/firmwares/thinkboard.hex b/app/firmwares/thinkboard.hex index c525dce07..82628a6e9 100644 --- a/app/firmwares/thinkboard.hex +++ b/app/firmwares/thinkboard.hex @@ -1,640 +1,616 @@ -:100000000C9463000C948B000C948B000C948B006C -:100010000C948B000C948B000C948B000C94720845 -:100020000C948B000C948B000C948B000C94700936 -:100030000C948B000C948B000C948B000C948B0014 -:100040000C9426090C948B000C94F4080C94CE08A4 -:100050000C948B000C948B000C948B000C948B00F4 -:100060000C948B000C948B000000000024002700EF -:100070002A0000000000250028002B0002000000DC -:1000800000230026002900000000080002010000F3 -:10009000030407000000000000000004040404043E -:1000A0000404040202020202020303030303030125 -:1000B00002040810204080010204081020010204FC -:1000C00008102000710A11241FBECFEFD8E0DEBF58 -:1000D000CDBF11E0A0E0B1E0E2EBF7E202C0059095 -:1000E0000D92AA32B107D9F723E0AAE2B1E001C02C -:1000F0001D92AE30B207E1F710E0C3E6D0E004C0D5 -:100100002197FE010E94D113C236D107C9F70E9480 -:10011000380B0C94D7130C940000AF92BF92CF927F -:10012000DF92EF92FF920F931F93CF93DF936C01B7 -:100130007B018B01040F151FEB015E01AE18BF0898 -:10014000C017D10759F06991D601ED91FC9101904A -:10015000F081E02DC6010995892B79F7C501DF9162 -:10016000CF911F910F91FF90EF90DF90CF90BF90B4 -:10017000AF900895FC01538D448D252F30E0842FDE -:1001800090E0821B930B541710F0CF9608950197BF -:100190000895FC01918D828D981761F0A28DAE0FAC -:1001A000BF2FB11D5D968C91928D9F5F9F73928F33 -:1001B00090E008958FEF9FEF0895FC01918D828D5F -:1001C000981731F0828DE80FF11D858D90E008952C -:1001D0008FEF9FEF0895FC01918D228D892F90E084 -:1001E000805C9F4F821B91098F739927089588EF38 -:1001F00091E00E94EB0021E0892B09F420E0822F9E -:10020000089580E090E0892B29F00E94F700811189 -:100210000C9400000895FC01A48DA80FB92FB11D06 -:10022000A35ABF4F2C91848D90E001968F7399272C -:10023000848FA689B7892C93A089B1898C9183700A -:1002400080648C93938D848D981306C00288F38903 -:10025000E02D80818F7D80830895EF92FF920F9330 -:100260001F93CF93DF93EC0181E0888F9B8D8C8D62 -:1002700098131AC0E889F989808185FF15C09FB756 -:10028000F894EE89FF896083E889F9898081837019 -:10029000806480839FBF81E090E0DF91CF911F91C8 -:1002A0000F91FF90EF900895F62E0B8D10E00F5FE9 -:1002B0001F4F0F731127E02E8C8D8E110CC00FB6BF -:1002C00007FCFACFE889F989808185FFF5CFCE0157 -:1002D0000E940B01F1CFEB8DEC0FFD2FF11DE35AC6 -:1002E000FF4FF0829FB7F8940B8FEA89FB898081DA -:1002F0008062CFCFCF93DF93EC01888D8823B9F054 -:10030000AA89BB89E889F9898C9185FD03C0808120 -:1003100086FD0DC00FB607FCF7CF8C9185FFF2CF9D -:10032000808185FFEDCFCE010E940B01E9CFDF91E7 -:10033000CF910895833081F028F4813099F0823094 -:10034000A9F008958730A9F08830C9F08430B1F45D -:10035000809180008F7D03C0809180008F77809393 -:100360008000089584B58F7784BD089584B58F7D0E -:10037000FBCF8091B0008F778093B000089580917B -:10038000B0008F7DF9CF1F93CF93DF93282F30E0FC -:10039000F901E957FF4F8491F901E155FF4FD491DD -:1003A000F901E556FF4FC491CC23A9F0162F811116 -:1003B0000E949A01EC2FF0E0EE0FFF1FEE58FF4F66 -:1003C000A591B4918FB7F894EC91111108C0D09514 -:1003D000DE23DC938FBFDF91CF911F910895DE2B39 -:1003E000F8CF9091000189130BC0ECE7F0E0E491A5 -:1003F0009FEF90930001E13049F028F0E23061F086 -:1004000060E00C94C30110926E00FACF90916F00DF -:100410009D7F90936F00F4CF909170009D7F90939B -:10042000700091E09093B0009091B100987F94603B -:100430009093B1001092B300E3CFCF93DF9390E09D -:10044000FC01E155FF4F249185569F4FFC0184919B -:100450008823C9F090E0880F991FFC01E859FF4FED -:10046000A591B491FC01EE58FF4FC591D491611153 -:100470000DC09FB7F8948C91209582238C9388812E -:10048000282328839FBFDF91CF910895623051F4D4 -:100490009FB7F8943C91822F809583238C93E881B9 -:1004A0002E2BEFCF8FB7F894EC912E2B2C938FBF80 -:1004B000EACFFF920F931F93CF93DF93EC01F62EB9 -:1004C0008A0188818C3008F05BC061E08F2D0E942A -:1004D0001D028881282F30E0F901EE0FFF1FE20F87 -:1004E000F31FEB56FD4F9F2D9F736081607C692B3E -:1004F000608320E232E0201B310B37FF02C02D5F0A -:100500003F4F359527953595279529831A822CE0FD -:10051000622F0E94C513829FB001112430E020E0B9 -:10052000AB01420F531FFA01EE0FFF1FE40FF51F3F -:10053000EB56FD4F908196FD16C02F5F3F4F2C303C -:10054000310571F781110FC01092800082E0809315 -:1005500081001092850010928400B19A80916F0002 -:10056000826080936F00E8818E2F90E0FC01EE0F97 -:10057000FF1FE80FF91FEB56FD4F808180648083D9 -:100580008881DF91CF911F910F91FF9008954F9235 -:100590005F926F927F928F929F92AF92BF92CF9213 -:1005A000DF92EF92FF920F931F93CF93DF9300D0D0 -:1005B00000D01F92CDB7DEB78B0129013A0190918F -:1005C00000018917C9F09F3F09F47EC00F900F907A -:1005D0000F900F900F90DF91CF911F910F91FF908F -:1005E000EF90DF90CF90BF90AF909F908F907F90D3 -:1005F0006F905F904F900895ECE7F0E094919D83A9 -:1006000097FDE4CF61E00E941D028D81882321F0D7 -:100610009D81923009F04AC14801B12CA12C60E0C3 -:1006200072E18AE790E0A50198010E9454122983A3 -:100630003A834B835C8369017A0181E0C81AD1084F -:10064000E108F1089FEFC916D104E104F10409F0B3 -:100650000CF401C160E472E48FE090E0A501980120 -:100660000E94541269017A0181E0C81AD108E10898 -:10067000F1089D81923009F0A2C08FEFC816D10415 -:10068000E104F10409F00CF4E6C160E970ED83E0E7 -:1006900090E0A50198010E94541269017A0191E04D -:1006A000C91AD108E108F1088FEFC816D104E10496 -:1006B000F10411F00CF07FC183E09091B100987FBC -:1006C000892B8093B100CFC080930001ECE7F0E06C -:1006D00094919D839F3F09F479CF913041F150F07F -:1006E000923009F446C09D8197FD70CF61E00E9471 -:1006F0001D028ECF14BC15BC94B5926094BD95B507 -:10070000916095BD282F30E0F901E556FF4FE49147 -:10071000F0E0EE0FFF1FEE58FF4F45915491F901A5 -:10072000E155FF4FE491E09335011D826BCF1092AC -:1007300080001092810090918100986090938100D8 -:1007400090918100916090938100282F30E0F90111 -:10075000E556FF4FE491F0E0EE0FFF1FEE58FF4F1C -:1007600045915491F901E155FF4FE491E093340133 -:1007700049CF1092B0001092B1009091B0009260F9 -:100780009093B0009091B10091609093B100282FA8 -:1007900030E0F901E556FF4FE491F0E0EE0FFF1F66 -:1007A000EE58FF4F4591549150933F0140933E01C5 -:1007B000F901E155FF4FE491E093400123CF9FEF12 -:1007C000C916D104E104F10409F00CF46DC068E429 -:1007D00078EE81E090E0A50198010E945412690131 -:1007E0007A0181E0C81AD108E108F1089D819923B6 -:1007F00009F4FAC08FEFC816D104E104F10411F036 -:100800000CF0FBC0EFC064E274EF80E090E0A50163 -:1008100094010E94541269017A0181E0C81AD1083A -:10082000E108F10885E09FEFC916D104E104F10465 -:1008300009F008F442CF62E17AE780E090E0A50198 -:1008400094010E94541269017A0181E0C81AD1080A -:10085000E108F108E5C081E09D8191112ECF95B5A9 -:10086000987F892B85BD2FEF3FEFA90141145104DB -:100870006104710409F043C09D81913009F45EC0A8 -:10088000923009F46DC09111A1CEC7BC20933A01FA -:1008900030933B0140933C0150933D0180916E00A9 -:1008A000826080936E0092CE82E0D6CFB12CA12CD4 -:1008B00060E072E18AE790E0A50198010E9454127D -:1008C00069017A0181E0C81AD108E108F108C11470 -:1008D000D10491E0E906F10404F591E08D818130C5 -:1008E00011F680918100887F892B809381002FEF02 -:1008F0003FEFA9014114510461047104F9F0D801DA -:10090000AA0FBB1FA30192010E94731228EE33E0CD -:1009100040E050E00E948612AFCF68E478EE81E0BC -:1009200090E0A50198010E94541269017A0181E0CA -:10093000C81AD108E108F10893E0D0CFD09289001D -:10094000C0928800209336013093370140933801DC -:100950005093390180916F00826080936F0036CE92 -:10096000C092B30020934101309342014093430170 -:10097000509344018091700082608093700026CE75 -:1009800084E09FEFC916D104E104F10409F008F4F2 -:1009900066CFC980DA80EB80FC808AE0F594E7942A -:1009A000D794C7948A95D1F781E0C81AD108E10895 -:1009B000F10885E054CF68E478EE81E090E0A5018D -:1009C00098010E94541269017A0181E0C81AD10885 -:1009D000E108F1089FEFC916D104E104F10411F018 -:1009E0000CF011CF84E069CE83E09FEFC916D104EB -:1009F000E104F10409F00CF432CF62E17AE780E01F -:100A000090E0A50194010E94541269017A0181E0ED -:100A1000C81AD108E108F1089D81992309F4B0CFE3 -:100A200086E09FEFC916D104E104F10409F008F44F -:100A300044CEC980DA80EB80FC809AE0F594E7949C -:100A4000D794C7949A95D1F781E0C81AD108E108E4 -:100A5000F10887E032CE82E030CE1F93CF93DF9350 -:100A6000182FEB0161E00E941D02209739F460E02D -:100A7000812FDF91CF911F910C94C301CF3FD105FE -:100A800011F461E0F5CFE12FF0E0E957FF4FE49179 -:100A9000E33031F140F4E130B1F0E230E1F0C03860 -:100AA000D1057CF7E4CFE73029F1E83059F1E430A3 -:100AB000B1F780918000806280938000D0938B009A -:100AC000C0938A0004C084B5806884BDC7BDDF912F -:100AD000CF911F91089584B5806284BDC8BDF7CFC2 -:100AE00080918000806880938000D0938900C093BB -:100AF0008800EDCF8091B00080688093B000C093F3 -:100B0000B300E5CF8091B00080628093B000C093C5 -:100B1000B400DDCF3FB7F89480913001909131015E -:100B2000A0913201B091330126B5A89B05C02F3F9B -:100B300019F00196A11DB11D3FBFBA2FA92F982F03 -:100B40008827BC01CD01620F711D811D911D42E0FE -:100B5000660F771F881F991F4A95D1F708958F92C6 -:100B60009F92AF92BF92CF92DF92EF92FF924B0192 -:100B70005C010E948A056B017C010E948A056C1948 -:100B80007D098E099F09683E734081059105A8F390 -:100B900021E0821A9108A108B10888EEC80E83E00E -:100BA000D81EE11CF11C81149104A104B10429F7A1 -:100BB000FF90EF90DF90CF90BF90AF909F908F907D -:100BC00008958F929F92AF92BF92CF92DF92EF9251 -:100BD000FF92CF93DC011796CC91179750E06111EB -:100BE0005C2F18962C91189730E0220F331F235852 -:100BF0003F4F60E070E0CB01F901E590F490F70120 -:100C000040814C23451315C04B015C01FFEF8F1A47 -:100C10009F0AAF0ABF0A1D96CD90DD90ED90FC9023 -:100C200050976C157D058E059F0568F060E070E0BB -:100C3000CB01CF91FF90EF90DF90CF90BF90AF901E -:100C40009F908F900895C501B401D6CF8F929F9247 -:100C5000AF92BF92CF92DF92EF92FF920F931F93CA -:100C6000CF93DF93CDB7DEB7C054D1400FB6F89421 -:100C7000DEBF0FBECDBF2FB7F8944091F401509165 -:100C8000F5016091F6017091F7012FBFFC0101851C -:100C90001285238534856A017B01C01AD10AE20AD4 -:100CA000F30A97018601003D174021053105B0F494 -:100CB000FC018189C05CDE4F0FB6F894DEBF0FBE29 -:100CC000CDBFDF91CF911F910F91FF90EF90DF90FB -:100CD000CF90BF90AF909F908F9008958C01FC01B2 -:100CE000418752876387748714821382128211822C -:100CF000108261E085810E94C3016AEF70E080E0AC -:100D000090E00E94AF0561E0F80185810E941D021C -:100D100060E0F80185810E94C30164E170E080E039 -:100D200090E00E94AF05F89461E0F80185810E948F -:100D3000C3018BE990E00197F1F762E0F80185814A -:100D40000E941D0283E290E00197F1F760E0C80184 -:100D50000E94E105672B682B692B29F4F801118AA1 -:100D6000789480E0A7CF61E0C8010E94E105672B7D -:100D7000682B692B99F3CE0101967C015E019FEBF4 -:100D8000A91A9EEFB90A670160E0C8010E94E10557 -:100D9000F601608371838283938361E0C8010E94BE -:100DA000E105F6016483758386839783F8E0CF0EAF -:100DB000D11CCA14DB0441F7789430E020E0F7013D -:100DC00080809180A280B380448155816681778143 -:100DD00081149104A104B10429F041155105610564 -:100DE000710519F4F801118ABCCFF90183E0F5957A -:100DF000E7958A95E1F7E00FF11F8081880F84164F -:100E00009506A606B706F0F080832F5F3F4FF8E007 -:100E1000EF0EF11C2832310591F6F8014481208152 -:100E20008181280F3327331F8281280F311D838151 -:100E3000820F932F911D99274817190699F681E083 -:100E4000818B38CF8160E0CF8F929F92AF92BF921B -:100E5000CF92DF92EF92FF92FC01828158E5C52E7E -:100E600052E0D52EC81AD10887FDD394CC0CDD1CD6 -:100E7000CC0CDD1C0D2C000CEE08FF08818178E8FD -:100E8000872E912C881A910887FD9394880C991CC1 -:100E9000880C991C092C000CAA08BB0880818F3F84 -:100EA000D1F190E0FC01EE0FFF1FE80FF91FEB56A8 -:100EB000FD4F8181928133E0880F991F3A95E1F7C8 -:100EC000B0E0A0E044E0B595A795979587954A9541 -:100ED000D1F702969C012F5F3F4F032E000C440B6D -:100EE000550B281939094A095B09A4EBB0E00E94A7 -:100EF0007312A7019601281939094A095B090E9452 -:100F00005412C901FF90EF90DF90CF90BF90AF9047 -:100F10009F908F90089590E080E0DCCFCF92DF9299 -:100F2000EF92FF92CF93DF93EC01603282E078077B -:100F3000CCF5653B710514F064EB70E0898128E81D -:100F400030E0281B310987FD3395220F331F220F14 -:100F5000331F6901330FEE08FF088A8128E532E06C -:100F6000281B310987FD3395220F331F220F331FB2 -:100F7000032E000C440B550B2C193D094E095F093B -:100F8000DB0177FF02C0B0E0A0E00E947E1224EBFC -:100F900030E040E050E00E945412C20ED31EE41E26 -:100FA000F51EB601E881EC3070F5298188E890E003 -:100FB000821B910927FD9395880F991F880F991F10 -:100FC000681779077CF02A8188E592E0821B9109F5 -:100FD00027FD9395880F991F880F991F6817790728 -:100FE0000CF4CB010297880F991F4FB7F8942E2F5E -:100FF00030E0F901EE0FFF1FE20FF31FEB56FD4F3C -:10100000928381834FBFDF91CF91FF90EF90DF906C -:10101000CF900895FC01EE0FFF1FE852FE4F208194 -:101020003181232B39F421E030E03183208361E0EA -:101030000C941D020895682F88EF91E00C942D0107 -:10104000CF92DF92EF92FF92CF93DF936B017C01FF -:1010500082E00E941B08C0922A01D0922B01E092EC -:101060002C01F0922D01CAE2D1E089910E941B0867 -:1010700081E0CE32D807C9F7DF91CF91FF90EF9092 -:10108000DF90CF90089542E050E067E271E088EF92 -:1010900091E00C948D008FEF0E941B0885E50C9465 -:1010A0001B088FEF0E941B0885E50E941B080C940B -:1010B00043080F931F93CF930CED11E0C2E061E062 -:1010C0008C2F0E941D0260E08C2F0E94C301F8014A -:1010D000119211928F01CF5FCE3089F7CF911F917E -:1010E0000F9108951F920F920FB60F9211242F9314 -:1010F0003F934F935F936F937F938F939F93AF93A0 -:10110000BF93EF93FF938091410190914201A09191 -:101110004301B0914401892B8A2B8B2BD1F1909103 -:101120004001E0913E01F0913F0180818927808359 -:101130008091410190914201A0914301B0914401FD -:10114000181619061A061B069CF48091410190910D -:101150004201A0914301B09144010197A109B10955 -:101160008093410190934201A0934301B0934401C5 -:10117000FF91EF91BF91AF919F918F917F916F916F -:101180005F914F913F912F910F900FBE0F901F9045 -:101190001895809100010E94F101EACF1F920F92F1 -:1011A0000FB60F9211242F933F934F935F936F933A -:1011B0007F938F939F93AF93BF93EF93FF9388EFAA -:1011C00091E00E940B01FF91EF91BF91AF919F9130 -:1011D0008F917F916F915F914F913F912F910F90E0 -:1011E0000FBE0F901F9018951F920F920FB60F927F -:1011F00011242F938F939F93EF93FF93E091080215 -:10120000F09109028081E0910E02F0910F0282FDBF -:101210001BC09081809111028F5F8F732091120209 -:10122000821741F0E0911102F0E0E850FE4F958FF7 -:1012300080931102FF91EF919F918F912F910F90C9 -:101240000FBE0F901F9018958081F4CF1F920F92C0 -:101250000FB60F9211242F933F938F939F93AF93C9 -:10126000BF938091F4019091F501A091F601B091A6 -:10127000F70130912F0123E0230F2D3758F5019608 -:10128000A11DB11D20932F018093F4019093F501CE -:10129000A093F601B093F701809130019091310154 -:1012A000A0913201B09133010196A11DB11D80932F -:1012B000300190933101A0933201B0933301BF917B -:1012C000AF919F918F913F912F910F900FBE0F90F3 -:1012D0001F90189526E8230F0296A11DB11DD2CFAD -:1012E0001F920F920FB60F9211242F933F934F939B -:1012F0005F936F937F938F939F93AF93BF93CF939E -:10130000DF93EF93FF9380912E01C091B902D0E05B -:1013100087FF24C0109285001092840080912E01D6 -:101320008F5F80932E0180912E01082E000C990B67 -:101330008C179D0724F480912E018C30C4F180918C -:10134000840090918500049680349C4908F47AC00A -:101350008091840090918500049676C080912E0142 -:10136000082E000C990B8C179D07C4F6E0912E01F6 -:101370008E2FEE0F990BFC01EE0FFF1FE80FF91FE8 -:10138000EB56FD4F808186FFC9CFE0912E018E2F55 -:10139000EE0F990BFC01EE0FFF1FE80FF91FEB5644 -:1013A000FD4F808160E08F730E94C301B7CF209111 -:1013B000840030918500E0912E018E2FEE0F990B65 -:1013C000FC01EE0FFF1FE80FF91FEB56FD4F818167 -:1013D0009281820F931F9093890080938800E091FF -:1013E0002E018E2FEE0F990BFC01EE0FFF1FE80F61 -:1013F000F91FEB56FD4F808186FF11C0E0912E0151 -:101400008E2FEE0F990BFC01EE0FFF1FE80FF91F57 -:10141000EB56FD4F808161E08F730E94C301FF9105 -:10142000EF91DF91CF91BF91AF919F918F917F917C -:101430006F915F914F913F912F910F900FBE0F9041 -:101440001F90189580E49CE9909389008093880010 -:101450008FEF80932E01E3CFCF92DF92EF92FF9236 -:101460000F931F93E82FF92F05C00150110921098F -:10147000310961F1908196239417B9F305C00150A9 -:1014800011092109310911F1908196239413F7CFA5 -:10149000C12CD12CE12CF12C0AC08FEFC81AD80A2C -:1014A000E80AF80A0C151D052E053F0579F0808124 -:1014B0008623841791F36C2D7D2D8E2D9F2D1F91EA -:1014C0000F91FF90EF90DF90CF90089560E070E073 -:1014D00080E090E01F910F91FF90EF90DF90CF9010 -:1014E00008951092FB011092FA0188EE93E0A0E0BB -:1014F000B0E08093FC019093FD01A093FE01B093B6 -:10150000FF0189E191E09093F9018093F80185EC66 -:1015100090E0909305028093040284EC90E0909315 -:1015200007028093060280EC90E09093090280937A -:10153000080281EC90E090930B0280930A0282EC07 -:1015400090E090930D0280930C0286EC90E09093D3 -:101550000F0280930E02109211021092120210924A -:10156000130210921402E2E0F3E02EE033E04FEFBA -:1015700068EB7BE08091B9028C3008F077C091E095 -:10158000980F9093B902808390E0DC01AA0FBB1FF3 -:10159000A80FB91FAB56BD4F12967C936E9311974F -:1015A00033962E173F0731F782E08093F5022BE048 -:1015B0002093F602E1EBF0E0E491E093F702EDE92D -:1015C000F0E0E491E093F80280E89EE3A0E0B0E070 -:1015D0008093FD029093FE02A093FF02B09300035C -:1015E00033E03093E3022093E402E2EBF0E0E49195 -:1015F000E093E502EEE9F0E0E491E093E602809307 -:10160000EB029093EC02A093ED02B093EE0234E073 -:101610003093D1022093D202E3EBF0E0E491E09327 -:10162000D302EFE9F0E0E491E093D4028093D90291 -:101630009093DA02A093DB02B093DC0235E03093A2 -:10164000BF022093C002E4EBF0E0E491E093C1021A -:10165000E0EAF0E0E491E093C2028093C702909345 -:10166000C802A093C902B093CA020895408398CFDC -:10167000789484B5826084BD84B5816084BD85B56D -:10168000826085BD85B5816085BD80916E00816079 -:1016900080936E001092810080918100826080931F -:1016A0008100809181008160809381008091800021 -:1016B0008160809380008091B10084608093B1004C -:1016C0008091B00081608093B00080917A00846046 -:1016D00080937A0080917A00826080937A00809172 -:1016E0007A00816080937A0080917A00806880938C -:1016F0007A001092C100E0910802F091090282E0A4 -:101700008083E0910402F09105021082E0910602CC -:10171000F091070280E1808310921002E0910C02A8 -:10172000F0910D0286E08083E0910A02F0910B02B5 -:10173000808180618083E0910A02F0910B028081B8 -:1017400088608083E0910A02F0910B0280818068BA -:101750008083E0910A02F0910B0280818F7D80836B -:101760000E94590868EC70E080E090E00E94AF05AC -:1017700034E6432E512C612C712C43EC242E41E095 -:10178000342E23E0922E88EF91E00E94EB00EC01D2 -:10179000892B09F4C7C388EF91E00E94EB0018166B -:1017A00019068CF788EF91E00E94C9009091920190 -:1017B000853509F057C0911155C0809191018F3F37 -:1017C00029F421E0209390012093920180919001CF -:1017D0008F5F843308F05EC0809390018091920106 -:1017E000882389F280918F018111CDCF8091900162 -:1017F000843048F21092920180915F01E091600183 -:10180000A0906101CA2DD0E0D093D401C093D30140 -:1018100080906201082D10E010935A010093590145 -:10182000B0906301EB2CF12CF0925801E09257013B -:10183000823009F402C1833009F4D7C2813079F4CF -:10184000E63009F04EC08091D70181608093D701C6 -:1018500031E0A316C1F13A1514F1AA2069F11092F2 -:10186000900191CF80939101992309F4AFCFE0913A -:101870009001E23039F480938F01F0E0E55AFE4F99 -:101880008083A4CFE330C8F390918F01915090935F -:101890008F01F3CF10929001109292019FCF82E0BE -:1018A000A816C1F093E0A912DACF8AEB92E09093E8 -:1018B000D6018093D501D3CFA0EFB2E0B093D6018B -:1018C000A093D501CCCFEEEDF2E0F093D601E093FA -:1018D000D501C5CF2CEC32E03093D6012093D50151 -:1018E000BECFF0E0E430F105A9F57E0192E0E90E0B -:1018F000F11CC7010E940A08A99C800111240E5FF7 -:101900001C4F44EE52E0B701C8010E94590264E145 -:1019100070E080E090E00E94AF05C8010E942407BB -:101920008C01CC0FDD1FC15BDE4F198308830E9441 -:101930004B08B801110F880B990B0E9437110E94B8 -:1019400020088A2D0E941B0884E00E941B080E9428 -:10195000430885CF379709F069C08091D70182602D -:101960008093D70112E01A0DFE01EB5FFE4F10834A -:1019700006E00A0DCF5FDE4F088361E0802F0E94F2 -:101980001D0260E0812F0E941D0260E0812F0E94F5 -:10199000C30160E0802F0E94C30183E090E00197C3 -:1019A000F1F761E0802F0E94C30183E290E001978C -:1019B000F1F760E0802F0E94C301812F90E0FC01CD -:1019C000E155FF4F6491FC01E556FF4FE491F0E0D3 -:1019D000EE0FFF1FE358FF4F8591949108EA11E63F -:1019E00020E030E0462F0E942C0A61157105810528 -:1019F000910529F06F5F7F4F8F4F9F4F9F70C09170 -:101A0000D301D091D401CC0FDD1FCC0FDD1FCD55FC -:101A1000DE4F0E94351120E030E048E652E40E949B -:101A20002413688379838A839B8319CFCC0FDD1FAE -:101A3000C852DE4F1982188212CFE150ED3000F506 -:101A40000E2E000CFF0BE95DF24F0C94D113340DF8 -:101A5000400D430D780D540D400D400D110E400DFD -:101A6000400D1D0E420E340D8091D701806280938F -:101A7000D701CE010E940A08682D8A2D0E94C30159 -:101A80000E945108ECCE8AE090E00E940A08A1E092 -:101A900020E030E0A90160ED77E08AE08A1619F1D4 -:101AA0008AE00E94F101ECCFCE010E940A088092E8 -:101AB0004501B092460160914501709146018091C7 -:101AC00064018093450180916501809346012091D6 -:101AD0004501309146011216130644F4032E000C02 -:101AE000440B550B8A2D0E94C702CACF8A2DD9CF2D -:101AF0006E01B2E0CB0ED11CC6010E940A08A99C5F -:101B0000800111240E5F1C4F44EE52E0B601C80163 -:101B10000E94590264E170E080E090E00E94AF050D -:101B2000E2E18E16E1F0F3E18F1609F449C021E1FC -:101B30008212A6CF34EB3B1508F4A2CFB701C8013F -:101B40000E948E0769E170E080E090E00E94AF059E -:101B5000CC0FDD1FC15BDE4FF982E88291CFC80157 -:101B60000E9424077C01CC0FDD1FC15BDE4F9983EF -:101B7000888364E170E080E090E00E94AF05BB20C4 -:101B800061F081E0B8127CCF94EBE916F1040CF01F -:101B900077CFB7016F5F7F4F07C0B7016150710901 -:101BA0001E141F040CF06CCF79836883C8010E9457 -:101BB0008E0769E170E080E090E00E94AF0560CFA1 -:101BC00070E060E0C8010E948E0769E170E080E08B -:101BD00090E00E94AF0570E060E082E08A0D0E9414 -:101BE0002D058E01000F111FC00FD11FCE5FDC4FDE -:101BF000288130E0C901880F991F820F931FFC01D3 -:101C0000EB56FD4F80818F7B808364E170E080E044 -:101C100090E00E94AF05F801E15BFE4F1182108257 -:101C20002FCF8FB7F8944091F4015091F501609156 -:101C3000F6017091F7018FBF23CF8091D7018064A7 -:101C40008093D7018BE090E00E940A088CE090E03E -:101C50000E940A088DE090E00E940A0885EF8A0D34 -:101C6000833008F00DCFB8018BE00E942D05B7013D -:101C70008CE00E942D056091640170E08DE00E946F -:101C80002D05FECECE0106960E940A08CE010296D0 -:101C90000E940A08A1E08A1609F43DC0A8151CF1AB -:101CA0008110EECE70E060E086E08A0D0E942D0586 -:101CB00070E060E082E08A0D0E942D0510924C01D8 -:101CC0001092480170E060E087E08A0D0E942D05C7 -:101CD00070E060E083E08A0D0E942D0510924E01B5 -:101CE00010924A01CDCEB2E08B16D1F1E3E08E1214 -:101CF000C7CE61E086E08A0D0E94C30161E082E008 -:101D00008A0D0E94C301FE01E55BFE4F1082C95B94 -:101D1000DE4F1882B5CEFE01E95BFE4FB082C55B97 -:101D2000DE4FC881CC2309F4ABCEBB2061F0F1E0DB -:101D3000BF12A6CE70E060E086E08A0D0E942D05FD -:101D40006C2F70E00AC06FEF70E086E08A0D0E9491 -:101D50002D056FEF70E06C1B710982E08A0D8FCF4B -:101D6000FE01E95BFE4F8081811120C0C55BDE4F23 -:101D7000B1100DC018826FEF70E086E08A0D0E94EE -:101D80002D0588816FEF70E0681B7109E6CF970120 -:101D9000A5EAB0E00E94A812A30192010E94541289 -:101DA000265A3F4F4F4F5F4F2883E5CF813009F0D0 -:101DB00067CEC55BDE4FB11009C0188270E060E0ED -:101DC00086E08A0D0E942D056881BBCF9701AFEA9E -:101DD000B0E00E94A812A30192010E945412205B5D -:101DE0003F4F4F4F5F4F2883E9CF8AE090E00E943A -:101DF0000A088AE00E94F1010E94590883E090E0FD -:101E00000E940A0840E252E063E070E085E093E05F -:101E10000E94590264E170E080E090E00E94AF050A -:101E200070E060E085E093E00E948E0769E170E079 -:101E300080E090E00E94AF0570E060E083E00E94E7 -:101E40002D052091050330E0C901880F991F820FED -:101E5000931FFC01EB56FD4F80818F7B808364E1F3 -:101E600070E080E090E00E94AF0585E090E00E9485 -:101E70000A0840E252E065E070E08BE093E00E94E7 -:101E8000590264E170E080E090E00E94AF0570E0EC -:101E900060E08BE093E00E948E0769E170E080E0F3 -:101EA00090E00E94AF0570E060E085E00E942D05A3 -:101EB00020910B0330E0C901880F991F820F931FF7 -:101EC000FC01EB56FD4F80818F7B808364E170E0E5 -:101ED00080E090E00E94AF05E3EBF1E08FE491E059 -:101EE000CBE4D1E027E431E01192119211921192EA -:101EF000DC011D921D92CD011992D9011D929D0107 -:101F00002E163F0689F71092D4011092D301109239 -:101F10005A011092590110925801109257011092D3 -:101F2000D701AECD6FE070E080E090E00E94AF0599 -:101F300048EDC42E41E0D42E59E0E52E51E0F52EB7 -:101F4000F601019111916F010115110509F03AC0D7 -:101F50009C2E60E08C2F0E941D020E944B08FE0107 -:101F6000E957FF4F8491FE01E155FF4FA490FE0118 -:101F7000E556FF4FB490BB2099F081110E949A0161 -:101F8000EB2DF0E0EE0FFF1FE358FF4FA591B4914A -:101F9000EC91AE2291E080E009F490E0092F182F37 -:101FA000B801110F880B990B0E9437110E9420086D -:101FB000892D0E941B0881E00E941B080E94430893 -:101FC0000E945108C630D1056CF5D7018D919C91C6 -:101FD000892B41F50E944B081C2F8C2F8064809325 -:101FE0007C0080917A00806480937A0080917A00EE -:101FF00086FDFCCF8091780060917900762F682F64 -:10200000072E000C880B990B0E9437110E942008A4 -:10201000812F0E941B0882E00E941B080E94430837 -:102020000E9451082196B2E0EB0EF11CCE30D10592 -:1020300009F086CF8091D70180FF9AC0C091D50169 -:10204000D091D601CE010E942606882339F08E81D8 -:102050008B3049F018F08551823090F160E070E0EB -:1020600080EC9FE706C0688170E090E080E00E940D -:102070003511E090D301F090D4018701000F111FBA -:10208000000F111FF801ED53FE4F6F010E949613D0 -:10209000D6016D937D938D939C931397CE010E94EF -:1020A0002606882341F08E818B3049F120F085513E -:1020B000823008F4B1C060E070E080EC9FE725C09A -:1020C000688170E090E080E00E94351120E030E00F -:1020D00040E853E40E9496116B017C01698170E035 -:1020E00090E080E00E943711A70196010E94B8128B -:1020F0002DEC3CEC4CEC5DE30E949611BACF6A816A -:1021000070E090E080E00E943511E801CD54DE4F90 -:102110000E949613688379838A839B830E944B086D -:10212000C3ECD1E003EB11E0699179918991999128 -:102130000E9435110E942008F801619171918191EE -:1021400091918F010E9435110E942008F1E0C33D5A -:10215000DF0751F782E08E0D0E941B0886E00E9487 -:102160001B080E9443088091D7018E7F8093D7017E -:102170008091D70181FF3DC00091D3011091D4011E -:10218000E801CC0FDD1FCC0FDD1FFE01ED55FE4F2A -:10219000C080D180E280F38020E030E0A901C70157 -:1021A000B6010E943011882331F0CD56DE4FC8822F -:1021B000D982EA82FB820E944B08C3E9D1E083EA1C -:1021C000E82E81E0F82E69917991899199910E9488 -:1021D0002008EC16FD06B9F7802F0E941B0887E047 -:1021E0000E941B080E9443088091D7018D7F809335 -:1021F000D70164E170E080E090E00E94AF0580E0EC -:1022000090E0892B09F4BDCA0E94F700882309F4E5 -:10221000B8CA0E940000B5CADA806D2D6F7770E0F1 -:1022200090E080E00E94371120E030E040E853E485 -:102230000E9496114B015C016B8170E090E080E0A0 -:102240000E943711A50194010E94B8122DEC3CECBC -:102250004CEC5DE30E949611D7FE57CF905855CFB6 -:102260000E94721108F481E00895E89409C097FB78 -:102270003EF490958095709561957F4F8F4F9F4F5D -:102280009923A9F0F92F96E9BB279395F6958795A1 -:1022900077956795B795F111F8CFFAF4BB0F11F464 -:1022A00060FF1BC06F5F7F4F8F4F9F4F16C088230B -:1022B00011F096E911C0772321F09EE8872F762F41 -:1022C00005C0662371F096E8862F70E060E02AF082 -:1022D0009A95660F771F881FDAF7880F969587956E -:1022E00097F90895990F0008550FAA0BE0E8FEEF43 -:1022F00016161706E807F907C0F012161306E407CA -:10230000F50798F0621B730B840B950B39F40A26C2 -:1023100061F0232B242B252B21F408950A2609F4A0 -:10232000A140A6958FEF811D811D08950E94A911DE -:102330000C941A120E940C1238F00E94131220F012 -:10234000952311F00C9403120C94091211240C948F -:102350004E120E942B1270F3959FC1F3950F50E01F -:10236000551F629FF001729FBB27F00DB11D639F47 -:10237000AA27F00DB11DAA1F649F6627B00DA11DED -:10238000661F829F2227B00DA11D621F739FB00D93 -:10239000A11D621F839FA00D611D221F749F332703 -:1023A000A00D611D231F849F600D211D822F762F9C -:1023B0006A2F11249F5750409AF0F1F088234AF079 -:1023C000EE0FFF1FBB1F661F771F881F91505040E5 -:1023D000A9F79E3F510580F00C9403120C944E1205 -:1023E0005F3FE4F3983ED4F3869577956795B7956C -:1023F000F795E7959F5FC1F7FE2B880F911D969586 -:10240000879597F9089597F99F6780E870E060E0F5 -:1024100008959FEF80EC089500240A94161617067D -:1024200018060906089500240A94121613061406C5 -:1024300005060895092E0394000C11F4882352F028 -:10244000BB0F40F4BF2B11F460FF04C06F5F7F4FE0 -:102450008F4F9F4F089557FD9058440F551F59F0C7 -:102460005F3F71F04795880F97FB991F61F09F3F81 -:1024700079F087950895121613061406551FF2CFAA -:102480004695F1DF08C0161617061806991FF1CFFA -:1024900086957105610508940895E894BB27662721 -:1024A0007727CB0197F90895052E97FB1EF400942A -:1024B0000E946B1257FD07D00E94861207FC03D0C2 -:1024C0004EF40C946B1250954095309521953F4FEA -:1024D0004F4F5F4F089590958095709561957F4F10 -:1024E0008F4F9F4F08950E94A812A59F900DB49FF3 -:1024F000900DA49F800D911D11240895B7FF0C9499 -:1025000073120E947312821B930B0895A1E21A2E7C -:10251000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F87 -:10252000A217B307E407F50720F0A21BB30BE40BD7 -:10253000F50B661F771F881F991F1A9469F760951E -:102540007095809590959B01AC01BD01CF010895D8 -:10255000A29FB001B39FC001A39F700D811D1124E4 -:10256000911DB29F700D811D1124911D0895505829 -:10257000BB27AA270E94CF120C941A120E940C1299 -:1025800038F00E94131220F039F49F3F19F426F41A -:102590000C9409120EF4E095E7FB0C940312E92F5A -:1025A0000E942B1258F3BA17620773078407950726 -:1025B00020F079F4A6F50C944D120EF4E0950B2E54 -:1025C000BA2FA02D0B01B90190010C01CA01A00185 -:1025D0001124FF27591B99F0593F50F4503E68F1E0 -:1025E0001A16F040A22F232F342F4427585FF3CF21 -:1025F000469537952795A795F0405395C9F77EF4F2 -:102600001F16BA0B620B730B840BBAF09150A1F03A -:10261000FF0FBB1F661F771F881FC2F70EC0BA0FC0 -:10262000621F731F841F48F4879577956795B79548 -:10263000F7959E3F08F0B0CF9395880F08F0992743 -:10264000EE0F9795879508950E9438130C941A12EF -:102650000E94131258F00E940C1240F029F45F3FC0 -:1026600029F00C94031251110C944E120C9409127F -:102670000E942B1268F39923B1F3552391F3951B14 -:10268000550BBB27AA2762177307840738F09F5F93 -:102690005F4F220F331F441FAA1FA9F335D00E2E00 -:1026A0003AF0E0E832D091505040E695001CCAF76D -:1026B0002BD0FE2F29D0660F771F881FBB1F261730 -:1026C00037074807AB07B0E809F0BB0B802DBF0107 -:1026D000FF2793585F4F3AF09E3F510578F00C94D6 -:1026E00003120C944E125F3FE4F3983ED4F38695A8 -:1026F00077956795B795F7959F5FC9F7880F911DF7 -:102700009695879597F90895E1E0660F771F881FE2 -:10271000BB1F621773078407BA0720F0621B730B95 -:10272000840BBA0BEE1F88F7E09508950E943312D0 -:1027300088F09F5798F0B92F9927B751B0F0E1F082 -:10274000660F771F881F991F1AF0BA95C9F714C032 -:10275000B13091F00E944D12B1E008950C944D12E9 -:10276000672F782F8827B85F39F0B93FCCF386956B -:1027700077956795B395D9F73EF4909580957095C8 -:1027800061957F4F8F4F9F4F0895991B79E004C04B -:10279000991F961708F0961B881F7A95C9F78095A0 -:1027A0000895EE0FFF1F0590F491E02D0994F89421 -:0227B000FFCF59 -:1027B200FF060708090203040500000000000000EC -:1027C2000000000000000000002D018D00BA007A18 -:0A27D20001EB00C900DD000D0A0054 -:00000001FF +:100000000C9463000C948B000C948B000C94A90945 +:100010000C94A9090C94A9090C948B000C94390830 +:100020000C948B000C948B000C948B000C94ED08BA +:100030000C948B000C948B000C948B000C948B0014 +:100040000C94EF070C948B000C94BB080C9495084F +:100050000C948B000C948B000C948B000C948B00F4 +:100060000C948B000C948B000200000000230026EF +:1000700000290000000000240027002A00000000E2 +:1000800000250028002B00040404040404040402D6 +:100090000202020202030303030303010204081025 +:1000A00020408001020408102001020408102000F2 +:1000B0000000080002010000030407000000000027 +:1000C00000000000F80911241FBECFEFD8E0DEBF0A +:1000D000CDBF11E0A0E0B1E0E0E4F6E202C005909F +:1000E0000D92A432B107D9F722E0A4E2B1E001C039 +:1000F0001D92AA3AB207E1F710E0C3E6D0E004C0CF +:100100002197FE010E941813C236D107C9F70E9439 +:100110005D0A0C941E130C940000833081F028F4C7 +:10012000813099F08230A9F008958730A9F08830A5 +:10013000C9F08430B1F4809180008F7D03C080913C +:1001400080008F7780938000089584B58F7784BD79 +:10015000089584B58F7DFBCF8091B0008F77809319 +:10016000B00008958091B0008F7DF9CF1F93CF9399 +:10017000DF93282F30E0F901E155FF4F8491F90119 +:10018000E556FF4FD491F901E957FF4FC491CC23B5 +:10019000A9F0162F81110E948D00EC2FF0E0EE0FD8 +:1001A000FF1FE358FF4FA591B4918FB7F894EC91DE +:1001B000111108C0D095DE23DC938FBFDF91CF9162 +:1001C0001F910895DE2BF8CFCF93DF9390E0FC01D1 +:1001D000E556FF4F249189579F4FFC018491882356 +:1001E000C9F090E0880F991FFC01ED58FF4FA591D1 +:1001F000B491FC01E358FF4FC591D49161110DC03A +:100200009FB7F8948C91209582238C938881282322 +:1002100028839FBFDF91CF910895623051F49FB73B +:10022000F8943C91822F809583238C93E8812E2B28 +:10023000EFCF8FB7F894EC912E2B2C938FBFEACF92 +:100240001F93CF93DF93182FEB0161E00E94E4002E +:10025000209739F460E0812FDF91CF911F910C94AA +:10026000B600CF3FD10511F461E0F5CFE12FF0E00A +:10027000E155FF4FE491E33031F140F4E130B1F06A +:10028000E230E1F0C038D1057CF7E4CFE73029F166 +:10029000E83059F1E430B1F78091800080628093BA +:1002A0008000D0938B00C0938A0004C084B580681E +:1002B00084BDC7BDDF91CF911F91089584B5806241 +:1002C00084BDC8BDF7CF8091800080688093800096 +:1002D000D0938900C0938800EDCF8091B0008068F2 +:1002E0008093B000C093B300E5CF8091B0008062EE +:1002F0008093B000C093B400DDCF3FB7F8948091F5 +:10030000C8019091C901A091CA01B091CB0126B555 +:10031000A89B05C02F3F19F00196A11DB11D3FBF3D +:10032000BA2FA92F982F8827BC01CD01620F711D0C +:10033000811D911D42E0660F771F881F991F4A9506 +:10034000D1F708958F929F92AF92BF92CF92DF9292 +:10035000EF92FF924B015C010E947D016B017C01D9 +:100360000E947D016C197D098E099F09683E7340CA +:1003700081059105A8F321E0821A9108A108B1082E +:1003800088EEC80E83E0D81EE11CF11C8114910494 +:10039000A104B10429F7FF90EF90DF90CF90BF90B8 +:1003A000AF909F908F9008959091000189130BC09A +:1003B000E8E6F0E0E4919FEF90930001E13049F02E +:1003C00028F0E23061F060E00C94B60010926E000C +:1003D000FACF90916F009D7F90936F00F4CF909132 +:1003E00070009D7F9093700091E09093B000909189 +:1003F000B100987F94609093B1001092B300E3CF66 +:100400004F925F926F927F928F929F92AF92BF9224 +:10041000CF92DF92EF92FF920F931F93CF93DF93D0 +:1004200000D000D01F92CDB7DEB78B0129013A0171 +:10043000909100018917C9F09F3F09F47EC00F9089 +:100440000F900F900F900F90DF91CF911F910F9110 +:10045000FF90EF90DF90CF90BF90AF909F908F90E4 +:100460007F906F905F904F900895E8E6F0E0949150 +:100470009D8397FDE4CF61E00E94E4008D81882395 +:1004800021F09D81923009F04AC14801B12CA12C84 +:1004900060E072E18AE790E0A50198010E94941162 +:1004A00029833A834B835C8369017A0181E0C81A0E +:1004B000D108E108F1089FEFC916D104E104F10465 +:1004C00009F00CF401C160E472E48FE090E0A50152 +:1004D00098010E94941169017A0181E0C81AD1083B +:1004E000E108F1089D81923009F0A2C08FEFC81693 +:1004F000D104E104F10409F00CF4E6C160E970ED07 +:1005000083E090E0A50198010E94941169017A01AD +:1005100091E0C91AD108E108F1088FEFC816D1049B +:10052000E104F10411F00CF07FC183E09091B1007F +:10053000987F892B8093B100CFC080930001E8E6BB +:10054000F0E094919D839F3F09F479CF913041F180 +:1005500050F0923009F446C09D8197FD70CF61E064 +:100560000E94E4008ECF14BC15BC94B5926094BD7B +:1005700095B5916095BD282F30E0F901E957FF4FFF +:10058000E491F0E0EE0FFF1FE358FF4F45915491C7 +:10059000F901E556FF4FE491E0932C011D826BCFEA +:1005A0001092800010928100909181009860909349 +:1005B000810090918100916090938100282F30E01C +:1005C000F901E957FF4FE491F0E0EE0FFF1FE35808 +:1005D000FF4F45915491F901E556FF4FE491E093A7 +:1005E0002B0149CF1092B0001092B1009091B00051 +:1005F00092609093B0009091B10091609093B1009F +:10060000282F30E0F901E957FF4FE491F0E0EE0FB9 +:10061000FF1FE358FF4F459154915093360140938B +:100620003501F901E556FF4FE491E093370123CFFF +:100630009FEFC916D104E104F10409F00CF46DC078 +:1006400068E478EE81E090E0A50198010E949411A1 +:1006500069017A0181E0C81AD108E108F1089D8199 +:10066000992309F4FAC08FEFC816D104E104F1040C +:1006700011F00CF0FBC0EFC064E274EF80E090E09A +:10068000A50194010E94941169017A0181E0C81AC0 +:10069000D108E108F10885E09FEFC916D104E10413 +:1006A000F10409F008F442CF62E17AE780E090E0DB +:1006B000A50194010E94941169017A0181E0C81A90 +:1006C000D108E108F108E5C081E09D8191112ECFAC +:1006D00095B5987F892B85BD2FEF3FEFA901411478 +:1006E00051046104710409F043C09D81913009F403 +:1006F0005EC0923009F46DC09111A1CEC7BC2093A9 +:100700003101309332014093330150933401809191 +:100710006E00826080936E0092CE82E0D6CFB12CC4 +:10072000A12C60E072E18AE790E0A50198010E94A7 +:10073000941169017A0181E0C81AD108E108F10831 +:10074000C114D10491E0E906F10404F591E08D8132 +:10075000813011F680918100887F892B8093810000 +:100760002FEF3FEFA9014114510461047104F9F026 +:10077000D801AA0FBB1FA30192010E94B31128EE5A +:1007800033E040E050E00E94C611AFCF68E478EE5D +:1007900081E090E0A50198010E94941169017A011D +:1007A00081E0C81AD108E108F10893E0D0CFD092D7 +:1007B0008900C092880020932D0130932E01409330 +:1007C0002F015093300180916F00826080936F0001 +:1007D00036CEC092B3002093380130933901409354 +:1007E0003A0150933B0180917000826080937000C9 +:1007F00026CE84E09FEFC916D104E104F10409F08C +:1008000008F466CFC980DA80EB80FC808AE0F5943A +:10081000E794D794C7948A95D1F781E0C81AD10894 +:10082000E108F10885E054CF68E478EE81E090E0DB +:10083000A50198010E94941169017A0181E0C81A0A +:10084000D108E108F1089FEFC916D104E104F104D1 +:1008500011F00CF011CF84E069CE83E09FEFC91650 +:10086000D104E104F10409F00CF432CF62E17AE73B +:1008700080E090E0A50194010E94941169017A0141 +:1008800081E0C81AD108E108F1089D81992309F493 +:10089000B0CF86E09FEFC916D104E104F10409F05E +:1008A00008F444CEC980DA80EB80FC809AE0F594AD +:1008B000E794D794C7949A95D1F781E0C81AD108E4 +:1008C000E108F10887E032CE82E030CEAF92BF92ED +:1008D000CF92DF92EF92FF920F931F93CF93DF930C +:1008E0006C017B018B01040F151FEB015E01AE183B +:1008F000BF08C017D10759F06991D601ED91FC915D +:100900000190F081E02DC6010995892B79F7C50189 +:10091000DF91CF911F910F91FF90EF90DF90CF90DB +:10092000BF90AF900895FC01538D448D252F30E08A +:10093000842F90E0821B930B541710F0CF960895EC +:1009400001970895FC01918D828D981761F0A28D19 +:10095000AE0FBF2FB11D5D968C91928D9F5F9F73DF +:10096000928F90E008958FEF9FEF0895FC01918D95 +:10097000828D981731F0828DE80FF11D858D90E002 +:1009800008958FEF9FEF0895FC01918D228D892F9F +:1009900090E0805C9F4F821B91098F739927089587 +:1009A00080ED91E00E94C40421E0892B09F420E04D +:1009B000822F089580E090E0892B29F00E94D004D6 +:1009C00081110C9400000895FC01A48DA80FB92F8B +:1009D000B11DA35ABF4F2C91848D90E001968F7367 +:1009E0009927848FA689B7892C93A089B1898C9186 +:1009F000837080648C93938D848D981306C00288D5 +:100A0000F389E02D80818F7D80830895EF92FF929E +:100A10000F931F93CF93DF93EC0181E0888F9B8D21 +:100A20008C8D98131AC0E889F989808185FF15C0DB +:100A30009FB7F894EE89FF896083E889F9898081FE +:100A40008370806480839FBF81E090E0DF91CF91CD +:100A50001F910F91FF90EF900895F62E0B8D10E0EF +:100A60000F5F1F4F0F731127E02E8C8D8E110CC05E +:100A70000FB607FCFACFE889F989808185FFF5CFA9 +:100A8000CE010E94E404F1CFEB8DEC0FFD2FF11DA0 +:100A9000E35AFF4FF0829FB7F8940B8FEA89FB89E6 +:100AA00080818062CFCFCF93DF93EC01888D882344 +:100AB000B9F0AA89BB89E889F9898C9185FD03C0C1 +:100AC000808186FD0DC00FB607FCF7CF8C9185FFA6 +:100AD000F2CF808185FFEDCFCE010E94E404E9CF03 +:100AE000DF91CF910895CF92DF92EF92FF92CF9353 +:100AF000DF93DC011796CC911797D0E06111DC2FC2 +:100B000018962C91189730E0220F331F27593F4F2A +:100B100050E040E0F90185919491FC01F080BA0128 +:100B200090E080E0EF2DEC23ED1310C04F5F5F4F9E +:100B30001D96CD90DD90ED90FC9050976C157D0545 +:100B40008E059F0538F36FEF7FEFCB01DF91CF91DB +:100B5000FF90EF90DF90CF9008958F929F92AF9289 +:100B6000BF92CF92DF92EF92FF920F931F93CF939A +:100B7000DF93CDB7DEB7C054D1400FB6F894DEBFD7 +:100B80000FBECDBF2FB7F8944091CC015091CD014D +:100B90006091CE017091CF012FBFFC0101851285BC +:100BA000238534856A017B01C01AD10AE20AF30A5F +:100BB00097018601003D174021053105B0F4FC0185 +:100BC0008189C05CDE4F0FB6F894DEBF0FBECDBF8B +:100BD000DF91CF911F910F91FF90EF90DF90CF9019 +:100BE000BF90AF909F908F9008958C01FC0141873A +:100BF0005287638774871482138212821182108253 +:100C000062E085810E94E40061E070E080E090E0B5 +:100C10000E94A20161E0F80185810E94E40060E089 +:100C2000F80185810E94B600F801868185518230E5 +:100C300028F58BE291E10197F1F762E0F8018581F7 +:100C40000E94E400F801828990E08230910538F03A +:100C5000880F991F880F991F05970197F1F7F8944E +:100C600060E0C8010E9473056F3F7F4F8F4F9F4F19 +:100C700061F4F801118A789480E0A3CF64E170E018 +:100C800080E090E00E94A201D8CF61E0C8010E94FC +:100C900073056F3F7F4F8F4F9F4F59F3CE010196E2 +:100CA0007C015E019FEBA91A9EEFB90A670160E023 +:100CB000C8010E947305F601608371838283938368 +:100CC00061E0C8010E947305F60164837583868321 +:100CD0009783F8E0CF0ED11CCA14DB0441F7789457 +:100CE00030E020E0F70180809180A280B3804481D1 +:100CF000558166817781FFEF8F169F06AF06BF068D +:100D000031F04F3F8FEF58076807780719F4F80163 +:100D1000118AB2CFF90183E0F595E7958A95E1F75D +:100D2000E00FF11F8081880F84169506A606B7068E +:100D3000F0F080832F5F3F4FF8E0EF0EF11C283278 +:100D4000310581F6F801448120818181280F332704 +:100D5000331F8281280F311D8381820F932F911DB4 +:100D600099274817190699F681E0818B2ACF81606F +:100D7000E0CF8F929F92AF92BF92CF92DF92EF928D +:100D8000FF92FC01828158E5C52E52E0D52EC81A8B +:100D9000D10887FDD394CC0CDD1CCC0CDD1C0D2CB4 +:100DA000000CEE08FF08818178E8872E912C881AC4 +:100DB000910887FD9394880C991C880C991C092C28 +:100DC000000CAA08BB0880818F3FD1F190E0FC01A4 +:100DD000EE0FFF1FE80FF91FE359FD4F818192814C +:100DE00033E0880F991F3A95E1F7B0E0A0E044E0C6 +:100DF000B595A795979587954A95D1F702969C0149 +:100E00002F5F3F4F032E000C440B550B2819390957 +:100E10004A095B09A4EBB0E00E94B311A701960157 +:100E2000281939094A095B090E949411C901FF90E8 +:100E3000EF90DF90CF90BF90AF909F908F900895EC +:100E400090E080E0DCCFCF92DF92EF92FF92CF93E1 +:100E5000DF93EC01603282E07807CCF5653B7105E9 +:100E600014F064EB70E0898128E830E0281B310938 +:100E700087FD3395220F331F220F331F6901330F74 +:100E8000EE08FF088A8128E532E0281B310987FD3A +:100E90003395220F331F220F331F032E000C440BF8 +:100EA000550B2C193D094E095F09DB0177FF02C084 +:100EB000B0E0A0E00E94BE1124EB30E040E050E042 +:100EC0000E949411C20ED31EE41EF51EB601E881E5 +:100ED000EC3070F5298188E890E0821B910927FDAC +:100EE0009395880F991F880F991F681779077CF0D1 +:100EF0002A8188E592E0821B910927FD9395880F4E +:100F0000991F880F991F681779070CF4CB01029776 +:100F1000880F991F4FB7F8942E2F30E0F901EE0F8C +:100F2000FF1FE20FF31FE359FD4F928381834FBFF1 +:100F3000DF91CF91FF90EF90DF90CF900895FC016B +:100F4000EE0FFF1FE555FE4F20813181232B39F431 +:100F500021E030E03183208361E00C94E4000895C7 +:100F6000682F80ED91E00C9406050F931F93CF93AB +:100F7000DF938B01D82FC92F82E00E94B007C801F0 +:100F8000AD2FBC2F8093240190932501A0932601BF +:100F9000B09327010E94B007812F0E94B0078D2FC8 +:100FA0000E94B0078C2FDF91CF911F910F910C946D +:100FB000B00742E050E061E271E080ED91E00C9416 +:100FC00066048FEF0E94B00785E50C94B0078FEFA1 +:100FD0000E94B00785E50E94B0070C94D9071F92C4 +:100FE0000F920FB60F9211242F933F938F939F93DD +:100FF000AF93BF938091CC019091CD01A091CE0190 +:10100000B091CF013091C70123E0230F2D3758F560 +:101010000196A11DB11D2093C7018093CC0190932F +:10102000CD01A093CE01B093CF018091C8019091E2 +:10103000C901A091CA01B091CB010196A11DB11DBA +:101040008093C8019093C901A093CA01B093CB01CA +:10105000BF91AF919F918F913F912F910F900FBEB4 +:101060000F901F90189526E8230F0296A11DB11D21 +:10107000D2CF1F920F920FB60F9211242F933F934E +:101080004F935F936F937F938F939F93AF93BF9390 +:10109000EF93FF938091380190913901A0913A012B +:1010A000B0913B01892B8A2B8B2BD1F19091370189 +:1010B000E0913501F091360180818927808380910C +:1010C000380190913901A0913A01B0913B01181675 +:1010D00019061A061B069CF480913801909139017B +:1010E000A0913A01B0913B010197A109B109809308 +:1010F000380190933901A0933A01B0933B01FF91DD +:10110000EF91BF91AF919F918F917F916F915F917F +:101110004F913F912F910F900FBE0F901F901895F8 +:10112000809100010E94D401EACF1F920F920FB666 +:101130000F9211242F933F934F935F936F937F935D +:101140008F939F93AF93BF93EF93FF9380ED91E0C5 +:101150000E94E404FF91EF91BF91AF919F918F9115 +:101160007F916F915F914F913F912F910F900FBEA3 +:101170000F901F9018951F920F920FB60F92112487 +:101180002F938F939F93EF93FF93E091E001F09162 +:10119000E1018081E091E601F091E70182FD1BC051 +:1011A00090818091E9018F5F8F732091EA0182170E +:1011B00041F0E091E901F0E0E053FE4F958F80931C +:1011C000E901FF91EF919F918F912F910F900FBEA9 +:1011D0000F901F9018958081F4CF1F920F920FB639 +:1011E0000F9211242F933F934F935F936F937F93AD +:1011F0008F939F93AF93BF93CF93DF93EF93FF931F +:1012000080912A01C0919102D0E087FF24C0109202 +:1012100085001092840080912A018F5F80932A01BB +:1012200080912A01082E000C990B8C179D0724F43D +:1012300080912A018C30C4F18091840090918500C6 +:10124000049680349C4908F47AC08091840090917F +:101250008500049676C080912A01082E000C990B17 +:101260008C179D07C4F6E0912A018E2FEE0F990B83 +:10127000FC01EE0FFF1FE80FF91FE359FD4F8081BE +:1012800086FFC9CFE0912A018E2FEE0F990BFC014A +:10129000EE0FFF1FE80FF91FE359FD4F808160E05B +:1012A0008F730E94B600B7CF2091840030918500E3 +:1012B000E0912A018E2FEE0F990BFC01EE0FFF1F1C +:1012C000E80FF91FE359FD4F81819281820F931F2F +:1012D0009093890080938800E0912A018E2FEE0F71 +:1012E000990BFC01EE0FFF1FE80FF91FE359FD4FAB +:1012F000808186FF11C0E0912A018E2FEE0F990B9D +:10130000FC01EE0FFF1FE80FF91FE359FD4F80812D +:1013100061E08F730E94B600FF91EF91DF91CF9152 +:10132000BF91AF919F918F917F916F915F914F91FD +:101330003F912F910F900FBE0F901F90189580E452 +:101340009CE990938900809388008FEF80932A0115 +:10135000E3CF1F920F920FB60F9211240F900FBE82 +:101360000F901F901895CF92DF92EF92FF920F93FC +:101370001F93E82FF92F05C00150110921093109E8 +:1013800061F1908196239417B9F305C001501109BA +:101390002109310911F1908196239413F7CFC12CC3 +:1013A000D12CE12CF12C0AC08FEFC81AD80AE80A18 +:1013B000F80A0C151D052E053F0579F0808186235E +:1013C000841791F36C2D7D2D8E2D9F2D1F910F91E4 +:1013D000FF90EF90DF90CF90089560E070E080E0A4 +:1013E00090E01F910F91FF90EF90DF90CF900895C4 +:1013F0001092D3011092D20188EE93E0A0E0B0E009 +:101400008093D4019093D501A093D601B093D701D6 +:1014100083E191E09093D1018093D00185EC90E03D +:101420009093DD018093DC0184EC90E09093DF01E8 +:101430008093DE0180EC90E09093E1018093E001E5 +:1014400081EC90E09093E3018093E20182EC90E0E4 +:101450009093E5018093E40186EC90E09093E7019E +:101460008093E6011092E9011092EA011092EB01DB +:101470001092EC01E2E9F2E02AEA32E04FEF68EB89 +:101480007BE0809191028C30B0F491E0980F9093C2 +:101490009102808390E0DC01AA0FBB1FA80FB91F47 +:1014A000A359BD4F12967C936E93119733962E17C6 +:1014B0003F0739F708954083F9CFCF93DF93CDB736 +:1014C000DEB763970FB6F894DEBF0FBECDBF78943A +:1014D00084B5826084BD84B5816084BD85B5826039 +:1014E00085BD85B5816085BD80916E0081608093EA +:1014F0006E00109281008091810082608093810053 +:101500008091810081608093810080918000816062 +:10151000809380008091B10084608093B1008091BD +:10152000B00081608093B00080917A0084608093E5 +:101530007A0080917A00826080937A0080917A00AC +:10154000816080937A0080917A00806880937A002D +:101550001092C100E091E001F091E10182E080830E +:10156000E091DC01F091DD011082E091DE01F0916B +:10157000DF0180E180831092E801E091E401F091C5 +:10158000E50186E08083E091E201F091E301808152 +:1015900080618083E091E201F091E30180818860C5 +:1015A0008083E091E201F091E30180818068808393 +:1015B000E091E201F091E30180818F7D808310E072 +:1015C00061E0812F0E94E40060E0812F0E94B6005C +:1015D0001F5F1E30A9F768EC70E080E090E00E9489 +:1015E000A201AA24A394B12CCC24C394B2E03B2E34 +:1015F00080ED91E00E94C4048C01892B09F449C359 +:1016000080ED91E00E94C404181619068CF780ED55 +:1016100091E00E94A20490918D01853509F067C088 +:10162000911165C080918C018F3F21F4C0928B0194 +:10163000C0928D0180918B018F5F843308F06FC061 +:1016400080938B0180918D01882391F280918A0192 +:101650008111CECF80918B01843050F210928D0198 +:1016600080915A01E0915B01F0905C010F2D10E038 +:101670001093A5010093A401D0905D018D2C912CB5 +:101680009092550180925401823009F4D3C0833086 +:1016900009F428C1813009F04FC0E63009F04FC08D +:1016A0000E5F1F4F9091A90191113EC08093A90137 +:1016B0001093A3010093A20182E08F0D282F30E048 +:1016C000F901E556FF4FE491F901E957FF4FE49125 +:1016D00062E00E94E4008FB7F8944091CC015091F1 +:1016E000CD016091CE017091CF018FBF25C0809355 +:1016F0008C01992309F49ECFE0918B01E23039F4FB +:1017000080938A01F0E0EA5AFE4F808393CFE33062 +:10171000C8F390918A01915090938A01F3CF10926F +:101720008B0110928D018ECF8091A2019091A30127 +:101730008017910709F0BCCF10928B0159CFF0E0D0 +:10174000E430F10591F40E5F1F4F1093A501009353 +:10175000A40181E0D812F0CF809152019091530101 +:101760009093A7018093A601E7CF1092A901379724 +:1017700009F049C0C80102960A5F1F4F2091AA01D3 +:10178000211123C0C092AA011093A1010093A001CE +:1017900090939F0180939E01000F111FF801E55562 +:1017A000FE4FB182A082880F991FFC01E555FE4FC4 +:1017B000B182A08261E086E08F0D0E94E40060E0CB +:1017C00082E08F0D0E94E400B7CF4091A0015091BC +:1017D000A10120919E0130919F014017510721F4F2 +:1017E0008217930709F4A8CF440F551FFA01E55556 +:1017F000FE4F11821082220F331FF901E555FE4F73 +:1018000011821082C1CF1092AA01F801EE0FFF1FC2 +:10181000EE0FFF1FE257FE4F1082118212821382D9 +:101820001092A801000F111FF801E555FE4F11821B +:10183000108282CF8091A0019091A1010817190711 +:1018400039F080919E0190919F010817190771F45A +:101850001092AA01D801AA0FBB1FAA0FBB1FA25743 +:10186000BE4F1D921D921D921C921397E150ED30B8 +:1018700008F038C00E2E000CFF0BEF5BF34F0C94FA +:1018800018134E0C720C070D560D2E0D720C720CA7 +:10189000720C720C720C560C750C4E0CC8010E9426 +:1018A0009F076D2D8F2D0E94B6001CC08BE090E02D +:1018B0000E949F078CE090E00E949F078DE090E0DF +:1018C0000E949F07B4018BE00E94200160915E019D +:1018D00070E08CE00E94200160915F0170E08DE07B +:1018E0000E9420010E94E70727CF480192E0890E5D +:1018F000911C32E0E32EEF0C61E08E2D0E94E4009B +:10190000A6E0FA0E61E08F2D0E94E40061E08E2DCA +:101910000E94B60061E08F2D0E94B600C4010E94B3 +:101920009F07C80106960E949F07B2E0DB16A9F147 +:10193000E3E0DE1609F447C0F1E0DF12D3CF809177 +:101940005E01282F30E03093510120935001009127 +:1019500001011091020193E089169104C1F08130D8 +:1019600059F460E08E2D0E94B60061E08F2D0E9438 +:10197000B600B8018F2DB4CF61E08E2D0E94B60065 +:1019800060E08F2D0E94B600B8018E2DA9CF60E0D7 +:101990008E2D0E94B60061E0F4CF60915E0170E090 +:1019A00090E080E00E949B1020E030E040E250E4B4 +:1019B0000E94D6100E94D6122B01709302016093F0 +:1019C0000101672B31F461E08E2D0E94B60061E0C9 +:1019D00069CFA3E08A16910481F080915001909123 +:1019E0005101019751F460E08E2D0E94B60061E034 +:1019F0008F2D0E94B600B201BDCF61E08E2D0E94F6 +:101A0000B60060E08F2D0E94B600B201BECF8AE022 +:101A100090E00E949F0780914E0190914F010097A6 +:101A200081F4B1E0DB125ECF20E030E0A90160ED8F +:101A300077E08AE00E940002B0924F01A0924E012E +:101A400051CF019709F04ECFD1104CCF8AE00E94C0 +:101A5000D40110924F0110924E0144CFC8010E9450 +:101A60009F07D0923C0180915E0180933D0160917F +:101A70003C0170913D0180915F0180933C01809118 +:101A8000600180933D0120913C0130913D0112168F +:101A9000130644F4032E000C440B550B8F2D0E94AB +:101AA000000220CF8F2D0E94D4011CCFDD2009F42D +:101AB00019CFE1E0FE12B6C083E090E09093A5015B +:101AC0008093A4010091A4011091A501C8010E9476 +:101AD0009F07EEE3F1E090E080E021913191021761 +:101AE000130751F0232B09F0A4C0FC01EE0FFF1FD8 +:101AF000E25CFE4F11830083FC01EE0FFF1FE80F35 +:101B0000F91FEE56FD4F80812181928189832A83BE +:101B10009B838C3008F04CC061E0802F0E94E40071 +:101B20008981282F30E0F901EE0FFF1FE20FF31F2C +:101B3000E359FD4F0F739081907C092B00831A822B +:101B40001B826CE00E940C13869FA001112430E0E0 +:101B500020E0BA01620F731FFB01EE0FFF1FE60FBB +:101B6000F71FE359FD4F908196FD15C02F5F3F4F42 +:101B70002C30310571F781110EC010928000309227 +:101B800081001092850010928400B19A80916F00BC +:101B9000826080936F00E9818E2F90E0FC01EE0F50 +:101BA000FF1FE80FF91FE359FD4F80818064808398 +:101BB000809154019091550160915E0170E08230F6 +:101BC000910509F45DC08330910509F049C0809109 +:101BD0005E01811139C0CE0101960E94B906BC0197 +:101BE0006F5F7F4F7093A7016093A601653B7105FE +:101BF00044F5CE0101960E9423076FE070E080E07B +:101C000090E00E94A2016091A6017091A701CE010F +:101C100001960E9423076FE070E080E090E00E9450 +:101C2000A20160CEA5E0B0E0B093A501A093A4010D +:101C300049CF01968830910509F04FCF90E080E0C0 +:101C40005BCF64EB70E0D5CFCE0101960E94B90660 +:101C5000BC01615071097093A7016093A601C9CFBF +:101C60008430910519F46BE570E0D1CF8530910592 +:101C700061F460915E0170E07093530160935201D2 +:101C80007093A7016093A601C2CF069709F02ACEF0 +:101C9000EACF6FE070E080E090E00E94A2018BEA62 +:101CA000C82E81E0D82EF601E190F1906F01E11489 +:101CB000F10409F03AC0702E60E0802F0E94E40029 +:101CC0000E94E107F801E155FF4F8491F801E556C4 +:101CD000FF4F8490F801E957FF4F9490992099F0B5 +:101CE00081110E948D00E92DF0E0EE0FFF1FE759F2 +:101CF000FF4FA591B491EC918E2291E080E009F420 +:101D000090E0E92EF82EB701FF0C880B990B0E948A +:101D10009B100E94B507872D0E94B00781E00E94AA +:101D2000B0070E94D9070E94E7070F5F1F4F0C30D2 +:101D3000110509F0B8CF03E011E0F12CD8018D9125 +:101D40009D918D01892B29F50E94E1078F2D8064DB +:101D500080937C0080917A00806480937A008091E7 +:101D60007A0086FDFCCF6091780070917900072E93 +:101D7000000C880B990B0E949B100E94B5078F2DB9 +:101D80000E94B00782E00E94B0070E94D9070E941B +:101D9000E707F394B6E0FB12D1CF8091AA01882324 +:101DA00009F47CC01091A00160E0812F0E94B60070 +:101DB00083E090E00197F1F761E0812F0E94B60087 +:101DC00083E290E00197F1F760E0812F0E94B60076 +:101DD00080919E0190919F019927FC01E556FF4F4C +:101DE0006491FC01E957FF4FE491F0E0EE0FFF1F13 +:101DF000E759FF4F8591949100E412E42FE030E021 +:101E0000462F0E94B3099B01AC0121153105410504 +:101E1000510529F02F5F3F4F4F4F5F4F5F70E090AC +:101E2000A401F090A5018701000F111F000F111FE1 +:101E300002571E4FA4E5B1E00E94B3110E94991011 +:101E400020E030E44CE156E40E94641220E030E0EF +:101E500040E05FE30E94D610F801608371838283C3 +:101E600093830E94E1070EE811E07EE9C72E71E03E +:101E7000D72ED8016D917D918D919D918D010E94FC +:101E8000B507C016D106A9F78E2D0E94B00787E0CE +:101E90000E94B0070E94D9070E94E7078091A9011C +:101EA000882309F4F3C08091A2019091A3018E834D +:101EB0002BE02F839927FC01E556FF4FE491E8873B +:101EC000FC01E957FF4FE491E98780E89EE3A0E039 +:101ED000B0E08E879F87A88BB98B6EE170E080E0C1 +:101EE00090E00E94A201CE0101960E94AD058823D8 +:101EF00041F08F818B3028F08D3040F08551823059 +:101F0000B0F160E070E080EC9FE71AC06A8170E099 +:101F100090E080E00E949B102DEC3CEC4CEC5DE3EB +:101F20000E94D6106B017C01698170E090E080E036 +:101F30000E949B109B01AC01C701B6010E94F811E1 +:101F40000E94D6126B01CE0101960E94AD05882336 +:101F500039F08F818C3009F4C9C0C8F48B3071F12D +:101F6000412C512C80EC682E8FE7782E4FC0698170 +:101F70007A8176276727762790E080E00E94991083 +:101F80002DEC3CEC4CEC5DE30E94D610D9CF855192 +:101F9000823030F71B81612F70E0762F662766272D +:101FA0007F778C81682B90E080E00E9499102DEC67 +:101FB0003CEC4CEC5DE30E94D610B2C06B8170E04B +:101FC00090E080E00E9499102B013C011C8117FFDA +:101FD0000AC0AC019B0160E070E080E89FEB0E94CA +:101FE000F7112B013C011F70612F70E090E080E041 +:101FF0000E949B102DEC3CEC4CEC5DE30E94D61053 +:10200000A30192010E94F8112B013C010E94E107FB +:10201000C301B2010E94D612072E000C880B990B47 +:102020000E949B102B013C010E94B507B601DD0CFC +:10203000880B990B0E949B106B017C010E94B507D5 +:10204000C301B2010E94B507C701B6010E94B507DE +:10205000C301B2010E94B507C701B6010E94B507CE +:10206000C301B2010E94B507C701B6010E94B507BE +:102070008091A4010E94B00780E00E94B00786E032 +:102080000E94B0070E94D9070E94E7078091A8012B +:102090008823C9F00E94E1076091A6017091A70111 +:1020A000072E000C880B990B0E949B100E94B5070D +:1020B0008091A4010E94B00784E00E94B0070E94B2 +:1020C000D9070E94E7076AE070E080E090E00E9494 +:1020D000A20180E090E0892B09F486CA0E94D00416 +:1020E000882309F481CA0E9400007BCA1B81612FEA +:1020F00070E090E080E00E9499102B013C016C811F +:102100006F7070E090E080E00E949B102DEC3CEC42 +:102110004CEC5DE30E94D610A30192010E94F811DD +:102120002B013C0117FF72CF77FA709477F8709407 +:102130006DCFE89409C097FB3EF49095809570951B +:1021400061957F4F8F4F9F4F9923A9F0F92F96E903 +:10215000BB279395F695879577956795B795F11178 +:10216000F8CFFAF4BB0F11F460FF1BC06F5F7F4F15 +:102170008F4F9F4F16C0882311F096E911C0772327 +:1021800021F09EE8872F762F05C0662371F096E830 +:10219000862F70E060E02AF09A95660F771F881FFF +:1021A000DAF7880F9695879597F908950E94E910B8 +:1021B0000C945A110E944C1138F00E94531120F0D7 +:1021C000952311F00C9443110C94491111240C9493 +:1021D0008E110E946B1170F3959FC1F3950F50E023 +:1021E000551F629FF001729FBB27F00DB11D639FC9 +:1021F000AA27F00DB11DAA1F649F6627B00DA11D6F +:10220000661F829F2227B00DA11D621F739FB00D14 +:10221000A11D621F839FA00D611D221F749F332784 +:10222000A00D611D231F849F600D211D822F762F1D +:102230006A2F11249F5750409AF0F1F088234AF0FA +:10224000EE0FFF1FBB1F661F771F881F9150504066 +:10225000A9F79E3F510580F00C9443110C948E1108 +:102260005F3FE4F3983ED4F3869577956795B795ED +:10227000F795E7959F5FC1F7FE2B880F911D969507 +:10228000879597F9089597F99F6780E870E060E077 +:1022900008959FEF80EC089500240A9416161706FF +:1022A00018060906089500240A9412161306140647 +:1022B00005060895092E0394000C11F4882352F0AA +:1022C000BB0F40F4BF2B11F460FF04C06F5F7F4F62 +:1022D0008F4F9F4F089557FD9058440F551F59F049 +:1022E0005F3F71F04795880F97FB991F61F09F3F03 +:1022F00079F087950895121613061406551FF2CF2C +:102300004695F1DF08C0161617061806991FF1CF7B +:1023100086957105610508940895E894BB276627A2 +:102320007727CB0197F90895052E97FB1EF40094AB +:102330000E94AB1157FD07D00E94C61107FC03D0C5 +:102340004EF40C94AB1150954095309521953F4F2C +:102350004F4F5F4F089590958095709561957F4F91 +:102360008F4F9F4F08950E94E811A59F900DB49F35 +:10237000900DA49F800D911D11240895B7FF0C941A +:10238000B3110E94B311821B930B0895A1E21A2E80 +:10239000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F09 +:1023A000A217B307E407F50720F0A21BB30BE40B59 +:1023B000F50B661F771F881F991F1A9469F76095A0 +:1023C0007095809590959B01AC01BD01CF0108955A +:1023D000A29FB001B39FC001A39F700D811D112466 +:1023E000911DB29F700D811D1124911D08955058AB +:1023F000BB27AA270E940F120C945A110E944C115D +:1024000038F00E94531120F039F49F3F19F426F45C +:102410000C9449110EF4E095E7FB0C944311E92F5D +:102420000E946B1158F3BA17620773078407950768 +:1024300020F079F4A6F50C948D110EF4E0950B2E96 +:10244000BA2FA02D0B01B90190010C01CA01A00106 +:102450001124FF27591B99F0593F50F4503E68F161 +:102460001A16F040A22F232F342F4427585FF3CFA2 +:10247000469537952795A795F0405395C9F77EF473 +:102480001F16BA0B620B730B840BBAF09150A1F0BC +:10249000FF0FBB1F661F771F881FC2F70EC0BA0F42 +:1024A000621F731F841F48F4879577956795B795CA +:1024B000F7959E3F08F0B0CF9395880F08F09927C5 +:1024C000EE0F9795879508950E9478120C945A11F3 +:1024D0000E94531158F00E944C1140F029F45F3FC4 +:1024E00029F00C94431151110C948E110C94491144 +:1024F0000E946B1168F39923B1F3552391F3951B57 +:10250000550BBB27AA2762177307840738F09F5F14 +:102510005F4F220F331F441FAA1FA9F335D00E2E81 +:102520003AF0E0E832D091505040E695001CCAF7EE +:102530002BD0FE2F29D0660F771F881FBB1F2617B1 +:1025400037074807AB07B0E809F0BB0B802DBF0188 +:10255000FF2793585F4F3AF09E3F510578F00C9457 +:1025600043110C948E115F3FE4F3983ED4F38695AB +:1025700077956795B795F7959F5FC9F7880F911D78 +:102580009695879597F90895E1E0660F771F881F64 +:10259000BB1F621773078407BA0720F0621B730B17 +:1025A000840BBA0BEE1F88F7E09508950E94DD12A8 +:1025B0006894B1110C948E1108950E94731188F0E3 +:1025C0009F5798F0B92F9927B751B0F0E1F0660FF7 +:1025D000771F881F991F1AF0BA95C9F714C0B13038 +:1025E00091F00E948D11B1E008950C948D11672F28 +:1025F000782F8827B85F39F0B93FCCF38695779567 +:102600006795B395D9F73EF490958095709561954F +:102610007F4F8F4F9F4F0895991B79E004C0991FFA +:10262000961708F0961B881F7A95C9F7809508952C +:10263000EE0FFF1F0590F491E02D0994F894FFCF61 +:10264000FF64000000000000000000000000000027 +:102650000000000605660493045305C404A204B6F2 +:04266000040D0A005B +:00000001FF diff --git a/app/modules/thinkboard.json b/app/modules/thinkboard.json index d09e50e78..6af7a5035 100644 --- a/app/modules/thinkboard.json +++ b/app/modules/thinkboard.json @@ -9,11 +9,10 @@ "icon": "thinkboard.png", "module": "thinkboard.js", "url": "http://thinkfuni.co.kr", - "email": "dksd2736@edu-partners.co.kr", "video": "https://youtu.be/gQibrWCEs9M", "driver": { - "win32-ia32": "CDM21228_Driver/CDM21228_Setup.exe", - "win32-x64": "CDM21228_Driver/CDM21228_Setup.exe", + "win32-ia32": "CDM21228_Driver/CDM21228_Setup.exe", + "win32-x64": "CDM21228_Driver/CDM21228_Setup.exe", "darwin-x64": "Mac_OSX_VCP_Driver/SiLabsUSBDriverDisk.dmg" }, "selectPort": true,