From 79f4d56ae9c46ab33b1c25a9ddcb898cfce826b8 Mon Sep 17 00:00:00 2001 From: CodingArray <94838881+CodingArray@users.noreply.github.com> Date: Thu, 16 Dec 2021 19:57:12 +0900 Subject: [PATCH 1/6] =?UTF-8?q?2=EC=84=B8=EB=8C=80=20=EC=BD=94=EB=94=A9?= =?UTF-8?q?=EC=96=B4=EB=A0=88=EC=9D=B4=20=EC=8A=A4=ED=83=80=ED=84=B0=20?= =?UTF-8?q?=EC=8B=A0=EA=B7=9C=20=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/firmwares/castarter_v2.hex | 982 +++++++++++++++++++++++++++++++++ app/modules/castarter_v2.js | 630 +++++++++++++++++++++ app/modules/castarter_v2.json | 28 + app/modules/castarter_v2.png | Bin 0 -> 78036 bytes 4 files changed, 1640 insertions(+) create mode 100644 app/firmwares/castarter_v2.hex create mode 100644 app/modules/castarter_v2.js create mode 100644 app/modules/castarter_v2.json create mode 100644 app/modules/castarter_v2.png diff --git a/app/firmwares/castarter_v2.hex b/app/firmwares/castarter_v2.hex new file mode 100644 index 000000000..3db6f0907 --- /dev/null +++ b/app/firmwares/castarter_v2.hex @@ -0,0 +1,982 @@ +:100000000C94C0000C94E8000C94E8000C94E800F8 +:100010000C94E8000C94E8000C94E8000C94F20AAC +:100020000C94E8000C94E8000C94E8000C94F00B9D +:100030000C94E8000C94E8000C94E8000C94E800A0 +:100040000C94A60B0C94E8000C94740B0C944E0BBF +:100050000C94E8000C94E8000C94E8000C94E80080 +:100060000C94AC0C0C94E80006206F20202020207B +:10007000202020070001026F0304056F02A602453D +:1000800000001F01011F010500000F0808080700FC +:1000900000080808080808080008080818080808E0 +:1000A00000001F011F101F00000A0A0A1A0A0A0A8C +:1000B000041F000000000000001F000000000000FE +:1000C0000810001B0A0A06000201001B0A0A0A06A1 +:1000D000000C0A0A0A0A0A1400060A0A0A0A0A0591 +:1000E0000000000000000605070C18101212100393 +:1000F0001C060301090901180000000000000C148F +:1001000002020301000000000201001B0A0A0600AF +:100110000810001B0A0A0A06080818100000000050 +:1001200000000000240027002A0002000000080050 +:1001300002010000030407000000000000000000AE +:10014000000000250028002B0000000000230026EE +:10015000002900040404040404040402020202024C +:10016000020303030303030102040810204080017B +:10017000020408102001020408102000390E8A1918 +:1001800011241FBECFEFD8E0DEBFCDBF11E0A0E04D +:10019000B1E0EAEBFCE302C005900D92A638B1078E +:1001A000D9F724E0A6E8B1E001C01D92A630B2075D +:1001B000E1F710E0CFEBD0E004C02197FE010E94F0 +:1001C0004A1CCE3BD107C9F70E942D0F0C94501E3C +:1001D0000C940000CF92DF92EF92FF92CF93DF93C7 +:1001E000B091C503A0E08111AB2F8091C60390E0D0 +:1001F000880F991FAC01475B5E4FC090CB03D09036 +:10020000CC03E090CD03F090CE0330E020E0FA0183 +:10021000C591D491E881B90190E080E0EB23EA1325 +:100220000AC02F5F3F4F6C157D058E059F0578F343 +:100230006FEF7FEFCB01DF91CF91FF90EF90DF90D9 +:10024000CF900895FC0124813581232B21F08081FA +:100250009181009721F41092A30283EA92E008951D +:10026000AF92BF92CF92DF92EF92FF920F931F93C4 +:10027000CF93DF936C017B018B01040F151FEB0102 +:100280005E01AE18BF08C017D10759F06991D601B9 +:10029000ED91FC910190F081E02DC6010995892B2B +:1002A00079F7C501DF91CF911F910F91FF90EF90EA +:1002B000DF90CF90BF90AF900895FC01538D448D97 +:1002C000252F30E0842F90E0821B930B541710F001 +:1002D000CF96089501970895FC01918D828D98170E +:1002E00061F0A28DAE0FBF2FB11D5D968C91928DE6 +:1002F0009F5F9F73928F90E008958FEF9FEF089517 +:10030000FC01918D828D981731F0828DE80FF11DDF +:10031000858D90E008958FEF9FEF0895FC01918DFA +:10032000228D892F90E0805C9F4F821B91098F73F3 +:100330009927089588ED92E00E948E0121E0892B93 +:1003400009F420E0822F089580E090E0892B29F0C5 +:100350000E949A0181110C9400000895FC01A48D63 +:10036000A80FB92FB11DA35ABF4F2C91848D90E0D7 +:1003700001968F739927848FA689B7892C93A089BA +:10038000B1898C91837080648C93938D848D981344 +:1003900006C00288F389E02D80818F7D80830895D7 +:1003A000EF92FF920F931F93CF93DF93EC0181E0C5 +:1003B000888F9B8D8C8D98131AC0E889F98980816C +:1003C00085FF15C09FB7F894EE89FF896083E8899F +:1003D000F98980818370806480839FBF81E090E091 +:1003E000DF91CF911F910F91FF90EF900895F62E1E +:1003F0000B8D10E00F5F1F4F0F731127E02E8C8DB8 +:100400008E110CC00FB607FCFACFE889F9898081FC +:1004100085FFF5CFCE010E94AE01F1CFEB8DEC0F41 +:10042000FD2FF11DE35AFF4FF0829FB7F8940B8F19 +:10043000EA89FB8980818062CFCFCF93DF93EC0183 +:10044000888D8823B9F0AA89BB89E889F9898C91BC +:1004500085FD03C0808186FD0DC00FB607FCF7CF78 +:100460008C9185FFF2CF808185FFEDCFCE010E9478 +:10047000AE01E9CFDF91CF910895833081F028F468 +:10048000813099F08230A9F008958730A9F0883042 +:10049000C9F08430B1F4809180008F7D03C08091D9 +:1004A00080008F7780938000089584B58F7784BD16 +:1004B000089584B58F7DFBCF8091B0008F778093B6 +:1004C000B00008958091B0008F7DF9CF1F93CF9336 +:1004D000DF93282F30E0F901E55DFE4F8491F901AB +:1004E000E959FE4FD491F901ED5AFE4FC491CC2346 +:1004F000A9F0162F81110E943D02EC2FF0E0EE0FC3 +:10050000FF1FE15CFE4FA591B4918FB7F894EC9179 +:10051000111108C0D095DE23DC938FBFDF91CF91FE +:100520001F910895DE2BF8CF9091000189130BC025 +:10053000EAE2F1E0E4919FEF90930001E13049F0AD +:1005400028F0E23061F060E00C94660210926E00D8 +:10055000FACF90916F009D7F90936F00F4CF9091B0 +:1005600070009D7F9093700091E09093B000909107 +:10057000B100987F94609093B1001092B300E3CFE4 +:10058000CF93DF9390E0FC01E959FE4F24918D5AFF +:100590009E4FFC0184918823C9F090E0880F991F39 +:1005A000FC01E05EFE4FA591B491FC01E15CFE4FC1 +:1005B000C591D49161110DC09FB7F8948C9120958D +:1005C00082238C938881282328839FBFDF91CF913A +:1005D0000895623051F49FB7F8943C91822F809532 +:1005E00083238C93E8812E2BEFCF8FB7F894EC9177 +:1005F0002E2B2C938FBFEACFCF93DF93EC0180910A +:10060000ED03882349F08091F2039091F30397FD65 +:1006100003C060E00E94C002D093F303C093F203D2 +:100620008091ED03882341F061E08C2F0E94C0028D +:1006300060E08C2F0E946602FE01ED5AFE4FE491AD +:10064000F0E0EE0FFF1FE15CFE4F859194919093D7 +:1006500000048093FF03FE01E959FE4FE491E0930B +:100660000104DF91CF9108953FB7F89480914A0239 +:1006700090914B02A0914C02B0914D0226B5A89BDF +:1006800005C02F3F19F00196A11DB11D3FBFBA2F24 +:10069000A92F982F8827BC01CD01620F711D811DE4 +:1006A000911D42E0660F771F881F991F4A95D1F769 +:1006B00008958F929F92AF92BF92CF92DF92EF9266 +:1006C000FF924B015C010E9434036B017C010E948C +:1006D00034036C197D098E099F09683E73408105BA +:1006E0009105A8F321E0821A9108A108B10888EECB +:1006F000C80E83E0D81EE11CF11C81149104A104F2 +:10070000B10429F7FF90EF90DF90CF90BF90AF90AA +:100710009F908F9008952FB7F89460914602709142 +:10072000470280914802909149022FBF0895CF92CD +:10073000DF92EF92FF920F931F93CF93DF93CDB78A +:10074000DEB7C054D1400FB6F894DEBF0FBECDBFA8 +:100750000E948B030091C7031091C8032091C90325 +:100760003091CA036B017C01C01AD10AE20AF30A74 +:1007700097018601003D17402105310590F48091D5 +:10078000CF03C05CDE4F0FB6F894DEBF0FBECDBF07 +:10079000DF91CF911F910F91FF90EF90DF90CF905D +:1007A00008956093C7037093C8038093C90390931F +:1007B000CA031092C2031092C1031092C003109298 +:1007C000BF031092BE0362E08091C3030E94C00287 +:1007D00061E070E080E090E00E94590361E0809168 +:1007E000C3030E94C00260E08091C3030E946602BE +:1007F0008091C4038551823020F58BE291E101970D +:10080000F1F762E08091C3030E94C0028091D0039F +:1008100090E08230910538F0880F991F880F991F5A +:1008200005970197F1F7F89480E00E94EA006F3F86 +:100830007F4F8F4F9F4F61F41092CF03789480E0E9 +:10084000A0CF64E170E080E090E00E945903D9CF2E +:1008500081E00E94EA006F3F7F4F8F4F9F4F61F30F +:100860008E010F5F1F4F6E012FEBC21A2EEFD20ABF +:10087000780180E00E94EA00F7016083718382833F +:10088000938381E00E94EA00F70164837583868385 +:100890009783F8E0EF0EF11CEC14FD0451F7789407 +:1008A00030E020E0F801C080D180E280F380448114 +:1008B000558166817781FFEFCF16DF06EF06FF06D1 +:1008C00031F04F3F8FEF58076807780719F41092FF +:1008D000CF03B5CFF90183E0F595E7958A95E1F768 +:1008E000E254FC4F8081880FC416D506E606F70651 +:1008F00010F180832F5F3F4F085F1F4F2832310573 +:1009000089F64091C2032091BE038091BF03280F56 +:100910003327331F8091C003280F311D8091C103FD +:10092000820F932F911D99274817190681F681E0B0 +:100930008093CF0326CF8160DCCF2091F801260F72 +:100940003327331F21323105ECF420911E02FC01C4 +:1009500090E080E0243069F082E00895A091F801F1 +:100960002191AC014A525E4FA40FB52FB11D2C93BB +:100970000196861798F38091F801680F6093F8014B +:1009800080E0089581E0089510921E0281E0809336 +:10099000200210921F0261E082E10E94660261E083 +:1009A00083E10E946602E9EBF0E080818E7F808324 +:1009B00080818D7F808388E48093B80085E4809374 +:1009C000BC000895CF93DF9391E09093D5018823E5 +:1009D000B9F0C091B800D091BA008091BC008A7B78 +:1009E0008093BC0060E082E10E94660260E083E1E7 +:1009F0000E9466020E94C404D093BA00C093B8005B +:100A0000DF91CF910895089508950895E091CD0163 +:100A10008091CC01E81730F4F0E0E455FE4F80817E +:100A200090E008958FEF9FEF08959091CD01809110 +:100A3000CC012FEF3FEF981748F4E92FF0E0E45591 +:100A4000FE4F208130E09F5F9093CD01C901089552 +:100A50008091CC019091CD01891B990B0895CF9283 +:100A6000DF92EF92FF920F931F93CF93DF937C015E +:100A7000CB018A012091AB01222389F0EB016B01AC +:100A8000C40ED51ECC15DD0569F06991D701ED9135 +:100A9000FC910190F081E02DC7010995F3CF642FFF +:100AA0000E949D04C801DF91CF911F910F91FF908B +:100AB000EF90DF90CF900895CF93DF931F92CDB743 +:100AC000DEB769832091AB012223F9F02091CE019A +:100AD000203258F021E030E0FC013383228390E0A3 +:100AE00080E00F90DF91CF9108958091CF01E82FA2 +:100AF000F0E0E557FE4F998190838F5F8093CF019F +:100B00008093CE0181E090E0ECCF61E0CE010196D0 +:100B10000E949D04F7CFF894FC013297E331F10570 +:100B200008F030C0EA56FA4F0C944A1CA905A905F2 +:100B3000A905A905A905A905E005C405D005D8059D +:100B4000D805E005C205C205C205C205C205C20539 +:100B5000E80585E086BB82E080936F0010928700F5 +:100B60001092860010928B0010928A0010928900D9 +:100B700010928800109285001092840010928000DC +:100B8000809381007894089585E286BB82E080930B +:100B90006F002CEC3EE13093870020938600E2CF7B +:100BA00085E286BB82E080936F002EEC3EE1F3CFBE +:100BB00085E286BB82E080936F002FEC3EE1EBCFB5 +:100BC00085E286BB82E080936F0029EC3EE1E3CFB3 +:100BD000F89480917602809381008091750286BBA3 +:100BE0008091740280936F008091720290917302E1 +:100BF000909387008093860080917002909171029B +:100C000090938B0080938A0080916E0290916F0286 +:100C1000909389008093880080916C0290916D027E +:100C2000909385008093840080916B028093800074 +:100C30008091760280938100789410927702A2CFFF +:100C4000FC01EF57FD4F2081211105C091E09083F9 +:100C500061E00C94C0020895682F88ED92E00C9436 +:100C6000D0010F931F93CF93DF938B01D82FC92F00 +:100C700082E00E942C06C801AD2FBC2F8093870113 +:100C800090938801A0938901B0938A010E942C0659 +:100C9000812F0E942C068D2F0E942C068C2FDF9115 +:100CA000CF911F910F910C942C0642E050E063E825 +:100CB00071E088ED92E00C9430018FEF0E942C06D9 +:100CC00085E50E942C060C9455068FEF0E942C0699 +:100CD00085E50C942C06CF92DF92EF92FF920F9352 +:100CE0001F93CF93DF93FC01C48121E02093AB01DC +:100CF000C09386011092CF011092CE018385682B9C +:100D000085E793E00E945C05D091CE01D13208F0D6 +:100D100092C00E9434036B017C0180911E028111FC +:100D200065C082E080931E0281E0809320028FEFF5 +:100D300080931D0210924202D0934102ABE8B1E0D1 +:100D4000E1E2F2E080E0D81385C010924302809186 +:100D50004302CC0FC82BC093430280911F02813005 +:100D600009F07CC010921F020E9434036B017C01C9 +:100D7000809143028093BB008091D1019091D20178 +:100D8000A091D301B091D401892B8A2B8B2B99F0A0 +:100D90000E9434030091D1011091D2012091D3011E +:100DA0003091D4016C197D098E099F090617170728 +:100DB00028073907E0F18091BC0083FDD9CF85EC8D +:100DC0008093BC000E9434036B017C0180911E0261 +:100DD000823009F445C080911D028F3F61F18091FE +:100DE0001D02803241F180911D0225C08091D10108 +:100DF0009091D201A091D301B091D401892B8A2B7B +:100E00008B2B09F48ACF0E9434030091D1011091F9 +:100E1000D2012091D3013091D4016C197D098E0942 +:100E20009F09061717072807390708F076CF809122 +:100E3000D0010E94E2041092CF011092CE011092D4 +:100E4000AB01DF91CF911F910F91FF90EF90DF9059 +:100E5000CF9008959D9191938F5F75CF85EEB0CF20 +:100E60008091D1019091D201A091D301B091D40190 +:100E7000892B8A2B8B2B09F4A9CF0E943403009174 +:100E8000D1011091D2012091D3013091D4016C197C +:100E90007D098E099F09061717072807390708F0EB +:100EA00095CFC5CF089590E080E008950F931F93EC +:100EB000CF938C01C62F0E946B066C2F6460C80113 +:100EC0000E946B066C2F6B7FC8010E946B0683EC3F +:100ED00090E00197F1F7CF911F910F9108950F9333 +:100EE0001F93CF93DF938C01D62FC42F607F642B89 +:100EF0000E94560780E1D89FB00111246C2BC801D5 +:100F0000DF91CF911F910F910C94560740E061E063 +:100F100082EB93E00E946F078BE39FE10197F1F76B +:100F20000895CF93DF93CDB7DEB728970FB6F89427 +:100F3000DEBF0FBECDBF98E0EDE0F1E0DE0111961F +:100F400001900D929A95E1F79091BA03961710F4DB +:100F50006FEF690F262F30E0220F331F41E050E082 +:100F60004C0F5D1F240F351FF9016081680F606809 +:100F700040E082EB93E028960FB6F894DEBF0FBEF8 +:100F8000CDBFDF91CF910C946F0741E00E946F07B6 +:100F900081E090E008950F931F93CF93DF938B012F +:100FA00098E0899FB0011124606440E082EB93E0F7 +:100FB0000E946F07E801085F1F4F699182EB93E081 +:100FC0000E94C507C017D107C1F7DF91CF911F91CC +:100FD0000F91089565E471E080E00E94CB076DE316 +:100FE00071E081E00E94CB0765E371E082E00E943E +:100FF000CB076DE271E083E00E94CB0765E271E010 +:1010000084E00E94CB076DE171E085E00E94CB0790 +:1010100065E171E086E00E94CB0765E171E087E061 +:101020000C94CB07FC0180819181009711F00C9406 +:10103000F31C08950F931F93CF93DF938C0180913E +:10104000F5039091F6030E94F31C9091FA038091AE +:10105000F703981721F184E090E0809FE001819FE1 +:10106000D00D909FD00D1124D093F103C093F003C5 +:10107000CE010E94571C9093F6038093F5030097CE +:1010800089F0AE0170E060E00E94421E1093EF0311 +:101090000093EE03DF91CF911F910F91089583E0AC +:1010A00090E0DBCF1092F1031092F0031092EF0367 +:1010B0001092EE03EFCF0F931F93CF93DF93EC01CA +:1010C00088819981009759F02A813B81261737073B +:1010D00030F081E0DF91CF911F910F9108958B0146 +:1010E0006F5F7F4F0E947C1D009759F09983888322 +:1010F0001B830A832C813D81232B59F7FC0110822D +:10110000E8CF80E0E7CFAF92BF92CF92DF92EF922D +:10111000FF920F931F93CF93DF9300D0CDB7DEB72D +:101120008C015B01FC0111821082138212821582F4 +:10113000148270E060E00E945B08F8012081318138 +:1011400081113FC02115310519F0C9010E94F31C1E +:10115000F8011182108215821482138212828EEAA3 +:10116000E82E82E0F82EFAE0AF0EB11CE4EAF2E0DD +:10117000C701845A92408A159B055CF5F70180816E +:1011800089831A82F801C480D580FFEFCF1ADF0A65 +:10119000B601C8010E945B08882379F0F80120811C +:1011A000318184819581BE016F5F7F4F820F931FD4 +:1011B0000E94491EF801D582C482F70111927F0175 +:1011C000D5CF1582148265E871E0C9010E94491EDD +:1011D000C6CF119282E0EE3AF807D9F7C8010F9016 +:1011E0000F90DF91CF911F910F91FF90EF90DF90C3 +:1011F000CF90BF90AF90089585ED8093BC00809113 +:10120000D1019091D201A091D301B091D401079660 +:10121000A11DB11D23E0B695A795979587952A95B1 +:10122000D1F72091BC0024FD03C010921E02089546 +:101230004091D1015091D2016091D3017091D401BC +:10124000452B462B472B69F30097A105B10541F0CB +:1012500025E32A95F1F700000197A109B109E1CF33 +:101260008091D0010C94E204EF92FF920F931F93B0 +:10127000CF93DF93CDB7DEB728970FB6F894DEBFD4 +:101280000FBECDBF87E28093B6031092CD011092BE +:10129000CC011092CF011092CE010E94C40483E0D1 +:1012A00095E09093F7018093F60184E095E09093A8 +:1012B000FB018093FA011092B7038091BC03823046 +:1012C00018F098E09093B7038093BA0362E370E05C +:1012D00080E090E00E9459036091BD0382EB93E0AF +:1012E0000E946B0662E370E080E090E00E94590388 +:1012F00060E382EB93E00E9456070BE416E4C8011A +:101300000197F1F760E382EB93E00E945607C80172 +:101310000197F1F760E382EB93E00E94560783E5C3 +:1013200092E00197F1F760E282EB93E00E945607AA +:101330006091B703606240E082EB93E00E946F0728 +:1013400084E08093B80340E06CE082EB93E00E947D +:101350006F070E94860782E08093B90340E066E051 +:1013600082EB93E00E946F0740E062E082EB93E043 +:101370000E946F078BE39FE10197F1F788E080936C +:10138000BD0360E082EB93E00E946B0660E080E0CA +:101390000E949107809169028111D6C081E08093FB +:1013A000690290EEE92E90E0F92E10E048E050E05E +:1013B000B701CE0101960E94A219BE016F5F7F4F57 +:1013C000812F0E94CB0788E0E80EF11C1F5F1830C8 +:1013D00069F710E000E060E00115110521F004302C +:1013E000110521F461E086E00E949107602F82EBF5 +:1013F00093E00E94C5070F5F1F4F0830110559F792 +:1014000010E000E048E050E000FDABC068ED70E0A7 +:10141000CE0101960E94A219BE016F5F7F4F80E04E +:101420000E94CB0748E050E060ED70E0CE010196ED +:101430000E94A219BE016F5F7F4F83E00E94CB071D +:1014400048E050E068EC70E0CE0101960E94A219DD +:10145000BE016F5F7F4F85E00E94CB0748E050E000 +:1014600060EC70E0CE0101960E94A219BE016F5F90 +:101470007F4F86E00E94CB0760E086E00E949107E4 +:1014800060E082EB93E00E94C50760E089E00E9483 +:10149000910763E082EB93E00E94C50761E087E07B +:1014A0000E94910765E082EB93E00E94C50766E029 +:1014B00082EB93E00E94C5076CE370E080E090E06F +:1014C0000E9459030F5F1F4F0630110509F09ACF94 +:1014D00080E8E82E80E0F82E10E048E050E0B70108 +:1014E000CE0101960E94A219BE016F5F7F4F812F2E +:1014F0000E94CB0788E0E80EF11C1F5F183069F7E7 +:1015000010E000E0C801029760E00C9708F456C0B4 +:10151000802F0E94910760E282EB93E00E94C50752 +:1015200061E0802F0E94910760E282EB93E00E94CD +:10153000C5076FE070E080E090E00E9459030F5F04 +:101540001F4F00311105F1F628960FB6F894DEBF53 +:101550000FBECDBFDF91CF911F910F91FF90EF9004 +:10156000089560EE70E0CE0101960E94A219BE01BE +:101570006F5F7F4F80E00E94CB0748E050E068EF4C +:1015800070E0CE0101960E94A219BE016F5F7F4FED +:1015900083E00E94CB0748E050E068E071E0CE01B4 +:1015A00001960E94A219BE016F5F7F4F85E00E94E5 +:1015B000CB0748E050E060E171E054CF802F0E94FB +:1015C0009107F801EE58FF4F649182EB93E00E947F +:1015D000C50761E0802F0E949107F801EA59FF4F8B +:1015E0006491A3CF1F920F920FB60F9211242F93E5 +:1015F0003F934F935F936F937F938F939F93AF939B +:10160000BF93EF93FF938091550290915602A09162 +:101610005702B0915802892B8A2B8B2BD1F19091D4 +:101620005002E0915102F09152028081892780831B +:101630008091550290915602A0915702B0915802A4 +:10164000181619061A061B069CF4809155029091F3 +:101650005602A0915702B09158020197A109B10911 +:101660008093550290935602A0935702B09358026C +:10167000FF91EF91BF91AF919F918F917F916F916A +:101680005F914F913F912F910F900FBE0F901F9040 +:101690001895809100010E949402EACF1F920F9248 +:1016A0000FB60F9211242F933F934F935F936F9335 +:1016B0007F938F939F93AF93BF93EF93FF9388EDA7 +:1016C00092E00E94AE01FF91EF91BF91AF919F9187 +:1016D0008F917F916F915F914F913F912F910F90DB +:1016E0000FBE0F901F9018951F920F920FB60F927A +:1016F00011242F938F939F93EF93FF93E091E80230 +:10170000F091E9028081E091EE02F091EF0282FD1A +:101710001BC090818091F1028F5F8F732091F20244 +:10172000821741F0E091F102F0E0E852FD4F958F11 +:101730008093F102FF91EF919F918F912F910F90E4 +:101740000FBE0F901F9018958081F4CF1F920F92BB +:101750000FB60F9211242F933F938F939F93AF93C4 +:10176000BF938091460290914702A0914802B091A8 +:1017700049023091450223E0230F2D3758F5019699 +:10178000A11DB11D2093450280934602909347020C +:10179000A0934802B093490280914A0290914B0273 +:1017A000A0914C02B0914D020196A11DB11D8093F4 +:1017B0004A0290934B02A0934C02B0934D02BF910A +:1017C000AF919F918F913F912F910F900FBE0F90EE +:1017D0001F90189526E8230F0296A11DB11DD2CFA8 +:1017E0001F920F920FB60F9211242F933F934F9396 +:1017F0005F936F937F938F939F93AF93BF93CF9399 +:10180000DF93EF93FF9380914402C091A503D0E052 +:1018100087FF24C0109285001092840080914402BA +:101820008F5F8093440280914402082E000C990B34 +:101830008C179D0724F4809144028C30C4F1809170 +:10184000840090918500049680349C4908F47AC005 +:101850008091840090918500049676C08091440226 +:10186000082E000C990B8C179D07C4F6E0914402DA +:101870008E2FEE0F990BFC01EE0FFF1FE80FF91FE3 +:10188000EF57FC4F808186FFC9CFE09144028E2F35 +:10189000EE0F990BFC01EE0FFF1FE80FF91FEF573A +:1018A000FC4F808160E08F730E946602B7CF209169 +:1018B000840030918500E09144028E2FEE0F990B49 +:1018C000FC01EE0FFF1FE80FF91FEF57FC4F81815E +:1018D0009281820F931F9093890080938800E091FA +:1018E00044028E2FEE0F990BFC01EE0FFF1FE80F45 +:1018F000F91FEF57FC4F808186FF11C0E091440231 +:101900008E2FEE0F990BFC01EE0FFF1FE80FF91F52 +:10191000EF57FC4F808161E08F730E946602FF9158 +:10192000EF91DF91CF91BF91AF919F918F917F9177 +:101930006F915F914F913F912F910F900FBE0F903C +:101940001F90189580E49CE990938900809388000B +:101950008FEF80934402E3CF1F920F920FB60F9246 +:1019600011242F933F934F935F936F937F938F93A4 +:101970009F93AF93BF93EF93FF938091B900887FBC +:10198000803609F44AC0F0F5883209F4A7C018F58A +:10199000803109F49BC0B8F4882309F4F9C0883079 +:1019A00009F494C0FF91EF91BF91AF919F918F91F6 +:1019B0007F916F915F914F913F912F910F900FBE4B +:1019C0000F901F901895883109F488C0803251F724 +:1019D00080931D0214C0803409F49DC040F480330C +:1019E000B9F38833F9F680931D0285ECB0C08035D9 +:1019F00009F485C0883509F496C0883499F60E94A8 +:101A0000FC08D0CF883909F48CC038F5883729F024 +:101A100050F4883611F0803729F683E080931E0257 +:101A200010921C0257C0883809F47BC0803919F025 +:101A3000803809F0B7CF80911C02803208F071C065 +:101A4000E0911C0281E08E0F80931C028091BB000C +:101A5000F0E0E450FE4F80833DC0803B39F0E0F47D +:101A6000803A09F479C0883A09F09CCF84E08093E9 +:101A70001E021092F9011092F801E091F601F09126 +:101A8000F70109958091F80181110FC081E08093E1 +:101A9000F8011092D60109C0803C09F4A6CF883C19 +:101AA00009F4A3CF883B09F07DCFE091F90181E0F3 +:101AB0008E0F8093F901F0E0EA52FE4F808180930F +:101AC000BB009091F9018091F80129C080914302F7 +:101AD0008093BB0085EC8093BC0064CF9091420260 +:101AE00080914102981758F5E091420281E08E0FF3 +:101AF00080934202F0E0EF5DFD4F8081E9CFE091FD +:101B0000420281E08E0F809342028091BB00F0E0A0 +:101B1000EF5DFD4F808390914202809141029817C2 +:101B2000C8F285E8D8CFE091420281E08E0F809321 +:101B300042028091BB00F0E0EF5DFD4F8083809119 +:101B4000200281115CCF81E080931F0284EA8093A0 +:101B5000BC0010921E0226CF85EC8093BC00109230 +:101B60001E0280911C02803230F4E0911C02F0E0F1 +:101B7000E450FE4F108260911C0270E0E091FA0187 +:101B8000F091FB018CEF91E0099510921C020ACFB5 +:101B900010921D0234CFCF92DF92EF92FF920F93FB +:101BA0001F93E82FF92F05C00150110921093109B0 +:101BB00061F1908196239417B9F305C00150110982 +:101BC0002109310911F1908196239413F7CFC12C8B +:101BD000D12CE12CF12C0AC08FEFC81AD80AE80AE0 +:101BE000F80A0C151D052E053F0579F08081862326 +:101BF000841791F36C2D7D2D8E2D9F2D1F910F91AC +:101C0000FF90EF90DF90CF90089560E070E080E06B +:101C100090E01F910F91FF90EF90DF90CF9008958B +:101C2000CF93DF93EC01198218821B821A821D82E6 +:101C30001C8270E060E00E945B082881398181117C +:101C40000FC02115310519F0C9010E94F31C19823A +:101C500018821D821C821B821A82DF91CF91089507 +:101C60001D821C8265E871E0C901DF91CF910C945F +:101C7000491E1092DB021092DA0288EE93E0A0E097 +:101C8000B0E08093DC029093DD02A093DE02B0937B +:101C9000DF0227E531E03093D9022093D80225EC0A +:101CA00030E03093E5022093E40224EC30E03093FE +:101CB000E7022093E60220EC30E03093E902209323 +:101CC000E80221EC30E03093EB022093EA0222ECB0 +:101CD00030E03093ED022093EC0226EC30E03093BC +:101CE000EF022093EE021092F1021092F202109293 +:101CF000F3021092F402109278031092770380930B +:101D0000790390937A03A0937B03B0937C0389E6D5 +:101D100091E090937603809375031092ED031092F7 +:101D2000F4031092F6031092F5031092FB03109245 +:101D3000FC031092FD031092FE0381E08093FA03EE +:101D40008093F7031092F80392E09093F903809345 +:101D5000EC0382E090E00E941A0888E090E00E9484 +:101D6000FC02E4EDF3E02CEE33E04FEF68EB7BE0B8 +:101D70008091A5038C3008F06AC091E0980F909391 +:101D8000A503808390E0DC01AA0FBB1FA80FB91F39 +:101D9000AF57BC4F12967C936E93119733962E17C4 +:101DA0003F0731F78091A5038C3008F052C091E0D5 +:101DB000980F9093A5038093D10390E0FC01EE0F60 +:101DC000FF1FE80FF91FEF57FC4F88EB9BE0928352 +:101DD000818390910601809105018093C3039093C4 +:101DE000C40390E0FC01E959FE4FE491E093C50380 +:101DF000FC01ED5AFE4FE491E093C60380E89EE3B8 +:101E0000A0E0B0E08093CB039093CC03A093CD03EC +:101E1000B093CE031092B5031092B4038BE791E018 +:101E20009093B3038093B20387E28093B60380E17B +:101E30008093BB0382E08093BC031092BD038CEAC5 +:101E400093E00E94100E86EA93E00C94100E4083FB +:101E5000A5CF8FEF8093D103BCCFCF93DF93CDB7C6 +:101E6000DEB763970FB6F894DEBF0FBECDBF789490 +:101E700084B5826084BD84B5816084BD85B582608F +:101E800085BD85B5816085BD80916E008160809340 +:101E90006E001092810080918100826080938100A9 +:101EA00080918100816080938100809180008160B9 +:101EB000809380008091B10084608093B100809114 +:101EC000B00081608093B00080917A00846080933C +:101ED0007A0080917A00826080937A0080917A0003 +:101EE000816080937A0080917A00806880937A0084 +:101EF0001092C100E091E802F091E90282E0808353 +:101F0000E091E402F091E5021082E091E602F091A6 +:101F1000E70280E180831092F002E091EC02F09100 +:101F2000ED0286E08083E091EA02F091EB0280818D +:101F300080618083E091EA02F091EB028081886009 +:101F40008083E091EA02F091EB02808180688083D7 +:101F5000E091EA02F091EB0280818F7D808312E0B4 +:101F600061E0812F0E94C00260E0812F0E94660222 +:101F70001F5F1E30A9F70E9434098091F2039091EF +:101F8000F30397FD08C061E00E94C00260E0809109 +:101F9000F2030E94660281E08093ED03809180004D +:101FA00080936B028091810080937602F89486B3CF +:101FB0008093750280916F008093740280918600F7 +:101FC00090918700909373028093720280918A00AF +:101FD00090918B00909371028093700280918800A1 +:101FE0009091890090936F0280936E02809184009B +:101FF0009091850090936D0280936C02789401E03B +:102000002AE2222E21E0322E88ED92E00E948E01FB +:10201000892B09F4DBC688ED92E00E948E01181628 +:10202000190694F788ED92E00E946C0190917B0272 +:10203000853509F05AC0911158C080917A028F3FBE +:1020400021F40093790200937B02809179028F5FE3 +:10205000843308F062C08093790280917B028823E8 +:1020600099F2809178028111CFCF809179028430EA +:1020700058F210927B028091A9027090AA02E72C7C +:10208000F12C2091A802223009F48AC0233009F4EF +:102090009AC6213039F5873009F061C01091AB0242 +:1020A000812F90E03091800231113CC0209380025A +:1020B0007092040110930301F701EF57FD4F208345 +:1020C0008F579D4FFC01208361E0872D0E94C00245 +:1020D00060E0812F0E94C00262E370E080E090E047 +:1020E0000E945903109279028FCF80937A0299232C +:1020F00009F4ABCFE0917902E23039F480937802B1 +:10210000F0E0EC55FD4F8083A0CFE330C8F3909111 +:102110007802915090937802F3CF10927902109246 +:102120007B029BCFA0910401E09103017A1202C0CF +:10213000E117C1F2B0E0AF57BD4F1C92F0E0EF578E +:10214000FD4F10827092040110930301F701EF57C5 +:10215000FD4F00838F579D4FFC010083B5CFF701E2 +:10216000EF57FD4F1092800210927C0210927D0278 +:1021700010927E0210927F0210828A3139F480918F +:10218000A2028111AFCF0093A202ACCF8B3109F034 +:10219000A9CF8091A1028111A5CF0093A102A2CF66 +:1021A00090910401791621F09091030179120AC0EF +:1021B0001092800210927C0210927D0210927E0298 +:1021C00010927F028931E1F090910501791218C0D7 +:1021D000F701EF57FD4F10821092A2021092950264 +:1021E0001092960210929702109298021092A102F9 +:1021F0001092990210929A0210929B0210929C02E5 +:10220000EFEFE80FE93108F09DC00E2E000CFF0B38 +:10221000E45FFE4E0C944A1C2511A2112E11C81326 +:10222000C411A211A211A314A514BB14BF14D91474 +:102230009B140F161816E3164416A211A211A21130 +:10224000A211A211A211A2119A16C7010E94200682 +:102250006091AB02872D0E94660274C0C7010E9484 +:1022600020061091AB02C12ED12C809177028130D3 +:10227000B9F5F8948091760280938100809175027F +:1022800086BB8091740280936F008091720290915E +:1022900073029093870080938600809170029091E2 +:1022A000710290938B0080938A0080916E029091CE +:1022B0006F02909389008093880080916C029091C6 +:1022C0006D02909385008093840080916B028093CF +:1022D000800080917602809381007894109277023A +:1022E00061E0872D0E94C002111102C060E0B2CFF0 +:1022F000FFEFCF16D10411F461E0ACCFF701E55D3B +:10230000FE4FE491E33031F148F4E130B9F0E230CE +:10231000E1F020E8C216D1047CF7E8CFE73021F1E4 +:10232000E83051F1E430A9F7809180008062809319 +:102330008000D0928B00C0928A0004C084B580686F +:1023400084BD17BD0E945D06CDCE84B5806284BD7C +:1023500018BDF8CF80918000806880938000D09273 +:102360008900C0928800EECF8091B0008068809391 +:10237000B0001093B300E6CF8091B00080628093EC +:10238000B0001093B400DECFC7010E9420068091F8 +:10239000AB0280934E028091AC0280934F028091F9 +:1023A0004E0290914F02998B888B8091AD02809361 +:1023B0004E028091AE0280934F02E0914E02F09166 +:1023C0004F02FB8BEA8B1E161F060CF0DDC18091BD +:1023D0000001871177C0F101149117FDB3CF61E0BF +:1023E000872D0E94C0021123B1F028893989290163 +:1023F000712C612C60E072E18AE790E0A3010E94F9 +:10240000CF1A69017A0171E0C71AD108E108F10811 +:10241000123009F076C1888999892C01712C612CC0 +:1024200060E072E18AE790E0A30192010E94CF1A76 +:1024300049015A017A01690191E0C91AD108E108FC +:10244000F108EFEFCE16D104E104F10409F00CF429 +:102450002BC160E472E48FE090E0A30192010E943E +:10246000CF1A69017A01F1E0CF1AD108E108F10829 +:10247000123009F09DC082E02FEFC216D104E104B2 +:10248000F104C9F0C4F060E970ED83E090E0A301CD +:1024900092010E94CF1A69017A0171E0C71AD1082E +:1024A000E108F1088FEFC816D104E104F10411F03E +:1024B0000CF017C783E09091B100987F892B80932F +:1024C000B100F9C08F3F09F03DCF70920001F101DA +:1024D00014911F3F09F436CF113031F150F0123012 +:1024E00009F442C017FD2ECF61E0872D0E94C00283 +:1024F0007CCF14BC15BC84B5826084BD85B5816079 +:1025000085BDF701ED5AFE4FE491F0E0EE0FFF1F9D +:10251000E15CFE4F85919491F701E959FE4FE491FA +:10252000E093540210E05BCF109280001092810083 +:10253000809181008860809381008091810081601A +:1025400080938100F701ED5AFE4FE491F0E0EE0F29 +:10255000FF1FE15CFE4F85919491F701E959FE4F11 +:10256000E491E09353023BCF1092B0001092B1007F +:102570008091B00082608093B0008091B100816052 +:102580008093B100F701ED5AFE4FE491F0E0EE0FB9 +:10259000FF1FE15CFE4F85919491909352028093CE +:1025A0005102F701E959FE4FE491E093500217CF31 +:1025B0009FEFC916D104E104F10409F00CF49FC0A7 +:1025C00068E478EE81E090E0A30192010E94CF1AC6 +:1025D00069017A01E1E0CE1AD108E108F10884E04E +:1025E000111141C083E0FFEFCF16D104E104F104E3 +:1025F00009F00CF45CC062E17AE780E090E0A301AE +:1026000092010E94CF1A69017A0191E0C91AD1089A +:10261000E108F10884E0EFEFCE16D104E104F10403 +:1026200009F008F444C0750164012AE0F594E794C8 +:10263000D794C7942A95D1F721E0C21AD108E108AE +:10264000F10885E034C064E274EF80E090E0A3011B +:1026500092010E94CF1A69017A01F1E0CF1AD108E4 +:10266000E108F10885E09FEFC916D104E104F10407 +:1026700009F008F420CF62E17AE780E090E0A3015E +:1026800092010E94CF1A69017A0171E0C71AD1083C +:10269000E108F1088FEFC816D104E104F10411F04C +:1026A00008F00FC686E007CF81E0111104CF95B581 +:1026B000987F892B85BD28893989220F331FAA89E4 +:1026C000BB890E94501C28EE33E040E050E00E949D +:1026D000301B1130B9F1123009F446C0111132CE5D +:1026E000C7BC20935D0230935E0240935F0250931B +:1026F000600280916E00826080936E0023CE82E043 +:10270000D4CF91E0C114D10421E0E206F10484F0B9 +:1027100068E478EE81E090E0A30192010E94CF1A74 +:1027200069017A0171E0C71AD108E108F10893E064 +:10273000113009F0C0CF80918100887F892B809370 +:102740008100B9CFD0928900C092880020935902AD +:1027500030935A0240935B0250935C0280916F0069 +:10276000826080936F00EECDC092B300209355023B +:102770003093560240935702509358028091700054 +:10278000826080937000DECD872D0E949402DACDA6 +:10279000C7010E942006B090AB02B11007C0809123 +:1027A0007702811103C0C7010E948B05EB2DE15018 +:1027B000FF0BE43BF10508F0C5CD65E070E080E07B +:1027C00090E00E945903E1E6F2E090E080E0219180 +:1027D0002E151F0431F02111A6C0FC01EF59FD4F49 +:1027E0007082FC01EE0FFF1FE80FF91FEC52FC4F47 +:1027F0001081818192811C3008F03FC061E0872DFB +:102800000E94C002812F90E0AC01440F551FFA01D5 +:10281000E80FF91FEF57FC4F272D2F73722E2081E1 +:10282000207C722A708230E020E0F901EE0FFF1F59 +:10283000E20FF31FEF57FC4F608166FD14C02F5F5E +:102840003F4F2C30310589F71092800022E0209311 +:1028500081001092850010928400B19A20916F003F +:10286000226020936F00840F951FFC01EF57FC4FEF +:1028700080818064808390E080E0B8E5CB2EB2E078 +:10288000DB2EC91AD10897FDD394CC0CDD1CCC0CDF +:10289000DD1C28E8E22EF12CE81AF10887FDF394FC +:1028A000EE0CFF1CEE0CFF1C27010F2C000C660821 +:1028B0007708AB2DA53B08F0A4EB96010D2C000C7E +:1028C000440B550B2419350946095709B0E00E94FD +:1028D000EE1A24EB30E040E050E00E94CF1A420EA6 +:1028E000531E641E751E1C30D8F44E145F042CF069 +:1028F00076014C145D040CF4720132E0E31AF10825 +:10290000EE0CFF1C2FB7F894812F90E0FC01EE0F26 +:10291000FF1FE80FF91FEF57FC4FF282E1822FBF34 +:10292000009377020FCD01968830910509F04FCFC3 +:1029300090E080E056CFC7010E94200684E190E03D +:102940000E948B05FFCC0E948B038091AB028F3FCE +:1029500009F0F8CC64E670E080E090E00E94590352 +:1029600088E19EE00FB6F894A895809360000FBEB2 +:1029700090936000E7CCC7010E942006E3CCC7011A +:102980000E9420061091AB0280910201781629F076 +:10299000C7010E94FC027092020180910101181788 +:1029A00009F4D0CC812F90E00E941A081093010105 +:1029B000C9CCC7010E942006D090AB02B090AD02F6 +:1029C0001091AF02C090B10280910201781629F0F7 +:1029D000C7010E94FC02709202012D2D30E080910F +:1029E000EE039091EF032817390708F04CC0812FB0 +:1029F00090E0B0E0A0E0BA2FA92F982F8827AB294C +:102A00008C292D0166247724442D892E9A2EAB2EF5 +:102A1000BB24682D582FE091F403EE2391F06E2F24 +:102A200070E0649DA001659D500D749D500D1124B2 +:102A3000452FE89D40011124692DE89FC001112414 +:102A4000592FE091FA038091F5039091F60370916C +:102A5000F703E713A0C09C0173E0D79E200D311D42 +:102A60001124E091F703E20FF32FF11D4083E09171 +:102A7000F803E20FF32FF11D60838091F903280F13 +:102A8000311DF90150838091F5039091F603892B54 +:102A900009F458CCC090FB03D090FC03E090FD03F8 +:102AA000F090FE030E9434036C157D058E059F0592 +:102AB00050F40E9434036093FB037093FC038093F3 +:102AC000FD039093FE030E943403C090FB03D0905B +:102AD000FC03E090FD03F090FE036C197D098E0964 +:102AE0009F096C32714081059105A0F2F8948091A4 +:102AF000F0039091F10398878F83E091F503F091B3 +:102B0000F603DF01119680818F879091EC03E091AD +:102B1000FF03F091000480910104992309F446C059 +:102B20009081982B9E879081809589238D878D85B4 +:102B30008A8788E089874E855D856F8539852A85F6 +:102B40008F819885408367FD242F3A952083252F18 +:102B500039F0661F00C000005083000000C0F2CFB3 +:102B600038E06D9150830000019761F7F093000405 +:102B7000E093FF036F8739872A8798878F8378943C +:102B80000E9434036093FB037093FC038093FD0366 +:102B90009093FE03D7CB220F331F220F331F280F32 +:102BA000391FE20FF32FF11D10825BCF9081982B1C +:102BB0009E879081809589238D878D858C8788E07D +:102BC0008B874E855D856F853B852C858F819885AC +:102BD000408367FD242F00C000C0208300C000C0D8 +:102BE00000C000C000C050830000252F3A9541F07E +:102BF000661F000000C000C000C000C000C0E8CFD9 +:102C000038E06D9100C0508300C0019709F7F09340 +:102C10000004E093FF036F873B872C87AECF809142 +:102C20006A0281118FCB00936A020E9434098ACB19 +:102C3000E090AB02F090AC021091AD02612F70E019 +:102C4000CE0101960E948308111102C00E948607DE +:102C500080916902813039F40E9486070E94EA0758 +:102C600082E0809369026E2D8F2D0E9491074D8125 +:102C70005E8169817A8182EB93E00E943001CE010E +:102C800001960E9412085ECBF090AB021091AC024C +:102C90006091AD0270E0CE0101960E9483088091A0 +:102CA0006902813039F40E9486070E94EA0782E0B7 +:102CB000809369026F2D812F0E949107CE010196AA +:102CC0000E942201FC01808160E0813371F1CE011C +:102CD00001960E942201FC01808161E0823329F18A +:102CE000CE0101960E942201FC01808162E08333C3 +:102CF000E1F0CE0101960E942201FC01808163E097 +:102D0000843399F0CE0101960E942201FC0180815A +:102D100064E0853351F0CE0101960E942201FC014E +:102D20008081863309F0ABCF65E082EB93E00E94AF +:102D3000C507A5CFC7010E9420068091AB029FEF77 +:102D4000980F9631C8F0F701EF57FD4F108210929F +:102D5000A20210929502109296021092970210927F +:102D600098021092A1021092990210929A02109267 +:102D70009B0210929C02E6CA7092050180930601A4 +:102D80008091A20281111AC08091A102811116C006 +:102D900062E08091C3030E94C0020E948B03605DC9 +:102DA0007740810991096093C7037093C8038093AA +:102DB000C9039093CA0387E38093D0030093A202D0 +:102DC0000093A102BFCA0E948607BCCA6AE070E0F5 +:102DD00080E090E00E945903B1E8EB2EB2E0FB2EB8 +:102DE00010E000E0F70181917F0181113CC0B02E1D +:102DF00060E0802F0E94C0020E946506F801E55D38 +:102E0000FE4F8491F801E959FE4FC490F801ED5A44 +:102E1000FE4FD49070E060E0DD2099F081110E94B7 +:102E20003D02ED2DF0E0EE0FFF1FE75BFE4FA59199 +:102E3000B491EC91CE2291E080E009F490E0692F0A +:102E4000782F072E000C880B990B0E94B2190E9454 +:102E500031068B2D0E942C0681E00E942C060E94D8 +:102E600055060E945D060F5F1F4F0431110509F0E2 +:102E7000B9CF0DE411E0F12CF80181918F0181119E +:102E800027C00E9465068F2D806480937C0080910E +:102E90007A00806480937A0080917A0086FDFCCF6E +:102EA0008091780060917900762F682F072E000CB2 +:102EB000880B990B0E94B2190E9431068F2D0E9437 +:102EC0002C0682E00E942C060E9455060E945D0698 +:102ED000F394F6E0FF12D0CF80918002882309F4AA +:102EE0006DC01091040160E0812F0E94660283E0B2 +:102EF00090E00197F1F761E0812F0E94660283E282 +:102F000090E00197F1F760E0812F0E9466028091C6 +:102F1000030190E0FC01E959FE4F6491FC01ED5A78 +:102F2000FE4FE491F0E0EE0FFF1FE75BFE4F85914F +:102F3000949100E315E720E030E0462F0E94CB0D8E +:102F4000611571058105910529F06F5F7F4F8F4FE6 +:102F50009F4F9F700E94B01920E030E048EE51E48E +:102F60000E94CE1B20E030E040E05FE30E94111A97 +:102F70006B017C0120E030E0A9010E94AB198111B6 +:102F800051C0C0907C02D0907D02E0907E02F09013 +:102F90007F020E946506C701B6010E94310680913A +:102FA00004010E942C06809103010E942C0687E0F8 +:102FB0000E942C060E9455060E945D061091A202F6 +:102FC000111105C08091A102882309F449C10E9412 +:102FD0008B03C0909D02D0909E02E0909F02F090E3 +:102FE000A0026C197D098E099F096A3F7105810550 +:102FF000910508F435C1112309F486C00E94970396 +:10300000882309F464C08091C4038C3009F498C00B +:1030100090F48B3049F1C12CD12C40ECE42E4FE7D9 +:10302000F42E4CC0C0927C02D0927D02E0927E02CF +:10303000F0927F02AECF8551823068F71091C003C5 +:10304000612F70E0762F662766277F778091C10316 +:10305000682B90E080E00E94B0192DEC3CEC4CEC29 +:103060005DE30E94111A88C06091C00370E090E097 +:1030700080E00E94B0196B017C011091C10317FF21 +:103080000AC0AC019B0160E070E080E89FEB0E9409 +:10309000611B6B017C011F70612F70E090E080E08C +:1030A0000E94B2192DEC3CEC4CEC5DE30E94111A2D +:1030B000A70196010E94621B6B017C01A70196018A +:1030C000C701B6010E94451C882309F45EC0C09068 +:1030D0009502D0909602E0909702F09098020E949C +:1030E0006506C701B6010E943106809105010E9464 +:1030F0002C06809106010E942C068AE10E942C0673 +:103100000E9455060E945D068091A102882309F461 +:103110009DC00E949703882309F47BC08091C4035B +:103120008B3038F08D3008F44DC08551823008F472 +:10313000ADC0C12CD12C30ECE32E3FE7F32E60C0A4 +:103140001091C003612F70E090E080E00E94B01900 +:103150006B017C016091C1036F7070E090E080E0D2 +:103160000E94B2192DEC3CEC4CEC5DE30E94111A6C +:10317000A70196010E94621B6B017C0117FF9ECF85 +:10318000F7FAF094F7F8F09499CF20E030E040E2BD +:1031900051E4C701B6010E94401C181654F420E007 +:1031A00030E040E050E4C701B6010E94611B6B01B2 +:1031B0007C01C0929502D0929602E0929702F09222 +:1031C00098028DCF6091BF0370E090E080E00E9494 +:1031D000B2192DEC3CEC4CEC5DE30E94111A6B0132 +:1031E0007C016091BE0370E090E080E00E94B21923 +:1031F0009B01AC01C701B6010E94621B6B017C01FF +:10320000A7019601C701B6010E94451C882309F455 +:103210004FC0C0909902D0909A02E0909B02F0902B +:103220009C020E946506C701B6010E94310680918A +:1032300005010E942C06809106010E942C068BE15C +:103240000E942C060E9455060E945D060E948B0378 +:1032500060939D0270939E0280939F029093A002C0 +:103260006AE070E080E090E00E94590380E090E026 +:10327000892B11F40C94FF0F0E949A01882311F4FA +:103280000C94FF0F0E9400000C94FF0F6091BE038E +:103290007091BF0376276727762790E080E00E9431 +:1032A000B0192DEC3CEC4CEC5DE30E94111AA6CF5A +:1032B000C0929902D0929A02E0929B02F0929C02F4 +:1032C000B0CF750164019AE0F594E794D794C79460 +:1032D0009A95D1F731E0C31AD108E108F10887E0E7 +:1032E000EAC868E478EE81E090E0A30192010E94D0 +:1032F000CF1A69017A0171E0C71AD108E108F10813 +:103300008FEFC816D104E104F10411F00CF09BC951 +:1033100084E0D1C886EA93E00E9412088CEA93E028 +:103320000E9412088091F5039091F6030E94F31C0D +:103330008091F2039091F30397FD03C060E00C9439 +:10334000C0020895FB01DC0102C005900D924150BE +:103350005040D8F708950E94ED1908F481E00895CF +:10336000E89409C097FB3EF490958095709561951F +:103370007F4F8F4F9F4F9923A9F0F92F96E9BB27D5 +:103380009395F695879577956795B795F111F8CF51 +:10339000FAF4BB0F11F460FF1BC06F5F7F4F8F4FBC +:1033A0009F4F16C0882311F096E911C0772321F0B2 +:1033B0009EE8872F762F05C0662371F096E8862F4A +:1033C00070E060E02AF09A95660F771F881FDAF7A1 +:1033D000880F9695879597F90895990F0008550FCE +:1033E000AA0BE0E8FEEF16161706E807F907C0F08B +:1033F00012161306E407F50798F0621B730B840B93 +:10340000950B39F40A2661F0232B242B252B21F46C +:1034100008950A2609F4A140A6958FEF811D811D0C +:1034200008950E94241A0C94951A0E94871A38F065 +:103430000E948E1A20F0952311F00C947E1A0C94A1 +:10344000841A11240C94C91A0E94A61A70F3959F2D +:10345000C1F3950F50E0551F629FF001729FBB278B +:10346000F00DB11D639FAA27F00DB11DAA1F649F27 +:103470006627B00DA11D661F829F2227B00DA11DDA +:10348000621F739FB00DA11D621F839FA00D611D60 +:10349000221F749F3327A00D611D231F849F600D81 +:1034A000211D822F762F6A2F11249F5750409AF0AA +:1034B000F1F088234AF0EE0FFF1FBB1F661F771F36 +:1034C000881F91505040A9F79E3F510580F00C9401 +:1034D0007E1A0C94C91A5F3FE4F3983ED4F38695A4 +:1034E00077956795B795F795E7959F5FC1F7FE2BA1 +:1034F000880F911D9695879597F9089597F99F677D +:1035000080E870E060E008959FEF80EC089500246B +:103510000A941616170618060906089500240A9438 +:1035200012161306140605060895092E0394000CBE +:1035300011F4882352F0BB0F40F4BF2B11F460FF4D +:1035400004C06F5F7F4F8F4F9F4F089557FD905876 +:10355000440F551F59F05F3F71F04795880F97FB57 +:10356000991F61F09F3F79F0879508951216130611 +:103570001406551FF2CF4695F1DF08C01616170640 +:103580001806991FF1CF8695710561050894089575 +:10359000E894BB2766277727CB0197F90895052E76 +:1035A00097FB1EF400940E94E61A57FD07D00E9474 +:1035B000301B07FC03D04EF40C94E61A509540954E +:1035C000309521953F4F4F4F5F4F089590958095CF +:1035D000709561957F4F8F4F9F4F08950E94521BAA +:1035E000A59F900DB49F900DA49F800D911D112457 +:1035F00008952F923F924F925F926F927F928F9297 +:103600009F92AF92BF92CF92DF92EF92FF920F9371 +:103610001F93CF93DF93CDB7DEB7CA1BDB0B0FB67B +:10362000F894DEBF0FBECDBF09942A883988488838 +:103630005F846E847D848C849B84AA84B984C884CE +:10364000DF80EE80FD800C811B81AA81B981CE0FC5 +:10365000D11D0FB6F894DEBF0FBECDBFED010895AA +:10366000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F86 +:10367000EE1FFF1FA217B307E407F50720F0A21BF8 +:10368000B30BE40BF50B661F771F881F991F1A9465 +:1036900069F760957095809590959B01AC01BD018F +:1036A000CF010895A29FB001B39FC001A39F700DE9 +:1036B000811D1124911DB29F700D811D1124911D3A +:1036C00008955058BB27AA270E94791B0C94951A7D +:1036D0000E94871A38F00E948E1A20F039F49F3F1A +:1036E00019F426F40C94841A0EF4E095E7FB0C947C +:1036F0007E1AE92F0E94A61A58F3BA1762077307B9 +:103700008407950720F079F4A6F50C94C81A0EF4F6 +:10371000E0950B2EBA2FA02D0B01B90190010C01E1 +:10372000CA01A0011124FF27591B99F0593F50F4F9 +:10373000503E68F11A16F040A22F232F342F442751 +:10374000585FF3CF469537952795A795F040539549 +:10375000C9F77EF41F16BA0B620B730B840BBAF019 +:103760009150A1F0FF0FBB1F661F771F881FC2F784 +:103770000EC0BA0F621F731F841F48F48795779598 +:103780006795B795F7959E3F08F0B0CF9395880F52 +:1037900008F09927EE0F9795879508950E94E21BF0 +:1037A0000C94951A0E948E1A58F00E94871A40F0C5 +:1037B00029F45F3F29F00C947E1A51110C94C91A18 +:1037C0000C94841A0E94A61A68F39923B1F3552326 +:1037D00091F3951B550BBB27AA2762177307840724 +:1037E00038F09F5F5F4F220F331F441FAA1FA9F3BA +:1037F00035D00E2E3AF0E0E832D091505040E695A8 +:10380000001CCAF72BD0FE2F29D0660F771F881F08 +:10381000BB1F261737074807AB07B0E809F0BB0BFB +:10382000802DBF01FF2793585F4F3AF09E3F51050F +:1038300078F00C947E1A0C94C91A5F3FE4F3983E1A +:10384000D4F3869577956795B795F7959F5FC9F7F8 +:10385000880F911D9695879597F90895E1E0660F79 +:10386000771F881FBB1F621773078407BA0720F0F2 +:10387000621B730B840BBA0BEE1F88F7E09508955B +:103880000E94ED1908F48FEF08950E94ED19880B3E +:10389000990B0895EE0FFF1F0590F491E02D099408 +:1038A0000E94521BB7FF0895821B930B08950F933C +:1038B0001F93CF93DF938230910510F482E090E064 +:1038C000E0910404F091050430E020E0B0E0A0E0D5 +:1038D000309799F42115310509F44AC0281B390B9A +:1038E00024303105D8F58A819B816115710589F1F4 +:1038F000FB0193838283FE0111C0408151810281CB +:10390000138148175907E0F04817590799F41097A1 +:1039100061F012960C93129713961C933296CF0176 +:10392000DF91CF911F910F9108950093040410939C +:103930000504F4CF2115310551F04217530738F033 +:10394000A901DB019A01BD01DF01F801C1CFEF013F +:10395000F9CF9093050480930404CDCFFE01E20FCC +:10396000F31F819391932250310939832883D7CF54 +:103970002091020430910304232B41F4209109018A +:1039800030910A013093030420930204209107012F +:10399000309108012115310541F42DB73EB7409112 +:1039A0000B0150910C01241B350BE0910204F091A6 +:1039B0000304E217F307A0F42E1B3F0B2817390767 +:1039C00078F0AC014E5F5F4F2417350748F04E0F7B +:1039D0005F1F5093030440930204819391939FCF00 +:1039E000F0E0E0E09CCFCF93DF930097E9F0FC019B +:1039F000329713821282A0910404B0910504ED0164 +:103A000030E020E01097A1F420813181820F931FD4 +:103A100020910204309103042817390709F061C08E +:103A2000F0930304E0930204DF91CF910895EA013B +:103A3000CE17DF07E8F54A815B819E0141155105EC +:103A4000B1F7E901FB83EA8349915991C40FD51F6E +:103A5000EC17FD0761F4808191810296840F951F18 +:103A6000E90199838883828193819B838A83F0E033 +:103A7000E0E012968D919C9113970097B9F52D91E6 +:103A80003C911197CD010296820F931F2091020461 +:103A9000309103042817390739F6309751F5109201 +:103AA000050410920404B0930304A0930204BCCF55 +:103AB000D383C28340815181840F951FC817D907D2 +:103AC00061F44E5F5F4F88819981480F591F518380 +:103AD00040838A819B81938382832115310509F07C +:103AE000B0CFF0930504E09304049ECFFD01DC0108 +:103AF000C0CF13821282D7CFB0E0A0E0E2E8FDE1B0 +:103B00000C94FB1A8C01009751F4CB010E94571CB6 +:103B10008C01C801CDB7DEB7E0E10C94171BFC01A6 +:103B2000E60FF71F9C0122503109E217F30708F452 +:103B30009DC0D901CD91DC911197C617D70798F098 +:103B4000C530D10530F3CE0104978617970708F3E7 +:103B5000C61BD70B2297C193D1936D937C93CF0152 +:103B60000E94F31CD6CF5B01AC1ABD0A4C018C0E2F +:103B70009D1EA0910404B0910504512C412CF12C00 +:103B8000E12C109731F5809102049091030488157F +:103B9000990509F05CC04616570608F058C0809198 +:103BA000070190910801009741F48DB79EB74091AD +:103BB0000B0150910C01841B950BE817F90708F0D5 +:103BC00055C0F0930304E0930204F901718360830C +:103BD000A0CF8D919C91119712966C90129713968D +:103BE0007C901397A815B90559F56C0142E0C40EF5 +:103BF000D11CCA14DB0420F1AC014A195B09DA01BB +:103C00001296159780F06282738251834083D901A6 +:103C10006D937C93E114F10471F0D7011396FC933A +:103C2000EE93129776CF22968C0F9D1FF901918308 +:103C30008083F301EFCFF0930504E093040469CF90 +:103C40004816590608F42C017D01D3019ACFCB0107 +:103C50000E94571C7C01009749F0AE01B8010E94F8 +:103C6000391EC8010E94F31C870153CF10E000E009 +:103C700050CFFB01DC0102C001900D924150504039 +:103C8000D8F70895DC0101C06D9341505040E0F732 +:103C90000895FB01DC0101900D920020E1F70895E9 +:103CA00010E0CFEBD0E004C0FE010E944A1C219638 +:0A3CB000C03CD107C9F7F894FFCF1C +:103CBA00FF020804020C0B0000060480000000400A +:103CCA000014005400000000000000000004040A70 +:103CDA000A111F1F0E1006090808090600040A0A1D +:103CEA000E0E1F1F0E00000A00000E110000000A2F +:103CFA000000110E00000A1F1F1F0E040000000022 +:103D0A0000000000000000D00130015D011D028E9C +:103D1A00016C018001000000005C052F05530705B6 +:103D2A000528051505060500000000C507300153E2 +:063D3A000752070D0A000C +:00000001FF diff --git a/app/modules/castarter_v2.js b/app/modules/castarter_v2.js new file mode 100644 index 000000000..b68e7a9d4 --- /dev/null +++ b/app/modules/castarter_v2.js @@ -0,0 +1,630 @@ + +const BaseModule = require('./baseModule'); + +class castarter_v2 extends BaseModule { + // 클래스 내부에서 사용될 필드들을 이곳에서 선언합니다. + constructor() { + super(); + this.sp = null; + this.sensorTypes = { + ALIVE: 0, + DIGITAL: 1, + ANALOG: 2, + PWM: 3, + SERVO_PIN: 4, + TONE: 5, + PULSEIN: 6, + ULTRASONIC: 7, + TIMER: 8, + SW_RESET: 9, + RGBLED: 10, + NEOPIXELINIT: 11, + NEOPIXELDIS: 12, + SERVO_DETACH: 13, + LCDINIT: 14, + LCD_DIS: 15, + LCDCLEAR: 16, + LCDOPTION: 17, + DHTINIT: 25, + DHTTEMP: 26, + DHTHUMI: 27, + }; + this.actionTypes = { + GET: 1, + SET: 2, + RESET: 3, + }; + this.sensorValueSize = { + FLOAT: 2, + SHORT: 3, + STRING: 4, + }; + this.digitalPortTimeList = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + this.sensorData = { + ULTRASONIC: 0, + DHTTEMP: 0, + DHTHUMI: 0, + PMVALUE: 0, + DIGITAL: { + '0': 0, + '1': 0, + '2': 0, + '3': 0, + '4': 0, + '5': 0, + '6': 0, + '7': 0, + '8': 0, + '9': 0, + '10': 0, + '11': 0, + '12': 0, + '13': 0, + '14': 0, + '15': 0, + '16': 0, + '17': 0, + '18': 0, + '19': 0, + '20': 0, + }, + ANALOG: { + '0': 0, + '1': 0, + '2': 0, + '3': 0, + '4': 0, + '5': 0, + }, + PULSEIN: {}, + TIMER: 0, + }; + this.defaultOutput = {}; + this.recentCheckData = {}; + this.sendBuffers = []; + this.lastTime = 0; + this.lastSendTime = 0; + this.isDraing = false; + this.sensorIdx = 0; + }; + init(handler, config) { + this.handler = handler; + this.config = config; + } + setSerialPort = function(sp) { + const self = this; + this.sp = sp; + }; + requestInitialData = function() { + return this.makeSensorReadBuffer(this.sensorTypes.ANALOG, 0); + }; + checkInitialData = function(data, config) { + return true; + // 이후에 체크 로직 개선되면 처리 + // var datas = this.getDataByBuffer(data); + // var isValidData = datas.some(function (data) { + // return (data.length > 4 && data[0] === 255 && data[1] === 85); + // }); + // return isValidData; + }; + afterConnect = function(that, cb) { + that.connected = true; + if (cb) { + cb('connected'); + } + }; + validateLocalData = function(data) { + return true; + }; + requestRemoteData = function(handler) { + const self = this; + if (!self.sensorData) { + return; + } + Object.keys(this.sensorData).forEach((key) => { + if (self.sensorData[key] != undefined) { + handler.write(key, self.sensorData[key]); + } + }); + }; + handleRemoteData = function(handler) { + const self = this; + const getDatas = handler.read('GET'); + const setDatas = handler.read('SET') || this.defaultOutput; + const time = handler.read('TIME'); + let buffer = new Buffer([]); + if (getDatas) { + const keys = Object.keys(getDatas); + keys.forEach((key) => { + let isSend = false; + const dataObj = getDatas[key]; + if (typeof dataObj.port === 'string' || typeof dataObj.port === 'number') { + const time = self.digitalPortTimeList[dataObj.port]; + if (dataObj.time > time) { + isSend = true; + self.digitalPortTimeList[dataObj.port] = dataObj.time; + } + } else if (Array.isArray(dataObj.port)) { + isSend = dataObj.port.every((port) => { + const time = self.digitalPortTimeList[port]; + return dataObj.time > time; + }); + + if (isSend) { + dataObj.port.forEach((port) => { + self.digitalPortTimeList[port] = dataObj.time; + }); + } + } + if (isSend) { + if (!self.isRecentData(dataObj.port, key, dataObj.data)) { + self.recentCheckData[dataObj.port] = { + type: key, + data: dataObj.data, + }; + buffer = Buffer.concat([buffer, self.makeSensorReadBuffer(key, dataObj.port, dataObj.data)]); + } + } + }); + } + if (setDatas) { + const setKeys = Object.keys(setDatas); + setKeys.forEach((port) => { + const data = setDatas[port]; + if (data) { + if (self.digitalPortTimeList[port] < data.time) { + self.digitalPortTimeList[port] = data.time; + + if (!self.isRecentData(port, data.type, data.data)) { + self.recentCheckData[port] = { + type: data.type, + data: data.data, + }; + buffer = Buffer.concat([buffer, self.makeOutputBuffer(data.type, port, data.data)]); + } + } + } + }); + } + if (buffer.length) { + this.sendBuffers.push(buffer); + } + }; + isRecentData = function(port, type, data) { + const that = this; + let isRecent = false; + if (type == this.sensorTypes.ULTRASONIC) { + const portString = port.toString(); + let isGarbageClear = false; + Object.keys(this.recentCheckData).forEach((key) => { + const recent = that.recentCheckData[key]; + if (key === portString) { + } + if (key !== portString && + (recent.type == that.sensorTypes.ULTRASONIC || + recent.type == that.sensorTypes.DHTTEMP || + recent.type == this.sensorTypes.DHTHUMI)) { + delete that.recentCheckData[key]; + isGarbageClear = true; + } + }); + if ((port in this.recentCheckData && isGarbageClear) || !(port in this.recentCheckData)) { + isRecent = false; + } else { + isRecent = true; + } + } else if (port in this.recentCheckData && type == this.sensorTypes.TONE) { + if ( + this.recentCheckData[port].type === type && + this.recentCheckData[port].data === data + ) { + isRecent = true; + } + } + return isRecent; + }; + requestLocalData = function() { + const self = this; + + if (!this.isDraing && this.sendBuffers.length > 0) { + this.isDraing = true; + this.sp.write(this.sendBuffers.shift(), () => { + if (self.sp) { + self.sp.drain(() => { + self.isDraing = false; + }); + } + }); + } + }; + handleLocalData = function(data) { + const self = this; + const datas = this.getDataByBuffer(data); + + datas.forEach((data) => { + if (data.length <= 4 || data[0] !== 255 || data[1] !== 85) { + return; + } + const readData = data.subarray(2, data.length); + let value; + switch (readData[0]) { + case self.sensorValueSize.FLOAT: { + value = new Buffer(readData.subarray(1, 5)).readFloatLE(); + value = Math.round(value * 100) / 100; + break; + } + case self.sensorValueSize.SHORT: { + value = new Buffer(readData.subarray(1, 3)).readInt16LE(); + break; + } + case self.sensorValueSize.STRING: { + value = new Buffer(readData[1] + 3); + value = readData.slice(2, readData[1] + 3); + value = value.toString('ascii', 0, value.length); + break; + } + default: { + value = 0; + break; + } + } + const type = readData[readData.length - 1]; + const port = readData[readData.length - 2]; + switch (type) { + case self.sensorTypes.DIGITAL: { + self.sensorData.DIGITAL[port] = value; + break; + } + case self.sensorTypes.ANALOG: { + self.sensorData.ANALOG[port] = value; + break; + } + case self.sensorTypes.PULSEIN: { + self.sensorData.PULSEIN[port] = value; + break; + } + case self.sensorTypes.ULTRASONIC: { + self.sensorData.ULTRASONIC = value; + break; + } + case self.sensorTypes.DHTTEMP: { + self.sensorData.DHTTEMP = value; + break; + } + case self.sensorTypes.DHTHUMI: { + self.sensorData.DHTHUMI = value; + break; + } + case self.sensorTypes.TIMER: { + self.sensorData.TIMER = value; + break; + } + default: { + break; + } + } + }); + }; + makeSensorReadBuffer = function(device, port, data) { + let buffer; + const dummy = new Buffer([10]); + if (device == this.sensorTypes.ULTRASONIC) { + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.GET, + device, + port[0], + port[1], + 10, + ]); + } else if (device == this.sensorTypes.DHTTEMP || device == this.sensorTypes.DHTHUMI) { + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + } else if (!data) { + buffer = new Buffer([ + 255, + 85, + 5, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + } else { + const value = new Buffer(2); + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 7, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + } + this.sensorIdx++; + if (this.sensorIdx > 254) { + this.sensorIdx = 0; + } + return buffer; + }; + makeOutputBuffer = function(device, port, data) { + let buffer; + const value = new Buffer(2); + const dummy = new Buffer([10]); + + switch (device) { + case this.sensorTypes.SERVO_PIN: + case this.sensorTypes.DIGITAL: + case this.sensorTypes.PWM: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.SERVO_DETACH: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.TONE: { + const time = new Buffer(2); + if ($.isPlainObject(data)) { + value.writeInt16LE(data.value); + time.writeInt16LE(data.duration); + } else { + value.writeInt16LE(0); + time.writeInt16LE(0); + } + buffer = new Buffer([ + 255, + 85, + 8, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, time, dummy]); + break; + } + case this.sensorTypes.SW_RESET: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.RGBLED: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.NEOPIXELINIT: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.NEOPIXELDIS: { + const num = new Buffer(2); + const r = new Buffer(2); + const g = new Buffer(2); + const b = new Buffer(2); + + if ($.isPlainObject(data)) { + num.writeInt16LE(data.num); + r.writeInt16LE(data.r); + g.writeInt16LE(data.g); + b.writeInt16LE(data.b); + } else { + num.writeInt16LE(0); + r.writeInt16LE(0); + g.writeInt16LE(0); + b.writeInt16LE(0); + } + buffer = new Buffer([ + 255, + 85, + 12, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, num, r, g, b, dummy]); + break; + } + case this.sensorTypes.DHTINIT: { + value.writeInt16LE(data); + + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.LCDINIT: { + value.writeInt16LE(data); + + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.LCD_DIS: { + let text; + const row = new Buffer(1); + const column = new Buffer(1); + let textLen = 0; + const textLenBuf = new Buffer(1); + + if ($.isPlainObject(data)) { + textLen = (`${data.text}`).length; + text = Buffer.from(`${data.text}`, 'ascii'); + row.writeInt8(data.row); + textLenBuf.writeInt8(textLen); + column.writeInt8(data.column); + } else { + textLen = 0; + text = Buffer.from('', 'ascii'); + row.writeInt8(0); + textLenBuf.writeInt8(textLen); + column.writeInt8(0); + } + buffer = new Buffer([ + 255, + 85, + 4 + 3 + textLen, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); + break; + } + case this.sensorTypes.LCDOPTION: { + let text; + const row = new Buffer(1); + const column = new Buffer(1); + let textLen = 0; + const textLenBuf = new Buffer(1); + + if ($.isPlainObject(data)) { + textLen = (`${data.text}`).length; + text = Buffer.from(`${data.text}`, 'ascii'); + row.writeInt8(data.row); + textLenBuf.writeInt8(textLen); + column.writeInt8(data.column); + } else { + textLen = 0; + text = Buffer.from('', 'ascii'); + row.writeInt8(0); + textLenBuf.writeInt8(textLen); + column.writeInt8(0); + } + buffer = new Buffer([ + 255, + 85, + 4 + 3 + textLen, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); + break; + } + case this.sensorTypes.LCDCLEAR: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + } + //console.log(buffer); + return buffer; + }; + getDataByBuffer = function(buffer) { + const datas = []; + let lastIndex = 0; + buffer.forEach((value, idx) => { + if (value == 13 && buffer[idx + 1] == 10) { + datas.push(buffer.subarray(lastIndex, idx)); + lastIndex = idx + 2; + } + }); + return datas; + }; + disconnect = function(connect) { + const self = this; + connect.close(); + if (self.sp) { + delete self.sp; + } + }; + reset = function() { + this.lastTime = 0; + this.lastSendTime = 0; + this.sensorData.PULSEIN = {}; + }; +} +module.exports = new castarter_v2(); diff --git a/app/modules/castarter_v2.json b/app/modules/castarter_v2.json new file mode 100644 index 000000000..d536839cf --- /dev/null +++ b/app/modules/castarter_v2.json @@ -0,0 +1,28 @@ +{ + "id": "4D0101", + "name": { + "en": "2nd Coding Array Starter", + "ko": "2세대 코딩어레이 스타터" + }, + "category": "board", + "platform": ["win32", "darwin"], + "icon" : "castarter_v2.png", + "module": "castarter_v2.js", + "url": "https://cafe.naver.com/arduinostory", + "email": "we@codingarray.cc", + "video": "https://youtu.be/R6nYA4AOn8w", + "driver": { + "win32-ia32": "arduino/dpinst-x86.exe", + "win32-x64": "arduino/dpinst-amd64.exe" + }, + "reconnect": true, + "firmware": "castarter_v2", + "hardware": { + "type": "serial", + "control": "slave", + "duration": 32, + "vendor": "Arduino", + "firmwarecheck": false, + "baudRate": 115200 + } +} diff --git a/app/modules/castarter_v2.png b/app/modules/castarter_v2.png new file mode 100644 index 0000000000000000000000000000000000000000..62f9e5a4b87b4e1f2eb13404fd9acdfccddac7a3 GIT binary patch literal 78036 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 Date: Thu, 16 Dec 2021 20:13:19 +0900 Subject: [PATCH 2/6] =?UTF-8?q?Revert=20"2=EC=84=B8=EB=8C=80=20=EC=BD=94?= =?UTF-8?q?=EB=94=A9=EC=96=B4=EB=A0=88=EC=9D=B4=20=EC=8A=A4=ED=83=80?= =?UTF-8?q?=ED=84=B0=20=EC=8B=A0=EA=B7=9C=20=EB=93=B1=EB=A1=9D"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 79f4d56ae9c46ab33b1c25a9ddcb898cfce826b8. --- app/firmwares/castarter_v2.hex | 982 --------------------------------- app/modules/castarter_v2.js | 630 --------------------- app/modules/castarter_v2.json | 28 - app/modules/castarter_v2.png | Bin 78036 -> 0 bytes 4 files changed, 1640 deletions(-) delete mode 100644 app/firmwares/castarter_v2.hex delete mode 100644 app/modules/castarter_v2.js delete mode 100644 app/modules/castarter_v2.json delete mode 100644 app/modules/castarter_v2.png diff --git a/app/firmwares/castarter_v2.hex b/app/firmwares/castarter_v2.hex deleted file mode 100644 index 3db6f0907..000000000 --- a/app/firmwares/castarter_v2.hex +++ /dev/null @@ -1,982 +0,0 @@ -:100000000C94C0000C94E8000C94E8000C94E800F8 -:100010000C94E8000C94E8000C94E8000C94F20AAC -:100020000C94E8000C94E8000C94E8000C94F00B9D -:100030000C94E8000C94E8000C94E8000C94E800A0 -:100040000C94A60B0C94E8000C94740B0C944E0BBF -:100050000C94E8000C94E8000C94E8000C94E80080 -:100060000C94AC0C0C94E80006206F20202020207B -:10007000202020070001026F0304056F02A602453D -:1000800000001F01011F010500000F0808080700FC -:1000900000080808080808080008080818080808E0 -:1000A00000001F011F101F00000A0A0A1A0A0A0A8C -:1000B000041F000000000000001F000000000000FE -:1000C0000810001B0A0A06000201001B0A0A0A06A1 -:1000D000000C0A0A0A0A0A1400060A0A0A0A0A0591 -:1000E0000000000000000605070C18101212100393 -:1000F0001C060301090901180000000000000C148F -:1001000002020301000000000201001B0A0A0600AF -:100110000810001B0A0A0A06080818100000000050 -:1001200000000000240027002A0002000000080050 -:1001300002010000030407000000000000000000AE -:10014000000000250028002B0000000000230026EE -:10015000002900040404040404040402020202024C -:10016000020303030303030102040810204080017B -:10017000020408102001020408102000390E8A1918 -:1001800011241FBECFEFD8E0DEBFCDBF11E0A0E04D -:10019000B1E0EAEBFCE302C005900D92A638B1078E -:1001A000D9F724E0A6E8B1E001C01D92A630B2075D -:1001B000E1F710E0CFEBD0E004C02197FE010E94F0 -:1001C0004A1CCE3BD107C9F70E942D0F0C94501E3C -:1001D0000C940000CF92DF92EF92FF92CF93DF93C7 -:1001E000B091C503A0E08111AB2F8091C60390E0D0 -:1001F000880F991FAC01475B5E4FC090CB03D09036 -:10020000CC03E090CD03F090CE0330E020E0FA0183 -:10021000C591D491E881B90190E080E0EB23EA1325 -:100220000AC02F5F3F4F6C157D058E059F0578F343 -:100230006FEF7FEFCB01DF91CF91FF90EF90DF90D9 -:10024000CF900895FC0124813581232B21F08081FA -:100250009181009721F41092A30283EA92E008951D -:10026000AF92BF92CF92DF92EF92FF920F931F93C4 -:10027000CF93DF936C017B018B01040F151FEB0102 -:100280005E01AE18BF08C017D10759F06991D601B9 -:10029000ED91FC910190F081E02DC6010995892B2B -:1002A00079F7C501DF91CF911F910F91FF90EF90EA -:1002B000DF90CF90BF90AF900895FC01538D448D97 -:1002C000252F30E0842F90E0821B930B541710F001 -:1002D000CF96089501970895FC01918D828D98170E -:1002E00061F0A28DAE0FBF2FB11D5D968C91928DE6 -:1002F0009F5F9F73928F90E008958FEF9FEF089517 -:10030000FC01918D828D981731F0828DE80FF11DDF -:10031000858D90E008958FEF9FEF0895FC01918DFA -:10032000228D892F90E0805C9F4F821B91098F73F3 -:100330009927089588ED92E00E948E0121E0892B93 -:1003400009F420E0822F089580E090E0892B29F0C5 -:100350000E949A0181110C9400000895FC01A48D63 -:10036000A80FB92FB11DA35ABF4F2C91848D90E0D7 -:1003700001968F739927848FA689B7892C93A089BA -:10038000B1898C91837080648C93938D848D981344 -:1003900006C00288F389E02D80818F7D80830895D7 -:1003A000EF92FF920F931F93CF93DF93EC0181E0C5 -:1003B000888F9B8D8C8D98131AC0E889F98980816C -:1003C00085FF15C09FB7F894EE89FF896083E8899F -:1003D000F98980818370806480839FBF81E090E091 -:1003E000DF91CF911F910F91FF90EF900895F62E1E -:1003F0000B8D10E00F5F1F4F0F731127E02E8C8DB8 -:100400008E110CC00FB607FCFACFE889F9898081FC -:1004100085FFF5CFCE010E94AE01F1CFEB8DEC0F41 -:10042000FD2FF11DE35AFF4FF0829FB7F8940B8F19 -:10043000EA89FB8980818062CFCFCF93DF93EC0183 -:10044000888D8823B9F0AA89BB89E889F9898C91BC -:1004500085FD03C0808186FD0DC00FB607FCF7CF78 -:100460008C9185FFF2CF808185FFEDCFCE010E9478 -:10047000AE01E9CFDF91CF910895833081F028F468 -:10048000813099F08230A9F008958730A9F0883042 -:10049000C9F08430B1F4809180008F7D03C08091D9 -:1004A00080008F7780938000089584B58F7784BD16 -:1004B000089584B58F7DFBCF8091B0008F778093B6 -:1004C000B00008958091B0008F7DF9CF1F93CF9336 -:1004D000DF93282F30E0F901E55DFE4F8491F901AB -:1004E000E959FE4FD491F901ED5AFE4FC491CC2346 -:1004F000A9F0162F81110E943D02EC2FF0E0EE0FC3 -:10050000FF1FE15CFE4FA591B4918FB7F894EC9179 -:10051000111108C0D095DE23DC938FBFDF91CF91FE -:100520001F910895DE2BF8CF9091000189130BC025 -:10053000EAE2F1E0E4919FEF90930001E13049F0AD -:1005400028F0E23061F060E00C94660210926E00D8 -:10055000FACF90916F009D7F90936F00F4CF9091B0 -:1005600070009D7F9093700091E09093B000909107 -:10057000B100987F94609093B1001092B300E3CFE4 -:10058000CF93DF9390E0FC01E959FE4F24918D5AFF -:100590009E4FFC0184918823C9F090E0880F991F39 -:1005A000FC01E05EFE4FA591B491FC01E15CFE4FC1 -:1005B000C591D49161110DC09FB7F8948C9120958D -:1005C00082238C938881282328839FBFDF91CF913A -:1005D0000895623051F49FB7F8943C91822F809532 -:1005E00083238C93E8812E2BEFCF8FB7F894EC9177 -:1005F0002E2B2C938FBFEACFCF93DF93EC0180910A -:10060000ED03882349F08091F2039091F30397FD65 -:1006100003C060E00E94C002D093F303C093F203D2 -:100620008091ED03882341F061E08C2F0E94C0028D -:1006300060E08C2F0E946602FE01ED5AFE4FE491AD -:10064000F0E0EE0FFF1FE15CFE4F859194919093D7 -:1006500000048093FF03FE01E959FE4FE491E0930B -:100660000104DF91CF9108953FB7F89480914A0239 -:1006700090914B02A0914C02B0914D0226B5A89BDF -:1006800005C02F3F19F00196A11DB11D3FBFBA2F24 -:10069000A92F982F8827BC01CD01620F711D811DE4 -:1006A000911D42E0660F771F881F991F4A95D1F769 -:1006B00008958F929F92AF92BF92CF92DF92EF9266 -:1006C000FF924B015C010E9434036B017C010E948C -:1006D00034036C197D098E099F09683E73408105BA -:1006E0009105A8F321E0821A9108A108B10888EECB -:1006F000C80E83E0D81EE11CF11C81149104A104F2 -:10070000B10429F7FF90EF90DF90CF90BF90AF90AA -:100710009F908F9008952FB7F89460914602709142 -:10072000470280914802909149022FBF0895CF92CD -:10073000DF92EF92FF920F931F93CF93DF93CDB78A -:10074000DEB7C054D1400FB6F894DEBF0FBECDBFA8 -:100750000E948B030091C7031091C8032091C90325 -:100760003091CA036B017C01C01AD10AE20AF30A74 -:1007700097018601003D17402105310590F48091D5 -:10078000CF03C05CDE4F0FB6F894DEBF0FBECDBF07 -:10079000DF91CF911F910F91FF90EF90DF90CF905D -:1007A00008956093C7037093C8038093C90390931F -:1007B000CA031092C2031092C1031092C003109298 -:1007C000BF031092BE0362E08091C3030E94C00287 -:1007D00061E070E080E090E00E94590361E0809168 -:1007E000C3030E94C00260E08091C3030E946602BE -:1007F0008091C4038551823020F58BE291E101970D -:10080000F1F762E08091C3030E94C0028091D0039F -:1008100090E08230910538F0880F991F880F991F5A -:1008200005970197F1F7F89480E00E94EA006F3F86 -:100830007F4F8F4F9F4F61F41092CF03789480E0E9 -:10084000A0CF64E170E080E090E00E945903D9CF2E -:1008500081E00E94EA006F3F7F4F8F4F9F4F61F30F -:100860008E010F5F1F4F6E012FEBC21A2EEFD20ABF -:10087000780180E00E94EA00F7016083718382833F -:10088000938381E00E94EA00F70164837583868385 -:100890009783F8E0EF0EF11CEC14FD0451F7789407 -:1008A00030E020E0F801C080D180E280F380448114 -:1008B000558166817781FFEFCF16DF06EF06FF06D1 -:1008C00031F04F3F8FEF58076807780719F41092FF -:1008D000CF03B5CFF90183E0F595E7958A95E1F768 -:1008E000E254FC4F8081880FC416D506E606F70651 -:1008F00010F180832F5F3F4F085F1F4F2832310573 -:1009000089F64091C2032091BE038091BF03280F56 -:100910003327331F8091C003280F311D8091C103FD -:10092000820F932F911D99274817190681F681E0B0 -:100930008093CF0326CF8160DCCF2091F801260F72 -:100940003327331F21323105ECF420911E02FC01C4 -:1009500090E080E0243069F082E00895A091F801F1 -:100960002191AC014A525E4FA40FB52FB11D2C93BB -:100970000196861798F38091F801680F6093F8014B -:1009800080E0089581E0089510921E0281E0809336 -:10099000200210921F0261E082E10E94660261E083 -:1009A00083E10E946602E9EBF0E080818E7F808324 -:1009B00080818D7F808388E48093B80085E4809374 -:1009C000BC000895CF93DF9391E09093D5018823E5 -:1009D000B9F0C091B800D091BA008091BC008A7B78 -:1009E0008093BC0060E082E10E94660260E083E1E7 -:1009F0000E9466020E94C404D093BA00C093B8005B -:100A0000DF91CF910895089508950895E091CD0163 -:100A10008091CC01E81730F4F0E0E455FE4F80817E -:100A200090E008958FEF9FEF08959091CD01809110 -:100A3000CC012FEF3FEF981748F4E92FF0E0E45591 -:100A4000FE4F208130E09F5F9093CD01C901089552 -:100A50008091CC019091CD01891B990B0895CF9283 -:100A6000DF92EF92FF920F931F93CF93DF937C015E -:100A7000CB018A012091AB01222389F0EB016B01AC -:100A8000C40ED51ECC15DD0569F06991D701ED9135 -:100A9000FC910190F081E02DC7010995F3CF642FFF -:100AA0000E949D04C801DF91CF911F910F91FF908B -:100AB000EF90DF90CF900895CF93DF931F92CDB743 -:100AC000DEB769832091AB012223F9F02091CE019A -:100AD000203258F021E030E0FC013383228390E0A3 -:100AE00080E00F90DF91CF9108958091CF01E82FA2 -:100AF000F0E0E557FE4F998190838F5F8093CF019F -:100B00008093CE0181E090E0ECCF61E0CE010196D0 -:100B10000E949D04F7CFF894FC013297E331F10570 -:100B200008F030C0EA56FA4F0C944A1CA905A905F2 -:100B3000A905A905A905A905E005C405D005D8059D -:100B4000D805E005C205C205C205C205C205C20539 -:100B5000E80585E086BB82E080936F0010928700F5 -:100B60001092860010928B0010928A0010928900D9 -:100B700010928800109285001092840010928000DC -:100B8000809381007894089585E286BB82E080930B -:100B90006F002CEC3EE13093870020938600E2CF7B -:100BA00085E286BB82E080936F002EEC3EE1F3CFBE -:100BB00085E286BB82E080936F002FEC3EE1EBCFB5 -:100BC00085E286BB82E080936F0029EC3EE1E3CFB3 -:100BD000F89480917602809381008091750286BBA3 -:100BE0008091740280936F008091720290917302E1 -:100BF000909387008093860080917002909171029B -:100C000090938B0080938A0080916E0290916F0286 -:100C1000909389008093880080916C0290916D027E -:100C2000909385008093840080916B028093800074 -:100C30008091760280938100789410927702A2CFFF -:100C4000FC01EF57FD4F2081211105C091E09083F9 -:100C500061E00C94C0020895682F88ED92E00C9436 -:100C6000D0010F931F93CF93DF938B01D82FC92F00 -:100C700082E00E942C06C801AD2FBC2F8093870113 -:100C800090938801A0938901B0938A010E942C0659 -:100C9000812F0E942C068D2F0E942C068C2FDF9115 -:100CA000CF911F910F910C942C0642E050E063E825 -:100CB00071E088ED92E00C9430018FEF0E942C06D9 -:100CC00085E50E942C060C9455068FEF0E942C0699 -:100CD00085E50C942C06CF92DF92EF92FF920F9352 -:100CE0001F93CF93DF93FC01C48121E02093AB01DC -:100CF000C09386011092CF011092CE018385682B9C -:100D000085E793E00E945C05D091CE01D13208F0D6 -:100D100092C00E9434036B017C0180911E028111FC -:100D200065C082E080931E0281E0809320028FEFF5 -:100D300080931D0210924202D0934102ABE8B1E0D1 -:100D4000E1E2F2E080E0D81385C010924302809186 -:100D50004302CC0FC82BC093430280911F02813005 -:100D600009F07CC010921F020E9434036B017C01C9 -:100D7000809143028093BB008091D1019091D20178 -:100D8000A091D301B091D401892B8A2B8B2B99F0A0 -:100D90000E9434030091D1011091D2012091D3011E -:100DA0003091D4016C197D098E099F090617170728 -:100DB00028073907E0F18091BC0083FDD9CF85EC8D -:100DC0008093BC000E9434036B017C0180911E0261 -:100DD000823009F445C080911D028F3F61F18091FE -:100DE0001D02803241F180911D0225C08091D10108 -:100DF0009091D201A091D301B091D401892B8A2B7B -:100E00008B2B09F48ACF0E9434030091D1011091F9 -:100E1000D2012091D3013091D4016C197D098E0942 -:100E20009F09061717072807390708F076CF809122 -:100E3000D0010E94E2041092CF011092CE011092D4 -:100E4000AB01DF91CF911F910F91FF90EF90DF9059 -:100E5000CF9008959D9191938F5F75CF85EEB0CF20 -:100E60008091D1019091D201A091D301B091D40190 -:100E7000892B8A2B8B2B09F4A9CF0E943403009174 -:100E8000D1011091D2012091D3013091D4016C197C -:100E90007D098E099F09061717072807390708F0EB -:100EA00095CFC5CF089590E080E008950F931F93EC -:100EB000CF938C01C62F0E946B066C2F6460C80113 -:100EC0000E946B066C2F6B7FC8010E946B0683EC3F -:100ED00090E00197F1F7CF911F910F9108950F9333 -:100EE0001F93CF93DF938C01D62FC42F607F642B89 -:100EF0000E94560780E1D89FB00111246C2BC801D5 -:100F0000DF91CF911F910F910C94560740E061E063 -:100F100082EB93E00E946F078BE39FE10197F1F76B -:100F20000895CF93DF93CDB7DEB728970FB6F89427 -:100F3000DEBF0FBECDBF98E0EDE0F1E0DE0111961F -:100F400001900D929A95E1F79091BA03961710F4DB -:100F50006FEF690F262F30E0220F331F41E050E082 -:100F60004C0F5D1F240F351FF9016081680F606809 -:100F700040E082EB93E028960FB6F894DEBF0FBEF8 -:100F8000CDBFDF91CF910C946F0741E00E946F07B6 -:100F900081E090E008950F931F93CF93DF938B012F -:100FA00098E0899FB0011124606440E082EB93E0F7 -:100FB0000E946F07E801085F1F4F699182EB93E081 -:100FC0000E94C507C017D107C1F7DF91CF911F91CC -:100FD0000F91089565E471E080E00E94CB076DE316 -:100FE00071E081E00E94CB0765E371E082E00E943E -:100FF000CB076DE271E083E00E94CB0765E271E010 -:1010000084E00E94CB076DE171E085E00E94CB0790 -:1010100065E171E086E00E94CB0765E171E087E061 -:101020000C94CB07FC0180819181009711F00C9406 -:10103000F31C08950F931F93CF93DF938C0180913E -:10104000F5039091F6030E94F31C9091FA038091AE -:10105000F703981721F184E090E0809FE001819FE1 -:10106000D00D909FD00D1124D093F103C093F003C5 -:10107000CE010E94571C9093F6038093F5030097CE -:1010800089F0AE0170E060E00E94421E1093EF0311 -:101090000093EE03DF91CF911F910F91089583E0AC -:1010A00090E0DBCF1092F1031092F0031092EF0367 -:1010B0001092EE03EFCF0F931F93CF93DF93EC01CA -:1010C00088819981009759F02A813B81261737073B -:1010D00030F081E0DF91CF911F910F9108958B0146 -:1010E0006F5F7F4F0E947C1D009759F09983888322 -:1010F0001B830A832C813D81232B59F7FC0110822D -:10110000E8CF80E0E7CFAF92BF92CF92DF92EF922D -:10111000FF920F931F93CF93DF9300D0CDB7DEB72D -:101120008C015B01FC0111821082138212821582F4 -:10113000148270E060E00E945B08F8012081318138 -:1011400081113FC02115310519F0C9010E94F31C1E -:10115000F8011182108215821482138212828EEAA3 -:10116000E82E82E0F82EFAE0AF0EB11CE4EAF2E0DD -:10117000C701845A92408A159B055CF5F70180816E -:1011800089831A82F801C480D580FFEFCF1ADF0A65 -:10119000B601C8010E945B08882379F0F80120811C -:1011A000318184819581BE016F5F7F4F820F931FD4 -:1011B0000E94491EF801D582C482F70111927F0175 -:1011C000D5CF1582148265E871E0C9010E94491EDD -:1011D000C6CF119282E0EE3AF807D9F7C8010F9016 -:1011E0000F90DF91CF911F910F91FF90EF90DF90C3 -:1011F000CF90BF90AF90089585ED8093BC00809113 -:10120000D1019091D201A091D301B091D401079660 -:10121000A11DB11D23E0B695A795979587952A95B1 -:10122000D1F72091BC0024FD03C010921E02089546 -:101230004091D1015091D2016091D3017091D401BC -:10124000452B462B472B69F30097A105B10541F0CB -:1012500025E32A95F1F700000197A109B109E1CF33 -:101260008091D0010C94E204EF92FF920F931F93B0 -:10127000CF93DF93CDB7DEB728970FB6F894DEBFD4 -:101280000FBECDBF87E28093B6031092CD011092BE -:10129000CC011092CF011092CE010E94C40483E0D1 -:1012A00095E09093F7018093F60184E095E09093A8 -:1012B000FB018093FA011092B7038091BC03823046 -:1012C00018F098E09093B7038093BA0362E370E05C -:1012D00080E090E00E9459036091BD0382EB93E0AF -:1012E0000E946B0662E370E080E090E00E94590388 -:1012F00060E382EB93E00E9456070BE416E4C8011A -:101300000197F1F760E382EB93E00E945607C80172 -:101310000197F1F760E382EB93E00E94560783E5C3 -:1013200092E00197F1F760E282EB93E00E945607AA -:101330006091B703606240E082EB93E00E946F0728 -:1013400084E08093B80340E06CE082EB93E00E947D -:101350006F070E94860782E08093B90340E066E051 -:1013600082EB93E00E946F0740E062E082EB93E043 -:101370000E946F078BE39FE10197F1F788E080936C -:10138000BD0360E082EB93E00E946B0660E080E0CA -:101390000E949107809169028111D6C081E08093FB -:1013A000690290EEE92E90E0F92E10E048E050E05E -:1013B000B701CE0101960E94A219BE016F5F7F4F57 -:1013C000812F0E94CB0788E0E80EF11C1F5F1830C8 -:1013D00069F710E000E060E00115110521F004302C -:1013E000110521F461E086E00E949107602F82EBF5 -:1013F00093E00E94C5070F5F1F4F0830110559F792 -:1014000010E000E048E050E000FDABC068ED70E0A7 -:10141000CE0101960E94A219BE016F5F7F4F80E04E -:101420000E94CB0748E050E060ED70E0CE010196ED -:101430000E94A219BE016F5F7F4F83E00E94CB071D -:1014400048E050E068EC70E0CE0101960E94A219DD -:10145000BE016F5F7F4F85E00E94CB0748E050E000 -:1014600060EC70E0CE0101960E94A219BE016F5F90 -:101470007F4F86E00E94CB0760E086E00E949107E4 -:1014800060E082EB93E00E94C50760E089E00E9483 -:10149000910763E082EB93E00E94C50761E087E07B -:1014A0000E94910765E082EB93E00E94C50766E029 -:1014B00082EB93E00E94C5076CE370E080E090E06F -:1014C0000E9459030F5F1F4F0630110509F09ACF94 -:1014D00080E8E82E80E0F82E10E048E050E0B70108 -:1014E000CE0101960E94A219BE016F5F7F4F812F2E -:1014F0000E94CB0788E0E80EF11C1F5F183069F7E7 -:1015000010E000E0C801029760E00C9708F456C0B4 -:10151000802F0E94910760E282EB93E00E94C50752 -:1015200061E0802F0E94910760E282EB93E00E94CD -:10153000C5076FE070E080E090E00E9459030F5F04 -:101540001F4F00311105F1F628960FB6F894DEBF53 -:101550000FBECDBFDF91CF911F910F91FF90EF9004 -:10156000089560EE70E0CE0101960E94A219BE01BE -:101570006F5F7F4F80E00E94CB0748E050E068EF4C -:1015800070E0CE0101960E94A219BE016F5F7F4FED -:1015900083E00E94CB0748E050E068E071E0CE01B4 -:1015A00001960E94A219BE016F5F7F4F85E00E94E5 -:1015B000CB0748E050E060E171E054CF802F0E94FB -:1015C0009107F801EE58FF4F649182EB93E00E947F -:1015D000C50761E0802F0E949107F801EA59FF4F8B -:1015E0006491A3CF1F920F920FB60F9211242F93E5 -:1015F0003F934F935F936F937F938F939F93AF939B -:10160000BF93EF93FF938091550290915602A09162 -:101610005702B0915802892B8A2B8B2BD1F19091D4 -:101620005002E0915102F09152028081892780831B -:101630008091550290915602A0915702B0915802A4 -:10164000181619061A061B069CF4809155029091F3 -:101650005602A0915702B09158020197A109B10911 -:101660008093550290935602A0935702B09358026C -:10167000FF91EF91BF91AF919F918F917F916F916A -:101680005F914F913F912F910F900FBE0F901F9040 -:101690001895809100010E949402EACF1F920F9248 -:1016A0000FB60F9211242F933F934F935F936F9335 -:1016B0007F938F939F93AF93BF93EF93FF9388EDA7 -:1016C00092E00E94AE01FF91EF91BF91AF919F9187 -:1016D0008F917F916F915F914F913F912F910F90DB -:1016E0000FBE0F901F9018951F920F920FB60F927A -:1016F00011242F938F939F93EF93FF93E091E80230 -:10170000F091E9028081E091EE02F091EF0282FD1A -:101710001BC090818091F1028F5F8F732091F20244 -:10172000821741F0E091F102F0E0E852FD4F958F11 -:101730008093F102FF91EF919F918F912F910F90E4 -:101740000FBE0F901F9018958081F4CF1F920F92BB -:101750000FB60F9211242F933F938F939F93AF93C4 -:10176000BF938091460290914702A0914802B091A8 -:1017700049023091450223E0230F2D3758F5019699 -:10178000A11DB11D2093450280934602909347020C -:10179000A0934802B093490280914A0290914B0273 -:1017A000A0914C02B0914D020196A11DB11D8093F4 -:1017B0004A0290934B02A0934C02B0934D02BF910A -:1017C000AF919F918F913F912F910F900FBE0F90EE -:1017D0001F90189526E8230F0296A11DB11DD2CFA8 -:1017E0001F920F920FB60F9211242F933F934F9396 -:1017F0005F936F937F938F939F93AF93BF93CF9399 -:10180000DF93EF93FF9380914402C091A503D0E052 -:1018100087FF24C0109285001092840080914402BA -:101820008F5F8093440280914402082E000C990B34 -:101830008C179D0724F4809144028C30C4F1809170 -:10184000840090918500049680349C4908F47AC005 -:101850008091840090918500049676C08091440226 -:10186000082E000C990B8C179D07C4F6E0914402DA -:101870008E2FEE0F990BFC01EE0FFF1FE80FF91FE3 -:10188000EF57FC4F808186FFC9CFE09144028E2F35 -:10189000EE0F990BFC01EE0FFF1FE80FF91FEF573A -:1018A000FC4F808160E08F730E946602B7CF209169 -:1018B000840030918500E09144028E2FEE0F990B49 -:1018C000FC01EE0FFF1FE80FF91FEF57FC4F81815E -:1018D0009281820F931F9093890080938800E091FA -:1018E00044028E2FEE0F990BFC01EE0FFF1FE80F45 -:1018F000F91FEF57FC4F808186FF11C0E091440231 -:101900008E2FEE0F990BFC01EE0FFF1FE80FF91F52 -:10191000EF57FC4F808161E08F730E946602FF9158 -:10192000EF91DF91CF91BF91AF919F918F917F9177 -:101930006F915F914F913F912F910F900FBE0F903C -:101940001F90189580E49CE990938900809388000B -:101950008FEF80934402E3CF1F920F920FB60F9246 -:1019600011242F933F934F935F936F937F938F93A4 -:101970009F93AF93BF93EF93FF938091B900887FBC -:10198000803609F44AC0F0F5883209F4A7C018F58A -:10199000803109F49BC0B8F4882309F4F9C0883079 -:1019A00009F494C0FF91EF91BF91AF919F918F91F6 -:1019B0007F916F915F914F913F912F910F900FBE4B -:1019C0000F901F901895883109F488C0803251F724 -:1019D00080931D0214C0803409F49DC040F480330C -:1019E000B9F38833F9F680931D0285ECB0C08035D9 -:1019F00009F485C0883509F496C0883499F60E94A8 -:101A0000FC08D0CF883909F48CC038F5883729F024 -:101A100050F4883611F0803729F683E080931E0257 -:101A200010921C0257C0883809F47BC0803919F025 -:101A3000803809F0B7CF80911C02803208F071C065 -:101A4000E0911C0281E08E0F80931C028091BB000C -:101A5000F0E0E450FE4F80833DC0803B39F0E0F47D -:101A6000803A09F479C0883A09F09CCF84E08093E9 -:101A70001E021092F9011092F801E091F601F09126 -:101A8000F70109958091F80181110FC081E08093E1 -:101A9000F8011092D60109C0803C09F4A6CF883C19 -:101AA00009F4A3CF883B09F07DCFE091F90181E0F3 -:101AB0008E0F8093F901F0E0EA52FE4F808180930F -:101AC000BB009091F9018091F80129C080914302F7 -:101AD0008093BB0085EC8093BC0064CF9091420260 -:101AE00080914102981758F5E091420281E08E0FF3 -:101AF00080934202F0E0EF5DFD4F8081E9CFE091FD -:101B0000420281E08E0F809342028091BB00F0E0A0 -:101B1000EF5DFD4F808390914202809141029817C2 -:101B2000C8F285E8D8CFE091420281E08E0F809321 -:101B300042028091BB00F0E0EF5DFD4F8083809119 -:101B4000200281115CCF81E080931F0284EA8093A0 -:101B5000BC0010921E0226CF85EC8093BC00109230 -:101B60001E0280911C02803230F4E0911C02F0E0F1 -:101B7000E450FE4F108260911C0270E0E091FA0187 -:101B8000F091FB018CEF91E0099510921C020ACFB5 -:101B900010921D0234CFCF92DF92EF92FF920F93FB -:101BA0001F93E82FF92F05C00150110921093109B0 -:101BB00061F1908196239417B9F305C00150110982 -:101BC0002109310911F1908196239413F7CFC12C8B -:101BD000D12CE12CF12C0AC08FEFC81AD80AE80AE0 -:101BE000F80A0C151D052E053F0579F08081862326 -:101BF000841791F36C2D7D2D8E2D9F2D1F910F91AC -:101C0000FF90EF90DF90CF90089560E070E080E06B -:101C100090E01F910F91FF90EF90DF90CF9008958B -:101C2000CF93DF93EC01198218821B821A821D82E6 -:101C30001C8270E060E00E945B082881398181117C -:101C40000FC02115310519F0C9010E94F31C19823A -:101C500018821D821C821B821A82DF91CF91089507 -:101C60001D821C8265E871E0C901DF91CF910C945F -:101C7000491E1092DB021092DA0288EE93E0A0E097 -:101C8000B0E08093DC029093DD02A093DE02B0937B -:101C9000DF0227E531E03093D9022093D80225EC0A -:101CA00030E03093E5022093E40224EC30E03093FE -:101CB000E7022093E60220EC30E03093E902209323 -:101CC000E80221EC30E03093EB022093EA0222ECB0 -:101CD00030E03093ED022093EC0226EC30E03093BC -:101CE000EF022093EE021092F1021092F202109293 -:101CF000F3021092F402109278031092770380930B -:101D0000790390937A03A0937B03B0937C0389E6D5 -:101D100091E090937603809375031092ED031092F7 -:101D2000F4031092F6031092F5031092FB03109245 -:101D3000FC031092FD031092FE0381E08093FA03EE -:101D40008093F7031092F80392E09093F903809345 -:101D5000EC0382E090E00E941A0888E090E00E9484 -:101D6000FC02E4EDF3E02CEE33E04FEF68EB7BE0B8 -:101D70008091A5038C3008F06AC091E0980F909391 -:101D8000A503808390E0DC01AA0FBB1FA80FB91F39 -:101D9000AF57BC4F12967C936E93119733962E17C4 -:101DA0003F0731F78091A5038C3008F052C091E0D5 -:101DB000980F9093A5038093D10390E0FC01EE0F60 -:101DC000FF1FE80FF91FEF57FC4F88EB9BE0928352 -:101DD000818390910601809105018093C3039093C4 -:101DE000C40390E0FC01E959FE4FE491E093C50380 -:101DF000FC01ED5AFE4FE491E093C60380E89EE3B8 -:101E0000A0E0B0E08093CB039093CC03A093CD03EC -:101E1000B093CE031092B5031092B4038BE791E018 -:101E20009093B3038093B20387E28093B60380E17B -:101E30008093BB0382E08093BC031092BD038CEAC5 -:101E400093E00E94100E86EA93E00C94100E4083FB -:101E5000A5CF8FEF8093D103BCCFCF93DF93CDB7C6 -:101E6000DEB763970FB6F894DEBF0FBECDBF789490 -:101E700084B5826084BD84B5816084BD85B582608F -:101E800085BD85B5816085BD80916E008160809340 -:101E90006E001092810080918100826080938100A9 -:101EA00080918100816080938100809180008160B9 -:101EB000809380008091B10084608093B100809114 -:101EC000B00081608093B00080917A00846080933C -:101ED0007A0080917A00826080937A0080917A0003 -:101EE000816080937A0080917A00806880937A0084 -:101EF0001092C100E091E802F091E90282E0808353 -:101F0000E091E402F091E5021082E091E602F091A6 -:101F1000E70280E180831092F002E091EC02F09100 -:101F2000ED0286E08083E091EA02F091EB0280818D -:101F300080618083E091EA02F091EB028081886009 -:101F40008083E091EA02F091EB02808180688083D7 -:101F5000E091EA02F091EB0280818F7D808312E0B4 -:101F600061E0812F0E94C00260E0812F0E94660222 -:101F70001F5F1E30A9F70E9434098091F2039091EF -:101F8000F30397FD08C061E00E94C00260E0809109 -:101F9000F2030E94660281E08093ED03809180004D -:101FA00080936B028091810080937602F89486B3CF -:101FB0008093750280916F008093740280918600F7 -:101FC00090918700909373028093720280918A00AF -:101FD00090918B00909371028093700280918800A1 -:101FE0009091890090936F0280936E02809184009B -:101FF0009091850090936D0280936C02789401E03B -:102000002AE2222E21E0322E88ED92E00E948E01FB -:10201000892B09F4DBC688ED92E00E948E01181628 -:10202000190694F788ED92E00E946C0190917B0272 -:10203000853509F05AC0911158C080917A028F3FBE -:1020400021F40093790200937B02809179028F5FE3 -:10205000843308F062C08093790280917B028823E8 -:1020600099F2809178028111CFCF809179028430EA -:1020700058F210927B028091A9027090AA02E72C7C -:10208000F12C2091A802223009F48AC0233009F4EF -:102090009AC6213039F5873009F061C01091AB0242 -:1020A000812F90E03091800231113CC0209380025A -:1020B0007092040110930301F701EF57FD4F208345 -:1020C0008F579D4FFC01208361E0872D0E94C00245 -:1020D00060E0812F0E94C00262E370E080E090E047 -:1020E0000E945903109279028FCF80937A0299232C -:1020F00009F4ABCFE0917902E23039F480937802B1 -:10210000F0E0EC55FD4F8083A0CFE330C8F3909111 -:102110007802915090937802F3CF10927902109246 -:102120007B029BCFA0910401E09103017A1202C0CF -:10213000E117C1F2B0E0AF57BD4F1C92F0E0EF578E -:10214000FD4F10827092040110930301F701EF57C5 -:10215000FD4F00838F579D4FFC010083B5CFF701E2 -:10216000EF57FD4F1092800210927C0210927D0278 -:1021700010927E0210927F0210828A3139F480918F -:10218000A2028111AFCF0093A202ACCF8B3109F034 -:10219000A9CF8091A1028111A5CF0093A102A2CF66 -:1021A00090910401791621F09091030179120AC0EF -:1021B0001092800210927C0210927D0210927E0298 -:1021C00010927F028931E1F090910501791218C0D7 -:1021D000F701EF57FD4F10821092A2021092950264 -:1021E0001092960210929702109298021092A102F9 -:1021F0001092990210929A0210929B0210929C02E5 -:10220000EFEFE80FE93108F09DC00E2E000CFF0B38 -:10221000E45FFE4E0C944A1C2511A2112E11C81326 -:10222000C411A211A211A314A514BB14BF14D91474 -:102230009B140F161816E3164416A211A211A21130 -:10224000A211A211A211A2119A16C7010E94200682 -:102250006091AB02872D0E94660274C0C7010E9484 -:1022600020061091AB02C12ED12C809177028130D3 -:10227000B9F5F8948091760280938100809175027F -:1022800086BB8091740280936F008091720290915E -:1022900073029093870080938600809170029091E2 -:1022A000710290938B0080938A0080916E029091CE -:1022B0006F02909389008093880080916C029091C6 -:1022C0006D02909385008093840080916B028093CF -:1022D000800080917602809381007894109277023A -:1022E00061E0872D0E94C002111102C060E0B2CFF0 -:1022F000FFEFCF16D10411F461E0ACCFF701E55D3B -:10230000FE4FE491E33031F148F4E130B9F0E230CE -:10231000E1F020E8C216D1047CF7E8CFE73021F1E4 -:10232000E83051F1E430A9F7809180008062809319 -:102330008000D0928B00C0928A0004C084B580686F -:1023400084BD17BD0E945D06CDCE84B5806284BD7C -:1023500018BDF8CF80918000806880938000D09273 -:102360008900C0928800EECF8091B0008068809391 -:10237000B0001093B300E6CF8091B00080628093EC -:10238000B0001093B400DECFC7010E9420068091F8 -:10239000AB0280934E028091AC0280934F028091F9 -:1023A0004E0290914F02998B888B8091AD02809361 -:1023B0004E028091AE0280934F02E0914E02F09166 -:1023C0004F02FB8BEA8B1E161F060CF0DDC18091BD -:1023D0000001871177C0F101149117FDB3CF61E0BF -:1023E000872D0E94C0021123B1F028893989290163 -:1023F000712C612C60E072E18AE790E0A3010E94F9 -:10240000CF1A69017A0171E0C71AD108E108F10811 -:10241000123009F076C1888999892C01712C612CC0 -:1024200060E072E18AE790E0A30192010E94CF1A76 -:1024300049015A017A01690191E0C91AD108E108FC -:10244000F108EFEFCE16D104E104F10409F00CF429 -:102450002BC160E472E48FE090E0A30192010E943E -:10246000CF1A69017A01F1E0CF1AD108E108F10829 -:10247000123009F09DC082E02FEFC216D104E104B2 -:10248000F104C9F0C4F060E970ED83E090E0A301CD -:1024900092010E94CF1A69017A0171E0C71AD1082E -:1024A000E108F1088FEFC816D104E104F10411F03E -:1024B0000CF017C783E09091B100987F892B80932F -:1024C000B100F9C08F3F09F03DCF70920001F101DA -:1024D00014911F3F09F436CF113031F150F0123012 -:1024E00009F442C017FD2ECF61E0872D0E94C00283 -:1024F0007CCF14BC15BC84B5826084BD85B5816079 -:1025000085BDF701ED5AFE4FE491F0E0EE0FFF1F9D -:10251000E15CFE4F85919491F701E959FE4FE491FA -:10252000E093540210E05BCF109280001092810083 -:10253000809181008860809381008091810081601A -:1025400080938100F701ED5AFE4FE491F0E0EE0F29 -:10255000FF1FE15CFE4F85919491F701E959FE4F11 -:10256000E491E09353023BCF1092B0001092B1007F -:102570008091B00082608093B0008091B100816052 -:102580008093B100F701ED5AFE4FE491F0E0EE0FB9 -:10259000FF1FE15CFE4F85919491909352028093CE -:1025A0005102F701E959FE4FE491E093500217CF31 -:1025B0009FEFC916D104E104F10409F00CF49FC0A7 -:1025C00068E478EE81E090E0A30192010E94CF1AC6 -:1025D00069017A01E1E0CE1AD108E108F10884E04E -:1025E000111141C083E0FFEFCF16D104E104F104E3 -:1025F00009F00CF45CC062E17AE780E090E0A301AE -:1026000092010E94CF1A69017A0191E0C91AD1089A -:10261000E108F10884E0EFEFCE16D104E104F10403 -:1026200009F008F444C0750164012AE0F594E794C8 -:10263000D794C7942A95D1F721E0C21AD108E108AE -:10264000F10885E034C064E274EF80E090E0A3011B -:1026500092010E94CF1A69017A01F1E0CF1AD108E4 -:10266000E108F10885E09FEFC916D104E104F10407 -:1026700009F008F420CF62E17AE780E090E0A3015E -:1026800092010E94CF1A69017A0171E0C71AD1083C -:10269000E108F1088FEFC816D104E104F10411F04C -:1026A00008F00FC686E007CF81E0111104CF95B581 -:1026B000987F892B85BD28893989220F331FAA89E4 -:1026C000BB890E94501C28EE33E040E050E00E949D -:1026D000301B1130B9F1123009F446C0111132CE5D -:1026E000C7BC20935D0230935E0240935F0250931B -:1026F000600280916E00826080936E0023CE82E043 -:10270000D4CF91E0C114D10421E0E206F10484F0B9 -:1027100068E478EE81E090E0A30192010E94CF1A74 -:1027200069017A0171E0C71AD108E108F10893E064 -:10273000113009F0C0CF80918100887F892B809370 -:102740008100B9CFD0928900C092880020935902AD -:1027500030935A0240935B0250935C0280916F0069 -:10276000826080936F00EECDC092B300209355023B -:102770003093560240935702509358028091700054 -:10278000826080937000DECD872D0E949402DACDA6 -:10279000C7010E942006B090AB02B11007C0809123 -:1027A0007702811103C0C7010E948B05EB2DE15018 -:1027B000FF0BE43BF10508F0C5CD65E070E080E07B -:1027C00090E00E945903E1E6F2E090E080E0219180 -:1027D0002E151F0431F02111A6C0FC01EF59FD4F49 -:1027E0007082FC01EE0FFF1FE80FF91FEC52FC4F47 -:1027F0001081818192811C3008F03FC061E0872DFB -:102800000E94C002812F90E0AC01440F551FFA01D5 -:10281000E80FF91FEF57FC4F272D2F73722E2081E1 -:10282000207C722A708230E020E0F901EE0FFF1F59 -:10283000E20FF31FEF57FC4F608166FD14C02F5F5E -:102840003F4F2C30310589F71092800022E0209311 -:1028500081001092850010928400B19A20916F003F -:10286000226020936F00840F951FFC01EF57FC4FEF -:1028700080818064808390E080E0B8E5CB2EB2E078 -:10288000DB2EC91AD10897FDD394CC0CDD1CCC0CDF -:10289000DD1C28E8E22EF12CE81AF10887FDF394FC -:1028A000EE0CFF1CEE0CFF1C27010F2C000C660821 -:1028B0007708AB2DA53B08F0A4EB96010D2C000C7E -:1028C000440B550B2419350946095709B0E00E94FD -:1028D000EE1A24EB30E040E050E00E94CF1A420EA6 -:1028E000531E641E751E1C30D8F44E145F042CF069 -:1028F00076014C145D040CF4720132E0E31AF10825 -:10290000EE0CFF1C2FB7F894812F90E0FC01EE0F26 -:10291000FF1FE80FF91FEF57FC4FF282E1822FBF34 -:10292000009377020FCD01968830910509F04FCFC3 -:1029300090E080E056CFC7010E94200684E190E03D -:102940000E948B05FFCC0E948B038091AB028F3FCE -:1029500009F0F8CC64E670E080E090E00E94590352 -:1029600088E19EE00FB6F894A895809360000FBEB2 -:1029700090936000E7CCC7010E942006E3CCC7011A -:102980000E9420061091AB0280910201781629F076 -:10299000C7010E94FC027092020180910101181788 -:1029A00009F4D0CC812F90E00E941A081093010105 -:1029B000C9CCC7010E942006D090AB02B090AD02F6 -:1029C0001091AF02C090B10280910201781629F0F7 -:1029D000C7010E94FC02709202012D2D30E080910F -:1029E000EE039091EF032817390708F04CC0812FB0 -:1029F00090E0B0E0A0E0BA2FA92F982F8827AB294C -:102A00008C292D0166247724442D892E9A2EAB2EF5 -:102A1000BB24682D582FE091F403EE2391F06E2F24 -:102A200070E0649DA001659D500D749D500D1124B2 -:102A3000452FE89D40011124692DE89FC001112414 -:102A4000592FE091FA038091F5039091F60370916C -:102A5000F703E713A0C09C0173E0D79E200D311D42 -:102A60001124E091F703E20FF32FF11D4083E09171 -:102A7000F803E20FF32FF11D60838091F903280F13 -:102A8000311DF90150838091F5039091F603892B54 -:102A900009F458CCC090FB03D090FC03E090FD03F8 -:102AA000F090FE030E9434036C157D058E059F0592 -:102AB00050F40E9434036093FB037093FC038093F3 -:102AC000FD039093FE030E943403C090FB03D0905B -:102AD000FC03E090FD03F090FE036C197D098E0964 -:102AE0009F096C32714081059105A0F2F8948091A4 -:102AF000F0039091F10398878F83E091F503F091B3 -:102B0000F603DF01119680818F879091EC03E091AD -:102B1000FF03F091000480910104992309F446C059 -:102B20009081982B9E879081809589238D878D85B4 -:102B30008A8788E089874E855D856F8539852A85F6 -:102B40008F819885408367FD242F3A952083252F18 -:102B500039F0661F00C000005083000000C0F2CFB3 -:102B600038E06D9150830000019761F7F093000405 -:102B7000E093FF036F8739872A8798878F8378943C -:102B80000E9434036093FB037093FC038093FD0366 -:102B90009093FE03D7CB220F331F220F331F280F32 -:102BA000391FE20FF32FF11D10825BCF9081982B1C -:102BB0009E879081809589238D878D858C8788E07D -:102BC0008B874E855D856F853B852C858F819885AC -:102BD000408367FD242F00C000C0208300C000C0D8 -:102BE00000C000C000C050830000252F3A9541F07E -:102BF000661F000000C000C000C000C000C0E8CFD9 -:102C000038E06D9100C0508300C0019709F7F09340 -:102C10000004E093FF036F873B872C87AECF809142 -:102C20006A0281118FCB00936A020E9434098ACB19 -:102C3000E090AB02F090AC021091AD02612F70E019 -:102C4000CE0101960E948308111102C00E948607DE -:102C500080916902813039F40E9486070E94EA0758 -:102C600082E0809369026E2D8F2D0E9491074D8125 -:102C70005E8169817A8182EB93E00E943001CE010E -:102C800001960E9412085ECBF090AB021091AC024C -:102C90006091AD0270E0CE0101960E9483088091A0 -:102CA0006902813039F40E9486070E94EA0782E0B7 -:102CB000809369026F2D812F0E949107CE010196AA -:102CC0000E942201FC01808160E0813371F1CE011C -:102CD00001960E942201FC01808161E0823329F18A -:102CE000CE0101960E942201FC01808162E08333C3 -:102CF000E1F0CE0101960E942201FC01808163E097 -:102D0000843399F0CE0101960E942201FC0180815A -:102D100064E0853351F0CE0101960E942201FC014E -:102D20008081863309F0ABCF65E082EB93E00E94AF -:102D3000C507A5CFC7010E9420068091AB029FEF77 -:102D4000980F9631C8F0F701EF57FD4F108210929F -:102D5000A20210929502109296021092970210927F -:102D600098021092A1021092990210929A02109267 -:102D70009B0210929C02E6CA7092050180930601A4 -:102D80008091A20281111AC08091A102811116C006 -:102D900062E08091C3030E94C0020E948B03605DC9 -:102DA0007740810991096093C7037093C8038093AA -:102DB000C9039093CA0387E38093D0030093A202D0 -:102DC0000093A102BFCA0E948607BCCA6AE070E0F5 -:102DD00080E090E00E945903B1E8EB2EB2E0FB2EB8 -:102DE00010E000E0F70181917F0181113CC0B02E1D -:102DF00060E0802F0E94C0020E946506F801E55D38 -:102E0000FE4F8491F801E959FE4FC490F801ED5A44 -:102E1000FE4FD49070E060E0DD2099F081110E94B7 -:102E20003D02ED2DF0E0EE0FFF1FE75BFE4FA59199 -:102E3000B491EC91CE2291E080E009F490E0692F0A -:102E4000782F072E000C880B990B0E94B2190E9454 -:102E500031068B2D0E942C0681E00E942C060E94D8 -:102E600055060E945D060F5F1F4F0431110509F0E2 -:102E7000B9CF0DE411E0F12CF80181918F0181119E -:102E800027C00E9465068F2D806480937C0080910E -:102E90007A00806480937A0080917A0086FDFCCF6E -:102EA0008091780060917900762F682F072E000CB2 -:102EB000880B990B0E94B2190E9431068F2D0E9437 -:102EC0002C0682E00E942C060E9455060E945D0698 -:102ED000F394F6E0FF12D0CF80918002882309F4AA -:102EE0006DC01091040160E0812F0E94660283E0B2 -:102EF00090E00197F1F761E0812F0E94660283E282 -:102F000090E00197F1F760E0812F0E9466028091C6 -:102F1000030190E0FC01E959FE4F6491FC01ED5A78 -:102F2000FE4FE491F0E0EE0FFF1FE75BFE4F85914F -:102F3000949100E315E720E030E0462F0E94CB0D8E -:102F4000611571058105910529F06F5F7F4F8F4FE6 -:102F50009F4F9F700E94B01920E030E048EE51E48E -:102F60000E94CE1B20E030E040E05FE30E94111A97 -:102F70006B017C0120E030E0A9010E94AB198111B6 -:102F800051C0C0907C02D0907D02E0907E02F09013 -:102F90007F020E946506C701B6010E94310680913A -:102FA00004010E942C06809103010E942C0687E0F8 -:102FB0000E942C060E9455060E945D061091A202F6 -:102FC000111105C08091A102882309F449C10E9412 -:102FD0008B03C0909D02D0909E02E0909F02F090E3 -:102FE000A0026C197D098E099F096A3F7105810550 -:102FF000910508F435C1112309F486C00E94970396 -:10300000882309F464C08091C4038C3009F498C00B -:1030100090F48B3049F1C12CD12C40ECE42E4FE7D9 -:10302000F42E4CC0C0927C02D0927D02E0927E02CF -:10303000F0927F02AECF8551823068F71091C003C5 -:10304000612F70E0762F662766277F778091C10316 -:10305000682B90E080E00E94B0192DEC3CEC4CEC29 -:103060005DE30E94111A88C06091C00370E090E097 -:1030700080E00E94B0196B017C011091C10317FF21 -:103080000AC0AC019B0160E070E080E89FEB0E9409 -:10309000611B6B017C011F70612F70E090E080E08C -:1030A0000E94B2192DEC3CEC4CEC5DE30E94111A2D -:1030B000A70196010E94621B6B017C01A70196018A -:1030C000C701B6010E94451C882309F45EC0C09068 -:1030D0009502D0909602E0909702F09098020E949C -:1030E0006506C701B6010E943106809105010E9464 -:1030F0002C06809106010E942C068AE10E942C0673 -:103100000E9455060E945D068091A102882309F461 -:103110009DC00E949703882309F47BC08091C4035B -:103120008B3038F08D3008F44DC08551823008F472 -:10313000ADC0C12CD12C30ECE32E3FE7F32E60C0A4 -:103140001091C003612F70E090E080E00E94B01900 -:103150006B017C016091C1036F7070E090E080E0D2 -:103160000E94B2192DEC3CEC4CEC5DE30E94111A6C -:10317000A70196010E94621B6B017C0117FF9ECF85 -:10318000F7FAF094F7F8F09499CF20E030E040E2BD -:1031900051E4C701B6010E94401C181654F420E007 -:1031A00030E040E050E4C701B6010E94611B6B01B2 -:1031B0007C01C0929502D0929602E0929702F09222 -:1031C00098028DCF6091BF0370E090E080E00E9494 -:1031D000B2192DEC3CEC4CEC5DE30E94111A6B0132 -:1031E0007C016091BE0370E090E080E00E94B21923 -:1031F0009B01AC01C701B6010E94621B6B017C01FF -:10320000A7019601C701B6010E94451C882309F455 -:103210004FC0C0909902D0909A02E0909B02F0902B -:103220009C020E946506C701B6010E94310680918A -:1032300005010E942C06809106010E942C068BE15C -:103240000E942C060E9455060E945D060E948B0378 -:1032500060939D0270939E0280939F029093A002C0 -:103260006AE070E080E090E00E94590380E090E026 -:10327000892B11F40C94FF0F0E949A01882311F4FA -:103280000C94FF0F0E9400000C94FF0F6091BE038E -:103290007091BF0376276727762790E080E00E9431 -:1032A000B0192DEC3CEC4CEC5DE30E94111AA6CF5A -:1032B000C0929902D0929A02E0929B02F0929C02F4 -:1032C000B0CF750164019AE0F594E794D794C79460 -:1032D0009A95D1F731E0C31AD108E108F10887E0E7 -:1032E000EAC868E478EE81E090E0A30192010E94D0 -:1032F000CF1A69017A0171E0C71AD108E108F10813 -:103300008FEFC816D104E104F10411F00CF09BC951 -:1033100084E0D1C886EA93E00E9412088CEA93E028 -:103320000E9412088091F5039091F6030E94F31C0D -:103330008091F2039091F30397FD03C060E00C9439 -:10334000C0020895FB01DC0102C005900D924150BE -:103350005040D8F708950E94ED1908F481E00895CF -:10336000E89409C097FB3EF490958095709561951F -:103370007F4F8F4F9F4F9923A9F0F92F96E9BB27D5 -:103380009395F695879577956795B795F111F8CF51 -:10339000FAF4BB0F11F460FF1BC06F5F7F4F8F4FBC -:1033A0009F4F16C0882311F096E911C0772321F0B2 -:1033B0009EE8872F762F05C0662371F096E8862F4A -:1033C00070E060E02AF09A95660F771F881FDAF7A1 -:1033D000880F9695879597F90895990F0008550FCE -:1033E000AA0BE0E8FEEF16161706E807F907C0F08B -:1033F00012161306E407F50798F0621B730B840B93 -:10340000950B39F40A2661F0232B242B252B21F46C -:1034100008950A2609F4A140A6958FEF811D811D0C -:1034200008950E94241A0C94951A0E94871A38F065 -:103430000E948E1A20F0952311F00C947E1A0C94A1 -:10344000841A11240C94C91A0E94A61A70F3959F2D -:10345000C1F3950F50E0551F629FF001729FBB278B -:10346000F00DB11D639FAA27F00DB11DAA1F649F27 -:103470006627B00DA11D661F829F2227B00DA11DDA -:10348000621F739FB00DA11D621F839FA00D611D60 -:10349000221F749F3327A00D611D231F849F600D81 -:1034A000211D822F762F6A2F11249F5750409AF0AA -:1034B000F1F088234AF0EE0FFF1FBB1F661F771F36 -:1034C000881F91505040A9F79E3F510580F00C9401 -:1034D0007E1A0C94C91A5F3FE4F3983ED4F38695A4 -:1034E00077956795B795F795E7959F5FC1F7FE2BA1 -:1034F000880F911D9695879597F9089597F99F677D -:1035000080E870E060E008959FEF80EC089500246B -:103510000A941616170618060906089500240A9438 -:1035200012161306140605060895092E0394000CBE -:1035300011F4882352F0BB0F40F4BF2B11F460FF4D -:1035400004C06F5F7F4F8F4F9F4F089557FD905876 -:10355000440F551F59F05F3F71F04795880F97FB57 -:10356000991F61F09F3F79F0879508951216130611 -:103570001406551FF2CF4695F1DF08C01616170640 -:103580001806991FF1CF8695710561050894089575 -:10359000E894BB2766277727CB0197F90895052E76 -:1035A00097FB1EF400940E94E61A57FD07D00E9474 -:1035B000301B07FC03D04EF40C94E61A509540954E -:1035C000309521953F4F4F4F5F4F089590958095CF -:1035D000709561957F4F8F4F9F4F08950E94521BAA -:1035E000A59F900DB49F900DA49F800D911D112457 -:1035F00008952F923F924F925F926F927F928F9297 -:103600009F92AF92BF92CF92DF92EF92FF920F9371 -:103610001F93CF93DF93CDB7DEB7CA1BDB0B0FB67B -:10362000F894DEBF0FBECDBF09942A883988488838 -:103630005F846E847D848C849B84AA84B984C884CE -:10364000DF80EE80FD800C811B81AA81B981CE0FC5 -:10365000D11D0FB6F894DEBF0FBECDBFED010895AA -:10366000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F86 -:10367000EE1FFF1FA217B307E407F50720F0A21BF8 -:10368000B30BE40BF50B661F771F881F991F1A9465 -:1036900069F760957095809590959B01AC01BD018F -:1036A000CF010895A29FB001B39FC001A39F700DE9 -:1036B000811D1124911DB29F700D811D1124911D3A -:1036C00008955058BB27AA270E94791B0C94951A7D -:1036D0000E94871A38F00E948E1A20F039F49F3F1A -:1036E00019F426F40C94841A0EF4E095E7FB0C947C -:1036F0007E1AE92F0E94A61A58F3BA1762077307B9 -:103700008407950720F079F4A6F50C94C81A0EF4F6 -:10371000E0950B2EBA2FA02D0B01B90190010C01E1 -:10372000CA01A0011124FF27591B99F0593F50F4F9 -:10373000503E68F11A16F040A22F232F342F442751 -:10374000585FF3CF469537952795A795F040539549 -:10375000C9F77EF41F16BA0B620B730B840BBAF019 -:103760009150A1F0FF0FBB1F661F771F881FC2F784 -:103770000EC0BA0F621F731F841F48F48795779598 -:103780006795B795F7959E3F08F0B0CF9395880F52 -:1037900008F09927EE0F9795879508950E94E21BF0 -:1037A0000C94951A0E948E1A58F00E94871A40F0C5 -:1037B00029F45F3F29F00C947E1A51110C94C91A18 -:1037C0000C94841A0E94A61A68F39923B1F3552326 -:1037D00091F3951B550BBB27AA2762177307840724 -:1037E00038F09F5F5F4F220F331F441FAA1FA9F3BA -:1037F00035D00E2E3AF0E0E832D091505040E695A8 -:10380000001CCAF72BD0FE2F29D0660F771F881F08 -:10381000BB1F261737074807AB07B0E809F0BB0BFB -:10382000802DBF01FF2793585F4F3AF09E3F51050F -:1038300078F00C947E1A0C94C91A5F3FE4F3983E1A -:10384000D4F3869577956795B795F7959F5FC9F7F8 -:10385000880F911D9695879597F90895E1E0660F79 -:10386000771F881FBB1F621773078407BA0720F0F2 -:10387000621B730B840BBA0BEE1F88F7E09508955B -:103880000E94ED1908F48FEF08950E94ED19880B3E -:10389000990B0895EE0FFF1F0590F491E02D099408 -:1038A0000E94521BB7FF0895821B930B08950F933C -:1038B0001F93CF93DF938230910510F482E090E064 -:1038C000E0910404F091050430E020E0B0E0A0E0D5 -:1038D000309799F42115310509F44AC0281B390B9A -:1038E00024303105D8F58A819B816115710589F1F4 -:1038F000FB0193838283FE0111C0408151810281CB -:10390000138148175907E0F04817590799F41097A1 -:1039100061F012960C93129713961C933296CF0176 -:10392000DF91CF911F910F9108950093040410939C -:103930000504F4CF2115310551F04217530738F033 -:10394000A901DB019A01BD01DF01F801C1CFEF013F -:10395000F9CF9093050480930404CDCFFE01E20FCC -:10396000F31F819391932250310939832883D7CF54 -:103970002091020430910304232B41F4209109018A -:1039800030910A013093030420930204209107012F -:10399000309108012115310541F42DB73EB7409112 -:1039A0000B0150910C01241B350BE0910204F091A6 -:1039B0000304E217F307A0F42E1B3F0B2817390767 -:1039C00078F0AC014E5F5F4F2417350748F04E0F7B -:1039D0005F1F5093030440930204819391939FCF00 -:1039E000F0E0E0E09CCFCF93DF930097E9F0FC019B -:1039F000329713821282A0910404B0910504ED0164 -:103A000030E020E01097A1F420813181820F931FD4 -:103A100020910204309103042817390709F061C08E -:103A2000F0930304E0930204DF91CF910895EA013B -:103A3000CE17DF07E8F54A815B819E0141155105EC -:103A4000B1F7E901FB83EA8349915991C40FD51F6E -:103A5000EC17FD0761F4808191810296840F951F18 -:103A6000E90199838883828193819B838A83F0E033 -:103A7000E0E012968D919C9113970097B9F52D91E6 -:103A80003C911197CD010296820F931F2091020461 -:103A9000309103042817390739F6309751F5109201 -:103AA000050410920404B0930304A0930204BCCF55 -:103AB000D383C28340815181840F951FC817D907D2 -:103AC00061F44E5F5F4F88819981480F591F518380 -:103AD00040838A819B81938382832115310509F07C -:103AE000B0CFF0930504E09304049ECFFD01DC0108 -:103AF000C0CF13821282D7CFB0E0A0E0E2E8FDE1B0 -:103B00000C94FB1A8C01009751F4CB010E94571CB6 -:103B10008C01C801CDB7DEB7E0E10C94171BFC01A6 -:103B2000E60FF71F9C0122503109E217F30708F452 -:103B30009DC0D901CD91DC911197C617D70798F098 -:103B4000C530D10530F3CE0104978617970708F3E7 -:103B5000C61BD70B2297C193D1936D937C93CF0152 -:103B60000E94F31CD6CF5B01AC1ABD0A4C018C0E2F -:103B70009D1EA0910404B0910504512C412CF12C00 -:103B8000E12C109731F5809102049091030488157F -:103B9000990509F05CC04616570608F058C0809198 -:103BA000070190910801009741F48DB79EB74091AD -:103BB0000B0150910C01841B950BE817F90708F0D5 -:103BC00055C0F0930304E0930204F901718360830C -:103BD000A0CF8D919C91119712966C90129713968D -:103BE0007C901397A815B90559F56C0142E0C40EF5 -:103BF000D11CCA14DB0420F1AC014A195B09DA01BB -:103C00001296159780F06282738251834083D901A6 -:103C10006D937C93E114F10471F0D7011396FC933A -:103C2000EE93129776CF22968C0F9D1FF901918308 -:103C30008083F301EFCFF0930504E093040469CF90 -:103C40004816590608F42C017D01D3019ACFCB0107 -:103C50000E94571C7C01009749F0AE01B8010E94F8 -:103C6000391EC8010E94F31C870153CF10E000E009 -:103C700050CFFB01DC0102C001900D924150504039 -:103C8000D8F70895DC0101C06D9341505040E0F732 -:103C90000895FB01DC0101900D920020E1F70895E9 -:103CA00010E0CFEBD0E004C0FE010E944A1C219638 -:0A3CB000C03CD107C9F7F894FFCF1C -:103CBA00FF020804020C0B0000060480000000400A -:103CCA000014005400000000000000000004040A70 -:103CDA000A111F1F0E1006090808090600040A0A1D -:103CEA000E0E1F1F0E00000A00000E110000000A2F -:103CFA000000110E00000A1F1F1F0E040000000022 -:103D0A0000000000000000D00130015D011D028E9C -:103D1A00016C018001000000005C052F05530705B6 -:103D2A000528051505060500000000C507300153E2 -:063D3A000752070D0A000C -:00000001FF diff --git a/app/modules/castarter_v2.js b/app/modules/castarter_v2.js deleted file mode 100644 index b68e7a9d4..000000000 --- a/app/modules/castarter_v2.js +++ /dev/null @@ -1,630 +0,0 @@ - -const BaseModule = require('./baseModule'); - -class castarter_v2 extends BaseModule { - // 클래스 내부에서 사용될 필드들을 이곳에서 선언합니다. - constructor() { - super(); - this.sp = null; - this.sensorTypes = { - ALIVE: 0, - DIGITAL: 1, - ANALOG: 2, - PWM: 3, - SERVO_PIN: 4, - TONE: 5, - PULSEIN: 6, - ULTRASONIC: 7, - TIMER: 8, - SW_RESET: 9, - RGBLED: 10, - NEOPIXELINIT: 11, - NEOPIXELDIS: 12, - SERVO_DETACH: 13, - LCDINIT: 14, - LCD_DIS: 15, - LCDCLEAR: 16, - LCDOPTION: 17, - DHTINIT: 25, - DHTTEMP: 26, - DHTHUMI: 27, - }; - this.actionTypes = { - GET: 1, - SET: 2, - RESET: 3, - }; - this.sensorValueSize = { - FLOAT: 2, - SHORT: 3, - STRING: 4, - }; - this.digitalPortTimeList = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; - this.sensorData = { - ULTRASONIC: 0, - DHTTEMP: 0, - DHTHUMI: 0, - PMVALUE: 0, - DIGITAL: { - '0': 0, - '1': 0, - '2': 0, - '3': 0, - '4': 0, - '5': 0, - '6': 0, - '7': 0, - '8': 0, - '9': 0, - '10': 0, - '11': 0, - '12': 0, - '13': 0, - '14': 0, - '15': 0, - '16': 0, - '17': 0, - '18': 0, - '19': 0, - '20': 0, - }, - ANALOG: { - '0': 0, - '1': 0, - '2': 0, - '3': 0, - '4': 0, - '5': 0, - }, - PULSEIN: {}, - TIMER: 0, - }; - this.defaultOutput = {}; - this.recentCheckData = {}; - this.sendBuffers = []; - this.lastTime = 0; - this.lastSendTime = 0; - this.isDraing = false; - this.sensorIdx = 0; - }; - init(handler, config) { - this.handler = handler; - this.config = config; - } - setSerialPort = function(sp) { - const self = this; - this.sp = sp; - }; - requestInitialData = function() { - return this.makeSensorReadBuffer(this.sensorTypes.ANALOG, 0); - }; - checkInitialData = function(data, config) { - return true; - // 이후에 체크 로직 개선되면 처리 - // var datas = this.getDataByBuffer(data); - // var isValidData = datas.some(function (data) { - // return (data.length > 4 && data[0] === 255 && data[1] === 85); - // }); - // return isValidData; - }; - afterConnect = function(that, cb) { - that.connected = true; - if (cb) { - cb('connected'); - } - }; - validateLocalData = function(data) { - return true; - }; - requestRemoteData = function(handler) { - const self = this; - if (!self.sensorData) { - return; - } - Object.keys(this.sensorData).forEach((key) => { - if (self.sensorData[key] != undefined) { - handler.write(key, self.sensorData[key]); - } - }); - }; - handleRemoteData = function(handler) { - const self = this; - const getDatas = handler.read('GET'); - const setDatas = handler.read('SET') || this.defaultOutput; - const time = handler.read('TIME'); - let buffer = new Buffer([]); - if (getDatas) { - const keys = Object.keys(getDatas); - keys.forEach((key) => { - let isSend = false; - const dataObj = getDatas[key]; - if (typeof dataObj.port === 'string' || typeof dataObj.port === 'number') { - const time = self.digitalPortTimeList[dataObj.port]; - if (dataObj.time > time) { - isSend = true; - self.digitalPortTimeList[dataObj.port] = dataObj.time; - } - } else if (Array.isArray(dataObj.port)) { - isSend = dataObj.port.every((port) => { - const time = self.digitalPortTimeList[port]; - return dataObj.time > time; - }); - - if (isSend) { - dataObj.port.forEach((port) => { - self.digitalPortTimeList[port] = dataObj.time; - }); - } - } - if (isSend) { - if (!self.isRecentData(dataObj.port, key, dataObj.data)) { - self.recentCheckData[dataObj.port] = { - type: key, - data: dataObj.data, - }; - buffer = Buffer.concat([buffer, self.makeSensorReadBuffer(key, dataObj.port, dataObj.data)]); - } - } - }); - } - if (setDatas) { - const setKeys = Object.keys(setDatas); - setKeys.forEach((port) => { - const data = setDatas[port]; - if (data) { - if (self.digitalPortTimeList[port] < data.time) { - self.digitalPortTimeList[port] = data.time; - - if (!self.isRecentData(port, data.type, data.data)) { - self.recentCheckData[port] = { - type: data.type, - data: data.data, - }; - buffer = Buffer.concat([buffer, self.makeOutputBuffer(data.type, port, data.data)]); - } - } - } - }); - } - if (buffer.length) { - this.sendBuffers.push(buffer); - } - }; - isRecentData = function(port, type, data) { - const that = this; - let isRecent = false; - if (type == this.sensorTypes.ULTRASONIC) { - const portString = port.toString(); - let isGarbageClear = false; - Object.keys(this.recentCheckData).forEach((key) => { - const recent = that.recentCheckData[key]; - if (key === portString) { - } - if (key !== portString && - (recent.type == that.sensorTypes.ULTRASONIC || - recent.type == that.sensorTypes.DHTTEMP || - recent.type == this.sensorTypes.DHTHUMI)) { - delete that.recentCheckData[key]; - isGarbageClear = true; - } - }); - if ((port in this.recentCheckData && isGarbageClear) || !(port in this.recentCheckData)) { - isRecent = false; - } else { - isRecent = true; - } - } else if (port in this.recentCheckData && type == this.sensorTypes.TONE) { - if ( - this.recentCheckData[port].type === type && - this.recentCheckData[port].data === data - ) { - isRecent = true; - } - } - return isRecent; - }; - requestLocalData = function() { - const self = this; - - if (!this.isDraing && this.sendBuffers.length > 0) { - this.isDraing = true; - this.sp.write(this.sendBuffers.shift(), () => { - if (self.sp) { - self.sp.drain(() => { - self.isDraing = false; - }); - } - }); - } - }; - handleLocalData = function(data) { - const self = this; - const datas = this.getDataByBuffer(data); - - datas.forEach((data) => { - if (data.length <= 4 || data[0] !== 255 || data[1] !== 85) { - return; - } - const readData = data.subarray(2, data.length); - let value; - switch (readData[0]) { - case self.sensorValueSize.FLOAT: { - value = new Buffer(readData.subarray(1, 5)).readFloatLE(); - value = Math.round(value * 100) / 100; - break; - } - case self.sensorValueSize.SHORT: { - value = new Buffer(readData.subarray(1, 3)).readInt16LE(); - break; - } - case self.sensorValueSize.STRING: { - value = new Buffer(readData[1] + 3); - value = readData.slice(2, readData[1] + 3); - value = value.toString('ascii', 0, value.length); - break; - } - default: { - value = 0; - break; - } - } - const type = readData[readData.length - 1]; - const port = readData[readData.length - 2]; - switch (type) { - case self.sensorTypes.DIGITAL: { - self.sensorData.DIGITAL[port] = value; - break; - } - case self.sensorTypes.ANALOG: { - self.sensorData.ANALOG[port] = value; - break; - } - case self.sensorTypes.PULSEIN: { - self.sensorData.PULSEIN[port] = value; - break; - } - case self.sensorTypes.ULTRASONIC: { - self.sensorData.ULTRASONIC = value; - break; - } - case self.sensorTypes.DHTTEMP: { - self.sensorData.DHTTEMP = value; - break; - } - case self.sensorTypes.DHTHUMI: { - self.sensorData.DHTHUMI = value; - break; - } - case self.sensorTypes.TIMER: { - self.sensorData.TIMER = value; - break; - } - default: { - break; - } - } - }); - }; - makeSensorReadBuffer = function(device, port, data) { - let buffer; - const dummy = new Buffer([10]); - if (device == this.sensorTypes.ULTRASONIC) { - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.GET, - device, - port[0], - port[1], - 10, - ]); - } else if (device == this.sensorTypes.DHTTEMP || device == this.sensorTypes.DHTHUMI) { - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.GET, - device, - port, - 10, - ]); - } else if (!data) { - buffer = new Buffer([ - 255, - 85, - 5, - this.sensorIdx, - this.actionTypes.GET, - device, - port, - 10, - ]); - } else { - const value = new Buffer(2); - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 7, - this.sensorIdx, - this.actionTypes.GET, - device, - port, - 10, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - } - this.sensorIdx++; - if (this.sensorIdx > 254) { - this.sensorIdx = 0; - } - return buffer; - }; - makeOutputBuffer = function(device, port, data) { - let buffer; - const value = new Buffer(2); - const dummy = new Buffer([10]); - - switch (device) { - case this.sensorTypes.SERVO_PIN: - case this.sensorTypes.DIGITAL: - case this.sensorTypes.PWM: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.SERVO_DETACH: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.TONE: { - const time = new Buffer(2); - if ($.isPlainObject(data)) { - value.writeInt16LE(data.value); - time.writeInt16LE(data.duration); - } else { - value.writeInt16LE(0); - time.writeInt16LE(0); - } - buffer = new Buffer([ - 255, - 85, - 8, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, time, dummy]); - break; - } - case this.sensorTypes.SW_RESET: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.RGBLED: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.NEOPIXELINIT: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.NEOPIXELDIS: { - const num = new Buffer(2); - const r = new Buffer(2); - const g = new Buffer(2); - const b = new Buffer(2); - - if ($.isPlainObject(data)) { - num.writeInt16LE(data.num); - r.writeInt16LE(data.r); - g.writeInt16LE(data.g); - b.writeInt16LE(data.b); - } else { - num.writeInt16LE(0); - r.writeInt16LE(0); - g.writeInt16LE(0); - b.writeInt16LE(0); - } - buffer = new Buffer([ - 255, - 85, - 12, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, num, r, g, b, dummy]); - break; - } - case this.sensorTypes.DHTINIT: { - value.writeInt16LE(data); - - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.LCDINIT: { - value.writeInt16LE(data); - - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.LCD_DIS: { - let text; - const row = new Buffer(1); - const column = new Buffer(1); - let textLen = 0; - const textLenBuf = new Buffer(1); - - if ($.isPlainObject(data)) { - textLen = (`${data.text}`).length; - text = Buffer.from(`${data.text}`, 'ascii'); - row.writeInt8(data.row); - textLenBuf.writeInt8(textLen); - column.writeInt8(data.column); - } else { - textLen = 0; - text = Buffer.from('', 'ascii'); - row.writeInt8(0); - textLenBuf.writeInt8(textLen); - column.writeInt8(0); - } - buffer = new Buffer([ - 255, - 85, - 4 + 3 + textLen, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); - break; - } - case this.sensorTypes.LCDOPTION: { - let text; - const row = new Buffer(1); - const column = new Buffer(1); - let textLen = 0; - const textLenBuf = new Buffer(1); - - if ($.isPlainObject(data)) { - textLen = (`${data.text}`).length; - text = Buffer.from(`${data.text}`, 'ascii'); - row.writeInt8(data.row); - textLenBuf.writeInt8(textLen); - column.writeInt8(data.column); - } else { - textLen = 0; - text = Buffer.from('', 'ascii'); - row.writeInt8(0); - textLenBuf.writeInt8(textLen); - column.writeInt8(0); - } - buffer = new Buffer([ - 255, - 85, - 4 + 3 + textLen, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); - break; - } - case this.sensorTypes.LCDCLEAR: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - } - //console.log(buffer); - return buffer; - }; - getDataByBuffer = function(buffer) { - const datas = []; - let lastIndex = 0; - buffer.forEach((value, idx) => { - if (value == 13 && buffer[idx + 1] == 10) { - datas.push(buffer.subarray(lastIndex, idx)); - lastIndex = idx + 2; - } - }); - return datas; - }; - disconnect = function(connect) { - const self = this; - connect.close(); - if (self.sp) { - delete self.sp; - } - }; - reset = function() { - this.lastTime = 0; - this.lastSendTime = 0; - this.sensorData.PULSEIN = {}; - }; -} -module.exports = new castarter_v2(); diff --git a/app/modules/castarter_v2.json b/app/modules/castarter_v2.json deleted file mode 100644 index d536839cf..000000000 --- a/app/modules/castarter_v2.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": "4D0101", - "name": { - "en": "2nd Coding Array Starter", - "ko": "2세대 코딩어레이 스타터" - }, - "category": "board", - "platform": ["win32", "darwin"], - "icon" : "castarter_v2.png", - "module": "castarter_v2.js", - "url": "https://cafe.naver.com/arduinostory", - "email": "we@codingarray.cc", - "video": "https://youtu.be/R6nYA4AOn8w", - "driver": { - "win32-ia32": "arduino/dpinst-x86.exe", - "win32-x64": "arduino/dpinst-amd64.exe" - }, - "reconnect": true, - "firmware": "castarter_v2", - "hardware": { - "type": "serial", - "control": "slave", - "duration": 32, - "vendor": "Arduino", - "firmwarecheck": false, - "baudRate": 115200 - } -} diff --git a/app/modules/castarter_v2.png b/app/modules/castarter_v2.png deleted file mode 100644 index 62f9e5a4b87b4e1f2eb13404fd9acdfccddac7a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78036 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 Date: Thu, 16 Dec 2021 20:15:49 +0900 Subject: [PATCH 3/6] =?UTF-8?q?Revert=20"Revert=20"2=EC=84=B8=EB=8C=80=20?= =?UTF-8?q?=EC=BD=94=EB=94=A9=EC=96=B4=EB=A0=88=EC=9D=B4=20=EC=8A=A4?= =?UTF-8?q?=ED=83=80=ED=84=B0=20=EC=8B=A0=EA=B7=9C=20=EB=93=B1=EB=A1=9D""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit da06ab7a574f665c8736db1f47c8ed866e3a26e7. --- app/firmwares/castarter_v2.hex | 982 +++++++++++++++++++++++++++++++++ app/modules/castarter_v2.js | 630 +++++++++++++++++++++ app/modules/castarter_v2.json | 28 + app/modules/castarter_v2.png | Bin 0 -> 78036 bytes 4 files changed, 1640 insertions(+) create mode 100644 app/firmwares/castarter_v2.hex create mode 100644 app/modules/castarter_v2.js create mode 100644 app/modules/castarter_v2.json create mode 100644 app/modules/castarter_v2.png diff --git a/app/firmwares/castarter_v2.hex b/app/firmwares/castarter_v2.hex new file mode 100644 index 000000000..3db6f0907 --- /dev/null +++ b/app/firmwares/castarter_v2.hex @@ -0,0 +1,982 @@ +:100000000C94C0000C94E8000C94E8000C94E800F8 +:100010000C94E8000C94E8000C94E8000C94F20AAC +:100020000C94E8000C94E8000C94E8000C94F00B9D +:100030000C94E8000C94E8000C94E8000C94E800A0 +:100040000C94A60B0C94E8000C94740B0C944E0BBF +:100050000C94E8000C94E8000C94E8000C94E80080 +:100060000C94AC0C0C94E80006206F20202020207B +:10007000202020070001026F0304056F02A602453D +:1000800000001F01011F010500000F0808080700FC +:1000900000080808080808080008080818080808E0 +:1000A00000001F011F101F00000A0A0A1A0A0A0A8C +:1000B000041F000000000000001F000000000000FE +:1000C0000810001B0A0A06000201001B0A0A0A06A1 +:1000D000000C0A0A0A0A0A1400060A0A0A0A0A0591 +:1000E0000000000000000605070C18101212100393 +:1000F0001C060301090901180000000000000C148F +:1001000002020301000000000201001B0A0A0600AF +:100110000810001B0A0A0A06080818100000000050 +:1001200000000000240027002A0002000000080050 +:1001300002010000030407000000000000000000AE +:10014000000000250028002B0000000000230026EE +:10015000002900040404040404040402020202024C +:10016000020303030303030102040810204080017B +:10017000020408102001020408102000390E8A1918 +:1001800011241FBECFEFD8E0DEBFCDBF11E0A0E04D +:10019000B1E0EAEBFCE302C005900D92A638B1078E +:1001A000D9F724E0A6E8B1E001C01D92A630B2075D +:1001B000E1F710E0CFEBD0E004C02197FE010E94F0 +:1001C0004A1CCE3BD107C9F70E942D0F0C94501E3C +:1001D0000C940000CF92DF92EF92FF92CF93DF93C7 +:1001E000B091C503A0E08111AB2F8091C60390E0D0 +:1001F000880F991FAC01475B5E4FC090CB03D09036 +:10020000CC03E090CD03F090CE0330E020E0FA0183 +:10021000C591D491E881B90190E080E0EB23EA1325 +:100220000AC02F5F3F4F6C157D058E059F0578F343 +:100230006FEF7FEFCB01DF91CF91FF90EF90DF90D9 +:10024000CF900895FC0124813581232B21F08081FA +:100250009181009721F41092A30283EA92E008951D +:10026000AF92BF92CF92DF92EF92FF920F931F93C4 +:10027000CF93DF936C017B018B01040F151FEB0102 +:100280005E01AE18BF08C017D10759F06991D601B9 +:10029000ED91FC910190F081E02DC6010995892B2B +:1002A00079F7C501DF91CF911F910F91FF90EF90EA +:1002B000DF90CF90BF90AF900895FC01538D448D97 +:1002C000252F30E0842F90E0821B930B541710F001 +:1002D000CF96089501970895FC01918D828D98170E +:1002E00061F0A28DAE0FBF2FB11D5D968C91928DE6 +:1002F0009F5F9F73928F90E008958FEF9FEF089517 +:10030000FC01918D828D981731F0828DE80FF11DDF +:10031000858D90E008958FEF9FEF0895FC01918DFA +:10032000228D892F90E0805C9F4F821B91098F73F3 +:100330009927089588ED92E00E948E0121E0892B93 +:1003400009F420E0822F089580E090E0892B29F0C5 +:100350000E949A0181110C9400000895FC01A48D63 +:10036000A80FB92FB11DA35ABF4F2C91848D90E0D7 +:1003700001968F739927848FA689B7892C93A089BA +:10038000B1898C91837080648C93938D848D981344 +:1003900006C00288F389E02D80818F7D80830895D7 +:1003A000EF92FF920F931F93CF93DF93EC0181E0C5 +:1003B000888F9B8D8C8D98131AC0E889F98980816C +:1003C00085FF15C09FB7F894EE89FF896083E8899F +:1003D000F98980818370806480839FBF81E090E091 +:1003E000DF91CF911F910F91FF90EF900895F62E1E +:1003F0000B8D10E00F5F1F4F0F731127E02E8C8DB8 +:100400008E110CC00FB607FCFACFE889F9898081FC +:1004100085FFF5CFCE010E94AE01F1CFEB8DEC0F41 +:10042000FD2FF11DE35AFF4FF0829FB7F8940B8F19 +:10043000EA89FB8980818062CFCFCF93DF93EC0183 +:10044000888D8823B9F0AA89BB89E889F9898C91BC +:1004500085FD03C0808186FD0DC00FB607FCF7CF78 +:100460008C9185FFF2CF808185FFEDCFCE010E9478 +:10047000AE01E9CFDF91CF910895833081F028F468 +:10048000813099F08230A9F008958730A9F0883042 +:10049000C9F08430B1F4809180008F7D03C08091D9 +:1004A00080008F7780938000089584B58F7784BD16 +:1004B000089584B58F7DFBCF8091B0008F778093B6 +:1004C000B00008958091B0008F7DF9CF1F93CF9336 +:1004D000DF93282F30E0F901E55DFE4F8491F901AB +:1004E000E959FE4FD491F901ED5AFE4FC491CC2346 +:1004F000A9F0162F81110E943D02EC2FF0E0EE0FC3 +:10050000FF1FE15CFE4FA591B4918FB7F894EC9179 +:10051000111108C0D095DE23DC938FBFDF91CF91FE +:100520001F910895DE2BF8CF9091000189130BC025 +:10053000EAE2F1E0E4919FEF90930001E13049F0AD +:1005400028F0E23061F060E00C94660210926E00D8 +:10055000FACF90916F009D7F90936F00F4CF9091B0 +:1005600070009D7F9093700091E09093B000909107 +:10057000B100987F94609093B1001092B300E3CFE4 +:10058000CF93DF9390E0FC01E959FE4F24918D5AFF +:100590009E4FFC0184918823C9F090E0880F991F39 +:1005A000FC01E05EFE4FA591B491FC01E15CFE4FC1 +:1005B000C591D49161110DC09FB7F8948C9120958D +:1005C00082238C938881282328839FBFDF91CF913A +:1005D0000895623051F49FB7F8943C91822F809532 +:1005E00083238C93E8812E2BEFCF8FB7F894EC9177 +:1005F0002E2B2C938FBFEACFCF93DF93EC0180910A +:10060000ED03882349F08091F2039091F30397FD65 +:1006100003C060E00E94C002D093F303C093F203D2 +:100620008091ED03882341F061E08C2F0E94C0028D +:1006300060E08C2F0E946602FE01ED5AFE4FE491AD +:10064000F0E0EE0FFF1FE15CFE4F859194919093D7 +:1006500000048093FF03FE01E959FE4FE491E0930B +:100660000104DF91CF9108953FB7F89480914A0239 +:1006700090914B02A0914C02B0914D0226B5A89BDF +:1006800005C02F3F19F00196A11DB11D3FBFBA2F24 +:10069000A92F982F8827BC01CD01620F711D811DE4 +:1006A000911D42E0660F771F881F991F4A95D1F769 +:1006B00008958F929F92AF92BF92CF92DF92EF9266 +:1006C000FF924B015C010E9434036B017C010E948C +:1006D00034036C197D098E099F09683E73408105BA +:1006E0009105A8F321E0821A9108A108B10888EECB +:1006F000C80E83E0D81EE11CF11C81149104A104F2 +:10070000B10429F7FF90EF90DF90CF90BF90AF90AA +:100710009F908F9008952FB7F89460914602709142 +:10072000470280914802909149022FBF0895CF92CD +:10073000DF92EF92FF920F931F93CF93DF93CDB78A +:10074000DEB7C054D1400FB6F894DEBF0FBECDBFA8 +:100750000E948B030091C7031091C8032091C90325 +:100760003091CA036B017C01C01AD10AE20AF30A74 +:1007700097018601003D17402105310590F48091D5 +:10078000CF03C05CDE4F0FB6F894DEBF0FBECDBF07 +:10079000DF91CF911F910F91FF90EF90DF90CF905D +:1007A00008956093C7037093C8038093C90390931F +:1007B000CA031092C2031092C1031092C003109298 +:1007C000BF031092BE0362E08091C3030E94C00287 +:1007D00061E070E080E090E00E94590361E0809168 +:1007E000C3030E94C00260E08091C3030E946602BE +:1007F0008091C4038551823020F58BE291E101970D +:10080000F1F762E08091C3030E94C0028091D0039F +:1008100090E08230910538F0880F991F880F991F5A +:1008200005970197F1F7F89480E00E94EA006F3F86 +:100830007F4F8F4F9F4F61F41092CF03789480E0E9 +:10084000A0CF64E170E080E090E00E945903D9CF2E +:1008500081E00E94EA006F3F7F4F8F4F9F4F61F30F +:100860008E010F5F1F4F6E012FEBC21A2EEFD20ABF +:10087000780180E00E94EA00F7016083718382833F +:10088000938381E00E94EA00F70164837583868385 +:100890009783F8E0EF0EF11CEC14FD0451F7789407 +:1008A00030E020E0F801C080D180E280F380448114 +:1008B000558166817781FFEFCF16DF06EF06FF06D1 +:1008C00031F04F3F8FEF58076807780719F41092FF +:1008D000CF03B5CFF90183E0F595E7958A95E1F768 +:1008E000E254FC4F8081880FC416D506E606F70651 +:1008F00010F180832F5F3F4F085F1F4F2832310573 +:1009000089F64091C2032091BE038091BF03280F56 +:100910003327331F8091C003280F311D8091C103FD +:10092000820F932F911D99274817190681F681E0B0 +:100930008093CF0326CF8160DCCF2091F801260F72 +:100940003327331F21323105ECF420911E02FC01C4 +:1009500090E080E0243069F082E00895A091F801F1 +:100960002191AC014A525E4FA40FB52FB11D2C93BB +:100970000196861798F38091F801680F6093F8014B +:1009800080E0089581E0089510921E0281E0809336 +:10099000200210921F0261E082E10E94660261E083 +:1009A00083E10E946602E9EBF0E080818E7F808324 +:1009B00080818D7F808388E48093B80085E4809374 +:1009C000BC000895CF93DF9391E09093D5018823E5 +:1009D000B9F0C091B800D091BA008091BC008A7B78 +:1009E0008093BC0060E082E10E94660260E083E1E7 +:1009F0000E9466020E94C404D093BA00C093B8005B +:100A0000DF91CF910895089508950895E091CD0163 +:100A10008091CC01E81730F4F0E0E455FE4F80817E +:100A200090E008958FEF9FEF08959091CD01809110 +:100A3000CC012FEF3FEF981748F4E92FF0E0E45591 +:100A4000FE4F208130E09F5F9093CD01C901089552 +:100A50008091CC019091CD01891B990B0895CF9283 +:100A6000DF92EF92FF920F931F93CF93DF937C015E +:100A7000CB018A012091AB01222389F0EB016B01AC +:100A8000C40ED51ECC15DD0569F06991D701ED9135 +:100A9000FC910190F081E02DC7010995F3CF642FFF +:100AA0000E949D04C801DF91CF911F910F91FF908B +:100AB000EF90DF90CF900895CF93DF931F92CDB743 +:100AC000DEB769832091AB012223F9F02091CE019A +:100AD000203258F021E030E0FC013383228390E0A3 +:100AE00080E00F90DF91CF9108958091CF01E82FA2 +:100AF000F0E0E557FE4F998190838F5F8093CF019F +:100B00008093CE0181E090E0ECCF61E0CE010196D0 +:100B10000E949D04F7CFF894FC013297E331F10570 +:100B200008F030C0EA56FA4F0C944A1CA905A905F2 +:100B3000A905A905A905A905E005C405D005D8059D +:100B4000D805E005C205C205C205C205C205C20539 +:100B5000E80585E086BB82E080936F0010928700F5 +:100B60001092860010928B0010928A0010928900D9 +:100B700010928800109285001092840010928000DC +:100B8000809381007894089585E286BB82E080930B +:100B90006F002CEC3EE13093870020938600E2CF7B +:100BA00085E286BB82E080936F002EEC3EE1F3CFBE +:100BB00085E286BB82E080936F002FEC3EE1EBCFB5 +:100BC00085E286BB82E080936F0029EC3EE1E3CFB3 +:100BD000F89480917602809381008091750286BBA3 +:100BE0008091740280936F008091720290917302E1 +:100BF000909387008093860080917002909171029B +:100C000090938B0080938A0080916E0290916F0286 +:100C1000909389008093880080916C0290916D027E +:100C2000909385008093840080916B028093800074 +:100C30008091760280938100789410927702A2CFFF +:100C4000FC01EF57FD4F2081211105C091E09083F9 +:100C500061E00C94C0020895682F88ED92E00C9436 +:100C6000D0010F931F93CF93DF938B01D82FC92F00 +:100C700082E00E942C06C801AD2FBC2F8093870113 +:100C800090938801A0938901B0938A010E942C0659 +:100C9000812F0E942C068D2F0E942C068C2FDF9115 +:100CA000CF911F910F910C942C0642E050E063E825 +:100CB00071E088ED92E00C9430018FEF0E942C06D9 +:100CC00085E50E942C060C9455068FEF0E942C0699 +:100CD00085E50C942C06CF92DF92EF92FF920F9352 +:100CE0001F93CF93DF93FC01C48121E02093AB01DC +:100CF000C09386011092CF011092CE018385682B9C +:100D000085E793E00E945C05D091CE01D13208F0D6 +:100D100092C00E9434036B017C0180911E028111FC +:100D200065C082E080931E0281E0809320028FEFF5 +:100D300080931D0210924202D0934102ABE8B1E0D1 +:100D4000E1E2F2E080E0D81385C010924302809186 +:100D50004302CC0FC82BC093430280911F02813005 +:100D600009F07CC010921F020E9434036B017C01C9 +:100D7000809143028093BB008091D1019091D20178 +:100D8000A091D301B091D401892B8A2B8B2B99F0A0 +:100D90000E9434030091D1011091D2012091D3011E +:100DA0003091D4016C197D098E099F090617170728 +:100DB00028073907E0F18091BC0083FDD9CF85EC8D +:100DC0008093BC000E9434036B017C0180911E0261 +:100DD000823009F445C080911D028F3F61F18091FE +:100DE0001D02803241F180911D0225C08091D10108 +:100DF0009091D201A091D301B091D401892B8A2B7B +:100E00008B2B09F48ACF0E9434030091D1011091F9 +:100E1000D2012091D3013091D4016C197D098E0942 +:100E20009F09061717072807390708F076CF809122 +:100E3000D0010E94E2041092CF011092CE011092D4 +:100E4000AB01DF91CF911F910F91FF90EF90DF9059 +:100E5000CF9008959D9191938F5F75CF85EEB0CF20 +:100E60008091D1019091D201A091D301B091D40190 +:100E7000892B8A2B8B2B09F4A9CF0E943403009174 +:100E8000D1011091D2012091D3013091D4016C197C +:100E90007D098E099F09061717072807390708F0EB +:100EA00095CFC5CF089590E080E008950F931F93EC +:100EB000CF938C01C62F0E946B066C2F6460C80113 +:100EC0000E946B066C2F6B7FC8010E946B0683EC3F +:100ED00090E00197F1F7CF911F910F9108950F9333 +:100EE0001F93CF93DF938C01D62FC42F607F642B89 +:100EF0000E94560780E1D89FB00111246C2BC801D5 +:100F0000DF91CF911F910F910C94560740E061E063 +:100F100082EB93E00E946F078BE39FE10197F1F76B +:100F20000895CF93DF93CDB7DEB728970FB6F89427 +:100F3000DEBF0FBECDBF98E0EDE0F1E0DE0111961F +:100F400001900D929A95E1F79091BA03961710F4DB +:100F50006FEF690F262F30E0220F331F41E050E082 +:100F60004C0F5D1F240F351FF9016081680F606809 +:100F700040E082EB93E028960FB6F894DEBF0FBEF8 +:100F8000CDBFDF91CF910C946F0741E00E946F07B6 +:100F900081E090E008950F931F93CF93DF938B012F +:100FA00098E0899FB0011124606440E082EB93E0F7 +:100FB0000E946F07E801085F1F4F699182EB93E081 +:100FC0000E94C507C017D107C1F7DF91CF911F91CC +:100FD0000F91089565E471E080E00E94CB076DE316 +:100FE00071E081E00E94CB0765E371E082E00E943E +:100FF000CB076DE271E083E00E94CB0765E271E010 +:1010000084E00E94CB076DE171E085E00E94CB0790 +:1010100065E171E086E00E94CB0765E171E087E061 +:101020000C94CB07FC0180819181009711F00C9406 +:10103000F31C08950F931F93CF93DF938C0180913E +:10104000F5039091F6030E94F31C9091FA038091AE +:10105000F703981721F184E090E0809FE001819FE1 +:10106000D00D909FD00D1124D093F103C093F003C5 +:10107000CE010E94571C9093F6038093F5030097CE +:1010800089F0AE0170E060E00E94421E1093EF0311 +:101090000093EE03DF91CF911F910F91089583E0AC +:1010A00090E0DBCF1092F1031092F0031092EF0367 +:1010B0001092EE03EFCF0F931F93CF93DF93EC01CA +:1010C00088819981009759F02A813B81261737073B +:1010D00030F081E0DF91CF911F910F9108958B0146 +:1010E0006F5F7F4F0E947C1D009759F09983888322 +:1010F0001B830A832C813D81232B59F7FC0110822D +:10110000E8CF80E0E7CFAF92BF92CF92DF92EF922D +:10111000FF920F931F93CF93DF9300D0CDB7DEB72D +:101120008C015B01FC0111821082138212821582F4 +:10113000148270E060E00E945B08F8012081318138 +:1011400081113FC02115310519F0C9010E94F31C1E +:10115000F8011182108215821482138212828EEAA3 +:10116000E82E82E0F82EFAE0AF0EB11CE4EAF2E0DD +:10117000C701845A92408A159B055CF5F70180816E +:1011800089831A82F801C480D580FFEFCF1ADF0A65 +:10119000B601C8010E945B08882379F0F80120811C +:1011A000318184819581BE016F5F7F4F820F931FD4 +:1011B0000E94491EF801D582C482F70111927F0175 +:1011C000D5CF1582148265E871E0C9010E94491EDD +:1011D000C6CF119282E0EE3AF807D9F7C8010F9016 +:1011E0000F90DF91CF911F910F91FF90EF90DF90C3 +:1011F000CF90BF90AF90089585ED8093BC00809113 +:10120000D1019091D201A091D301B091D401079660 +:10121000A11DB11D23E0B695A795979587952A95B1 +:10122000D1F72091BC0024FD03C010921E02089546 +:101230004091D1015091D2016091D3017091D401BC +:10124000452B462B472B69F30097A105B10541F0CB +:1012500025E32A95F1F700000197A109B109E1CF33 +:101260008091D0010C94E204EF92FF920F931F93B0 +:10127000CF93DF93CDB7DEB728970FB6F894DEBFD4 +:101280000FBECDBF87E28093B6031092CD011092BE +:10129000CC011092CF011092CE010E94C40483E0D1 +:1012A00095E09093F7018093F60184E095E09093A8 +:1012B000FB018093FA011092B7038091BC03823046 +:1012C00018F098E09093B7038093BA0362E370E05C +:1012D00080E090E00E9459036091BD0382EB93E0AF +:1012E0000E946B0662E370E080E090E00E94590388 +:1012F00060E382EB93E00E9456070BE416E4C8011A +:101300000197F1F760E382EB93E00E945607C80172 +:101310000197F1F760E382EB93E00E94560783E5C3 +:1013200092E00197F1F760E282EB93E00E945607AA +:101330006091B703606240E082EB93E00E946F0728 +:1013400084E08093B80340E06CE082EB93E00E947D +:101350006F070E94860782E08093B90340E066E051 +:1013600082EB93E00E946F0740E062E082EB93E043 +:101370000E946F078BE39FE10197F1F788E080936C +:10138000BD0360E082EB93E00E946B0660E080E0CA +:101390000E949107809169028111D6C081E08093FB +:1013A000690290EEE92E90E0F92E10E048E050E05E +:1013B000B701CE0101960E94A219BE016F5F7F4F57 +:1013C000812F0E94CB0788E0E80EF11C1F5F1830C8 +:1013D00069F710E000E060E00115110521F004302C +:1013E000110521F461E086E00E949107602F82EBF5 +:1013F00093E00E94C5070F5F1F4F0830110559F792 +:1014000010E000E048E050E000FDABC068ED70E0A7 +:10141000CE0101960E94A219BE016F5F7F4F80E04E +:101420000E94CB0748E050E060ED70E0CE010196ED +:101430000E94A219BE016F5F7F4F83E00E94CB071D +:1014400048E050E068EC70E0CE0101960E94A219DD +:10145000BE016F5F7F4F85E00E94CB0748E050E000 +:1014600060EC70E0CE0101960E94A219BE016F5F90 +:101470007F4F86E00E94CB0760E086E00E949107E4 +:1014800060E082EB93E00E94C50760E089E00E9483 +:10149000910763E082EB93E00E94C50761E087E07B +:1014A0000E94910765E082EB93E00E94C50766E029 +:1014B00082EB93E00E94C5076CE370E080E090E06F +:1014C0000E9459030F5F1F4F0630110509F09ACF94 +:1014D00080E8E82E80E0F82E10E048E050E0B70108 +:1014E000CE0101960E94A219BE016F5F7F4F812F2E +:1014F0000E94CB0788E0E80EF11C1F5F183069F7E7 +:1015000010E000E0C801029760E00C9708F456C0B4 +:10151000802F0E94910760E282EB93E00E94C50752 +:1015200061E0802F0E94910760E282EB93E00E94CD +:10153000C5076FE070E080E090E00E9459030F5F04 +:101540001F4F00311105F1F628960FB6F894DEBF53 +:101550000FBECDBFDF91CF911F910F91FF90EF9004 +:10156000089560EE70E0CE0101960E94A219BE01BE +:101570006F5F7F4F80E00E94CB0748E050E068EF4C +:1015800070E0CE0101960E94A219BE016F5F7F4FED +:1015900083E00E94CB0748E050E068E071E0CE01B4 +:1015A00001960E94A219BE016F5F7F4F85E00E94E5 +:1015B000CB0748E050E060E171E054CF802F0E94FB +:1015C0009107F801EE58FF4F649182EB93E00E947F +:1015D000C50761E0802F0E949107F801EA59FF4F8B +:1015E0006491A3CF1F920F920FB60F9211242F93E5 +:1015F0003F934F935F936F937F938F939F93AF939B +:10160000BF93EF93FF938091550290915602A09162 +:101610005702B0915802892B8A2B8B2BD1F19091D4 +:101620005002E0915102F09152028081892780831B +:101630008091550290915602A0915702B0915802A4 +:10164000181619061A061B069CF4809155029091F3 +:101650005602A0915702B09158020197A109B10911 +:101660008093550290935602A0935702B09358026C +:10167000FF91EF91BF91AF919F918F917F916F916A +:101680005F914F913F912F910F900FBE0F901F9040 +:101690001895809100010E949402EACF1F920F9248 +:1016A0000FB60F9211242F933F934F935F936F9335 +:1016B0007F938F939F93AF93BF93EF93FF9388EDA7 +:1016C00092E00E94AE01FF91EF91BF91AF919F9187 +:1016D0008F917F916F915F914F913F912F910F90DB +:1016E0000FBE0F901F9018951F920F920FB60F927A +:1016F00011242F938F939F93EF93FF93E091E80230 +:10170000F091E9028081E091EE02F091EF0282FD1A +:101710001BC090818091F1028F5F8F732091F20244 +:10172000821741F0E091F102F0E0E852FD4F958F11 +:101730008093F102FF91EF919F918F912F910F90E4 +:101740000FBE0F901F9018958081F4CF1F920F92BB +:101750000FB60F9211242F933F938F939F93AF93C4 +:10176000BF938091460290914702A0914802B091A8 +:1017700049023091450223E0230F2D3758F5019699 +:10178000A11DB11D2093450280934602909347020C +:10179000A0934802B093490280914A0290914B0273 +:1017A000A0914C02B0914D020196A11DB11D8093F4 +:1017B0004A0290934B02A0934C02B0934D02BF910A +:1017C000AF919F918F913F912F910F900FBE0F90EE +:1017D0001F90189526E8230F0296A11DB11DD2CFA8 +:1017E0001F920F920FB60F9211242F933F934F9396 +:1017F0005F936F937F938F939F93AF93BF93CF9399 +:10180000DF93EF93FF9380914402C091A503D0E052 +:1018100087FF24C0109285001092840080914402BA +:101820008F5F8093440280914402082E000C990B34 +:101830008C179D0724F4809144028C30C4F1809170 +:10184000840090918500049680349C4908F47AC005 +:101850008091840090918500049676C08091440226 +:10186000082E000C990B8C179D07C4F6E0914402DA +:101870008E2FEE0F990BFC01EE0FFF1FE80FF91FE3 +:10188000EF57FC4F808186FFC9CFE09144028E2F35 +:10189000EE0F990BFC01EE0FFF1FE80FF91FEF573A +:1018A000FC4F808160E08F730E946602B7CF209169 +:1018B000840030918500E09144028E2FEE0F990B49 +:1018C000FC01EE0FFF1FE80FF91FEF57FC4F81815E +:1018D0009281820F931F9093890080938800E091FA +:1018E00044028E2FEE0F990BFC01EE0FFF1FE80F45 +:1018F000F91FEF57FC4F808186FF11C0E091440231 +:101900008E2FEE0F990BFC01EE0FFF1FE80FF91F52 +:10191000EF57FC4F808161E08F730E946602FF9158 +:10192000EF91DF91CF91BF91AF919F918F917F9177 +:101930006F915F914F913F912F910F900FBE0F903C +:101940001F90189580E49CE990938900809388000B +:101950008FEF80934402E3CF1F920F920FB60F9246 +:1019600011242F933F934F935F936F937F938F93A4 +:101970009F93AF93BF93EF93FF938091B900887FBC +:10198000803609F44AC0F0F5883209F4A7C018F58A +:10199000803109F49BC0B8F4882309F4F9C0883079 +:1019A00009F494C0FF91EF91BF91AF919F918F91F6 +:1019B0007F916F915F914F913F912F910F900FBE4B +:1019C0000F901F901895883109F488C0803251F724 +:1019D00080931D0214C0803409F49DC040F480330C +:1019E000B9F38833F9F680931D0285ECB0C08035D9 +:1019F00009F485C0883509F496C0883499F60E94A8 +:101A0000FC08D0CF883909F48CC038F5883729F024 +:101A100050F4883611F0803729F683E080931E0257 +:101A200010921C0257C0883809F47BC0803919F025 +:101A3000803809F0B7CF80911C02803208F071C065 +:101A4000E0911C0281E08E0F80931C028091BB000C +:101A5000F0E0E450FE4F80833DC0803B39F0E0F47D +:101A6000803A09F479C0883A09F09CCF84E08093E9 +:101A70001E021092F9011092F801E091F601F09126 +:101A8000F70109958091F80181110FC081E08093E1 +:101A9000F8011092D60109C0803C09F4A6CF883C19 +:101AA00009F4A3CF883B09F07DCFE091F90181E0F3 +:101AB0008E0F8093F901F0E0EA52FE4F808180930F +:101AC000BB009091F9018091F80129C080914302F7 +:101AD0008093BB0085EC8093BC0064CF9091420260 +:101AE00080914102981758F5E091420281E08E0FF3 +:101AF00080934202F0E0EF5DFD4F8081E9CFE091FD +:101B0000420281E08E0F809342028091BB00F0E0A0 +:101B1000EF5DFD4F808390914202809141029817C2 +:101B2000C8F285E8D8CFE091420281E08E0F809321 +:101B300042028091BB00F0E0EF5DFD4F8083809119 +:101B4000200281115CCF81E080931F0284EA8093A0 +:101B5000BC0010921E0226CF85EC8093BC00109230 +:101B60001E0280911C02803230F4E0911C02F0E0F1 +:101B7000E450FE4F108260911C0270E0E091FA0187 +:101B8000F091FB018CEF91E0099510921C020ACFB5 +:101B900010921D0234CFCF92DF92EF92FF920F93FB +:101BA0001F93E82FF92F05C00150110921093109B0 +:101BB00061F1908196239417B9F305C00150110982 +:101BC0002109310911F1908196239413F7CFC12C8B +:101BD000D12CE12CF12C0AC08FEFC81AD80AE80AE0 +:101BE000F80A0C151D052E053F0579F08081862326 +:101BF000841791F36C2D7D2D8E2D9F2D1F910F91AC +:101C0000FF90EF90DF90CF90089560E070E080E06B +:101C100090E01F910F91FF90EF90DF90CF9008958B +:101C2000CF93DF93EC01198218821B821A821D82E6 +:101C30001C8270E060E00E945B082881398181117C +:101C40000FC02115310519F0C9010E94F31C19823A +:101C500018821D821C821B821A82DF91CF91089507 +:101C60001D821C8265E871E0C901DF91CF910C945F +:101C7000491E1092DB021092DA0288EE93E0A0E097 +:101C8000B0E08093DC029093DD02A093DE02B0937B +:101C9000DF0227E531E03093D9022093D80225EC0A +:101CA00030E03093E5022093E40224EC30E03093FE +:101CB000E7022093E60220EC30E03093E902209323 +:101CC000E80221EC30E03093EB022093EA0222ECB0 +:101CD00030E03093ED022093EC0226EC30E03093BC +:101CE000EF022093EE021092F1021092F202109293 +:101CF000F3021092F402109278031092770380930B +:101D0000790390937A03A0937B03B0937C0389E6D5 +:101D100091E090937603809375031092ED031092F7 +:101D2000F4031092F6031092F5031092FB03109245 +:101D3000FC031092FD031092FE0381E08093FA03EE +:101D40008093F7031092F80392E09093F903809345 +:101D5000EC0382E090E00E941A0888E090E00E9484 +:101D6000FC02E4EDF3E02CEE33E04FEF68EB7BE0B8 +:101D70008091A5038C3008F06AC091E0980F909391 +:101D8000A503808390E0DC01AA0FBB1FA80FB91F39 +:101D9000AF57BC4F12967C936E93119733962E17C4 +:101DA0003F0731F78091A5038C3008F052C091E0D5 +:101DB000980F9093A5038093D10390E0FC01EE0F60 +:101DC000FF1FE80FF91FEF57FC4F88EB9BE0928352 +:101DD000818390910601809105018093C3039093C4 +:101DE000C40390E0FC01E959FE4FE491E093C50380 +:101DF000FC01ED5AFE4FE491E093C60380E89EE3B8 +:101E0000A0E0B0E08093CB039093CC03A093CD03EC +:101E1000B093CE031092B5031092B4038BE791E018 +:101E20009093B3038093B20387E28093B60380E17B +:101E30008093BB0382E08093BC031092BD038CEAC5 +:101E400093E00E94100E86EA93E00C94100E4083FB +:101E5000A5CF8FEF8093D103BCCFCF93DF93CDB7C6 +:101E6000DEB763970FB6F894DEBF0FBECDBF789490 +:101E700084B5826084BD84B5816084BD85B582608F +:101E800085BD85B5816085BD80916E008160809340 +:101E90006E001092810080918100826080938100A9 +:101EA00080918100816080938100809180008160B9 +:101EB000809380008091B10084608093B100809114 +:101EC000B00081608093B00080917A00846080933C +:101ED0007A0080917A00826080937A0080917A0003 +:101EE000816080937A0080917A00806880937A0084 +:101EF0001092C100E091E802F091E90282E0808353 +:101F0000E091E402F091E5021082E091E602F091A6 +:101F1000E70280E180831092F002E091EC02F09100 +:101F2000ED0286E08083E091EA02F091EB0280818D +:101F300080618083E091EA02F091EB028081886009 +:101F40008083E091EA02F091EB02808180688083D7 +:101F5000E091EA02F091EB0280818F7D808312E0B4 +:101F600061E0812F0E94C00260E0812F0E94660222 +:101F70001F5F1E30A9F70E9434098091F2039091EF +:101F8000F30397FD08C061E00E94C00260E0809109 +:101F9000F2030E94660281E08093ED03809180004D +:101FA00080936B028091810080937602F89486B3CF +:101FB0008093750280916F008093740280918600F7 +:101FC00090918700909373028093720280918A00AF +:101FD00090918B00909371028093700280918800A1 +:101FE0009091890090936F0280936E02809184009B +:101FF0009091850090936D0280936C02789401E03B +:102000002AE2222E21E0322E88ED92E00E948E01FB +:10201000892B09F4DBC688ED92E00E948E01181628 +:10202000190694F788ED92E00E946C0190917B0272 +:10203000853509F05AC0911158C080917A028F3FBE +:1020400021F40093790200937B02809179028F5FE3 +:10205000843308F062C08093790280917B028823E8 +:1020600099F2809178028111CFCF809179028430EA +:1020700058F210927B028091A9027090AA02E72C7C +:10208000F12C2091A802223009F48AC0233009F4EF +:102090009AC6213039F5873009F061C01091AB0242 +:1020A000812F90E03091800231113CC0209380025A +:1020B0007092040110930301F701EF57FD4F208345 +:1020C0008F579D4FFC01208361E0872D0E94C00245 +:1020D00060E0812F0E94C00262E370E080E090E047 +:1020E0000E945903109279028FCF80937A0299232C +:1020F00009F4ABCFE0917902E23039F480937802B1 +:10210000F0E0EC55FD4F8083A0CFE330C8F3909111 +:102110007802915090937802F3CF10927902109246 +:102120007B029BCFA0910401E09103017A1202C0CF +:10213000E117C1F2B0E0AF57BD4F1C92F0E0EF578E +:10214000FD4F10827092040110930301F701EF57C5 +:10215000FD4F00838F579D4FFC010083B5CFF701E2 +:10216000EF57FD4F1092800210927C0210927D0278 +:1021700010927E0210927F0210828A3139F480918F +:10218000A2028111AFCF0093A202ACCF8B3109F034 +:10219000A9CF8091A1028111A5CF0093A102A2CF66 +:1021A00090910401791621F09091030179120AC0EF +:1021B0001092800210927C0210927D0210927E0298 +:1021C00010927F028931E1F090910501791218C0D7 +:1021D000F701EF57FD4F10821092A2021092950264 +:1021E0001092960210929702109298021092A102F9 +:1021F0001092990210929A0210929B0210929C02E5 +:10220000EFEFE80FE93108F09DC00E2E000CFF0B38 +:10221000E45FFE4E0C944A1C2511A2112E11C81326 +:10222000C411A211A211A314A514BB14BF14D91474 +:102230009B140F161816E3164416A211A211A21130 +:10224000A211A211A211A2119A16C7010E94200682 +:102250006091AB02872D0E94660274C0C7010E9484 +:1022600020061091AB02C12ED12C809177028130D3 +:10227000B9F5F8948091760280938100809175027F +:1022800086BB8091740280936F008091720290915E +:1022900073029093870080938600809170029091E2 +:1022A000710290938B0080938A0080916E029091CE +:1022B0006F02909389008093880080916C029091C6 +:1022C0006D02909385008093840080916B028093CF +:1022D000800080917602809381007894109277023A +:1022E00061E0872D0E94C002111102C060E0B2CFF0 +:1022F000FFEFCF16D10411F461E0ACCFF701E55D3B +:10230000FE4FE491E33031F148F4E130B9F0E230CE +:10231000E1F020E8C216D1047CF7E8CFE73021F1E4 +:10232000E83051F1E430A9F7809180008062809319 +:102330008000D0928B00C0928A0004C084B580686F +:1023400084BD17BD0E945D06CDCE84B5806284BD7C +:1023500018BDF8CF80918000806880938000D09273 +:102360008900C0928800EECF8091B0008068809391 +:10237000B0001093B300E6CF8091B00080628093EC +:10238000B0001093B400DECFC7010E9420068091F8 +:10239000AB0280934E028091AC0280934F028091F9 +:1023A0004E0290914F02998B888B8091AD02809361 +:1023B0004E028091AE0280934F02E0914E02F09166 +:1023C0004F02FB8BEA8B1E161F060CF0DDC18091BD +:1023D0000001871177C0F101149117FDB3CF61E0BF +:1023E000872D0E94C0021123B1F028893989290163 +:1023F000712C612C60E072E18AE790E0A3010E94F9 +:10240000CF1A69017A0171E0C71AD108E108F10811 +:10241000123009F076C1888999892C01712C612CC0 +:1024200060E072E18AE790E0A30192010E94CF1A76 +:1024300049015A017A01690191E0C91AD108E108FC +:10244000F108EFEFCE16D104E104F10409F00CF429 +:102450002BC160E472E48FE090E0A30192010E943E +:10246000CF1A69017A01F1E0CF1AD108E108F10829 +:10247000123009F09DC082E02FEFC216D104E104B2 +:10248000F104C9F0C4F060E970ED83E090E0A301CD +:1024900092010E94CF1A69017A0171E0C71AD1082E +:1024A000E108F1088FEFC816D104E104F10411F03E +:1024B0000CF017C783E09091B100987F892B80932F +:1024C000B100F9C08F3F09F03DCF70920001F101DA +:1024D00014911F3F09F436CF113031F150F0123012 +:1024E00009F442C017FD2ECF61E0872D0E94C00283 +:1024F0007CCF14BC15BC84B5826084BD85B5816079 +:1025000085BDF701ED5AFE4FE491F0E0EE0FFF1F9D +:10251000E15CFE4F85919491F701E959FE4FE491FA +:10252000E093540210E05BCF109280001092810083 +:10253000809181008860809381008091810081601A +:1025400080938100F701ED5AFE4FE491F0E0EE0F29 +:10255000FF1FE15CFE4F85919491F701E959FE4F11 +:10256000E491E09353023BCF1092B0001092B1007F +:102570008091B00082608093B0008091B100816052 +:102580008093B100F701ED5AFE4FE491F0E0EE0FB9 +:10259000FF1FE15CFE4F85919491909352028093CE +:1025A0005102F701E959FE4FE491E093500217CF31 +:1025B0009FEFC916D104E104F10409F00CF49FC0A7 +:1025C00068E478EE81E090E0A30192010E94CF1AC6 +:1025D00069017A01E1E0CE1AD108E108F10884E04E +:1025E000111141C083E0FFEFCF16D104E104F104E3 +:1025F00009F00CF45CC062E17AE780E090E0A301AE +:1026000092010E94CF1A69017A0191E0C91AD1089A +:10261000E108F10884E0EFEFCE16D104E104F10403 +:1026200009F008F444C0750164012AE0F594E794C8 +:10263000D794C7942A95D1F721E0C21AD108E108AE +:10264000F10885E034C064E274EF80E090E0A3011B +:1026500092010E94CF1A69017A01F1E0CF1AD108E4 +:10266000E108F10885E09FEFC916D104E104F10407 +:1026700009F008F420CF62E17AE780E090E0A3015E +:1026800092010E94CF1A69017A0171E0C71AD1083C +:10269000E108F1088FEFC816D104E104F10411F04C +:1026A00008F00FC686E007CF81E0111104CF95B581 +:1026B000987F892B85BD28893989220F331FAA89E4 +:1026C000BB890E94501C28EE33E040E050E00E949D +:1026D000301B1130B9F1123009F446C0111132CE5D +:1026E000C7BC20935D0230935E0240935F0250931B +:1026F000600280916E00826080936E0023CE82E043 +:10270000D4CF91E0C114D10421E0E206F10484F0B9 +:1027100068E478EE81E090E0A30192010E94CF1A74 +:1027200069017A0171E0C71AD108E108F10893E064 +:10273000113009F0C0CF80918100887F892B809370 +:102740008100B9CFD0928900C092880020935902AD +:1027500030935A0240935B0250935C0280916F0069 +:10276000826080936F00EECDC092B300209355023B +:102770003093560240935702509358028091700054 +:10278000826080937000DECD872D0E949402DACDA6 +:10279000C7010E942006B090AB02B11007C0809123 +:1027A0007702811103C0C7010E948B05EB2DE15018 +:1027B000FF0BE43BF10508F0C5CD65E070E080E07B +:1027C00090E00E945903E1E6F2E090E080E0219180 +:1027D0002E151F0431F02111A6C0FC01EF59FD4F49 +:1027E0007082FC01EE0FFF1FE80FF91FEC52FC4F47 +:1027F0001081818192811C3008F03FC061E0872DFB +:102800000E94C002812F90E0AC01440F551FFA01D5 +:10281000E80FF91FEF57FC4F272D2F73722E2081E1 +:10282000207C722A708230E020E0F901EE0FFF1F59 +:10283000E20FF31FEF57FC4F608166FD14C02F5F5E +:102840003F4F2C30310589F71092800022E0209311 +:1028500081001092850010928400B19A20916F003F +:10286000226020936F00840F951FFC01EF57FC4FEF +:1028700080818064808390E080E0B8E5CB2EB2E078 +:10288000DB2EC91AD10897FDD394CC0CDD1CCC0CDF +:10289000DD1C28E8E22EF12CE81AF10887FDF394FC +:1028A000EE0CFF1CEE0CFF1C27010F2C000C660821 +:1028B0007708AB2DA53B08F0A4EB96010D2C000C7E +:1028C000440B550B2419350946095709B0E00E94FD +:1028D000EE1A24EB30E040E050E00E94CF1A420EA6 +:1028E000531E641E751E1C30D8F44E145F042CF069 +:1028F00076014C145D040CF4720132E0E31AF10825 +:10290000EE0CFF1C2FB7F894812F90E0FC01EE0F26 +:10291000FF1FE80FF91FEF57FC4FF282E1822FBF34 +:10292000009377020FCD01968830910509F04FCFC3 +:1029300090E080E056CFC7010E94200684E190E03D +:102940000E948B05FFCC0E948B038091AB028F3FCE +:1029500009F0F8CC64E670E080E090E00E94590352 +:1029600088E19EE00FB6F894A895809360000FBEB2 +:1029700090936000E7CCC7010E942006E3CCC7011A +:102980000E9420061091AB0280910201781629F076 +:10299000C7010E94FC027092020180910101181788 +:1029A00009F4D0CC812F90E00E941A081093010105 +:1029B000C9CCC7010E942006D090AB02B090AD02F6 +:1029C0001091AF02C090B10280910201781629F0F7 +:1029D000C7010E94FC02709202012D2D30E080910F +:1029E000EE039091EF032817390708F04CC0812FB0 +:1029F00090E0B0E0A0E0BA2FA92F982F8827AB294C +:102A00008C292D0166247724442D892E9A2EAB2EF5 +:102A1000BB24682D582FE091F403EE2391F06E2F24 +:102A200070E0649DA001659D500D749D500D1124B2 +:102A3000452FE89D40011124692DE89FC001112414 +:102A4000592FE091FA038091F5039091F60370916C +:102A5000F703E713A0C09C0173E0D79E200D311D42 +:102A60001124E091F703E20FF32FF11D4083E09171 +:102A7000F803E20FF32FF11D60838091F903280F13 +:102A8000311DF90150838091F5039091F603892B54 +:102A900009F458CCC090FB03D090FC03E090FD03F8 +:102AA000F090FE030E9434036C157D058E059F0592 +:102AB00050F40E9434036093FB037093FC038093F3 +:102AC000FD039093FE030E943403C090FB03D0905B +:102AD000FC03E090FD03F090FE036C197D098E0964 +:102AE0009F096C32714081059105A0F2F8948091A4 +:102AF000F0039091F10398878F83E091F503F091B3 +:102B0000F603DF01119680818F879091EC03E091AD +:102B1000FF03F091000480910104992309F446C059 +:102B20009081982B9E879081809589238D878D85B4 +:102B30008A8788E089874E855D856F8539852A85F6 +:102B40008F819885408367FD242F3A952083252F18 +:102B500039F0661F00C000005083000000C0F2CFB3 +:102B600038E06D9150830000019761F7F093000405 +:102B7000E093FF036F8739872A8798878F8378943C +:102B80000E9434036093FB037093FC038093FD0366 +:102B90009093FE03D7CB220F331F220F331F280F32 +:102BA000391FE20FF32FF11D10825BCF9081982B1C +:102BB0009E879081809589238D878D858C8788E07D +:102BC0008B874E855D856F853B852C858F819885AC +:102BD000408367FD242F00C000C0208300C000C0D8 +:102BE00000C000C000C050830000252F3A9541F07E +:102BF000661F000000C000C000C000C000C0E8CFD9 +:102C000038E06D9100C0508300C0019709F7F09340 +:102C10000004E093FF036F873B872C87AECF809142 +:102C20006A0281118FCB00936A020E9434098ACB19 +:102C3000E090AB02F090AC021091AD02612F70E019 +:102C4000CE0101960E948308111102C00E948607DE +:102C500080916902813039F40E9486070E94EA0758 +:102C600082E0809369026E2D8F2D0E9491074D8125 +:102C70005E8169817A8182EB93E00E943001CE010E +:102C800001960E9412085ECBF090AB021091AC024C +:102C90006091AD0270E0CE0101960E9483088091A0 +:102CA0006902813039F40E9486070E94EA0782E0B7 +:102CB000809369026F2D812F0E949107CE010196AA +:102CC0000E942201FC01808160E0813371F1CE011C +:102CD00001960E942201FC01808161E0823329F18A +:102CE000CE0101960E942201FC01808162E08333C3 +:102CF000E1F0CE0101960E942201FC01808163E097 +:102D0000843399F0CE0101960E942201FC0180815A +:102D100064E0853351F0CE0101960E942201FC014E +:102D20008081863309F0ABCF65E082EB93E00E94AF +:102D3000C507A5CFC7010E9420068091AB029FEF77 +:102D4000980F9631C8F0F701EF57FD4F108210929F +:102D5000A20210929502109296021092970210927F +:102D600098021092A1021092990210929A02109267 +:102D70009B0210929C02E6CA7092050180930601A4 +:102D80008091A20281111AC08091A102811116C006 +:102D900062E08091C3030E94C0020E948B03605DC9 +:102DA0007740810991096093C7037093C8038093AA +:102DB000C9039093CA0387E38093D0030093A202D0 +:102DC0000093A102BFCA0E948607BCCA6AE070E0F5 +:102DD00080E090E00E945903B1E8EB2EB2E0FB2EB8 +:102DE00010E000E0F70181917F0181113CC0B02E1D +:102DF00060E0802F0E94C0020E946506F801E55D38 +:102E0000FE4F8491F801E959FE4FC490F801ED5A44 +:102E1000FE4FD49070E060E0DD2099F081110E94B7 +:102E20003D02ED2DF0E0EE0FFF1FE75BFE4FA59199 +:102E3000B491EC91CE2291E080E009F490E0692F0A +:102E4000782F072E000C880B990B0E94B2190E9454 +:102E500031068B2D0E942C0681E00E942C060E94D8 +:102E600055060E945D060F5F1F4F0431110509F0E2 +:102E7000B9CF0DE411E0F12CF80181918F0181119E +:102E800027C00E9465068F2D806480937C0080910E +:102E90007A00806480937A0080917A0086FDFCCF6E +:102EA0008091780060917900762F682F072E000CB2 +:102EB000880B990B0E94B2190E9431068F2D0E9437 +:102EC0002C0682E00E942C060E9455060E945D0698 +:102ED000F394F6E0FF12D0CF80918002882309F4AA +:102EE0006DC01091040160E0812F0E94660283E0B2 +:102EF00090E00197F1F761E0812F0E94660283E282 +:102F000090E00197F1F760E0812F0E9466028091C6 +:102F1000030190E0FC01E959FE4F6491FC01ED5A78 +:102F2000FE4FE491F0E0EE0FFF1FE75BFE4F85914F +:102F3000949100E315E720E030E0462F0E94CB0D8E +:102F4000611571058105910529F06F5F7F4F8F4FE6 +:102F50009F4F9F700E94B01920E030E048EE51E48E +:102F60000E94CE1B20E030E040E05FE30E94111A97 +:102F70006B017C0120E030E0A9010E94AB198111B6 +:102F800051C0C0907C02D0907D02E0907E02F09013 +:102F90007F020E946506C701B6010E94310680913A +:102FA00004010E942C06809103010E942C0687E0F8 +:102FB0000E942C060E9455060E945D061091A202F6 +:102FC000111105C08091A102882309F449C10E9412 +:102FD0008B03C0909D02D0909E02E0909F02F090E3 +:102FE000A0026C197D098E099F096A3F7105810550 +:102FF000910508F435C1112309F486C00E94970396 +:10300000882309F464C08091C4038C3009F498C00B +:1030100090F48B3049F1C12CD12C40ECE42E4FE7D9 +:10302000F42E4CC0C0927C02D0927D02E0927E02CF +:10303000F0927F02AECF8551823068F71091C003C5 +:10304000612F70E0762F662766277F778091C10316 +:10305000682B90E080E00E94B0192DEC3CEC4CEC29 +:103060005DE30E94111A88C06091C00370E090E097 +:1030700080E00E94B0196B017C011091C10317FF21 +:103080000AC0AC019B0160E070E080E89FEB0E9409 +:10309000611B6B017C011F70612F70E090E080E08C +:1030A0000E94B2192DEC3CEC4CEC5DE30E94111A2D +:1030B000A70196010E94621B6B017C01A70196018A +:1030C000C701B6010E94451C882309F45EC0C09068 +:1030D0009502D0909602E0909702F09098020E949C +:1030E0006506C701B6010E943106809105010E9464 +:1030F0002C06809106010E942C068AE10E942C0673 +:103100000E9455060E945D068091A102882309F461 +:103110009DC00E949703882309F47BC08091C4035B +:103120008B3038F08D3008F44DC08551823008F472 +:10313000ADC0C12CD12C30ECE32E3FE7F32E60C0A4 +:103140001091C003612F70E090E080E00E94B01900 +:103150006B017C016091C1036F7070E090E080E0D2 +:103160000E94B2192DEC3CEC4CEC5DE30E94111A6C +:10317000A70196010E94621B6B017C0117FF9ECF85 +:10318000F7FAF094F7F8F09499CF20E030E040E2BD +:1031900051E4C701B6010E94401C181654F420E007 +:1031A00030E040E050E4C701B6010E94611B6B01B2 +:1031B0007C01C0929502D0929602E0929702F09222 +:1031C00098028DCF6091BF0370E090E080E00E9494 +:1031D000B2192DEC3CEC4CEC5DE30E94111A6B0132 +:1031E0007C016091BE0370E090E080E00E94B21923 +:1031F0009B01AC01C701B6010E94621B6B017C01FF +:10320000A7019601C701B6010E94451C882309F455 +:103210004FC0C0909902D0909A02E0909B02F0902B +:103220009C020E946506C701B6010E94310680918A +:1032300005010E942C06809106010E942C068BE15C +:103240000E942C060E9455060E945D060E948B0378 +:1032500060939D0270939E0280939F029093A002C0 +:103260006AE070E080E090E00E94590380E090E026 +:10327000892B11F40C94FF0F0E949A01882311F4FA +:103280000C94FF0F0E9400000C94FF0F6091BE038E +:103290007091BF0376276727762790E080E00E9431 +:1032A000B0192DEC3CEC4CEC5DE30E94111AA6CF5A +:1032B000C0929902D0929A02E0929B02F0929C02F4 +:1032C000B0CF750164019AE0F594E794D794C79460 +:1032D0009A95D1F731E0C31AD108E108F10887E0E7 +:1032E000EAC868E478EE81E090E0A30192010E94D0 +:1032F000CF1A69017A0171E0C71AD108E108F10813 +:103300008FEFC816D104E104F10411F00CF09BC951 +:1033100084E0D1C886EA93E00E9412088CEA93E028 +:103320000E9412088091F5039091F6030E94F31C0D +:103330008091F2039091F30397FD03C060E00C9439 +:10334000C0020895FB01DC0102C005900D924150BE +:103350005040D8F708950E94ED1908F481E00895CF +:10336000E89409C097FB3EF490958095709561951F +:103370007F4F8F4F9F4F9923A9F0F92F96E9BB27D5 +:103380009395F695879577956795B795F111F8CF51 +:10339000FAF4BB0F11F460FF1BC06F5F7F4F8F4FBC +:1033A0009F4F16C0882311F096E911C0772321F0B2 +:1033B0009EE8872F762F05C0662371F096E8862F4A +:1033C00070E060E02AF09A95660F771F881FDAF7A1 +:1033D000880F9695879597F90895990F0008550FCE +:1033E000AA0BE0E8FEEF16161706E807F907C0F08B +:1033F00012161306E407F50798F0621B730B840B93 +:10340000950B39F40A2661F0232B242B252B21F46C +:1034100008950A2609F4A140A6958FEF811D811D0C +:1034200008950E94241A0C94951A0E94871A38F065 +:103430000E948E1A20F0952311F00C947E1A0C94A1 +:10344000841A11240C94C91A0E94A61A70F3959F2D +:10345000C1F3950F50E0551F629FF001729FBB278B +:10346000F00DB11D639FAA27F00DB11DAA1F649F27 +:103470006627B00DA11D661F829F2227B00DA11DDA +:10348000621F739FB00DA11D621F839FA00D611D60 +:10349000221F749F3327A00D611D231F849F600D81 +:1034A000211D822F762F6A2F11249F5750409AF0AA +:1034B000F1F088234AF0EE0FFF1FBB1F661F771F36 +:1034C000881F91505040A9F79E3F510580F00C9401 +:1034D0007E1A0C94C91A5F3FE4F3983ED4F38695A4 +:1034E00077956795B795F795E7959F5FC1F7FE2BA1 +:1034F000880F911D9695879597F9089597F99F677D +:1035000080E870E060E008959FEF80EC089500246B +:103510000A941616170618060906089500240A9438 +:1035200012161306140605060895092E0394000CBE +:1035300011F4882352F0BB0F40F4BF2B11F460FF4D +:1035400004C06F5F7F4F8F4F9F4F089557FD905876 +:10355000440F551F59F05F3F71F04795880F97FB57 +:10356000991F61F09F3F79F0879508951216130611 +:103570001406551FF2CF4695F1DF08C01616170640 +:103580001806991FF1CF8695710561050894089575 +:10359000E894BB2766277727CB0197F90895052E76 +:1035A00097FB1EF400940E94E61A57FD07D00E9474 +:1035B000301B07FC03D04EF40C94E61A509540954E +:1035C000309521953F4F4F4F5F4F089590958095CF +:1035D000709561957F4F8F4F9F4F08950E94521BAA +:1035E000A59F900DB49F900DA49F800D911D112457 +:1035F00008952F923F924F925F926F927F928F9297 +:103600009F92AF92BF92CF92DF92EF92FF920F9371 +:103610001F93CF93DF93CDB7DEB7CA1BDB0B0FB67B +:10362000F894DEBF0FBECDBF09942A883988488838 +:103630005F846E847D848C849B84AA84B984C884CE +:10364000DF80EE80FD800C811B81AA81B981CE0FC5 +:10365000D11D0FB6F894DEBF0FBECDBFED010895AA +:10366000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F86 +:10367000EE1FFF1FA217B307E407F50720F0A21BF8 +:10368000B30BE40BF50B661F771F881F991F1A9465 +:1036900069F760957095809590959B01AC01BD018F +:1036A000CF010895A29FB001B39FC001A39F700DE9 +:1036B000811D1124911DB29F700D811D1124911D3A +:1036C00008955058BB27AA270E94791B0C94951A7D +:1036D0000E94871A38F00E948E1A20F039F49F3F1A +:1036E00019F426F40C94841A0EF4E095E7FB0C947C +:1036F0007E1AE92F0E94A61A58F3BA1762077307B9 +:103700008407950720F079F4A6F50C94C81A0EF4F6 +:10371000E0950B2EBA2FA02D0B01B90190010C01E1 +:10372000CA01A0011124FF27591B99F0593F50F4F9 +:10373000503E68F11A16F040A22F232F342F442751 +:10374000585FF3CF469537952795A795F040539549 +:10375000C9F77EF41F16BA0B620B730B840BBAF019 +:103760009150A1F0FF0FBB1F661F771F881FC2F784 +:103770000EC0BA0F621F731F841F48F48795779598 +:103780006795B795F7959E3F08F0B0CF9395880F52 +:1037900008F09927EE0F9795879508950E94E21BF0 +:1037A0000C94951A0E948E1A58F00E94871A40F0C5 +:1037B00029F45F3F29F00C947E1A51110C94C91A18 +:1037C0000C94841A0E94A61A68F39923B1F3552326 +:1037D00091F3951B550BBB27AA2762177307840724 +:1037E00038F09F5F5F4F220F331F441FAA1FA9F3BA +:1037F00035D00E2E3AF0E0E832D091505040E695A8 +:10380000001CCAF72BD0FE2F29D0660F771F881F08 +:10381000BB1F261737074807AB07B0E809F0BB0BFB +:10382000802DBF01FF2793585F4F3AF09E3F51050F +:1038300078F00C947E1A0C94C91A5F3FE4F3983E1A +:10384000D4F3869577956795B795F7959F5FC9F7F8 +:10385000880F911D9695879597F90895E1E0660F79 +:10386000771F881FBB1F621773078407BA0720F0F2 +:10387000621B730B840BBA0BEE1F88F7E09508955B +:103880000E94ED1908F48FEF08950E94ED19880B3E +:10389000990B0895EE0FFF1F0590F491E02D099408 +:1038A0000E94521BB7FF0895821B930B08950F933C +:1038B0001F93CF93DF938230910510F482E090E064 +:1038C000E0910404F091050430E020E0B0E0A0E0D5 +:1038D000309799F42115310509F44AC0281B390B9A +:1038E00024303105D8F58A819B816115710589F1F4 +:1038F000FB0193838283FE0111C0408151810281CB +:10390000138148175907E0F04817590799F41097A1 +:1039100061F012960C93129713961C933296CF0176 +:10392000DF91CF911F910F9108950093040410939C +:103930000504F4CF2115310551F04217530738F033 +:10394000A901DB019A01BD01DF01F801C1CFEF013F +:10395000F9CF9093050480930404CDCFFE01E20FCC +:10396000F31F819391932250310939832883D7CF54 +:103970002091020430910304232B41F4209109018A +:1039800030910A013093030420930204209107012F +:10399000309108012115310541F42DB73EB7409112 +:1039A0000B0150910C01241B350BE0910204F091A6 +:1039B0000304E217F307A0F42E1B3F0B2817390767 +:1039C00078F0AC014E5F5F4F2417350748F04E0F7B +:1039D0005F1F5093030440930204819391939FCF00 +:1039E000F0E0E0E09CCFCF93DF930097E9F0FC019B +:1039F000329713821282A0910404B0910504ED0164 +:103A000030E020E01097A1F420813181820F931FD4 +:103A100020910204309103042817390709F061C08E +:103A2000F0930304E0930204DF91CF910895EA013B +:103A3000CE17DF07E8F54A815B819E0141155105EC +:103A4000B1F7E901FB83EA8349915991C40FD51F6E +:103A5000EC17FD0761F4808191810296840F951F18 +:103A6000E90199838883828193819B838A83F0E033 +:103A7000E0E012968D919C9113970097B9F52D91E6 +:103A80003C911197CD010296820F931F2091020461 +:103A9000309103042817390739F6309751F5109201 +:103AA000050410920404B0930304A0930204BCCF55 +:103AB000D383C28340815181840F951FC817D907D2 +:103AC00061F44E5F5F4F88819981480F591F518380 +:103AD00040838A819B81938382832115310509F07C +:103AE000B0CFF0930504E09304049ECFFD01DC0108 +:103AF000C0CF13821282D7CFB0E0A0E0E2E8FDE1B0 +:103B00000C94FB1A8C01009751F4CB010E94571CB6 +:103B10008C01C801CDB7DEB7E0E10C94171BFC01A6 +:103B2000E60FF71F9C0122503109E217F30708F452 +:103B30009DC0D901CD91DC911197C617D70798F098 +:103B4000C530D10530F3CE0104978617970708F3E7 +:103B5000C61BD70B2297C193D1936D937C93CF0152 +:103B60000E94F31CD6CF5B01AC1ABD0A4C018C0E2F +:103B70009D1EA0910404B0910504512C412CF12C00 +:103B8000E12C109731F5809102049091030488157F +:103B9000990509F05CC04616570608F058C0809198 +:103BA000070190910801009741F48DB79EB74091AD +:103BB0000B0150910C01841B950BE817F90708F0D5 +:103BC00055C0F0930304E0930204F901718360830C +:103BD000A0CF8D919C91119712966C90129713968D +:103BE0007C901397A815B90559F56C0142E0C40EF5 +:103BF000D11CCA14DB0420F1AC014A195B09DA01BB +:103C00001296159780F06282738251834083D901A6 +:103C10006D937C93E114F10471F0D7011396FC933A +:103C2000EE93129776CF22968C0F9D1FF901918308 +:103C30008083F301EFCFF0930504E093040469CF90 +:103C40004816590608F42C017D01D3019ACFCB0107 +:103C50000E94571C7C01009749F0AE01B8010E94F8 +:103C6000391EC8010E94F31C870153CF10E000E009 +:103C700050CFFB01DC0102C001900D924150504039 +:103C8000D8F70895DC0101C06D9341505040E0F732 +:103C90000895FB01DC0101900D920020E1F70895E9 +:103CA00010E0CFEBD0E004C0FE010E944A1C219638 +:0A3CB000C03CD107C9F7F894FFCF1C +:103CBA00FF020804020C0B0000060480000000400A +:103CCA000014005400000000000000000004040A70 +:103CDA000A111F1F0E1006090808090600040A0A1D +:103CEA000E0E1F1F0E00000A00000E110000000A2F +:103CFA000000110E00000A1F1F1F0E040000000022 +:103D0A0000000000000000D00130015D011D028E9C +:103D1A00016C018001000000005C052F05530705B6 +:103D2A000528051505060500000000C507300153E2 +:063D3A000752070D0A000C +:00000001FF diff --git a/app/modules/castarter_v2.js b/app/modules/castarter_v2.js new file mode 100644 index 000000000..b68e7a9d4 --- /dev/null +++ b/app/modules/castarter_v2.js @@ -0,0 +1,630 @@ + +const BaseModule = require('./baseModule'); + +class castarter_v2 extends BaseModule { + // 클래스 내부에서 사용될 필드들을 이곳에서 선언합니다. + constructor() { + super(); + this.sp = null; + this.sensorTypes = { + ALIVE: 0, + DIGITAL: 1, + ANALOG: 2, + PWM: 3, + SERVO_PIN: 4, + TONE: 5, + PULSEIN: 6, + ULTRASONIC: 7, + TIMER: 8, + SW_RESET: 9, + RGBLED: 10, + NEOPIXELINIT: 11, + NEOPIXELDIS: 12, + SERVO_DETACH: 13, + LCDINIT: 14, + LCD_DIS: 15, + LCDCLEAR: 16, + LCDOPTION: 17, + DHTINIT: 25, + DHTTEMP: 26, + DHTHUMI: 27, + }; + this.actionTypes = { + GET: 1, + SET: 2, + RESET: 3, + }; + this.sensorValueSize = { + FLOAT: 2, + SHORT: 3, + STRING: 4, + }; + this.digitalPortTimeList = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + this.sensorData = { + ULTRASONIC: 0, + DHTTEMP: 0, + DHTHUMI: 0, + PMVALUE: 0, + DIGITAL: { + '0': 0, + '1': 0, + '2': 0, + '3': 0, + '4': 0, + '5': 0, + '6': 0, + '7': 0, + '8': 0, + '9': 0, + '10': 0, + '11': 0, + '12': 0, + '13': 0, + '14': 0, + '15': 0, + '16': 0, + '17': 0, + '18': 0, + '19': 0, + '20': 0, + }, + ANALOG: { + '0': 0, + '1': 0, + '2': 0, + '3': 0, + '4': 0, + '5': 0, + }, + PULSEIN: {}, + TIMER: 0, + }; + this.defaultOutput = {}; + this.recentCheckData = {}; + this.sendBuffers = []; + this.lastTime = 0; + this.lastSendTime = 0; + this.isDraing = false; + this.sensorIdx = 0; + }; + init(handler, config) { + this.handler = handler; + this.config = config; + } + setSerialPort = function(sp) { + const self = this; + this.sp = sp; + }; + requestInitialData = function() { + return this.makeSensorReadBuffer(this.sensorTypes.ANALOG, 0); + }; + checkInitialData = function(data, config) { + return true; + // 이후에 체크 로직 개선되면 처리 + // var datas = this.getDataByBuffer(data); + // var isValidData = datas.some(function (data) { + // return (data.length > 4 && data[0] === 255 && data[1] === 85); + // }); + // return isValidData; + }; + afterConnect = function(that, cb) { + that.connected = true; + if (cb) { + cb('connected'); + } + }; + validateLocalData = function(data) { + return true; + }; + requestRemoteData = function(handler) { + const self = this; + if (!self.sensorData) { + return; + } + Object.keys(this.sensorData).forEach((key) => { + if (self.sensorData[key] != undefined) { + handler.write(key, self.sensorData[key]); + } + }); + }; + handleRemoteData = function(handler) { + const self = this; + const getDatas = handler.read('GET'); + const setDatas = handler.read('SET') || this.defaultOutput; + const time = handler.read('TIME'); + let buffer = new Buffer([]); + if (getDatas) { + const keys = Object.keys(getDatas); + keys.forEach((key) => { + let isSend = false; + const dataObj = getDatas[key]; + if (typeof dataObj.port === 'string' || typeof dataObj.port === 'number') { + const time = self.digitalPortTimeList[dataObj.port]; + if (dataObj.time > time) { + isSend = true; + self.digitalPortTimeList[dataObj.port] = dataObj.time; + } + } else if (Array.isArray(dataObj.port)) { + isSend = dataObj.port.every((port) => { + const time = self.digitalPortTimeList[port]; + return dataObj.time > time; + }); + + if (isSend) { + dataObj.port.forEach((port) => { + self.digitalPortTimeList[port] = dataObj.time; + }); + } + } + if (isSend) { + if (!self.isRecentData(dataObj.port, key, dataObj.data)) { + self.recentCheckData[dataObj.port] = { + type: key, + data: dataObj.data, + }; + buffer = Buffer.concat([buffer, self.makeSensorReadBuffer(key, dataObj.port, dataObj.data)]); + } + } + }); + } + if (setDatas) { + const setKeys = Object.keys(setDatas); + setKeys.forEach((port) => { + const data = setDatas[port]; + if (data) { + if (self.digitalPortTimeList[port] < data.time) { + self.digitalPortTimeList[port] = data.time; + + if (!self.isRecentData(port, data.type, data.data)) { + self.recentCheckData[port] = { + type: data.type, + data: data.data, + }; + buffer = Buffer.concat([buffer, self.makeOutputBuffer(data.type, port, data.data)]); + } + } + } + }); + } + if (buffer.length) { + this.sendBuffers.push(buffer); + } + }; + isRecentData = function(port, type, data) { + const that = this; + let isRecent = false; + if (type == this.sensorTypes.ULTRASONIC) { + const portString = port.toString(); + let isGarbageClear = false; + Object.keys(this.recentCheckData).forEach((key) => { + const recent = that.recentCheckData[key]; + if (key === portString) { + } + if (key !== portString && + (recent.type == that.sensorTypes.ULTRASONIC || + recent.type == that.sensorTypes.DHTTEMP || + recent.type == this.sensorTypes.DHTHUMI)) { + delete that.recentCheckData[key]; + isGarbageClear = true; + } + }); + if ((port in this.recentCheckData && isGarbageClear) || !(port in this.recentCheckData)) { + isRecent = false; + } else { + isRecent = true; + } + } else if (port in this.recentCheckData && type == this.sensorTypes.TONE) { + if ( + this.recentCheckData[port].type === type && + this.recentCheckData[port].data === data + ) { + isRecent = true; + } + } + return isRecent; + }; + requestLocalData = function() { + const self = this; + + if (!this.isDraing && this.sendBuffers.length > 0) { + this.isDraing = true; + this.sp.write(this.sendBuffers.shift(), () => { + if (self.sp) { + self.sp.drain(() => { + self.isDraing = false; + }); + } + }); + } + }; + handleLocalData = function(data) { + const self = this; + const datas = this.getDataByBuffer(data); + + datas.forEach((data) => { + if (data.length <= 4 || data[0] !== 255 || data[1] !== 85) { + return; + } + const readData = data.subarray(2, data.length); + let value; + switch (readData[0]) { + case self.sensorValueSize.FLOAT: { + value = new Buffer(readData.subarray(1, 5)).readFloatLE(); + value = Math.round(value * 100) / 100; + break; + } + case self.sensorValueSize.SHORT: { + value = new Buffer(readData.subarray(1, 3)).readInt16LE(); + break; + } + case self.sensorValueSize.STRING: { + value = new Buffer(readData[1] + 3); + value = readData.slice(2, readData[1] + 3); + value = value.toString('ascii', 0, value.length); + break; + } + default: { + value = 0; + break; + } + } + const type = readData[readData.length - 1]; + const port = readData[readData.length - 2]; + switch (type) { + case self.sensorTypes.DIGITAL: { + self.sensorData.DIGITAL[port] = value; + break; + } + case self.sensorTypes.ANALOG: { + self.sensorData.ANALOG[port] = value; + break; + } + case self.sensorTypes.PULSEIN: { + self.sensorData.PULSEIN[port] = value; + break; + } + case self.sensorTypes.ULTRASONIC: { + self.sensorData.ULTRASONIC = value; + break; + } + case self.sensorTypes.DHTTEMP: { + self.sensorData.DHTTEMP = value; + break; + } + case self.sensorTypes.DHTHUMI: { + self.sensorData.DHTHUMI = value; + break; + } + case self.sensorTypes.TIMER: { + self.sensorData.TIMER = value; + break; + } + default: { + break; + } + } + }); + }; + makeSensorReadBuffer = function(device, port, data) { + let buffer; + const dummy = new Buffer([10]); + if (device == this.sensorTypes.ULTRASONIC) { + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.GET, + device, + port[0], + port[1], + 10, + ]); + } else if (device == this.sensorTypes.DHTTEMP || device == this.sensorTypes.DHTHUMI) { + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + } else if (!data) { + buffer = new Buffer([ + 255, + 85, + 5, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + } else { + const value = new Buffer(2); + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 7, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + } + this.sensorIdx++; + if (this.sensorIdx > 254) { + this.sensorIdx = 0; + } + return buffer; + }; + makeOutputBuffer = function(device, port, data) { + let buffer; + const value = new Buffer(2); + const dummy = new Buffer([10]); + + switch (device) { + case this.sensorTypes.SERVO_PIN: + case this.sensorTypes.DIGITAL: + case this.sensorTypes.PWM: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.SERVO_DETACH: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.TONE: { + const time = new Buffer(2); + if ($.isPlainObject(data)) { + value.writeInt16LE(data.value); + time.writeInt16LE(data.duration); + } else { + value.writeInt16LE(0); + time.writeInt16LE(0); + } + buffer = new Buffer([ + 255, + 85, + 8, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, time, dummy]); + break; + } + case this.sensorTypes.SW_RESET: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.RGBLED: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.NEOPIXELINIT: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.NEOPIXELDIS: { + const num = new Buffer(2); + const r = new Buffer(2); + const g = new Buffer(2); + const b = new Buffer(2); + + if ($.isPlainObject(data)) { + num.writeInt16LE(data.num); + r.writeInt16LE(data.r); + g.writeInt16LE(data.g); + b.writeInt16LE(data.b); + } else { + num.writeInt16LE(0); + r.writeInt16LE(0); + g.writeInt16LE(0); + b.writeInt16LE(0); + } + buffer = new Buffer([ + 255, + 85, + 12, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, num, r, g, b, dummy]); + break; + } + case this.sensorTypes.DHTINIT: { + value.writeInt16LE(data); + + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.LCDINIT: { + value.writeInt16LE(data); + + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.LCD_DIS: { + let text; + const row = new Buffer(1); + const column = new Buffer(1); + let textLen = 0; + const textLenBuf = new Buffer(1); + + if ($.isPlainObject(data)) { + textLen = (`${data.text}`).length; + text = Buffer.from(`${data.text}`, 'ascii'); + row.writeInt8(data.row); + textLenBuf.writeInt8(textLen); + column.writeInt8(data.column); + } else { + textLen = 0; + text = Buffer.from('', 'ascii'); + row.writeInt8(0); + textLenBuf.writeInt8(textLen); + column.writeInt8(0); + } + buffer = new Buffer([ + 255, + 85, + 4 + 3 + textLen, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); + break; + } + case this.sensorTypes.LCDOPTION: { + let text; + const row = new Buffer(1); + const column = new Buffer(1); + let textLen = 0; + const textLenBuf = new Buffer(1); + + if ($.isPlainObject(data)) { + textLen = (`${data.text}`).length; + text = Buffer.from(`${data.text}`, 'ascii'); + row.writeInt8(data.row); + textLenBuf.writeInt8(textLen); + column.writeInt8(data.column); + } else { + textLen = 0; + text = Buffer.from('', 'ascii'); + row.writeInt8(0); + textLenBuf.writeInt8(textLen); + column.writeInt8(0); + } + buffer = new Buffer([ + 255, + 85, + 4 + 3 + textLen, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); + break; + } + case this.sensorTypes.LCDCLEAR: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + } + //console.log(buffer); + return buffer; + }; + getDataByBuffer = function(buffer) { + const datas = []; + let lastIndex = 0; + buffer.forEach((value, idx) => { + if (value == 13 && buffer[idx + 1] == 10) { + datas.push(buffer.subarray(lastIndex, idx)); + lastIndex = idx + 2; + } + }); + return datas; + }; + disconnect = function(connect) { + const self = this; + connect.close(); + if (self.sp) { + delete self.sp; + } + }; + reset = function() { + this.lastTime = 0; + this.lastSendTime = 0; + this.sensorData.PULSEIN = {}; + }; +} +module.exports = new castarter_v2(); diff --git a/app/modules/castarter_v2.json b/app/modules/castarter_v2.json new file mode 100644 index 000000000..d536839cf --- /dev/null +++ b/app/modules/castarter_v2.json @@ -0,0 +1,28 @@ +{ + "id": "4D0101", + "name": { + "en": "2nd Coding Array Starter", + "ko": "2세대 코딩어레이 스타터" + }, + "category": "board", + "platform": ["win32", "darwin"], + "icon" : "castarter_v2.png", + "module": "castarter_v2.js", + "url": "https://cafe.naver.com/arduinostory", + "email": "we@codingarray.cc", + "video": "https://youtu.be/R6nYA4AOn8w", + "driver": { + "win32-ia32": "arduino/dpinst-x86.exe", + "win32-x64": "arduino/dpinst-amd64.exe" + }, + "reconnect": true, + "firmware": "castarter_v2", + "hardware": { + "type": "serial", + "control": "slave", + "duration": 32, + "vendor": "Arduino", + "firmwarecheck": false, + "baudRate": 115200 + } +} diff --git a/app/modules/castarter_v2.png b/app/modules/castarter_v2.png new file mode 100644 index 0000000000000000000000000000000000000000..62f9e5a4b87b4e1f2eb13404fd9acdfccddac7a3 GIT binary patch literal 78036 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 Date: Thu, 16 Dec 2021 20:17:39 +0900 Subject: [PATCH 4/6] =?UTF-8?q?Revert=20"Revert=20"2=EC=84=B8=EB=8C=80=20?= =?UTF-8?q?=EC=BD=94=EB=94=A9=EC=96=B4=EB=A0=88=EC=9D=B4=20=EC=8A=A4?= =?UTF-8?q?=ED=83=80=ED=84=B0=20=EC=8B=A0=EA=B7=9C=20=EB=93=B1=EB=A1=9D""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit da06ab7a574f665c8736db1f47c8ed866e3a26e7. --- app/firmwares/castarter_v2.hex | 982 +++++++++++++++++++++++++++++++++ app/modules/castarter_v2.js | 630 +++++++++++++++++++++ app/modules/castarter_v2.json | 28 + app/modules/castarter_v2.png | Bin 0 -> 78036 bytes 4 files changed, 1640 insertions(+) create mode 100644 app/firmwares/castarter_v2.hex create mode 100644 app/modules/castarter_v2.js create mode 100644 app/modules/castarter_v2.json create mode 100644 app/modules/castarter_v2.png diff --git a/app/firmwares/castarter_v2.hex b/app/firmwares/castarter_v2.hex new file mode 100644 index 000000000..3db6f0907 --- /dev/null +++ b/app/firmwares/castarter_v2.hex @@ -0,0 +1,982 @@ +:100000000C94C0000C94E8000C94E8000C94E800F8 +:100010000C94E8000C94E8000C94E8000C94F20AAC +:100020000C94E8000C94E8000C94E8000C94F00B9D +:100030000C94E8000C94E8000C94E8000C94E800A0 +:100040000C94A60B0C94E8000C94740B0C944E0BBF +:100050000C94E8000C94E8000C94E8000C94E80080 +:100060000C94AC0C0C94E80006206F20202020207B +:10007000202020070001026F0304056F02A602453D +:1000800000001F01011F010500000F0808080700FC +:1000900000080808080808080008080818080808E0 +:1000A00000001F011F101F00000A0A0A1A0A0A0A8C +:1000B000041F000000000000001F000000000000FE +:1000C0000810001B0A0A06000201001B0A0A0A06A1 +:1000D000000C0A0A0A0A0A1400060A0A0A0A0A0591 +:1000E0000000000000000605070C18101212100393 +:1000F0001C060301090901180000000000000C148F +:1001000002020301000000000201001B0A0A0600AF +:100110000810001B0A0A0A06080818100000000050 +:1001200000000000240027002A0002000000080050 +:1001300002010000030407000000000000000000AE +:10014000000000250028002B0000000000230026EE +:10015000002900040404040404040402020202024C +:10016000020303030303030102040810204080017B +:10017000020408102001020408102000390E8A1918 +:1001800011241FBECFEFD8E0DEBFCDBF11E0A0E04D +:10019000B1E0EAEBFCE302C005900D92A638B1078E +:1001A000D9F724E0A6E8B1E001C01D92A630B2075D +:1001B000E1F710E0CFEBD0E004C02197FE010E94F0 +:1001C0004A1CCE3BD107C9F70E942D0F0C94501E3C +:1001D0000C940000CF92DF92EF92FF92CF93DF93C7 +:1001E000B091C503A0E08111AB2F8091C60390E0D0 +:1001F000880F991FAC01475B5E4FC090CB03D09036 +:10020000CC03E090CD03F090CE0330E020E0FA0183 +:10021000C591D491E881B90190E080E0EB23EA1325 +:100220000AC02F5F3F4F6C157D058E059F0578F343 +:100230006FEF7FEFCB01DF91CF91FF90EF90DF90D9 +:10024000CF900895FC0124813581232B21F08081FA +:100250009181009721F41092A30283EA92E008951D +:10026000AF92BF92CF92DF92EF92FF920F931F93C4 +:10027000CF93DF936C017B018B01040F151FEB0102 +:100280005E01AE18BF08C017D10759F06991D601B9 +:10029000ED91FC910190F081E02DC6010995892B2B +:1002A00079F7C501DF91CF911F910F91FF90EF90EA +:1002B000DF90CF90BF90AF900895FC01538D448D97 +:1002C000252F30E0842F90E0821B930B541710F001 +:1002D000CF96089501970895FC01918D828D98170E +:1002E00061F0A28DAE0FBF2FB11D5D968C91928DE6 +:1002F0009F5F9F73928F90E008958FEF9FEF089517 +:10030000FC01918D828D981731F0828DE80FF11DDF +:10031000858D90E008958FEF9FEF0895FC01918DFA +:10032000228D892F90E0805C9F4F821B91098F73F3 +:100330009927089588ED92E00E948E0121E0892B93 +:1003400009F420E0822F089580E090E0892B29F0C5 +:100350000E949A0181110C9400000895FC01A48D63 +:10036000A80FB92FB11DA35ABF4F2C91848D90E0D7 +:1003700001968F739927848FA689B7892C93A089BA +:10038000B1898C91837080648C93938D848D981344 +:1003900006C00288F389E02D80818F7D80830895D7 +:1003A000EF92FF920F931F93CF93DF93EC0181E0C5 +:1003B000888F9B8D8C8D98131AC0E889F98980816C +:1003C00085FF15C09FB7F894EE89FF896083E8899F +:1003D000F98980818370806480839FBF81E090E091 +:1003E000DF91CF911F910F91FF90EF900895F62E1E +:1003F0000B8D10E00F5F1F4F0F731127E02E8C8DB8 +:100400008E110CC00FB607FCFACFE889F9898081FC +:1004100085FFF5CFCE010E94AE01F1CFEB8DEC0F41 +:10042000FD2FF11DE35AFF4FF0829FB7F8940B8F19 +:10043000EA89FB8980818062CFCFCF93DF93EC0183 +:10044000888D8823B9F0AA89BB89E889F9898C91BC +:1004500085FD03C0808186FD0DC00FB607FCF7CF78 +:100460008C9185FFF2CF808185FFEDCFCE010E9478 +:10047000AE01E9CFDF91CF910895833081F028F468 +:10048000813099F08230A9F008958730A9F0883042 +:10049000C9F08430B1F4809180008F7D03C08091D9 +:1004A00080008F7780938000089584B58F7784BD16 +:1004B000089584B58F7DFBCF8091B0008F778093B6 +:1004C000B00008958091B0008F7DF9CF1F93CF9336 +:1004D000DF93282F30E0F901E55DFE4F8491F901AB +:1004E000E959FE4FD491F901ED5AFE4FC491CC2346 +:1004F000A9F0162F81110E943D02EC2FF0E0EE0FC3 +:10050000FF1FE15CFE4FA591B4918FB7F894EC9179 +:10051000111108C0D095DE23DC938FBFDF91CF91FE +:100520001F910895DE2BF8CF9091000189130BC025 +:10053000EAE2F1E0E4919FEF90930001E13049F0AD +:1005400028F0E23061F060E00C94660210926E00D8 +:10055000FACF90916F009D7F90936F00F4CF9091B0 +:1005600070009D7F9093700091E09093B000909107 +:10057000B100987F94609093B1001092B300E3CFE4 +:10058000CF93DF9390E0FC01E959FE4F24918D5AFF +:100590009E4FFC0184918823C9F090E0880F991F39 +:1005A000FC01E05EFE4FA591B491FC01E15CFE4FC1 +:1005B000C591D49161110DC09FB7F8948C9120958D +:1005C00082238C938881282328839FBFDF91CF913A +:1005D0000895623051F49FB7F8943C91822F809532 +:1005E00083238C93E8812E2BEFCF8FB7F894EC9177 +:1005F0002E2B2C938FBFEACFCF93DF93EC0180910A +:10060000ED03882349F08091F2039091F30397FD65 +:1006100003C060E00E94C002D093F303C093F203D2 +:100620008091ED03882341F061E08C2F0E94C0028D +:1006300060E08C2F0E946602FE01ED5AFE4FE491AD +:10064000F0E0EE0FFF1FE15CFE4F859194919093D7 +:1006500000048093FF03FE01E959FE4FE491E0930B +:100660000104DF91CF9108953FB7F89480914A0239 +:1006700090914B02A0914C02B0914D0226B5A89BDF +:1006800005C02F3F19F00196A11DB11D3FBFBA2F24 +:10069000A92F982F8827BC01CD01620F711D811DE4 +:1006A000911D42E0660F771F881F991F4A95D1F769 +:1006B00008958F929F92AF92BF92CF92DF92EF9266 +:1006C000FF924B015C010E9434036B017C010E948C +:1006D00034036C197D098E099F09683E73408105BA +:1006E0009105A8F321E0821A9108A108B10888EECB +:1006F000C80E83E0D81EE11CF11C81149104A104F2 +:10070000B10429F7FF90EF90DF90CF90BF90AF90AA +:100710009F908F9008952FB7F89460914602709142 +:10072000470280914802909149022FBF0895CF92CD +:10073000DF92EF92FF920F931F93CF93DF93CDB78A +:10074000DEB7C054D1400FB6F894DEBF0FBECDBFA8 +:100750000E948B030091C7031091C8032091C90325 +:100760003091CA036B017C01C01AD10AE20AF30A74 +:1007700097018601003D17402105310590F48091D5 +:10078000CF03C05CDE4F0FB6F894DEBF0FBECDBF07 +:10079000DF91CF911F910F91FF90EF90DF90CF905D +:1007A00008956093C7037093C8038093C90390931F +:1007B000CA031092C2031092C1031092C003109298 +:1007C000BF031092BE0362E08091C3030E94C00287 +:1007D00061E070E080E090E00E94590361E0809168 +:1007E000C3030E94C00260E08091C3030E946602BE +:1007F0008091C4038551823020F58BE291E101970D +:10080000F1F762E08091C3030E94C0028091D0039F +:1008100090E08230910538F0880F991F880F991F5A +:1008200005970197F1F7F89480E00E94EA006F3F86 +:100830007F4F8F4F9F4F61F41092CF03789480E0E9 +:10084000A0CF64E170E080E090E00E945903D9CF2E +:1008500081E00E94EA006F3F7F4F8F4F9F4F61F30F +:100860008E010F5F1F4F6E012FEBC21A2EEFD20ABF +:10087000780180E00E94EA00F7016083718382833F +:10088000938381E00E94EA00F70164837583868385 +:100890009783F8E0EF0EF11CEC14FD0451F7789407 +:1008A00030E020E0F801C080D180E280F380448114 +:1008B000558166817781FFEFCF16DF06EF06FF06D1 +:1008C00031F04F3F8FEF58076807780719F41092FF +:1008D000CF03B5CFF90183E0F595E7958A95E1F768 +:1008E000E254FC4F8081880FC416D506E606F70651 +:1008F00010F180832F5F3F4F085F1F4F2832310573 +:1009000089F64091C2032091BE038091BF03280F56 +:100910003327331F8091C003280F311D8091C103FD +:10092000820F932F911D99274817190681F681E0B0 +:100930008093CF0326CF8160DCCF2091F801260F72 +:100940003327331F21323105ECF420911E02FC01C4 +:1009500090E080E0243069F082E00895A091F801F1 +:100960002191AC014A525E4FA40FB52FB11D2C93BB +:100970000196861798F38091F801680F6093F8014B +:1009800080E0089581E0089510921E0281E0809336 +:10099000200210921F0261E082E10E94660261E083 +:1009A00083E10E946602E9EBF0E080818E7F808324 +:1009B00080818D7F808388E48093B80085E4809374 +:1009C000BC000895CF93DF9391E09093D5018823E5 +:1009D000B9F0C091B800D091BA008091BC008A7B78 +:1009E0008093BC0060E082E10E94660260E083E1E7 +:1009F0000E9466020E94C404D093BA00C093B8005B +:100A0000DF91CF910895089508950895E091CD0163 +:100A10008091CC01E81730F4F0E0E455FE4F80817E +:100A200090E008958FEF9FEF08959091CD01809110 +:100A3000CC012FEF3FEF981748F4E92FF0E0E45591 +:100A4000FE4F208130E09F5F9093CD01C901089552 +:100A50008091CC019091CD01891B990B0895CF9283 +:100A6000DF92EF92FF920F931F93CF93DF937C015E +:100A7000CB018A012091AB01222389F0EB016B01AC +:100A8000C40ED51ECC15DD0569F06991D701ED9135 +:100A9000FC910190F081E02DC7010995F3CF642FFF +:100AA0000E949D04C801DF91CF911F910F91FF908B +:100AB000EF90DF90CF900895CF93DF931F92CDB743 +:100AC000DEB769832091AB012223F9F02091CE019A +:100AD000203258F021E030E0FC013383228390E0A3 +:100AE00080E00F90DF91CF9108958091CF01E82FA2 +:100AF000F0E0E557FE4F998190838F5F8093CF019F +:100B00008093CE0181E090E0ECCF61E0CE010196D0 +:100B10000E949D04F7CFF894FC013297E331F10570 +:100B200008F030C0EA56FA4F0C944A1CA905A905F2 +:100B3000A905A905A905A905E005C405D005D8059D +:100B4000D805E005C205C205C205C205C205C20539 +:100B5000E80585E086BB82E080936F0010928700F5 +:100B60001092860010928B0010928A0010928900D9 +:100B700010928800109285001092840010928000DC +:100B8000809381007894089585E286BB82E080930B +:100B90006F002CEC3EE13093870020938600E2CF7B +:100BA00085E286BB82E080936F002EEC3EE1F3CFBE +:100BB00085E286BB82E080936F002FEC3EE1EBCFB5 +:100BC00085E286BB82E080936F0029EC3EE1E3CFB3 +:100BD000F89480917602809381008091750286BBA3 +:100BE0008091740280936F008091720290917302E1 +:100BF000909387008093860080917002909171029B +:100C000090938B0080938A0080916E0290916F0286 +:100C1000909389008093880080916C0290916D027E +:100C2000909385008093840080916B028093800074 +:100C30008091760280938100789410927702A2CFFF +:100C4000FC01EF57FD4F2081211105C091E09083F9 +:100C500061E00C94C0020895682F88ED92E00C9436 +:100C6000D0010F931F93CF93DF938B01D82FC92F00 +:100C700082E00E942C06C801AD2FBC2F8093870113 +:100C800090938801A0938901B0938A010E942C0659 +:100C9000812F0E942C068D2F0E942C068C2FDF9115 +:100CA000CF911F910F910C942C0642E050E063E825 +:100CB00071E088ED92E00C9430018FEF0E942C06D9 +:100CC00085E50E942C060C9455068FEF0E942C0699 +:100CD00085E50C942C06CF92DF92EF92FF920F9352 +:100CE0001F93CF93DF93FC01C48121E02093AB01DC +:100CF000C09386011092CF011092CE018385682B9C +:100D000085E793E00E945C05D091CE01D13208F0D6 +:100D100092C00E9434036B017C0180911E028111FC +:100D200065C082E080931E0281E0809320028FEFF5 +:100D300080931D0210924202D0934102ABE8B1E0D1 +:100D4000E1E2F2E080E0D81385C010924302809186 +:100D50004302CC0FC82BC093430280911F02813005 +:100D600009F07CC010921F020E9434036B017C01C9 +:100D7000809143028093BB008091D1019091D20178 +:100D8000A091D301B091D401892B8A2B8B2B99F0A0 +:100D90000E9434030091D1011091D2012091D3011E +:100DA0003091D4016C197D098E099F090617170728 +:100DB00028073907E0F18091BC0083FDD9CF85EC8D +:100DC0008093BC000E9434036B017C0180911E0261 +:100DD000823009F445C080911D028F3F61F18091FE +:100DE0001D02803241F180911D0225C08091D10108 +:100DF0009091D201A091D301B091D401892B8A2B7B +:100E00008B2B09F48ACF0E9434030091D1011091F9 +:100E1000D2012091D3013091D4016C197D098E0942 +:100E20009F09061717072807390708F076CF809122 +:100E3000D0010E94E2041092CF011092CE011092D4 +:100E4000AB01DF91CF911F910F91FF90EF90DF9059 +:100E5000CF9008959D9191938F5F75CF85EEB0CF20 +:100E60008091D1019091D201A091D301B091D40190 +:100E7000892B8A2B8B2B09F4A9CF0E943403009174 +:100E8000D1011091D2012091D3013091D4016C197C +:100E90007D098E099F09061717072807390708F0EB +:100EA00095CFC5CF089590E080E008950F931F93EC +:100EB000CF938C01C62F0E946B066C2F6460C80113 +:100EC0000E946B066C2F6B7FC8010E946B0683EC3F +:100ED00090E00197F1F7CF911F910F9108950F9333 +:100EE0001F93CF93DF938C01D62FC42F607F642B89 +:100EF0000E94560780E1D89FB00111246C2BC801D5 +:100F0000DF91CF911F910F910C94560740E061E063 +:100F100082EB93E00E946F078BE39FE10197F1F76B +:100F20000895CF93DF93CDB7DEB728970FB6F89427 +:100F3000DEBF0FBECDBF98E0EDE0F1E0DE0111961F +:100F400001900D929A95E1F79091BA03961710F4DB +:100F50006FEF690F262F30E0220F331F41E050E082 +:100F60004C0F5D1F240F351FF9016081680F606809 +:100F700040E082EB93E028960FB6F894DEBF0FBEF8 +:100F8000CDBFDF91CF910C946F0741E00E946F07B6 +:100F900081E090E008950F931F93CF93DF938B012F +:100FA00098E0899FB0011124606440E082EB93E0F7 +:100FB0000E946F07E801085F1F4F699182EB93E081 +:100FC0000E94C507C017D107C1F7DF91CF911F91CC +:100FD0000F91089565E471E080E00E94CB076DE316 +:100FE00071E081E00E94CB0765E371E082E00E943E +:100FF000CB076DE271E083E00E94CB0765E271E010 +:1010000084E00E94CB076DE171E085E00E94CB0790 +:1010100065E171E086E00E94CB0765E171E087E061 +:101020000C94CB07FC0180819181009711F00C9406 +:10103000F31C08950F931F93CF93DF938C0180913E +:10104000F5039091F6030E94F31C9091FA038091AE +:10105000F703981721F184E090E0809FE001819FE1 +:10106000D00D909FD00D1124D093F103C093F003C5 +:10107000CE010E94571C9093F6038093F5030097CE +:1010800089F0AE0170E060E00E94421E1093EF0311 +:101090000093EE03DF91CF911F910F91089583E0AC +:1010A00090E0DBCF1092F1031092F0031092EF0367 +:1010B0001092EE03EFCF0F931F93CF93DF93EC01CA +:1010C00088819981009759F02A813B81261737073B +:1010D00030F081E0DF91CF911F910F9108958B0146 +:1010E0006F5F7F4F0E947C1D009759F09983888322 +:1010F0001B830A832C813D81232B59F7FC0110822D +:10110000E8CF80E0E7CFAF92BF92CF92DF92EF922D +:10111000FF920F931F93CF93DF9300D0CDB7DEB72D +:101120008C015B01FC0111821082138212821582F4 +:10113000148270E060E00E945B08F8012081318138 +:1011400081113FC02115310519F0C9010E94F31C1E +:10115000F8011182108215821482138212828EEAA3 +:10116000E82E82E0F82EFAE0AF0EB11CE4EAF2E0DD +:10117000C701845A92408A159B055CF5F70180816E +:1011800089831A82F801C480D580FFEFCF1ADF0A65 +:10119000B601C8010E945B08882379F0F80120811C +:1011A000318184819581BE016F5F7F4F820F931FD4 +:1011B0000E94491EF801D582C482F70111927F0175 +:1011C000D5CF1582148265E871E0C9010E94491EDD +:1011D000C6CF119282E0EE3AF807D9F7C8010F9016 +:1011E0000F90DF91CF911F910F91FF90EF90DF90C3 +:1011F000CF90BF90AF90089585ED8093BC00809113 +:10120000D1019091D201A091D301B091D401079660 +:10121000A11DB11D23E0B695A795979587952A95B1 +:10122000D1F72091BC0024FD03C010921E02089546 +:101230004091D1015091D2016091D3017091D401BC +:10124000452B462B472B69F30097A105B10541F0CB +:1012500025E32A95F1F700000197A109B109E1CF33 +:101260008091D0010C94E204EF92FF920F931F93B0 +:10127000CF93DF93CDB7DEB728970FB6F894DEBFD4 +:101280000FBECDBF87E28093B6031092CD011092BE +:10129000CC011092CF011092CE010E94C40483E0D1 +:1012A00095E09093F7018093F60184E095E09093A8 +:1012B000FB018093FA011092B7038091BC03823046 +:1012C00018F098E09093B7038093BA0362E370E05C +:1012D00080E090E00E9459036091BD0382EB93E0AF +:1012E0000E946B0662E370E080E090E00E94590388 +:1012F00060E382EB93E00E9456070BE416E4C8011A +:101300000197F1F760E382EB93E00E945607C80172 +:101310000197F1F760E382EB93E00E94560783E5C3 +:1013200092E00197F1F760E282EB93E00E945607AA +:101330006091B703606240E082EB93E00E946F0728 +:1013400084E08093B80340E06CE082EB93E00E947D +:101350006F070E94860782E08093B90340E066E051 +:1013600082EB93E00E946F0740E062E082EB93E043 +:101370000E946F078BE39FE10197F1F788E080936C +:10138000BD0360E082EB93E00E946B0660E080E0CA +:101390000E949107809169028111D6C081E08093FB +:1013A000690290EEE92E90E0F92E10E048E050E05E +:1013B000B701CE0101960E94A219BE016F5F7F4F57 +:1013C000812F0E94CB0788E0E80EF11C1F5F1830C8 +:1013D00069F710E000E060E00115110521F004302C +:1013E000110521F461E086E00E949107602F82EBF5 +:1013F00093E00E94C5070F5F1F4F0830110559F792 +:1014000010E000E048E050E000FDABC068ED70E0A7 +:10141000CE0101960E94A219BE016F5F7F4F80E04E +:101420000E94CB0748E050E060ED70E0CE010196ED +:101430000E94A219BE016F5F7F4F83E00E94CB071D +:1014400048E050E068EC70E0CE0101960E94A219DD +:10145000BE016F5F7F4F85E00E94CB0748E050E000 +:1014600060EC70E0CE0101960E94A219BE016F5F90 +:101470007F4F86E00E94CB0760E086E00E949107E4 +:1014800060E082EB93E00E94C50760E089E00E9483 +:10149000910763E082EB93E00E94C50761E087E07B +:1014A0000E94910765E082EB93E00E94C50766E029 +:1014B00082EB93E00E94C5076CE370E080E090E06F +:1014C0000E9459030F5F1F4F0630110509F09ACF94 +:1014D00080E8E82E80E0F82E10E048E050E0B70108 +:1014E000CE0101960E94A219BE016F5F7F4F812F2E +:1014F0000E94CB0788E0E80EF11C1F5F183069F7E7 +:1015000010E000E0C801029760E00C9708F456C0B4 +:10151000802F0E94910760E282EB93E00E94C50752 +:1015200061E0802F0E94910760E282EB93E00E94CD +:10153000C5076FE070E080E090E00E9459030F5F04 +:101540001F4F00311105F1F628960FB6F894DEBF53 +:101550000FBECDBFDF91CF911F910F91FF90EF9004 +:10156000089560EE70E0CE0101960E94A219BE01BE +:101570006F5F7F4F80E00E94CB0748E050E068EF4C +:1015800070E0CE0101960E94A219BE016F5F7F4FED +:1015900083E00E94CB0748E050E068E071E0CE01B4 +:1015A00001960E94A219BE016F5F7F4F85E00E94E5 +:1015B000CB0748E050E060E171E054CF802F0E94FB +:1015C0009107F801EE58FF4F649182EB93E00E947F +:1015D000C50761E0802F0E949107F801EA59FF4F8B +:1015E0006491A3CF1F920F920FB60F9211242F93E5 +:1015F0003F934F935F936F937F938F939F93AF939B +:10160000BF93EF93FF938091550290915602A09162 +:101610005702B0915802892B8A2B8B2BD1F19091D4 +:101620005002E0915102F09152028081892780831B +:101630008091550290915602A0915702B0915802A4 +:10164000181619061A061B069CF4809155029091F3 +:101650005602A0915702B09158020197A109B10911 +:101660008093550290935602A0935702B09358026C +:10167000FF91EF91BF91AF919F918F917F916F916A +:101680005F914F913F912F910F900FBE0F901F9040 +:101690001895809100010E949402EACF1F920F9248 +:1016A0000FB60F9211242F933F934F935F936F9335 +:1016B0007F938F939F93AF93BF93EF93FF9388EDA7 +:1016C00092E00E94AE01FF91EF91BF91AF919F9187 +:1016D0008F917F916F915F914F913F912F910F90DB +:1016E0000FBE0F901F9018951F920F920FB60F927A +:1016F00011242F938F939F93EF93FF93E091E80230 +:10170000F091E9028081E091EE02F091EF0282FD1A +:101710001BC090818091F1028F5F8F732091F20244 +:10172000821741F0E091F102F0E0E852FD4F958F11 +:101730008093F102FF91EF919F918F912F910F90E4 +:101740000FBE0F901F9018958081F4CF1F920F92BB +:101750000FB60F9211242F933F938F939F93AF93C4 +:10176000BF938091460290914702A0914802B091A8 +:1017700049023091450223E0230F2D3758F5019699 +:10178000A11DB11D2093450280934602909347020C +:10179000A0934802B093490280914A0290914B0273 +:1017A000A0914C02B0914D020196A11DB11D8093F4 +:1017B0004A0290934B02A0934C02B0934D02BF910A +:1017C000AF919F918F913F912F910F900FBE0F90EE +:1017D0001F90189526E8230F0296A11DB11DD2CFA8 +:1017E0001F920F920FB60F9211242F933F934F9396 +:1017F0005F936F937F938F939F93AF93BF93CF9399 +:10180000DF93EF93FF9380914402C091A503D0E052 +:1018100087FF24C0109285001092840080914402BA +:101820008F5F8093440280914402082E000C990B34 +:101830008C179D0724F4809144028C30C4F1809170 +:10184000840090918500049680349C4908F47AC005 +:101850008091840090918500049676C08091440226 +:10186000082E000C990B8C179D07C4F6E0914402DA +:101870008E2FEE0F990BFC01EE0FFF1FE80FF91FE3 +:10188000EF57FC4F808186FFC9CFE09144028E2F35 +:10189000EE0F990BFC01EE0FFF1FE80FF91FEF573A +:1018A000FC4F808160E08F730E946602B7CF209169 +:1018B000840030918500E09144028E2FEE0F990B49 +:1018C000FC01EE0FFF1FE80FF91FEF57FC4F81815E +:1018D0009281820F931F9093890080938800E091FA +:1018E00044028E2FEE0F990BFC01EE0FFF1FE80F45 +:1018F000F91FEF57FC4F808186FF11C0E091440231 +:101900008E2FEE0F990BFC01EE0FFF1FE80FF91F52 +:10191000EF57FC4F808161E08F730E946602FF9158 +:10192000EF91DF91CF91BF91AF919F918F917F9177 +:101930006F915F914F913F912F910F900FBE0F903C +:101940001F90189580E49CE990938900809388000B +:101950008FEF80934402E3CF1F920F920FB60F9246 +:1019600011242F933F934F935F936F937F938F93A4 +:101970009F93AF93BF93EF93FF938091B900887FBC +:10198000803609F44AC0F0F5883209F4A7C018F58A +:10199000803109F49BC0B8F4882309F4F9C0883079 +:1019A00009F494C0FF91EF91BF91AF919F918F91F6 +:1019B0007F916F915F914F913F912F910F900FBE4B +:1019C0000F901F901895883109F488C0803251F724 +:1019D00080931D0214C0803409F49DC040F480330C +:1019E000B9F38833F9F680931D0285ECB0C08035D9 +:1019F00009F485C0883509F496C0883499F60E94A8 +:101A0000FC08D0CF883909F48CC038F5883729F024 +:101A100050F4883611F0803729F683E080931E0257 +:101A200010921C0257C0883809F47BC0803919F025 +:101A3000803809F0B7CF80911C02803208F071C065 +:101A4000E0911C0281E08E0F80931C028091BB000C +:101A5000F0E0E450FE4F80833DC0803B39F0E0F47D +:101A6000803A09F479C0883A09F09CCF84E08093E9 +:101A70001E021092F9011092F801E091F601F09126 +:101A8000F70109958091F80181110FC081E08093E1 +:101A9000F8011092D60109C0803C09F4A6CF883C19 +:101AA00009F4A3CF883B09F07DCFE091F90181E0F3 +:101AB0008E0F8093F901F0E0EA52FE4F808180930F +:101AC000BB009091F9018091F80129C080914302F7 +:101AD0008093BB0085EC8093BC0064CF9091420260 +:101AE00080914102981758F5E091420281E08E0FF3 +:101AF00080934202F0E0EF5DFD4F8081E9CFE091FD +:101B0000420281E08E0F809342028091BB00F0E0A0 +:101B1000EF5DFD4F808390914202809141029817C2 +:101B2000C8F285E8D8CFE091420281E08E0F809321 +:101B300042028091BB00F0E0EF5DFD4F8083809119 +:101B4000200281115CCF81E080931F0284EA8093A0 +:101B5000BC0010921E0226CF85EC8093BC00109230 +:101B60001E0280911C02803230F4E0911C02F0E0F1 +:101B7000E450FE4F108260911C0270E0E091FA0187 +:101B8000F091FB018CEF91E0099510921C020ACFB5 +:101B900010921D0234CFCF92DF92EF92FF920F93FB +:101BA0001F93E82FF92F05C00150110921093109B0 +:101BB00061F1908196239417B9F305C00150110982 +:101BC0002109310911F1908196239413F7CFC12C8B +:101BD000D12CE12CF12C0AC08FEFC81AD80AE80AE0 +:101BE000F80A0C151D052E053F0579F08081862326 +:101BF000841791F36C2D7D2D8E2D9F2D1F910F91AC +:101C0000FF90EF90DF90CF90089560E070E080E06B +:101C100090E01F910F91FF90EF90DF90CF9008958B +:101C2000CF93DF93EC01198218821B821A821D82E6 +:101C30001C8270E060E00E945B082881398181117C +:101C40000FC02115310519F0C9010E94F31C19823A +:101C500018821D821C821B821A82DF91CF91089507 +:101C60001D821C8265E871E0C901DF91CF910C945F +:101C7000491E1092DB021092DA0288EE93E0A0E097 +:101C8000B0E08093DC029093DD02A093DE02B0937B +:101C9000DF0227E531E03093D9022093D80225EC0A +:101CA00030E03093E5022093E40224EC30E03093FE +:101CB000E7022093E60220EC30E03093E902209323 +:101CC000E80221EC30E03093EB022093EA0222ECB0 +:101CD00030E03093ED022093EC0226EC30E03093BC +:101CE000EF022093EE021092F1021092F202109293 +:101CF000F3021092F402109278031092770380930B +:101D0000790390937A03A0937B03B0937C0389E6D5 +:101D100091E090937603809375031092ED031092F7 +:101D2000F4031092F6031092F5031092FB03109245 +:101D3000FC031092FD031092FE0381E08093FA03EE +:101D40008093F7031092F80392E09093F903809345 +:101D5000EC0382E090E00E941A0888E090E00E9484 +:101D6000FC02E4EDF3E02CEE33E04FEF68EB7BE0B8 +:101D70008091A5038C3008F06AC091E0980F909391 +:101D8000A503808390E0DC01AA0FBB1FA80FB91F39 +:101D9000AF57BC4F12967C936E93119733962E17C4 +:101DA0003F0731F78091A5038C3008F052C091E0D5 +:101DB000980F9093A5038093D10390E0FC01EE0F60 +:101DC000FF1FE80FF91FEF57FC4F88EB9BE0928352 +:101DD000818390910601809105018093C3039093C4 +:101DE000C40390E0FC01E959FE4FE491E093C50380 +:101DF000FC01ED5AFE4FE491E093C60380E89EE3B8 +:101E0000A0E0B0E08093CB039093CC03A093CD03EC +:101E1000B093CE031092B5031092B4038BE791E018 +:101E20009093B3038093B20387E28093B60380E17B +:101E30008093BB0382E08093BC031092BD038CEAC5 +:101E400093E00E94100E86EA93E00C94100E4083FB +:101E5000A5CF8FEF8093D103BCCFCF93DF93CDB7C6 +:101E6000DEB763970FB6F894DEBF0FBECDBF789490 +:101E700084B5826084BD84B5816084BD85B582608F +:101E800085BD85B5816085BD80916E008160809340 +:101E90006E001092810080918100826080938100A9 +:101EA00080918100816080938100809180008160B9 +:101EB000809380008091B10084608093B100809114 +:101EC000B00081608093B00080917A00846080933C +:101ED0007A0080917A00826080937A0080917A0003 +:101EE000816080937A0080917A00806880937A0084 +:101EF0001092C100E091E802F091E90282E0808353 +:101F0000E091E402F091E5021082E091E602F091A6 +:101F1000E70280E180831092F002E091EC02F09100 +:101F2000ED0286E08083E091EA02F091EB0280818D +:101F300080618083E091EA02F091EB028081886009 +:101F40008083E091EA02F091EB02808180688083D7 +:101F5000E091EA02F091EB0280818F7D808312E0B4 +:101F600061E0812F0E94C00260E0812F0E94660222 +:101F70001F5F1E30A9F70E9434098091F2039091EF +:101F8000F30397FD08C061E00E94C00260E0809109 +:101F9000F2030E94660281E08093ED03809180004D +:101FA00080936B028091810080937602F89486B3CF +:101FB0008093750280916F008093740280918600F7 +:101FC00090918700909373028093720280918A00AF +:101FD00090918B00909371028093700280918800A1 +:101FE0009091890090936F0280936E02809184009B +:101FF0009091850090936D0280936C02789401E03B +:102000002AE2222E21E0322E88ED92E00E948E01FB +:10201000892B09F4DBC688ED92E00E948E01181628 +:10202000190694F788ED92E00E946C0190917B0272 +:10203000853509F05AC0911158C080917A028F3FBE +:1020400021F40093790200937B02809179028F5FE3 +:10205000843308F062C08093790280917B028823E8 +:1020600099F2809178028111CFCF809179028430EA +:1020700058F210927B028091A9027090AA02E72C7C +:10208000F12C2091A802223009F48AC0233009F4EF +:102090009AC6213039F5873009F061C01091AB0242 +:1020A000812F90E03091800231113CC0209380025A +:1020B0007092040110930301F701EF57FD4F208345 +:1020C0008F579D4FFC01208361E0872D0E94C00245 +:1020D00060E0812F0E94C00262E370E080E090E047 +:1020E0000E945903109279028FCF80937A0299232C +:1020F00009F4ABCFE0917902E23039F480937802B1 +:10210000F0E0EC55FD4F8083A0CFE330C8F3909111 +:102110007802915090937802F3CF10927902109246 +:102120007B029BCFA0910401E09103017A1202C0CF +:10213000E117C1F2B0E0AF57BD4F1C92F0E0EF578E +:10214000FD4F10827092040110930301F701EF57C5 +:10215000FD4F00838F579D4FFC010083B5CFF701E2 +:10216000EF57FD4F1092800210927C0210927D0278 +:1021700010927E0210927F0210828A3139F480918F +:10218000A2028111AFCF0093A202ACCF8B3109F034 +:10219000A9CF8091A1028111A5CF0093A102A2CF66 +:1021A00090910401791621F09091030179120AC0EF +:1021B0001092800210927C0210927D0210927E0298 +:1021C00010927F028931E1F090910501791218C0D7 +:1021D000F701EF57FD4F10821092A2021092950264 +:1021E0001092960210929702109298021092A102F9 +:1021F0001092990210929A0210929B0210929C02E5 +:10220000EFEFE80FE93108F09DC00E2E000CFF0B38 +:10221000E45FFE4E0C944A1C2511A2112E11C81326 +:10222000C411A211A211A314A514BB14BF14D91474 +:102230009B140F161816E3164416A211A211A21130 +:10224000A211A211A211A2119A16C7010E94200682 +:102250006091AB02872D0E94660274C0C7010E9484 +:1022600020061091AB02C12ED12C809177028130D3 +:10227000B9F5F8948091760280938100809175027F +:1022800086BB8091740280936F008091720290915E +:1022900073029093870080938600809170029091E2 +:1022A000710290938B0080938A0080916E029091CE +:1022B0006F02909389008093880080916C029091C6 +:1022C0006D02909385008093840080916B028093CF +:1022D000800080917602809381007894109277023A +:1022E00061E0872D0E94C002111102C060E0B2CFF0 +:1022F000FFEFCF16D10411F461E0ACCFF701E55D3B +:10230000FE4FE491E33031F148F4E130B9F0E230CE +:10231000E1F020E8C216D1047CF7E8CFE73021F1E4 +:10232000E83051F1E430A9F7809180008062809319 +:102330008000D0928B00C0928A0004C084B580686F +:1023400084BD17BD0E945D06CDCE84B5806284BD7C +:1023500018BDF8CF80918000806880938000D09273 +:102360008900C0928800EECF8091B0008068809391 +:10237000B0001093B300E6CF8091B00080628093EC +:10238000B0001093B400DECFC7010E9420068091F8 +:10239000AB0280934E028091AC0280934F028091F9 +:1023A0004E0290914F02998B888B8091AD02809361 +:1023B0004E028091AE0280934F02E0914E02F09166 +:1023C0004F02FB8BEA8B1E161F060CF0DDC18091BD +:1023D0000001871177C0F101149117FDB3CF61E0BF +:1023E000872D0E94C0021123B1F028893989290163 +:1023F000712C612C60E072E18AE790E0A3010E94F9 +:10240000CF1A69017A0171E0C71AD108E108F10811 +:10241000123009F076C1888999892C01712C612CC0 +:1024200060E072E18AE790E0A30192010E94CF1A76 +:1024300049015A017A01690191E0C91AD108E108FC +:10244000F108EFEFCE16D104E104F10409F00CF429 +:102450002BC160E472E48FE090E0A30192010E943E +:10246000CF1A69017A01F1E0CF1AD108E108F10829 +:10247000123009F09DC082E02FEFC216D104E104B2 +:10248000F104C9F0C4F060E970ED83E090E0A301CD +:1024900092010E94CF1A69017A0171E0C71AD1082E +:1024A000E108F1088FEFC816D104E104F10411F03E +:1024B0000CF017C783E09091B100987F892B80932F +:1024C000B100F9C08F3F09F03DCF70920001F101DA +:1024D00014911F3F09F436CF113031F150F0123012 +:1024E00009F442C017FD2ECF61E0872D0E94C00283 +:1024F0007CCF14BC15BC84B5826084BD85B5816079 +:1025000085BDF701ED5AFE4FE491F0E0EE0FFF1F9D +:10251000E15CFE4F85919491F701E959FE4FE491FA +:10252000E093540210E05BCF109280001092810083 +:10253000809181008860809381008091810081601A +:1025400080938100F701ED5AFE4FE491F0E0EE0F29 +:10255000FF1FE15CFE4F85919491F701E959FE4F11 +:10256000E491E09353023BCF1092B0001092B1007F +:102570008091B00082608093B0008091B100816052 +:102580008093B100F701ED5AFE4FE491F0E0EE0FB9 +:10259000FF1FE15CFE4F85919491909352028093CE +:1025A0005102F701E959FE4FE491E093500217CF31 +:1025B0009FEFC916D104E104F10409F00CF49FC0A7 +:1025C00068E478EE81E090E0A30192010E94CF1AC6 +:1025D00069017A01E1E0CE1AD108E108F10884E04E +:1025E000111141C083E0FFEFCF16D104E104F104E3 +:1025F00009F00CF45CC062E17AE780E090E0A301AE +:1026000092010E94CF1A69017A0191E0C91AD1089A +:10261000E108F10884E0EFEFCE16D104E104F10403 +:1026200009F008F444C0750164012AE0F594E794C8 +:10263000D794C7942A95D1F721E0C21AD108E108AE +:10264000F10885E034C064E274EF80E090E0A3011B +:1026500092010E94CF1A69017A01F1E0CF1AD108E4 +:10266000E108F10885E09FEFC916D104E104F10407 +:1026700009F008F420CF62E17AE780E090E0A3015E +:1026800092010E94CF1A69017A0171E0C71AD1083C +:10269000E108F1088FEFC816D104E104F10411F04C +:1026A00008F00FC686E007CF81E0111104CF95B581 +:1026B000987F892B85BD28893989220F331FAA89E4 +:1026C000BB890E94501C28EE33E040E050E00E949D +:1026D000301B1130B9F1123009F446C0111132CE5D +:1026E000C7BC20935D0230935E0240935F0250931B +:1026F000600280916E00826080936E0023CE82E043 +:10270000D4CF91E0C114D10421E0E206F10484F0B9 +:1027100068E478EE81E090E0A30192010E94CF1A74 +:1027200069017A0171E0C71AD108E108F10893E064 +:10273000113009F0C0CF80918100887F892B809370 +:102740008100B9CFD0928900C092880020935902AD +:1027500030935A0240935B0250935C0280916F0069 +:10276000826080936F00EECDC092B300209355023B +:102770003093560240935702509358028091700054 +:10278000826080937000DECD872D0E949402DACDA6 +:10279000C7010E942006B090AB02B11007C0809123 +:1027A0007702811103C0C7010E948B05EB2DE15018 +:1027B000FF0BE43BF10508F0C5CD65E070E080E07B +:1027C00090E00E945903E1E6F2E090E080E0219180 +:1027D0002E151F0431F02111A6C0FC01EF59FD4F49 +:1027E0007082FC01EE0FFF1FE80FF91FEC52FC4F47 +:1027F0001081818192811C3008F03FC061E0872DFB +:102800000E94C002812F90E0AC01440F551FFA01D5 +:10281000E80FF91FEF57FC4F272D2F73722E2081E1 +:10282000207C722A708230E020E0F901EE0FFF1F59 +:10283000E20FF31FEF57FC4F608166FD14C02F5F5E +:102840003F4F2C30310589F71092800022E0209311 +:1028500081001092850010928400B19A20916F003F +:10286000226020936F00840F951FFC01EF57FC4FEF +:1028700080818064808390E080E0B8E5CB2EB2E078 +:10288000DB2EC91AD10897FDD394CC0CDD1CCC0CDF +:10289000DD1C28E8E22EF12CE81AF10887FDF394FC +:1028A000EE0CFF1CEE0CFF1C27010F2C000C660821 +:1028B0007708AB2DA53B08F0A4EB96010D2C000C7E +:1028C000440B550B2419350946095709B0E00E94FD +:1028D000EE1A24EB30E040E050E00E94CF1A420EA6 +:1028E000531E641E751E1C30D8F44E145F042CF069 +:1028F00076014C145D040CF4720132E0E31AF10825 +:10290000EE0CFF1C2FB7F894812F90E0FC01EE0F26 +:10291000FF1FE80FF91FEF57FC4FF282E1822FBF34 +:10292000009377020FCD01968830910509F04FCFC3 +:1029300090E080E056CFC7010E94200684E190E03D +:102940000E948B05FFCC0E948B038091AB028F3FCE +:1029500009F0F8CC64E670E080E090E00E94590352 +:1029600088E19EE00FB6F894A895809360000FBEB2 +:1029700090936000E7CCC7010E942006E3CCC7011A +:102980000E9420061091AB0280910201781629F076 +:10299000C7010E94FC027092020180910101181788 +:1029A00009F4D0CC812F90E00E941A081093010105 +:1029B000C9CCC7010E942006D090AB02B090AD02F6 +:1029C0001091AF02C090B10280910201781629F0F7 +:1029D000C7010E94FC02709202012D2D30E080910F +:1029E000EE039091EF032817390708F04CC0812FB0 +:1029F00090E0B0E0A0E0BA2FA92F982F8827AB294C +:102A00008C292D0166247724442D892E9A2EAB2EF5 +:102A1000BB24682D582FE091F403EE2391F06E2F24 +:102A200070E0649DA001659D500D749D500D1124B2 +:102A3000452FE89D40011124692DE89FC001112414 +:102A4000592FE091FA038091F5039091F60370916C +:102A5000F703E713A0C09C0173E0D79E200D311D42 +:102A60001124E091F703E20FF32FF11D4083E09171 +:102A7000F803E20FF32FF11D60838091F903280F13 +:102A8000311DF90150838091F5039091F603892B54 +:102A900009F458CCC090FB03D090FC03E090FD03F8 +:102AA000F090FE030E9434036C157D058E059F0592 +:102AB00050F40E9434036093FB037093FC038093F3 +:102AC000FD039093FE030E943403C090FB03D0905B +:102AD000FC03E090FD03F090FE036C197D098E0964 +:102AE0009F096C32714081059105A0F2F8948091A4 +:102AF000F0039091F10398878F83E091F503F091B3 +:102B0000F603DF01119680818F879091EC03E091AD +:102B1000FF03F091000480910104992309F446C059 +:102B20009081982B9E879081809589238D878D85B4 +:102B30008A8788E089874E855D856F8539852A85F6 +:102B40008F819885408367FD242F3A952083252F18 +:102B500039F0661F00C000005083000000C0F2CFB3 +:102B600038E06D9150830000019761F7F093000405 +:102B7000E093FF036F8739872A8798878F8378943C +:102B80000E9434036093FB037093FC038093FD0366 +:102B90009093FE03D7CB220F331F220F331F280F32 +:102BA000391FE20FF32FF11D10825BCF9081982B1C +:102BB0009E879081809589238D878D858C8788E07D +:102BC0008B874E855D856F853B852C858F819885AC +:102BD000408367FD242F00C000C0208300C000C0D8 +:102BE00000C000C000C050830000252F3A9541F07E +:102BF000661F000000C000C000C000C000C0E8CFD9 +:102C000038E06D9100C0508300C0019709F7F09340 +:102C10000004E093FF036F873B872C87AECF809142 +:102C20006A0281118FCB00936A020E9434098ACB19 +:102C3000E090AB02F090AC021091AD02612F70E019 +:102C4000CE0101960E948308111102C00E948607DE +:102C500080916902813039F40E9486070E94EA0758 +:102C600082E0809369026E2D8F2D0E9491074D8125 +:102C70005E8169817A8182EB93E00E943001CE010E +:102C800001960E9412085ECBF090AB021091AC024C +:102C90006091AD0270E0CE0101960E9483088091A0 +:102CA0006902813039F40E9486070E94EA0782E0B7 +:102CB000809369026F2D812F0E949107CE010196AA +:102CC0000E942201FC01808160E0813371F1CE011C +:102CD00001960E942201FC01808161E0823329F18A +:102CE000CE0101960E942201FC01808162E08333C3 +:102CF000E1F0CE0101960E942201FC01808163E097 +:102D0000843399F0CE0101960E942201FC0180815A +:102D100064E0853351F0CE0101960E942201FC014E +:102D20008081863309F0ABCF65E082EB93E00E94AF +:102D3000C507A5CFC7010E9420068091AB029FEF77 +:102D4000980F9631C8F0F701EF57FD4F108210929F +:102D5000A20210929502109296021092970210927F +:102D600098021092A1021092990210929A02109267 +:102D70009B0210929C02E6CA7092050180930601A4 +:102D80008091A20281111AC08091A102811116C006 +:102D900062E08091C3030E94C0020E948B03605DC9 +:102DA0007740810991096093C7037093C8038093AA +:102DB000C9039093CA0387E38093D0030093A202D0 +:102DC0000093A102BFCA0E948607BCCA6AE070E0F5 +:102DD00080E090E00E945903B1E8EB2EB2E0FB2EB8 +:102DE00010E000E0F70181917F0181113CC0B02E1D +:102DF00060E0802F0E94C0020E946506F801E55D38 +:102E0000FE4F8491F801E959FE4FC490F801ED5A44 +:102E1000FE4FD49070E060E0DD2099F081110E94B7 +:102E20003D02ED2DF0E0EE0FFF1FE75BFE4FA59199 +:102E3000B491EC91CE2291E080E009F490E0692F0A +:102E4000782F072E000C880B990B0E94B2190E9454 +:102E500031068B2D0E942C0681E00E942C060E94D8 +:102E600055060E945D060F5F1F4F0431110509F0E2 +:102E7000B9CF0DE411E0F12CF80181918F0181119E +:102E800027C00E9465068F2D806480937C0080910E +:102E90007A00806480937A0080917A0086FDFCCF6E +:102EA0008091780060917900762F682F072E000CB2 +:102EB000880B990B0E94B2190E9431068F2D0E9437 +:102EC0002C0682E00E942C060E9455060E945D0698 +:102ED000F394F6E0FF12D0CF80918002882309F4AA +:102EE0006DC01091040160E0812F0E94660283E0B2 +:102EF00090E00197F1F761E0812F0E94660283E282 +:102F000090E00197F1F760E0812F0E9466028091C6 +:102F1000030190E0FC01E959FE4F6491FC01ED5A78 +:102F2000FE4FE491F0E0EE0FFF1FE75BFE4F85914F +:102F3000949100E315E720E030E0462F0E94CB0D8E +:102F4000611571058105910529F06F5F7F4F8F4FE6 +:102F50009F4F9F700E94B01920E030E048EE51E48E +:102F60000E94CE1B20E030E040E05FE30E94111A97 +:102F70006B017C0120E030E0A9010E94AB198111B6 +:102F800051C0C0907C02D0907D02E0907E02F09013 +:102F90007F020E946506C701B6010E94310680913A +:102FA00004010E942C06809103010E942C0687E0F8 +:102FB0000E942C060E9455060E945D061091A202F6 +:102FC000111105C08091A102882309F449C10E9412 +:102FD0008B03C0909D02D0909E02E0909F02F090E3 +:102FE000A0026C197D098E099F096A3F7105810550 +:102FF000910508F435C1112309F486C00E94970396 +:10300000882309F464C08091C4038C3009F498C00B +:1030100090F48B3049F1C12CD12C40ECE42E4FE7D9 +:10302000F42E4CC0C0927C02D0927D02E0927E02CF +:10303000F0927F02AECF8551823068F71091C003C5 +:10304000612F70E0762F662766277F778091C10316 +:10305000682B90E080E00E94B0192DEC3CEC4CEC29 +:103060005DE30E94111A88C06091C00370E090E097 +:1030700080E00E94B0196B017C011091C10317FF21 +:103080000AC0AC019B0160E070E080E89FEB0E9409 +:10309000611B6B017C011F70612F70E090E080E08C +:1030A0000E94B2192DEC3CEC4CEC5DE30E94111A2D +:1030B000A70196010E94621B6B017C01A70196018A +:1030C000C701B6010E94451C882309F45EC0C09068 +:1030D0009502D0909602E0909702F09098020E949C +:1030E0006506C701B6010E943106809105010E9464 +:1030F0002C06809106010E942C068AE10E942C0673 +:103100000E9455060E945D068091A102882309F461 +:103110009DC00E949703882309F47BC08091C4035B +:103120008B3038F08D3008F44DC08551823008F472 +:10313000ADC0C12CD12C30ECE32E3FE7F32E60C0A4 +:103140001091C003612F70E090E080E00E94B01900 +:103150006B017C016091C1036F7070E090E080E0D2 +:103160000E94B2192DEC3CEC4CEC5DE30E94111A6C +:10317000A70196010E94621B6B017C0117FF9ECF85 +:10318000F7FAF094F7F8F09499CF20E030E040E2BD +:1031900051E4C701B6010E94401C181654F420E007 +:1031A00030E040E050E4C701B6010E94611B6B01B2 +:1031B0007C01C0929502D0929602E0929702F09222 +:1031C00098028DCF6091BF0370E090E080E00E9494 +:1031D000B2192DEC3CEC4CEC5DE30E94111A6B0132 +:1031E0007C016091BE0370E090E080E00E94B21923 +:1031F0009B01AC01C701B6010E94621B6B017C01FF +:10320000A7019601C701B6010E94451C882309F455 +:103210004FC0C0909902D0909A02E0909B02F0902B +:103220009C020E946506C701B6010E94310680918A +:1032300005010E942C06809106010E942C068BE15C +:103240000E942C060E9455060E945D060E948B0378 +:1032500060939D0270939E0280939F029093A002C0 +:103260006AE070E080E090E00E94590380E090E026 +:10327000892B11F40C94FF0F0E949A01882311F4FA +:103280000C94FF0F0E9400000C94FF0F6091BE038E +:103290007091BF0376276727762790E080E00E9431 +:1032A000B0192DEC3CEC4CEC5DE30E94111AA6CF5A +:1032B000C0929902D0929A02E0929B02F0929C02F4 +:1032C000B0CF750164019AE0F594E794D794C79460 +:1032D0009A95D1F731E0C31AD108E108F10887E0E7 +:1032E000EAC868E478EE81E090E0A30192010E94D0 +:1032F000CF1A69017A0171E0C71AD108E108F10813 +:103300008FEFC816D104E104F10411F00CF09BC951 +:1033100084E0D1C886EA93E00E9412088CEA93E028 +:103320000E9412088091F5039091F6030E94F31C0D +:103330008091F2039091F30397FD03C060E00C9439 +:10334000C0020895FB01DC0102C005900D924150BE +:103350005040D8F708950E94ED1908F481E00895CF +:10336000E89409C097FB3EF490958095709561951F +:103370007F4F8F4F9F4F9923A9F0F92F96E9BB27D5 +:103380009395F695879577956795B795F111F8CF51 +:10339000FAF4BB0F11F460FF1BC06F5F7F4F8F4FBC +:1033A0009F4F16C0882311F096E911C0772321F0B2 +:1033B0009EE8872F762F05C0662371F096E8862F4A +:1033C00070E060E02AF09A95660F771F881FDAF7A1 +:1033D000880F9695879597F90895990F0008550FCE +:1033E000AA0BE0E8FEEF16161706E807F907C0F08B +:1033F00012161306E407F50798F0621B730B840B93 +:10340000950B39F40A2661F0232B242B252B21F46C +:1034100008950A2609F4A140A6958FEF811D811D0C +:1034200008950E94241A0C94951A0E94871A38F065 +:103430000E948E1A20F0952311F00C947E1A0C94A1 +:10344000841A11240C94C91A0E94A61A70F3959F2D +:10345000C1F3950F50E0551F629FF001729FBB278B +:10346000F00DB11D639FAA27F00DB11DAA1F649F27 +:103470006627B00DA11D661F829F2227B00DA11DDA +:10348000621F739FB00DA11D621F839FA00D611D60 +:10349000221F749F3327A00D611D231F849F600D81 +:1034A000211D822F762F6A2F11249F5750409AF0AA +:1034B000F1F088234AF0EE0FFF1FBB1F661F771F36 +:1034C000881F91505040A9F79E3F510580F00C9401 +:1034D0007E1A0C94C91A5F3FE4F3983ED4F38695A4 +:1034E00077956795B795F795E7959F5FC1F7FE2BA1 +:1034F000880F911D9695879597F9089597F99F677D +:1035000080E870E060E008959FEF80EC089500246B +:103510000A941616170618060906089500240A9438 +:1035200012161306140605060895092E0394000CBE +:1035300011F4882352F0BB0F40F4BF2B11F460FF4D +:1035400004C06F5F7F4F8F4F9F4F089557FD905876 +:10355000440F551F59F05F3F71F04795880F97FB57 +:10356000991F61F09F3F79F0879508951216130611 +:103570001406551FF2CF4695F1DF08C01616170640 +:103580001806991FF1CF8695710561050894089575 +:10359000E894BB2766277727CB0197F90895052E76 +:1035A00097FB1EF400940E94E61A57FD07D00E9474 +:1035B000301B07FC03D04EF40C94E61A509540954E +:1035C000309521953F4F4F4F5F4F089590958095CF +:1035D000709561957F4F8F4F9F4F08950E94521BAA +:1035E000A59F900DB49F900DA49F800D911D112457 +:1035F00008952F923F924F925F926F927F928F9297 +:103600009F92AF92BF92CF92DF92EF92FF920F9371 +:103610001F93CF93DF93CDB7DEB7CA1BDB0B0FB67B +:10362000F894DEBF0FBECDBF09942A883988488838 +:103630005F846E847D848C849B84AA84B984C884CE +:10364000DF80EE80FD800C811B81AA81B981CE0FC5 +:10365000D11D0FB6F894DEBF0FBECDBFED010895AA +:10366000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F86 +:10367000EE1FFF1FA217B307E407F50720F0A21BF8 +:10368000B30BE40BF50B661F771F881F991F1A9465 +:1036900069F760957095809590959B01AC01BD018F +:1036A000CF010895A29FB001B39FC001A39F700DE9 +:1036B000811D1124911DB29F700D811D1124911D3A +:1036C00008955058BB27AA270E94791B0C94951A7D +:1036D0000E94871A38F00E948E1A20F039F49F3F1A +:1036E00019F426F40C94841A0EF4E095E7FB0C947C +:1036F0007E1AE92F0E94A61A58F3BA1762077307B9 +:103700008407950720F079F4A6F50C94C81A0EF4F6 +:10371000E0950B2EBA2FA02D0B01B90190010C01E1 +:10372000CA01A0011124FF27591B99F0593F50F4F9 +:10373000503E68F11A16F040A22F232F342F442751 +:10374000585FF3CF469537952795A795F040539549 +:10375000C9F77EF41F16BA0B620B730B840BBAF019 +:103760009150A1F0FF0FBB1F661F771F881FC2F784 +:103770000EC0BA0F621F731F841F48F48795779598 +:103780006795B795F7959E3F08F0B0CF9395880F52 +:1037900008F09927EE0F9795879508950E94E21BF0 +:1037A0000C94951A0E948E1A58F00E94871A40F0C5 +:1037B00029F45F3F29F00C947E1A51110C94C91A18 +:1037C0000C94841A0E94A61A68F39923B1F3552326 +:1037D00091F3951B550BBB27AA2762177307840724 +:1037E00038F09F5F5F4F220F331F441FAA1FA9F3BA +:1037F00035D00E2E3AF0E0E832D091505040E695A8 +:10380000001CCAF72BD0FE2F29D0660F771F881F08 +:10381000BB1F261737074807AB07B0E809F0BB0BFB +:10382000802DBF01FF2793585F4F3AF09E3F51050F +:1038300078F00C947E1A0C94C91A5F3FE4F3983E1A +:10384000D4F3869577956795B795F7959F5FC9F7F8 +:10385000880F911D9695879597F90895E1E0660F79 +:10386000771F881FBB1F621773078407BA0720F0F2 +:10387000621B730B840BBA0BEE1F88F7E09508955B +:103880000E94ED1908F48FEF08950E94ED19880B3E +:10389000990B0895EE0FFF1F0590F491E02D099408 +:1038A0000E94521BB7FF0895821B930B08950F933C +:1038B0001F93CF93DF938230910510F482E090E064 +:1038C000E0910404F091050430E020E0B0E0A0E0D5 +:1038D000309799F42115310509F44AC0281B390B9A +:1038E00024303105D8F58A819B816115710589F1F4 +:1038F000FB0193838283FE0111C0408151810281CB +:10390000138148175907E0F04817590799F41097A1 +:1039100061F012960C93129713961C933296CF0176 +:10392000DF91CF911F910F9108950093040410939C +:103930000504F4CF2115310551F04217530738F033 +:10394000A901DB019A01BD01DF01F801C1CFEF013F +:10395000F9CF9093050480930404CDCFFE01E20FCC +:10396000F31F819391932250310939832883D7CF54 +:103970002091020430910304232B41F4209109018A +:1039800030910A013093030420930204209107012F +:10399000309108012115310541F42DB73EB7409112 +:1039A0000B0150910C01241B350BE0910204F091A6 +:1039B0000304E217F307A0F42E1B3F0B2817390767 +:1039C00078F0AC014E5F5F4F2417350748F04E0F7B +:1039D0005F1F5093030440930204819391939FCF00 +:1039E000F0E0E0E09CCFCF93DF930097E9F0FC019B +:1039F000329713821282A0910404B0910504ED0164 +:103A000030E020E01097A1F420813181820F931FD4 +:103A100020910204309103042817390709F061C08E +:103A2000F0930304E0930204DF91CF910895EA013B +:103A3000CE17DF07E8F54A815B819E0141155105EC +:103A4000B1F7E901FB83EA8349915991C40FD51F6E +:103A5000EC17FD0761F4808191810296840F951F18 +:103A6000E90199838883828193819B838A83F0E033 +:103A7000E0E012968D919C9113970097B9F52D91E6 +:103A80003C911197CD010296820F931F2091020461 +:103A9000309103042817390739F6309751F5109201 +:103AA000050410920404B0930304A0930204BCCF55 +:103AB000D383C28340815181840F951FC817D907D2 +:103AC00061F44E5F5F4F88819981480F591F518380 +:103AD00040838A819B81938382832115310509F07C +:103AE000B0CFF0930504E09304049ECFFD01DC0108 +:103AF000C0CF13821282D7CFB0E0A0E0E2E8FDE1B0 +:103B00000C94FB1A8C01009751F4CB010E94571CB6 +:103B10008C01C801CDB7DEB7E0E10C94171BFC01A6 +:103B2000E60FF71F9C0122503109E217F30708F452 +:103B30009DC0D901CD91DC911197C617D70798F098 +:103B4000C530D10530F3CE0104978617970708F3E7 +:103B5000C61BD70B2297C193D1936D937C93CF0152 +:103B60000E94F31CD6CF5B01AC1ABD0A4C018C0E2F +:103B70009D1EA0910404B0910504512C412CF12C00 +:103B8000E12C109731F5809102049091030488157F +:103B9000990509F05CC04616570608F058C0809198 +:103BA000070190910801009741F48DB79EB74091AD +:103BB0000B0150910C01841B950BE817F90708F0D5 +:103BC00055C0F0930304E0930204F901718360830C +:103BD000A0CF8D919C91119712966C90129713968D +:103BE0007C901397A815B90559F56C0142E0C40EF5 +:103BF000D11CCA14DB0420F1AC014A195B09DA01BB +:103C00001296159780F06282738251834083D901A6 +:103C10006D937C93E114F10471F0D7011396FC933A +:103C2000EE93129776CF22968C0F9D1FF901918308 +:103C30008083F301EFCFF0930504E093040469CF90 +:103C40004816590608F42C017D01D3019ACFCB0107 +:103C50000E94571C7C01009749F0AE01B8010E94F8 +:103C6000391EC8010E94F31C870153CF10E000E009 +:103C700050CFFB01DC0102C001900D924150504039 +:103C8000D8F70895DC0101C06D9341505040E0F732 +:103C90000895FB01DC0101900D920020E1F70895E9 +:103CA00010E0CFEBD0E004C0FE010E944A1C219638 +:0A3CB000C03CD107C9F7F894FFCF1C +:103CBA00FF020804020C0B0000060480000000400A +:103CCA000014005400000000000000000004040A70 +:103CDA000A111F1F0E1006090808090600040A0A1D +:103CEA000E0E1F1F0E00000A00000E110000000A2F +:103CFA000000110E00000A1F1F1F0E040000000022 +:103D0A0000000000000000D00130015D011D028E9C +:103D1A00016C018001000000005C052F05530705B6 +:103D2A000528051505060500000000C507300153E2 +:063D3A000752070D0A000C +:00000001FF diff --git a/app/modules/castarter_v2.js b/app/modules/castarter_v2.js new file mode 100644 index 000000000..b68e7a9d4 --- /dev/null +++ b/app/modules/castarter_v2.js @@ -0,0 +1,630 @@ + +const BaseModule = require('./baseModule'); + +class castarter_v2 extends BaseModule { + // 클래스 내부에서 사용될 필드들을 이곳에서 선언합니다. + constructor() { + super(); + this.sp = null; + this.sensorTypes = { + ALIVE: 0, + DIGITAL: 1, + ANALOG: 2, + PWM: 3, + SERVO_PIN: 4, + TONE: 5, + PULSEIN: 6, + ULTRASONIC: 7, + TIMER: 8, + SW_RESET: 9, + RGBLED: 10, + NEOPIXELINIT: 11, + NEOPIXELDIS: 12, + SERVO_DETACH: 13, + LCDINIT: 14, + LCD_DIS: 15, + LCDCLEAR: 16, + LCDOPTION: 17, + DHTINIT: 25, + DHTTEMP: 26, + DHTHUMI: 27, + }; + this.actionTypes = { + GET: 1, + SET: 2, + RESET: 3, + }; + this.sensorValueSize = { + FLOAT: 2, + SHORT: 3, + STRING: 4, + }; + this.digitalPortTimeList = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + this.sensorData = { + ULTRASONIC: 0, + DHTTEMP: 0, + DHTHUMI: 0, + PMVALUE: 0, + DIGITAL: { + '0': 0, + '1': 0, + '2': 0, + '3': 0, + '4': 0, + '5': 0, + '6': 0, + '7': 0, + '8': 0, + '9': 0, + '10': 0, + '11': 0, + '12': 0, + '13': 0, + '14': 0, + '15': 0, + '16': 0, + '17': 0, + '18': 0, + '19': 0, + '20': 0, + }, + ANALOG: { + '0': 0, + '1': 0, + '2': 0, + '3': 0, + '4': 0, + '5': 0, + }, + PULSEIN: {}, + TIMER: 0, + }; + this.defaultOutput = {}; + this.recentCheckData = {}; + this.sendBuffers = []; + this.lastTime = 0; + this.lastSendTime = 0; + this.isDraing = false; + this.sensorIdx = 0; + }; + init(handler, config) { + this.handler = handler; + this.config = config; + } + setSerialPort = function(sp) { + const self = this; + this.sp = sp; + }; + requestInitialData = function() { + return this.makeSensorReadBuffer(this.sensorTypes.ANALOG, 0); + }; + checkInitialData = function(data, config) { + return true; + // 이후에 체크 로직 개선되면 처리 + // var datas = this.getDataByBuffer(data); + // var isValidData = datas.some(function (data) { + // return (data.length > 4 && data[0] === 255 && data[1] === 85); + // }); + // return isValidData; + }; + afterConnect = function(that, cb) { + that.connected = true; + if (cb) { + cb('connected'); + } + }; + validateLocalData = function(data) { + return true; + }; + requestRemoteData = function(handler) { + const self = this; + if (!self.sensorData) { + return; + } + Object.keys(this.sensorData).forEach((key) => { + if (self.sensorData[key] != undefined) { + handler.write(key, self.sensorData[key]); + } + }); + }; + handleRemoteData = function(handler) { + const self = this; + const getDatas = handler.read('GET'); + const setDatas = handler.read('SET') || this.defaultOutput; + const time = handler.read('TIME'); + let buffer = new Buffer([]); + if (getDatas) { + const keys = Object.keys(getDatas); + keys.forEach((key) => { + let isSend = false; + const dataObj = getDatas[key]; + if (typeof dataObj.port === 'string' || typeof dataObj.port === 'number') { + const time = self.digitalPortTimeList[dataObj.port]; + if (dataObj.time > time) { + isSend = true; + self.digitalPortTimeList[dataObj.port] = dataObj.time; + } + } else if (Array.isArray(dataObj.port)) { + isSend = dataObj.port.every((port) => { + const time = self.digitalPortTimeList[port]; + return dataObj.time > time; + }); + + if (isSend) { + dataObj.port.forEach((port) => { + self.digitalPortTimeList[port] = dataObj.time; + }); + } + } + if (isSend) { + if (!self.isRecentData(dataObj.port, key, dataObj.data)) { + self.recentCheckData[dataObj.port] = { + type: key, + data: dataObj.data, + }; + buffer = Buffer.concat([buffer, self.makeSensorReadBuffer(key, dataObj.port, dataObj.data)]); + } + } + }); + } + if (setDatas) { + const setKeys = Object.keys(setDatas); + setKeys.forEach((port) => { + const data = setDatas[port]; + if (data) { + if (self.digitalPortTimeList[port] < data.time) { + self.digitalPortTimeList[port] = data.time; + + if (!self.isRecentData(port, data.type, data.data)) { + self.recentCheckData[port] = { + type: data.type, + data: data.data, + }; + buffer = Buffer.concat([buffer, self.makeOutputBuffer(data.type, port, data.data)]); + } + } + } + }); + } + if (buffer.length) { + this.sendBuffers.push(buffer); + } + }; + isRecentData = function(port, type, data) { + const that = this; + let isRecent = false; + if (type == this.sensorTypes.ULTRASONIC) { + const portString = port.toString(); + let isGarbageClear = false; + Object.keys(this.recentCheckData).forEach((key) => { + const recent = that.recentCheckData[key]; + if (key === portString) { + } + if (key !== portString && + (recent.type == that.sensorTypes.ULTRASONIC || + recent.type == that.sensorTypes.DHTTEMP || + recent.type == this.sensorTypes.DHTHUMI)) { + delete that.recentCheckData[key]; + isGarbageClear = true; + } + }); + if ((port in this.recentCheckData && isGarbageClear) || !(port in this.recentCheckData)) { + isRecent = false; + } else { + isRecent = true; + } + } else if (port in this.recentCheckData && type == this.sensorTypes.TONE) { + if ( + this.recentCheckData[port].type === type && + this.recentCheckData[port].data === data + ) { + isRecent = true; + } + } + return isRecent; + }; + requestLocalData = function() { + const self = this; + + if (!this.isDraing && this.sendBuffers.length > 0) { + this.isDraing = true; + this.sp.write(this.sendBuffers.shift(), () => { + if (self.sp) { + self.sp.drain(() => { + self.isDraing = false; + }); + } + }); + } + }; + handleLocalData = function(data) { + const self = this; + const datas = this.getDataByBuffer(data); + + datas.forEach((data) => { + if (data.length <= 4 || data[0] !== 255 || data[1] !== 85) { + return; + } + const readData = data.subarray(2, data.length); + let value; + switch (readData[0]) { + case self.sensorValueSize.FLOAT: { + value = new Buffer(readData.subarray(1, 5)).readFloatLE(); + value = Math.round(value * 100) / 100; + break; + } + case self.sensorValueSize.SHORT: { + value = new Buffer(readData.subarray(1, 3)).readInt16LE(); + break; + } + case self.sensorValueSize.STRING: { + value = new Buffer(readData[1] + 3); + value = readData.slice(2, readData[1] + 3); + value = value.toString('ascii', 0, value.length); + break; + } + default: { + value = 0; + break; + } + } + const type = readData[readData.length - 1]; + const port = readData[readData.length - 2]; + switch (type) { + case self.sensorTypes.DIGITAL: { + self.sensorData.DIGITAL[port] = value; + break; + } + case self.sensorTypes.ANALOG: { + self.sensorData.ANALOG[port] = value; + break; + } + case self.sensorTypes.PULSEIN: { + self.sensorData.PULSEIN[port] = value; + break; + } + case self.sensorTypes.ULTRASONIC: { + self.sensorData.ULTRASONIC = value; + break; + } + case self.sensorTypes.DHTTEMP: { + self.sensorData.DHTTEMP = value; + break; + } + case self.sensorTypes.DHTHUMI: { + self.sensorData.DHTHUMI = value; + break; + } + case self.sensorTypes.TIMER: { + self.sensorData.TIMER = value; + break; + } + default: { + break; + } + } + }); + }; + makeSensorReadBuffer = function(device, port, data) { + let buffer; + const dummy = new Buffer([10]); + if (device == this.sensorTypes.ULTRASONIC) { + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.GET, + device, + port[0], + port[1], + 10, + ]); + } else if (device == this.sensorTypes.DHTTEMP || device == this.sensorTypes.DHTHUMI) { + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + } else if (!data) { + buffer = new Buffer([ + 255, + 85, + 5, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + } else { + const value = new Buffer(2); + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 7, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + } + this.sensorIdx++; + if (this.sensorIdx > 254) { + this.sensorIdx = 0; + } + return buffer; + }; + makeOutputBuffer = function(device, port, data) { + let buffer; + const value = new Buffer(2); + const dummy = new Buffer([10]); + + switch (device) { + case this.sensorTypes.SERVO_PIN: + case this.sensorTypes.DIGITAL: + case this.sensorTypes.PWM: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.SERVO_DETACH: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.TONE: { + const time = new Buffer(2); + if ($.isPlainObject(data)) { + value.writeInt16LE(data.value); + time.writeInt16LE(data.duration); + } else { + value.writeInt16LE(0); + time.writeInt16LE(0); + } + buffer = new Buffer([ + 255, + 85, + 8, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, time, dummy]); + break; + } + case this.sensorTypes.SW_RESET: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.RGBLED: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.NEOPIXELINIT: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.NEOPIXELDIS: { + const num = new Buffer(2); + const r = new Buffer(2); + const g = new Buffer(2); + const b = new Buffer(2); + + if ($.isPlainObject(data)) { + num.writeInt16LE(data.num); + r.writeInt16LE(data.r); + g.writeInt16LE(data.g); + b.writeInt16LE(data.b); + } else { + num.writeInt16LE(0); + r.writeInt16LE(0); + g.writeInt16LE(0); + b.writeInt16LE(0); + } + buffer = new Buffer([ + 255, + 85, + 12, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, num, r, g, b, dummy]); + break; + } + case this.sensorTypes.DHTINIT: { + value.writeInt16LE(data); + + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.LCDINIT: { + value.writeInt16LE(data); + + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.LCD_DIS: { + let text; + const row = new Buffer(1); + const column = new Buffer(1); + let textLen = 0; + const textLenBuf = new Buffer(1); + + if ($.isPlainObject(data)) { + textLen = (`${data.text}`).length; + text = Buffer.from(`${data.text}`, 'ascii'); + row.writeInt8(data.row); + textLenBuf.writeInt8(textLen); + column.writeInt8(data.column); + } else { + textLen = 0; + text = Buffer.from('', 'ascii'); + row.writeInt8(0); + textLenBuf.writeInt8(textLen); + column.writeInt8(0); + } + buffer = new Buffer([ + 255, + 85, + 4 + 3 + textLen, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); + break; + } + case this.sensorTypes.LCDOPTION: { + let text; + const row = new Buffer(1); + const column = new Buffer(1); + let textLen = 0; + const textLenBuf = new Buffer(1); + + if ($.isPlainObject(data)) { + textLen = (`${data.text}`).length; + text = Buffer.from(`${data.text}`, 'ascii'); + row.writeInt8(data.row); + textLenBuf.writeInt8(textLen); + column.writeInt8(data.column); + } else { + textLen = 0; + text = Buffer.from('', 'ascii'); + row.writeInt8(0); + textLenBuf.writeInt8(textLen); + column.writeInt8(0); + } + buffer = new Buffer([ + 255, + 85, + 4 + 3 + textLen, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); + break; + } + case this.sensorTypes.LCDCLEAR: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + } + //console.log(buffer); + return buffer; + }; + getDataByBuffer = function(buffer) { + const datas = []; + let lastIndex = 0; + buffer.forEach((value, idx) => { + if (value == 13 && buffer[idx + 1] == 10) { + datas.push(buffer.subarray(lastIndex, idx)); + lastIndex = idx + 2; + } + }); + return datas; + }; + disconnect = function(connect) { + const self = this; + connect.close(); + if (self.sp) { + delete self.sp; + } + }; + reset = function() { + this.lastTime = 0; + this.lastSendTime = 0; + this.sensorData.PULSEIN = {}; + }; +} +module.exports = new castarter_v2(); diff --git a/app/modules/castarter_v2.json b/app/modules/castarter_v2.json new file mode 100644 index 000000000..d536839cf --- /dev/null +++ b/app/modules/castarter_v2.json @@ -0,0 +1,28 @@ +{ + "id": "4D0101", + "name": { + "en": "2nd Coding Array Starter", + "ko": "2세대 코딩어레이 스타터" + }, + "category": "board", + "platform": ["win32", "darwin"], + "icon" : "castarter_v2.png", + "module": "castarter_v2.js", + "url": "https://cafe.naver.com/arduinostory", + "email": "we@codingarray.cc", + "video": "https://youtu.be/R6nYA4AOn8w", + "driver": { + "win32-ia32": "arduino/dpinst-x86.exe", + "win32-x64": "arduino/dpinst-amd64.exe" + }, + "reconnect": true, + "firmware": "castarter_v2", + "hardware": { + "type": "serial", + "control": "slave", + "duration": 32, + "vendor": "Arduino", + "firmwarecheck": false, + "baudRate": 115200 + } +} diff --git a/app/modules/castarter_v2.png b/app/modules/castarter_v2.png new file mode 100644 index 0000000000000000000000000000000000000000..62f9e5a4b87b4e1f2eb13404fd9acdfccddac7a3 GIT binary patch literal 78036 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 Date: Thu, 16 Dec 2021 20:25:40 +0900 Subject: [PATCH 5/6] =?UTF-8?q?=EC=9E=AC=EB=93=B1=EB=A1=9D=EC=9D=84=20?= =?UTF-8?q?=EC=9C=84=ED=95=9C=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/firmwares/castarter_v2.hex | 982 --------------------------------- app/modules/castarter_v2.js | 630 --------------------- app/modules/castarter_v2.json | 28 - app/modules/castarter_v2.png | Bin 78036 -> 0 bytes 4 files changed, 1640 deletions(-) delete mode 100644 app/firmwares/castarter_v2.hex delete mode 100644 app/modules/castarter_v2.js delete mode 100644 app/modules/castarter_v2.json delete mode 100644 app/modules/castarter_v2.png diff --git a/app/firmwares/castarter_v2.hex b/app/firmwares/castarter_v2.hex deleted file mode 100644 index 3db6f0907..000000000 --- a/app/firmwares/castarter_v2.hex +++ /dev/null @@ -1,982 +0,0 @@ -:100000000C94C0000C94E8000C94E8000C94E800F8 -:100010000C94E8000C94E8000C94E8000C94F20AAC -:100020000C94E8000C94E8000C94E8000C94F00B9D -:100030000C94E8000C94E8000C94E8000C94E800A0 -:100040000C94A60B0C94E8000C94740B0C944E0BBF -:100050000C94E8000C94E8000C94E8000C94E80080 -:100060000C94AC0C0C94E80006206F20202020207B -:10007000202020070001026F0304056F02A602453D -:1000800000001F01011F010500000F0808080700FC -:1000900000080808080808080008080818080808E0 -:1000A00000001F011F101F00000A0A0A1A0A0A0A8C -:1000B000041F000000000000001F000000000000FE -:1000C0000810001B0A0A06000201001B0A0A0A06A1 -:1000D000000C0A0A0A0A0A1400060A0A0A0A0A0591 -:1000E0000000000000000605070C18101212100393 -:1000F0001C060301090901180000000000000C148F -:1001000002020301000000000201001B0A0A0600AF -:100110000810001B0A0A0A06080818100000000050 -:1001200000000000240027002A0002000000080050 -:1001300002010000030407000000000000000000AE -:10014000000000250028002B0000000000230026EE -:10015000002900040404040404040402020202024C -:10016000020303030303030102040810204080017B -:10017000020408102001020408102000390E8A1918 -:1001800011241FBECFEFD8E0DEBFCDBF11E0A0E04D -:10019000B1E0EAEBFCE302C005900D92A638B1078E -:1001A000D9F724E0A6E8B1E001C01D92A630B2075D -:1001B000E1F710E0CFEBD0E004C02197FE010E94F0 -:1001C0004A1CCE3BD107C9F70E942D0F0C94501E3C -:1001D0000C940000CF92DF92EF92FF92CF93DF93C7 -:1001E000B091C503A0E08111AB2F8091C60390E0D0 -:1001F000880F991FAC01475B5E4FC090CB03D09036 -:10020000CC03E090CD03F090CE0330E020E0FA0183 -:10021000C591D491E881B90190E080E0EB23EA1325 -:100220000AC02F5F3F4F6C157D058E059F0578F343 -:100230006FEF7FEFCB01DF91CF91FF90EF90DF90D9 -:10024000CF900895FC0124813581232B21F08081FA -:100250009181009721F41092A30283EA92E008951D -:10026000AF92BF92CF92DF92EF92FF920F931F93C4 -:10027000CF93DF936C017B018B01040F151FEB0102 -:100280005E01AE18BF08C017D10759F06991D601B9 -:10029000ED91FC910190F081E02DC6010995892B2B -:1002A00079F7C501DF91CF911F910F91FF90EF90EA -:1002B000DF90CF90BF90AF900895FC01538D448D97 -:1002C000252F30E0842F90E0821B930B541710F001 -:1002D000CF96089501970895FC01918D828D98170E -:1002E00061F0A28DAE0FBF2FB11D5D968C91928DE6 -:1002F0009F5F9F73928F90E008958FEF9FEF089517 -:10030000FC01918D828D981731F0828DE80FF11DDF -:10031000858D90E008958FEF9FEF0895FC01918DFA -:10032000228D892F90E0805C9F4F821B91098F73F3 -:100330009927089588ED92E00E948E0121E0892B93 -:1003400009F420E0822F089580E090E0892B29F0C5 -:100350000E949A0181110C9400000895FC01A48D63 -:10036000A80FB92FB11DA35ABF4F2C91848D90E0D7 -:1003700001968F739927848FA689B7892C93A089BA -:10038000B1898C91837080648C93938D848D981344 -:1003900006C00288F389E02D80818F7D80830895D7 -:1003A000EF92FF920F931F93CF93DF93EC0181E0C5 -:1003B000888F9B8D8C8D98131AC0E889F98980816C -:1003C00085FF15C09FB7F894EE89FF896083E8899F -:1003D000F98980818370806480839FBF81E090E091 -:1003E000DF91CF911F910F91FF90EF900895F62E1E -:1003F0000B8D10E00F5F1F4F0F731127E02E8C8DB8 -:100400008E110CC00FB607FCFACFE889F9898081FC -:1004100085FFF5CFCE010E94AE01F1CFEB8DEC0F41 -:10042000FD2FF11DE35AFF4FF0829FB7F8940B8F19 -:10043000EA89FB8980818062CFCFCF93DF93EC0183 -:10044000888D8823B9F0AA89BB89E889F9898C91BC -:1004500085FD03C0808186FD0DC00FB607FCF7CF78 -:100460008C9185FFF2CF808185FFEDCFCE010E9478 -:10047000AE01E9CFDF91CF910895833081F028F468 -:10048000813099F08230A9F008958730A9F0883042 -:10049000C9F08430B1F4809180008F7D03C08091D9 -:1004A00080008F7780938000089584B58F7784BD16 -:1004B000089584B58F7DFBCF8091B0008F778093B6 -:1004C000B00008958091B0008F7DF9CF1F93CF9336 -:1004D000DF93282F30E0F901E55DFE4F8491F901AB -:1004E000E959FE4FD491F901ED5AFE4FC491CC2346 -:1004F000A9F0162F81110E943D02EC2FF0E0EE0FC3 -:10050000FF1FE15CFE4FA591B4918FB7F894EC9179 -:10051000111108C0D095DE23DC938FBFDF91CF91FE -:100520001F910895DE2BF8CF9091000189130BC025 -:10053000EAE2F1E0E4919FEF90930001E13049F0AD -:1005400028F0E23061F060E00C94660210926E00D8 -:10055000FACF90916F009D7F90936F00F4CF9091B0 -:1005600070009D7F9093700091E09093B000909107 -:10057000B100987F94609093B1001092B300E3CFE4 -:10058000CF93DF9390E0FC01E959FE4F24918D5AFF -:100590009E4FFC0184918823C9F090E0880F991F39 -:1005A000FC01E05EFE4FA591B491FC01E15CFE4FC1 -:1005B000C591D49161110DC09FB7F8948C9120958D -:1005C00082238C938881282328839FBFDF91CF913A -:1005D0000895623051F49FB7F8943C91822F809532 -:1005E00083238C93E8812E2BEFCF8FB7F894EC9177 -:1005F0002E2B2C938FBFEACFCF93DF93EC0180910A -:10060000ED03882349F08091F2039091F30397FD65 -:1006100003C060E00E94C002D093F303C093F203D2 -:100620008091ED03882341F061E08C2F0E94C0028D -:1006300060E08C2F0E946602FE01ED5AFE4FE491AD -:10064000F0E0EE0FFF1FE15CFE4F859194919093D7 -:1006500000048093FF03FE01E959FE4FE491E0930B -:100660000104DF91CF9108953FB7F89480914A0239 -:1006700090914B02A0914C02B0914D0226B5A89BDF -:1006800005C02F3F19F00196A11DB11D3FBFBA2F24 -:10069000A92F982F8827BC01CD01620F711D811DE4 -:1006A000911D42E0660F771F881F991F4A95D1F769 -:1006B00008958F929F92AF92BF92CF92DF92EF9266 -:1006C000FF924B015C010E9434036B017C010E948C -:1006D00034036C197D098E099F09683E73408105BA -:1006E0009105A8F321E0821A9108A108B10888EECB -:1006F000C80E83E0D81EE11CF11C81149104A104F2 -:10070000B10429F7FF90EF90DF90CF90BF90AF90AA -:100710009F908F9008952FB7F89460914602709142 -:10072000470280914802909149022FBF0895CF92CD -:10073000DF92EF92FF920F931F93CF93DF93CDB78A -:10074000DEB7C054D1400FB6F894DEBF0FBECDBFA8 -:100750000E948B030091C7031091C8032091C90325 -:100760003091CA036B017C01C01AD10AE20AF30A74 -:1007700097018601003D17402105310590F48091D5 -:10078000CF03C05CDE4F0FB6F894DEBF0FBECDBF07 -:10079000DF91CF911F910F91FF90EF90DF90CF905D -:1007A00008956093C7037093C8038093C90390931F -:1007B000CA031092C2031092C1031092C003109298 -:1007C000BF031092BE0362E08091C3030E94C00287 -:1007D00061E070E080E090E00E94590361E0809168 -:1007E000C3030E94C00260E08091C3030E946602BE -:1007F0008091C4038551823020F58BE291E101970D -:10080000F1F762E08091C3030E94C0028091D0039F -:1008100090E08230910538F0880F991F880F991F5A -:1008200005970197F1F7F89480E00E94EA006F3F86 -:100830007F4F8F4F9F4F61F41092CF03789480E0E9 -:10084000A0CF64E170E080E090E00E945903D9CF2E -:1008500081E00E94EA006F3F7F4F8F4F9F4F61F30F -:100860008E010F5F1F4F6E012FEBC21A2EEFD20ABF -:10087000780180E00E94EA00F7016083718382833F -:10088000938381E00E94EA00F70164837583868385 -:100890009783F8E0EF0EF11CEC14FD0451F7789407 -:1008A00030E020E0F801C080D180E280F380448114 -:1008B000558166817781FFEFCF16DF06EF06FF06D1 -:1008C00031F04F3F8FEF58076807780719F41092FF -:1008D000CF03B5CFF90183E0F595E7958A95E1F768 -:1008E000E254FC4F8081880FC416D506E606F70651 -:1008F00010F180832F5F3F4F085F1F4F2832310573 -:1009000089F64091C2032091BE038091BF03280F56 -:100910003327331F8091C003280F311D8091C103FD -:10092000820F932F911D99274817190681F681E0B0 -:100930008093CF0326CF8160DCCF2091F801260F72 -:100940003327331F21323105ECF420911E02FC01C4 -:1009500090E080E0243069F082E00895A091F801F1 -:100960002191AC014A525E4FA40FB52FB11D2C93BB -:100970000196861798F38091F801680F6093F8014B -:1009800080E0089581E0089510921E0281E0809336 -:10099000200210921F0261E082E10E94660261E083 -:1009A00083E10E946602E9EBF0E080818E7F808324 -:1009B00080818D7F808388E48093B80085E4809374 -:1009C000BC000895CF93DF9391E09093D5018823E5 -:1009D000B9F0C091B800D091BA008091BC008A7B78 -:1009E0008093BC0060E082E10E94660260E083E1E7 -:1009F0000E9466020E94C404D093BA00C093B8005B -:100A0000DF91CF910895089508950895E091CD0163 -:100A10008091CC01E81730F4F0E0E455FE4F80817E -:100A200090E008958FEF9FEF08959091CD01809110 -:100A3000CC012FEF3FEF981748F4E92FF0E0E45591 -:100A4000FE4F208130E09F5F9093CD01C901089552 -:100A50008091CC019091CD01891B990B0895CF9283 -:100A6000DF92EF92FF920F931F93CF93DF937C015E -:100A7000CB018A012091AB01222389F0EB016B01AC -:100A8000C40ED51ECC15DD0569F06991D701ED9135 -:100A9000FC910190F081E02DC7010995F3CF642FFF -:100AA0000E949D04C801DF91CF911F910F91FF908B -:100AB000EF90DF90CF900895CF93DF931F92CDB743 -:100AC000DEB769832091AB012223F9F02091CE019A -:100AD000203258F021E030E0FC013383228390E0A3 -:100AE00080E00F90DF91CF9108958091CF01E82FA2 -:100AF000F0E0E557FE4F998190838F5F8093CF019F -:100B00008093CE0181E090E0ECCF61E0CE010196D0 -:100B10000E949D04F7CFF894FC013297E331F10570 -:100B200008F030C0EA56FA4F0C944A1CA905A905F2 -:100B3000A905A905A905A905E005C405D005D8059D -:100B4000D805E005C205C205C205C205C205C20539 -:100B5000E80585E086BB82E080936F0010928700F5 -:100B60001092860010928B0010928A0010928900D9 -:100B700010928800109285001092840010928000DC -:100B8000809381007894089585E286BB82E080930B -:100B90006F002CEC3EE13093870020938600E2CF7B -:100BA00085E286BB82E080936F002EEC3EE1F3CFBE -:100BB00085E286BB82E080936F002FEC3EE1EBCFB5 -:100BC00085E286BB82E080936F0029EC3EE1E3CFB3 -:100BD000F89480917602809381008091750286BBA3 -:100BE0008091740280936F008091720290917302E1 -:100BF000909387008093860080917002909171029B -:100C000090938B0080938A0080916E0290916F0286 -:100C1000909389008093880080916C0290916D027E -:100C2000909385008093840080916B028093800074 -:100C30008091760280938100789410927702A2CFFF -:100C4000FC01EF57FD4F2081211105C091E09083F9 -:100C500061E00C94C0020895682F88ED92E00C9436 -:100C6000D0010F931F93CF93DF938B01D82FC92F00 -:100C700082E00E942C06C801AD2FBC2F8093870113 -:100C800090938801A0938901B0938A010E942C0659 -:100C9000812F0E942C068D2F0E942C068C2FDF9115 -:100CA000CF911F910F910C942C0642E050E063E825 -:100CB00071E088ED92E00C9430018FEF0E942C06D9 -:100CC00085E50E942C060C9455068FEF0E942C0699 -:100CD00085E50C942C06CF92DF92EF92FF920F9352 -:100CE0001F93CF93DF93FC01C48121E02093AB01DC -:100CF000C09386011092CF011092CE018385682B9C -:100D000085E793E00E945C05D091CE01D13208F0D6 -:100D100092C00E9434036B017C0180911E028111FC -:100D200065C082E080931E0281E0809320028FEFF5 -:100D300080931D0210924202D0934102ABE8B1E0D1 -:100D4000E1E2F2E080E0D81385C010924302809186 -:100D50004302CC0FC82BC093430280911F02813005 -:100D600009F07CC010921F020E9434036B017C01C9 -:100D7000809143028093BB008091D1019091D20178 -:100D8000A091D301B091D401892B8A2B8B2B99F0A0 -:100D90000E9434030091D1011091D2012091D3011E -:100DA0003091D4016C197D098E099F090617170728 -:100DB00028073907E0F18091BC0083FDD9CF85EC8D -:100DC0008093BC000E9434036B017C0180911E0261 -:100DD000823009F445C080911D028F3F61F18091FE -:100DE0001D02803241F180911D0225C08091D10108 -:100DF0009091D201A091D301B091D401892B8A2B7B -:100E00008B2B09F48ACF0E9434030091D1011091F9 -:100E1000D2012091D3013091D4016C197D098E0942 -:100E20009F09061717072807390708F076CF809122 -:100E3000D0010E94E2041092CF011092CE011092D4 -:100E4000AB01DF91CF911F910F91FF90EF90DF9059 -:100E5000CF9008959D9191938F5F75CF85EEB0CF20 -:100E60008091D1019091D201A091D301B091D40190 -:100E7000892B8A2B8B2B09F4A9CF0E943403009174 -:100E8000D1011091D2012091D3013091D4016C197C -:100E90007D098E099F09061717072807390708F0EB -:100EA00095CFC5CF089590E080E008950F931F93EC -:100EB000CF938C01C62F0E946B066C2F6460C80113 -:100EC0000E946B066C2F6B7FC8010E946B0683EC3F -:100ED00090E00197F1F7CF911F910F9108950F9333 -:100EE0001F93CF93DF938C01D62FC42F607F642B89 -:100EF0000E94560780E1D89FB00111246C2BC801D5 -:100F0000DF91CF911F910F910C94560740E061E063 -:100F100082EB93E00E946F078BE39FE10197F1F76B -:100F20000895CF93DF93CDB7DEB728970FB6F89427 -:100F3000DEBF0FBECDBF98E0EDE0F1E0DE0111961F -:100F400001900D929A95E1F79091BA03961710F4DB -:100F50006FEF690F262F30E0220F331F41E050E082 -:100F60004C0F5D1F240F351FF9016081680F606809 -:100F700040E082EB93E028960FB6F894DEBF0FBEF8 -:100F8000CDBFDF91CF910C946F0741E00E946F07B6 -:100F900081E090E008950F931F93CF93DF938B012F -:100FA00098E0899FB0011124606440E082EB93E0F7 -:100FB0000E946F07E801085F1F4F699182EB93E081 -:100FC0000E94C507C017D107C1F7DF91CF911F91CC -:100FD0000F91089565E471E080E00E94CB076DE316 -:100FE00071E081E00E94CB0765E371E082E00E943E -:100FF000CB076DE271E083E00E94CB0765E271E010 -:1010000084E00E94CB076DE171E085E00E94CB0790 -:1010100065E171E086E00E94CB0765E171E087E061 -:101020000C94CB07FC0180819181009711F00C9406 -:10103000F31C08950F931F93CF93DF938C0180913E -:10104000F5039091F6030E94F31C9091FA038091AE -:10105000F703981721F184E090E0809FE001819FE1 -:10106000D00D909FD00D1124D093F103C093F003C5 -:10107000CE010E94571C9093F6038093F5030097CE -:1010800089F0AE0170E060E00E94421E1093EF0311 -:101090000093EE03DF91CF911F910F91089583E0AC -:1010A00090E0DBCF1092F1031092F0031092EF0367 -:1010B0001092EE03EFCF0F931F93CF93DF93EC01CA -:1010C00088819981009759F02A813B81261737073B -:1010D00030F081E0DF91CF911F910F9108958B0146 -:1010E0006F5F7F4F0E947C1D009759F09983888322 -:1010F0001B830A832C813D81232B59F7FC0110822D -:10110000E8CF80E0E7CFAF92BF92CF92DF92EF922D -:10111000FF920F931F93CF93DF9300D0CDB7DEB72D -:101120008C015B01FC0111821082138212821582F4 -:10113000148270E060E00E945B08F8012081318138 -:1011400081113FC02115310519F0C9010E94F31C1E -:10115000F8011182108215821482138212828EEAA3 -:10116000E82E82E0F82EFAE0AF0EB11CE4EAF2E0DD -:10117000C701845A92408A159B055CF5F70180816E -:1011800089831A82F801C480D580FFEFCF1ADF0A65 -:10119000B601C8010E945B08882379F0F80120811C -:1011A000318184819581BE016F5F7F4F820F931FD4 -:1011B0000E94491EF801D582C482F70111927F0175 -:1011C000D5CF1582148265E871E0C9010E94491EDD -:1011D000C6CF119282E0EE3AF807D9F7C8010F9016 -:1011E0000F90DF91CF911F910F91FF90EF90DF90C3 -:1011F000CF90BF90AF90089585ED8093BC00809113 -:10120000D1019091D201A091D301B091D401079660 -:10121000A11DB11D23E0B695A795979587952A95B1 -:10122000D1F72091BC0024FD03C010921E02089546 -:101230004091D1015091D2016091D3017091D401BC -:10124000452B462B472B69F30097A105B10541F0CB -:1012500025E32A95F1F700000197A109B109E1CF33 -:101260008091D0010C94E204EF92FF920F931F93B0 -:10127000CF93DF93CDB7DEB728970FB6F894DEBFD4 -:101280000FBECDBF87E28093B6031092CD011092BE -:10129000CC011092CF011092CE010E94C40483E0D1 -:1012A00095E09093F7018093F60184E095E09093A8 -:1012B000FB018093FA011092B7038091BC03823046 -:1012C00018F098E09093B7038093BA0362E370E05C -:1012D00080E090E00E9459036091BD0382EB93E0AF -:1012E0000E946B0662E370E080E090E00E94590388 -:1012F00060E382EB93E00E9456070BE416E4C8011A -:101300000197F1F760E382EB93E00E945607C80172 -:101310000197F1F760E382EB93E00E94560783E5C3 -:1013200092E00197F1F760E282EB93E00E945607AA -:101330006091B703606240E082EB93E00E946F0728 -:1013400084E08093B80340E06CE082EB93E00E947D -:101350006F070E94860782E08093B90340E066E051 -:1013600082EB93E00E946F0740E062E082EB93E043 -:101370000E946F078BE39FE10197F1F788E080936C -:10138000BD0360E082EB93E00E946B0660E080E0CA -:101390000E949107809169028111D6C081E08093FB -:1013A000690290EEE92E90E0F92E10E048E050E05E -:1013B000B701CE0101960E94A219BE016F5F7F4F57 -:1013C000812F0E94CB0788E0E80EF11C1F5F1830C8 -:1013D00069F710E000E060E00115110521F004302C -:1013E000110521F461E086E00E949107602F82EBF5 -:1013F00093E00E94C5070F5F1F4F0830110559F792 -:1014000010E000E048E050E000FDABC068ED70E0A7 -:10141000CE0101960E94A219BE016F5F7F4F80E04E -:101420000E94CB0748E050E060ED70E0CE010196ED -:101430000E94A219BE016F5F7F4F83E00E94CB071D -:1014400048E050E068EC70E0CE0101960E94A219DD -:10145000BE016F5F7F4F85E00E94CB0748E050E000 -:1014600060EC70E0CE0101960E94A219BE016F5F90 -:101470007F4F86E00E94CB0760E086E00E949107E4 -:1014800060E082EB93E00E94C50760E089E00E9483 -:10149000910763E082EB93E00E94C50761E087E07B -:1014A0000E94910765E082EB93E00E94C50766E029 -:1014B00082EB93E00E94C5076CE370E080E090E06F -:1014C0000E9459030F5F1F4F0630110509F09ACF94 -:1014D00080E8E82E80E0F82E10E048E050E0B70108 -:1014E000CE0101960E94A219BE016F5F7F4F812F2E -:1014F0000E94CB0788E0E80EF11C1F5F183069F7E7 -:1015000010E000E0C801029760E00C9708F456C0B4 -:10151000802F0E94910760E282EB93E00E94C50752 -:1015200061E0802F0E94910760E282EB93E00E94CD -:10153000C5076FE070E080E090E00E9459030F5F04 -:101540001F4F00311105F1F628960FB6F894DEBF53 -:101550000FBECDBFDF91CF911F910F91FF90EF9004 -:10156000089560EE70E0CE0101960E94A219BE01BE -:101570006F5F7F4F80E00E94CB0748E050E068EF4C -:1015800070E0CE0101960E94A219BE016F5F7F4FED -:1015900083E00E94CB0748E050E068E071E0CE01B4 -:1015A00001960E94A219BE016F5F7F4F85E00E94E5 -:1015B000CB0748E050E060E171E054CF802F0E94FB -:1015C0009107F801EE58FF4F649182EB93E00E947F -:1015D000C50761E0802F0E949107F801EA59FF4F8B -:1015E0006491A3CF1F920F920FB60F9211242F93E5 -:1015F0003F934F935F936F937F938F939F93AF939B -:10160000BF93EF93FF938091550290915602A09162 -:101610005702B0915802892B8A2B8B2BD1F19091D4 -:101620005002E0915102F09152028081892780831B -:101630008091550290915602A0915702B0915802A4 -:10164000181619061A061B069CF4809155029091F3 -:101650005602A0915702B09158020197A109B10911 -:101660008093550290935602A0935702B09358026C -:10167000FF91EF91BF91AF919F918F917F916F916A -:101680005F914F913F912F910F900FBE0F901F9040 -:101690001895809100010E949402EACF1F920F9248 -:1016A0000FB60F9211242F933F934F935F936F9335 -:1016B0007F938F939F93AF93BF93EF93FF9388EDA7 -:1016C00092E00E94AE01FF91EF91BF91AF919F9187 -:1016D0008F917F916F915F914F913F912F910F90DB -:1016E0000FBE0F901F9018951F920F920FB60F927A -:1016F00011242F938F939F93EF93FF93E091E80230 -:10170000F091E9028081E091EE02F091EF0282FD1A -:101710001BC090818091F1028F5F8F732091F20244 -:10172000821741F0E091F102F0E0E852FD4F958F11 -:101730008093F102FF91EF919F918F912F910F90E4 -:101740000FBE0F901F9018958081F4CF1F920F92BB -:101750000FB60F9211242F933F938F939F93AF93C4 -:10176000BF938091460290914702A0914802B091A8 -:1017700049023091450223E0230F2D3758F5019699 -:10178000A11DB11D2093450280934602909347020C -:10179000A0934802B093490280914A0290914B0273 -:1017A000A0914C02B0914D020196A11DB11D8093F4 -:1017B0004A0290934B02A0934C02B0934D02BF910A -:1017C000AF919F918F913F912F910F900FBE0F90EE -:1017D0001F90189526E8230F0296A11DB11DD2CFA8 -:1017E0001F920F920FB60F9211242F933F934F9396 -:1017F0005F936F937F938F939F93AF93BF93CF9399 -:10180000DF93EF93FF9380914402C091A503D0E052 -:1018100087FF24C0109285001092840080914402BA -:101820008F5F8093440280914402082E000C990B34 -:101830008C179D0724F4809144028C30C4F1809170 -:10184000840090918500049680349C4908F47AC005 -:101850008091840090918500049676C08091440226 -:10186000082E000C990B8C179D07C4F6E0914402DA -:101870008E2FEE0F990BFC01EE0FFF1FE80FF91FE3 -:10188000EF57FC4F808186FFC9CFE09144028E2F35 -:10189000EE0F990BFC01EE0FFF1FE80FF91FEF573A -:1018A000FC4F808160E08F730E946602B7CF209169 -:1018B000840030918500E09144028E2FEE0F990B49 -:1018C000FC01EE0FFF1FE80FF91FEF57FC4F81815E -:1018D0009281820F931F9093890080938800E091FA -:1018E00044028E2FEE0F990BFC01EE0FFF1FE80F45 -:1018F000F91FEF57FC4F808186FF11C0E091440231 -:101900008E2FEE0F990BFC01EE0FFF1FE80FF91F52 -:10191000EF57FC4F808161E08F730E946602FF9158 -:10192000EF91DF91CF91BF91AF919F918F917F9177 -:101930006F915F914F913F912F910F900FBE0F903C -:101940001F90189580E49CE990938900809388000B -:101950008FEF80934402E3CF1F920F920FB60F9246 -:1019600011242F933F934F935F936F937F938F93A4 -:101970009F93AF93BF93EF93FF938091B900887FBC -:10198000803609F44AC0F0F5883209F4A7C018F58A -:10199000803109F49BC0B8F4882309F4F9C0883079 -:1019A00009F494C0FF91EF91BF91AF919F918F91F6 -:1019B0007F916F915F914F913F912F910F900FBE4B -:1019C0000F901F901895883109F488C0803251F724 -:1019D00080931D0214C0803409F49DC040F480330C -:1019E000B9F38833F9F680931D0285ECB0C08035D9 -:1019F00009F485C0883509F496C0883499F60E94A8 -:101A0000FC08D0CF883909F48CC038F5883729F024 -:101A100050F4883611F0803729F683E080931E0257 -:101A200010921C0257C0883809F47BC0803919F025 -:101A3000803809F0B7CF80911C02803208F071C065 -:101A4000E0911C0281E08E0F80931C028091BB000C -:101A5000F0E0E450FE4F80833DC0803B39F0E0F47D -:101A6000803A09F479C0883A09F09CCF84E08093E9 -:101A70001E021092F9011092F801E091F601F09126 -:101A8000F70109958091F80181110FC081E08093E1 -:101A9000F8011092D60109C0803C09F4A6CF883C19 -:101AA00009F4A3CF883B09F07DCFE091F90181E0F3 -:101AB0008E0F8093F901F0E0EA52FE4F808180930F -:101AC000BB009091F9018091F80129C080914302F7 -:101AD0008093BB0085EC8093BC0064CF9091420260 -:101AE00080914102981758F5E091420281E08E0FF3 -:101AF00080934202F0E0EF5DFD4F8081E9CFE091FD -:101B0000420281E08E0F809342028091BB00F0E0A0 -:101B1000EF5DFD4F808390914202809141029817C2 -:101B2000C8F285E8D8CFE091420281E08E0F809321 -:101B300042028091BB00F0E0EF5DFD4F8083809119 -:101B4000200281115CCF81E080931F0284EA8093A0 -:101B5000BC0010921E0226CF85EC8093BC00109230 -:101B60001E0280911C02803230F4E0911C02F0E0F1 -:101B7000E450FE4F108260911C0270E0E091FA0187 -:101B8000F091FB018CEF91E0099510921C020ACFB5 -:101B900010921D0234CFCF92DF92EF92FF920F93FB -:101BA0001F93E82FF92F05C00150110921093109B0 -:101BB00061F1908196239417B9F305C00150110982 -:101BC0002109310911F1908196239413F7CFC12C8B -:101BD000D12CE12CF12C0AC08FEFC81AD80AE80AE0 -:101BE000F80A0C151D052E053F0579F08081862326 -:101BF000841791F36C2D7D2D8E2D9F2D1F910F91AC -:101C0000FF90EF90DF90CF90089560E070E080E06B -:101C100090E01F910F91FF90EF90DF90CF9008958B -:101C2000CF93DF93EC01198218821B821A821D82E6 -:101C30001C8270E060E00E945B082881398181117C -:101C40000FC02115310519F0C9010E94F31C19823A -:101C500018821D821C821B821A82DF91CF91089507 -:101C60001D821C8265E871E0C901DF91CF910C945F -:101C7000491E1092DB021092DA0288EE93E0A0E097 -:101C8000B0E08093DC029093DD02A093DE02B0937B -:101C9000DF0227E531E03093D9022093D80225EC0A -:101CA00030E03093E5022093E40224EC30E03093FE -:101CB000E7022093E60220EC30E03093E902209323 -:101CC000E80221EC30E03093EB022093EA0222ECB0 -:101CD00030E03093ED022093EC0226EC30E03093BC -:101CE000EF022093EE021092F1021092F202109293 -:101CF000F3021092F402109278031092770380930B -:101D0000790390937A03A0937B03B0937C0389E6D5 -:101D100091E090937603809375031092ED031092F7 -:101D2000F4031092F6031092F5031092FB03109245 -:101D3000FC031092FD031092FE0381E08093FA03EE -:101D40008093F7031092F80392E09093F903809345 -:101D5000EC0382E090E00E941A0888E090E00E9484 -:101D6000FC02E4EDF3E02CEE33E04FEF68EB7BE0B8 -:101D70008091A5038C3008F06AC091E0980F909391 -:101D8000A503808390E0DC01AA0FBB1FA80FB91F39 -:101D9000AF57BC4F12967C936E93119733962E17C4 -:101DA0003F0731F78091A5038C3008F052C091E0D5 -:101DB000980F9093A5038093D10390E0FC01EE0F60 -:101DC000FF1FE80FF91FEF57FC4F88EB9BE0928352 -:101DD000818390910601809105018093C3039093C4 -:101DE000C40390E0FC01E959FE4FE491E093C50380 -:101DF000FC01ED5AFE4FE491E093C60380E89EE3B8 -:101E0000A0E0B0E08093CB039093CC03A093CD03EC -:101E1000B093CE031092B5031092B4038BE791E018 -:101E20009093B3038093B20387E28093B60380E17B -:101E30008093BB0382E08093BC031092BD038CEAC5 -:101E400093E00E94100E86EA93E00C94100E4083FB -:101E5000A5CF8FEF8093D103BCCFCF93DF93CDB7C6 -:101E6000DEB763970FB6F894DEBF0FBECDBF789490 -:101E700084B5826084BD84B5816084BD85B582608F -:101E800085BD85B5816085BD80916E008160809340 -:101E90006E001092810080918100826080938100A9 -:101EA00080918100816080938100809180008160B9 -:101EB000809380008091B10084608093B100809114 -:101EC000B00081608093B00080917A00846080933C -:101ED0007A0080917A00826080937A0080917A0003 -:101EE000816080937A0080917A00806880937A0084 -:101EF0001092C100E091E802F091E90282E0808353 -:101F0000E091E402F091E5021082E091E602F091A6 -:101F1000E70280E180831092F002E091EC02F09100 -:101F2000ED0286E08083E091EA02F091EB0280818D -:101F300080618083E091EA02F091EB028081886009 -:101F40008083E091EA02F091EB02808180688083D7 -:101F5000E091EA02F091EB0280818F7D808312E0B4 -:101F600061E0812F0E94C00260E0812F0E94660222 -:101F70001F5F1E30A9F70E9434098091F2039091EF -:101F8000F30397FD08C061E00E94C00260E0809109 -:101F9000F2030E94660281E08093ED03809180004D -:101FA00080936B028091810080937602F89486B3CF -:101FB0008093750280916F008093740280918600F7 -:101FC00090918700909373028093720280918A00AF -:101FD00090918B00909371028093700280918800A1 -:101FE0009091890090936F0280936E02809184009B -:101FF0009091850090936D0280936C02789401E03B -:102000002AE2222E21E0322E88ED92E00E948E01FB -:10201000892B09F4DBC688ED92E00E948E01181628 -:10202000190694F788ED92E00E946C0190917B0272 -:10203000853509F05AC0911158C080917A028F3FBE -:1020400021F40093790200937B02809179028F5FE3 -:10205000843308F062C08093790280917B028823E8 -:1020600099F2809178028111CFCF809179028430EA -:1020700058F210927B028091A9027090AA02E72C7C -:10208000F12C2091A802223009F48AC0233009F4EF -:102090009AC6213039F5873009F061C01091AB0242 -:1020A000812F90E03091800231113CC0209380025A -:1020B0007092040110930301F701EF57FD4F208345 -:1020C0008F579D4FFC01208361E0872D0E94C00245 -:1020D00060E0812F0E94C00262E370E080E090E047 -:1020E0000E945903109279028FCF80937A0299232C -:1020F00009F4ABCFE0917902E23039F480937802B1 -:10210000F0E0EC55FD4F8083A0CFE330C8F3909111 -:102110007802915090937802F3CF10927902109246 -:102120007B029BCFA0910401E09103017A1202C0CF -:10213000E117C1F2B0E0AF57BD4F1C92F0E0EF578E -:10214000FD4F10827092040110930301F701EF57C5 -:10215000FD4F00838F579D4FFC010083B5CFF701E2 -:10216000EF57FD4F1092800210927C0210927D0278 -:1021700010927E0210927F0210828A3139F480918F -:10218000A2028111AFCF0093A202ACCF8B3109F034 -:10219000A9CF8091A1028111A5CF0093A102A2CF66 -:1021A00090910401791621F09091030179120AC0EF -:1021B0001092800210927C0210927D0210927E0298 -:1021C00010927F028931E1F090910501791218C0D7 -:1021D000F701EF57FD4F10821092A2021092950264 -:1021E0001092960210929702109298021092A102F9 -:1021F0001092990210929A0210929B0210929C02E5 -:10220000EFEFE80FE93108F09DC00E2E000CFF0B38 -:10221000E45FFE4E0C944A1C2511A2112E11C81326 -:10222000C411A211A211A314A514BB14BF14D91474 -:102230009B140F161816E3164416A211A211A21130 -:10224000A211A211A211A2119A16C7010E94200682 -:102250006091AB02872D0E94660274C0C7010E9484 -:1022600020061091AB02C12ED12C809177028130D3 -:10227000B9F5F8948091760280938100809175027F -:1022800086BB8091740280936F008091720290915E -:1022900073029093870080938600809170029091E2 -:1022A000710290938B0080938A0080916E029091CE -:1022B0006F02909389008093880080916C029091C6 -:1022C0006D02909385008093840080916B028093CF -:1022D000800080917602809381007894109277023A -:1022E00061E0872D0E94C002111102C060E0B2CFF0 -:1022F000FFEFCF16D10411F461E0ACCFF701E55D3B -:10230000FE4FE491E33031F148F4E130B9F0E230CE -:10231000E1F020E8C216D1047CF7E8CFE73021F1E4 -:10232000E83051F1E430A9F7809180008062809319 -:102330008000D0928B00C0928A0004C084B580686F -:1023400084BD17BD0E945D06CDCE84B5806284BD7C -:1023500018BDF8CF80918000806880938000D09273 -:102360008900C0928800EECF8091B0008068809391 -:10237000B0001093B300E6CF8091B00080628093EC -:10238000B0001093B400DECFC7010E9420068091F8 -:10239000AB0280934E028091AC0280934F028091F9 -:1023A0004E0290914F02998B888B8091AD02809361 -:1023B0004E028091AE0280934F02E0914E02F09166 -:1023C0004F02FB8BEA8B1E161F060CF0DDC18091BD -:1023D0000001871177C0F101149117FDB3CF61E0BF -:1023E000872D0E94C0021123B1F028893989290163 -:1023F000712C612C60E072E18AE790E0A3010E94F9 -:10240000CF1A69017A0171E0C71AD108E108F10811 -:10241000123009F076C1888999892C01712C612CC0 -:1024200060E072E18AE790E0A30192010E94CF1A76 -:1024300049015A017A01690191E0C91AD108E108FC -:10244000F108EFEFCE16D104E104F10409F00CF429 -:102450002BC160E472E48FE090E0A30192010E943E -:10246000CF1A69017A01F1E0CF1AD108E108F10829 -:10247000123009F09DC082E02FEFC216D104E104B2 -:10248000F104C9F0C4F060E970ED83E090E0A301CD -:1024900092010E94CF1A69017A0171E0C71AD1082E -:1024A000E108F1088FEFC816D104E104F10411F03E -:1024B0000CF017C783E09091B100987F892B80932F -:1024C000B100F9C08F3F09F03DCF70920001F101DA -:1024D00014911F3F09F436CF113031F150F0123012 -:1024E00009F442C017FD2ECF61E0872D0E94C00283 -:1024F0007CCF14BC15BC84B5826084BD85B5816079 -:1025000085BDF701ED5AFE4FE491F0E0EE0FFF1F9D -:10251000E15CFE4F85919491F701E959FE4FE491FA -:10252000E093540210E05BCF109280001092810083 -:10253000809181008860809381008091810081601A -:1025400080938100F701ED5AFE4FE491F0E0EE0F29 -:10255000FF1FE15CFE4F85919491F701E959FE4F11 -:10256000E491E09353023BCF1092B0001092B1007F -:102570008091B00082608093B0008091B100816052 -:102580008093B100F701ED5AFE4FE491F0E0EE0FB9 -:10259000FF1FE15CFE4F85919491909352028093CE -:1025A0005102F701E959FE4FE491E093500217CF31 -:1025B0009FEFC916D104E104F10409F00CF49FC0A7 -:1025C00068E478EE81E090E0A30192010E94CF1AC6 -:1025D00069017A01E1E0CE1AD108E108F10884E04E -:1025E000111141C083E0FFEFCF16D104E104F104E3 -:1025F00009F00CF45CC062E17AE780E090E0A301AE -:1026000092010E94CF1A69017A0191E0C91AD1089A -:10261000E108F10884E0EFEFCE16D104E104F10403 -:1026200009F008F444C0750164012AE0F594E794C8 -:10263000D794C7942A95D1F721E0C21AD108E108AE -:10264000F10885E034C064E274EF80E090E0A3011B -:1026500092010E94CF1A69017A01F1E0CF1AD108E4 -:10266000E108F10885E09FEFC916D104E104F10407 -:1026700009F008F420CF62E17AE780E090E0A3015E -:1026800092010E94CF1A69017A0171E0C71AD1083C -:10269000E108F1088FEFC816D104E104F10411F04C -:1026A00008F00FC686E007CF81E0111104CF95B581 -:1026B000987F892B85BD28893989220F331FAA89E4 -:1026C000BB890E94501C28EE33E040E050E00E949D -:1026D000301B1130B9F1123009F446C0111132CE5D -:1026E000C7BC20935D0230935E0240935F0250931B -:1026F000600280916E00826080936E0023CE82E043 -:10270000D4CF91E0C114D10421E0E206F10484F0B9 -:1027100068E478EE81E090E0A30192010E94CF1A74 -:1027200069017A0171E0C71AD108E108F10893E064 -:10273000113009F0C0CF80918100887F892B809370 -:102740008100B9CFD0928900C092880020935902AD -:1027500030935A0240935B0250935C0280916F0069 -:10276000826080936F00EECDC092B300209355023B -:102770003093560240935702509358028091700054 -:10278000826080937000DECD872D0E949402DACDA6 -:10279000C7010E942006B090AB02B11007C0809123 -:1027A0007702811103C0C7010E948B05EB2DE15018 -:1027B000FF0BE43BF10508F0C5CD65E070E080E07B -:1027C00090E00E945903E1E6F2E090E080E0219180 -:1027D0002E151F0431F02111A6C0FC01EF59FD4F49 -:1027E0007082FC01EE0FFF1FE80FF91FEC52FC4F47 -:1027F0001081818192811C3008F03FC061E0872DFB -:102800000E94C002812F90E0AC01440F551FFA01D5 -:10281000E80FF91FEF57FC4F272D2F73722E2081E1 -:10282000207C722A708230E020E0F901EE0FFF1F59 -:10283000E20FF31FEF57FC4F608166FD14C02F5F5E -:102840003F4F2C30310589F71092800022E0209311 -:1028500081001092850010928400B19A20916F003F -:10286000226020936F00840F951FFC01EF57FC4FEF -:1028700080818064808390E080E0B8E5CB2EB2E078 -:10288000DB2EC91AD10897FDD394CC0CDD1CCC0CDF -:10289000DD1C28E8E22EF12CE81AF10887FDF394FC -:1028A000EE0CFF1CEE0CFF1C27010F2C000C660821 -:1028B0007708AB2DA53B08F0A4EB96010D2C000C7E -:1028C000440B550B2419350946095709B0E00E94FD -:1028D000EE1A24EB30E040E050E00E94CF1A420EA6 -:1028E000531E641E751E1C30D8F44E145F042CF069 -:1028F00076014C145D040CF4720132E0E31AF10825 -:10290000EE0CFF1C2FB7F894812F90E0FC01EE0F26 -:10291000FF1FE80FF91FEF57FC4FF282E1822FBF34 -:10292000009377020FCD01968830910509F04FCFC3 -:1029300090E080E056CFC7010E94200684E190E03D -:102940000E948B05FFCC0E948B038091AB028F3FCE -:1029500009F0F8CC64E670E080E090E00E94590352 -:1029600088E19EE00FB6F894A895809360000FBEB2 -:1029700090936000E7CCC7010E942006E3CCC7011A -:102980000E9420061091AB0280910201781629F076 -:10299000C7010E94FC027092020180910101181788 -:1029A00009F4D0CC812F90E00E941A081093010105 -:1029B000C9CCC7010E942006D090AB02B090AD02F6 -:1029C0001091AF02C090B10280910201781629F0F7 -:1029D000C7010E94FC02709202012D2D30E080910F -:1029E000EE039091EF032817390708F04CC0812FB0 -:1029F00090E0B0E0A0E0BA2FA92F982F8827AB294C -:102A00008C292D0166247724442D892E9A2EAB2EF5 -:102A1000BB24682D582FE091F403EE2391F06E2F24 -:102A200070E0649DA001659D500D749D500D1124B2 -:102A3000452FE89D40011124692DE89FC001112414 -:102A4000592FE091FA038091F5039091F60370916C -:102A5000F703E713A0C09C0173E0D79E200D311D42 -:102A60001124E091F703E20FF32FF11D4083E09171 -:102A7000F803E20FF32FF11D60838091F903280F13 -:102A8000311DF90150838091F5039091F603892B54 -:102A900009F458CCC090FB03D090FC03E090FD03F8 -:102AA000F090FE030E9434036C157D058E059F0592 -:102AB00050F40E9434036093FB037093FC038093F3 -:102AC000FD039093FE030E943403C090FB03D0905B -:102AD000FC03E090FD03F090FE036C197D098E0964 -:102AE0009F096C32714081059105A0F2F8948091A4 -:102AF000F0039091F10398878F83E091F503F091B3 -:102B0000F603DF01119680818F879091EC03E091AD -:102B1000FF03F091000480910104992309F446C059 -:102B20009081982B9E879081809589238D878D85B4 -:102B30008A8788E089874E855D856F8539852A85F6 -:102B40008F819885408367FD242F3A952083252F18 -:102B500039F0661F00C000005083000000C0F2CFB3 -:102B600038E06D9150830000019761F7F093000405 -:102B7000E093FF036F8739872A8798878F8378943C -:102B80000E9434036093FB037093FC038093FD0366 -:102B90009093FE03D7CB220F331F220F331F280F32 -:102BA000391FE20FF32FF11D10825BCF9081982B1C -:102BB0009E879081809589238D878D858C8788E07D -:102BC0008B874E855D856F853B852C858F819885AC -:102BD000408367FD242F00C000C0208300C000C0D8 -:102BE00000C000C000C050830000252F3A9541F07E -:102BF000661F000000C000C000C000C000C0E8CFD9 -:102C000038E06D9100C0508300C0019709F7F09340 -:102C10000004E093FF036F873B872C87AECF809142 -:102C20006A0281118FCB00936A020E9434098ACB19 -:102C3000E090AB02F090AC021091AD02612F70E019 -:102C4000CE0101960E948308111102C00E948607DE -:102C500080916902813039F40E9486070E94EA0758 -:102C600082E0809369026E2D8F2D0E9491074D8125 -:102C70005E8169817A8182EB93E00E943001CE010E -:102C800001960E9412085ECBF090AB021091AC024C -:102C90006091AD0270E0CE0101960E9483088091A0 -:102CA0006902813039F40E9486070E94EA0782E0B7 -:102CB000809369026F2D812F0E949107CE010196AA -:102CC0000E942201FC01808160E0813371F1CE011C -:102CD00001960E942201FC01808161E0823329F18A -:102CE000CE0101960E942201FC01808162E08333C3 -:102CF000E1F0CE0101960E942201FC01808163E097 -:102D0000843399F0CE0101960E942201FC0180815A -:102D100064E0853351F0CE0101960E942201FC014E -:102D20008081863309F0ABCF65E082EB93E00E94AF -:102D3000C507A5CFC7010E9420068091AB029FEF77 -:102D4000980F9631C8F0F701EF57FD4F108210929F -:102D5000A20210929502109296021092970210927F -:102D600098021092A1021092990210929A02109267 -:102D70009B0210929C02E6CA7092050180930601A4 -:102D80008091A20281111AC08091A102811116C006 -:102D900062E08091C3030E94C0020E948B03605DC9 -:102DA0007740810991096093C7037093C8038093AA -:102DB000C9039093CA0387E38093D0030093A202D0 -:102DC0000093A102BFCA0E948607BCCA6AE070E0F5 -:102DD00080E090E00E945903B1E8EB2EB2E0FB2EB8 -:102DE00010E000E0F70181917F0181113CC0B02E1D -:102DF00060E0802F0E94C0020E946506F801E55D38 -:102E0000FE4F8491F801E959FE4FC490F801ED5A44 -:102E1000FE4FD49070E060E0DD2099F081110E94B7 -:102E20003D02ED2DF0E0EE0FFF1FE75BFE4FA59199 -:102E3000B491EC91CE2291E080E009F490E0692F0A -:102E4000782F072E000C880B990B0E94B2190E9454 -:102E500031068B2D0E942C0681E00E942C060E94D8 -:102E600055060E945D060F5F1F4F0431110509F0E2 -:102E7000B9CF0DE411E0F12CF80181918F0181119E -:102E800027C00E9465068F2D806480937C0080910E -:102E90007A00806480937A0080917A0086FDFCCF6E -:102EA0008091780060917900762F682F072E000CB2 -:102EB000880B990B0E94B2190E9431068F2D0E9437 -:102EC0002C0682E00E942C060E9455060E945D0698 -:102ED000F394F6E0FF12D0CF80918002882309F4AA -:102EE0006DC01091040160E0812F0E94660283E0B2 -:102EF00090E00197F1F761E0812F0E94660283E282 -:102F000090E00197F1F760E0812F0E9466028091C6 -:102F1000030190E0FC01E959FE4F6491FC01ED5A78 -:102F2000FE4FE491F0E0EE0FFF1FE75BFE4F85914F -:102F3000949100E315E720E030E0462F0E94CB0D8E -:102F4000611571058105910529F06F5F7F4F8F4FE6 -:102F50009F4F9F700E94B01920E030E048EE51E48E -:102F60000E94CE1B20E030E040E05FE30E94111A97 -:102F70006B017C0120E030E0A9010E94AB198111B6 -:102F800051C0C0907C02D0907D02E0907E02F09013 -:102F90007F020E946506C701B6010E94310680913A -:102FA00004010E942C06809103010E942C0687E0F8 -:102FB0000E942C060E9455060E945D061091A202F6 -:102FC000111105C08091A102882309F449C10E9412 -:102FD0008B03C0909D02D0909E02E0909F02F090E3 -:102FE000A0026C197D098E099F096A3F7105810550 -:102FF000910508F435C1112309F486C00E94970396 -:10300000882309F464C08091C4038C3009F498C00B -:1030100090F48B3049F1C12CD12C40ECE42E4FE7D9 -:10302000F42E4CC0C0927C02D0927D02E0927E02CF -:10303000F0927F02AECF8551823068F71091C003C5 -:10304000612F70E0762F662766277F778091C10316 -:10305000682B90E080E00E94B0192DEC3CEC4CEC29 -:103060005DE30E94111A88C06091C00370E090E097 -:1030700080E00E94B0196B017C011091C10317FF21 -:103080000AC0AC019B0160E070E080E89FEB0E9409 -:10309000611B6B017C011F70612F70E090E080E08C -:1030A0000E94B2192DEC3CEC4CEC5DE30E94111A2D -:1030B000A70196010E94621B6B017C01A70196018A -:1030C000C701B6010E94451C882309F45EC0C09068 -:1030D0009502D0909602E0909702F09098020E949C -:1030E0006506C701B6010E943106809105010E9464 -:1030F0002C06809106010E942C068AE10E942C0673 -:103100000E9455060E945D068091A102882309F461 -:103110009DC00E949703882309F47BC08091C4035B -:103120008B3038F08D3008F44DC08551823008F472 -:10313000ADC0C12CD12C30ECE32E3FE7F32E60C0A4 -:103140001091C003612F70E090E080E00E94B01900 -:103150006B017C016091C1036F7070E090E080E0D2 -:103160000E94B2192DEC3CEC4CEC5DE30E94111A6C -:10317000A70196010E94621B6B017C0117FF9ECF85 -:10318000F7FAF094F7F8F09499CF20E030E040E2BD -:1031900051E4C701B6010E94401C181654F420E007 -:1031A00030E040E050E4C701B6010E94611B6B01B2 -:1031B0007C01C0929502D0929602E0929702F09222 -:1031C00098028DCF6091BF0370E090E080E00E9494 -:1031D000B2192DEC3CEC4CEC5DE30E94111A6B0132 -:1031E0007C016091BE0370E090E080E00E94B21923 -:1031F0009B01AC01C701B6010E94621B6B017C01FF -:10320000A7019601C701B6010E94451C882309F455 -:103210004FC0C0909902D0909A02E0909B02F0902B -:103220009C020E946506C701B6010E94310680918A -:1032300005010E942C06809106010E942C068BE15C -:103240000E942C060E9455060E945D060E948B0378 -:1032500060939D0270939E0280939F029093A002C0 -:103260006AE070E080E090E00E94590380E090E026 -:10327000892B11F40C94FF0F0E949A01882311F4FA -:103280000C94FF0F0E9400000C94FF0F6091BE038E -:103290007091BF0376276727762790E080E00E9431 -:1032A000B0192DEC3CEC4CEC5DE30E94111AA6CF5A -:1032B000C0929902D0929A02E0929B02F0929C02F4 -:1032C000B0CF750164019AE0F594E794D794C79460 -:1032D0009A95D1F731E0C31AD108E108F10887E0E7 -:1032E000EAC868E478EE81E090E0A30192010E94D0 -:1032F000CF1A69017A0171E0C71AD108E108F10813 -:103300008FEFC816D104E104F10411F00CF09BC951 -:1033100084E0D1C886EA93E00E9412088CEA93E028 -:103320000E9412088091F5039091F6030E94F31C0D -:103330008091F2039091F30397FD03C060E00C9439 -:10334000C0020895FB01DC0102C005900D924150BE -:103350005040D8F708950E94ED1908F481E00895CF -:10336000E89409C097FB3EF490958095709561951F -:103370007F4F8F4F9F4F9923A9F0F92F96E9BB27D5 -:103380009395F695879577956795B795F111F8CF51 -:10339000FAF4BB0F11F460FF1BC06F5F7F4F8F4FBC -:1033A0009F4F16C0882311F096E911C0772321F0B2 -:1033B0009EE8872F762F05C0662371F096E8862F4A -:1033C00070E060E02AF09A95660F771F881FDAF7A1 -:1033D000880F9695879597F90895990F0008550FCE -:1033E000AA0BE0E8FEEF16161706E807F907C0F08B -:1033F00012161306E407F50798F0621B730B840B93 -:10340000950B39F40A2661F0232B242B252B21F46C -:1034100008950A2609F4A140A6958FEF811D811D0C -:1034200008950E94241A0C94951A0E94871A38F065 -:103430000E948E1A20F0952311F00C947E1A0C94A1 -:10344000841A11240C94C91A0E94A61A70F3959F2D -:10345000C1F3950F50E0551F629FF001729FBB278B -:10346000F00DB11D639FAA27F00DB11DAA1F649F27 -:103470006627B00DA11D661F829F2227B00DA11DDA -:10348000621F739FB00DA11D621F839FA00D611D60 -:10349000221F749F3327A00D611D231F849F600D81 -:1034A000211D822F762F6A2F11249F5750409AF0AA -:1034B000F1F088234AF0EE0FFF1FBB1F661F771F36 -:1034C000881F91505040A9F79E3F510580F00C9401 -:1034D0007E1A0C94C91A5F3FE4F3983ED4F38695A4 -:1034E00077956795B795F795E7959F5FC1F7FE2BA1 -:1034F000880F911D9695879597F9089597F99F677D -:1035000080E870E060E008959FEF80EC089500246B -:103510000A941616170618060906089500240A9438 -:1035200012161306140605060895092E0394000CBE -:1035300011F4882352F0BB0F40F4BF2B11F460FF4D -:1035400004C06F5F7F4F8F4F9F4F089557FD905876 -:10355000440F551F59F05F3F71F04795880F97FB57 -:10356000991F61F09F3F79F0879508951216130611 -:103570001406551FF2CF4695F1DF08C01616170640 -:103580001806991FF1CF8695710561050894089575 -:10359000E894BB2766277727CB0197F90895052E76 -:1035A00097FB1EF400940E94E61A57FD07D00E9474 -:1035B000301B07FC03D04EF40C94E61A509540954E -:1035C000309521953F4F4F4F5F4F089590958095CF -:1035D000709561957F4F8F4F9F4F08950E94521BAA -:1035E000A59F900DB49F900DA49F800D911D112457 -:1035F00008952F923F924F925F926F927F928F9297 -:103600009F92AF92BF92CF92DF92EF92FF920F9371 -:103610001F93CF93DF93CDB7DEB7CA1BDB0B0FB67B -:10362000F894DEBF0FBECDBF09942A883988488838 -:103630005F846E847D848C849B84AA84B984C884CE -:10364000DF80EE80FD800C811B81AA81B981CE0FC5 -:10365000D11D0FB6F894DEBF0FBECDBFED010895AA -:10366000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F86 -:10367000EE1FFF1FA217B307E407F50720F0A21BF8 -:10368000B30BE40BF50B661F771F881F991F1A9465 -:1036900069F760957095809590959B01AC01BD018F -:1036A000CF010895A29FB001B39FC001A39F700DE9 -:1036B000811D1124911DB29F700D811D1124911D3A -:1036C00008955058BB27AA270E94791B0C94951A7D -:1036D0000E94871A38F00E948E1A20F039F49F3F1A -:1036E00019F426F40C94841A0EF4E095E7FB0C947C -:1036F0007E1AE92F0E94A61A58F3BA1762077307B9 -:103700008407950720F079F4A6F50C94C81A0EF4F6 -:10371000E0950B2EBA2FA02D0B01B90190010C01E1 -:10372000CA01A0011124FF27591B99F0593F50F4F9 -:10373000503E68F11A16F040A22F232F342F442751 -:10374000585FF3CF469537952795A795F040539549 -:10375000C9F77EF41F16BA0B620B730B840BBAF019 -:103760009150A1F0FF0FBB1F661F771F881FC2F784 -:103770000EC0BA0F621F731F841F48F48795779598 -:103780006795B795F7959E3F08F0B0CF9395880F52 -:1037900008F09927EE0F9795879508950E94E21BF0 -:1037A0000C94951A0E948E1A58F00E94871A40F0C5 -:1037B00029F45F3F29F00C947E1A51110C94C91A18 -:1037C0000C94841A0E94A61A68F39923B1F3552326 -:1037D00091F3951B550BBB27AA2762177307840724 -:1037E00038F09F5F5F4F220F331F441FAA1FA9F3BA -:1037F00035D00E2E3AF0E0E832D091505040E695A8 -:10380000001CCAF72BD0FE2F29D0660F771F881F08 -:10381000BB1F261737074807AB07B0E809F0BB0BFB -:10382000802DBF01FF2793585F4F3AF09E3F51050F -:1038300078F00C947E1A0C94C91A5F3FE4F3983E1A -:10384000D4F3869577956795B795F7959F5FC9F7F8 -:10385000880F911D9695879597F90895E1E0660F79 -:10386000771F881FBB1F621773078407BA0720F0F2 -:10387000621B730B840BBA0BEE1F88F7E09508955B -:103880000E94ED1908F48FEF08950E94ED19880B3E -:10389000990B0895EE0FFF1F0590F491E02D099408 -:1038A0000E94521BB7FF0895821B930B08950F933C -:1038B0001F93CF93DF938230910510F482E090E064 -:1038C000E0910404F091050430E020E0B0E0A0E0D5 -:1038D000309799F42115310509F44AC0281B390B9A -:1038E00024303105D8F58A819B816115710589F1F4 -:1038F000FB0193838283FE0111C0408151810281CB -:10390000138148175907E0F04817590799F41097A1 -:1039100061F012960C93129713961C933296CF0176 -:10392000DF91CF911F910F9108950093040410939C -:103930000504F4CF2115310551F04217530738F033 -:10394000A901DB019A01BD01DF01F801C1CFEF013F -:10395000F9CF9093050480930404CDCFFE01E20FCC -:10396000F31F819391932250310939832883D7CF54 -:103970002091020430910304232B41F4209109018A -:1039800030910A013093030420930204209107012F -:10399000309108012115310541F42DB73EB7409112 -:1039A0000B0150910C01241B350BE0910204F091A6 -:1039B0000304E217F307A0F42E1B3F0B2817390767 -:1039C00078F0AC014E5F5F4F2417350748F04E0F7B -:1039D0005F1F5093030440930204819391939FCF00 -:1039E000F0E0E0E09CCFCF93DF930097E9F0FC019B -:1039F000329713821282A0910404B0910504ED0164 -:103A000030E020E01097A1F420813181820F931FD4 -:103A100020910204309103042817390709F061C08E -:103A2000F0930304E0930204DF91CF910895EA013B -:103A3000CE17DF07E8F54A815B819E0141155105EC -:103A4000B1F7E901FB83EA8349915991C40FD51F6E -:103A5000EC17FD0761F4808191810296840F951F18 -:103A6000E90199838883828193819B838A83F0E033 -:103A7000E0E012968D919C9113970097B9F52D91E6 -:103A80003C911197CD010296820F931F2091020461 -:103A9000309103042817390739F6309751F5109201 -:103AA000050410920404B0930304A0930204BCCF55 -:103AB000D383C28340815181840F951FC817D907D2 -:103AC00061F44E5F5F4F88819981480F591F518380 -:103AD00040838A819B81938382832115310509F07C -:103AE000B0CFF0930504E09304049ECFFD01DC0108 -:103AF000C0CF13821282D7CFB0E0A0E0E2E8FDE1B0 -:103B00000C94FB1A8C01009751F4CB010E94571CB6 -:103B10008C01C801CDB7DEB7E0E10C94171BFC01A6 -:103B2000E60FF71F9C0122503109E217F30708F452 -:103B30009DC0D901CD91DC911197C617D70798F098 -:103B4000C530D10530F3CE0104978617970708F3E7 -:103B5000C61BD70B2297C193D1936D937C93CF0152 -:103B60000E94F31CD6CF5B01AC1ABD0A4C018C0E2F -:103B70009D1EA0910404B0910504512C412CF12C00 -:103B8000E12C109731F5809102049091030488157F -:103B9000990509F05CC04616570608F058C0809198 -:103BA000070190910801009741F48DB79EB74091AD -:103BB0000B0150910C01841B950BE817F90708F0D5 -:103BC00055C0F0930304E0930204F901718360830C -:103BD000A0CF8D919C91119712966C90129713968D -:103BE0007C901397A815B90559F56C0142E0C40EF5 -:103BF000D11CCA14DB0420F1AC014A195B09DA01BB -:103C00001296159780F06282738251834083D901A6 -:103C10006D937C93E114F10471F0D7011396FC933A -:103C2000EE93129776CF22968C0F9D1FF901918308 -:103C30008083F301EFCFF0930504E093040469CF90 -:103C40004816590608F42C017D01D3019ACFCB0107 -:103C50000E94571C7C01009749F0AE01B8010E94F8 -:103C6000391EC8010E94F31C870153CF10E000E009 -:103C700050CFFB01DC0102C001900D924150504039 -:103C8000D8F70895DC0101C06D9341505040E0F732 -:103C90000895FB01DC0101900D920020E1F70895E9 -:103CA00010E0CFEBD0E004C0FE010E944A1C219638 -:0A3CB000C03CD107C9F7F894FFCF1C -:103CBA00FF020804020C0B0000060480000000400A -:103CCA000014005400000000000000000004040A70 -:103CDA000A111F1F0E1006090808090600040A0A1D -:103CEA000E0E1F1F0E00000A00000E110000000A2F -:103CFA000000110E00000A1F1F1F0E040000000022 -:103D0A0000000000000000D00130015D011D028E9C -:103D1A00016C018001000000005C052F05530705B6 -:103D2A000528051505060500000000C507300153E2 -:063D3A000752070D0A000C -:00000001FF diff --git a/app/modules/castarter_v2.js b/app/modules/castarter_v2.js deleted file mode 100644 index b68e7a9d4..000000000 --- a/app/modules/castarter_v2.js +++ /dev/null @@ -1,630 +0,0 @@ - -const BaseModule = require('./baseModule'); - -class castarter_v2 extends BaseModule { - // 클래스 내부에서 사용될 필드들을 이곳에서 선언합니다. - constructor() { - super(); - this.sp = null; - this.sensorTypes = { - ALIVE: 0, - DIGITAL: 1, - ANALOG: 2, - PWM: 3, - SERVO_PIN: 4, - TONE: 5, - PULSEIN: 6, - ULTRASONIC: 7, - TIMER: 8, - SW_RESET: 9, - RGBLED: 10, - NEOPIXELINIT: 11, - NEOPIXELDIS: 12, - SERVO_DETACH: 13, - LCDINIT: 14, - LCD_DIS: 15, - LCDCLEAR: 16, - LCDOPTION: 17, - DHTINIT: 25, - DHTTEMP: 26, - DHTHUMI: 27, - }; - this.actionTypes = { - GET: 1, - SET: 2, - RESET: 3, - }; - this.sensorValueSize = { - FLOAT: 2, - SHORT: 3, - STRING: 4, - }; - this.digitalPortTimeList = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; - this.sensorData = { - ULTRASONIC: 0, - DHTTEMP: 0, - DHTHUMI: 0, - PMVALUE: 0, - DIGITAL: { - '0': 0, - '1': 0, - '2': 0, - '3': 0, - '4': 0, - '5': 0, - '6': 0, - '7': 0, - '8': 0, - '9': 0, - '10': 0, - '11': 0, - '12': 0, - '13': 0, - '14': 0, - '15': 0, - '16': 0, - '17': 0, - '18': 0, - '19': 0, - '20': 0, - }, - ANALOG: { - '0': 0, - '1': 0, - '2': 0, - '3': 0, - '4': 0, - '5': 0, - }, - PULSEIN: {}, - TIMER: 0, - }; - this.defaultOutput = {}; - this.recentCheckData = {}; - this.sendBuffers = []; - this.lastTime = 0; - this.lastSendTime = 0; - this.isDraing = false; - this.sensorIdx = 0; - }; - init(handler, config) { - this.handler = handler; - this.config = config; - } - setSerialPort = function(sp) { - const self = this; - this.sp = sp; - }; - requestInitialData = function() { - return this.makeSensorReadBuffer(this.sensorTypes.ANALOG, 0); - }; - checkInitialData = function(data, config) { - return true; - // 이후에 체크 로직 개선되면 처리 - // var datas = this.getDataByBuffer(data); - // var isValidData = datas.some(function (data) { - // return (data.length > 4 && data[0] === 255 && data[1] === 85); - // }); - // return isValidData; - }; - afterConnect = function(that, cb) { - that.connected = true; - if (cb) { - cb('connected'); - } - }; - validateLocalData = function(data) { - return true; - }; - requestRemoteData = function(handler) { - const self = this; - if (!self.sensorData) { - return; - } - Object.keys(this.sensorData).forEach((key) => { - if (self.sensorData[key] != undefined) { - handler.write(key, self.sensorData[key]); - } - }); - }; - handleRemoteData = function(handler) { - const self = this; - const getDatas = handler.read('GET'); - const setDatas = handler.read('SET') || this.defaultOutput; - const time = handler.read('TIME'); - let buffer = new Buffer([]); - if (getDatas) { - const keys = Object.keys(getDatas); - keys.forEach((key) => { - let isSend = false; - const dataObj = getDatas[key]; - if (typeof dataObj.port === 'string' || typeof dataObj.port === 'number') { - const time = self.digitalPortTimeList[dataObj.port]; - if (dataObj.time > time) { - isSend = true; - self.digitalPortTimeList[dataObj.port] = dataObj.time; - } - } else if (Array.isArray(dataObj.port)) { - isSend = dataObj.port.every((port) => { - const time = self.digitalPortTimeList[port]; - return dataObj.time > time; - }); - - if (isSend) { - dataObj.port.forEach((port) => { - self.digitalPortTimeList[port] = dataObj.time; - }); - } - } - if (isSend) { - if (!self.isRecentData(dataObj.port, key, dataObj.data)) { - self.recentCheckData[dataObj.port] = { - type: key, - data: dataObj.data, - }; - buffer = Buffer.concat([buffer, self.makeSensorReadBuffer(key, dataObj.port, dataObj.data)]); - } - } - }); - } - if (setDatas) { - const setKeys = Object.keys(setDatas); - setKeys.forEach((port) => { - const data = setDatas[port]; - if (data) { - if (self.digitalPortTimeList[port] < data.time) { - self.digitalPortTimeList[port] = data.time; - - if (!self.isRecentData(port, data.type, data.data)) { - self.recentCheckData[port] = { - type: data.type, - data: data.data, - }; - buffer = Buffer.concat([buffer, self.makeOutputBuffer(data.type, port, data.data)]); - } - } - } - }); - } - if (buffer.length) { - this.sendBuffers.push(buffer); - } - }; - isRecentData = function(port, type, data) { - const that = this; - let isRecent = false; - if (type == this.sensorTypes.ULTRASONIC) { - const portString = port.toString(); - let isGarbageClear = false; - Object.keys(this.recentCheckData).forEach((key) => { - const recent = that.recentCheckData[key]; - if (key === portString) { - } - if (key !== portString && - (recent.type == that.sensorTypes.ULTRASONIC || - recent.type == that.sensorTypes.DHTTEMP || - recent.type == this.sensorTypes.DHTHUMI)) { - delete that.recentCheckData[key]; - isGarbageClear = true; - } - }); - if ((port in this.recentCheckData && isGarbageClear) || !(port in this.recentCheckData)) { - isRecent = false; - } else { - isRecent = true; - } - } else if (port in this.recentCheckData && type == this.sensorTypes.TONE) { - if ( - this.recentCheckData[port].type === type && - this.recentCheckData[port].data === data - ) { - isRecent = true; - } - } - return isRecent; - }; - requestLocalData = function() { - const self = this; - - if (!this.isDraing && this.sendBuffers.length > 0) { - this.isDraing = true; - this.sp.write(this.sendBuffers.shift(), () => { - if (self.sp) { - self.sp.drain(() => { - self.isDraing = false; - }); - } - }); - } - }; - handleLocalData = function(data) { - const self = this; - const datas = this.getDataByBuffer(data); - - datas.forEach((data) => { - if (data.length <= 4 || data[0] !== 255 || data[1] !== 85) { - return; - } - const readData = data.subarray(2, data.length); - let value; - switch (readData[0]) { - case self.sensorValueSize.FLOAT: { - value = new Buffer(readData.subarray(1, 5)).readFloatLE(); - value = Math.round(value * 100) / 100; - break; - } - case self.sensorValueSize.SHORT: { - value = new Buffer(readData.subarray(1, 3)).readInt16LE(); - break; - } - case self.sensorValueSize.STRING: { - value = new Buffer(readData[1] + 3); - value = readData.slice(2, readData[1] + 3); - value = value.toString('ascii', 0, value.length); - break; - } - default: { - value = 0; - break; - } - } - const type = readData[readData.length - 1]; - const port = readData[readData.length - 2]; - switch (type) { - case self.sensorTypes.DIGITAL: { - self.sensorData.DIGITAL[port] = value; - break; - } - case self.sensorTypes.ANALOG: { - self.sensorData.ANALOG[port] = value; - break; - } - case self.sensorTypes.PULSEIN: { - self.sensorData.PULSEIN[port] = value; - break; - } - case self.sensorTypes.ULTRASONIC: { - self.sensorData.ULTRASONIC = value; - break; - } - case self.sensorTypes.DHTTEMP: { - self.sensorData.DHTTEMP = value; - break; - } - case self.sensorTypes.DHTHUMI: { - self.sensorData.DHTHUMI = value; - break; - } - case self.sensorTypes.TIMER: { - self.sensorData.TIMER = value; - break; - } - default: { - break; - } - } - }); - }; - makeSensorReadBuffer = function(device, port, data) { - let buffer; - const dummy = new Buffer([10]); - if (device == this.sensorTypes.ULTRASONIC) { - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.GET, - device, - port[0], - port[1], - 10, - ]); - } else if (device == this.sensorTypes.DHTTEMP || device == this.sensorTypes.DHTHUMI) { - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.GET, - device, - port, - 10, - ]); - } else if (!data) { - buffer = new Buffer([ - 255, - 85, - 5, - this.sensorIdx, - this.actionTypes.GET, - device, - port, - 10, - ]); - } else { - const value = new Buffer(2); - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 7, - this.sensorIdx, - this.actionTypes.GET, - device, - port, - 10, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - } - this.sensorIdx++; - if (this.sensorIdx > 254) { - this.sensorIdx = 0; - } - return buffer; - }; - makeOutputBuffer = function(device, port, data) { - let buffer; - const value = new Buffer(2); - const dummy = new Buffer([10]); - - switch (device) { - case this.sensorTypes.SERVO_PIN: - case this.sensorTypes.DIGITAL: - case this.sensorTypes.PWM: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.SERVO_DETACH: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.TONE: { - const time = new Buffer(2); - if ($.isPlainObject(data)) { - value.writeInt16LE(data.value); - time.writeInt16LE(data.duration); - } else { - value.writeInt16LE(0); - time.writeInt16LE(0); - } - buffer = new Buffer([ - 255, - 85, - 8, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, time, dummy]); - break; - } - case this.sensorTypes.SW_RESET: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.RGBLED: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.NEOPIXELINIT: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.NEOPIXELDIS: { - const num = new Buffer(2); - const r = new Buffer(2); - const g = new Buffer(2); - const b = new Buffer(2); - - if ($.isPlainObject(data)) { - num.writeInt16LE(data.num); - r.writeInt16LE(data.r); - g.writeInt16LE(data.g); - b.writeInt16LE(data.b); - } else { - num.writeInt16LE(0); - r.writeInt16LE(0); - g.writeInt16LE(0); - b.writeInt16LE(0); - } - buffer = new Buffer([ - 255, - 85, - 12, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, num, r, g, b, dummy]); - break; - } - case this.sensorTypes.DHTINIT: { - value.writeInt16LE(data); - - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.LCDINIT: { - value.writeInt16LE(data); - - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - case this.sensorTypes.LCD_DIS: { - let text; - const row = new Buffer(1); - const column = new Buffer(1); - let textLen = 0; - const textLenBuf = new Buffer(1); - - if ($.isPlainObject(data)) { - textLen = (`${data.text}`).length; - text = Buffer.from(`${data.text}`, 'ascii'); - row.writeInt8(data.row); - textLenBuf.writeInt8(textLen); - column.writeInt8(data.column); - } else { - textLen = 0; - text = Buffer.from('', 'ascii'); - row.writeInt8(0); - textLenBuf.writeInt8(textLen); - column.writeInt8(0); - } - buffer = new Buffer([ - 255, - 85, - 4 + 3 + textLen, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); - break; - } - case this.sensorTypes.LCDOPTION: { - let text; - const row = new Buffer(1); - const column = new Buffer(1); - let textLen = 0; - const textLenBuf = new Buffer(1); - - if ($.isPlainObject(data)) { - textLen = (`${data.text}`).length; - text = Buffer.from(`${data.text}`, 'ascii'); - row.writeInt8(data.row); - textLenBuf.writeInt8(textLen); - column.writeInt8(data.column); - } else { - textLen = 0; - text = Buffer.from('', 'ascii'); - row.writeInt8(0); - textLenBuf.writeInt8(textLen); - column.writeInt8(0); - } - buffer = new Buffer([ - 255, - 85, - 4 + 3 + textLen, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); - break; - } - case this.sensorTypes.LCDCLEAR: { - value.writeInt16LE(data); - buffer = new Buffer([ - 255, - 85, - 6, - this.sensorIdx, - this.actionTypes.SET, - device, - port, - ]); - buffer = Buffer.concat([buffer, value, dummy]); - break; - } - } - //console.log(buffer); - return buffer; - }; - getDataByBuffer = function(buffer) { - const datas = []; - let lastIndex = 0; - buffer.forEach((value, idx) => { - if (value == 13 && buffer[idx + 1] == 10) { - datas.push(buffer.subarray(lastIndex, idx)); - lastIndex = idx + 2; - } - }); - return datas; - }; - disconnect = function(connect) { - const self = this; - connect.close(); - if (self.sp) { - delete self.sp; - } - }; - reset = function() { - this.lastTime = 0; - this.lastSendTime = 0; - this.sensorData.PULSEIN = {}; - }; -} -module.exports = new castarter_v2(); diff --git a/app/modules/castarter_v2.json b/app/modules/castarter_v2.json deleted file mode 100644 index d536839cf..000000000 --- a/app/modules/castarter_v2.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": "4D0101", - "name": { - "en": "2nd Coding Array Starter", - "ko": "2세대 코딩어레이 스타터" - }, - "category": "board", - "platform": ["win32", "darwin"], - "icon" : "castarter_v2.png", - "module": "castarter_v2.js", - "url": "https://cafe.naver.com/arduinostory", - "email": "we@codingarray.cc", - "video": "https://youtu.be/R6nYA4AOn8w", - "driver": { - "win32-ia32": "arduino/dpinst-x86.exe", - "win32-x64": "arduino/dpinst-amd64.exe" - }, - "reconnect": true, - "firmware": "castarter_v2", - "hardware": { - "type": "serial", - "control": "slave", - "duration": 32, - "vendor": "Arduino", - "firmwarecheck": false, - "baudRate": 115200 - } -} diff --git a/app/modules/castarter_v2.png b/app/modules/castarter_v2.png deleted file mode 100644 index 62f9e5a4b87b4e1f2eb13404fd9acdfccddac7a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78036 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 Date: Thu, 16 Dec 2021 20:27:18 +0900 Subject: [PATCH 6/6] =?UTF-8?q?2=EC=84=B8=EB=8C=80=20=EC=BD=94=EB=94=A9?= =?UTF-8?q?=EC=96=B4=EB=A0=88=EC=9D=B4=20=EC=8A=A4=ED=83=80=ED=84=B0=20?= =?UTF-8?q?=EC=8B=A0=EA=B7=9C=20=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/firmwares/castarter_v2.hex | 982 +++++++++++++++++++++++++++++++++ app/modules/castarter_v2.js | 630 +++++++++++++++++++++ app/modules/castarter_v2.json | 28 + app/modules/castarter_v2.png | Bin 0 -> 78036 bytes 4 files changed, 1640 insertions(+) create mode 100644 app/firmwares/castarter_v2.hex create mode 100644 app/modules/castarter_v2.js create mode 100644 app/modules/castarter_v2.json create mode 100644 app/modules/castarter_v2.png diff --git a/app/firmwares/castarter_v2.hex b/app/firmwares/castarter_v2.hex new file mode 100644 index 000000000..3db6f0907 --- /dev/null +++ b/app/firmwares/castarter_v2.hex @@ -0,0 +1,982 @@ +:100000000C94C0000C94E8000C94E8000C94E800F8 +:100010000C94E8000C94E8000C94E8000C94F20AAC +:100020000C94E8000C94E8000C94E8000C94F00B9D +:100030000C94E8000C94E8000C94E8000C94E800A0 +:100040000C94A60B0C94E8000C94740B0C944E0BBF +:100050000C94E8000C94E8000C94E8000C94E80080 +:100060000C94AC0C0C94E80006206F20202020207B +:10007000202020070001026F0304056F02A602453D +:1000800000001F01011F010500000F0808080700FC +:1000900000080808080808080008080818080808E0 +:1000A00000001F011F101F00000A0A0A1A0A0A0A8C +:1000B000041F000000000000001F000000000000FE +:1000C0000810001B0A0A06000201001B0A0A0A06A1 +:1000D000000C0A0A0A0A0A1400060A0A0A0A0A0591 +:1000E0000000000000000605070C18101212100393 +:1000F0001C060301090901180000000000000C148F +:1001000002020301000000000201001B0A0A0600AF +:100110000810001B0A0A0A06080818100000000050 +:1001200000000000240027002A0002000000080050 +:1001300002010000030407000000000000000000AE +:10014000000000250028002B0000000000230026EE +:10015000002900040404040404040402020202024C +:10016000020303030303030102040810204080017B +:10017000020408102001020408102000390E8A1918 +:1001800011241FBECFEFD8E0DEBFCDBF11E0A0E04D +:10019000B1E0EAEBFCE302C005900D92A638B1078E +:1001A000D9F724E0A6E8B1E001C01D92A630B2075D +:1001B000E1F710E0CFEBD0E004C02197FE010E94F0 +:1001C0004A1CCE3BD107C9F70E942D0F0C94501E3C +:1001D0000C940000CF92DF92EF92FF92CF93DF93C7 +:1001E000B091C503A0E08111AB2F8091C60390E0D0 +:1001F000880F991FAC01475B5E4FC090CB03D09036 +:10020000CC03E090CD03F090CE0330E020E0FA0183 +:10021000C591D491E881B90190E080E0EB23EA1325 +:100220000AC02F5F3F4F6C157D058E059F0578F343 +:100230006FEF7FEFCB01DF91CF91FF90EF90DF90D9 +:10024000CF900895FC0124813581232B21F08081FA +:100250009181009721F41092A30283EA92E008951D +:10026000AF92BF92CF92DF92EF92FF920F931F93C4 +:10027000CF93DF936C017B018B01040F151FEB0102 +:100280005E01AE18BF08C017D10759F06991D601B9 +:10029000ED91FC910190F081E02DC6010995892B2B +:1002A00079F7C501DF91CF911F910F91FF90EF90EA +:1002B000DF90CF90BF90AF900895FC01538D448D97 +:1002C000252F30E0842F90E0821B930B541710F001 +:1002D000CF96089501970895FC01918D828D98170E +:1002E00061F0A28DAE0FBF2FB11D5D968C91928DE6 +:1002F0009F5F9F73928F90E008958FEF9FEF089517 +:10030000FC01918D828D981731F0828DE80FF11DDF +:10031000858D90E008958FEF9FEF0895FC01918DFA +:10032000228D892F90E0805C9F4F821B91098F73F3 +:100330009927089588ED92E00E948E0121E0892B93 +:1003400009F420E0822F089580E090E0892B29F0C5 +:100350000E949A0181110C9400000895FC01A48D63 +:10036000A80FB92FB11DA35ABF4F2C91848D90E0D7 +:1003700001968F739927848FA689B7892C93A089BA +:10038000B1898C91837080648C93938D848D981344 +:1003900006C00288F389E02D80818F7D80830895D7 +:1003A000EF92FF920F931F93CF93DF93EC0181E0C5 +:1003B000888F9B8D8C8D98131AC0E889F98980816C +:1003C00085FF15C09FB7F894EE89FF896083E8899F +:1003D000F98980818370806480839FBF81E090E091 +:1003E000DF91CF911F910F91FF90EF900895F62E1E +:1003F0000B8D10E00F5F1F4F0F731127E02E8C8DB8 +:100400008E110CC00FB607FCFACFE889F9898081FC +:1004100085FFF5CFCE010E94AE01F1CFEB8DEC0F41 +:10042000FD2FF11DE35AFF4FF0829FB7F8940B8F19 +:10043000EA89FB8980818062CFCFCF93DF93EC0183 +:10044000888D8823B9F0AA89BB89E889F9898C91BC +:1004500085FD03C0808186FD0DC00FB607FCF7CF78 +:100460008C9185FFF2CF808185FFEDCFCE010E9478 +:10047000AE01E9CFDF91CF910895833081F028F468 +:10048000813099F08230A9F008958730A9F0883042 +:10049000C9F08430B1F4809180008F7D03C08091D9 +:1004A00080008F7780938000089584B58F7784BD16 +:1004B000089584B58F7DFBCF8091B0008F778093B6 +:1004C000B00008958091B0008F7DF9CF1F93CF9336 +:1004D000DF93282F30E0F901E55DFE4F8491F901AB +:1004E000E959FE4FD491F901ED5AFE4FC491CC2346 +:1004F000A9F0162F81110E943D02EC2FF0E0EE0FC3 +:10050000FF1FE15CFE4FA591B4918FB7F894EC9179 +:10051000111108C0D095DE23DC938FBFDF91CF91FE +:100520001F910895DE2BF8CF9091000189130BC025 +:10053000EAE2F1E0E4919FEF90930001E13049F0AD +:1005400028F0E23061F060E00C94660210926E00D8 +:10055000FACF90916F009D7F90936F00F4CF9091B0 +:1005600070009D7F9093700091E09093B000909107 +:10057000B100987F94609093B1001092B300E3CFE4 +:10058000CF93DF9390E0FC01E959FE4F24918D5AFF +:100590009E4FFC0184918823C9F090E0880F991F39 +:1005A000FC01E05EFE4FA591B491FC01E15CFE4FC1 +:1005B000C591D49161110DC09FB7F8948C9120958D +:1005C00082238C938881282328839FBFDF91CF913A +:1005D0000895623051F49FB7F8943C91822F809532 +:1005E00083238C93E8812E2BEFCF8FB7F894EC9177 +:1005F0002E2B2C938FBFEACFCF93DF93EC0180910A +:10060000ED03882349F08091F2039091F30397FD65 +:1006100003C060E00E94C002D093F303C093F203D2 +:100620008091ED03882341F061E08C2F0E94C0028D +:1006300060E08C2F0E946602FE01ED5AFE4FE491AD +:10064000F0E0EE0FFF1FE15CFE4F859194919093D7 +:1006500000048093FF03FE01E959FE4FE491E0930B +:100660000104DF91CF9108953FB7F89480914A0239 +:1006700090914B02A0914C02B0914D0226B5A89BDF +:1006800005C02F3F19F00196A11DB11D3FBFBA2F24 +:10069000A92F982F8827BC01CD01620F711D811DE4 +:1006A000911D42E0660F771F881F991F4A95D1F769 +:1006B00008958F929F92AF92BF92CF92DF92EF9266 +:1006C000FF924B015C010E9434036B017C010E948C +:1006D00034036C197D098E099F09683E73408105BA +:1006E0009105A8F321E0821A9108A108B10888EECB +:1006F000C80E83E0D81EE11CF11C81149104A104F2 +:10070000B10429F7FF90EF90DF90CF90BF90AF90AA +:100710009F908F9008952FB7F89460914602709142 +:10072000470280914802909149022FBF0895CF92CD +:10073000DF92EF92FF920F931F93CF93DF93CDB78A +:10074000DEB7C054D1400FB6F894DEBF0FBECDBFA8 +:100750000E948B030091C7031091C8032091C90325 +:100760003091CA036B017C01C01AD10AE20AF30A74 +:1007700097018601003D17402105310590F48091D5 +:10078000CF03C05CDE4F0FB6F894DEBF0FBECDBF07 +:10079000DF91CF911F910F91FF90EF90DF90CF905D +:1007A00008956093C7037093C8038093C90390931F +:1007B000CA031092C2031092C1031092C003109298 +:1007C000BF031092BE0362E08091C3030E94C00287 +:1007D00061E070E080E090E00E94590361E0809168 +:1007E000C3030E94C00260E08091C3030E946602BE +:1007F0008091C4038551823020F58BE291E101970D +:10080000F1F762E08091C3030E94C0028091D0039F +:1008100090E08230910538F0880F991F880F991F5A +:1008200005970197F1F7F89480E00E94EA006F3F86 +:100830007F4F8F4F9F4F61F41092CF03789480E0E9 +:10084000A0CF64E170E080E090E00E945903D9CF2E +:1008500081E00E94EA006F3F7F4F8F4F9F4F61F30F +:100860008E010F5F1F4F6E012FEBC21A2EEFD20ABF +:10087000780180E00E94EA00F7016083718382833F +:10088000938381E00E94EA00F70164837583868385 +:100890009783F8E0EF0EF11CEC14FD0451F7789407 +:1008A00030E020E0F801C080D180E280F380448114 +:1008B000558166817781FFEFCF16DF06EF06FF06D1 +:1008C00031F04F3F8FEF58076807780719F41092FF +:1008D000CF03B5CFF90183E0F595E7958A95E1F768 +:1008E000E254FC4F8081880FC416D506E606F70651 +:1008F00010F180832F5F3F4F085F1F4F2832310573 +:1009000089F64091C2032091BE038091BF03280F56 +:100910003327331F8091C003280F311D8091C103FD +:10092000820F932F911D99274817190681F681E0B0 +:100930008093CF0326CF8160DCCF2091F801260F72 +:100940003327331F21323105ECF420911E02FC01C4 +:1009500090E080E0243069F082E00895A091F801F1 +:100960002191AC014A525E4FA40FB52FB11D2C93BB +:100970000196861798F38091F801680F6093F8014B +:1009800080E0089581E0089510921E0281E0809336 +:10099000200210921F0261E082E10E94660261E083 +:1009A00083E10E946602E9EBF0E080818E7F808324 +:1009B00080818D7F808388E48093B80085E4809374 +:1009C000BC000895CF93DF9391E09093D5018823E5 +:1009D000B9F0C091B800D091BA008091BC008A7B78 +:1009E0008093BC0060E082E10E94660260E083E1E7 +:1009F0000E9466020E94C404D093BA00C093B8005B +:100A0000DF91CF910895089508950895E091CD0163 +:100A10008091CC01E81730F4F0E0E455FE4F80817E +:100A200090E008958FEF9FEF08959091CD01809110 +:100A3000CC012FEF3FEF981748F4E92FF0E0E45591 +:100A4000FE4F208130E09F5F9093CD01C901089552 +:100A50008091CC019091CD01891B990B0895CF9283 +:100A6000DF92EF92FF920F931F93CF93DF937C015E +:100A7000CB018A012091AB01222389F0EB016B01AC +:100A8000C40ED51ECC15DD0569F06991D701ED9135 +:100A9000FC910190F081E02DC7010995F3CF642FFF +:100AA0000E949D04C801DF91CF911F910F91FF908B +:100AB000EF90DF90CF900895CF93DF931F92CDB743 +:100AC000DEB769832091AB012223F9F02091CE019A +:100AD000203258F021E030E0FC013383228390E0A3 +:100AE00080E00F90DF91CF9108958091CF01E82FA2 +:100AF000F0E0E557FE4F998190838F5F8093CF019F +:100B00008093CE0181E090E0ECCF61E0CE010196D0 +:100B10000E949D04F7CFF894FC013297E331F10570 +:100B200008F030C0EA56FA4F0C944A1CA905A905F2 +:100B3000A905A905A905A905E005C405D005D8059D +:100B4000D805E005C205C205C205C205C205C20539 +:100B5000E80585E086BB82E080936F0010928700F5 +:100B60001092860010928B0010928A0010928900D9 +:100B700010928800109285001092840010928000DC +:100B8000809381007894089585E286BB82E080930B +:100B90006F002CEC3EE13093870020938600E2CF7B +:100BA00085E286BB82E080936F002EEC3EE1F3CFBE +:100BB00085E286BB82E080936F002FEC3EE1EBCFB5 +:100BC00085E286BB82E080936F0029EC3EE1E3CFB3 +:100BD000F89480917602809381008091750286BBA3 +:100BE0008091740280936F008091720290917302E1 +:100BF000909387008093860080917002909171029B +:100C000090938B0080938A0080916E0290916F0286 +:100C1000909389008093880080916C0290916D027E +:100C2000909385008093840080916B028093800074 +:100C30008091760280938100789410927702A2CFFF +:100C4000FC01EF57FD4F2081211105C091E09083F9 +:100C500061E00C94C0020895682F88ED92E00C9436 +:100C6000D0010F931F93CF93DF938B01D82FC92F00 +:100C700082E00E942C06C801AD2FBC2F8093870113 +:100C800090938801A0938901B0938A010E942C0659 +:100C9000812F0E942C068D2F0E942C068C2FDF9115 +:100CA000CF911F910F910C942C0642E050E063E825 +:100CB00071E088ED92E00C9430018FEF0E942C06D9 +:100CC00085E50E942C060C9455068FEF0E942C0699 +:100CD00085E50C942C06CF92DF92EF92FF920F9352 +:100CE0001F93CF93DF93FC01C48121E02093AB01DC +:100CF000C09386011092CF011092CE018385682B9C +:100D000085E793E00E945C05D091CE01D13208F0D6 +:100D100092C00E9434036B017C0180911E028111FC +:100D200065C082E080931E0281E0809320028FEFF5 +:100D300080931D0210924202D0934102ABE8B1E0D1 +:100D4000E1E2F2E080E0D81385C010924302809186 +:100D50004302CC0FC82BC093430280911F02813005 +:100D600009F07CC010921F020E9434036B017C01C9 +:100D7000809143028093BB008091D1019091D20178 +:100D8000A091D301B091D401892B8A2B8B2B99F0A0 +:100D90000E9434030091D1011091D2012091D3011E +:100DA0003091D4016C197D098E099F090617170728 +:100DB00028073907E0F18091BC0083FDD9CF85EC8D +:100DC0008093BC000E9434036B017C0180911E0261 +:100DD000823009F445C080911D028F3F61F18091FE +:100DE0001D02803241F180911D0225C08091D10108 +:100DF0009091D201A091D301B091D401892B8A2B7B +:100E00008B2B09F48ACF0E9434030091D1011091F9 +:100E1000D2012091D3013091D4016C197D098E0942 +:100E20009F09061717072807390708F076CF809122 +:100E3000D0010E94E2041092CF011092CE011092D4 +:100E4000AB01DF91CF911F910F91FF90EF90DF9059 +:100E5000CF9008959D9191938F5F75CF85EEB0CF20 +:100E60008091D1019091D201A091D301B091D40190 +:100E7000892B8A2B8B2B09F4A9CF0E943403009174 +:100E8000D1011091D2012091D3013091D4016C197C +:100E90007D098E099F09061717072807390708F0EB +:100EA00095CFC5CF089590E080E008950F931F93EC +:100EB000CF938C01C62F0E946B066C2F6460C80113 +:100EC0000E946B066C2F6B7FC8010E946B0683EC3F +:100ED00090E00197F1F7CF911F910F9108950F9333 +:100EE0001F93CF93DF938C01D62FC42F607F642B89 +:100EF0000E94560780E1D89FB00111246C2BC801D5 +:100F0000DF91CF911F910F910C94560740E061E063 +:100F100082EB93E00E946F078BE39FE10197F1F76B +:100F20000895CF93DF93CDB7DEB728970FB6F89427 +:100F3000DEBF0FBECDBF98E0EDE0F1E0DE0111961F +:100F400001900D929A95E1F79091BA03961710F4DB +:100F50006FEF690F262F30E0220F331F41E050E082 +:100F60004C0F5D1F240F351FF9016081680F606809 +:100F700040E082EB93E028960FB6F894DEBF0FBEF8 +:100F8000CDBFDF91CF910C946F0741E00E946F07B6 +:100F900081E090E008950F931F93CF93DF938B012F +:100FA00098E0899FB0011124606440E082EB93E0F7 +:100FB0000E946F07E801085F1F4F699182EB93E081 +:100FC0000E94C507C017D107C1F7DF91CF911F91CC +:100FD0000F91089565E471E080E00E94CB076DE316 +:100FE00071E081E00E94CB0765E371E082E00E943E +:100FF000CB076DE271E083E00E94CB0765E271E010 +:1010000084E00E94CB076DE171E085E00E94CB0790 +:1010100065E171E086E00E94CB0765E171E087E061 +:101020000C94CB07FC0180819181009711F00C9406 +:10103000F31C08950F931F93CF93DF938C0180913E +:10104000F5039091F6030E94F31C9091FA038091AE +:10105000F703981721F184E090E0809FE001819FE1 +:10106000D00D909FD00D1124D093F103C093F003C5 +:10107000CE010E94571C9093F6038093F5030097CE +:1010800089F0AE0170E060E00E94421E1093EF0311 +:101090000093EE03DF91CF911F910F91089583E0AC +:1010A00090E0DBCF1092F1031092F0031092EF0367 +:1010B0001092EE03EFCF0F931F93CF93DF93EC01CA +:1010C00088819981009759F02A813B81261737073B +:1010D00030F081E0DF91CF911F910F9108958B0146 +:1010E0006F5F7F4F0E947C1D009759F09983888322 +:1010F0001B830A832C813D81232B59F7FC0110822D +:10110000E8CF80E0E7CFAF92BF92CF92DF92EF922D +:10111000FF920F931F93CF93DF9300D0CDB7DEB72D +:101120008C015B01FC0111821082138212821582F4 +:10113000148270E060E00E945B08F8012081318138 +:1011400081113FC02115310519F0C9010E94F31C1E +:10115000F8011182108215821482138212828EEAA3 +:10116000E82E82E0F82EFAE0AF0EB11CE4EAF2E0DD +:10117000C701845A92408A159B055CF5F70180816E +:1011800089831A82F801C480D580FFEFCF1ADF0A65 +:10119000B601C8010E945B08882379F0F80120811C +:1011A000318184819581BE016F5F7F4F820F931FD4 +:1011B0000E94491EF801D582C482F70111927F0175 +:1011C000D5CF1582148265E871E0C9010E94491EDD +:1011D000C6CF119282E0EE3AF807D9F7C8010F9016 +:1011E0000F90DF91CF911F910F91FF90EF90DF90C3 +:1011F000CF90BF90AF90089585ED8093BC00809113 +:10120000D1019091D201A091D301B091D401079660 +:10121000A11DB11D23E0B695A795979587952A95B1 +:10122000D1F72091BC0024FD03C010921E02089546 +:101230004091D1015091D2016091D3017091D401BC +:10124000452B462B472B69F30097A105B10541F0CB +:1012500025E32A95F1F700000197A109B109E1CF33 +:101260008091D0010C94E204EF92FF920F931F93B0 +:10127000CF93DF93CDB7DEB728970FB6F894DEBFD4 +:101280000FBECDBF87E28093B6031092CD011092BE +:10129000CC011092CF011092CE010E94C40483E0D1 +:1012A00095E09093F7018093F60184E095E09093A8 +:1012B000FB018093FA011092B7038091BC03823046 +:1012C00018F098E09093B7038093BA0362E370E05C +:1012D00080E090E00E9459036091BD0382EB93E0AF +:1012E0000E946B0662E370E080E090E00E94590388 +:1012F00060E382EB93E00E9456070BE416E4C8011A +:101300000197F1F760E382EB93E00E945607C80172 +:101310000197F1F760E382EB93E00E94560783E5C3 +:1013200092E00197F1F760E282EB93E00E945607AA +:101330006091B703606240E082EB93E00E946F0728 +:1013400084E08093B80340E06CE082EB93E00E947D +:101350006F070E94860782E08093B90340E066E051 +:1013600082EB93E00E946F0740E062E082EB93E043 +:101370000E946F078BE39FE10197F1F788E080936C +:10138000BD0360E082EB93E00E946B0660E080E0CA +:101390000E949107809169028111D6C081E08093FB +:1013A000690290EEE92E90E0F92E10E048E050E05E +:1013B000B701CE0101960E94A219BE016F5F7F4F57 +:1013C000812F0E94CB0788E0E80EF11C1F5F1830C8 +:1013D00069F710E000E060E00115110521F004302C +:1013E000110521F461E086E00E949107602F82EBF5 +:1013F00093E00E94C5070F5F1F4F0830110559F792 +:1014000010E000E048E050E000FDABC068ED70E0A7 +:10141000CE0101960E94A219BE016F5F7F4F80E04E +:101420000E94CB0748E050E060ED70E0CE010196ED +:101430000E94A219BE016F5F7F4F83E00E94CB071D +:1014400048E050E068EC70E0CE0101960E94A219DD +:10145000BE016F5F7F4F85E00E94CB0748E050E000 +:1014600060EC70E0CE0101960E94A219BE016F5F90 +:101470007F4F86E00E94CB0760E086E00E949107E4 +:1014800060E082EB93E00E94C50760E089E00E9483 +:10149000910763E082EB93E00E94C50761E087E07B +:1014A0000E94910765E082EB93E00E94C50766E029 +:1014B00082EB93E00E94C5076CE370E080E090E06F +:1014C0000E9459030F5F1F4F0630110509F09ACF94 +:1014D00080E8E82E80E0F82E10E048E050E0B70108 +:1014E000CE0101960E94A219BE016F5F7F4F812F2E +:1014F0000E94CB0788E0E80EF11C1F5F183069F7E7 +:1015000010E000E0C801029760E00C9708F456C0B4 +:10151000802F0E94910760E282EB93E00E94C50752 +:1015200061E0802F0E94910760E282EB93E00E94CD +:10153000C5076FE070E080E090E00E9459030F5F04 +:101540001F4F00311105F1F628960FB6F894DEBF53 +:101550000FBECDBFDF91CF911F910F91FF90EF9004 +:10156000089560EE70E0CE0101960E94A219BE01BE +:101570006F5F7F4F80E00E94CB0748E050E068EF4C +:1015800070E0CE0101960E94A219BE016F5F7F4FED +:1015900083E00E94CB0748E050E068E071E0CE01B4 +:1015A00001960E94A219BE016F5F7F4F85E00E94E5 +:1015B000CB0748E050E060E171E054CF802F0E94FB +:1015C0009107F801EE58FF4F649182EB93E00E947F +:1015D000C50761E0802F0E949107F801EA59FF4F8B +:1015E0006491A3CF1F920F920FB60F9211242F93E5 +:1015F0003F934F935F936F937F938F939F93AF939B +:10160000BF93EF93FF938091550290915602A09162 +:101610005702B0915802892B8A2B8B2BD1F19091D4 +:101620005002E0915102F09152028081892780831B +:101630008091550290915602A0915702B0915802A4 +:10164000181619061A061B069CF4809155029091F3 +:101650005602A0915702B09158020197A109B10911 +:101660008093550290935602A0935702B09358026C +:10167000FF91EF91BF91AF919F918F917F916F916A +:101680005F914F913F912F910F900FBE0F901F9040 +:101690001895809100010E949402EACF1F920F9248 +:1016A0000FB60F9211242F933F934F935F936F9335 +:1016B0007F938F939F93AF93BF93EF93FF9388EDA7 +:1016C00092E00E94AE01FF91EF91BF91AF919F9187 +:1016D0008F917F916F915F914F913F912F910F90DB +:1016E0000FBE0F901F9018951F920F920FB60F927A +:1016F00011242F938F939F93EF93FF93E091E80230 +:10170000F091E9028081E091EE02F091EF0282FD1A +:101710001BC090818091F1028F5F8F732091F20244 +:10172000821741F0E091F102F0E0E852FD4F958F11 +:101730008093F102FF91EF919F918F912F910F90E4 +:101740000FBE0F901F9018958081F4CF1F920F92BB +:101750000FB60F9211242F933F938F939F93AF93C4 +:10176000BF938091460290914702A0914802B091A8 +:1017700049023091450223E0230F2D3758F5019699 +:10178000A11DB11D2093450280934602909347020C +:10179000A0934802B093490280914A0290914B0273 +:1017A000A0914C02B0914D020196A11DB11D8093F4 +:1017B0004A0290934B02A0934C02B0934D02BF910A +:1017C000AF919F918F913F912F910F900FBE0F90EE +:1017D0001F90189526E8230F0296A11DB11DD2CFA8 +:1017E0001F920F920FB60F9211242F933F934F9396 +:1017F0005F936F937F938F939F93AF93BF93CF9399 +:10180000DF93EF93FF9380914402C091A503D0E052 +:1018100087FF24C0109285001092840080914402BA +:101820008F5F8093440280914402082E000C990B34 +:101830008C179D0724F4809144028C30C4F1809170 +:10184000840090918500049680349C4908F47AC005 +:101850008091840090918500049676C08091440226 +:10186000082E000C990B8C179D07C4F6E0914402DA +:101870008E2FEE0F990BFC01EE0FFF1FE80FF91FE3 +:10188000EF57FC4F808186FFC9CFE09144028E2F35 +:10189000EE0F990BFC01EE0FFF1FE80FF91FEF573A +:1018A000FC4F808160E08F730E946602B7CF209169 +:1018B000840030918500E09144028E2FEE0F990B49 +:1018C000FC01EE0FFF1FE80FF91FEF57FC4F81815E +:1018D0009281820F931F9093890080938800E091FA +:1018E00044028E2FEE0F990BFC01EE0FFF1FE80F45 +:1018F000F91FEF57FC4F808186FF11C0E091440231 +:101900008E2FEE0F990BFC01EE0FFF1FE80FF91F52 +:10191000EF57FC4F808161E08F730E946602FF9158 +:10192000EF91DF91CF91BF91AF919F918F917F9177 +:101930006F915F914F913F912F910F900FBE0F903C +:101940001F90189580E49CE990938900809388000B +:101950008FEF80934402E3CF1F920F920FB60F9246 +:1019600011242F933F934F935F936F937F938F93A4 +:101970009F93AF93BF93EF93FF938091B900887FBC +:10198000803609F44AC0F0F5883209F4A7C018F58A +:10199000803109F49BC0B8F4882309F4F9C0883079 +:1019A00009F494C0FF91EF91BF91AF919F918F91F6 +:1019B0007F916F915F914F913F912F910F900FBE4B +:1019C0000F901F901895883109F488C0803251F724 +:1019D00080931D0214C0803409F49DC040F480330C +:1019E000B9F38833F9F680931D0285ECB0C08035D9 +:1019F00009F485C0883509F496C0883499F60E94A8 +:101A0000FC08D0CF883909F48CC038F5883729F024 +:101A100050F4883611F0803729F683E080931E0257 +:101A200010921C0257C0883809F47BC0803919F025 +:101A3000803809F0B7CF80911C02803208F071C065 +:101A4000E0911C0281E08E0F80931C028091BB000C +:101A5000F0E0E450FE4F80833DC0803B39F0E0F47D +:101A6000803A09F479C0883A09F09CCF84E08093E9 +:101A70001E021092F9011092F801E091F601F09126 +:101A8000F70109958091F80181110FC081E08093E1 +:101A9000F8011092D60109C0803C09F4A6CF883C19 +:101AA00009F4A3CF883B09F07DCFE091F90181E0F3 +:101AB0008E0F8093F901F0E0EA52FE4F808180930F +:101AC000BB009091F9018091F80129C080914302F7 +:101AD0008093BB0085EC8093BC0064CF9091420260 +:101AE00080914102981758F5E091420281E08E0FF3 +:101AF00080934202F0E0EF5DFD4F8081E9CFE091FD +:101B0000420281E08E0F809342028091BB00F0E0A0 +:101B1000EF5DFD4F808390914202809141029817C2 +:101B2000C8F285E8D8CFE091420281E08E0F809321 +:101B300042028091BB00F0E0EF5DFD4F8083809119 +:101B4000200281115CCF81E080931F0284EA8093A0 +:101B5000BC0010921E0226CF85EC8093BC00109230 +:101B60001E0280911C02803230F4E0911C02F0E0F1 +:101B7000E450FE4F108260911C0270E0E091FA0187 +:101B8000F091FB018CEF91E0099510921C020ACFB5 +:101B900010921D0234CFCF92DF92EF92FF920F93FB +:101BA0001F93E82FF92F05C00150110921093109B0 +:101BB00061F1908196239417B9F305C00150110982 +:101BC0002109310911F1908196239413F7CFC12C8B +:101BD000D12CE12CF12C0AC08FEFC81AD80AE80AE0 +:101BE000F80A0C151D052E053F0579F08081862326 +:101BF000841791F36C2D7D2D8E2D9F2D1F910F91AC +:101C0000FF90EF90DF90CF90089560E070E080E06B +:101C100090E01F910F91FF90EF90DF90CF9008958B +:101C2000CF93DF93EC01198218821B821A821D82E6 +:101C30001C8270E060E00E945B082881398181117C +:101C40000FC02115310519F0C9010E94F31C19823A +:101C500018821D821C821B821A82DF91CF91089507 +:101C60001D821C8265E871E0C901DF91CF910C945F +:101C7000491E1092DB021092DA0288EE93E0A0E097 +:101C8000B0E08093DC029093DD02A093DE02B0937B +:101C9000DF0227E531E03093D9022093D80225EC0A +:101CA00030E03093E5022093E40224EC30E03093FE +:101CB000E7022093E60220EC30E03093E902209323 +:101CC000E80221EC30E03093EB022093EA0222ECB0 +:101CD00030E03093ED022093EC0226EC30E03093BC +:101CE000EF022093EE021092F1021092F202109293 +:101CF000F3021092F402109278031092770380930B +:101D0000790390937A03A0937B03B0937C0389E6D5 +:101D100091E090937603809375031092ED031092F7 +:101D2000F4031092F6031092F5031092FB03109245 +:101D3000FC031092FD031092FE0381E08093FA03EE +:101D40008093F7031092F80392E09093F903809345 +:101D5000EC0382E090E00E941A0888E090E00E9484 +:101D6000FC02E4EDF3E02CEE33E04FEF68EB7BE0B8 +:101D70008091A5038C3008F06AC091E0980F909391 +:101D8000A503808390E0DC01AA0FBB1FA80FB91F39 +:101D9000AF57BC4F12967C936E93119733962E17C4 +:101DA0003F0731F78091A5038C3008F052C091E0D5 +:101DB000980F9093A5038093D10390E0FC01EE0F60 +:101DC000FF1FE80FF91FEF57FC4F88EB9BE0928352 +:101DD000818390910601809105018093C3039093C4 +:101DE000C40390E0FC01E959FE4FE491E093C50380 +:101DF000FC01ED5AFE4FE491E093C60380E89EE3B8 +:101E0000A0E0B0E08093CB039093CC03A093CD03EC +:101E1000B093CE031092B5031092B4038BE791E018 +:101E20009093B3038093B20387E28093B60380E17B +:101E30008093BB0382E08093BC031092BD038CEAC5 +:101E400093E00E94100E86EA93E00C94100E4083FB +:101E5000A5CF8FEF8093D103BCCFCF93DF93CDB7C6 +:101E6000DEB763970FB6F894DEBF0FBECDBF789490 +:101E700084B5826084BD84B5816084BD85B582608F +:101E800085BD85B5816085BD80916E008160809340 +:101E90006E001092810080918100826080938100A9 +:101EA00080918100816080938100809180008160B9 +:101EB000809380008091B10084608093B100809114 +:101EC000B00081608093B00080917A00846080933C +:101ED0007A0080917A00826080937A0080917A0003 +:101EE000816080937A0080917A00806880937A0084 +:101EF0001092C100E091E802F091E90282E0808353 +:101F0000E091E402F091E5021082E091E602F091A6 +:101F1000E70280E180831092F002E091EC02F09100 +:101F2000ED0286E08083E091EA02F091EB0280818D +:101F300080618083E091EA02F091EB028081886009 +:101F40008083E091EA02F091EB02808180688083D7 +:101F5000E091EA02F091EB0280818F7D808312E0B4 +:101F600061E0812F0E94C00260E0812F0E94660222 +:101F70001F5F1E30A9F70E9434098091F2039091EF +:101F8000F30397FD08C061E00E94C00260E0809109 +:101F9000F2030E94660281E08093ED03809180004D +:101FA00080936B028091810080937602F89486B3CF +:101FB0008093750280916F008093740280918600F7 +:101FC00090918700909373028093720280918A00AF +:101FD00090918B00909371028093700280918800A1 +:101FE0009091890090936F0280936E02809184009B +:101FF0009091850090936D0280936C02789401E03B +:102000002AE2222E21E0322E88ED92E00E948E01FB +:10201000892B09F4DBC688ED92E00E948E01181628 +:10202000190694F788ED92E00E946C0190917B0272 +:10203000853509F05AC0911158C080917A028F3FBE +:1020400021F40093790200937B02809179028F5FE3 +:10205000843308F062C08093790280917B028823E8 +:1020600099F2809178028111CFCF809179028430EA +:1020700058F210927B028091A9027090AA02E72C7C +:10208000F12C2091A802223009F48AC0233009F4EF +:102090009AC6213039F5873009F061C01091AB0242 +:1020A000812F90E03091800231113CC0209380025A +:1020B0007092040110930301F701EF57FD4F208345 +:1020C0008F579D4FFC01208361E0872D0E94C00245 +:1020D00060E0812F0E94C00262E370E080E090E047 +:1020E0000E945903109279028FCF80937A0299232C +:1020F00009F4ABCFE0917902E23039F480937802B1 +:10210000F0E0EC55FD4F8083A0CFE330C8F3909111 +:102110007802915090937802F3CF10927902109246 +:102120007B029BCFA0910401E09103017A1202C0CF +:10213000E117C1F2B0E0AF57BD4F1C92F0E0EF578E +:10214000FD4F10827092040110930301F701EF57C5 +:10215000FD4F00838F579D4FFC010083B5CFF701E2 +:10216000EF57FD4F1092800210927C0210927D0278 +:1021700010927E0210927F0210828A3139F480918F +:10218000A2028111AFCF0093A202ACCF8B3109F034 +:10219000A9CF8091A1028111A5CF0093A102A2CF66 +:1021A00090910401791621F09091030179120AC0EF +:1021B0001092800210927C0210927D0210927E0298 +:1021C00010927F028931E1F090910501791218C0D7 +:1021D000F701EF57FD4F10821092A2021092950264 +:1021E0001092960210929702109298021092A102F9 +:1021F0001092990210929A0210929B0210929C02E5 +:10220000EFEFE80FE93108F09DC00E2E000CFF0B38 +:10221000E45FFE4E0C944A1C2511A2112E11C81326 +:10222000C411A211A211A314A514BB14BF14D91474 +:102230009B140F161816E3164416A211A211A21130 +:10224000A211A211A211A2119A16C7010E94200682 +:102250006091AB02872D0E94660274C0C7010E9484 +:1022600020061091AB02C12ED12C809177028130D3 +:10227000B9F5F8948091760280938100809175027F +:1022800086BB8091740280936F008091720290915E +:1022900073029093870080938600809170029091E2 +:1022A000710290938B0080938A0080916E029091CE +:1022B0006F02909389008093880080916C029091C6 +:1022C0006D02909385008093840080916B028093CF +:1022D000800080917602809381007894109277023A +:1022E00061E0872D0E94C002111102C060E0B2CFF0 +:1022F000FFEFCF16D10411F461E0ACCFF701E55D3B +:10230000FE4FE491E33031F148F4E130B9F0E230CE +:10231000E1F020E8C216D1047CF7E8CFE73021F1E4 +:10232000E83051F1E430A9F7809180008062809319 +:102330008000D0928B00C0928A0004C084B580686F +:1023400084BD17BD0E945D06CDCE84B5806284BD7C +:1023500018BDF8CF80918000806880938000D09273 +:102360008900C0928800EECF8091B0008068809391 +:10237000B0001093B300E6CF8091B00080628093EC +:10238000B0001093B400DECFC7010E9420068091F8 +:10239000AB0280934E028091AC0280934F028091F9 +:1023A0004E0290914F02998B888B8091AD02809361 +:1023B0004E028091AE0280934F02E0914E02F09166 +:1023C0004F02FB8BEA8B1E161F060CF0DDC18091BD +:1023D0000001871177C0F101149117FDB3CF61E0BF +:1023E000872D0E94C0021123B1F028893989290163 +:1023F000712C612C60E072E18AE790E0A3010E94F9 +:10240000CF1A69017A0171E0C71AD108E108F10811 +:10241000123009F076C1888999892C01712C612CC0 +:1024200060E072E18AE790E0A30192010E94CF1A76 +:1024300049015A017A01690191E0C91AD108E108FC +:10244000F108EFEFCE16D104E104F10409F00CF429 +:102450002BC160E472E48FE090E0A30192010E943E +:10246000CF1A69017A01F1E0CF1AD108E108F10829 +:10247000123009F09DC082E02FEFC216D104E104B2 +:10248000F104C9F0C4F060E970ED83E090E0A301CD +:1024900092010E94CF1A69017A0171E0C71AD1082E +:1024A000E108F1088FEFC816D104E104F10411F03E +:1024B0000CF017C783E09091B100987F892B80932F +:1024C000B100F9C08F3F09F03DCF70920001F101DA +:1024D00014911F3F09F436CF113031F150F0123012 +:1024E00009F442C017FD2ECF61E0872D0E94C00283 +:1024F0007CCF14BC15BC84B5826084BD85B5816079 +:1025000085BDF701ED5AFE4FE491F0E0EE0FFF1F9D +:10251000E15CFE4F85919491F701E959FE4FE491FA +:10252000E093540210E05BCF109280001092810083 +:10253000809181008860809381008091810081601A +:1025400080938100F701ED5AFE4FE491F0E0EE0F29 +:10255000FF1FE15CFE4F85919491F701E959FE4F11 +:10256000E491E09353023BCF1092B0001092B1007F +:102570008091B00082608093B0008091B100816052 +:102580008093B100F701ED5AFE4FE491F0E0EE0FB9 +:10259000FF1FE15CFE4F85919491909352028093CE +:1025A0005102F701E959FE4FE491E093500217CF31 +:1025B0009FEFC916D104E104F10409F00CF49FC0A7 +:1025C00068E478EE81E090E0A30192010E94CF1AC6 +:1025D00069017A01E1E0CE1AD108E108F10884E04E +:1025E000111141C083E0FFEFCF16D104E104F104E3 +:1025F00009F00CF45CC062E17AE780E090E0A301AE +:1026000092010E94CF1A69017A0191E0C91AD1089A +:10261000E108F10884E0EFEFCE16D104E104F10403 +:1026200009F008F444C0750164012AE0F594E794C8 +:10263000D794C7942A95D1F721E0C21AD108E108AE +:10264000F10885E034C064E274EF80E090E0A3011B +:1026500092010E94CF1A69017A01F1E0CF1AD108E4 +:10266000E108F10885E09FEFC916D104E104F10407 +:1026700009F008F420CF62E17AE780E090E0A3015E +:1026800092010E94CF1A69017A0171E0C71AD1083C +:10269000E108F1088FEFC816D104E104F10411F04C +:1026A00008F00FC686E007CF81E0111104CF95B581 +:1026B000987F892B85BD28893989220F331FAA89E4 +:1026C000BB890E94501C28EE33E040E050E00E949D +:1026D000301B1130B9F1123009F446C0111132CE5D +:1026E000C7BC20935D0230935E0240935F0250931B +:1026F000600280916E00826080936E0023CE82E043 +:10270000D4CF91E0C114D10421E0E206F10484F0B9 +:1027100068E478EE81E090E0A30192010E94CF1A74 +:1027200069017A0171E0C71AD108E108F10893E064 +:10273000113009F0C0CF80918100887F892B809370 +:102740008100B9CFD0928900C092880020935902AD +:1027500030935A0240935B0250935C0280916F0069 +:10276000826080936F00EECDC092B300209355023B +:102770003093560240935702509358028091700054 +:10278000826080937000DECD872D0E949402DACDA6 +:10279000C7010E942006B090AB02B11007C0809123 +:1027A0007702811103C0C7010E948B05EB2DE15018 +:1027B000FF0BE43BF10508F0C5CD65E070E080E07B +:1027C00090E00E945903E1E6F2E090E080E0219180 +:1027D0002E151F0431F02111A6C0FC01EF59FD4F49 +:1027E0007082FC01EE0FFF1FE80FF91FEC52FC4F47 +:1027F0001081818192811C3008F03FC061E0872DFB +:102800000E94C002812F90E0AC01440F551FFA01D5 +:10281000E80FF91FEF57FC4F272D2F73722E2081E1 +:10282000207C722A708230E020E0F901EE0FFF1F59 +:10283000E20FF31FEF57FC4F608166FD14C02F5F5E +:102840003F4F2C30310589F71092800022E0209311 +:1028500081001092850010928400B19A20916F003F +:10286000226020936F00840F951FFC01EF57FC4FEF +:1028700080818064808390E080E0B8E5CB2EB2E078 +:10288000DB2EC91AD10897FDD394CC0CDD1CCC0CDF +:10289000DD1C28E8E22EF12CE81AF10887FDF394FC +:1028A000EE0CFF1CEE0CFF1C27010F2C000C660821 +:1028B0007708AB2DA53B08F0A4EB96010D2C000C7E +:1028C000440B550B2419350946095709B0E00E94FD +:1028D000EE1A24EB30E040E050E00E94CF1A420EA6 +:1028E000531E641E751E1C30D8F44E145F042CF069 +:1028F00076014C145D040CF4720132E0E31AF10825 +:10290000EE0CFF1C2FB7F894812F90E0FC01EE0F26 +:10291000FF1FE80FF91FEF57FC4FF282E1822FBF34 +:10292000009377020FCD01968830910509F04FCFC3 +:1029300090E080E056CFC7010E94200684E190E03D +:102940000E948B05FFCC0E948B038091AB028F3FCE +:1029500009F0F8CC64E670E080E090E00E94590352 +:1029600088E19EE00FB6F894A895809360000FBEB2 +:1029700090936000E7CCC7010E942006E3CCC7011A +:102980000E9420061091AB0280910201781629F076 +:10299000C7010E94FC027092020180910101181788 +:1029A00009F4D0CC812F90E00E941A081093010105 +:1029B000C9CCC7010E942006D090AB02B090AD02F6 +:1029C0001091AF02C090B10280910201781629F0F7 +:1029D000C7010E94FC02709202012D2D30E080910F +:1029E000EE039091EF032817390708F04CC0812FB0 +:1029F00090E0B0E0A0E0BA2FA92F982F8827AB294C +:102A00008C292D0166247724442D892E9A2EAB2EF5 +:102A1000BB24682D582FE091F403EE2391F06E2F24 +:102A200070E0649DA001659D500D749D500D1124B2 +:102A3000452FE89D40011124692DE89FC001112414 +:102A4000592FE091FA038091F5039091F60370916C +:102A5000F703E713A0C09C0173E0D79E200D311D42 +:102A60001124E091F703E20FF32FF11D4083E09171 +:102A7000F803E20FF32FF11D60838091F903280F13 +:102A8000311DF90150838091F5039091F603892B54 +:102A900009F458CCC090FB03D090FC03E090FD03F8 +:102AA000F090FE030E9434036C157D058E059F0592 +:102AB00050F40E9434036093FB037093FC038093F3 +:102AC000FD039093FE030E943403C090FB03D0905B +:102AD000FC03E090FD03F090FE036C197D098E0964 +:102AE0009F096C32714081059105A0F2F8948091A4 +:102AF000F0039091F10398878F83E091F503F091B3 +:102B0000F603DF01119680818F879091EC03E091AD +:102B1000FF03F091000480910104992309F446C059 +:102B20009081982B9E879081809589238D878D85B4 +:102B30008A8788E089874E855D856F8539852A85F6 +:102B40008F819885408367FD242F3A952083252F18 +:102B500039F0661F00C000005083000000C0F2CFB3 +:102B600038E06D9150830000019761F7F093000405 +:102B7000E093FF036F8739872A8798878F8378943C +:102B80000E9434036093FB037093FC038093FD0366 +:102B90009093FE03D7CB220F331F220F331F280F32 +:102BA000391FE20FF32FF11D10825BCF9081982B1C +:102BB0009E879081809589238D878D858C8788E07D +:102BC0008B874E855D856F853B852C858F819885AC +:102BD000408367FD242F00C000C0208300C000C0D8 +:102BE00000C000C000C050830000252F3A9541F07E +:102BF000661F000000C000C000C000C000C0E8CFD9 +:102C000038E06D9100C0508300C0019709F7F09340 +:102C10000004E093FF036F873B872C87AECF809142 +:102C20006A0281118FCB00936A020E9434098ACB19 +:102C3000E090AB02F090AC021091AD02612F70E019 +:102C4000CE0101960E948308111102C00E948607DE +:102C500080916902813039F40E9486070E94EA0758 +:102C600082E0809369026E2D8F2D0E9491074D8125 +:102C70005E8169817A8182EB93E00E943001CE010E +:102C800001960E9412085ECBF090AB021091AC024C +:102C90006091AD0270E0CE0101960E9483088091A0 +:102CA0006902813039F40E9486070E94EA0782E0B7 +:102CB000809369026F2D812F0E949107CE010196AA +:102CC0000E942201FC01808160E0813371F1CE011C +:102CD00001960E942201FC01808161E0823329F18A +:102CE000CE0101960E942201FC01808162E08333C3 +:102CF000E1F0CE0101960E942201FC01808163E097 +:102D0000843399F0CE0101960E942201FC0180815A +:102D100064E0853351F0CE0101960E942201FC014E +:102D20008081863309F0ABCF65E082EB93E00E94AF +:102D3000C507A5CFC7010E9420068091AB029FEF77 +:102D4000980F9631C8F0F701EF57FD4F108210929F +:102D5000A20210929502109296021092970210927F +:102D600098021092A1021092990210929A02109267 +:102D70009B0210929C02E6CA7092050180930601A4 +:102D80008091A20281111AC08091A102811116C006 +:102D900062E08091C3030E94C0020E948B03605DC9 +:102DA0007740810991096093C7037093C8038093AA +:102DB000C9039093CA0387E38093D0030093A202D0 +:102DC0000093A102BFCA0E948607BCCA6AE070E0F5 +:102DD00080E090E00E945903B1E8EB2EB2E0FB2EB8 +:102DE00010E000E0F70181917F0181113CC0B02E1D +:102DF00060E0802F0E94C0020E946506F801E55D38 +:102E0000FE4F8491F801E959FE4FC490F801ED5A44 +:102E1000FE4FD49070E060E0DD2099F081110E94B7 +:102E20003D02ED2DF0E0EE0FFF1FE75BFE4FA59199 +:102E3000B491EC91CE2291E080E009F490E0692F0A +:102E4000782F072E000C880B990B0E94B2190E9454 +:102E500031068B2D0E942C0681E00E942C060E94D8 +:102E600055060E945D060F5F1F4F0431110509F0E2 +:102E7000B9CF0DE411E0F12CF80181918F0181119E +:102E800027C00E9465068F2D806480937C0080910E +:102E90007A00806480937A0080917A0086FDFCCF6E +:102EA0008091780060917900762F682F072E000CB2 +:102EB000880B990B0E94B2190E9431068F2D0E9437 +:102EC0002C0682E00E942C060E9455060E945D0698 +:102ED000F394F6E0FF12D0CF80918002882309F4AA +:102EE0006DC01091040160E0812F0E94660283E0B2 +:102EF00090E00197F1F761E0812F0E94660283E282 +:102F000090E00197F1F760E0812F0E9466028091C6 +:102F1000030190E0FC01E959FE4F6491FC01ED5A78 +:102F2000FE4FE491F0E0EE0FFF1FE75BFE4F85914F +:102F3000949100E315E720E030E0462F0E94CB0D8E +:102F4000611571058105910529F06F5F7F4F8F4FE6 +:102F50009F4F9F700E94B01920E030E048EE51E48E +:102F60000E94CE1B20E030E040E05FE30E94111A97 +:102F70006B017C0120E030E0A9010E94AB198111B6 +:102F800051C0C0907C02D0907D02E0907E02F09013 +:102F90007F020E946506C701B6010E94310680913A +:102FA00004010E942C06809103010E942C0687E0F8 +:102FB0000E942C060E9455060E945D061091A202F6 +:102FC000111105C08091A102882309F449C10E9412 +:102FD0008B03C0909D02D0909E02E0909F02F090E3 +:102FE000A0026C197D098E099F096A3F7105810550 +:102FF000910508F435C1112309F486C00E94970396 +:10300000882309F464C08091C4038C3009F498C00B +:1030100090F48B3049F1C12CD12C40ECE42E4FE7D9 +:10302000F42E4CC0C0927C02D0927D02E0927E02CF +:10303000F0927F02AECF8551823068F71091C003C5 +:10304000612F70E0762F662766277F778091C10316 +:10305000682B90E080E00E94B0192DEC3CEC4CEC29 +:103060005DE30E94111A88C06091C00370E090E097 +:1030700080E00E94B0196B017C011091C10317FF21 +:103080000AC0AC019B0160E070E080E89FEB0E9409 +:10309000611B6B017C011F70612F70E090E080E08C +:1030A0000E94B2192DEC3CEC4CEC5DE30E94111A2D +:1030B000A70196010E94621B6B017C01A70196018A +:1030C000C701B6010E94451C882309F45EC0C09068 +:1030D0009502D0909602E0909702F09098020E949C +:1030E0006506C701B6010E943106809105010E9464 +:1030F0002C06809106010E942C068AE10E942C0673 +:103100000E9455060E945D068091A102882309F461 +:103110009DC00E949703882309F47BC08091C4035B +:103120008B3038F08D3008F44DC08551823008F472 +:10313000ADC0C12CD12C30ECE32E3FE7F32E60C0A4 +:103140001091C003612F70E090E080E00E94B01900 +:103150006B017C016091C1036F7070E090E080E0D2 +:103160000E94B2192DEC3CEC4CEC5DE30E94111A6C +:10317000A70196010E94621B6B017C0117FF9ECF85 +:10318000F7FAF094F7F8F09499CF20E030E040E2BD +:1031900051E4C701B6010E94401C181654F420E007 +:1031A00030E040E050E4C701B6010E94611B6B01B2 +:1031B0007C01C0929502D0929602E0929702F09222 +:1031C00098028DCF6091BF0370E090E080E00E9494 +:1031D000B2192DEC3CEC4CEC5DE30E94111A6B0132 +:1031E0007C016091BE0370E090E080E00E94B21923 +:1031F0009B01AC01C701B6010E94621B6B017C01FF +:10320000A7019601C701B6010E94451C882309F455 +:103210004FC0C0909902D0909A02E0909B02F0902B +:103220009C020E946506C701B6010E94310680918A +:1032300005010E942C06809106010E942C068BE15C +:103240000E942C060E9455060E945D060E948B0378 +:1032500060939D0270939E0280939F029093A002C0 +:103260006AE070E080E090E00E94590380E090E026 +:10327000892B11F40C94FF0F0E949A01882311F4FA +:103280000C94FF0F0E9400000C94FF0F6091BE038E +:103290007091BF0376276727762790E080E00E9431 +:1032A000B0192DEC3CEC4CEC5DE30E94111AA6CF5A +:1032B000C0929902D0929A02E0929B02F0929C02F4 +:1032C000B0CF750164019AE0F594E794D794C79460 +:1032D0009A95D1F731E0C31AD108E108F10887E0E7 +:1032E000EAC868E478EE81E090E0A30192010E94D0 +:1032F000CF1A69017A0171E0C71AD108E108F10813 +:103300008FEFC816D104E104F10411F00CF09BC951 +:1033100084E0D1C886EA93E00E9412088CEA93E028 +:103320000E9412088091F5039091F6030E94F31C0D +:103330008091F2039091F30397FD03C060E00C9439 +:10334000C0020895FB01DC0102C005900D924150BE +:103350005040D8F708950E94ED1908F481E00895CF +:10336000E89409C097FB3EF490958095709561951F +:103370007F4F8F4F9F4F9923A9F0F92F96E9BB27D5 +:103380009395F695879577956795B795F111F8CF51 +:10339000FAF4BB0F11F460FF1BC06F5F7F4F8F4FBC +:1033A0009F4F16C0882311F096E911C0772321F0B2 +:1033B0009EE8872F762F05C0662371F096E8862F4A +:1033C00070E060E02AF09A95660F771F881FDAF7A1 +:1033D000880F9695879597F90895990F0008550FCE +:1033E000AA0BE0E8FEEF16161706E807F907C0F08B +:1033F00012161306E407F50798F0621B730B840B93 +:10340000950B39F40A2661F0232B242B252B21F46C +:1034100008950A2609F4A140A6958FEF811D811D0C +:1034200008950E94241A0C94951A0E94871A38F065 +:103430000E948E1A20F0952311F00C947E1A0C94A1 +:10344000841A11240C94C91A0E94A61A70F3959F2D +:10345000C1F3950F50E0551F629FF001729FBB278B +:10346000F00DB11D639FAA27F00DB11DAA1F649F27 +:103470006627B00DA11D661F829F2227B00DA11DDA +:10348000621F739FB00DA11D621F839FA00D611D60 +:10349000221F749F3327A00D611D231F849F600D81 +:1034A000211D822F762F6A2F11249F5750409AF0AA +:1034B000F1F088234AF0EE0FFF1FBB1F661F771F36 +:1034C000881F91505040A9F79E3F510580F00C9401 +:1034D0007E1A0C94C91A5F3FE4F3983ED4F38695A4 +:1034E00077956795B795F795E7959F5FC1F7FE2BA1 +:1034F000880F911D9695879597F9089597F99F677D +:1035000080E870E060E008959FEF80EC089500246B +:103510000A941616170618060906089500240A9438 +:1035200012161306140605060895092E0394000CBE +:1035300011F4882352F0BB0F40F4BF2B11F460FF4D +:1035400004C06F5F7F4F8F4F9F4F089557FD905876 +:10355000440F551F59F05F3F71F04795880F97FB57 +:10356000991F61F09F3F79F0879508951216130611 +:103570001406551FF2CF4695F1DF08C01616170640 +:103580001806991FF1CF8695710561050894089575 +:10359000E894BB2766277727CB0197F90895052E76 +:1035A00097FB1EF400940E94E61A57FD07D00E9474 +:1035B000301B07FC03D04EF40C94E61A509540954E +:1035C000309521953F4F4F4F5F4F089590958095CF +:1035D000709561957F4F8F4F9F4F08950E94521BAA +:1035E000A59F900DB49F900DA49F800D911D112457 +:1035F00008952F923F924F925F926F927F928F9297 +:103600009F92AF92BF92CF92DF92EF92FF920F9371 +:103610001F93CF93DF93CDB7DEB7CA1BDB0B0FB67B +:10362000F894DEBF0FBECDBF09942A883988488838 +:103630005F846E847D848C849B84AA84B984C884CE +:10364000DF80EE80FD800C811B81AA81B981CE0FC5 +:10365000D11D0FB6F894DEBF0FBECDBFED010895AA +:10366000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F86 +:10367000EE1FFF1FA217B307E407F50720F0A21BF8 +:10368000B30BE40BF50B661F771F881F991F1A9465 +:1036900069F760957095809590959B01AC01BD018F +:1036A000CF010895A29FB001B39FC001A39F700DE9 +:1036B000811D1124911DB29F700D811D1124911D3A +:1036C00008955058BB27AA270E94791B0C94951A7D +:1036D0000E94871A38F00E948E1A20F039F49F3F1A +:1036E00019F426F40C94841A0EF4E095E7FB0C947C +:1036F0007E1AE92F0E94A61A58F3BA1762077307B9 +:103700008407950720F079F4A6F50C94C81A0EF4F6 +:10371000E0950B2EBA2FA02D0B01B90190010C01E1 +:10372000CA01A0011124FF27591B99F0593F50F4F9 +:10373000503E68F11A16F040A22F232F342F442751 +:10374000585FF3CF469537952795A795F040539549 +:10375000C9F77EF41F16BA0B620B730B840BBAF019 +:103760009150A1F0FF0FBB1F661F771F881FC2F784 +:103770000EC0BA0F621F731F841F48F48795779598 +:103780006795B795F7959E3F08F0B0CF9395880F52 +:1037900008F09927EE0F9795879508950E94E21BF0 +:1037A0000C94951A0E948E1A58F00E94871A40F0C5 +:1037B00029F45F3F29F00C947E1A51110C94C91A18 +:1037C0000C94841A0E94A61A68F39923B1F3552326 +:1037D00091F3951B550BBB27AA2762177307840724 +:1037E00038F09F5F5F4F220F331F441FAA1FA9F3BA +:1037F00035D00E2E3AF0E0E832D091505040E695A8 +:10380000001CCAF72BD0FE2F29D0660F771F881F08 +:10381000BB1F261737074807AB07B0E809F0BB0BFB +:10382000802DBF01FF2793585F4F3AF09E3F51050F +:1038300078F00C947E1A0C94C91A5F3FE4F3983E1A +:10384000D4F3869577956795B795F7959F5FC9F7F8 +:10385000880F911D9695879597F90895E1E0660F79 +:10386000771F881FBB1F621773078407BA0720F0F2 +:10387000621B730B840BBA0BEE1F88F7E09508955B +:103880000E94ED1908F48FEF08950E94ED19880B3E +:10389000990B0895EE0FFF1F0590F491E02D099408 +:1038A0000E94521BB7FF0895821B930B08950F933C +:1038B0001F93CF93DF938230910510F482E090E064 +:1038C000E0910404F091050430E020E0B0E0A0E0D5 +:1038D000309799F42115310509F44AC0281B390B9A +:1038E00024303105D8F58A819B816115710589F1F4 +:1038F000FB0193838283FE0111C0408151810281CB +:10390000138148175907E0F04817590799F41097A1 +:1039100061F012960C93129713961C933296CF0176 +:10392000DF91CF911F910F9108950093040410939C +:103930000504F4CF2115310551F04217530738F033 +:10394000A901DB019A01BD01DF01F801C1CFEF013F +:10395000F9CF9093050480930404CDCFFE01E20FCC +:10396000F31F819391932250310939832883D7CF54 +:103970002091020430910304232B41F4209109018A +:1039800030910A013093030420930204209107012F +:10399000309108012115310541F42DB73EB7409112 +:1039A0000B0150910C01241B350BE0910204F091A6 +:1039B0000304E217F307A0F42E1B3F0B2817390767 +:1039C00078F0AC014E5F5F4F2417350748F04E0F7B +:1039D0005F1F5093030440930204819391939FCF00 +:1039E000F0E0E0E09CCFCF93DF930097E9F0FC019B +:1039F000329713821282A0910404B0910504ED0164 +:103A000030E020E01097A1F420813181820F931FD4 +:103A100020910204309103042817390709F061C08E +:103A2000F0930304E0930204DF91CF910895EA013B +:103A3000CE17DF07E8F54A815B819E0141155105EC +:103A4000B1F7E901FB83EA8349915991C40FD51F6E +:103A5000EC17FD0761F4808191810296840F951F18 +:103A6000E90199838883828193819B838A83F0E033 +:103A7000E0E012968D919C9113970097B9F52D91E6 +:103A80003C911197CD010296820F931F2091020461 +:103A9000309103042817390739F6309751F5109201 +:103AA000050410920404B0930304A0930204BCCF55 +:103AB000D383C28340815181840F951FC817D907D2 +:103AC00061F44E5F5F4F88819981480F591F518380 +:103AD00040838A819B81938382832115310509F07C +:103AE000B0CFF0930504E09304049ECFFD01DC0108 +:103AF000C0CF13821282D7CFB0E0A0E0E2E8FDE1B0 +:103B00000C94FB1A8C01009751F4CB010E94571CB6 +:103B10008C01C801CDB7DEB7E0E10C94171BFC01A6 +:103B2000E60FF71F9C0122503109E217F30708F452 +:103B30009DC0D901CD91DC911197C617D70798F098 +:103B4000C530D10530F3CE0104978617970708F3E7 +:103B5000C61BD70B2297C193D1936D937C93CF0152 +:103B60000E94F31CD6CF5B01AC1ABD0A4C018C0E2F +:103B70009D1EA0910404B0910504512C412CF12C00 +:103B8000E12C109731F5809102049091030488157F +:103B9000990509F05CC04616570608F058C0809198 +:103BA000070190910801009741F48DB79EB74091AD +:103BB0000B0150910C01841B950BE817F90708F0D5 +:103BC00055C0F0930304E0930204F901718360830C +:103BD000A0CF8D919C91119712966C90129713968D +:103BE0007C901397A815B90559F56C0142E0C40EF5 +:103BF000D11CCA14DB0420F1AC014A195B09DA01BB +:103C00001296159780F06282738251834083D901A6 +:103C10006D937C93E114F10471F0D7011396FC933A +:103C2000EE93129776CF22968C0F9D1FF901918308 +:103C30008083F301EFCFF0930504E093040469CF90 +:103C40004816590608F42C017D01D3019ACFCB0107 +:103C50000E94571C7C01009749F0AE01B8010E94F8 +:103C6000391EC8010E94F31C870153CF10E000E009 +:103C700050CFFB01DC0102C001900D924150504039 +:103C8000D8F70895DC0101C06D9341505040E0F732 +:103C90000895FB01DC0101900D920020E1F70895E9 +:103CA00010E0CFEBD0E004C0FE010E944A1C219638 +:0A3CB000C03CD107C9F7F894FFCF1C +:103CBA00FF020804020C0B0000060480000000400A +:103CCA000014005400000000000000000004040A70 +:103CDA000A111F1F0E1006090808090600040A0A1D +:103CEA000E0E1F1F0E00000A00000E110000000A2F +:103CFA000000110E00000A1F1F1F0E040000000022 +:103D0A0000000000000000D00130015D011D028E9C +:103D1A00016C018001000000005C052F05530705B6 +:103D2A000528051505060500000000C507300153E2 +:063D3A000752070D0A000C +:00000001FF diff --git a/app/modules/castarter_v2.js b/app/modules/castarter_v2.js new file mode 100644 index 000000000..b68e7a9d4 --- /dev/null +++ b/app/modules/castarter_v2.js @@ -0,0 +1,630 @@ + +const BaseModule = require('./baseModule'); + +class castarter_v2 extends BaseModule { + // 클래스 내부에서 사용될 필드들을 이곳에서 선언합니다. + constructor() { + super(); + this.sp = null; + this.sensorTypes = { + ALIVE: 0, + DIGITAL: 1, + ANALOG: 2, + PWM: 3, + SERVO_PIN: 4, + TONE: 5, + PULSEIN: 6, + ULTRASONIC: 7, + TIMER: 8, + SW_RESET: 9, + RGBLED: 10, + NEOPIXELINIT: 11, + NEOPIXELDIS: 12, + SERVO_DETACH: 13, + LCDINIT: 14, + LCD_DIS: 15, + LCDCLEAR: 16, + LCDOPTION: 17, + DHTINIT: 25, + DHTTEMP: 26, + DHTHUMI: 27, + }; + this.actionTypes = { + GET: 1, + SET: 2, + RESET: 3, + }; + this.sensorValueSize = { + FLOAT: 2, + SHORT: 3, + STRING: 4, + }; + this.digitalPortTimeList = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + this.sensorData = { + ULTRASONIC: 0, + DHTTEMP: 0, + DHTHUMI: 0, + PMVALUE: 0, + DIGITAL: { + '0': 0, + '1': 0, + '2': 0, + '3': 0, + '4': 0, + '5': 0, + '6': 0, + '7': 0, + '8': 0, + '9': 0, + '10': 0, + '11': 0, + '12': 0, + '13': 0, + '14': 0, + '15': 0, + '16': 0, + '17': 0, + '18': 0, + '19': 0, + '20': 0, + }, + ANALOG: { + '0': 0, + '1': 0, + '2': 0, + '3': 0, + '4': 0, + '5': 0, + }, + PULSEIN: {}, + TIMER: 0, + }; + this.defaultOutput = {}; + this.recentCheckData = {}; + this.sendBuffers = []; + this.lastTime = 0; + this.lastSendTime = 0; + this.isDraing = false; + this.sensorIdx = 0; + }; + init(handler, config) { + this.handler = handler; + this.config = config; + } + setSerialPort = function(sp) { + const self = this; + this.sp = sp; + }; + requestInitialData = function() { + return this.makeSensorReadBuffer(this.sensorTypes.ANALOG, 0); + }; + checkInitialData = function(data, config) { + return true; + // 이후에 체크 로직 개선되면 처리 + // var datas = this.getDataByBuffer(data); + // var isValidData = datas.some(function (data) { + // return (data.length > 4 && data[0] === 255 && data[1] === 85); + // }); + // return isValidData; + }; + afterConnect = function(that, cb) { + that.connected = true; + if (cb) { + cb('connected'); + } + }; + validateLocalData = function(data) { + return true; + }; + requestRemoteData = function(handler) { + const self = this; + if (!self.sensorData) { + return; + } + Object.keys(this.sensorData).forEach((key) => { + if (self.sensorData[key] != undefined) { + handler.write(key, self.sensorData[key]); + } + }); + }; + handleRemoteData = function(handler) { + const self = this; + const getDatas = handler.read('GET'); + const setDatas = handler.read('SET') || this.defaultOutput; + const time = handler.read('TIME'); + let buffer = new Buffer([]); + if (getDatas) { + const keys = Object.keys(getDatas); + keys.forEach((key) => { + let isSend = false; + const dataObj = getDatas[key]; + if (typeof dataObj.port === 'string' || typeof dataObj.port === 'number') { + const time = self.digitalPortTimeList[dataObj.port]; + if (dataObj.time > time) { + isSend = true; + self.digitalPortTimeList[dataObj.port] = dataObj.time; + } + } else if (Array.isArray(dataObj.port)) { + isSend = dataObj.port.every((port) => { + const time = self.digitalPortTimeList[port]; + return dataObj.time > time; + }); + + if (isSend) { + dataObj.port.forEach((port) => { + self.digitalPortTimeList[port] = dataObj.time; + }); + } + } + if (isSend) { + if (!self.isRecentData(dataObj.port, key, dataObj.data)) { + self.recentCheckData[dataObj.port] = { + type: key, + data: dataObj.data, + }; + buffer = Buffer.concat([buffer, self.makeSensorReadBuffer(key, dataObj.port, dataObj.data)]); + } + } + }); + } + if (setDatas) { + const setKeys = Object.keys(setDatas); + setKeys.forEach((port) => { + const data = setDatas[port]; + if (data) { + if (self.digitalPortTimeList[port] < data.time) { + self.digitalPortTimeList[port] = data.time; + + if (!self.isRecentData(port, data.type, data.data)) { + self.recentCheckData[port] = { + type: data.type, + data: data.data, + }; + buffer = Buffer.concat([buffer, self.makeOutputBuffer(data.type, port, data.data)]); + } + } + } + }); + } + if (buffer.length) { + this.sendBuffers.push(buffer); + } + }; + isRecentData = function(port, type, data) { + const that = this; + let isRecent = false; + if (type == this.sensorTypes.ULTRASONIC) { + const portString = port.toString(); + let isGarbageClear = false; + Object.keys(this.recentCheckData).forEach((key) => { + const recent = that.recentCheckData[key]; + if (key === portString) { + } + if (key !== portString && + (recent.type == that.sensorTypes.ULTRASONIC || + recent.type == that.sensorTypes.DHTTEMP || + recent.type == this.sensorTypes.DHTHUMI)) { + delete that.recentCheckData[key]; + isGarbageClear = true; + } + }); + if ((port in this.recentCheckData && isGarbageClear) || !(port in this.recentCheckData)) { + isRecent = false; + } else { + isRecent = true; + } + } else if (port in this.recentCheckData && type == this.sensorTypes.TONE) { + if ( + this.recentCheckData[port].type === type && + this.recentCheckData[port].data === data + ) { + isRecent = true; + } + } + return isRecent; + }; + requestLocalData = function() { + const self = this; + + if (!this.isDraing && this.sendBuffers.length > 0) { + this.isDraing = true; + this.sp.write(this.sendBuffers.shift(), () => { + if (self.sp) { + self.sp.drain(() => { + self.isDraing = false; + }); + } + }); + } + }; + handleLocalData = function(data) { + const self = this; + const datas = this.getDataByBuffer(data); + + datas.forEach((data) => { + if (data.length <= 4 || data[0] !== 255 || data[1] !== 85) { + return; + } + const readData = data.subarray(2, data.length); + let value; + switch (readData[0]) { + case self.sensorValueSize.FLOAT: { + value = new Buffer(readData.subarray(1, 5)).readFloatLE(); + value = Math.round(value * 100) / 100; + break; + } + case self.sensorValueSize.SHORT: { + value = new Buffer(readData.subarray(1, 3)).readInt16LE(); + break; + } + case self.sensorValueSize.STRING: { + value = new Buffer(readData[1] + 3); + value = readData.slice(2, readData[1] + 3); + value = value.toString('ascii', 0, value.length); + break; + } + default: { + value = 0; + break; + } + } + const type = readData[readData.length - 1]; + const port = readData[readData.length - 2]; + switch (type) { + case self.sensorTypes.DIGITAL: { + self.sensorData.DIGITAL[port] = value; + break; + } + case self.sensorTypes.ANALOG: { + self.sensorData.ANALOG[port] = value; + break; + } + case self.sensorTypes.PULSEIN: { + self.sensorData.PULSEIN[port] = value; + break; + } + case self.sensorTypes.ULTRASONIC: { + self.sensorData.ULTRASONIC = value; + break; + } + case self.sensorTypes.DHTTEMP: { + self.sensorData.DHTTEMP = value; + break; + } + case self.sensorTypes.DHTHUMI: { + self.sensorData.DHTHUMI = value; + break; + } + case self.sensorTypes.TIMER: { + self.sensorData.TIMER = value; + break; + } + default: { + break; + } + } + }); + }; + makeSensorReadBuffer = function(device, port, data) { + let buffer; + const dummy = new Buffer([10]); + if (device == this.sensorTypes.ULTRASONIC) { + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.GET, + device, + port[0], + port[1], + 10, + ]); + } else if (device == this.sensorTypes.DHTTEMP || device == this.sensorTypes.DHTHUMI) { + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + } else if (!data) { + buffer = new Buffer([ + 255, + 85, + 5, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + } else { + const value = new Buffer(2); + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 7, + this.sensorIdx, + this.actionTypes.GET, + device, + port, + 10, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + } + this.sensorIdx++; + if (this.sensorIdx > 254) { + this.sensorIdx = 0; + } + return buffer; + }; + makeOutputBuffer = function(device, port, data) { + let buffer; + const value = new Buffer(2); + const dummy = new Buffer([10]); + + switch (device) { + case this.sensorTypes.SERVO_PIN: + case this.sensorTypes.DIGITAL: + case this.sensorTypes.PWM: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.SERVO_DETACH: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.TONE: { + const time = new Buffer(2); + if ($.isPlainObject(data)) { + value.writeInt16LE(data.value); + time.writeInt16LE(data.duration); + } else { + value.writeInt16LE(0); + time.writeInt16LE(0); + } + buffer = new Buffer([ + 255, + 85, + 8, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, time, dummy]); + break; + } + case this.sensorTypes.SW_RESET: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.RGBLED: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.NEOPIXELINIT: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.NEOPIXELDIS: { + const num = new Buffer(2); + const r = new Buffer(2); + const g = new Buffer(2); + const b = new Buffer(2); + + if ($.isPlainObject(data)) { + num.writeInt16LE(data.num); + r.writeInt16LE(data.r); + g.writeInt16LE(data.g); + b.writeInt16LE(data.b); + } else { + num.writeInt16LE(0); + r.writeInt16LE(0); + g.writeInt16LE(0); + b.writeInt16LE(0); + } + buffer = new Buffer([ + 255, + 85, + 12, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, num, r, g, b, dummy]); + break; + } + case this.sensorTypes.DHTINIT: { + value.writeInt16LE(data); + + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.LCDINIT: { + value.writeInt16LE(data); + + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + case this.sensorTypes.LCD_DIS: { + let text; + const row = new Buffer(1); + const column = new Buffer(1); + let textLen = 0; + const textLenBuf = new Buffer(1); + + if ($.isPlainObject(data)) { + textLen = (`${data.text}`).length; + text = Buffer.from(`${data.text}`, 'ascii'); + row.writeInt8(data.row); + textLenBuf.writeInt8(textLen); + column.writeInt8(data.column); + } else { + textLen = 0; + text = Buffer.from('', 'ascii'); + row.writeInt8(0); + textLenBuf.writeInt8(textLen); + column.writeInt8(0); + } + buffer = new Buffer([ + 255, + 85, + 4 + 3 + textLen, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); + break; + } + case this.sensorTypes.LCDOPTION: { + let text; + const row = new Buffer(1); + const column = new Buffer(1); + let textLen = 0; + const textLenBuf = new Buffer(1); + + if ($.isPlainObject(data)) { + textLen = (`${data.text}`).length; + text = Buffer.from(`${data.text}`, 'ascii'); + row.writeInt8(data.row); + textLenBuf.writeInt8(textLen); + column.writeInt8(data.column); + } else { + textLen = 0; + text = Buffer.from('', 'ascii'); + row.writeInt8(0); + textLenBuf.writeInt8(textLen); + column.writeInt8(0); + } + buffer = new Buffer([ + 255, + 85, + 4 + 3 + textLen, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, row, column, textLenBuf, text, dummy]); + break; + } + case this.sensorTypes.LCDCLEAR: { + value.writeInt16LE(data); + buffer = new Buffer([ + 255, + 85, + 6, + this.sensorIdx, + this.actionTypes.SET, + device, + port, + ]); + buffer = Buffer.concat([buffer, value, dummy]); + break; + } + } + //console.log(buffer); + return buffer; + }; + getDataByBuffer = function(buffer) { + const datas = []; + let lastIndex = 0; + buffer.forEach((value, idx) => { + if (value == 13 && buffer[idx + 1] == 10) { + datas.push(buffer.subarray(lastIndex, idx)); + lastIndex = idx + 2; + } + }); + return datas; + }; + disconnect = function(connect) { + const self = this; + connect.close(); + if (self.sp) { + delete self.sp; + } + }; + reset = function() { + this.lastTime = 0; + this.lastSendTime = 0; + this.sensorData.PULSEIN = {}; + }; +} +module.exports = new castarter_v2(); diff --git a/app/modules/castarter_v2.json b/app/modules/castarter_v2.json new file mode 100644 index 000000000..d536839cf --- /dev/null +++ b/app/modules/castarter_v2.json @@ -0,0 +1,28 @@ +{ + "id": "4D0101", + "name": { + "en": "2nd Coding Array Starter", + "ko": "2세대 코딩어레이 스타터" + }, + "category": "board", + "platform": ["win32", "darwin"], + "icon" : "castarter_v2.png", + "module": "castarter_v2.js", + "url": "https://cafe.naver.com/arduinostory", + "email": "we@codingarray.cc", + "video": "https://youtu.be/R6nYA4AOn8w", + "driver": { + "win32-ia32": "arduino/dpinst-x86.exe", + "win32-x64": "arduino/dpinst-amd64.exe" + }, + "reconnect": true, + "firmware": "castarter_v2", + "hardware": { + "type": "serial", + "control": "slave", + "duration": 32, + "vendor": "Arduino", + "firmwarecheck": false, + "baudRate": 115200 + } +} diff --git a/app/modules/castarter_v2.png b/app/modules/castarter_v2.png new file mode 100644 index 0000000000000000000000000000000000000000..62f9e5a4b87b4e1f2eb13404fd9acdfccddac7a3 GIT binary patch literal 78036 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